[*] Binary protection state of presettourd

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function sprintf tear down of presettourd

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/presettourd @ 0x32f0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000032f0 ()              | void fcn_000032f0 () {
    0x000032f0 lui gp, 2                 |     
    0x000032f4 addiu gp, gp, 0x2620      |     
    0x000032f8 addu gp, gp, t9           |     gp += t9;
    0x000032fc addiu sp, sp, -0x188      |     
    0x00003300 sw s6, 0x178(sp)          |     *(var_178h) = s6;
    0x00003304 lw s6, -0x7e0c(gp)        |     s6 = *((gp - 8067));
    0x00003308 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x0000330c sw ra, 0x184(sp)          |     *(var_184h) = ra;
    0x00003310 lw v0, (s6)               |     v0 = *(s6);
    0x00003314 sw fp, 0x180(sp)          |     *(var_180h) = fp;
    0x00003318 sw s7, 0x17c(sp)          |     *(var_17ch) = s7;
    0x0000331c sw s5, 0x174(sp)          |     *(var_174h) = s5;
    0x00003320 sw s4, 0x170(sp)          |     *(var_170h) = s4;
    0x00003324 sw s3, 0x16c(sp)          |     *(var_16ch) = s3;
    0x00003328 sw s2, 0x168(sp)          |     *(var_168h) = s2;
    0x0000332c sw s1, 0x164(sp)          |     *(var_164h) = s1;
    0x00003330 sw s0, 0x160(sp)          |     *(var_160h) = s0;
    0x00003334 sw zero, 0x28(sp)         |     *(var_28h_2) = 0;
    0x00003338 sw v0, 0x15c(sp)          |     *(var_15ch) = v0;
    0x0000333c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (a1 == 0) {
    0x00003340 beqz a1, 0x3584           |         goto label_5;
                                         |     }
    0x00003344 move s4, a0               |     s4 = a0;
                                         |     if (a0 == 0) {
    0x00003348 beqz a0, 0x355c           |         goto label_6;
                                         |     }
    0x0000334c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003350 lw t9, -0x7e78(gp)        |     t9 = sym.imp.g_mutex_lock;
    0x00003354 addiu a0, v0, -0x23e0     |     a0 = v0 + -0x23e0;
    0x00003358 sw v0, 0x24(sp)           |     *(var_24h_3) = v0;
    0x0000335c move s3, a1               |     s3 = a1;
    0x00003360 jalr t9                   |     t9 ();
    0x00003364 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003368 addiu s1, sp, 0x2c        |     s1 = sp + 0x2c;
    0x0000336c move a0, s1               |     a0 = s1;
    0x00003370 lw t9, -0x7d34(gp)        |     t9 = sym.imp.cli_resetOptions;
    0x00003374 addiu s2, sp, 0x28        |     s2 = sp + 0x28;
    0x00003378 jalr t9                   |     t9 ();
    0x0000337c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003380 move a1, s2               |     a1 = s2;
    0x00003384 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.cli_sync;
    0x00003388 move a0, s1               |     a0 = s1;
    0x0000338c jalr t9                   |     t9 ();
    0x00003390 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003394 addiu v0, zero, -1        |     v0 = -1;
    0x00003398 sw v0, (s3)               |     *(s3) = v0;
    0x0000339c lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x000033a0 lw t9, -0x7d70(gp)        |     t9 = sym.imp.cli_getChildGroupsInGroup;
    0x000033a4 move a2, s2               |     a2 = s2;
    0x000033a8 move a1, s1               |     a1 = s1;
    0x000033ac addiu a0, a0, -0x48e8     |     a0 += -0x48e8;
    0x000033b0 jalr t9                   |     t9 ();
    0x000033b4 lw v1, 0x28(sp)           |     v1 = *(var_28h_2);
    0x000033b8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000033bc move s0, v0               |     s0 = v0;
                                         |     if (v1 != 0) {
    0x000033c0 bnez v1, 0x34f8           |         goto label_7;
                                         |     }
    0x000033c4 lw t9, -0x7eb8(gp)        |     t9 = sym.imp.cli_getChildGroupInGroup;
    0x000033c8 move a0, v0               |     a0 = v0;
    0x000033cc move a2, s2               |     a2 = s2;
    0x000033d0 move a1, s1               |     a1 = s1;
    0x000033d4 jalr t9                   |     t9 ();
    0x000033d8 lw v0, 0x28(sp)           |     v0 = *(var_28h_2);
    0x000033dc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 != 0) {
    0x000033e0 bnez v0, 0x34f8           |         goto label_7;
                                         |     }
    0x000033e4 lw v0, 0x14(s0)           |     v0 = *((s0 + 5));
    0x000033e8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (v0 != 0) {
    0x000033ec bnez v0, 0x34f8           |         goto label_7;
                                         |     }
    0x000033f0 lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x000033f4 addiu v0, v0, -0x48d0     |     v0 += -0x48d0;
    0x000033f8 addiu s7, sp, 0x5c        |     s7 = sp + 0x5c;
    0x000033fc addiu s5, s5, -0x48d8     |     s5 += -0x48d8;
    0x00003400 sw v0, 0x20(sp)           |     *(var_20h_3) = v0;
    0x00003404 b 0x3484                  |     
                                         |     while (a0 == 0) {
    0x00003408 lw t9, -0x7d48(gp)        |         t9 = sym.imp.g_strcmp0;
    0x0000340c move a1, v0               |         a1 = v0;
    0x00003410 move a0, s4               |         a0 = s4;
    0x00003414 jalr t9                   |         t9 ();
    0x00003418 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x0000341c bnez v0, 0x3444           |             
    0x00003420 lw v0, (s3)               |             v0 = *(s3);
    0x00003424 addiu v1, zero, -1        |             v1 = -1;
    0x00003428 lw t9, -0x7d4c(gp)        |             t9 = sym.imp.__isoc99_sscanf;
                                         |             if (v0 != v1) {
    0x0000342c bne v0, v1, 0x34c0        |                 goto label_8;
                                         |             }
    0x00003430 lw a0, 0xc(s0)            |             a0 = *((s0 + 3));
    0x00003434 lw a1, 0x20(sp)           |             a1 = *(var_20h_3);
    0x00003438 move a2, s3               |             a2 = s3;
    0x0000343c jalr t9                   |             t9 ();
    0x00003440 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x00003444 lw t9, -0x7d14(gp)        |         t9 = sym.imp.g_free;
                                         |         if (fp != 0) {
    0x00003448 beqz fp, 0x3458           |             
    0x0000344c move a0, fp               |             a0 = fp;
    0x00003450 jalr t9                   |             t9 ();
    0x00003454 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x00003458 lw t9, -0x7eb8(gp)        |         t9 = sym.imp.cli_getChildGroupInGroup;
    0x0000345c move a2, s2               |         a2 = s2;
    0x00003460 move a1, s1               |         a1 = s1;
    0x00003464 move a0, s0               |         a0 = s0;
    0x00003468 jalr t9                   |         t9 ();
    0x0000346c lw v0, 0x28(sp)           |         v0 = *(var_28h_2);
    0x00003470 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != 0) {
    0x00003474 bnez v0, 0x34f8           |             goto label_7;
                                         |         }
    0x00003478 lw v0, 0x14(s0)           |         v0 = *((s0 + 5));
    0x0000347c lw t9, -0x7e64(gp)        |         t9 = sym.imp.cli_cleanupGroupContext;
                                         |         if (v0 != 0) {
    0x00003480 bnez v0, 0x34fc           |             goto label_9;
                                         |         }
    0x00003484 lw t9, -0x7eb0(gp)        |         t9 = sym.imp.g_sprintf
    0x00003488 lw a2, 0xc(s0)            |         a2 = *((s0 + 3));
    0x0000348c move a1, s5               |         a1 = s5;
    0x00003490 move a0, s7               |         a0 = s7;
    0x00003494 jalr t9                   |         t9 ();
    0x00003498 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000349c move a0, s7               |         a0 = s7;
    0x000034a0 move a2, s2               |         a2 = s2;
    0x000034a4 lw t9, -0x7e24(gp)        |         t9 = sym.imp.cli_getCustomParam;
    0x000034a8 move a1, s1               |         a1 = s1;
    0x000034ac jalr t9                   |         t9 ();
    0x000034b0 lw a0, 0x28(sp)           |         a0 = *(var_28h_2);
    0x000034b4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000034b8 move fp, v0               |         fp = v0;
    0x000034bc beqz a0, 0x3408           |         
                                         |     }
                                         | label_8:
    0x000034c0 lw t9, -0x7d14(gp)        |     t9 = sym.imp.g_free;
                                         |     if (fp != 0) {
    0x000034c4 beqz fp, 0x34d4           |         
    0x000034c8 move a0, fp               |         a0 = fp;
    0x000034cc jalr t9                   |         t9 ();
    0x000034d0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |     }
    0x000034d4 addiu v0, zero, -1        |     v0 = -1;
    0x000034d8 sw v0, (s3)               |     *(s3) = v0;
    0x000034dc lw v0, 0x24(sp)           |     v0 = *(var_24h_3);
    0x000034e0 lw t9, -0x7de0(gp)        |     t9 = sym.imp.g_mutex_unlock;
    0x000034e4 addiu a0, v0, -0x23e0     |     a0 = v0 + -0x23e0;
    0x000034e8 jalr t9                   |     t9 ();
    0x000034ec lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000034f0 addiu v0, zero, -1        |     v0 = -1;
    0x000034f4 b 0x3520                  |     goto label_10;
                                         | label_7:
    0x000034f8 lw t9, -0x7e64(gp)        |     t9 = sym.imp.cli_cleanupGroupContext;
                                         | label_9:
    0x000034fc move a0, s0               |     a0 = s0;
    0x00003500 jalr t9                   |     t9 ();
    0x00003504 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00003508 lw v0, 0x24(sp)           |     v0 = *(var_24h_3);
    0x0000350c lw t9, -0x7de0(gp)        |     t9 = sym.imp.g_mutex_unlock;
    0x00003510 addiu a0, v0, -0x23e0     |     a0 = v0 + -0x23e0;
    0x00003514 jalr t9                   |     t9 ();
    0x00003518 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x0000351c move v0, zero             |     v0 = 0;
                                         | label_10:
    0x00003520 lw a0, 0x15c(sp)          |     a0 = *(var_15ch);
    0x00003524 lw v1, (s6)               |     v1 = *(s6);
    0x00003528 lw ra, 0x184(sp)          |     ra = *(var_184h);
                                         |     if (a0 == v1) {
    0x0000352c bne a0, v1, 0x35ac        |         
    0x00003530 lw fp, 0x180(sp)          |         fp = *(var_180h);
    0x00003534 lw s7, 0x17c(sp)          |         s7 = *(var_17ch);
    0x00003538 lw s6, 0x178(sp)          |         s6 = *(var_178h);
    0x0000353c lw s5, 0x174(sp)          |         s5 = *(var_174h);
    0x00003540 lw s4, 0x170(sp)          |         s4 = *(var_170h);
    0x00003544 lw s3, 0x16c(sp)          |         s3 = *(var_16ch);
    0x00003548 lw s2, 0x168(sp)          |         s2 = *(var_168h);
    0x0000354c lw s1, 0x164(sp)          |         s1 = *(var_164h);
    0x00003550 lw s0, 0x160(sp)          |         s0 = *(var_160h);
    0x00003554 addiu sp, sp, 0x188       |         
    0x00003558 jr ra                     |         return v0;
                                         | label_6:
    0x0000355c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00003560 lw a3, -0x7fd8(gp)        |         a3 = *((gp - 8182));
    0x00003564 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00003568 addiu v0, v0, -0x48f8     |         v0 += -0x48f8;
    0x0000356c lw t9, -0x7da8(gp)        |         t9 = sym.imp.g_assertion_message_expr;
    0x00003570 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00003574 addiu a3, a3, -0x460c     |         a3 += -0x460c;
    0x00003578 addiu a2, zero, 0x24d     |         a2 = 0x24d;
    0x0000357c addiu a1, a1, -0x4990     |         a1 += -0x4990;
    0x00003580 jalr t9                   |         t9 ();
                                         | label_5:
    0x00003584 lw a3, -0x7fd8(gp)        |         a3 = *((gp - 8182));
    0x00003588 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x0000358c addiu v0, v0, -0x4904     |         v0 += -0x4904;
    0x00003590 lw t9, -0x7da8(gp)        |         t9 = sym.imp.g_assertion_message_expr;
    0x00003594 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x00003598 addiu a3, a3, -0x460c     |         a3 += -0x460c;
    0x0000359c addiu a2, zero, 0x24c     |         a2 = aav.0x0000024c;
    0x000035a0 addiu a1, a1, -0x4990     |         a1 += -0x4990;
    0x000035a4 move a0, zero             |         a0 = 0;
    0x000035a8 jalr t9                   |         t9 ();
                                         |     }
    0x000035ac lw t9, -0x7e44(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000035b0 jalr t9                   |     t9 ();
    0x000035b4 nop                       |     
    0x000035b8 lui gp, 2                 |     
    0x000035bc addiu gp, gp, 0x2358      |     
    0x000035c0 addu gp, gp, t9           |     gp += t9;
    0x000035c4 lw v0, -0x7e0c(gp)        |     v0 = *((gp - 8067));
    0x000035c8 addiu sp, sp, -0x190      |     
    0x000035cc sw v0, 0x28(sp)           |     *(var_28h_3) = v0;
    0x000035d0 lw v0, (v0)               |     v0 = *(v0);
    0x000035d4 sw gp, 0x18(sp)           |     *(var_18h_3) = gp;
    0x000035d8 sw ra, 0x18c(sp)          |     *(var_18ch) = ra;
    0x000035dc sw fp, 0x188(sp)          |     *(var_188h) = fp;
    0x000035e0 sw s7, 0x184(sp)          |     *(var_184h_2) = s7;
    0x000035e4 sw s6, 0x180(sp)          |     *(var_180h_2) = s6;
    0x000035e8 sw s5, 0x17c(sp)          |     *(var_17ch_2) = s5;
    0x000035ec sw s4, 0x178(sp)          |     *(var_178h_2) = s4;
    0x000035f0 sw s3, 0x174(sp)          |     *(var_174h_2) = s3;
    0x000035f4 sw s2, 0x170(sp)          |     *(var_170h_2) = s2;
    0x000035f8 sw s1, 0x16c(sp)          |     *(var_16ch_2) = s1;
    0x000035fc sw s0, 0x168(sp)          |     *(var_168h_2) = s0;
    0x00003600 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00003604 sw v0, 0x164(sp)          |     *(var_164h_2) = v0;
    0x00003608 lw t9, -0x7e78(gp)        |     t9 = sym.imp.g_mutex_lock;
                                         |     if (a0 == 0) {
    0x0000360c beqz a0, 0x38a8           |         goto label_11;
                                         |     }
    0x00003610 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003614 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00003618 move s4, a0               |     s4 = a0;
    0x0000361c addiu a0, v0, -0x23e0     |     a0 = v0 + -0x23e0;
    0x00003620 jalr t9                   |     t9 ();
    0x00003624 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003628 addiu s1, sp, 0x34        |     s1 = sp + 0x34;
    0x0000362c move a0, s1               |     a0 = s1;
    0x00003630 lw t9, -0x7d34(gp)        |     t9 = sym.imp.cli_resetOptions;
    0x00003634 addiu s2, sp, 0x30        |     s2 = sp + 0x30;
    0x00003638 jalr t9                   |     t9 ();
    0x0000363c lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003640 move a1, s2               |     a1 = s2;
    0x00003644 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.cli_sync;
    0x00003648 lw fp, -0x7fd8(gp)        |     fp = *((gp - 8182));
    0x0000364c move a0, s1               |     a0 = s1;
    0x00003650 jalr t9                   |     t9 ();
    0x00003654 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003658 move a2, s2               |     a2 = s2;
    0x0000365c move a1, s1               |     a1 = s1;
    0x00003660 lw t9, -0x7d70(gp)        |     t9 = sym.imp.cli_getChildGroupsInGroup;
    0x00003664 addiu a0, fp, -0x48e8     |     a0 = fp + -0x48e8;
    0x00003668 jalr t9                   |     t9 ();
    0x0000366c lw v1, 0x30(sp)           |     v1 = *(var_30h);
    0x00003670 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003674 move s6, v0               |     s6 = v0;
    0x00003678 beqz v1, 0x3728           |     
                                         |     while (v1 != 0) {
                                         | label_0:
    0x0000367c lw t9, -0x7e64(gp)        |         t9 = sym.imp.cli_cleanupGroupContext;
    0x00003680 move a0, s6               |         a0 = s6;
    0x00003684 jalr t9                   |         t9 ();
    0x00003688 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x0000368c lw t9, -0x7e68(gp)        |         t9 = sym.imp.g_malloc0;
    0x00003690 addiu a0, zero, 4         |         a0 = 4;
    0x00003694 jalr t9                   |         t9 ();
    0x00003698 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x0000369c sw v0, (s4)               |         *(s4) = v0;
    0x000036a0 move a2, s2               |         a2 = s2;
    0x000036a4 lw t9, -0x7d70(gp)        |         t9 = sym.imp.cli_getChildGroupsInGroup;
    0x000036a8 move a1, s1               |         a1 = s1;
    0x000036ac addiu a0, fp, -0x48e8     |         a0 = fp + -0x48e8;
    0x000036b0 jalr t9                   |         t9 ();
    0x000036b4 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x000036b8 move s6, v0               |         s6 = v0;
    0x000036bc sw zero, 0x24(sp)         |         *(var_24h_2) = 0;
                                         | label_1:
    0x000036c0 lw t9, -0x7e64(gp)        |         t9 = sym.imp.cli_cleanupGroupContext;
                                         | label_2:
    0x000036c4 move a0, s6               |         a0 = s6;
    0x000036c8 jalr t9                   |         t9 ();
    0x000036cc lw gp, 0x18(sp)           |         gp = *(var_18h_3);
                                         | label_4:
    0x000036d0 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x000036d4 lw t9, -0x7de0(gp)        |         t9 = sym.imp.g_mutex_unlock;
    0x000036d8 addiu a0, v0, -0x23e0     |         a0 = v0 + -0x23e0;
    0x000036dc jalr t9                   |         t9 ();
    0x000036e0 lw v0, 0x28(sp)           |         v0 = *(var_28h_3);
    0x000036e4 lw a0, 0x164(sp)          |         a0 = *(var_164h_2);
    0x000036e8 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x000036ec lw v1, (v0)               |         v1 = *(v0);
    0x000036f0 lw v0, 0x24(sp)           |         v0 = *(var_24h_2);
                                         |         if (a0 != v1) {
    0x000036f4 bne a0, v1, 0x390c        |             goto label_12;
                                         |         }
    0x000036f8 lw ra, 0x18c(sp)          |         ra = *(var_18ch);
    0x000036fc lw fp, 0x188(sp)          |         fp = *(var_188h);
    0x00003700 lw s7, 0x184(sp)          |         s7 = *(var_184h_2);
    0x00003704 lw s6, 0x180(sp)          |         s6 = *(var_180h_2);
    0x00003708 lw s5, 0x17c(sp)          |         s5 = *(var_17ch_2);
    0x0000370c lw s4, 0x178(sp)          |         s4 = *(var_178h_2);
    0x00003710 lw s3, 0x174(sp)          |         s3 = *(var_174h_2);
    0x00003714 lw s2, 0x170(sp)          |         s2 = *(var_170h_2);
    0x00003718 lw s1, 0x16c(sp)          |         s1 = *(var_16ch_2);
    0x0000371c lw s0, 0x168(sp)          |         s0 = *(var_168h_2);
    0x00003720 addiu sp, sp, 0x190       |         
    0x00003724 jr ra                     |         return v0;
    0x00003728 lw t9, -0x7eb8(gp)        |         t9 = sym.imp.cli_getChildGroupInGroup;
    0x0000372c move a2, s2               |         a2 = s2;
    0x00003730 move a1, s1               |         a1 = s1;
    0x00003734 move a0, v0               |         a0 = v0;
    0x00003738 jalr t9                   |         t9 ();
    0x0000373c lw v1, 0x30(sp)           |         v1 = *(var_30h);
    0x00003740 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x00003744 bnez v1, 0x367c           |         
                                         |     }
    0x00003748 lw s0, 0x14(s6)           |     s0 = *((s6 + 5));
    0x0000374c move s5, zero             |     s5 = 0;
                                         |     if (s0 != 0) {
    0x00003750 bnez s0, 0x367c           |         goto label_0;
                                         |     }
    0x00003754 lw t9, -0x7eb8(gp)        |     t9 = sym.imp.cli_getChildGroupInGroup;
    0x00003758 b 0x3770                  |     
                                         |     while (v1 == 0) {
    0x0000375c lw v1, 0x14(s6)           |         v1 = *((s6 + 5));
    0x00003760 lw t9, -0x7e64(gp)        |         t9 = sym.imp.cli_cleanupGroupContext;
                                         |         if (v1 != 0) {
    0x00003764 bnez v1, 0x3798           |             goto label_13;
                                         |         }
    0x00003768 move s5, s3               |         s5 = s3;
    0x0000376c lw t9, -0x7eb8(gp)        |         t9 = sym.imp.cli_getChildGroupInGroup;
    0x00003770 move a2, s2               |         a2 = s2;
    0x00003774 move a1, s1               |         a1 = s1;
    0x00003778 move a0, s6               |         a0 = s6;
    0x0000377c jalr t9                   |         t9 ();
    0x00003780 lw v1, 0x30(sp)           |         v1 = *(var_30h);
    0x00003784 addiu s3, s5, 1           |         s3 = s5 + 1;
    0x00003788 lw gp, 0x18(sp)           |         gp = *(var_18h_3);
    0x0000378c sw s3, 0x24(sp)           |         *(var_24h_2) = s3;
    0x00003790 beqz v1, 0x375c           |         
                                         |     }
    0x00003794 lw t9, -0x7e64(gp)        |     t9 = sym.imp.cli_cleanupGroupContext;
                                         | label_13:
    0x00003798 move a0, s6               |     a0 = s6;
    0x0000379c jalr t9                   |     t9 ();
    0x000037a0 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000037a4 addiu a0, s5, 2           |     a0 = s5 + 2;
    0x000037a8 lw t9, -0x7e68(gp)        |     t9 = sym.imp.g_malloc0;
    0x000037ac sll a0, a0, 2             |     a0 <<= 2;
    0x000037b0 jalr t9                   |     t9 ();
    0x000037b4 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000037b8 addiu a0, fp, -0x48e8     |     a0 = fp + -0x48e8;
    0x000037bc sw v0, (s4)               |     *(s4) = v0;
    0x000037c0 lw t9, -0x7d70(gp)        |     t9 = sym.imp.cli_getChildGroupsInGroup;
    0x000037c4 move a2, s2               |     a2 = s2;
    0x000037c8 move a1, s1               |     a1 = s1;
    0x000037cc jalr t9                   |     t9 ();
    0x000037d0 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x000037d4 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000037d8 move s6, v0               |     s6 = v0;
                                         |     if (a0 != 0) {
    0x000037dc bnez a0, 0x36c0           |         goto label_1;
                                         |     }
    0x000037e0 lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x000037e4 addiu s7, sp, 0x64        |     s7 = sp + 0x64;
    0x000037e8 addiu s5, s5, -0x48d8     |     s5 += -0x48d8;
    0x000037ec b 0x384c                  |     goto label_14;
                                         | label_3:
    0x000037f0 lw v0, 0x14(s6)           |     v0 = *((s6 + 5));
    0x000037f4 lw t9, -0x7eb0(gp)        |     t9 = sym.imp.g_sprintf
                                         |     if (v0 != 0) {
    0x000037f8 bnez v0, 0x386c           |         goto label_15;
                                         |     }
    0x000037fc lw a2, 0xc(s6)            |     a2 = *((s6 + 3));
    0x00003800 move a1, s5               |     a1 = s5;
    0x00003804 move a0, s7               |     a0 = s7;
    0x00003808 jalr t9                   |     t9 ();
    0x0000380c lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003810 lw v0, (s4)               |     v0 = *(s4);
    0x00003814 move a0, s7               |     a0 = s7;
    0x00003818 lw t9, -0x7e24(gp)        |     t9 = sym.imp.cli_getCustomParam;
    0x0000381c sll fp, s0, 2             |     fp = s0 << 2;
    0x00003820 move a2, s2               |     a2 = s2;
    0x00003824 move a1, s1               |     a1 = s1;
    0x00003828 addu fp, v0, fp           |     fp = v0 + fp;
    0x0000382c jalr t9                   |     t9 ();
    0x00003830 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x00003834 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003838 sw v0, (fp)               |     *(fp) = v0;
                                         |     if (a0 != 0) {
    0x0000383c bnez a0, 0x38d0           |         goto label_16;
                                         |     }
    0x00003840 addiu s0, s0, 1           |     s0++;
    0x00003844 lw t9, -0x7e64(gp)        |     t9 = sym.imp.cli_cleanupGroupContext;
                                         |     if (s0 == s3) {
    0x00003848 beq s0, s3, 0x36c4        |         goto label_2;
                                         |     }
                                         | label_14:
    0x0000384c lw t9, -0x7eb8(gp)        |     t9 = sym.imp.cli_getChildGroupInGroup;
    0x00003850 move a2, s2               |     a2 = s2;
    0x00003854 move a1, s1               |     a1 = s1;
    0x00003858 move a0, s6               |     a0 = s6;
    0x0000385c jalr t9                   |     t9 ();
    0x00003860 lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x00003864 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
                                         |     if (v0 == 0) {
    0x00003868 beqz v0, 0x37f0           |         goto label_3;
                                         |     }
                                         | label_15:
    0x0000386c lw t9, -0x7ea4(gp)        |     t9 = sym.imp.g_strfreev;
    0x00003870 addiu v0, zero, -1        |     v0 = -1;
    0x00003874 lw a0, (s4)               |     a0 = *(s4);
    0x00003878 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x0000387c jalr t9                   |     t9 ();
    0x00003880 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003884 addiu a1, zero, 1         |     a1 = 1;
    0x00003888 addiu a0, zero, 3         |     a0 = 3;
    0x0000388c lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00003890 lw t9, -0x7e20(gp)        |     t9 = sym.imp.__syslog_chk;
    0x00003894 addiu a2, a2, -0x4884     |     a2 += -0x4884;
    0x00003898 sw zero, (s4)             |     *(s4) = 0;
    0x0000389c jalr t9                   |     t9 ();
    0x000038a0 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000038a4 b 0x36d0                  |     goto label_4;
                                         | label_11:
    0x000038a8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000038ac lw a3, -0x7fd8(gp)        |     a3 = *((gp - 8182));
    0x000038b0 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x000038b4 addiu v0, v0, -0x48bc     |     v0 += -0x48bc;
    0x000038b8 lw t9, -0x7da8(gp)        |     t9 = sym.imp.g_assertion_message_expr;
    0x000038bc sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x000038c0 addiu a3, a3, -0x45d0     |     a3 += -0x45d0;
    0x000038c4 addiu a2, zero, 0x18d     |     a2 = 0x18d;
    0x000038c8 addiu a1, a1, -0x4990     |     a1 += -0x4990;
    0x000038cc jalr t9                   |     t9 ();
                                         | label_16:
    0x000038d0 lw t9, -0x7ea4(gp)        |     t9 = sym.imp.g_strfreev;
    0x000038d4 addiu v0, zero, -1        |     v0 = -1;
    0x000038d8 lw a0, (s4)               |     a0 = *(s4);
    0x000038dc sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x000038e0 jalr t9                   |     t9 ();
    0x000038e4 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x000038e8 addiu a1, zero, 1         |     a1 = 1;
    0x000038ec addiu a0, zero, 3         |     a0 = 3;
    0x000038f0 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x000038f4 lw t9, -0x7e20(gp)        |     t9 = sym.imp.__syslog_chk;
    0x000038f8 addiu a2, a2, -0x48a8     |     a2 += -0x48a8;
    0x000038fc sw zero, (s4)             |     *(s4) = 0;
    0x00003900 jalr t9                   |     t9 ();
    0x00003904 lw gp, 0x18(sp)           |     gp = *(var_18h_3);
    0x00003908 b 0x36d0                  |     goto label_4;
                                         | label_12:
    0x0000390c lw t9, -0x7e44(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00003910 jalr t9                   |     t9 ();
    0x00003914 nop                       |     
                                         | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/presettourd @ 0x6cec */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.preset_tour_update_parhand_running_state ()          | void preset_tour_update_parhand_running_state () {
    0x00006cec lui gp, 2                                             |     
    0x00006cf0 addiu gp, gp, -0x13dc                                 |     
    0x00006cf4 addu gp, gp, t9                                       |     gp += t9;
    0x00006cf8 addiu sp, sp, -0x28                                   |     
    0x00006cfc lw t9, -0x7d80(gp)                                    |     t9 = sym.imp.g_malloc;
    0x00006d00 sw gp, 0x10(sp)                                       |     *(var_10h) = gp;
    0x00006d04 sw s2, 0x20(sp)                                       |     *(var_20h) = s2;
    0x00006d08 sw s1, 0x1c(sp)                                       |     *(var_1ch) = s1;
    0x00006d0c sw ra, 0x24(sp)                                       |     *(var_24h) = ra;
    0x00006d10 sw s0, 0x18(sp)                                       |     *(var_18h) = s0;
    0x00006d14 move s2, a0                                           |     s2 = a0;
    0x00006d18 addiu a0, zero, 0x110                                 |     a0 = 0x110;
    0x00006d1c move s1, a1                                           |     s1 = a1;
    0x00006d20 jalr t9                                               |     t9 ();
    0x00006d24 lw gp, 0x10(sp)                                       |     gp = *(var_10h);
                                                                     |     if (v0 == 0) {
    0x00006d28 beqz v0, 0x6d98                                       |         goto label_0;
                                                                     |     }
    0x00006d2c move s0, v0                                           |     s0 = v0;
    0x00006d30 sw s2, 0x108(v0)                                      |     *((v0 + 66)) = s2;
    0x00006d34 sw zero, (v0)                                         |     *(v0) = 0;
    0x00006d38 addiu a0, v0, 8                                       |     a0 = v0 + 8;
                                                                     |     if (s1 != 0) {
    0x00006d3c bnez s1, 0x6d8c                                       |         goto label_1;
                                                                     |     }
    0x00006d40 lw a2, -0x7fd8(gp)                                    |     a2 = *((gp - 8182));
    0x00006d44 addiu a2, a2, -0x40e4                                 |     a2 += -0x40e4;
                                                                     |     do {
    0x00006d48 lw a1, -0x7fd8(gp)                                    |         a1 = *((gp - 8182));
    0x00006d4c lw t9, -0x7eb0(gp)                                    |         t9 = sym.imp.g_sprintf
    0x00006d50 addiu a1, a1, -0x49a8                                 |         a1 += -0x49a8;
    0x00006d54 jalr t9                                               |         t9 ();
    0x00006d58 lw gp, 0x10(sp)                                       |         gp = *(var_10h);
    0x00006d5c lw ra, 0x24(sp)                                       |         ra = *(var_24h);
    0x00006d60 lw s2, 0x20(sp)                                       |         s2 = *(var_20h);
    0x00006d64 lw a1, -0x7fc8(gp)                                    |         a1 = *((gp - 8178));
    0x00006d68 lw a0, -0x7fd8(gp)                                    |         a0 = *((gp - 8182));
    0x00006d6c lw s1, 0x1c(sp)                                       |         s1 = *(var_1ch);
    0x00006d70 move a2, s0                                           |         a2 = s0;
    0x00006d74 lw t9, -0x7e54(gp)                                    |         t9 = sym.imp.g_thread_new;
    0x00006d78 lw s0, 0x18(sp)                                       |         s0 = *(var_18h);
    0x00006d7c addiu a1, a1, 0x55cc                                  |         a1 += 0x55cc;
    0x00006d80 addiu a0, a0, -0x40e0                                 |         a0 += -0x40e0;
    0x00006d84 addiu sp, sp, 0x28                                    |         
    0x00006d88 jr t9                                                 |         t9 ();
                                                                     | label_1:
    0x00006d8c lw a2, -0x7fd8(gp)                                    |         a2 = *((gp - 8182));
    0x00006d90 addiu a2, a2, -0x428c                                 |         a2 += -0x428c;
    0x00006d94 b 0x6d48                                              |         
                                                                     |     } while (1);
                                                                     | label_0:
    0x00006d98 lw ra, 0x24(sp)                                       |     ra = *(var_24h);
    0x00006d9c lw s2, 0x20(sp)                                       |     s2 = *(var_20h);
    0x00006da0 lw s1, 0x1c(sp)                                       |     s1 = *(var_1ch);
    0x00006da4 lw s0, 0x18(sp)                                       |     s0 = *(var_18h);
    0x00006da8 addiu sp, sp, 0x28                                    |     
    0x00006dac jr ra                                                 |     return v0;
                                                                     | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/presettourd @ 0x415c */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.tour_parhand_get_guard_tour_tours ()     | void tour_parhand_get_guard_tour_tours () {
    0x0000415c lui gp, 2                                 |     
    0x00004160 addiu gp, gp, 0x17b4                      |     
    0x00004164 addu gp, gp, t9                           |     gp += t9;
    0x00004168 addiu sp, sp, -0x130                      |     
    0x0000416c lw t9, -0x7eb0(gp)                        |     t9 = sym.imp.g_sprintf
    0x00004170 sw s1, 0x124(sp)                          |     *(var_124h) = s1;
    0x00004174 lw s1, -0x7e0c(gp)                        |     s1 = *((gp - 8067));
    0x00004178 sw s2, 0x128(sp)                          |     *(var_128h) = s2;
    0x0000417c move s2, a1                               |     s2 = a1;
    0x00004180 lw v0, (s1)                               |     v0 = *(s1);
    0x00004184 lw a1, -0x7fd8(gp)                        |     a1 = *((gp - 8182));
    0x00004188 sw s0, 0x120(sp)                          |     *(var_120h) = s0;
    0x0000418c addiu s0, sp, 0x1c                        |     s0 = sp + 0x1c;
    0x00004190 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00004194 move a2, a0                               |     a2 = a0;
    0x00004198 sw ra, 0x12c(sp)                          |     *(var_12ch) = ra;
    0x0000419c move a0, s0                               |     a0 = s0;
    0x000041a0 addiu a1, a1, -0x475c                     |     a1 += -0x475c;
    0x000041a4 sw v0, 0x11c(sp)                          |     *(var_11ch) = v0;
    0x000041a8 jalr t9                                   |     t9 ();
    0x000041ac nop                                       |     
    0x000041b0 lw gp, 0x10(sp)                           |     gp = *(var_10h);
    0x000041b4 move a0, s0                               |     a0 = s0;
    0x000041b8 move a2, s2                               |     a2 = s2;
    0x000041bc lw a1, -0x7fd8(gp)                        |     a1 = *((gp - 8182));
    0x000041c0 lw t9, -0x7fc8(gp)                        |     t9 = *((gp - 8178));
    0x000041c4 addiu t9, t9, 0x2fcc                      |     t9 += fcn.00002fcc;
    0x000041c8 addiu a1, a1, -0x46f4                     |     a1 += -0x46f4;
    0x000041cc bal 0x2fcc                                |     fcn_00002fcc ();
    0x000041d0 lw a0, 0x11c(sp)                          |     a0 = *(var_11ch);
    0x000041d4 lw v1, (s1)                               |     v1 = *(s1);
    0x000041d8 lw gp, 0x10(sp)                           |     gp = *(var_10h);
                                                         |     if (a0 == v1) {
    0x000041dc bne a0, v1, 0x41f8                        |         
    0x000041e0 lw ra, 0x12c(sp)                          |         ra = *(var_12ch);
    0x000041e4 lw s2, 0x128(sp)                          |         s2 = *(var_128h);
    0x000041e8 lw s1, 0x124(sp)                          |         s1 = *(var_124h);
    0x000041ec lw s0, 0x120(sp)                          |         s0 = *(var_120h);
    0x000041f0 addiu sp, sp, 0x130                       |         
    0x000041f4 jr ra                                     |         return v1;
                                                         |     }
    0x000041f8 lw t9, -0x7e44(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x000041fc jalr t9                                   |     t9 ();
    0x00004200 nop                                       |     
    0x00004204 lui gp, 2                                 |     
    0x00004208 addiu gp, gp, 0x170c                      |     
    0x0000420c addu gp, gp, t9                           |     gp += t9;
    0x00004210 lw t9, -0x7fc8(gp)                        |     t9 = *((gp - 8178));
    0x00004214 addiu t9, t9, 0x32f0                      |     t9 += fcn.000032f0;
    0x00004218 b 0x32f0                                  |     void (*0x32f0)() ();
    0x0000421c nop                                       |     
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/presettourd @ 0x3ca0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.tour_parhand_set_parameter ()    | void tour_parhand_set_parameter () {
    0x00003ca0 lui gp, 2                         |     
    0x00003ca4 addiu gp, gp, 0x1c70              |     
    0x00003ca8 addu gp, gp, t9                   |     gp += t9;
    0x00003cac addiu sp, sp, -0x178              |     
    0x00003cb0 sw s3, 0x164(sp)                  |     *(var_164h_2) = s3;
    0x00003cb4 lw s3, -0x7e0c(gp)                |     s3 = *((gp - 8067));
    0x00003cb8 sw gp, 0x18(sp)                   |     *(var_18h_2) = gp;
    0x00003cbc sw ra, 0x174(sp)                  |     *(var_174h_2) = ra;
    0x00003cc0 lw v0, (s3)                       |     v0 = *(s3);
    0x00003cc4 sw s6, 0x170(sp)                  |     *(var_170h_2) = s6;
    0x00003cc8 sw s5, 0x16c(sp)                  |     *(var_16ch_2) = s5;
    0x00003ccc sw s4, 0x168(sp)                  |     *(var_168h_2) = s4;
    0x00003cd0 sw s2, 0x160(sp)                  |     *(var_160h_2) = s2;
    0x00003cd4 sw s1, 0x15c(sp)                  |     *(var_15ch_2) = s1;
    0x00003cd8 sw s0, 0x158(sp)                  |     *(var_158h) = s0;
    0x00003cdc sw zero, 0x20(sp)                 |     *(var_20h_2) = 0;
    0x00003ce0 sw v0, 0x154(sp)                  |     *(var_154h_2) = v0;
    0x00003ce4 lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
                                                 |     if (a0 == 0) {
    0x00003ce8 beqz a0, 0x3e40                   |         goto label_2;
                                                 |     }
    0x00003cec lw v0, 0x108(a0)                  |     v0 = *((a0 + 66));
    0x00003cf0 move s0, a0                       |     s0 = a0;
                                                 |     if (v0 < 0) {
    0x00003cf4 bltz v0, 0x3e14                   |         goto label_3;
                                                 |     }
    0x00003cf8 lw s4, -0x7fdc(gp)                |     s4 = *((gp - 8183));
    0x00003cfc lw t9, -0x7e78(gp)                |     t9 = sym.imp.g_mutex_lock;
    0x00003d00 addiu a0, s4, -0x23e0             |     a0 = s4 + -0x23e0;
    0x00003d04 jalr t9                           |     t9 ();
    0x00003d08 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00003d0c addiu s5, sp, 0x54                |     s5 = sp + 0x54;
    0x00003d10 move a1, s5                       |     a1 = s5;
    0x00003d14 lw t9, -0x7fc8(gp)                |     t9 = *((gp - 8178));
    0x00003d18 addiu t9, t9, 0x2d70              |     t9 += fcn.00002d70;
    0x00003d1c move a0, s0                       |     a0 = s0;
    0x00003d20 bal 0x2d70                        |     fcn_00002d70 ();
    0x00003d24 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     if (v0 != 0) {
    0x00003d28 bnez v0, 0x3e64                   |         goto label_4;
                                                 |     }
    0x00003d2c lw t9, -0x7d34(gp)                |     t9 = sym.imp.cli_resetOptions;
    0x00003d30 addiu s1, sp, 0x24                |     s1 = sp + 0x24;
    0x00003d34 move a0, s1                       |     a0 = s1;
    0x00003d38 jalr t9                           |     t9 ();
    0x00003d3c lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00003d40 addiu s2, sp, 0x20                |     s2 = sp + 0x20;
    0x00003d44 move a1, s2                       |     a1 = s2;
    0x00003d48 lw t9, -0x7f0c(gp)                |     t9 = sym.imp.cli_sync;
    0x00003d4c move a0, s1                       |     a0 = s1;
    0x00003d50 jalr t9                           |     t9 ();
    0x00003d54 lw v0, (s0)                       |     v0 = *(s0);
    0x00003d58 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
    0x00003d5c addiu s6, s0, 8                   |     s6 = s0 + 8;
                                                 |     if (v0 == 0) {
    0x00003d60 beqz v0, 0x3e08                   |         goto label_5;
                                                 |     }
    0x00003d64 sltiu v0, v0, 5                   |     v0 = (v0 < 5) ? 1 : 0;
    0x00003d68 lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
                                                 |     if (v0 != 0) {
    0x00003d6c bnez v0, 0x3d88                   |         goto label_6;
                                                 |     }
    0x00003d70 lw t9, -0x7eb0(gp)                |     t9 = sym.imp.g_sprintf
    0x00003d74 lw a2, 4(s0)                      |     a2 = *((s0 + 1));
    0x00003d78 addiu a1, a1, -0x48c0             |     a1 += -0x48c0;
    0x00003d7c move a0, s6                       |     a0 = s6;
    0x00003d80 jalr t9                           |     t9 ();
    0x00003d84 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     do {
                                                 | label_6:
    0x00003d88 lw t9, -0x7ef4(gp)                |         t9 = sym.imp.cli_setCustomParam;
    0x00003d8c move a3, s2                       |         a3 = s2;
    0x00003d90 move a2, s1                       |         a2 = s1;
    0x00003d94 move a1, s6                       |         a1 = s6;
    0x00003d98 move a0, s5                       |         a0 = s5;
    0x00003d9c jalr t9                           |         t9 ();
    0x00003da0 lw s0, 0x20(sp)                   |         s0 = *(var_20h_2);
    0x00003da4 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
                                                 |         if (s0 != 0) {
    0x00003da8 bnez s0, 0x3e9c                   |             goto label_7;
                                                 |         }
    0x00003dac lw t9, -0x7f0c(gp)                |         t9 = sym.imp.cli_sync;
    0x00003db0 move a1, s2                       |         a1 = s2;
    0x00003db4 move a0, s1                       |         a0 = s1;
    0x00003db8 jalr t9                           |         t9 ();
    0x00003dbc lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00003dc0 lw t9, -0x7de0(gp)                |         t9 = sym.imp.g_mutex_unlock;
    0x00003dc4 addiu a0, s4, -0x23e0             |         a0 = s4 + -0x23e0;
    0x00003dc8 jalr t9                           |         t9 ();
    0x00003dcc lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
                                                 | label_0:
    0x00003dd0 lw a0, 0x154(sp)                  |         a0 = *(var_154h_2);
    0x00003dd4 lw v1, (s3)                       |         v1 = *(s3);
    0x00003dd8 move v0, s0                       |         v0 = s0;
                                                 |         if (a0 != v1) {
    0x00003ddc bne a0, v1, 0x3ebc                |             goto label_8;
                                                 |         }
    0x00003de0 lw ra, 0x174(sp)                  |         ra = *(var_174h_2);
    0x00003de4 lw s6, 0x170(sp)                  |         s6 = *(var_170h_2);
    0x00003de8 lw s5, 0x16c(sp)                  |         s5 = *(var_16ch_2);
    0x00003dec lw s4, 0x168(sp)                  |         s4 = *(var_168h_2);
    0x00003df0 lw s3, 0x164(sp)                  |         s3 = *(var_164h_2);
    0x00003df4 lw s2, 0x160(sp)                  |         s2 = *(var_160h_2);
    0x00003df8 lw s1, 0x15c(sp)                  |         s1 = *(var_15ch_2);
    0x00003dfc lw s0, 0x158(sp)                  |         s0 = *(var_158h);
    0x00003e00 addiu sp, sp, 0x178               |         
    0x00003e04 jr ra                             |         return v0;
                                                 | label_5:
    0x00003e08 addiu v0, zero, 0xc               |         v0 = 0xc;
    0x00003e0c sw v0, 0x28(sp)                   |         *(var_28h) = v0;
    0x00003e10 b 0x3d88                          |         
                                                 |     } while (1);
                                                 | label_3:
    0x00003e14 lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
    0x00003e18 lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x00003e1c lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x00003e20 addiu v0, v0, -0x4848             |     v0 += -0x4848;
    0x00003e24 lw t9, -0x7da8(gp)                |     t9 = sym.imp.g_assertion_message_expr;
    0x00003e28 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x00003e2c addiu a3, a3, -0x4580             |     a3 += -0x4580;
    0x00003e30 addiu a2, zero, 0xe6              |     a2 = 0xe6;
    0x00003e34 addiu a1, a1, -0x4990             |     a1 += -0x4990;
    0x00003e38 move a0, zero                     |     a0 = 0;
    0x00003e3c jalr t9                           |     t9 ();
                                                 | label_2:
    0x00003e40 lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x00003e44 lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x00003e48 addiu v0, v0, -0x485c             |     v0 += -0x485c;
    0x00003e4c lw t9, -0x7da8(gp)                |     t9 = sym.imp.g_assertion_message_expr;
    0x00003e50 sw v0, 0x10(sp)                   |     *(var_10h_2) = v0;
    0x00003e54 addiu a3, a3, -0x4580             |     a3 += -0x4580;
    0x00003e58 addiu a2, zero, 0xe5              |     a2 = 0xe5;
    0x00003e5c addiu a1, a1, -0x4990             |     a1 += -0x4990;
    0x00003e60 jalr t9                           |     t9 ();
                                                 | label_4:
    0x00003e64 lw a2, -0x7fd8(gp)                |     a2 = *((gp - 8182));
    0x00003e68 lw t9, -0x7e20(gp)                |     t9 = sym.imp.__syslog_chk;
    0x00003e6c lw a3, (s0)                       |     a3 = *(s0);
    0x00003e70 addiu a2, a2, -0x482c             |     a2 += -0x482c;
    0x00003e74 addiu a1, zero, 1                 |     a1 = 1;
    0x00003e78 addiu a0, zero, 3                 |     a0 = 3;
    0x00003e7c jalr t9                           |     t9 ();
    0x00003e80 lw gp, 0x18(sp)                   |     gp = *(var_18h_2);
                                                 |     do {
    0x00003e84 lw t9, -0x7de0(gp)                |         t9 = sym.imp.g_mutex_unlock;
    0x00003e88 addiu a0, s4, -0x23e0             |         a0 = s4 + -0x23e0;
    0x00003e8c jalr t9                           |         t9 ();
    0x00003e90 addiu s0, zero, -1                |         s0 = -1;
    0x00003e94 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00003e98 b 0x3dd0                          |         goto label_0;
                                                 | label_7:
    0x00003e9c lw a2, -0x7fd8(gp)                |         a2 = *((gp - 8182));
    0x00003ea0 lw t9, -0x7e20(gp)                |         t9 = sym.imp.__syslog_chk;
    0x00003ea4 addiu a2, a2, -0x47e4             |         a2 += -0x47e4;
    0x00003ea8 addiu a1, zero, 1                 |         a1 = 1;
    0x00003eac addiu a0, zero, 3                 |         a0 = 3;
    0x00003eb0 jalr t9                           |         t9 ();
    0x00003eb4 lw gp, 0x18(sp)                   |         gp = *(var_18h_2);
    0x00003eb8 b 0x3e84                          |         
                                                 |     } while (1);
                                                 | label_8:
    0x00003ebc lw t9, -0x7e44(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x00003ec0 jalr t9                           |     t9 ();
    0x00003ec4 nop                               |     
    0x00003ec8 lui gp, 2                         |     
    0x00003ecc addiu gp, gp, 0x1a48              |     
    0x00003ed0 addu gp, gp, t9                   |     gp += t9;
    0x00003ed4 addiu sp, sp, -0x70               |     
    0x00003ed8 sw s2, 0x60(sp)                   |     *(var_60h) = s2;
    0x00003edc lw s2, -0x7e0c(gp)                |     s2 = *((gp - 8067));
    0x00003ee0 sw gp, 0x18(sp)                   |     *(var_18h_3) = gp;
    0x00003ee4 sw ra, 0x6c(sp)                   |     *(var_6ch) = ra;
    0x00003ee8 lw v0, (s2)                       |     v0 = *(s2);
    0x00003eec sw s4, 0x68(sp)                   |     *(var_68h) = s4;
    0x00003ef0 sw s3, 0x64(sp)                   |     *(var_64h) = s3;
    0x00003ef4 sw s1, 0x5c(sp)                   |     *(var_5ch) = s1;
    0x00003ef8 sw s0, 0x58(sp)                   |     *(var_58h) = s0;
    0x00003efc sw zero, 0x20(sp)                 |     *(var_20h_3) = 0;
    0x00003f00 sw v0, 0x54(sp)                   |     *(var_54h) = v0;
    0x00003f04 addiu v0, zero, 1                 |     v0 = 1;
                                                 |     if (a0 == 0) {
    0x00003f08 beqz a0, 0x4098                   |         goto label_9;
                                                 |     }
    0x00003f0c move s0, a0                       |     s0 = a0;
                                                 |     if (a1 != v0) {
    0x00003f10 beq a1, v0, 0x3f48                |         
    0x00003f14 addiu v0, zero, -1                |         v0 = -1;
    0x00003f18 lw v0, -0x7fd8(gp)                |         v0 = *((gp - 8182));
                                                 |         if (a1 == v0) {
    0x00003f1c beq a1, v0, 0x4030                |             goto label_10;
                                                 |         }
    0x00003f20 lw a3, -0x7fd8(gp)                |         a3 = *((gp - 8182));
    0x00003f24 lw a1, -0x7fd8(gp)                |         a1 = *((gp - 8182));
    0x00003f28 addiu v0, v0, -0x47c0             |         v0 += -0x47c0;
    0x00003f2c lw t9, -0x7da8(gp)                |         t9 = sym.imp.g_assertion_message_expr;
    0x00003f30 sw v0, 0x10(sp)                   |         *(var_10h_3) = v0;
    0x00003f34 addiu a3, a3, -0x459c             |         a3 += -0x459c;
    0x00003f38 addiu a2, zero, 0x144             |         a2 = aav.0x00000144;
    0x00003f3c addiu a1, a1, -0x4990             |         a1 += -0x4990;
    0x00003f40 move a0, zero                     |         a0 = 0;
    0x00003f44 jalr t9                           |         t9 ();
                                                 |     }
    0x00003f48 lw s4, -0x7fdc(gp)                |     s4 = *((gp - 8183));
    0x00003f4c lw t9, -0x7e78(gp)                |     t9 = sym.imp.g_mutex_lock;
    0x00003f50 addiu a0, s4, -0x23e0             |     a0 = s4 + -0x23e0;
    0x00003f54 jalr t9                           |     t9 ();
    0x00003f58 lw gp, 0x18(sp)                   |     gp = *(var_18h_3);
    0x00003f5c addiu s3, sp, 0x24                |     s3 = sp + 0x24;
    0x00003f60 lw t9, -0x7d34(gp)                |     t9 = sym.imp.cli_resetOptions;
    0x00003f64 move a0, s3                       |     a0 = s3;
    0x00003f68 jalr t9                           |     t9 ();
    0x00003f6c lw gp, 0x18(sp)                   |     gp = *(var_18h_3);
                                                 |     do {
    0x00003f70 lw t9, -0x7f0c(gp)                |         t9 = sym.imp.cli_sync;
    0x00003f74 addiu s1, sp, 0x20                |         s1 = sp + 0x20;
    0x00003f78 move a1, s1                       |         a1 = s1;
    0x00003f7c move a0, s3                       |         a0 = s3;
    0x00003f80 jalr t9                           |         t9 ();
    0x00003f84 lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
    0x00003f88 move a3, s1                       |         a3 = s1;
    0x00003f8c move a2, s3                       |         a2 = s3;
    0x00003f90 lw a1, -0x7fd8(gp)                |         a1 = *((gp - 8182));
    0x00003f94 lw a0, -0x7fd8(gp)                |         a0 = *((gp - 8182));
    0x00003f98 lw t9, -0x7d40(gp)                |         t9 = sym.imp.cli_createDynamicGroup;
    0x00003f9c addiu a1, a1, -0x476c             |         a1 += -0x476c;
    0x00003fa0 addiu a0, a0, -0x48e8             |         a0 += -0x48e8;
    0x00003fa4 jalr t9                           |         t9 ();
    0x00003fa8 lw s3, 0x20(sp)                   |         s3 = *(var_20h_3);
    0x00003fac lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
    0x00003fb0 move s1, v0                       |         s1 = v0;
                                                 |         if (s3 != 0) {
    0x00003fb4 bnez s3, 0x40c0                   |             goto label_11;
                                                 |         }
    0x00003fb8 lw a1, -0x7fd8(gp)                |         a1 = *((gp - 8182));
    0x00003fbc lw t9, -0x7d4c(gp)                |         t9 = sym.imp.__isoc99_sscanf;
    0x00003fc0 move a2, s0                       |         a2 = s0;
    0x00003fc4 addiu a1, a1, -0x4760             |         a1 += -0x4760;
    0x00003fc8 move a0, v0                       |         a0 = v0;
    0x00003fcc jalr t9                           |         t9 ();
    0x00003fd0 addiu v1, zero, 1                 |         v1 = 1;
    0x00003fd4 lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
                                                 |         if (v0 != v1) {
    0x00003fd8 bne v0, v1, 0x40c0                |             goto label_11;
                                                 |         }
    0x00003fdc lw t9, -0x7d14(gp)                |         t9 = sym.imp.g_free;
                                                 |         if (s1 != 0) {
    0x00003fe0 beqz s1, 0x3ff0                   |             
    0x00003fe4 move a0, s1                       |             a0 = s1;
    0x00003fe8 jalr t9                           |             t9 ();
    0x00003fec lw gp, 0x18(sp)                   |             gp = *(var_18h_3);
                                                 |         }
    0x00003ff0 lw t9, -0x7de0(gp)                |         t9 = sym.imp.g_mutex_unlock;
    0x00003ff4 addiu a0, s4, -0x23e0             |         a0 = s4 + -0x23e0;
    0x00003ff8 jalr t9                           |         t9 ();
    0x00003ffc lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
                                                 | label_1:
    0x00004000 lw a0, 0x54(sp)                   |         a0 = *(var_54h);
    0x00004004 lw v1, (s2)                       |         v1 = *(s2);
    0x00004008 move v0, s3                       |         v0 = s3;
                                                 |         if (a0 != v1) {
    0x0000400c bne a0, v1, 0x40ec                |             goto label_12;
                                                 |         }
    0x00004010 lw ra, 0x6c(sp)                   |         ra = *(var_6ch);
    0x00004014 lw s4, 0x68(sp)                   |         s4 = *(var_68h);
    0x00004018 lw s3, 0x64(sp)                   |         s3 = *(var_64h);
    0x0000401c lw s2, 0x60(sp)                   |         s2 = *(var_60h);
    0x00004020 lw s1, 0x5c(sp)                   |         s1 = *(var_5ch);
    0x00004024 lw s0, 0x58(sp)                   |         s0 = *(var_58h);
    0x00004028 addiu sp, sp, 0x70                |         
    0x0000402c jr ra                             |         return v0;
                                                 | label_10:
    0x00004030 lw v0, (a0)                       |         v0 = *(a0);
    0x00004034 lw s4, -0x7fdc(gp)                |         s4 = *((gp - 8183));
                                                 |         if (v0 < 0) {
    0x00004038 bltz v0, 0x406c                   |             goto label_13;
                                                 |         }
    0x0000403c lw t9, -0x7e78(gp)                |         t9 = sym.imp.g_mutex_lock;
    0x00004040 addiu a0, s4, -0x23e0             |         a0 = s4 + -0x23e0;
    0x00004044 jalr t9                           |         t9 ();
    0x00004048 lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
    0x0000404c addiu s3, sp, 0x24                |         s3 = sp + 0x24;
    0x00004050 lw t9, -0x7d34(gp)                |         t9 = sym.imp.cli_resetOptions;
    0x00004054 move a0, s3                       |         a0 = s3;
    0x00004058 jalr t9                           |         t9 ();
    0x0000405c lw v0, (s0)                       |         v0 = *(s0);
    0x00004060 lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
    0x00004064 sw v0, 0x2c(sp)                   |         *(var_2ch) = v0;
    0x00004068 b 0x3f70                          |         
                                                 |     } while (1);
                                                 | label_13:
    0x0000406c lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
    0x00004070 lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x00004074 lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x00004078 addiu v0, v0, -0x4790             |     v0 += -0x4790;
    0x0000407c lw t9, -0x7da8(gp)                |     t9 = sym.imp.g_assertion_message_expr;
    0x00004080 sw v0, 0x10(sp)                   |     *(var_10h_3) = v0;
    0x00004084 addiu a3, a3, -0x459c             |     a3 += -0x459c;
    0x00004088 addiu a2, zero, 0x145             |     a2 = 0x145;
    0x0000408c addiu a1, a1, -0x4990             |     a1 += -0x4990;
    0x00004090 move a0, zero                     |     a0 = 0;
    0x00004094 jalr t9                           |     t9 ();
                                                 | label_9:
    0x00004098 lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
    0x0000409c lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x000040a0 lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x000040a4 addiu v0, v0, -0x4904             |     v0 += -0x4904;
    0x000040a8 lw t9, -0x7da8(gp)                |     t9 = sym.imp.g_assertion_message_expr;
    0x000040ac sw v0, 0x10(sp)                   |     *(var_10h_3) = v0;
    0x000040b0 addiu a3, a3, -0x459c             |     a3 += -0x459c;
    0x000040b4 addiu a2, zero, 0x143             |     a2 = 0x143;
    0x000040b8 addiu a1, a1, -0x4990             |     a1 += -0x4990;
    0x000040bc jalr t9                           |     t9 ();
                                                 | label_11:
    0x000040c0 lw t9, -0x7d14(gp)                |     t9 = sym.imp.g_free;
                                                 |     if (s1 != 0) {
    0x000040c4 beqz s1, 0x40d4                   |         
    0x000040c8 move a0, s1                       |         a0 = s1;
    0x000040cc jalr t9                           |         t9 ();
    0x000040d0 lw gp, 0x18(sp)                   |         gp = *(var_18h_3);
                                                 |     }
    0x000040d4 lw t9, -0x7de0(gp)                |     t9 = sym.imp.g_mutex_unlock;
    0x000040d8 addiu a0, s4, -0x23e0             |     a0 = s4 + -0x23e0;
    0x000040dc jalr t9                           |     t9 ();
    0x000040e0 addiu s3, zero, -1                |     s3 = -1;
    0x000040e4 lw gp, 0x18(sp)                   |     gp = *(var_18h_3);
    0x000040e8 b 0x4000                          |     goto label_1;
                                                 | label_12:
    0x000040ec lw t9, -0x7e44(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x000040f0 jalr t9                           |     t9 ();
    0x000040f4 nop                               |     
                                                 | }

[*] Function sprintf used 6 times presettourd