[*] Binary protection state of pullEngine

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


[*] Function printf tear down of pullEngine

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/pullEngine @ 0x402084 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00402084 lui gp, 2                     |     
    0x00402088 addiu gp, gp, -0xda4          |     
    0x0040208c addu gp, gp, t9               |     gp += t9;
    0x00402090 addiu sp, sp, -0xc60          |     
    0x00402094 sw ra, 0xc5c(sp)              |     *(var_c5ch) = ra;
    0x00402098 sw fp, 0xc58(sp)              |     *(var_c58h) = fp;
    0x0040209c sw s1, 0xc54(sp)              |     *(var_c54h) = s1;
    0x004020a0 sw s0, 0xc50(sp)              |     *(var_c50h) = s0;
    0x004020a4 move fp, sp                   |     fp = sp;
    0x004020a8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x004020ac sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x004020b0 sw a1, 0x20(fp)               |     *(arg_20h) = a1;
    0x004020b4 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x004020b8 lw t8, (t8)                   |     t8 = *(t8);
    0x004020bc sw t8, 0xc4c(fp)              |     *(arg_c4ch) = t8;
    0x004020c0 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x004020c4 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != t8) {
    0x004020c8 beq v0, t8, 0x4020dc          |         
    0x004020cc nop                           |         
    0x004020d0 addiu s0, zero, -1            |         s0 = -1;
    0x004020d4 b 0x402ca0                    |         goto label_2;
    0x004020d8 nop                           |         
                                             |     }
    0x004020dc lw t8, -0x7fc4(gp)            |     t8 = sym.initSignal__;
    0x004020e0 move t9, t8                   |     t9 = t8;
    0x004020e4 jalr t9                       |     t9 ();
    0x004020e8 nop                           |     
    0x004020ec lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004020f0 move t8, v0                   |     t8 = v0;
    0x004020f4 xori t8, t8, 1                |     t8 ^= 1;
    0x004020f8 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x004020fc beqz t8, 0x402110             |         
    0x00402100 nop                           |         
    0x00402104 addiu s0, zero, -1            |         s0 = -1;
    0x00402108 b 0x402ca0                    |         goto label_2;
    0x0040210c nop                           |         
                                             |     }
    0x00402110 addiu a0, zero, 0x1c          |     a0 = 0x1c;
    0x00402114 lw t8, -0x7f24(gp)            |     t8 = sym.imp.operator_new_unsigned_int_;
    0x00402118 move t9, t8                   |     t9 = t8;
    0x0040211c jalr t9                       |     t9 ();
    0x00402120 nop                           |     
    0x00402124 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402128 move t8, v0                   |     t8 = v0;
    0x0040212c move s0, t8                   |     s0 = t8;
    0x00402130 move a0, s0                   |     a0 = s0;
    0x00402134 lw t8, -0x7fc0(gp)            |     t8 = *(gp);
    0x00402138 move t9, t8                   |     t9 = t8;
    0x0040213c jalr t9                       |     t9 ();
    0x00402140 nop                           |     
    0x00402144 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402148 sw s0, 0x3c(fp)               |     *(arg_3ch) = s0;
    0x0040214c lw t8, 0x20(fp)               |     t8 = *(arg_20h);
    0x00402150 lw t8, (t8)                   |     t8 = *(t8);
    0x00402154 addiu t8, t8, 0xf             |     t8 += 0xf;
    0x00402158 sw t8, 0x40(fp)               |     *(arg_40h) = t8;
    0x0040215c lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
    0x00402160 lw t8, (t8)                   |     t8 = *(t8);
    0x00402164 addiu t8, t8, 0x1b0           |     t8 += 0x1b0;
    0x00402168 lw t8, (t8)                   |     t8 = *(t8);
    0x0040216c addiu v0, fp, 0x68            |     v0 = fp + 0x68;
    0x00402170 move a0, v0                   |     a0 = v0;
    0x00402174 lw a1, 0x3c(fp)               |     a1 = *(arg_3ch);
    0x00402178 move t9, t8                   |     t9 = t8;
    0x0040217c jalr t9                       |     t9 ();
    0x00402180 nop                           |     
    0x00402184 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402188 addiu t8, fp, 0x68            |     t8 = fp + 0x68;
    0x0040218c move a0, t8                   |     a0 = t8;
    0x00402190 lw t8, -0x7ed0(gp)            |     t8 = *(gp);
    0x00402194 move t9, t8                   |     t9 = t8;
    0x00402198 jalr t9                       |     t9 ();
    0x0040219c nop                           |     
    0x004021a0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004021a4 move t8, v0                   |     t8 = v0;
    0x004021a8 addiu v0, fp, 0x9cc           |     v0 = fp + 0x9cc;
    0x004021ac lw v1, 0x40(fp)               |     v1 = *(arg_40h);
    0x004021b0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x004021b4 move a0, v0                   |     a0 = v0;
    0x004021b8 addiu a1, zero, 0x40          |     a1 = 0x40;
    0x004021bc lw v0, -0x7fcc(gp)            |     v0 = *(gp);
                                             |     /* esilref: '&s&s' */
    0x004021c0 addiu a2, v0, 0x7aac          |     a2 = v0 + 0x7aac;
    0x004021c4 move a3, t8                   |     a3 = t8;
    0x004021c8 lw t8, -0x7efc(gp)            |     t8 = sym.imp.snprintf
    0x004021cc move t9, t8                   |     t9 = t8;
    0x004021d0 jalr t9                       |     t9 ();
    0x004021d4 nop                           |     
    0x004021d8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004021dc addiu t8, fp, 0x68            |     t8 = fp + 0x68;
    0x004021e0 move a0, t8                   |     a0 = t8;
    0x004021e4 lw t8, -0x7f00(gp)            |     t8 = *((gp - 8128));
    0x004021e8 move t9, t8                   |     t9 = t8;
    0x004021ec jalr t9                       |     t9 ();
    0x004021f0 nop                           |     
    0x004021f4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004021f8 addiu t8, fp, 0x68            |     t8 = fp + 0x68;
    0x004021fc move a0, t8                   |     a0 = t8;
    0x00402200 lw t8, -0x7fbc(gp)            |     t8 = *(gp);
    0x00402204 move t9, t8                   |     t9 = t8;
    0x00402208 jalr t9                       |     t9 ();
    0x0040220c nop                           |     
    0x00402210 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402214 addiu v0, fp, 0x68            |     v0 = fp + 0x68;
    0x00402218 addiu t8, fp, 0x9cc           |     t8 = fp + 0x9cc;
    0x0040221c move a0, v0                   |     a0 = v0;
    0x00402220 move a1, t8                   |     a1 = t8;
    0x00402224 lw t8, -0x7fb8(gp)            |     t8 = *(gp);
    0x00402228 move t9, t8                   |     t9 = t8;
    0x0040222c jalr t9                       |     t9 ();
    0x00402230 nop                           |     
    0x00402234 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402238 move t8, v0                   |     t8 = v0;
    0x0040223c xori t8, t8, 1                |     t8 ^= 1;
    0x00402240 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00402244 beqz t8, 0x402258             |         
    0x00402248 nop                           |         
    0x0040224c addiu s0, zero, -1            |         s0 = -1;
    0x00402250 b 0x402c84                    |         goto label_3;
    0x00402254 nop                           |         
                                             |     }
    0x00402258 addiu t8, fp, 0x68            |     t8 = fp + 0x68;
    0x0040225c move a0, t8                   |     a0 = t8;
    0x00402260 lw t8, -0x7fb4(gp)            |     t8 = *(gp);
    0x00402264 move t9, t8                   |     t9 = t8;
    0x00402268 jalr t9                       |     t9 ();
    0x0040226c nop                           |     
    0x00402270 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402274 sw v0, 0x44(fp)               |     *(arg_44h) = v0;
    0x00402278 lw t8, 0x44(fp)               |     t8 = *(arg_44h);
                                             |     if (t8 < 0) {
    0x0040227c bgez t8, 0x402290             |         
    0x00402280 nop                           |         
    0x00402284 addiu s0, zero, -1            |         s0 = -1;
    0x00402288 b 0x402c84                    |         goto label_3;
    0x0040228c nop                           |         
                                             |     }
    0x00402290 addiu t8, fp, 0x58c           |     t8 = fp + 0x58c;
    0x00402294 move a0, t8                   |     a0 = t8;
    0x00402298 lw t8, -0x7ee8(gp)            |     t8 = *(gp);
    0x0040229c move t9, t8                   |     t9 = t8;
    0x004022a0 jalr t9                       |     t9 ();
    0x004022a4 nop                           |     
    0x004022a8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004022ac lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
    0x004022b0 lw t8, (t8)                   |     t8 = *(t8);
    0x004022b4 addiu t8, t8, 0x25c           |     t8 += 0x25c;
    0x004022b8 lw t8, (t8)                   |     t8 = *(t8);
    0x004022bc lw a0, 0x3c(fp)               |     a0 = *(arg_3ch);
    0x004022c0 move t9, t8                   |     t9 = t8;
    0x004022c4 jalr t9                       |     t9 ();
    0x004022c8 nop                           |     
    0x004022cc lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004022d0 move t8, v0                   |     t8 = v0;
    0x004022d4 addiu v0, fp, 0x58c           |     v0 = fp + 0x58c;
    0x004022d8 move a0, v0                   |     a0 = v0;
    0x004022dc move a1, t8                   |     a1 = t8;
    0x004022e0 lw t8, -0x7f3c(gp)            |     t8 = *(gp);
    0x004022e4 move t9, t8                   |     t9 = t8;
    0x004022e8 jalr t9                       |     t9 ();
    0x004022ec nop                           |     
    0x004022f0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004022f4 move t8, v0                   |     t8 = v0;
    0x004022f8 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x004022fc andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00402300 beqz t8, 0x402314             |         
    0x00402304 nop                           |         
    0x00402308 addiu s0, zero, -1            |         s0 = -1;
    0x0040230c b 0x402c68                    |         goto label_4;
    0x00402310 nop                           |         
                                             |     }
    0x00402314 addiu t8, fp, 0x58c           |     t8 = fp + 0x58c;
    0x00402318 move a0, t8                   |     a0 = t8;
    0x0040231c lw t8, -0x7f18(gp)            |     t8 = *(gp);
    0x00402320 move t9, t8                   |     t9 = t8;
    0x00402324 jalr t9                       |     t9 ();
    0x00402328 nop                           |     
    0x0040232c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402330 move t8, v0                   |     t8 = v0;
    0x00402334 sw t8, 0x48(fp)               |     *(arg_48h) = t8;
    0x00402338 lw t8, 0x48(fp)               |     t8 = *(arg_48h);
                                             |     if (t8 < 0) {
    0x0040233c bgez t8, 0x402350             |         
    0x00402340 nop                           |         
    0x00402344 addiu s0, zero, -1            |         s0 = -1;
    0x00402348 b 0x402c68                    |         goto label_4;
    0x0040234c nop                           |         
                                             |     }
    0x00402350 sw zero, 0x60(fp)             |     *(arg_60h) = 0;
    0x00402354 sw zero, 0x64(fp)             |     *(arg_64h) = 0;
    0x00402358 sw zero, 0x4c(fp)             |     *(arg_4ch) = 0;
    0x0040235c sw zero, 0x30(fp)             |     *(arg_30h) = 0;
    0x00402360 addiu v0, fp, 0xa4c           |     v0 = fp + 0xa4c;
    0x00402364 addiu t8, zero, 0x200         |     t8 = 0x200;
    0x00402368 move a0, v0                   |     a0 = v0;
    0x0040236c move a1, zero                 |     a1 = 0;
    0x00402370 move a2, t8                   |     a2 = t8;
    0x00402374 lw t8, -0x7f2c(gp)            |     t8 = sym.imp.memset;
    0x00402378 move t9, t8                   |     t9 = t8;
    0x0040237c jalr t9                       |     t9 ();
    0x00402380 nop                           |     
    0x00402384 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402388 addiu t8, fp, 0xf4            |     t8 = fp + 0xf4;
    0x0040238c move a0, t8                   |     a0 = t8;
    0x00402390 move a1, zero                 |     a1 = 0;
    0x00402394 addiu a2, zero, 0x90          |     a2 = 0x90;
    0x00402398 lw t8, -0x7f2c(gp)            |     t8 = sym.imp.memset;
    0x0040239c move t9, t8                   |     t9 = t8;
    0x004023a0 jalr t9                       |     t9 ();
    0x004023a4 nop                           |     
    0x004023a8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004023ac move a0, zero                 |     a0 = 0;
    0x004023b0 lw t8, -0x7f10(gp)            |     t8 = sym.imp.time;
    0x004023b4 move t9, t8                   |     t9 = t8;
    0x004023b8 jalr t9                       |     t9 ();
    0x004023bc nop                           |     
    0x004023c0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004023c4 move t8, v0                   |     t8 = v0;
    0x004023c8 addiu t8, t8, 0x1e            |     t8 += 0x1e;
    0x004023cc sw t8, 0x178(fp)              |     *(arg_178h) = t8;
    0x004023d0 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
    0x004023d4 lw t8, (t8)                   |     t8 = *(t8);
    0x004023d8 addiu t8, t8, 0x260           |     t8 += 0x260;
    0x004023dc lw t8, (t8)                   |     t8 = *(t8);
    0x004023e0 lw a0, 0x3c(fp)               |     a0 = *(arg_3ch);
    0x004023e4 move t9, t8                   |     t9 = t8;
    0x004023e8 jalr t9                       |     t9 ();
    0x004023ec nop                           |     
    0x004023f0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004023f4 move t8, v0                   |     t8 = v0;
    0x004023f8 move v0, t8                   |     v0 = t8;
    0x004023fc lw t8, -0x7fd0(gp)            |     t8 = *(gp);
    0x00402400 sw v0, (t8)                   |     *(t8) = v0;
    0x00402404 sw zero, 0x34(fp)             |     *(arg_34h) = 0;
    0x00402408 b 0x402c4c                    |     goto label_5;
    0x0040240c nop                           |     
                                             | label_1:
    0x00402410 lw t8, -0x7fdc(gp)            |     t8 = *(gp);
    0x00402414 sb zero, (t8)                 |     *(t8) = 0;
    0x00402418 b 0x402aa8                    |     goto label_6;
    0x0040241c nop                           |     
                                             | label_0:
    0x00402420 lw t8, 0x178(fp)              |     t8 = *(arg_178h);
                                             |     if (t8 > 0) {
    0x00402424 blez t8, 0x4024a4             |         
    0x00402428 nop                           |         
    0x0040242c lw s0, 0x178(fp)              |         s0 = *(arg_178h);
    0x00402430 move a0, zero                 |         a0 = 0;
    0x00402434 lw t8, -0x7f10(gp)            |         t8 = sym.imp.time;
    0x00402438 move t9, t8                   |         t9 = t8;
    0x0040243c jalr t9                       |         t9 ();
    0x00402440 nop                           |         
    0x00402444 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00402448 move t8, v0                   |         t8 = v0;
    0x0040244c subu t8, s0, t8               |         __asm ("subu t8, s0, t8");
    0x00402450 addiu t8, t8, -1              |         t8 += -1;
    0x00402454 sw t8, 0x50(fp)               |         *(arg_50h) = t8;
    0x00402458 lw t8, 0x50(fp)               |         t8 = *(arg_50h);
                                             |         if (t8 > 0) {
    0x0040245c blez t8, 0x402474             |             
    0x00402460 nop                           |             
    0x00402464 lw t8, 0x50(fp)               |             t8 = *(arg_50h);
    0x00402468 sw t8, 0x60(fp)               |             *(arg_60h) = t8;
    0x0040246c b 0x4024ac                    |             goto label_7;
    0x00402470 nop                           |             
                                             |         }
    0x00402474 addiu t8, fp, 0xf4            |         t8 = fp + 0xf4;
    0x00402478 move a0, t8                   |         a0 = t8;
    0x0040247c lw t8, -0x7fb0(gp)            |         t8 = sym.terminationSubscription_PullPointSubscriptionInfo_;
    0x00402480 move t9, t8                   |         t9 = t8;
    0x00402484 jalr t9                       |         t9 ();
    0x00402488 nop                           |         
    0x0040248c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00402490 lw t8, -0x7fd8(gp)            |         t8 = *(gp);
    0x00402494 addiu v0, zero, 1             |         v0 = 1;
    0x00402498 sb v0, (t8)                   |         *(t8) = v0;
    0x0040249c b 0x402ac0                    |         goto label_8;
    0x004024a0 nop                           |         
                                             |     }
    0x004024a4 addiu t8, zero, 0xa           |     t8 = 0xa;
    0x004024a8 sw t8, 0x60(fp)               |     *(arg_60h) = t8;
                                             | label_7:
    0x004024ac sw zero, 0x64(fp)             |     *(arg_64h) = 0;
    0x004024b0 addiu t8, fp, 0x74            |     t8 = fp + 0x74;
    0x004024b4 sw t8, 0x54(fp)               |     *(arg_54h) = t8;
    0x004024b8 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
    0x004024bc b 0x4024e4                    |     goto label_9;
    0x004024c0 nop                           |     
                                             |     do {
    0x004024c4 lw v0, 0x54(fp)               |         v0 = *(arg_54h);
    0x004024c8 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x004024cc sll t8, t8, 2                 |         t8 <<= 2;
    0x004024d0 addu t8, v0, t8               |         t8 = v0 + t8;
    0x004024d4 sw zero, (t8)                 |         *(t8) = 0;
    0x004024d8 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x004024dc addiu t8, t8, 1               |         t8++;
    0x004024e0 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
                                             | label_9:
    0x004024e4 addiu v0, zero, 0x20          |         v0 = 0x20;
    0x004024e8 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x004024ec sltu t8, t8, v0               |         t8 = (t8 < v0) ? 1 : 0;
    0x004024f0 bnez t8, 0x4024c4             |         
                                             |     } while (t8 != 0);
    0x004024f4 nop                           |     
    0x004024f8 lw v0, 0x48(fp)               |     v0 = *(arg_48h);
    0x004024fc addiu t8, zero, 0x20          |     t8 = 0x20;
    0x00402500 divu zero, v0, t8             |     __asm ("divu zero, v0, t8");
                                             |     if (t8 == 0) {
    0x00402504 bnez t8, 0x40250c             |         
    0x00402508 break 7                       |         __asm ("break 7");
                                             |     }
    0x0040250c mfhi t8                       |     __asm ("mfhi t8");
    0x00402510 mflo v0                       |     __asm ("mflo v0");
    0x00402514 sll t8, v0, 2                 |     t8 = v0 << 2;
    0x00402518 addiu v1, fp, 0xc50           |     v1 = fp + 0xc50;
    0x0040251c addu t8, v1, t8               |     t8 = v1 + t8;
    0x00402520 lw v1, -0xbdc(t8)             |     v1 = *((t8 - 759));
    0x00402524 lw a0, 0x48(fp)               |     a0 = *(arg_48h);
    0x00402528 addiu t8, zero, 0x20          |     t8 = 0x20;
    0x0040252c divu zero, a0, t8             |     __asm ("divu zero, a0, t8");
                                             |     if (t8 == 0) {
    0x00402530 bnez t8, 0x402538             |         
    0x00402534 break 7                       |         __asm ("break 7");
                                             |     }
    0x00402538 mfhi t8                       |     __asm ("mfhi t8");
    0x0040253c addiu a0, zero, 1             |     a0 = 1;
    0x00402540 sllv t8, a0, t8               |     t8 = a0 << t8;
    0x00402544 or v1, v1, t8                 |     v1 |= t8;
    0x00402548 sll t8, v0, 2                 |     t8 = v0 << 2;
    0x0040254c addiu t9, fp, 0xc50           |     t9 = fp + 0xc50;
    0x00402550 addu t8, t9, t8               |     t8 = t9 + t8;
    0x00402554 sw v1, -0xbdc(t8)             |     *((t8 - 3036)) = v1;
    0x00402558 lw v0, 0x44(fp)               |     v0 = *(arg_44h);
    0x0040255c addiu t8, zero, 0x20          |     t8 = 0x20;
    0x00402560 divu zero, v0, t8             |     __asm ("divu zero, v0, t8");
                                             |     if (t8 == 0) {
    0x00402564 bnez t8, 0x40256c             |         
    0x00402568 break 7                       |         __asm ("break 7");
                                             |     }
    0x0040256c mfhi t8                       |     __asm ("mfhi t8");
    0x00402570 mflo v0                       |     __asm ("mflo v0");
    0x00402574 sll t8, v0, 2                 |     t8 = v0 << 2;
    0x00402578 addiu v1, fp, 0xc50           |     v1 = fp + 0xc50;
    0x0040257c addu t8, v1, t8               |     t8 = v1 + t8;
    0x00402580 lw v1, -0xbdc(t8)             |     v1 = *((t8 - 759));
    0x00402584 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x00402588 addiu t8, zero, 0x20          |     t8 = 0x20;
    0x0040258c divu zero, a0, t8             |     __asm ("divu zero, a0, t8");
                                             |     if (t8 == 0) {
    0x00402590 bnez t8, 0x402598             |         
    0x00402594 break 7                       |         __asm ("break 7");
                                             |     }
    0x00402598 mfhi t8                       |     __asm ("mfhi t8");
    0x0040259c addiu a0, zero, 1             |     a0 = 1;
    0x004025a0 sllv t8, a0, t8               |     t8 = a0 << t8;
    0x004025a4 or v1, v1, t8                 |     v1 |= t8;
    0x004025a8 sll t8, v0, 2                 |     t8 = v0 << 2;
    0x004025ac addiu t9, fp, 0xc50           |     t9 = fp + 0xc50;
    0x004025b0 addu t8, t9, t8               |     t8 = t9 + t8;
    0x004025b4 sw v1, -0xbdc(t8)             |     *((t8 - 3036)) = v1;
    0x004025b8 lw v0, 0x48(fp)               |     v0 = *(arg_48h);
    0x004025bc lw t8, 0x44(fp)               |     t8 = *(arg_44h);
    0x004025c0 slt t8, t8, v0                |     t8 = (t8 < v0) ? 1 : 0;
                                             |     if (t8 != 0) {
    0x004025c4 beqz t8, 0x4025d8             |         
    0x004025c8 nop                           |         
    0x004025cc lw t8, 0x48(fp)               |         t8 = *(arg_48h);
    0x004025d0 b 0x4025dc                    |         goto label_10;
    0x004025d4 nop                           |         
                                             |     }
    0x004025d8 lw t8, 0x44(fp)               |     t8 = *(arg_44h);
                                             | label_10:
    0x004025dc sw t8, 0x4c(fp)               |     *(arg_4ch) = t8;
    0x004025e0 lw t8, 0x4c(fp)               |     t8 = *(arg_4ch);
    0x004025e4 addiu v0, t8, 1               |     v0 = t8 + 1;
    0x004025e8 addiu t8, fp, 0x74            |     t8 = fp + 0x74;
    0x004025ec addiu v1, fp, 0x60            |     v1 = fp + 0x60;
    0x004025f0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x004025f4 move a0, v0                   |     a0 = v0;
    0x004025f8 move a1, t8                   |     a1 = t8;
    0x004025fc move a2, zero                 |     a2 = 0;
    0x00402600 move a3, zero                 |     a3 = 0;
    0x00402604 lw t8, -0x7f04(gp)            |     t8 = sym.imp.select;
    0x00402608 move t9, t8                   |     t9 = t8;
    0x0040260c jalr t9                       |     t9 ();
    0x00402610 nop                           |     
    0x00402614 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402618 move t8, v0                   |     t8 = v0;
    0x0040261c sw t8, 0x58(fp)               |     *(arg_58h) = t8;
    0x00402620 lw t8, 0x58(fp)               |     t8 = *(arg_58h);
    0x00402624 slt t8, zero, t8              |     t8 = (0 < t8) ? 1 : 0;
    0x00402628 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x0040262c beqz t8, 0x402aa8             |         
    0x00402630 nop                           |         
    0x00402634 lw v0, 0x44(fp)               |         v0 = *(arg_44h);
    0x00402638 addiu t8, zero, 0x20          |         t8 = 0x20;
    0x0040263c divu zero, v0, t8             |         __asm ("divu zero, v0, t8");
                                             |         if (t8 == 0) {
    0x00402640 bnez t8, 0x402648             |             
    0x00402644 break 7                       |             __asm ("break 7");
                                             |         }
    0x00402648 mfhi t8                       |         __asm ("mfhi t8");
    0x0040264c mflo t8                       |         __asm ("mflo t8");
    0x00402650 sll t8, t8, 2                 |         t8 <<= 2;
    0x00402654 addiu v0, fp, 0xc50           |         v0 = fp + 0xc50;
    0x00402658 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0040265c lw v0, -0xbdc(t8)             |         v0 = *((t8 - 759));
    0x00402660 lw v1, 0x44(fp)               |         v1 = *(arg_44h);
    0x00402664 addiu t8, zero, 0x20          |         t8 = 0x20;
    0x00402668 divu zero, v1, t8             |         __asm ("divu zero, v1, t8");
                                             |         if (t8 == 0) {
    0x0040266c bnez t8, 0x402674             |             
    0x00402670 break 7                       |             __asm ("break 7");
                                             |         }
    0x00402674 mfhi t8                       |         __asm ("mfhi t8");
    0x00402678 srav t8, v0, t8               |         __asm ("srav t8, v0, t8");
    0x0040267c andi t8, t8, 1                |         t8 &= 1;
                                             |         if (t8 != 0) {
    0x00402680 beqz t8, 0x402930             |             
    0x00402684 nop                           |             
    0x00402688 addiu v1, fp, 0x68            |             v1 = fp + 0x68;
    0x0040268c addiu v0, fp, 0xa4c           |             v0 = fp + 0xa4c;
    0x00402690 addiu t8, fp, 0x30            |             t8 = fp + 0x30;
    0x00402694 sw zero, 0x10(sp)             |             *(var_10h) = 0;
    0x00402698 sw zero, 0x14(sp)             |             *(var_14h) = 0;
    0x0040269c move a0, v1                   |             a0 = v1;
    0x004026a0 move a1, v0                   |             a1 = v0;
    0x004026a4 addiu a2, zero, 0x200         |             a2 = 0x200;
    0x004026a8 move a3, t8                   |             a3 = t8;
    0x004026ac lw t8, -0x7ef0(gp)            |             t8 = *(gp);
    0x004026b0 move t9, t8                   |             t9 = t8;
    0x004026b4 jalr t9                       |             t9 ();
    0x004026b8 nop                           |             
    0x004026bc lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004026c0 move t8, v0                   |             t8 = v0;
    0x004026c4 sw t8, 0x5c(fp)               |             *(arg_5ch) = t8;
    0x004026c8 lw t8, 0x5c(fp)               |             t8 = *(arg_5ch);
    0x004026cc slt t8, zero, t8              |             t8 = (0 < t8) ? 1 : 0;
    0x004026d0 andi t8, t8, 0xff             |             t8 &= 0xff;
                                             |             if (t8 == 0) {
    0x004026d4 beqz t8, 0x402aa8             |                 goto label_6;
                                             |             }
    0x004026d8 nop                           |             
    0x004026dc addiu t8, fp, 0xa4c           |             t8 = fp + 0xa4c;
    0x004026e0 lw t8, (t8)                   |             t8 = *(t8);
                                             |             if (t8 == 0) {
    0x004026e4 bnez t8, 0x402754             |                 
    0x004026e8 nop                           |                 
    0x004026ec addiu v0, fp, 0xa4c           |                 v0 = fp + 0xa4c;
    0x004026f0 addiu t8, fp, 0xf4            |                 t8 = fp + 0xf4;
    0x004026f4 move a0, v0                   |                 a0 = v0;
    0x004026f8 move a1, t8                   |                 a1 = t8;
    0x004026fc lw t8, -0x7fac(gp)            |                 t8 = sym.unsubscribeSubscription_UnsubscribeSubscription__PullPointSubscriptionInfo_;
    0x00402700 move t9, t8                   |                 t9 = t8;
    0x00402704 jalr t9                       |                 t9 ();
    0x00402708 nop                           |                 
    0x0040270c lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x00402710 lw v0, 0x30(fp)               |                 v0 = *(arg_30h);
    0x00402714 addiu v1, fp, 0x68            |                 v1 = fp + 0x68;
    0x00402718 addiu t8, fp, 0xa4c           |                 t8 = fp + 0xa4c;
    0x0040271c move a0, v1                   |                 a0 = v1;
    0x00402720 move a1, v0                   |                 a1 = v0;
    0x00402724 move a2, t8                   |                 a2 = t8;
    0x00402728 addiu a3, zero, 8             |                 a3 = 8;
    0x0040272c lw t8, -0x7f4c(gp)            |                 t8 = *(gp);
    0x00402730 move t9, t8                   |                 t9 = t8;
    0x00402734 jalr t9                       |                 t9 ();
    0x00402738 nop                           |                 
    0x0040273c lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x00402740 lw t8, -0x7fd8(gp)            |                 t8 = *(gp);
    0x00402744 addiu v0, zero, 1             |                 v0 = 1;
    0x00402748 sb v0, (t8)                   |                 *(t8) = v0;
    0x0040274c b 0x40290c                    |                 goto label_11;
    0x00402750 nop                           |                 
                                             |             }
    0x00402754 addiu t8, fp, 0xa4c           |             t8 = fp + 0xa4c;
    0x00402758 lw v0, (t8)                   |             v0 = *(t8);
    0x0040275c addiu t8, zero, 1             |             t8 = 1;
                                             |             if (v0 == t8) {
    0x00402760 bne v0, t8, 0x4027c4          |                 
    0x00402764 nop                           |                 
    0x00402768 addiu v0, fp, 0xa4c           |                 v0 = fp + 0xa4c;
    0x0040276c addiu t8, fp, 0xf4            |                 t8 = fp + 0xf4;
    0x00402770 move a0, v0                   |                 a0 = v0;
    0x00402774 move a1, t8                   |                 a1 = t8;
    0x00402778 lw t8, -0x7fa8(gp)            |                 t8 = sym.subscribeSubscription_SubscribeSubscription__PullPointSubscriptionInfo_;
    0x0040277c move t9, t8                   |                 t9 = t8;
    0x00402780 jalr t9                       |                 t9 ();
    0x00402784 nop                           |                 
    0x00402788 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x0040278c lw v0, 0x30(fp)               |                 v0 = *(arg_30h);
    0x00402790 addiu v1, fp, 0x68            |                 v1 = fp + 0x68;
    0x00402794 addiu t8, fp, 0xa4c           |                 t8 = fp + 0xa4c;
    0x00402798 move a0, v1                   |                 a0 = v1;
    0x0040279c move a1, v0                   |                 a1 = v0;
    0x004027a0 move a2, t8                   |                 a2 = t8;
    0x004027a4 addiu a3, zero, 0x114         |                 a3 = 0x114;
    0x004027a8 lw t8, -0x7f4c(gp)            |                 t8 = *(gp);
    0x004027ac move t9, t8                   |                 t9 = t8;
    0x004027b0 jalr t9                       |                 t9 ();
    0x004027b4 nop                           |                 
    0x004027b8 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x004027bc b 0x40290c                    |                 goto label_11;
    0x004027c0 nop                           |                 
                                             |             }
    0x004027c4 addiu t8, fp, 0xa4c           |             t8 = fp + 0xa4c;
    0x004027c8 lw v0, (t8)                   |             v0 = *(t8);
    0x004027cc addiu t8, zero, 2             |             t8 = 2;
                                             |             if (v0 == t8) {
    0x004027d0 bne v0, t8, 0x402834          |                 
    0x004027d4 nop                           |                 
    0x004027d8 addiu v0, fp, 0xa4c           |                 v0 = fp + 0xa4c;
    0x004027dc addiu t8, fp, 0xf4            |                 t8 = fp + 0xf4;
    0x004027e0 move a0, v0                   |                 a0 = v0;
    0x004027e4 move a1, t8                   |                 a1 = t8;
    0x004027e8 lw t8, -0x7fa4(gp)            |                 t8 = sym.renewSubscription_RenewSubscription__PullPointSubscriptionInfo_;
    0x004027ec move t9, t8                   |                 t9 = t8;
    0x004027f0 jalr t9                       |                 t9 ();
    0x004027f4 nop                           |                 
    0x004027f8 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x004027fc lw v0, 0x30(fp)               |                 v0 = *(arg_30h);
    0x00402800 addiu v1, fp, 0x68            |                 v1 = fp + 0x68;
    0x00402804 addiu t8, fp, 0xa4c           |                 t8 = fp + 0xa4c;
    0x00402808 move a0, v1                   |                 a0 = v1;
    0x0040280c move a1, v0                   |                 a1 = v0;
    0x00402810 move a2, t8                   |                 a2 = t8;
    0x00402814 addiu a3, zero, 0x14          |                 a3 = 0x14;
    0x00402818 lw t8, -0x7f4c(gp)            |                 t8 = *(gp);
    0x0040281c move t9, t8                   |                 t9 = t8;
    0x00402820 jalr t9                       |                 t9 ();
    0x00402824 nop                           |                 
    0x00402828 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x0040282c b 0x40290c                    |                 goto label_11;
    0x00402830 nop                           |                 
                                             |             }
    0x00402834 addiu t8, fp, 0xa4c           |             t8 = fp + 0xa4c;
    0x00402838 lw v0, (t8)                   |             v0 = *(t8);
    0x0040283c addiu t8, zero, 3             |             t8 = 3;
                                             |             if (v0 == t8) {
    0x00402840 bne v0, t8, 0x4028a4          |                 
    0x00402844 nop                           |                 
    0x00402848 addiu v0, fp, 0xa4c           |                 v0 = fp + 0xa4c;
    0x0040284c addiu t8, fp, 0xf4            |                 t8 = fp + 0xf4;
    0x00402850 move a0, v0                   |                 a0 = v0;
    0x00402854 move a1, t8                   |                 a1 = t8;
    0x00402858 lw t8, -0x7fa0(gp)            |                 t8 = sym.synchronizationSubscription_SynchronizationSubscription__PullPointSubscriptionInfo_;
    0x0040285c move t9, t8                   |                 t9 = t8;
    0x00402860 jalr t9                       |                 t9 ();
    0x00402864 nop                           |                 
    0x00402868 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x0040286c lw v0, 0x30(fp)               |                 v0 = *(arg_30h);
    0x00402870 addiu v1, fp, 0x68            |                 v1 = fp + 0x68;
    0x00402874 addiu t8, fp, 0xa4c           |                 t8 = fp + 0xa4c;
    0x00402878 move a0, v1                   |                 a0 = v1;
    0x0040287c move a1, v0                   |                 a1 = v0;
    0x00402880 move a2, t8                   |                 a2 = t8;
    0x00402884 addiu a3, zero, 8             |                 a3 = 8;
    0x00402888 lw t8, -0x7f4c(gp)            |                 t8 = *(gp);
    0x0040288c move t9, t8                   |                 t9 = t8;
    0x00402890 jalr t9                       |                 t9 ();
    0x00402894 nop                           |                 
    0x00402898 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x0040289c b 0x40290c                    |                 goto label_11;
    0x004028a0 nop                           |                 
                                             |             }
    0x004028a4 addiu t8, fp, 0xa4c           |             t8 = fp + 0xa4c;
    0x004028a8 lw v0, (t8)                   |             v0 = *(t8);
    0x004028ac addiu t8, zero, 4             |             t8 = 4;
                                             |             if (v0 == t8) {
    0x004028b0 bne v0, t8, 0x40290c          |                 
    0x004028b4 nop                           |                 
    0x004028b8 addiu v0, fp, 0xa4c           |                 v0 = fp + 0xa4c;
    0x004028bc addiu t8, fp, 0xf4            |                 t8 = fp + 0xf4;
    0x004028c0 move a0, v0                   |                 a0 = v0;
    0x004028c4 move a1, t8                   |                 a1 = t8;
    0x004028c8 lw t8, -0x7f9c(gp)            |                 t8 = sym.pullMessagesSubscription_PullMessagesSubscription__PullPointSubscriptionInfo_;
    0x004028cc move t9, t8                   |                 t9 = t8;
    0x004028d0 jalr t9                       |                 t9 ();
    0x004028d4 nop                           |                 
    0x004028d8 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
    0x004028dc lw v0, 0x30(fp)               |                 v0 = *(arg_30h);
    0x004028e0 addiu v1, fp, 0x68            |                 v1 = fp + 0x68;
    0x004028e4 addiu t8, fp, 0xa4c           |                 t8 = fp + 0xa4c;
    0x004028e8 move a0, v1                   |                 a0 = v1;
    0x004028ec move a1, v0                   |                 a1 = v0;
    0x004028f0 move a2, t8                   |                 a2 = t8;
    0x004028f4 addiu a3, zero, 0x98          |                 a3 = 0x98;
    0x004028f8 lw t8, -0x7f4c(gp)            |                 t8 = *(gp);
    0x004028fc move t9, t8                   |                 t9 = t8;
    0x00402900 jalr t9                       |                 t9 ();
    0x00402904 nop                           |                 
    0x00402908 lw gp, 0x18(fp)               |                 gp = *(arg_18h);
                                             |             }
                                             | label_11:
    0x0040290c lw t8, 0x30(fp)               |             t8 = *(arg_30h);
    0x00402910 move a0, t8                   |             a0 = t8;
    0x00402914 lw t8, -0x7f1c(gp)            |             t8 = sym.imp.close;
    0x00402918 move t9, t8                   |             t9 = t8;
    0x0040291c jalr t9                       |             t9 ();
    0x00402920 nop                           |             
    0x00402924 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00402928 b 0x402aa8                    |             goto label_6;
    0x0040292c nop                           |             
                                             |         }
    0x00402930 lw v0, 0x48(fp)               |         v0 = *(arg_48h);
    0x00402934 addiu t8, zero, 0x20          |         t8 = 0x20;
    0x00402938 divu zero, v0, t8             |         __asm ("divu zero, v0, t8");
                                             |         if (t8 == 0) {
    0x0040293c bnez t8, 0x402944             |             
    0x00402940 break 7                       |             __asm ("break 7");
                                             |         }
    0x00402944 mfhi t8                       |         __asm ("mfhi t8");
    0x00402948 mflo t8                       |         __asm ("mflo t8");
    0x0040294c sll t8, t8, 2                 |         t8 <<= 2;
    0x00402950 addiu v0, fp, 0xc50           |         v0 = fp + 0xc50;
    0x00402954 addu t8, v0, t8               |         t8 = v0 + t8;
    0x00402958 lw v0, -0xbdc(t8)             |         v0 = *((t8 - 759));
    0x0040295c lw v1, 0x48(fp)               |         v1 = *(arg_48h);
    0x00402960 addiu t8, zero, 0x20          |         t8 = 0x20;
    0x00402964 divu zero, v1, t8             |         __asm ("divu zero, v1, t8");
                                             |         if (t8 == 0) {
    0x00402968 bnez t8, 0x402970             |             
    0x0040296c break 7                       |             __asm ("break 7");
                                             |         }
    0x00402970 mfhi t8                       |         __asm ("mfhi t8");
    0x00402974 srav t8, v0, t8               |         __asm ("srav t8, v0, t8");
    0x00402978 andi t8, t8, 1                |         t8 &= 1;
                                             |         if (t8 == 0) {
    0x0040297c beqz t8, 0x402aa8             |             goto label_6;
                                             |         }
    0x00402980 nop                           |         
    0x00402984 addiu t8, fp, 0x184           |         t8 = fp + 0x184;
    0x00402988 move a0, t8                   |         a0 = t8;
    0x0040298c move a1, zero                 |         a1 = 0;
    0x00402990 addiu a2, zero, 0x408         |         a2 = 0x408;
    0x00402994 lw t8, -0x7f2c(gp)            |         t8 = sym.imp.memset;
    0x00402998 move t9, t8                   |         t9 = t8;
    0x0040299c jalr t9                       |         t9 ();
    0x004029a0 nop                           |         
    0x004029a4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004029a8 lw t8, -0x7fd0(gp)            |         t8 = *(gp);
    0x004029ac lw v0, (t8)                   |         v0 = *(t8);
    0x004029b0 addiu v1, fp, 0x58c           |         v1 = fp + 0x58c;
    0x004029b4 addiu t8, fp, 0x184           |         t8 = fp + 0x184;
    0x004029b8 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x004029bc move a0, v1                   |         a0 = v1;
    0x004029c0 move a1, v0                   |         a1 = v0;
    0x004029c4 move a2, t8                   |         a2 = t8;
    0x004029c8 move a3, zero                 |         a3 = 0;
    0x004029cc lw t8, -0x7ed4(gp)            |         t8 = *(gp);
    0x004029d0 move t9, t8                   |         t9 = t8;
    0x004029d4 jalr t9                       |         t9 ();
    0x004029d8 nop                           |         
    0x004029dc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004029e0 move t8, v0                   |         t8 = v0;
    0x004029e4 slt t8, zero, t8              |         t8 = (0 < t8) ? 1 : 0;
    0x004029e8 andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 != 0) {
    0x004029ec beqz t8, 0x402a90             |             
    0x004029f0 nop                           |             
    0x004029f4 lw v0, 0x184(fp)              |             v0 = *(arg_184h);
    0x004029f8 lw t8, -0x7fd0(gp)            |             t8 = *(gp);
    0x004029fc lw t8, (t8)                   |             t8 = *(t8);
    0x00402a00 and t8, v0, t8                |             t8 = v0 & t8;
                                             |             if (t8 == 0) {
    0x00402a04 beqz t8, 0x402aa8             |                 goto label_6;
                                             |             }
    0x00402a08 nop                           |             
    0x00402a0c move a0, zero                 |             a0 = 0;
    0x00402a10 lw t8, -0x7f10(gp)            |             t8 = sym.imp.time;
    0x00402a14 move t9, t8                   |             t9 = t8;
    0x00402a18 jalr t9                       |             t9 ();
    0x00402a1c nop                           |             
    0x00402a20 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00402a24 lw t8, 0x34(fp)               |             t8 = *(arg_34h);
    0x00402a28 subu t8, v0, t8               |             __asm ("subu t8, v0, t8");
    0x00402a2c slti t8, t8, 6                |             t8 = (t8 < 6) ? 1 : 0;
    0x00402a30 xori t8, t8, 1                |             t8 ^= 1;
    0x00402a34 andi t8, t8, 0xff             |             t8 &= 0xff;
                                             |             if (t8 == 0) {
    0x00402a38 beqz t8, 0x402aa8             |                 goto label_6;
                                             |             }
    0x00402a3c nop                           |             
    0x00402a40 move a0, zero                 |             a0 = 0;
    0x00402a44 lw t8, -0x7f10(gp)            |             t8 = sym.imp.time;
    0x00402a48 move t9, t8                   |             t9 = t8;
    0x00402a4c jalr t9                       |             t9 ();
    0x00402a50 nop                           |             
    0x00402a54 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00402a58 sw v0, 0x34(fp)               |             *(arg_34h) = v0;
    0x00402a5c lw v0, 0x180(fp)              |             v0 = *(arg_180h);
    0x00402a60 lw t8, 0x184(fp)              |             t8 = *(arg_184h);
    0x00402a64 or t8, v0, t8                 |             t8 = v0 | t8;
    0x00402a68 sw t8, 0x180(fp)              |             *(arg_180h) = t8;
    0x00402a6c lw v0, 0xf4(fp)               |             v0 = *(arg_f4h);
    0x00402a70 addiu t8, zero, 1             |             t8 = 1;
                                             |             if (v0 != t8) {
    0x00402a74 bne v0, t8, 0x402aa8          |                 goto label_6;
                                             |             }
    0x00402a78 nop                           |             
    0x00402a7c lw t8, -0x7fdc(gp)            |             t8 = *(gp);
    0x00402a80 addiu v0, zero, 1             |             v0 = 1;
    0x00402a84 sb v0, (t8)                   |             *(t8) = v0;
    0x00402a88 b 0x402aa8                    |             goto label_6;
    0x00402a8c nop                           |             
                                             |         }
    0x00402a90 addiu a0, zero, 1             |         a0 = 1;
    0x00402a94 lw t8, -0x7ed8(gp)            |         t8 = sym.imp.sleep;
    0x00402a98 move t9, t8                   |         t9 = t8;
    0x00402a9c jalr t9                       |         t9 ();
    0x00402aa0 nop                           |         
    0x00402aa4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_6:
    0x00402aa8 lw t8, -0x7fdc(gp)            |     t8 = *(gp);
    0x00402aac lbu t8, (t8)                  |     t8 = *(t8);
    0x00402ab0 xori t8, t8, 1                |     t8 ^= 1;
    0x00402ab4 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00402ab8 bnez t8, 0x402420             |         goto label_0;
                                             |     }
    0x00402abc nop                           |     
                                             | label_8:
    0x00402ac0 lw v0, 0xf4(fp)               |     v0 = *(arg_f4h);
    0x00402ac4 addiu t8, zero, 2             |     t8 = 2;
                                             |     if (v0 != t8) {
    0x00402ac8 beq v0, t8, 0x402adc          |         
    0x00402acc nop                           |         
    0x00402ad0 lw t8, 0xf4(fp)               |         t8 = *(arg_f4h);
                                             |         if (t8 != 0) {
    0x00402ad4 bnez t8, 0x402c4c             |             goto label_5;
                                             |         }
    0x00402ad8 nop                           |         
                                             |     }
    0x00402adc addiu v0, fp, 0xa0c           |     v0 = fp + 0xa0c;
    0x00402ae0 addiu t8, zero, 0x40          |     t8 = 0x40;
    0x00402ae4 move a0, v0                   |     a0 = v0;
    0x00402ae8 move a1, zero                 |     a1 = 0;
    0x00402aec move a2, t8                   |     a2 = t8;
    0x00402af0 lw t8, -0x7f2c(gp)            |     t8 = sym.imp.memset;
    0x00402af4 move t9, t8                   |     t9 = t8;
    0x00402af8 jalr t9                       |     t9 ();
    0x00402afc nop                           |     
    0x00402b00 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402b04 addiu t8, fp, 0xa0c           |     t8 = fp + 0xa0c;
    0x00402b08 lw v0, -0x7fcc(gp)            |     v0 = *(gp);
                                             |     /* str.pullEngine */
    0x00402b0c addiu v0, v0, 0x7ac4          |     v0 += 0x7ac4;
    0x00402b10 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00402b14 lw v0, 0x40(fp)               |     v0 = *(arg_40h);
    0x00402b18 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00402b1c move a0, t8                   |     a0 = t8;
    0x00402b20 addiu a1, zero, 0x40          |     a1 = 0x40;
    0x00402b24 lw t8, -0x7fcc(gp)            |     t8 = *(gp);
                                             |     /* str._s_s_s */
    0x00402b28 addiu a2, t8, 0x7ab4          |     a2 = t8 + 0x7ab4;
    0x00402b2c lw t8, -0x7fcc(gp)            |     t8 = *(gp);
                                             |     /* str._tmp_ */
    0x00402b30 addiu a3, t8, 0x7abc          |     a3 = t8 + 0x7abc;
    0x00402b34 lw t8, -0x7efc(gp)            |     t8 = sym.imp.snprintf
    0x00402b38 move t9, t8                   |     t9 = t8;
    0x00402b3c jalr t9                       |     t9 ();
    0x00402b40 nop                           |     
    0x00402b44 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402b48 addiu t8, fp, 0xa0c           |     t8 = fp + 0xa0c;
    0x00402b4c move a0, t8                   |     a0 = t8;
    0x00402b50 lw t8, -0x7f28(gp)            |     t8 = sym.imp.unlink;
    0x00402b54 move t9, t8                   |     t9 = t8;
    0x00402b58 jalr t9                       |     t9 ();
    0x00402b5c nop                           |     
    0x00402b60 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402b64 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x00402b68 lw t8, -0x7f1c(gp)            |     t8 = sym.imp.close;
    0x00402b6c move t9, t8                   |     t9 = t8;
    0x00402b70 jalr t9                       |     t9 ();
    0x00402b74 nop                           |     
    0x00402b78 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402b7c addiu t8, fp, 0x9cc           |     t8 = fp + 0x9cc;
    0x00402b80 move a0, t8                   |     a0 = t8;
    0x00402b84 lw t8, -0x7f28(gp)            |     t8 = sym.imp.unlink;
    0x00402b88 move t9, t8                   |     t9 = t8;
    0x00402b8c jalr t9                       |     t9 ();
    0x00402b90 nop                           |     
    0x00402b94 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402b98 lw a0, 0x48(fp)               |     a0 = *(arg_48h);
    0x00402b9c lw t8, -0x7f1c(gp)            |     t8 = sym.imp.close;
    0x00402ba0 move t9, t8                   |     t9 = t8;
    0x00402ba4 jalr t9                       |     t9 ();
    0x00402ba8 nop                           |     
    0x00402bac lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402bb0 addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x00402bb4 move a0, t8                   |     a0 = t8;
    0x00402bb8 move a1, zero                 |     a1 = 0;
    0x00402bbc addiu a2, zero, 1             |     a2 = 1;
    0x00402bc0 lw t8, -0x7f2c(gp)            |     t8 = sym.imp.memset;
    0x00402bc4 move t9, t8                   |     t9 = t8;
    0x00402bc8 jalr t9                       |     t9 ();
    0x00402bcc nop                           |     
    0x00402bd0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402bd4 lw t8, 0xf4(fp)               |     t8 = *(arg_f4h);
    0x00402bd8 andi t8, t8, 0xff             |     t8 &= 0xff;
    0x00402bdc sb t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x00402be0 addiu t8, fp, 0x9ac           |     t8 = fp + 0x9ac;
    0x00402be4 lw v0, 0x40(fp)               |     v0 = *(arg_40h);
    0x00402be8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00402bec move a0, t8                   |     a0 = t8;
    0x00402bf0 addiu a1, zero, 0x20          |     a1 = 0x20;
    0x00402bf4 lw t8, -0x7fcc(gp)            |     t8 = *(gp);
                                             |     /* esilref: '&s&s' */
    0x00402bf8 addiu a2, t8, 0x7aac          |     a2 = t8 + 0x7aac;
    0x00402bfc lw t8, -0x7fcc(gp)            |     t8 = *(gp);
                                             |     /* str.PullMessage */
    0x00402c00 addiu a3, t8, 0x7ad0          |     a3 = t8 + 0x7ad0;
    0x00402c04 lw t8, -0x7efc(gp)            |     t8 = sym.imp.snprintf
    0x00402c08 move t9, t8                   |     t9 = t8;
    0x00402c0c jalr t9                       |     t9 ();
    0x00402c10 nop                           |     
    0x00402c14 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00402c18 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
    0x00402c1c lw t8, (t8)                   |     t8 = *(t8);
    0x00402c20 addiu t8, t8, 0x34            |     t8 += 0x34;
    0x00402c24 lw t8, (t8)                   |     t8 = *(t8);
    0x00402c28 addiu v1, fp, 0x9ac           |     v1 = fp + 0x9ac;
    0x00402c2c addiu v0, fp, 0x2c            |     v0 = fp + 0x2c;
    0x00402c30 lw a0, 0x3c(fp)               |     a0 = *(arg_3ch);
    0x00402c34 move a1, v1                   |     a1 = v1;
    0x00402c38 move a2, v0                   |     a2 = v0;
    0x00402c3c move t9, t8                   |     t9 = t8;
    0x00402c40 jalr t9                       |     t9 ();
    0x00402c44 nop                           |     
    0x00402c48 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_5:
    0x00402c4c lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00402c50 lbu t8, (t8)                  |     t8 = *(t8);
    0x00402c54 xori t8, t8, 1                |     t8 ^= 1;
    0x00402c58 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00402c5c bnez t8, 0x402410             |         goto label_1;
                                             |     }
    0x00402c60 nop                           |     
    0x00402c64 move s0, zero                 |     s0 = 0;
                                             | label_4:
    0x00402c68 addiu t8, fp, 0x58c           |     t8 = fp + 0x58c;
    0x00402c6c move a0, t8                   |     a0 = t8;
    0x00402c70 lw t8, -0x7f40(gp)            |     t8 = *(gp);
    0x00402c74 move t9, t8                   |     t9 = t8;
    0x00402c78 jalr t9                       |     t9 ();
    0x00402c7c nop                           |     
    0x00402c80 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_3:
    0x00402c84 addiu t8, fp, 0x68            |     t8 = fp + 0x68;
    0x00402c88 move a0, t8                   |     a0 = t8;
    0x00402c8c lw t8, -0x7f98(gp)            |     t8 = *(gp);
    0x00402c90 move t9, t8                   |     t9 = t8;
    0x00402c94 jalr t9                       |     t9 ();
    0x00402c98 nop                           |     
    0x00402c9c lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_2:
    0x00402ca0 move t8, s0                   |     t8 = s0;
    0x00402ca4 move v0, t8                   |     v0 = t8;
    0x00402ca8 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00402cac lw v1, 0xc4c(fp)              |     v1 = *(arg_c4ch);
    0x00402cb0 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00402cb4 beq v1, t8, 0x402db0          |         
    0x00402cb8 nop                           |         
    0x00402cbc b 0x402da0                    |         goto label_12;
    0x00402cc0 nop                           |         
                                             | label_12:
    0x00402da0 lw t8, -0x7f0c(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00402da4 move t9, t8                   |         t9 = t8;
    0x00402da8 jalr t9                       |         t9 ();
    0x00402dac nop                           |         
                                             |     }
    0x00402db0 move sp, fp                   |     
    0x00402db4 lw ra, 0xc5c(sp)              |     ra = *(var_c5ch);
    0x00402db8 lw fp, 0xc58(sp)              |     fp = *(var_c58h);
    0x00402dbc lw s1, 0xc54(sp)              |     s1 = *(var_c54h);
    0x00402dc0 lw s0, 0xc50(sp)              |     s0 = *(var_c50h);
    0x00402dc4 addiu sp, sp, 0xc60           |     
    0x00402dc8 jr ra                         |     return v1;
    0x00402dcc nop                           |     
                                             | }
    ; assembly                                                                                           | /* r2dec pseudo code output */
                                                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/pullEngine @ 0x401ef8 */
                                                                                                         | #include <stdint.h>
                                                                                                         |  
    ; (fcn) sym.pullMessagesSubscription_PullMessagesSubscription__PullPointSubscriptionInfo_ ()         | void pullMessagesSubscription_PullMessagesSubscription_PullPointSubscriptionInfo_ () {
                                                                                                         |     /* pullMessagesSubscription(PullMessagesSubscription*, PullPointSubscriptionInfo*) */
    0x00401ef8 lui gp, 2                                                                                 |     
    0x00401efc addiu gp, gp, -0xc18                                                                      |     
    0x00401f00 addu gp, gp, t9                                                                           |     gp += t9;
    0x00401f04 addiu sp, sp, -0x30                                                                       |     
    0x00401f08 sw ra, 0x2c(sp)                                                                           |     *(var_2ch) = ra;
    0x00401f0c sw fp, 0x28(sp)                                                                           |     *(var_28h) = fp;
    0x00401f10 move fp, sp                                                                               |     fp = sp;
    0x00401f14 sw gp, 0x10(sp)                                                                           |     *(var_10h) = gp;
    0x00401f18 sw a0, 0x1c(fp)                                                                           |     *(arg_1ch) = a0;
    0x00401f1c sw a1, 0x18(fp)                                                                           |     *(arg_18h) = a1;
    0x00401f20 lw t8, -0x7ecc(gp)                                                                        |     t8 = *((gp - 8115));
    0x00401f24 lw t8, (t8)                                                                               |     t8 = *(t8);
    0x00401f28 sw t8, 0x24(fp)                                                                           |     *(arg_24h) = t8;
    0x00401f2c lw t8, 0x18(fp)                                                                           |     t8 = *(arg_18h);
    0x00401f30 lw v0, (t8)                                                                               |     v0 = *(t8);
    0x00401f34 addiu t8, zero, 1                                                                         |     t8 = 1;
                                                                                                         |     if (v0 == t8) {
    0x00401f38 bne v0, t8, 0x40203c                                                                      |         
    0x00401f3c nop                                                                                       |         
    0x00401f40 lw t8, 0x1c(fp)                                                                           |         t8 = *(arg_1ch);
    0x00401f44 lw v0, (t8)                                                                               |         v0 = *(t8);
    0x00401f48 addiu t8, zero, 4                                                                         |         t8 = 4;
                                                                                                         |         if (v0 != t8) {
    0x00401f4c bne v0, t8, 0x40203c                                                                      |             goto label_0;
                                                                                                         |         }
    0x00401f50 nop                                                                                       |         
    0x00401f54 lw t8, 0x18(fp)                                                                           |         t8 = *(arg_18h);
    0x00401f58 lw v0, (t8)                                                                               |         v0 = *(t8);
    0x00401f5c lw t8, 0x1c(fp)                                                                           |         t8 = *(arg_1ch);
    0x00401f60 sw v0, 4(t8)                                                                              |         *((t8 + 4)) = v0;
    0x00401f64 lw t8, 0x18(fp)                                                                           |         t8 = *(arg_18h);
    0x00401f68 lw t8, 0x8c(t8)                                                                           |         t8 = *((t8 + 35));
                                                                                                         |         if (t8 != 0) {
    0x00401f6c beqz t8, 0x401ff0                                                                         |             
    0x00401f70 nop                                                                                       |             
    0x00401f74 lw t8, 0x1c(fp)                                                                           |             t8 = *(arg_1ch);
    0x00401f78 addiu v0, t8, 0xc                                                                         |             v0 = t8 + 0xc;
    0x00401f7c lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00401f80 addiu t8, t8, 4                                                                           |             t8 += 4;
    0x00401f84 move a0, v0                                                                               |             a0 = v0;
    0x00401f88 addiu a1, zero, 0x80                                                                      |             a1 = 0x80;
    0x00401f8c lw v0, -0x7fcc(gp)                                                                        |             v0 = *(gp);
                                                                                                         |             /* esilref: '&s' */
    0x00401f90 addiu a2, v0, 0x7aa8                                                                      |             a2 = v0 + 0x7aa8;
    0x00401f94 move a3, t8                                                                               |             a3 = t8;
    0x00401f98 lw t8, -0x7efc(gp)                                                                        |             t8 = sym.imp.snprintf
    0x00401f9c move t9, t8                                                                               |             t9 = t8;
    0x00401fa0 jalr t9                                                                                   |             t9 ();
    0x00401fa4 nop                                                                                       |             
    0x00401fa8 lw gp, 0x10(fp)                                                                           |             gp = *(arg_10h);
    0x00401fac lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00401fb0 lbu v0, 0x88(t8)                                                                          |             v0 = *((t8 + 136));
    0x00401fb4 lw t8, 0x1c(fp)                                                                           |             t8 = *(arg_1ch);
    0x00401fb8 sb v0, 0x90(t8)                                                                           |             *((t8 + 144)) = v0;
    0x00401fbc lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00401fc0 lw v0, 0x8c(t8)                                                                           |             v0 = *((t8 + 35));
    0x00401fc4 lw t8, 0x1c(fp)                                                                           |             t8 = *(arg_1ch);
    0x00401fc8 sw v0, 0x94(t8)                                                                           |             *((t8 + 148)) = v0;
    0x00401fcc lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00401fd0 lbu t8, 0x88(t8)                                                                          |             t8 = *((t8 + 136));
                                                                                                         |             if (t8 == 0) {
    0x00401fd4 bnez t8, 0x401fe8                                                                         |                 
    0x00401fd8 nop                                                                                       |                 
    0x00401fdc lw t8, 0x18(fp)                                                                           |                 t8 = *(arg_18h);
    0x00401fe0 addiu v0, zero, 1                                                                         |                 v0 = 1;
    0x00401fe4 sb v0, 0x88(t8)                                                                           |                 *((t8 + 136)) = v0;
                                                                                                         |             }
    0x00401fe8 lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00401fec sw zero, 0x8c(t8)                                                                         |             *((t8 + 140)) = 0;
                                                                                                         |         }
    0x00401ff0 lw t8, 0x1c(fp)                                                                           |         t8 = *(arg_1ch);
    0x00401ff4 lw t8, 8(t8)                                                                              |         t8 = *((t8 + 2));
    0x00401ff8 addiu v0, t8, 0xa                                                                         |         v0 = t8 + 0xa;
    0x00401ffc lw t8, 0x18(fp)                                                                           |         t8 = *(arg_18h);
    0x00402000 lw t8, 0x84(t8)                                                                           |         t8 = *((t8 + 33));
    0x00402004 slt t8, v0, t8                                                                            |         t8 = (v0 < t8) ? 1 : 0;
                                                                                                         |         if (t8 == 0) {
    0x00402008 bnez t8, 0x402024                                                                         |             
    0x0040200c nop                                                                                       |             
    0x00402010 lw t8, 0x1c(fp)                                                                           |             t8 = *(arg_1ch);
    0x00402014 lw t8, 8(t8)                                                                              |             t8 = *((t8 + 2));
    0x00402018 addiu v0, t8, 0xa                                                                         |             v0 = t8 + 0xa;
    0x0040201c lw t8, 0x18(fp)                                                                           |             t8 = *(arg_18h);
    0x00402020 sw v0, 0x84(t8)                                                                           |             *((t8 + 132)) = v0;
                                                                                                         |         }
    0x00402024 lw t8, 0x18(fp)                                                                           |         t8 = *(arg_18h);
    0x00402028 lw v0, 0x84(t8)                                                                           |         v0 = *((t8 + 33));
    0x0040202c lw t8, 0x1c(fp)                                                                           |         t8 = *(arg_1ch);
    0x00402030 sw v0, 0x8c(t8)                                                                           |         *((t8 + 140)) = v0;
    0x00402034 b 0x402048                                                                                |         goto label_1;
    0x00402038 nop                                                                                       |         
                                                                                                         |     }
                                                                                                         | label_0:
    0x0040203c lw t8, 0x1c(fp)                                                                           |     t8 = *(arg_1ch);
    0x00402040 addiu v0, zero, 3                                                                         |     v0 = 3;
    0x00402044 sw v0, 4(t8)                                                                              |     *((t8 + 4)) = v0;
                                                                                                         | label_1:
    0x00402048 lw t8, -0x7ecc(gp)                                                                        |     t8 = *((gp - 8115));
    0x0040204c lw v0, 0x24(fp)                                                                           |     v0 = *(arg_24h);
    0x00402050 lw t8, (t8)                                                                               |     t8 = *(t8);
                                                                                                         |     if (v0 != t8) {
    0x00402054 beq v0, t8, 0x40206c                                                                      |         
    0x00402058 nop                                                                                       |         
    0x0040205c lw t8, -0x7f0c(gp)                                                                        |         t8 = sym.imp.__stack_chk_fail;
    0x00402060 move t9, t8                                                                               |         t9 = t8;
    0x00402064 jalr t9                                                                                   |         t9 ();
    0x00402068 nop                                                                                       |         
                                                                                                         |     }
    0x0040206c move sp, fp                                                                               |     
    0x00402070 lw ra, 0x2c(sp)                                                                           |     ra = *(var_2ch);
    0x00402074 lw fp, 0x28(sp)                                                                           |     fp = *(var_28h);
    0x00402078 addiu sp, sp, 0x30                                                                        |     
    0x0040207c jr ra                                                                                     |     return v0;
    0x00402080 nop                                                                                       |     
                                                                                                         | }
    ; assembly                                                                                       | /* r2dec pseudo code output */
                                                                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/pullEngine @ 0x401b2c */
                                                                                                     | #include <stdint.h>
                                                                                                     |  
    ; (fcn) sym.subscribeSubscription_SubscribeSubscription__PullPointSubscriptionInfo_ ()           | void subscribeSubscription_SubscribeSubscription_PullPointSubscriptionInfo_ () {
                                                                                                     |     /* subscribeSubscription(SubscribeSubscription*, PullPointSubscriptionInfo*) */
    0x00401b2c lui gp, 2                                                                             |     
    0x00401b30 addiu gp, gp, -0x84c                                                                  |     
    0x00401b34 addu gp, gp, t9                                                                       |     gp += t9;
    0x00401b38 addiu sp, sp, -0x30                                                                   |     
    0x00401b3c sw ra, 0x2c(sp)                                                                       |     *(var_2ch) = ra;
    0x00401b40 sw fp, 0x28(sp)                                                                       |     *(var_28h) = fp;
    0x00401b44 move fp, sp                                                                           |     fp = sp;
    0x00401b48 sw gp, 0x10(sp)                                                                       |     *(var_10h) = gp;
    0x00401b4c sw a0, 0x1c(fp)                                                                       |     *(arg_1ch) = a0;
    0x00401b50 sw a1, 0x18(fp)                                                                       |     *(arg_18h) = a1;
    0x00401b54 lw t8, -0x7ecc(gp)                                                                    |     t8 = *((gp - 8115));
    0x00401b58 lw t8, (t8)                                                                           |     t8 = *(t8);
    0x00401b5c sw t8, 0x24(fp)                                                                       |     *(arg_24h) = t8;
    0x00401b60 lw t8, 0x18(fp)                                                                       |     t8 = *(arg_18h);
    0x00401b64 lw v0, (t8)                                                                           |     v0 = *(t8);
    0x00401b68 addiu t8, zero, 1                                                                     |     t8 = 1;
                                                                                                     |     if (v0 != t8) {
    0x00401b6c beq v0, t8, 0x401c44                                                                  |         
    0x00401b70 nop                                                                                   |         
    0x00401b74 lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401b78 lw v0, (t8)                                                                           |         v0 = *(t8);
    0x00401b7c addiu t8, zero, 1                                                                     |         t8 = 1;
                                                                                                     |         if (v0 != t8) {
    0x00401b80 bne v0, t8, 0x401c44                                                                  |             goto label_0;
                                                                                                     |         }
    0x00401b84 nop                                                                                   |         
    0x00401b88 lw t8, 0x18(fp)                                                                       |         t8 = *(arg_18h);
    0x00401b8c addiu v0, zero, 1                                                                     |         v0 = 1;
    0x00401b90 sw v0, (t8)                                                                           |         *(t8) = v0;
    0x00401b94 lw t8, 0x18(fp)                                                                       |         t8 = *(arg_18h);
    0x00401b98 addiu v0, t8, 4                                                                       |         v0 = t8 + 4;
    0x00401b9c lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401ba0 addiu t8, t8, 0x88                                                                    |         t8 += 0x88;
    0x00401ba4 move a0, v0                                                                           |         a0 = v0;
    0x00401ba8 addiu a1, zero, 0x80                                                                  |         a1 = 0x80;
    0x00401bac lw v0, -0x7fcc(gp)                                                                    |         v0 = *(gp);
                                                                                                     |         /* esilref: '&s' */
    0x00401bb0 addiu a2, v0, 0x7aa8                                                                  |         a2 = v0 + 0x7aa8;
    0x00401bb4 move a3, t8                                                                           |         a3 = t8;
    0x00401bb8 lw t8, -0x7efc(gp)                                                                    |         t8 = sym.imp.snprintf
    0x00401bbc move t9, t8                                                                           |         t9 = t8;
    0x00401bc0 jalr t9                                                                               |         t9 ();
    0x00401bc4 nop                                                                                   |         
    0x00401bc8 lw gp, 0x10(fp)                                                                       |         gp = *(arg_10h);
    0x00401bcc lw t8, 0x18(fp)                                                                       |         t8 = *(arg_18h);
    0x00401bd0 sb zero, 0x88(t8)                                                                     |         *((t8 + 136)) = 0;
    0x00401bd4 lw t8, 0x18(fp)                                                                       |         t8 = *(arg_18h);
    0x00401bd8 lw t8, 0x8c(t8)                                                                       |         t8 = *((t8 + 35));
                                                                                                     |         if (t8 > 0) {
    0x00401bdc blez t8, 0x401bf0                                                                     |             
    0x00401be0 nop                                                                                   |             
    0x00401be4 lw t8, -0x7fdc(gp)                                                                    |             t8 = *(gp);
    0x00401be8 addiu v0, zero, 1                                                                     |             v0 = 1;
    0x00401bec sb v0, (t8)                                                                           |             *(t8) = v0;
                                                                                                     |         }
    0x00401bf0 lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401bf4 lw v1, 0x10c(t8)                                                                      |         v1 = *((t8 + 67));
    0x00401bf8 lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401bfc addiu v0, t8, 0x108                                                                   |         v0 = t8 + 0x108;
    0x00401c00 lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401c04 addiu t8, t8, 0x110                                                                   |         t8 += 0x110;
    0x00401c08 move a0, v1                                                                           |         a0 = v1;
    0x00401c0c move a1, v0                                                                           |         a1 = v0;
    0x00401c10 move a2, t8                                                                           |         a2 = t8;
    0x00401c14 lw a3, 0x18(fp)                                                                       |         a3 = *(arg_18h);
    0x00401c18 lw t8, -0x7fc8(gp)                                                                    |         t8 = sym.updateTerminationTime_int__long__long__PullPointSubscriptionInfo_;
    0x00401c1c move t9, t8                                                                           |         t9 = t8;
    0x00401c20 jalr t9                                                                               |         t9 ();
    0x00401c24 nop                                                                                   |         
    0x00401c28 lw gp, 0x10(fp)                                                                       |         gp = *(arg_10h);
    0x00401c2c lw t8, 0x18(fp)                                                                       |         t8 = *(arg_18h);
    0x00401c30 lw v0, (t8)                                                                           |         v0 = *(t8);
    0x00401c34 lw t8, 0x1c(fp)                                                                       |         t8 = *(arg_1ch);
    0x00401c38 sw v0, 4(t8)                                                                          |         *((t8 + 4)) = v0;
    0x00401c3c b 0x401c50                                                                            |         goto label_1;
    0x00401c40 nop                                                                                   |         
                                                                                                     |     }
                                                                                                     | label_0:
    0x00401c44 lw t8, 0x1c(fp)                                                                       |     t8 = *(arg_1ch);
    0x00401c48 addiu v0, zero, 3                                                                     |     v0 = 3;
    0x00401c4c sw v0, 4(t8)                                                                          |     *((t8 + 4)) = v0;
                                                                                                     | label_1:
    0x00401c50 lw t8, -0x7ecc(gp)                                                                    |     t8 = *((gp - 8115));
    0x00401c54 lw v0, 0x24(fp)                                                                       |     v0 = *(arg_24h);
    0x00401c58 lw t8, (t8)                                                                           |     t8 = *(t8);
                                                                                                     |     if (v0 != t8) {
    0x00401c5c beq v0, t8, 0x401c74                                                                  |         
    0x00401c60 nop                                                                                   |         
    0x00401c64 lw t8, -0x7f0c(gp)                                                                    |         t8 = sym.imp.__stack_chk_fail;
    0x00401c68 move t9, t8                                                                           |         t9 = t8;
    0x00401c6c jalr t9                                                                               |         t9 ();
    0x00401c70 nop                                                                                   |         
                                                                                                     |     }
    0x00401c74 move sp, fp                                                                           |     
    0x00401c78 lw ra, 0x2c(sp)                                                                       |     ra = *(var_2ch);
    0x00401c7c lw fp, 0x28(sp)                                                                       |     fp = *(var_28h);
    0x00401c80 addiu sp, sp, 0x30                                                                    |     
    0x00401c84 jr ra                                                                                 |     return v0;
    0x00401c88 nop                                                                                   |     
                                                                                                     | }

[*] Function printf used 6 times pullEngine