[*] Binary protection state of logd

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


[*] Function printf tear down of logd

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x401510 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) aav.0x00401510 ()                | void aav_0x00401510 () {
    0x00401510 lui gp, 2                     |     
    0x00401514 addiu gp, gp, 0xb10           |     
    0x00401518 addu gp, gp, t9               |     gp += t9;
    0x0040151c addiu sp, sp, -0x80           |     
    0x00401520 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x00401524 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x00401528 move fp, sp                   |     fp = sp;
    0x0040152c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00401530 sw a0, 0x1c(fp)               |     *(arg_1ch) = a0;
    0x00401534 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00401538 lw t8, (t8)                   |     t8 = *(t8);
    0x0040153c sw t8, 0x74(fp)               |     *(arg_74h) = t8;
    0x00401540 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00401544 addiu a1, zero, 0x102         |     a1 = 0x102;
    0x00401548 addiu a2, zero, 0x1a4         |     a2 = 0x1a4;
    0x0040154c lw t8, -0x7f48(gp)            |     t8 = sym.imp.open64;
    0x00401550 move t9, t8                   |     t9 = t8;
    0x00401554 jalr t9                       |     t9 ();
    0x00401558 nop                           |     
    0x0040155c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401560 move t8, v0                   |     t8 = v0;
    0x00401564 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x00401568 sb zero, 0x23(fp)             |     *(arg_23h) = 0;
    0x0040156c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
                                             |     if (t8 < 0) {
    0x00401570 bgez t8, 0x40159c             |         
    0x00401574 nop                           |         
    0x00401578 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.open */
    0x0040157c addiu a0, t8, -0x7ed0         |         a0 = t8 + -0x7ed0;
    0x00401580 lw t8, -0x7f38(gp)            |         t8 = sym.imp.perror;
    0x00401584 move t9, t8                   |         t9 = t8;
    0x00401588 jalr t9                       |         t9 ();
    0x0040158c nop                           |         
    0x00401590 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401594 b 0x40174c                    |         goto label_0;
    0x00401598 nop                           |         
                                             |     }
    0x0040159c addiu t8, zero, 1             |     t8 = 1;
    0x004015a0 sh t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x004015a4 move t8, zero                 |     t8 = 0;
    0x004015a8 move t9, zero                 |     t9 = 0;
    0x004015ac sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x004015b0 sw t9, 0x34(fp)               |     *(arg_34h) = t9;
    0x004015b4 sh zero, 0x2a(fp)             |     *(arg_2ah) = 0;
    0x004015b8 move t8, zero                 |     t8 = 0;
    0x004015bc move t9, zero                 |     t9 = 0;
    0x004015c0 sw t8, 0x38(fp)               |     *(arg_38h) = t8;
    0x004015c4 sw t9, 0x3c(fp)               |     *(arg_3ch) = t9;
    0x004015c8 addiu t8, fp, 0x28            |     t8 = fp + 0x28;
    0x004015cc lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x004015d0 addiu a1, zero, 0x22          |     a1 = 0x22;
    0x004015d4 move a2, t8                   |     a2 = t8;
    0x004015d8 lw t8, -0x7ed0(gp)            |     t8 = sym.imp.fcntl64;
    0x004015dc move t9, t8                   |     t9 = t8;
    0x004015e0 jalr t9                       |     t9 ();
    0x004015e4 nop                           |     
    0x004015e8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004015ec move t8, v0                   |     t8 = v0;
    0x004015f0 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x004015f4 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x004015f8 beqz t8, 0x40169c             |         
    0x004015fc nop                           |         
    0x00401600 lw t8, -0x7ec8(gp)            |         t8 = sym.imp.__errno_location;
    0x00401604 move t9, t8                   |         t9 = t8;
    0x00401608 jalr t9                       |         t9 ();
    0x0040160c nop                           |         
    0x00401610 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401614 move t8, v0                   |         t8 = v0;
    0x00401618 lw v0, (t8)                   |         v0 = *(t8);
    0x0040161c addiu t8, zero, 0xd           |         t8 = 0xd;
                                             |         if (v0 != t8) {
    0x00401620 beq v0, t8, 0x401650          |             
    0x00401624 nop                           |             
    0x00401628 lw t8, -0x7ec8(gp)            |             t8 = sym.imp.__errno_location;
    0x0040162c move t9, t8                   |             t9 = t8;
    0x00401630 jalr t9                       |             t9 ();
    0x00401634 nop                           |             
    0x00401638 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x0040163c move t8, v0                   |             t8 = v0;
    0x00401640 lw v0, (t8)                   |             v0 = *(t8);
    0x00401644 addiu t8, zero, 0xb           |             t8 = 0xb;
                                             |             if (v0 != t8) {
    0x00401648 bne v0, t8, 0x401674          |                 goto label_1;
                                             |             }
    0x0040164c nop                           |             
                                             |         }
    0x00401650 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.Program_already_exists. */
    0x00401654 addiu a0, t8, -0x7ec8         |         a0 = t8 + -0x7ec8;
    0x00401658 lw t8, -0x7f5c(gp)            |         t8 = sym.imp.puts;
    0x0040165c move t9, t8                   |         t9 = t8;
    0x00401660 jalr t9                       |         t9 ();
    0x00401664 nop                           |         
    0x00401668 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040166c b 0x40174c                    |         goto label_0;
    0x00401670 nop                           |         
                                             | label_1:
    0x00401674 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.Unable_to_lock__s_n */
    0x00401678 addiu a0, t8, -0x7eb0         |         a0 = t8 + -0x7eb0;
    0x0040167c lw a1, 0x1c(fp)               |         a1 = *(arg_1ch);
    0x00401680 lw t8, -0x7f58(gp)            |         t8 = sym.imp.printf
    0x00401684 move t9, t8                   |         t9 = t8;
    0x00401688 jalr t9                       |         t9 ();
    0x0040168c nop                           |         
    0x00401690 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401694 b 0x40174c                    |         goto label_0;
    0x00401698 nop                           |         
                                             |     }
    0x0040169c lw t8, -0x7f00(gp)            |     t8 = sym.imp.getpid;
    0x004016a0 move t9, t8                   |     t9 = t8;
    0x004016a4 jalr t9                       |     t9 ();
    0x004016a8 nop                           |     
    0x004016ac lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004016b0 move t8, v0                   |     t8 = v0;
    0x004016b4 addiu v0, fp, 0x4c            |     v0 = fp + 0x4c;
    0x004016b8 move a0, v0                   |     a0 = v0;
    0x004016bc addiu a1, zero, 0x28          |     a1 = 0x28;
    0x004016c0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     /* str._ld_n */
    0x004016c4 addiu a2, v0, -0x7e9c         |     a2 = v0 + -0x7e9c;
    0x004016c8 move a3, t8                   |     a3 = t8;
    0x004016cc lw t8, -0x7ef0(gp)            |     t8 = sym.imp.snprintf
    0x004016d0 move t9, t8                   |     t9 = t8;
    0x004016d4 jalr t9                       |     t9 ();
    0x004016d8 nop                           |     
    0x004016dc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004016e0 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x004016e4 move a2, zero                 |     a2 = 0;
    0x004016e8 move a3, zero                 |     a3 = 0;
    0x004016ec lw t8, -0x7f64(gp)            |     t8 = sym.imp.ftruncate64;
    0x004016f0 move t9, t8                   |     t9 = t8;
    0x004016f4 jalr t9                       |     t9 ();
    0x004016f8 nop                           |     
    0x004016fc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401700 addiu t8, fp, 0x4c            |     t8 = fp + 0x4c;
    0x00401704 move a0, t8                   |     a0 = t8;
    0x00401708 lw t8, -0x7ee8(gp)            |     t8 = sym.imp.strlen;
    0x0040170c move t9, t8                   |     t9 = t8;
    0x00401710 jalr t9                       |     t9 ();
    0x00401714 nop                           |     
    0x00401718 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040171c move t8, v0                   |     t8 = v0;
    0x00401720 addiu v0, fp, 0x4c            |     v0 = fp + 0x4c;
    0x00401724 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00401728 move a1, v0                   |     a1 = v0;
    0x0040172c move a2, t8                   |     a2 = t8;
    0x00401730 lw t8, -0x7f18(gp)            |     t8 = sym.imp.write;
    0x00401734 move t9, t8                   |     t9 = t8;
    0x00401738 jalr t9                       |     t9 ();
    0x0040173c nop                           |     
    0x00401740 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401744 addiu t8, zero, 1             |     t8 = 1;
    0x00401748 sb t8, 0x23(fp)               |     *(arg_23h) = t8;
                                             | label_0:
    0x0040174c lbu t8, 0x23(fp)              |     t8 = *(arg_23h);
    0x00401750 move v0, t8                   |     v0 = t8;
    0x00401754 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00401758 lw v1, 0x74(fp)               |     v1 = *(arg_74h);
    0x0040175c lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00401760 beq v1, t8, 0x401778          |         
    0x00401764 nop                           |         
    0x00401768 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040176c move t9, t8                   |         t9 = t8;
    0x00401770 jalr t9                       |         t9 ();
    0x00401774 nop                           |         
                                             |     }
    0x00401778 move sp, fp                   |     
    0x0040177c lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x00401780 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x00401784 addiu sp, sp, 0x80            |     
    0x00401788 jr ra                         |     return v1;
    0x0040178c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x4018fc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x004018fc lui gp, 2                     |     
    0x00401900 addiu gp, gp, 0x724           |     
    0x00401904 addu gp, gp, t9               |     gp += t9;
    0x00401908 addiu sp, sp, -0x188          |     
    0x0040190c sw ra, 0x184(sp)              |     *(var_184h) = ra;
    0x00401910 sw fp, 0x180(sp)              |     *(var_180h) = fp;
    0x00401914 sw s0, 0x17c(sp)              |     *(var_17ch) = s0;
    0x00401918 move fp, sp                   |     fp = sp;
    0x0040191c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00401920 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00401924 lw t8, (t8)                   |     t8 = *(t8);
    0x00401928 sw t8, 0x174(fp)              |     *(arg_174h) = t8;
    0x0040192c addiu t8, zero, 1             |     t8 = 1;
    0x00401930 sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x00401934 addiu a0, zero, 1             |     a0 = 1;
    0x00401938 addiu a1, zero, 1             |     a1 = 1;
    0x0040193c lw t8, -0x7ed4(gp)            |     t8 = sym.imp.daemon;
    0x00401940 move t9, t8                   |     t9 = t8;
    0x00401944 jalr t9                       |     t9 ();
    0x00401948 nop                           |     
    0x0040194c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401950 move t8, v0                   |     t8 = v0;
    0x00401954 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x00401958 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x0040195c beqz t8, 0x401988             |         
    0x00401960 nop                           |         
    0x00401964 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.daemon */
    0x00401968 addiu a0, t8, -0x7e38         |         a0 = t8 + -0x7e38;
    0x0040196c lw t8, -0x7f38(gp)            |         t8 = sym.imp.perror;
    0x00401970 move t9, t8                   |         t9 = t8;
    0x00401974 jalr t9                       |         t9 ();
    0x00401978 nop                           |         
    0x0040197c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401980 b 0x401fac                    |         goto label_0;
    0x00401984 nop                           |         
                                             |     }
    0x00401988 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x0040198c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     /* aav.0x00401790 */
    0x00401990 addiu a1, t8, 0x1790          |     a1 = t8 + 0x1790;
    0x00401994 lw t8, -0x7f68(gp)            |     t8 = sym.imp.signal;
    0x00401998 move t9, t8                   |     t9 = t8;
    0x0040199c jalr t9                       |     t9 ();
    0x004019a0 nop                           |     
    0x004019a4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004019a8 addiu t8, zero, -1            |     t8 = -1;
                                             |     if (v0 != t8) {
    0x004019ac beq v0, t8, 0x401a38          |         
    0x004019b0 nop                           |         
    0x004019b4 addiu a0, zero, 2             |         a0 = 2;
    0x004019b8 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         /* aav.0x00401790 */
    0x004019bc addiu a1, t8, 0x1790          |         a1 = t8 + 0x1790;
    0x004019c0 lw t8, -0x7f68(gp)            |         t8 = sym.imp.signal;
    0x004019c4 move t9, t8                   |         t9 = t8;
    0x004019c8 jalr t9                       |         t9 ();
    0x004019cc nop                           |         
    0x004019d0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004019d4 addiu t8, zero, -1            |         t8 = -1;
                                             |         if (v0 == t8) {
    0x004019d8 beq v0, t8, 0x401a38          |             goto label_1;
                                             |         }
    0x004019dc nop                           |         
    0x004019e0 addiu a0, zero, 0xd           |         a0 = 0xd;
    0x004019e4 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         /* aav.0x00401790 */
    0x004019e8 addiu a1, t8, 0x1790          |         a1 = t8 + 0x1790;
    0x004019ec lw t8, -0x7f68(gp)            |         t8 = sym.imp.signal;
    0x004019f0 move t9, t8                   |         t9 = t8;
    0x004019f4 jalr t9                       |         t9 ();
    0x004019f8 nop                           |         
    0x004019fc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401a00 addiu t8, zero, -1            |         t8 = -1;
                                             |         if (v0 == t8) {
    0x00401a04 beq v0, t8, 0x401a38          |             goto label_1;
                                             |         }
    0x00401a08 nop                           |         
    0x00401a0c addiu a0, zero, 0x10          |         a0 = 0x10;
    0x00401a10 lw t8, -0x7fd4(gp)            |         t8 = *(gp);
                                             |         /* aav.0x00401790 */
    0x00401a14 addiu a1, t8, 0x1790          |         a1 = t8 + 0x1790;
    0x00401a18 lw t8, -0x7f68(gp)            |         t8 = sym.imp.signal;
    0x00401a1c move t9, t8                   |         t9 = t8;
    0x00401a20 jalr t9                       |         t9 ();
    0x00401a24 nop                           |         
    0x00401a28 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401a2c addiu t8, zero, -1            |         t8 = -1;
                                             |         if (v0 != t8) {
    0x00401a30 bne v0, t8, 0x401a44          |             goto label_2;
                                             |         }
    0x00401a34 nop                           |         
                                             |     }
                                             | label_1:
    0x00401a38 addiu t8, zero, 1             |     t8 = 1;
    0x00401a3c b 0x401a48                    |     goto label_3;
    0x00401a40 nop                           |     
                                             | label_2:
    0x00401a44 move t8, zero                 |     t8 = 0;
                                             |     if (t8 != 0) {
                                             | label_3:
    0x00401a48 beqz t8, 0x401a74             |         
    0x00401a4c nop                           |         
    0x00401a50 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.signal */
    0x00401a54 addiu a0, t8, -0x7e30         |         a0 = t8 + -0x7e30;
    0x00401a58 lw t8, -0x7f38(gp)            |         t8 = sym.imp.perror;
    0x00401a5c move t9, t8                   |         t9 = t8;
    0x00401a60 jalr t9                       |         t9 ();
    0x00401a64 nop                           |         
    0x00401a68 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401a6c b 0x401fac                    |         goto label_0;
    0x00401a70 nop                           |         
                                             |     }
    0x00401a74 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._var_run_logd.pid */
    0x00401a78 addiu a0, t8, -0x7e28         |     a0 = t8 + -0x7e28;
    0x00401a7c lw t8, -0x7fd4(gp)            |     t8 = *(gp);
                                             |     /* aav.0x00401510 */
    0x00401a80 addiu t8, t8, 0x1510          |     t8 += 0x1510;
    0x00401a84 move t9, t8                   |     t9 = t8;
    0x00401a88 jalr t9                       |     t9 ();
    0x00401a8c nop                           |     
    0x00401a90 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401a94 move t8, v0                   |     t8 = v0;
                                             |     if (t8 == 0) {
    0x00401a98 beqz t8, 0x401fac             |         goto label_0;
                                             |     }
    0x00401a9c nop                           |     
    0x00401aa0 addiu t8, fp, 0x30            |     t8 = fp + 0x30;
    0x00401aa4 move a0, t8                   |     a0 = t8;
    0x00401aa8 lw t8, -0x7fd0(gp)            |     t8 = *(gp);
    0x00401aac move t9, t8                   |     t9 = t8;
    0x00401ab0 jalr t9                       |     t9 ();
    0x00401ab4 nop                           |     
    0x00401ab8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401abc addiu t8, fp, 0x3c            |     t8 = fp + 0x3c;
    0x00401ac0 move a0, t8                   |     a0 = t8;
    0x00401ac4 lw t8, -0x7fcc(gp)            |     t8 = *(gp);
    0x00401ac8 move t9, t8                   |     t9 = t8;
    0x00401acc jalr t9                       |     t9 ();
    0x00401ad0 nop                           |     
    0x00401ad4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401ad8 addiu t8, fp, 0x3c            |     t8 = fp + 0x3c;
    0x00401adc move a0, t8                   |     a0 = t8;
    0x00401ae0 lw t8, -0x7fc8(gp)            |     t8 = *(gp);
    0x00401ae4 move t9, t8                   |     t9 = t8;
    0x00401ae8 jalr t9                       |     t9 ();
    0x00401aec nop                           |     
    0x00401af0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401af4 move t8, v0                   |     t8 = v0;
                                             |     if (t8 != 0) {
    0x00401af8 beqz t8, 0x401b3c             |         
    0x00401afc nop                           |         
    0x00401b00 addiu t8, fp, 0x30            |         t8 = fp + 0x30;
    0x00401b04 move a0, t8                   |         a0 = t8;
    0x00401b08 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str._var_tmp_logd */
    0x00401b0c addiu a1, t8, -0x7e14         |         a1 = t8 + -0x7e14;
    0x00401b10 lw t8, -0x7fc4(gp)            |         t8 = *(gp);
    0x00401b14 move t9, t8                   |         t9 = t8;
    0x00401b18 jalr t9                       |         t9 ();
    0x00401b1c nop                           |         
    0x00401b20 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401b24 move t8, v0                   |         t8 = v0;
                                             |         if (t8 == 0) {
    0x00401b28 beqz t8, 0x401b3c             |             goto label_4;
                                             |         }
    0x00401b2c nop                           |         
    0x00401b30 addiu t8, zero, 1             |         t8 = 1;
    0x00401b34 b 0x401b40                    |         goto label_5;
    0x00401b38 nop                           |         
                                             |     }
                                             | label_4:
    0x00401b3c move t8, zero                 |     t8 = 0;
                                             |     if (t8 == 0) {
                                             | label_5:
    0x00401b40 beqz t8, 0x401f70             |         goto label_6;
                                             |     }
    0x00401b44 nop                           |     
    0x00401b48 b 0x401f58                    |     goto label_7;
    0x00401b4c nop                           |     
                                             |     do {
    0x00401b50 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00401b54 lbu t8, -0x5aa3(t8)           |         t8 = *((t8 - 23203));
                                             |         if (t8 != 0) {
    0x00401b58 beqz t8, 0x401b7c             |             
    0x00401b5c nop                           |             
    0x00401b60 lw t8, -0x7ebc(gp)            |             t8 = sym.imp.apply_timezone__;
    0x00401b64 move t9, t8                   |             t9 = t8;
    0x00401b68 jalr t9                       |             t9 ();
    0x00401b6c nop                           |             
    0x00401b70 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00401b74 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
    0x00401b78 sb zero, -0x5aa3(t8)          |             *((t8 - 23203)) = 0;
                                             |         }
    0x00401b7c addiu v1, fp, 0x30            |         v1 = fp + 0x30;
    0x00401b80 addiu v0, fp, 0x64            |         v0 = fp + 0x64;
    0x00401b84 addiu t8, fp, 0x1c            |         t8 = fp + 0x1c;
    0x00401b88 move a0, v1                   |         a0 = v1;
    0x00401b8c move a1, v0                   |         a1 = v0;
    0x00401b90 addiu a2, zero, 0x84          |         a2 = 0x84;
    0x00401b94 move a3, t8                   |         a3 = t8;
    0x00401b98 lw t8, -0x7f0c(gp)            |         t8 = *(gp);
    0x00401b9c move t9, t8                   |         t9 = t8;
    0x00401ba0 jalr t9                       |         t9 ();
    0x00401ba4 nop                           |         
    0x00401ba8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00401bac move t8, v0                   |         t8 = v0;
                                             |         if (t8 != 0) {
    0x00401bb0 beqz t8, 0x401f58             |             
    0x00401bb4 nop                           |             
    0x00401bb8 lw v0, 0x64(fp)               |             v0 = *(arg_64h);
    0x00401bbc addiu t8, zero, 0x190         |             t8 = 0x190;
                                             |             if (v0 == t8) {
    0x00401bc0 bne v0, t8, 0x401c30          |                 
    0x00401bc4 nop                           |                 
    0x00401bc8 addiu v0, fp, 0x3c            |                 v0 = fp + 0x3c;
    0x00401bcc addiu t8, fp, 0x64            |                 t8 = fp + 0x64;
    0x00401bd0 addiu t8, t8, 4               |                 t8 += 4;
    0x00401bd4 move a0, v0                   |                 a0 = v0;
    0x00401bd8 move a1, t8                   |                 a1 = t8;
    0x00401bdc lw t8, -0x7fc0(gp)            |                 t8 = *(gp);
    0x00401be0 move t9, t8                   |                 t9 = t8;
    0x00401be4 jalr t9                       |                 t9 ();
    0x00401be8 nop                           |                 
    0x00401bec lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401bf0 move t8, v0                   |                 t8 = v0;
    0x00401bf4 sw t8, 0xe8(fp)               |                 *(arg_e8h) = t8;
    0x00401bf8 lw v0, 0x1c(fp)               |                 v0 = *(arg_1ch);
    0x00401bfc addiu v1, fp, 0x30            |                 v1 = fp + 0x30;
    0x00401c00 addiu t8, fp, 0xe8            |                 t8 = fp + 0xe8;
    0x00401c04 move a0, v1                   |                 a0 = v1;
    0x00401c08 move a1, v0                   |                 a1 = v0;
    0x00401c0c move a2, t8                   |                 a2 = t8;
    0x00401c10 addiu a3, zero, 0x8c          |                 a3 = 0x8c;
    0x00401c14 lw t8, -0x7f60(gp)            |                 t8 = *(gp);
    0x00401c18 move t9, t8                   |                 t9 = t8;
    0x00401c1c jalr t9                       |                 t9 ();
    0x00401c20 nop                           |                 
    0x00401c24 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401c28 b 0x401f58                    |                 goto label_7;
    0x00401c2c nop                           |                 
                                             |             }
    0x00401c30 lw v0, 0x64(fp)               |             v0 = *(arg_64h);
    0x00401c34 addiu t8, zero, 0x191         |             t8 = 0x191;
                                             |             if (v0 == t8) {
    0x00401c38 bne v0, t8, 0x401c9c          |                 
    0x00401c3c nop                           |                 
    0x00401c40 addiu t8, fp, 0x3c            |                 t8 = fp + 0x3c;
    0x00401c44 move a0, t8                   |                 a0 = t8;
    0x00401c48 lw t8, -0x7fbc(gp)            |                 t8 = *(gp);
    0x00401c4c move t9, t8                   |                 t9 = t8;
    0x00401c50 jalr t9                       |                 t9 ();
    0x00401c54 nop                           |                 
    0x00401c58 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401c5c move t8, v0                   |                 t8 = v0;
    0x00401c60 sw t8, 0xe8(fp)               |                 *(arg_e8h) = t8;
    0x00401c64 lw v0, 0x1c(fp)               |                 v0 = *(arg_1ch);
    0x00401c68 addiu v1, fp, 0x30            |                 v1 = fp + 0x30;
    0x00401c6c addiu t8, fp, 0xe8            |                 t8 = fp + 0xe8;
    0x00401c70 move a0, v1                   |                 a0 = v1;
    0x00401c74 move a1, v0                   |                 a1 = v0;
    0x00401c78 move a2, t8                   |                 a2 = t8;
    0x00401c7c addiu a3, zero, 0x8c          |                 a3 = 0x8c;
    0x00401c80 lw t8, -0x7f60(gp)            |                 t8 = *(gp);
    0x00401c84 move t9, t8                   |                 t9 = t8;
    0x00401c88 jalr t9                       |                 t9 ();
    0x00401c8c nop                           |                 
    0x00401c90 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401c94 b 0x401f58                    |                 goto label_7;
    0x00401c98 nop                           |                 
                                             |             }
    0x00401c9c lw v0, 0x64(fp)               |             v0 = *(arg_64h);
    0x00401ca0 addiu t8, zero, 0x192         |             t8 = 0x192;
                                             |             if (v0 == t8) {
    0x00401ca4 bne v0, t8, 0x401e54          |                 
    0x00401ca8 nop                           |                 
    0x00401cac addiu t8, fp, 0x3c            |                 t8 = fp + 0x3c;
    0x00401cb0 move a0, t8                   |                 a0 = t8;
    0x00401cb4 move a1, zero                 |                 a1 = 0;
    0x00401cb8 lw t8, -0x7fb8(gp)            |                 t8 = *(gp);
    0x00401cbc move t9, t8                   |                 t9 = t8;
    0x00401cc0 jalr t9                       |                 t9 ();
    0x00401cc4 nop                           |                 
    0x00401cc8 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401ccc move t8, v0                   |                 t8 = v0;
    0x00401cd0 sw t8, 0x24(fp)               |                 *(arg_24h) = t8;
    0x00401cd4 lw t8, 0x24(fp)               |                 t8 = *(arg_24h);
                                             |                 if (t8 == 0) {
    0x00401cd8 bnez t8, 0x401d1c             |                     
    0x00401cdc nop                           |                     
    0x00401ce0 sw zero, 0xe8(fp)             |                     *(arg_e8h) = 0;
    0x00401ce4 lw v0, 0x1c(fp)               |                     v0 = *(arg_1ch);
    0x00401ce8 addiu v1, fp, 0x30            |                     v1 = fp + 0x30;
    0x00401cec addiu t8, fp, 0xe8            |                     t8 = fp + 0xe8;
    0x00401cf0 move a0, v1                   |                     a0 = v1;
    0x00401cf4 move a1, v0                   |                     a1 = v0;
    0x00401cf8 move a2, t8                   |                     a2 = t8;
    0x00401cfc addiu a3, zero, 4             |                     a3 = 4;
    0x00401d00 lw t8, -0x7f60(gp)            |                     t8 = *(gp);
    0x00401d04 move t9, t8                   |                     t9 = t8;
    0x00401d08 jalr t9                       |                     t9 ();
    0x00401d0c nop                           |                     
    0x00401d10 lw gp, 0x10(fp)               |                     gp = *(arg_10h);
    0x00401d14 b 0x401f58                    |                     goto label_7;
    0x00401d18 nop                           |                     
                                             |                 }
    0x00401d1c lw t8, 0x24(fp)               |                 t8 = *(arg_24h);
    0x00401d20 addiu t8, t8, 4               |                 t8 += 4;
    0x00401d24 move a0, t8                   |                 a0 = t8;
    0x00401d28 lw t8, -0x7f30(gp)            |                 t8 = sym.imp.operator_new___unsigned_int_;
    0x00401d2c move t9, t8                   |                 t9 = t8;
    0x00401d30 jalr t9                       |                 t9 ();
    0x00401d34 nop                           |                 
    0x00401d38 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401d3c move t8, v0                   |                 t8 = v0;
    0x00401d40 sw t8, 0x28(fp)               |                 *(arg_28h) = t8;
    0x00401d44 lw t8, 0x28(fp)               |                 t8 = *(arg_28h);
                                             |                 if (t8 == 0) {
    0x00401d48 bnez t8, 0x401d94             |                     
    0x00401d4c nop                           |                     
    0x00401d50 lw t8, -0x7f14(gp)            |                     t8 = *((gp - 8133));
    0x00401d54 lw t8, (t8)                   |                     t8 = *(t8);
    0x00401d58 lw v0, -0x7fdc(gp)            |                     v0 = *((gp - 8183));
                                             |                     /* esilref: 'buffer is NULL, memory low
' */
    0x00401d5c addiu a0, v0, -0x7e04         |                     a0 = v0 + -0x7e04;
    0x00401d60 addiu a1, zero, 1             |                     a1 = 1;
    0x00401d64 addiu a2, zero, 0x1b          |                     a2 = 0x1b;
    0x00401d68 move a3, t8                   |                     a3 = t8;
    0x00401d6c lw t8, -0x7ed8(gp)            |                     t8 = sym.imp.fwrite;
    0x00401d70 move t9, t8                   |                     t9 = t8;
    0x00401d74 jalr t9                       |                     t9 ();
    0x00401d78 nop                           |                     
    0x00401d7c lw gp, 0x10(fp)               |                     gp = *(arg_10h);
    0x00401d80 addiu a0, zero, 1             |                     a0 = 1;
    0x00401d84 lw t8, -0x7f44(gp)            |                     t8 = sym.imp.exit;
    0x00401d88 move t9, t8                   |                     t9 = t8;
    0x00401d8c jalr t9                       |                     t9 ();
    0x00401d90 nop                           |                     
                                             |                 }
    0x00401d94 lw t8, 0x28(fp)               |                 t8 = *(arg_28h);
    0x00401d98 sw t8, 0x2c(fp)               |                 *(arg_2ch) = t8;
    0x00401d9c lw t8, 0x2c(fp)               |                 t8 = *(arg_2ch);
    0x00401da0 addiu t8, t8, 4               |                 t8 += 4;
    0x00401da4 addiu v0, fp, 0x3c            |                 v0 = fp + 0x3c;
    0x00401da8 move a0, v0                   |                 a0 = v0;
    0x00401dac move a1, t8                   |                 a1 = t8;
    0x00401db0 lw t8, -0x7fb8(gp)            |                 t8 = *(gp);
    0x00401db4 move t9, t8                   |                 t9 = t8;
    0x00401db8 jalr t9                       |                 t9 ();
    0x00401dbc nop                           |                 
    0x00401dc0 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401dc4 lw t8, 0x2c(fp)               |                 t8 = *(arg_2ch);
    0x00401dc8 sw v0, (t8)                   |                 *(t8) = v0;
    0x00401dcc lw t8, 0x24(fp)               |                 t8 = *(arg_24h);
    0x00401dd0 addiu t8, t8, 4               |                 t8 += 4;
    0x00401dd4 lw v0, -0x7fdc(gp)            |                 v0 = *((gp - 8183));
                                             |                 /* str.send_size__u_n */
    0x00401dd8 addiu a0, v0, -0x7de8         |                 a0 = v0 + -0x7de8;
    0x00401ddc move a1, t8                   |                 a1 = t8;
    0x00401de0 lw t8, -0x7f58(gp)            |                 t8 = sym.imp.printf
    0x00401de4 move t9, t8                   |                 t9 = t8;
    0x00401de8 jalr t9                       |                 t9 ();
    0x00401dec nop                           |                 
    0x00401df0 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401df4 lw v0, 0x1c(fp)               |                 v0 = *(arg_1ch);
    0x00401df8 lw t8, 0x24(fp)               |                 t8 = *(arg_24h);
    0x00401dfc addiu t8, t8, 4               |                 t8 += 4;
    0x00401e00 addiu v1, fp, 0x30            |                 v1 = fp + 0x30;
    0x00401e04 move a0, v1                   |                 a0 = v1;
    0x00401e08 move a1, v0                   |                 a1 = v0;
    0x00401e0c lw a2, 0x2c(fp)               |                 a2 = *(arg_2ch);
    0x00401e10 move a3, t8                   |                 a3 = t8;
    0x00401e14 lw t8, -0x7f60(gp)            |                 t8 = *(gp);
    0x00401e18 move t9, t8                   |                 t9 = t8;
    0x00401e1c jalr t9                       |                 t9 ();
    0x00401e20 nop                           |                 
    0x00401e24 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401e28 lw t8, 0x28(fp)               |                 t8 = *(arg_28h);
                                             |                 if (t8 != 0) {
    0x00401e2c beqz t8, 0x401e4c             |                     
    0x00401e30 nop                           |                     
    0x00401e34 lw a0, 0x28(fp)               |                     a0 = *(arg_28h);
    0x00401e38 lw t8, -0x7f40(gp)            |                     t8 = sym.imp.operator_delete___void_;
    0x00401e3c move t9, t8                   |                     t9 = t8;
    0x00401e40 jalr t9                       |                     t9 ();
    0x00401e44 nop                           |                     
    0x00401e48 lw gp, 0x10(fp)               |                     gp = *(arg_10h);
                                             |                 }
    0x00401e4c b 0x401f58                    |                 goto label_7;
    0x00401e50 nop                           |                 
                                             |             }
    0x00401e54 lw v0, 0x64(fp)               |             v0 = *(arg_64h);
    0x00401e58 addiu t8, zero, 0x193         |             t8 = 0x193;
                                             |             if (v0 == t8) {
    0x00401e5c bne v0, t8, 0x401ebc          |                 
    0x00401e60 nop                           |                 
    0x00401e64 addiu t8, fp, 0x3c            |                 t8 = fp + 0x3c;
    0x00401e68 move a0, t8                   |                 a0 = t8;
    0x00401e6c lw t8, -0x7fb4(gp)            |                 t8 = *(gp);
    0x00401e70 move t9, t8                   |                 t9 = t8;
    0x00401e74 jalr t9                       |                 t9 ();
    0x00401e78 nop                           |                 
    0x00401e7c lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401e80 sw zero, 0xe8(fp)             |                 *(arg_e8h) = 0;
    0x00401e84 lw v0, 0x1c(fp)               |                 v0 = *(arg_1ch);
    0x00401e88 addiu v1, fp, 0x30            |                 v1 = fp + 0x30;
    0x00401e8c addiu t8, fp, 0xe8            |                 t8 = fp + 0xe8;
    0x00401e90 move a0, v1                   |                 a0 = v1;
    0x00401e94 move a1, v0                   |                 a1 = v0;
    0x00401e98 move a2, t8                   |                 a2 = t8;
    0x00401e9c addiu a3, zero, 0x8c          |                 a3 = 0x8c;
    0x00401ea0 lw t8, -0x7f60(gp)            |                 t8 = *(gp);
    0x00401ea4 move t9, t8                   |                 t9 = t8;
    0x00401ea8 jalr t9                       |                 t9 ();
    0x00401eac nop                           |                 
    0x00401eb0 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401eb4 b 0x401f58                    |                 goto label_7;
    0x00401eb8 nop                           |                 
                                             |             }
    0x00401ebc lw v0, 0x64(fp)               |             v0 = *(arg_64h);
    0x00401ec0 addiu t8, zero, 0x194         |             t8 = 0x194;
                                             |             if (v0 == t8) {
    0x00401ec4 bne v0, t8, 0x401f2c          |                 
    0x00401ec8 nop                           |                 
    0x00401ecc addiu t8, fp, 0x3c            |                 t8 = fp + 0x3c;
    0x00401ed0 move a0, t8                   |                 a0 = t8;
    0x00401ed4 move a1, zero                 |                 a1 = 0;
    0x00401ed8 lw t8, -0x7fb8(gp)            |                 t8 = *(gp);
    0x00401edc move t9, t8                   |                 t9 = t8;
    0x00401ee0 jalr t9                       |                 t9 ();
    0x00401ee4 nop                           |                 
    0x00401ee8 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401eec move t8, v0                   |                 t8 = v0;
    0x00401ef0 sw t8, 0xe8(fp)               |                 *(arg_e8h) = t8;
    0x00401ef4 lw v0, 0x1c(fp)               |                 v0 = *(arg_1ch);
    0x00401ef8 addiu v1, fp, 0x30            |                 v1 = fp + 0x30;
    0x00401efc addiu t8, fp, 0xe8            |                 t8 = fp + 0xe8;
    0x00401f00 move a0, v1                   |                 a0 = v1;
    0x00401f04 move a1, v0                   |                 a1 = v0;
    0x00401f08 move a2, t8                   |                 a2 = t8;
    0x00401f0c addiu a3, zero, 4             |                 a3 = 4;
    0x00401f10 lw t8, -0x7f60(gp)            |                 t8 = *(gp);
    0x00401f14 move t9, t8                   |                 t9 = t8;
    0x00401f18 jalr t9                       |                 t9 ();
    0x00401f1c nop                           |                 
    0x00401f20 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00401f24 b 0x401f58                    |                 goto label_7;
    0x00401f28 nop                           |                 
                                             |             }
    0x00401f2c lw t8, 0x64(fp)               |             t8 = *(arg_64h);
    0x00401f30 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             /* str.OOPS__Unexpected_command_id__u_n */
    0x00401f34 addiu a0, v0, -0x7dd8         |             a0 = v0 + -0x7dd8;
    0x00401f38 move a1, t8                   |             a1 = t8;
    0x00401f3c lw t8, -0x7f58(gp)            |             t8 = sym.imp.printf
    0x00401f40 move t9, t8                   |             t9 = t8;
    0x00401f44 jalr t9                       |             t9 ();
    0x00401f48 nop                           |             
    0x00401f4c lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00401f50 b 0x401f58                    |             goto label_7;
    0x00401f54 nop                           |             
                                             |         }
                                             | label_7:
    0x00401f58 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00401f5c lbu t8, -0x5aa4(t8)           |         t8 = *((t8 - 23204));
    0x00401f60 xori t8, t8, 1                |         t8 ^= 1;
    0x00401f64 andi t8, t8, 0xff             |         t8 &= 0xff;
    0x00401f68 bnez t8, 0x401b50             |         
                                             |     } while (t8 != 0);
    0x00401f6c nop                           |     
                                             | label_6:
    0x00401f70 sw zero, 0x20(fp)             |     *(arg_20h) = 0;
    0x00401f74 addiu t8, fp, 0x3c            |     t8 = fp + 0x3c;
    0x00401f78 move a0, t8                   |     a0 = t8;
    0x00401f7c lw t8, -0x7fb0(gp)            |     t8 = *(gp);
    0x00401f80 move t9, t8                   |     t9 = t8;
    0x00401f84 jalr t9                       |     t9 ();
    0x00401f88 nop                           |     
    0x00401f8c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00401f90 addiu t8, fp, 0x30            |     t8 = fp + 0x30;
    0x00401f94 move a0, t8                   |     a0 = t8;
    0x00401f98 lw t8, -0x7fac(gp)            |     t8 = *(gp);
    0x00401f9c move t9, t8                   |     t9 = t8;
    0x00401fa0 jalr t9                       |     t9 ();
    0x00401fa4 nop                           |     
    0x00401fa8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_0:
    0x00401fac lw t8, 0x20(fp)               |     t8 = *(arg_20h);
    0x00401fb0 move v0, t8                   |     v0 = t8;
    0x00401fb4 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00401fb8 lw v1, 0x174(fp)              |     v1 = *(arg_174h);
    0x00401fbc lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00401fc0 beq v1, t8, 0x402048          |         
    0x00401fc4 nop                           |         
    0x00401fc8 b 0x402038                    |         goto label_8;
    0x00401fcc nop                           |         
                                             | label_8:
    0x00402038 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040203c move t9, t8                   |         t9 = t8;
    0x00402040 jalr t9                       |         t9 ();
    0x00402044 nop                           |         
                                             |     }
    0x00402048 move sp, fp                   |     
    0x0040204c lw ra, 0x184(sp)              |     ra = *(var_184h);
    0x00402050 lw fp, 0x180(sp)              |     fp = *(var_180h);
    0x00402054 lw s0, 0x17c(sp)              |     s0 = *(var_17ch);
    0x00402058 addiu sp, sp, 0x188           |     
    0x0040205c jr ra                         |     return v1;
    0x00402060 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x407930 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) method.LogBuffer.add_char_const_ ()      | void method_LogBuffer_add_char_const_ () {
                                                     |     /* LogBuffer::add(char const*) */
    0x00407930 lui gp, 2                             |     
    0x00407934 addiu gp, gp, -0x5910                 |     
    0x00407938 addu gp, gp, t9                       |     gp += t9;
    0x0040793c addiu sp, sp, -0x158                  |     
    0x00407940 sw ra, 0x154(sp)                      |     *(var_154h) = ra;
    0x00407944 sw fp, 0x150(sp)                      |     *(var_150h) = fp;
    0x00407948 move fp, sp                           |     fp = sp;
    0x0040794c sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00407950 sw a0, 0x24(fp)                       |     *(arg_24h) = a0;
    0x00407954 sw a1, 0x20(fp)                       |     *(arg_20h) = a1;
    0x00407958 lw t8, -0x7ecc(gp)                    |     t8 = *((gp - 8115));
    0x0040795c lw t8, (t8)                           |     t8 = *(t8);
    0x00407960 sw t8, 0x14c(fp)                      |     *(arg_14ch) = t8;
    0x00407964 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00407968 lw v0, 0x1c(t8)                       |     v0 = *((t8 + 7));
    0x0040796c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00407970 lw t8, 4(t8)                          |     t8 = *((t8 + 1));
    0x00407974 sll t8, t8, 7                         |     t8 <<= 7;
    0x00407978 addu t8, v0, t8                       |     t8 = v0 + t8;
    0x0040797c sw t8, 0x34(fp)                       |     *(arg_34h) = t8;
    0x00407980 move a0, zero                         |     a0 = 0;
    0x00407984 lw t8, -0x7f10(gp)                    |     t8 = sym.imp.time;
    0x00407988 move t9, t8                           |     t9 = t8;
    0x0040798c jalr t9                               |     t9 ();
    0x00407990 nop                                   |     
    0x00407994 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407998 move t8, v0                           |     t8 = v0;
    0x0040799c sw t8, 0x30(fp)                       |     *(arg_30h) = t8;
    0x004079a0 sb zero, 0x2f(fp)                     |     *(arg_2fh) = 0;
    0x004079a4 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str._s___n */
    0x004079a8 addiu a0, t8, -0x798c                 |     a0 = t8 + -0x798c;
    0x004079ac lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* esilref: 'add' */
    0x004079b0 addiu a1, t8, -0x77ac                 |     a1 = t8 + -0x77ac;
    0x004079b4 lw t8, -0x7f58(gp)                    |     t8 = sym.imp.printf
    0x004079b8 move t9, t8                           |     t9 = t8;
    0x004079bc jalr t9                               |     t9 ();
    0x004079c0 nop                                   |     
    0x004079c4 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004079c8 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x004079cc lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (t8 >= 0) {
    0x004079d0 bltz t8, 0x407af8                     |         
    0x004079d4 nop                                   |         
    0x004079d8 addiu t8, fp, 0x4c                    |         t8 = fp + 0x4c;
    0x004079dc move a0, t8                           |         a0 = t8;
    0x004079e0 lw a1, 0x20(fp)                       |         a1 = *(arg_20h);
    0x004079e4 addiu a2, zero, 0x6b                  |         a2 = 0x6b;
    0x004079e8 lw t8, -0x7f2c(gp)                    |         t8 = sym.imp.strncpy;
    0x004079ec move t9, t8                           |         t9 = t8;
    0x004079f0 jalr t9                               |         t9 ();
    0x004079f4 nop                                   |         
    0x004079f8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004079fc addiu t8, fp, 0x30                    |         t8 = fp + 0x30;
    0x00407a00 move a0, t8                           |         a0 = t8;
    0x00407a04 lw t8, -0x7f20(gp)                    |         t8 = sym.imp.localtime;
    0x00407a08 move t9, t8                           |         t9 = t8;
    0x00407a0c jalr t9                               |         t9 ();
    0x00407a10 nop                                   |         
    0x00407a14 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407a18 move t8, v0                           |         t8 = v0;
    0x00407a1c addiu v0, fp, 0x38                    |         v0 = fp + 0x38;
    0x00407a20 move a0, v0                           |         a0 = v0;
    0x00407a24 addiu a1, zero, 0x14                  |         a1 = 0x14;
    0x00407a28 lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* str._Y__m__d__H:_M:_S */
    0x00407a2c addiu a2, v0, -0x7804                 |         a2 = v0 + -0x7804;
    0x00407a30 move a3, t8                           |         a3 = t8;
    0x00407a34 lw t8, -0x7ec0(gp)                    |         t8 = sym.imp.strftime;
    0x00407a38 move t9, t8                           |         t9 = t8;
    0x00407a3c jalr t9                               |         t9 ();
    0x00407a40 nop                                   |         
    0x00407a44 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407a48 addiu t8, fp, 0x38                    |         t8 = fp + 0x38;
    0x00407a4c addiu v0, fp, 0x4c                    |         v0 = fp + 0x4c;
    0x00407a50 sw v0, 0x10(sp)                       |         *(var_10h) = v0;
    0x00407a54 lw a0, 0x34(fp)                       |         a0 = *(arg_34h);
    0x00407a58 addiu a1, zero, 0x80                  |         a1 = 0x80;
    0x00407a5c lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* str._s__s */
    0x00407a60 addiu a2, v0, -0x77f0                 |         a2 = v0 + -0x77f0;
    0x00407a64 move a3, t8                           |         a3 = t8;
    0x00407a68 lw t8, -0x7ef0(gp)                    |         t8 = sym.imp.snprintf
    0x00407a6c move t9, t8                           |         t9 = t8;
    0x00407a70 jalr t9                               |         t9 ();
    0x00407a74 nop                                   |         
    0x00407a78 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407a7c lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407a80 addiu v0, zero, 1                     |         v0 = 1;
    0x00407a84 sb v0, 0x20(t8)                       |         *((t8 + 32)) = v0;
    0x00407a88 addiu t8, zero, 1                     |         t8 = 1;
    0x00407a8c sb t8, 0x2f(fp)                       |         *(arg_2fh) = t8;
    0x00407a90 lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407a94 lw t8, 4(t8)                          |         t8 = *((t8 + 1));
    0x00407a98 addiu v0, t8, 1                       |         v0 = t8 + 1;
    0x00407a9c lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407aa0 sw v0, 4(t8)                          |         *((t8 + 4)) = v0;
    0x00407aa4 lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407aa8 lw v0, 0xc(t8)                        |         v0 = *((t8 + 3));
    0x00407aac lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407ab0 lw t8, 8(t8)                          |         t8 = *((t8 + 2));
    0x00407ab4 sltu t8, v0, t8                       |         t8 = (v0 < t8) ? 1 : 0;
                                                     |         if (t8 != 0) {
    0x00407ab8 beqz t8, 0x407ad4                     |             
    0x00407abc nop                                   |             
    0x00407ac0 lw t8, 0x24(fp)                       |             t8 = *(arg_24h);
    0x00407ac4 lw t8, 0xc(t8)                        |             t8 = *((t8 + 3));
    0x00407ac8 addiu v0, t8, 1                       |             v0 = t8 + 1;
    0x00407acc lw t8, 0x24(fp)                       |             t8 = *(arg_24h);
    0x00407ad0 sw v0, 0xc(t8)                        |             *((t8 + 12)) = v0;
                                                     |         }
    0x00407ad4 lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407ad8 lw v0, 4(t8)                          |         v0 = *((t8 + 1));
    0x00407adc lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407ae0 lw t8, 8(t8)                          |         t8 = *((t8 + 2));
    0x00407ae4 sltu t8, v0, t8                       |         t8 = (v0 < t8) ? 1 : 0;
                                                     |         if (t8 != 0) {
    0x00407ae8 bnez t8, 0x407af8                     |             goto label_0;
                                                     |         }
    0x00407aec nop                                   |         
    0x00407af0 lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x00407af4 sw zero, 4(t8)                        |         *((t8 + 4)) = 0;
                                                     |     }
                                                     | label_0:
    0x00407af8 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00407afc lw v0, 0xc(t8)                        |     v0 = *((t8 + 3));
    0x00407b00 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00407b04 lw t8, 4(t8)                          |     t8 = *((t8 + 1));
    0x00407b08 lw v1, -0x7fdc(gp)                    |     v1 = *((gp - 8183));
                                                     |     /* str._s____count__u__tail__u_n */
    0x00407b0c addiu a0, v1, -0x78a4                 |     a0 = v1 + -0x78a4;
    0x00407b10 lw v1, -0x7fdc(gp)                    |     v1 = *((gp - 8183));
                                                     |     /* esilref: 'add' */
    0x00407b14 addiu a1, v1, -0x77ac                 |     a1 = v1 + -0x77ac;
    0x00407b18 move a2, v0                           |     a2 = v0;
    0x00407b1c move a3, t8                           |     a3 = t8;
    0x00407b20 lw t8, -0x7f58(gp)                    |     t8 = sym.imp.printf
    0x00407b24 move t9, t8                           |     t9 = t8;
    0x00407b28 jalr t9                               |     t9 ();
    0x00407b2c nop                                   |     
    0x00407b30 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407b34 lbu t8, 0x2f(fp)                      |     t8 = *(arg_2fh);
    0x00407b38 move v0, t8                           |     v0 = t8;
    0x00407b3c lw t8, -0x7ecc(gp)                    |     t8 = *((gp - 8115));
    0x00407b40 lw v1, 0x14c(fp)                      |     v1 = *(arg_14ch);
    0x00407b44 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v1 != t8) {
    0x00407b48 beq v1, t8, 0x407b60                  |         
    0x00407b4c nop                                   |         
    0x00407b50 lw t8, -0x7f08(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x00407b54 move t9, t8                           |         t9 = t8;
    0x00407b58 jalr t9                               |         t9 ();
    0x00407b5c nop                                   |         
                                                     |     }
    0x00407b60 move sp, fp                           |     
    0x00407b64 lw ra, 0x154(sp)                      |     ra = *(var_154h);
    0x00407b68 lw fp, 0x150(sp)                      |     fp = *(var_150h);
    0x00407b6c addiu sp, sp, 0x158                   |     
    0x00407b70 jr ra                                 |     return v1;
    0x00407b74 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x407d1c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) method.LogBuffer.clear__ ()      | void method_LogBuffer_clear_ () {
                                             |     /* LogBuffer::clear() */
    0x00407d1c lui gp, 2                     |     
    0x00407d20 addiu gp, gp, -0x5cfc         |     
    0x00407d24 addu gp, gp, t9               |     gp += t9;
    0x00407d28 addiu sp, sp, -0x30           |     
    0x00407d2c sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00407d30 sw fp, 0x28(sp)               |     *(var_28h) = fp;
    0x00407d34 move fp, sp                   |     fp = sp;
    0x00407d38 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00407d3c sw a0, 0x1c(fp)               |     *(arg_1ch) = a0;
    0x00407d40 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00407d44 lw t8, (t8)                   |     t8 = *(t8);
    0x00407d48 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x00407d4c lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._s___n */
    0x00407d50 addiu a0, t8, -0x798c         |     a0 = t8 + -0x798c;
    0x00407d54 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.clear */
    0x00407d58 addiu a1, t8, -0x77a0         |     a1 = t8 + -0x77a0;
    0x00407d5c lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00407d60 move t9, t8                   |     t9 = t8;
    0x00407d64 jalr t9                       |     t9 ();
    0x00407d68 nop                           |     
    0x00407d6c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00407d70 lw t8, 0x1c(fp)               |     t8 = *(arg_1ch);
    0x00407d74 lw t8, 0x1c(t8)               |     t8 = *((t8 + 7));
                                             |     if (t8 != 0) {
    0x00407d78 beqz t8, 0x407de4             |         
    0x00407d7c nop                           |         
    0x00407d80 lw t8, 0x1c(fp)               |         t8 = *(arg_1ch);
    0x00407d84 lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x00407d88 lw t8, 0x1c(fp)               |         t8 = *(arg_1ch);
    0x00407d8c lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00407d90 move a0, v0                   |         a0 = v0;
    0x00407d94 move a1, zero                 |         a1 = 0;
    0x00407d98 move a2, t8                   |         a2 = t8;
    0x00407d9c lw t8, -0x7f34(gp)            |         t8 = sym.imp.memset;
    0x00407da0 move t9, t8                   |         t9 = t8;
    0x00407da4 jalr t9                       |         t9 ();
    0x00407da8 nop                           |         
    0x00407dac lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00407db0 lw t8, 0x1c(fp)               |         t8 = *(arg_1ch);
    0x00407db4 addiu v0, zero, 1             |         v0 = 1;
    0x00407db8 sb v0, 0x20(t8)               |         *((t8 + 32)) = v0;
    0x00407dbc lw t8, 0x1c(fp)               |         t8 = *(arg_1ch);
    0x00407dc0 sw zero, 0xc(t8)              |         *((t8 + 12)) = 0;
    0x00407dc4 lw t8, 0x1c(fp)               |         t8 = *(arg_1ch);
    0x00407dc8 sw zero, 4(t8)                |         *((t8 + 4)) = 0;
    0x00407dcc lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00407dd0 lw t8, -0x7fbc(gp)            |         t8 = *(gp);
    0x00407dd4 move t9, t8                   |         t9 = t8;
    0x00407dd8 jalr t9                       |         t9 ();
    0x00407ddc nop                           |         
    0x00407de0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
                                             |     }
    0x00407de4 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00407de8 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x00407dec lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x00407df0 beq v0, t8, 0x407e08          |         
    0x00407df4 nop                           |         
    0x00407df8 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00407dfc move t9, t8                   |         t9 = t8;
    0x00407e00 jalr t9                       |         t9 ();
    0x00407e04 nop                           |         
                                             |     }
    0x00407e08 move sp, fp                   |     
    0x00407e0c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00407e10 lw fp, 0x28(sp)               |     fp = *(var_28h);
    0x00407e14 addiu sp, sp, 0x30            |     
    0x00407e18 jr ra                         |     return v0;
    0x00407e1c nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x407b78 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) method.LogBuffer.dump_void_ ()           | void method_LogBuffer_dump_void_ () {
                                                     |     /* LogBuffer::dump(void*) */
    0x00407b78 lui gp, 2                             |     
    0x00407b7c addiu gp, gp, -0x5b58                 |     
    0x00407b80 addu gp, gp, t9                       |     gp += t9;
    0x00407b84 addiu sp, sp, -0x30                   |     
    0x00407b88 sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x00407b8c sw fp, 0x28(sp)                       |     *(var_28h) = fp;
    0x00407b90 move fp, sp                           |     fp = sp;
    0x00407b94 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00407b98 sw a0, 0x1c(fp)                       |     *(arg_1ch) = a0;
    0x00407b9c sw a1, 0x18(fp)                       |     *(arg_18h) = a1;
    0x00407ba0 lw t8, -0x7ecc(gp)                    |     t8 = *((gp - 8115));
    0x00407ba4 lw t8, (t8)                           |     t8 = *(t8);
    0x00407ba8 sw t8, 0x24(fp)                       |     *(arg_24h) = t8;
    0x00407bac lw t8, 0x1c(fp)                       |     t8 = *(arg_1ch);
    0x00407bb0 lw t8, 8(t8)                          |     t8 = *((t8 + 2));
    0x00407bb4 sll t8, t8, 7                         |     t8 <<= 7;
    0x00407bb8 sw t8, 0x20(fp)                       |     *(arg_20h) = t8;
    0x00407bbc lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str._s___n */
    0x00407bc0 addiu a0, t8, -0x798c                 |     a0 = t8 + -0x798c;
    0x00407bc4 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.dump */
    0x00407bc8 addiu a1, t8, -0x77a8                 |     a1 = t8 + -0x77a8;
    0x00407bcc lw t8, -0x7f58(gp)                    |     t8 = sym.imp.printf
    0x00407bd0 move t9, t8                           |     t9 = t8;
    0x00407bd4 jalr t9                               |     t9 ();
    0x00407bd8 nop                                   |     
    0x00407bdc lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00407be0 lw t8, 0x1c(fp)                       |     t8 = *(arg_1ch);
    0x00407be4 lw v0, 0xc(t8)                        |     v0 = *((t8 + 3));
    0x00407be8 lw t8, 0x1c(fp)                       |     t8 = *(arg_1ch);
    0x00407bec lw t8, 4(t8)                          |     t8 = *((t8 + 1));
    0x00407bf0 lw v1, -0x7fdc(gp)                    |     v1 = *((gp - 8183));
                                                     |     /* str.count__u__tail__u_n */
    0x00407bf4 addiu a0, v1, -0x77e8                 |     a0 = v1 + -0x77e8;
    0x00407bf8 move a1, v0                           |     a1 = v0;
    0x00407bfc move a2, t8                           |     a2 = t8;
    0x00407c00 lw t8, -0x7f58(gp)                    |     t8 = sym.imp.printf
    0x00407c04 move t9, t8                           |     t9 = t8;
    0x00407c08 jalr t9                               |     t9 ();
    0x00407c0c nop                                   |     
    0x00407c10 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00407c14 lw t8, 0x1c(fp)                       |     t8 = *(arg_1ch);
    0x00407c18 lw t8, 0xc(t8)                        |     t8 = *((t8 + 3));
                                                     |     if (t8 != 0) {
    0x00407c1c beqz t8, 0x407cd4                     |         
    0x00407c20 nop                                   |         
    0x00407c24 lw t8, 0x1c(fp)                       |         t8 = *(arg_1ch);
    0x00407c28 lw t8, 0x1c(t8)                       |         t8 = *((t8 + 7));
                                                     |         if (t8 == 0) {
    0x00407c2c beqz t8, 0x407cd4                     |             goto label_0;
                                                     |         }
    0x00407c30 nop                                   |         
    0x00407c34 lw t8, 0x18(fp)                       |         t8 = *(arg_18h);
                                                     |         if (t8 != 0) {
    0x00407c38 beqz t8, 0x407ccc                     |             
    0x00407c3c nop                                   |             
    0x00407c40 lw t8, 0x1c(fp)                       |             t8 = *(arg_1ch);
    0x00407c44 lw v0, 0xc(t8)                        |             v0 = *((t8 + 3));
    0x00407c48 lw t8, 0x1c(fp)                       |             t8 = *(arg_1ch);
    0x00407c4c lw t8, 8(t8)                          |             t8 = *((t8 + 2));
                                                     |             if (v0 == t8) {
    0x00407c50 bne v0, t8, 0x407c98                  |                 
    0x00407c54 nop                                   |                 
    0x00407c58 lw t8, 0x1c(fp)                       |                 t8 = *(arg_1ch);
    0x00407c5c lw t8, 4(t8)                          |                 t8 = *((t8 + 1));
                                                     |                 if (t8 == 0) {
    0x00407c60 beqz t8, 0x407c98                     |                     goto label_1;
                                                     |                 }
    0x00407c64 nop                                   |                 
    0x00407c68 lw t8, 0x1c(fp)                       |                 t8 = *(arg_1ch);
    0x00407c6c lw t8, 0x1c(t8)                       |                 t8 = *((t8 + 7));
    0x00407c70 lw a0, 0x1c(fp)                       |                 a0 = *(arg_1ch);
    0x00407c74 move a1, t8                           |                 a1 = t8;
    0x00407c78 lw a2, 0x18(fp)                       |                 a2 = *(arg_18h);
    0x00407c7c lw t8, -0x7f7c(gp)                    |                 t8 = *(gp);
    0x00407c80 move t9, t8                           |                 t9 = t8;
    0x00407c84 jalr t9                               |                 t9 ();
    0x00407c88 nop                                   |                 
    0x00407c8c lw gp, 0x10(fp)                       |                 gp = *(arg_10h);
    0x00407c90 b 0x407ccc                            |                 goto label_2;
    0x00407c94 nop                                   |                 
                                                     |             }
                                                     | label_1:
    0x00407c98 lw t8, 0x1c(fp)                       |             t8 = *(arg_1ch);
    0x00407c9c lw v0, 0x1c(t8)                       |             v0 = *((t8 + 7));
    0x00407ca0 lw t8, 0x1c(fp)                       |             t8 = *(arg_1ch);
    0x00407ca4 lw t8, 8(t8)                          |             t8 = *((t8 + 2));
    0x00407ca8 sll t8, t8, 7                         |             t8 <<= 7;
    0x00407cac lw a0, 0x18(fp)                       |             a0 = *(arg_18h);
    0x00407cb0 move a1, v0                           |             a1 = v0;
    0x00407cb4 move a2, t8                           |             a2 = t8;
    0x00407cb8 lw t8, -0x7edc(gp)                    |             t8 = sym.imp.memcpy;
    0x00407cbc move t9, t8                           |             t9 = t8;
    0x00407cc0 jalr t9                               |             t9 ();
    0x00407cc4 nop                                   |             
    0x00407cc8 lw gp, 0x10(fp)                       |             gp = *(arg_10h);
                                                     |         }
                                                     | label_2:
    0x00407ccc b 0x407cd8                            |         goto label_3;
    0x00407cd0 nop                                   |         
                                                     |     }
                                                     | label_0:
    0x00407cd4 sw zero, 0x20(fp)                     |     *(arg_20h) = 0;
                                                     | label_3:
    0x00407cd8 lw t8, 0x20(fp)                       |     t8 = *(arg_20h);
    0x00407cdc move v0, t8                           |     v0 = t8;
    0x00407ce0 lw t8, -0x7ecc(gp)                    |     t8 = *((gp - 8115));
    0x00407ce4 lw v1, 0x24(fp)                       |     v1 = *(arg_24h);
    0x00407ce8 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v1 != t8) {
    0x00407cec beq v1, t8, 0x407d04                  |         
    0x00407cf0 nop                                   |         
    0x00407cf4 lw t8, -0x7f08(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x00407cf8 move t9, t8                           |         t9 = t8;
    0x00407cfc jalr t9                               |         t9 ();
    0x00407d00 nop                                   |         
                                                     |     }
    0x00407d04 move sp, fp                           |     
    0x00407d08 lw ra, 0x2c(sp)                       |     ra = *(var_2ch);
    0x00407d0c lw fp, 0x28(sp)                       |     fp = *(var_28h);
    0x00407d10 addiu sp, sp, 0x30                    |     
    0x00407d14 jr ra                                 |     return v1;
    0x00407d18 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x406500 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) method.LogBuffer.init__ ()       | void method_LogBuffer_init_ () {
                                             |     /* LogBuffer::init() */
    0x00406500 lui gp, 2                     |     
    0x00406504 addiu gp, gp, -0x44e0         |     
    0x00406508 addu gp, gp, t9               |     gp += t9;
    0x0040650c addiu sp, sp, -0x38           |     
    0x00406510 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00406514 sw fp, 0x30(sp)               |     *(var_30h) = fp;
    0x00406518 move fp, sp                   |     fp = sp;
    0x0040651c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00406520 sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x00406524 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00406528 lw t8, (t8)                   |     t8 = *(t8);
    0x0040652c sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x00406530 sb zero, 0x2b(fp)             |     *(arg_2bh) = 0;
    0x00406534 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._s___n */
    0x00406538 addiu a0, t8, -0x798c         |     a0 = t8 + -0x798c;
    0x0040653c lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.init */
    0x00406540 addiu a1, t8, -0x77d4         |     a1 = t8 + -0x77d4;
    0x00406544 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00406548 move t9, t8                   |     t9 = t8;
    0x0040654c jalr t9                       |     t9 ();
    0x00406550 nop                           |     
    0x00406554 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406558 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._dev_mtd_log */
    0x0040655c addiu a0, t8, -0x7984         |     a0 = t8 + -0x7984;
    0x00406560 addiu a1, zero, 2             |     a1 = 2;
    0x00406564 lw t8, -0x7f48(gp)            |     t8 = sym.imp.open64;
    0x00406568 move t9, t8                   |     t9 = t8;
    0x0040656c jalr t9                       |     t9 ();
    0x00406570 nop                           |     
    0x00406574 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406578 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0040657c sw v0, (t8)                   |     *(t8) = v0;
    0x00406580 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406584 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 < 0) {
    0x00406588 bgez t8, 0x40659c             |         
    0x0040658c nop                           |         
    0x00406590 lbu t8, 0x2b(fp)              |         t8 = *(arg_2bh);
    0x00406594 b 0x406988                    |         goto label_0;
    0x00406598 nop                           |         
                                             |     }
    0x0040659c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004065a0 lw t8, (t8)                   |     t8 = *(t8);
    0x004065a4 addiu v0, zero, 2             |     v0 = 2;
    0x004065a8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x004065ac move a0, t8                   |     a0 = t8;
    0x004065b0 move a2, zero                 |     a2 = 0;
    0x004065b4 move a3, zero                 |     a3 = 0;
    0x004065b8 lw t8, -0x7ef8(gp)            |     t8 = sym.imp.lseek64;
    0x004065bc move t9, t8                   |     t9 = t8;
    0x004065c0 jalr t9                       |     t9 ();
    0x004065c4 nop                           |     
    0x004065c8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004065cc move t8, v0                   |     t8 = v0;
    0x004065d0 move t9, v1                   |     t9 = v1;
    0x004065d4 move v0, t8                   |     v0 = t8;
    0x004065d8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004065dc sw v0, 0x14(t8)               |     *((t8 + 20)) = v0;
    0x004065e0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004065e4 addiu v0, zero, 1             |     v0 = 1;
    0x004065e8 sw v0, 0x24(t8)               |     *((t8 + 36)) = v0;
    0x004065ec lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004065f0 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x004065f4 move v0, t8                   |     v0 = t8;
    0x004065f8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004065fc sw v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00406600 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406604 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
                                             |     if (t8 < 0) {
    0x00406608 bgez t8, 0x406614             |         
    0x0040660c nop                           |         
    0x00406610 addiu t8, t8, 0x7f            |         t8 += 0x7f;
                                             |     }
    0x00406614 sra t8, t8, 7                 |     t8 >>= 7;
    0x00406618 addiu t8, t8, -1              |     t8 += -1;
    0x0040661c move v0, t8                   |     v0 = t8;
    0x00406620 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406624 sw v0, 8(t8)                  |     *((t8 + 8)) = v0;
    0x00406628 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0040662c lw v1, 0x10(t8)               |     v1 = *((t8 + 4));
    0x00406630 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406634 lw v0, 0x14(t8)               |     v0 = *((t8 + 5));
    0x00406638 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0040663c lw t8, 8(t8)                  |     t8 = *((t8 + 2));
    0x00406640 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     /* str.block_size__lu__total_size__ld__max_line__u_n */
    0x00406644 addiu a0, a0, -0x7974         |     a0 += -0x7974;
    0x00406648 move a1, v1                   |     a1 = v1;
    0x0040664c move a2, v0                   |     a2 = v0;
    0x00406650 move a3, t8                   |     a3 = t8;
    0x00406654 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00406658 move t9, t8                   |     t9 = t8;
    0x0040665c jalr t9                       |     t9 ();
    0x00406660 nop                           |     
    0x00406664 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406668 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0040666c lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406670 addiu v0, t8, -0x80           |     v0 = t8 + -0x80;
    0x00406674 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406678 sw v0, 0x18(t8)               |     *((t8 + 24)) = v0;
    0x0040667c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406680 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406684 move a0, t8                   |     a0 = t8;
    0x00406688 lw t8, -0x7f30(gp)            |     t8 = sym.imp.operator_new___unsigned_int_;
    0x0040668c move t9, t8                   |     t9 = t8;
    0x00406690 jalr t9                       |     t9 ();
    0x00406694 nop                           |     
    0x00406698 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040669c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004066a0 sw v0, 0x1c(t8)               |     *((t8 + 28)) = v0;
    0x004066a4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004066a8 lw t8, 0x1c(t8)               |     t8 = *((t8 + 7));
                                             |     if (t8 == 0) {
    0x004066ac bnez t8, 0x4066f8             |         
    0x004066b0 nop                           |         
    0x004066b4 lw t8, -0x7f14(gp)            |         t8 = *((gp - 8133));
    0x004066b8 lw t8, (t8)                   |         t8 = *(t8);
    0x004066bc lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         /* str.buffer_is_NULL__memory_low_n */
    0x004066c0 addiu a0, v0, -0x7944         |         a0 = v0 + -0x7944;
    0x004066c4 addiu a1, zero, 1             |         a1 = 1;
    0x004066c8 addiu a2, zero, 0x1b          |         a2 = 0x1b;
    0x004066cc move a3, t8                   |         a3 = t8;
    0x004066d0 lw t8, -0x7ed8(gp)            |         t8 = sym.imp.fwrite;
    0x004066d4 move t9, t8                   |         t9 = t8;
    0x004066d8 jalr t9                       |         t9 ();
    0x004066dc nop                           |         
    0x004066e0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004066e4 addiu a0, zero, 1             |         a0 = 1;
    0x004066e8 lw t8, -0x7f44(gp)            |         t8 = sym.imp.exit;
    0x004066ec move t9, t8                   |         t9 = t8;
    0x004066f0 jalr t9                       |         t9 ();
    0x004066f4 nop                           |         
                                             |     }
    0x004066f8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004066fc lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00406700 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406704 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406708 move a0, v0                   |     a0 = v0;
    0x0040670c move a1, zero                 |     a1 = 0;
    0x00406710 move a2, t8                   |     a2 = t8;
    0x00406714 lw t8, -0x7f34(gp)            |     t8 = sym.imp.memset;
    0x00406718 move t9, t8                   |     t9 = t8;
    0x0040671c jalr t9                       |     t9 ();
    0x00406720 nop                           |     
    0x00406724 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406728 addiu t8, zero, 1             |     t8 = 1;
    0x0040672c sb t8, 0x2b(fp)               |     *(arg_2bh) = t8;
    0x00406730 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00406734 lw t8, -0x7f84(gp)            |     t8 = *(gp);
    0x00406738 move t9, t8                   |     t9 = t8;
    0x0040673c jalr t9                       |     t9 ();
    0x00406740 nop                           |     
    0x00406744 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406748 move t8, v0                   |     t8 = v0;
    0x0040674c xori t8, t8, 1                |     t8 ^= 1;
    0x00406750 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00406754 beqz t8, 0x406768             |         
    0x00406758 nop                           |         
    0x0040675c move t8, zero                 |         t8 = 0;
    0x00406760 b 0x406988                    |         goto label_0;
    0x00406764 nop                           |         
                                             |     }
    0x00406768 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x0040676c lw t8, 0xc(t8)                |     t8 = *((t8 + 3));
                                             |     if (t8 == 0) {
    0x00406770 bnez t8, 0x406984             |         
    0x00406774 nop                           |         
    0x00406778 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0040677c sw zero, 0x24(t8)             |         *((t8 + 36)) = 0;
    0x00406780 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406784 lw t8, (t8)                   |         t8 = *(t8);
    0x00406788 move a0, t8                   |         a0 = t8;
    0x0040678c lw t8, -0x7f24(gp)            |         t8 = sym.imp.close;
    0x00406790 move t9, t8                   |         t9 = t8;
    0x00406794 jalr t9                       |         t9 ();
    0x00406798 nop                           |         
    0x0040679c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004067a0 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str._dev_mtd_log_bak */
    0x004067a4 addiu a0, t8, -0x7928         |         a0 = t8 + -0x7928;
    0x004067a8 addiu a1, zero, 2             |         a1 = 2;
    0x004067ac lw t8, -0x7f48(gp)            |         t8 = sym.imp.open64;
    0x004067b0 move t9, t8                   |         t9 = t8;
    0x004067b4 jalr t9                       |         t9 ();
    0x004067b8 nop                           |         
    0x004067bc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004067c0 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004067c4 sw v0, (t8)                   |         *(t8) = v0;
    0x004067c8 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004067cc lw t8, (t8)                   |         t8 = *(t8);
                                             |         if (t8 < 0) {
    0x004067d0 bgez t8, 0x4067e4             |             
    0x004067d4 nop                           |             
    0x004067d8 move t8, zero                 |             t8 = 0;
    0x004067dc b 0x406988                    |             goto label_0;
    0x004067e0 nop                           |             
                                             |         }
    0x004067e4 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004067e8 lw t8, (t8)                   |         t8 = *(t8);
    0x004067ec addiu v0, zero, 2             |         v0 = 2;
    0x004067f0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x004067f4 move a0, t8                   |         a0 = t8;
    0x004067f8 move a2, zero                 |         a2 = 0;
    0x004067fc move a3, zero                 |         a3 = 0;
    0x00406800 lw t8, -0x7ef8(gp)            |         t8 = sym.imp.lseek64;
    0x00406804 move t9, t8                   |         t9 = t8;
    0x00406808 jalr t9                       |         t9 ();
    0x0040680c nop                           |         
    0x00406810 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406814 move t8, v0                   |         t8 = v0;
    0x00406818 move t9, v1                   |         t9 = v1;
    0x0040681c move v0, t8                   |         v0 = t8;
    0x00406820 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406824 sw v0, 0x14(t8)               |         *((t8 + 20)) = v0;
    0x00406828 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0040682c lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
                                             |         if (t8 < 0) {
    0x00406830 bgez t8, 0x406844             |             
    0x00406834 nop                           |             
    0x00406838 move t8, zero                 |             t8 = 0;
    0x0040683c b 0x406988                    |             goto label_0;
    0x00406840 nop                           |             
                                             |         }
    0x00406844 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406848 addiu v0, zero, 2             |         v0 = 2;
    0x0040684c sw v0, 0x24(t8)               |         *((t8 + 36)) = v0;
    0x00406850 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406854 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00406858 move v0, t8                   |         v0 = t8;
    0x0040685c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406860 sw v0, 0x10(t8)               |         *((t8 + 16)) = v0;
    0x00406864 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406868 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
                                             |         if (t8 < 0) {
    0x0040686c bgez t8, 0x406878             |             
    0x00406870 nop                           |             
    0x00406874 addiu t8, t8, 0x7f            |             t8 += 0x7f;
                                             |         }
    0x00406878 sra t8, t8, 7                 |         t8 >>= 7;
    0x0040687c addiu t8, t8, -1              |         t8 += -1;
    0x00406880 move v0, t8                   |         v0 = t8;
    0x00406884 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406888 sw v0, 8(t8)                  |         *((t8 + 8)) = v0;
    0x0040688c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406890 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00406894 addiu v0, t8, -0x80           |         v0 = t8 + -0x80;
    0x00406898 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0040689c sw v0, 0x18(t8)               |         *((t8 + 24)) = v0;
    0x004068a0 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004068a4 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
                                             |         if (t8 != 0) {
    0x004068a8 beqz t8, 0x4068d8             |             
    0x004068ac nop                           |             
    0x004068b0 lw t8, 0x24(fp)               |             t8 = *(arg_24h);
    0x004068b4 lw t8, 0x1c(t8)               |             t8 = *((t8 + 7));
    0x004068b8 move a0, t8                   |             a0 = t8;
    0x004068bc lw t8, -0x7f4c(gp)            |             t8 = sym.imp.free;
    0x004068c0 move t9, t8                   |             t9 = t8;
    0x004068c4 jalr t9                       |             t9 ();
    0x004068c8 nop                           |             
    0x004068cc lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004068d0 lw t8, 0x24(fp)               |             t8 = *(arg_24h);
    0x004068d4 sw zero, 0x1c(t8)             |             *((t8 + 28)) = 0;
                                             |         }
    0x004068d8 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004068dc lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x004068e0 move a0, t8                   |         a0 = t8;
    0x004068e4 lw t8, -0x7f30(gp)            |         t8 = sym.imp.operator_new___unsigned_int_;
    0x004068e8 move t9, t8                   |         t9 = t8;
    0x004068ec jalr t9                       |         t9 ();
    0x004068f0 nop                           |         
    0x004068f4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004068f8 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004068fc sw v0, 0x1c(t8)               |         *((t8 + 28)) = v0;
    0x00406900 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406904 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
                                             |         if (t8 == 0) {
    0x00406908 bnez t8, 0x406954             |             
    0x0040690c nop                           |             
    0x00406910 lw t8, -0x7f14(gp)            |             t8 = *((gp - 8133));
    0x00406914 lw t8, (t8)                   |             t8 = *(t8);
    0x00406918 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             /* str.buffer_is_NULL__memory_low_n */
    0x0040691c addiu a0, v0, -0x7944         |             a0 = v0 + -0x7944;
    0x00406920 addiu a1, zero, 1             |             a1 = 1;
    0x00406924 addiu a2, zero, 0x1b          |             a2 = 0x1b;
    0x00406928 move a3, t8                   |             a3 = t8;
    0x0040692c lw t8, -0x7ed8(gp)            |             t8 = sym.imp.fwrite;
    0x00406930 move t9, t8                   |             t9 = t8;
    0x00406934 jalr t9                       |             t9 ();
    0x00406938 nop                           |             
    0x0040693c lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00406940 addiu a0, zero, 1             |             a0 = 1;
    0x00406944 lw t8, -0x7f44(gp)            |             t8 = sym.imp.exit;
    0x00406948 move t9, t8                   |             t9 = t8;
    0x0040694c jalr t9                       |             t9 ();
    0x00406950 nop                           |             
                                             |         }
    0x00406954 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406958 lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x0040695c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406960 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00406964 move a0, v0                   |         a0 = v0;
    0x00406968 move a1, zero                 |         a1 = 0;
    0x0040696c move a2, t8                   |         a2 = t8;
    0x00406970 lw t8, -0x7f34(gp)            |         t8 = sym.imp.memset;
    0x00406974 move t9, t8                   |         t9 = t8;
    0x00406978 jalr t9                       |         t9 ();
    0x0040697c nop                           |         
    0x00406980 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x00406984 lbu t8, 0x2b(fp)              |     t8 = *(arg_2bh);
                                             | label_0:
    0x00406988 move v0, t8                   |     v0 = t8;
    0x0040698c lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00406990 lw v1, 0x2c(fp)               |     v1 = *(arg_2ch);
    0x00406994 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00406998 beq v1, t8, 0x4069b0          |         
    0x0040699c nop                           |         
    0x004069a0 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x004069a4 move t9, t8                   |         t9 = t8;
    0x004069a8 jalr t9                       |         t9 ();
    0x004069ac nop                           |         
                                             |     }
    0x004069b0 move sp, fp                   |     
    0x004069b4 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x004069b8 lw fp, 0x30(sp)               |     fp = *(var_30h);
    0x004069bc addiu sp, sp, 0x38            |     
    0x004069c0 jr ra                         |     return v1;
    0x004069c4 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x406bbc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) method.LogBuffer.load__ ()       | void method_LogBuffer_load_ () {
                                             |     /* LogBuffer::load() */
    0x00406bbc lui gp, 2                     |     
    0x00406bc0 addiu gp, gp, -0x4b9c         |     
    0x00406bc4 addu gp, gp, t9               |     gp += t9;
    0x00406bc8 addiu sp, sp, -0x50           |     
    0x00406bcc sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x00406bd0 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x00406bd4 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00406bd8 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00406bdc move fp, sp                   |     fp = sp;
    0x00406be0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00406be4 sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x00406be8 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00406bec lw t8, (t8)                   |     t8 = *(t8);
    0x00406bf0 sw t8, 0x3c(fp)               |     *(arg_3ch) = t8;
    0x00406bf4 sb zero, 0x2a(fp)             |     *(arg_2ah) = 0;
    0x00406bf8 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._s___n */
    0x00406bfc addiu a0, t8, -0x798c         |     a0 = t8 + -0x798c;
    0x00406c00 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.load */
    0x00406c04 addiu a1, t8, -0x77c4         |     a1 = t8 + -0x77c4;
    0x00406c08 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00406c0c move t9, t8                   |     t9 = t8;
    0x00406c10 jalr t9                       |     t9 ();
    0x00406c14 nop                           |     
    0x00406c18 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406c1c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406c20 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 < 0) {
    0x00406c24 bltz t8, 0x407028             |         goto label_0;
                                             |     }
    0x00406c28 nop                           |     
    0x00406c2c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406c30 lw t8, (t8)                   |     t8 = *(t8);
    0x00406c34 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00406c38 move a0, t8                   |     a0 = t8;
    0x00406c3c move a2, zero                 |     a2 = 0;
    0x00406c40 move a3, zero                 |     a3 = 0;
    0x00406c44 lw t8, -0x7ef8(gp)            |     t8 = sym.imp.lseek64;
    0x00406c48 move t9, t8                   |     t9 = t8;
    0x00406c4c jalr t9                       |     t9 ();
    0x00406c50 nop                           |     
    0x00406c54 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406c58 move t8, v0                   |     t8 = v0;
    0x00406c5c move t9, v1                   |     t9 = v1;
    0x00406c60 srl t8, t9, 0x1f              |     t8 = t9 >> 0x1f;
    0x00406c64 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00406c68 beqz t8, 0x406c94             |         
    0x00406c6c nop                           |         
    0x00406c70 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.lseek */
    0x00406c74 addiu a0, t8, -0x7914         |         a0 = t8 + -0x7914;
    0x00406c78 lw t8, -0x7f38(gp)            |         t8 = sym.imp.perror;
    0x00406c7c move t9, t8                   |         t9 = t8;
    0x00406c80 jalr t9                       |         t9 ();
    0x00406c84 nop                           |         
    0x00406c88 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406c8c b 0x407028                    |         goto label_0;
    0x00406c90 nop                           |         
                                             |     }
    0x00406c94 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406c98 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406c9c sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x00406ca0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406ca4 lw t8, 0x1c(t8)               |     t8 = *((t8 + 7));
    0x00406ca8 sw t8, 0x34(fp)               |     *(arg_34h) = t8;
    0x00406cac b 0x406d94                    |     goto label_1;
    0x00406cb0 nop                           |     
                                             |     do {
    0x00406cb4 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406cb8 lw v0, (t8)                   |         v0 = *(t8);
    0x00406cbc lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406cc0 lw t8, 0x10(t8)               |         t8 = *((t8 + 4));
    0x00406cc4 move a0, v0                   |         a0 = v0;
    0x00406cc8 lw a1, 0x34(fp)               |         a1 = *(arg_34h);
    0x00406ccc move a2, t8                   |         a2 = t8;
    0x00406cd0 lw t8, -0x7ef4(gp)            |         t8 = sym.imp.read;
    0x00406cd4 move t9, t8                   |         t9 = t8;
    0x00406cd8 jalr t9                       |         t9 ();
    0x00406cdc nop                           |         
    0x00406ce0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406ce4 move t8, v0                   |         t8 = v0;
    0x00406ce8 sw t8, 0x2c(fp)               |         *(arg_2ch) = t8;
    0x00406cec lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.read_size__d_n */
    0x00406cf0 addiu a0, t8, -0x790c         |         a0 = t8 + -0x790c;
    0x00406cf4 lw a1, 0x2c(fp)               |         a1 = *(arg_2ch);
    0x00406cf8 lw t8, -0x7f58(gp)            |         t8 = sym.imp.printf
    0x00406cfc move t9, t8                   |         t9 = t8;
    0x00406d00 jalr t9                       |         t9 ();
    0x00406d04 nop                           |         
    0x00406d08 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406d0c lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
                                             |         if (t8 < 0) {
    0x00406d10 bgez t8, 0x406d74             |             
    0x00406d14 nop                           |             
    0x00406d18 lw t8, -0x7ec8(gp)            |             t8 = sym.imp.__errno_location;
    0x00406d1c move t9, t8                   |             t9 = t8;
    0x00406d20 jalr t9                       |             t9 ();
    0x00406d24 nop                           |             
    0x00406d28 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00406d2c move t8, v0                   |             t8 = v0;
    0x00406d30 lw v0, (t8)                   |             v0 = *(t8);
    0x00406d34 addiu t8, zero, 4             |             t8 = 4;
                                             |             if (v0 == t8) {
    0x00406d38 bne v0, t8, 0x406d4c          |                 
    0x00406d3c nop                           |                 
    0x00406d40 sw zero, 0x2c(fp)             |                 *(arg_2ch) = 0;
    0x00406d44 b 0x406d74                    |                 goto label_2;
    0x00406d48 nop                           |                 
                                             |             }
    0x00406d4c lw t8, -0x7fdc(gp)            |             t8 = *((gp - 8183));
                                             |             /* str.read */
    0x00406d50 addiu a0, t8, -0x78fc         |             a0 = t8 + -0x78fc;
    0x00406d54 lw t8, -0x7f38(gp)            |             t8 = sym.imp.perror;
    0x00406d58 move t9, t8                   |             t9 = t8;
    0x00406d5c jalr t9                       |             t9 ();
    0x00406d60 nop                           |             
    0x00406d64 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00406d68 lbu t8, 0x2a(fp)              |             t8 = *(arg_2ah);
    0x00406d6c b 0x40702c                    |             goto label_3;
    0x00406d70 nop                           |             
                                             |         }
                                             | label_2:
    0x00406d74 lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x00406d78 lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x00406d7c subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x00406d80 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x00406d84 lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x00406d88 lw v0, 0x34(fp)               |         v0 = *(arg_34h);
    0x00406d8c addu t8, v0, t8               |         t8 = v0 + t8;
    0x00406d90 sw t8, 0x34(fp)               |         *(arg_34h) = t8;
                                             | label_1:
    0x00406d94 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x00406d98 bgtz t8, 0x406cb4             |         
                                             |     } while (t8 > 0);
    0x00406d9c nop                           |     
    0x00406da0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406da4 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00406da8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406dac lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406db0 addiu t8, t8, -2              |     t8 += -2;
    0x00406db4 addu t8, v0, t8               |     t8 = v0 + t8;
    0x00406db8 lbu t8, (t8)                  |     t8 = *(t8);
    0x00406dbc nor t8, zero, t8              |     __asm ("nor t8, zero, t8");
    0x00406dc0 sb t8, 0x2b(fp)               |     *(arg_2bh) = t8;
    0x00406dc4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406dc8 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00406dcc lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406dd0 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406dd4 addiu t8, t8, -1              |     t8 += -1;
    0x00406dd8 addu t8, v0, t8               |     t8 = v0 + t8;
    0x00406ddc lbu t8, (t8)                  |     t8 = *(t8);
    0x00406de0 move s1, t8                   |     s1 = t8;
    0x00406de4 lbu s0, 0x2b(fp)              |     s0 = *(arg_2bh);
    0x00406de8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406dec lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00406df0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406df4 lw t8, 0x18(t8)               |     t8 = *((t8 + 6));
    0x00406df8 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00406dfc move a1, v0                   |     a1 = v0;
    0x00406e00 move a2, t8                   |     a2 = t8;
    0x00406e04 lw t8, -0x7f80(gp)            |     t8 = *(gp);
    0x00406e08 move t9, t8                   |     t9 = t8;
    0x00406e0c jalr t9                       |     t9 ();
    0x00406e10 nop                           |     
    0x00406e14 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406e18 move t8, v0                   |     t8 = v0;
    0x00406e1c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     /* str.checksum__02X___02X__make_checksum__02X_n */
    0x00406e20 addiu a0, v0, -0x78f4         |     a0 = v0 + -0x78f4;
    0x00406e24 move a1, s1                   |     a1 = s1;
    0x00406e28 move a2, s0                   |     a2 = s0;
    0x00406e2c move a3, t8                   |     a3 = t8;
    0x00406e30 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00406e34 move t9, t8                   |     t9 = t8;
    0x00406e38 jalr t9                       |     t9 ();
    0x00406e3c nop                           |     
    0x00406e40 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406e44 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406e48 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00406e4c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406e50 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x00406e54 addiu t8, t8, -1              |     t8 += -1;
    0x00406e58 addu t8, v0, t8               |     t8 = v0 + t8;
    0x00406e5c lbu t8, (t8)                  |     t8 = *(t8);
    0x00406e60 lbu v0, 0x2b(fp)              |     v0 = *(arg_2bh);
                                             |     if (v0 == t8) {
    0x00406e64 bne v0, t8, 0x406ec4          |         
    0x00406e68 nop                           |         
    0x00406e6c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406e70 lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x00406e74 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406e78 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00406e7c addiu t8, t8, -1              |         t8 += -1;
    0x00406e80 addu t8, v0, t8               |         t8 = v0 + t8;
    0x00406e84 lbu s0, (t8)                  |         s0 = *(t8);
    0x00406e88 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406e8c lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x00406e90 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406e94 lw t8, 0x18(t8)               |         t8 = *((t8 + 6));
    0x00406e98 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x00406e9c move a1, v0                   |         a1 = v0;
    0x00406ea0 move a2, t8                   |         a2 = t8;
    0x00406ea4 lw t8, -0x7f80(gp)            |         t8 = *(gp);
    0x00406ea8 move t9, t8                   |         t9 = t8;
    0x00406eac jalr t9                       |         t9 ();
    0x00406eb0 nop                           |         
    0x00406eb4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406eb8 move t8, v0                   |         t8 = v0;
                                             |         if (s0 == t8) {
    0x00406ebc beq s0, t8, 0x406ed0          |             goto label_4;
                                             |         }
    0x00406ec0 nop                           |         
                                             |     }
    0x00406ec4 addiu t8, zero, 1             |     t8 = 1;
    0x00406ec8 b 0x406ed4                    |     goto label_5;
    0x00406ecc nop                           |     
                                             | label_4:
    0x00406ed0 move t8, zero                 |     t8 = 0;
                                             |     if (t8 != 0) {
                                             | label_5:
    0x00406ed4 beqz t8, 0x406f58             |         
    0x00406ed8 nop                           |         
    0x00406edc lw t8, -0x7f14(gp)            |         t8 = *((gp - 8133));
    0x00406ee0 lw t8, (t8)                   |         t8 = *(t8);
    0x00406ee4 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         /* str.Invalid_checksum_n */
    0x00406ee8 addiu a0, v0, -0x78c8         |         a0 = v0 + -0x78c8;
    0x00406eec addiu a1, zero, 1             |         a1 = 1;
    0x00406ef0 addiu a2, zero, 0x11          |         a2 = 0x11;
    0x00406ef4 move a3, t8                   |         a3 = t8;
    0x00406ef8 lw t8, -0x7ed8(gp)            |         t8 = sym.imp.fwrite;
    0x00406efc move t9, t8                   |         t9 = t8;
    0x00406f00 jalr t9                       |         t9 ();
    0x00406f04 nop                           |         
    0x00406f08 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406f0c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406f10 sw zero, 4(t8)                |         *((t8 + 4)) = 0;
    0x00406f14 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406f18 lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x00406f1c lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406f20 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00406f24 move a0, v0                   |         a0 = v0;
    0x00406f28 move a1, zero                 |         a1 = 0;
    0x00406f2c move a2, t8                   |         a2 = t8;
    0x00406f30 lw t8, -0x7f34(gp)            |         t8 = sym.imp.memset;
    0x00406f34 move t9, t8                   |         t9 = t8;
    0x00406f38 jalr t9                       |         t9 ();
    0x00406f3c nop                           |         
    0x00406f40 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406f44 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406f48 addiu v0, zero, 1             |         v0 = 1;
    0x00406f4c sb v0, 0x20(t8)               |         *((t8 + 32)) = v0;
    0x00406f50 b 0x407020                    |         goto label_6;
    0x00406f54 nop                           |         
                                             |     }
    0x00406f58 sw zero, 0x38(fp)             |     *(arg_38h) = 0;
    0x00406f5c b 0x406fa4                    |     goto label_7;
    0x00406f60 nop                           |     
                                             |     do {
    0x00406f64 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406f68 lw v0, 0x1c(t8)               |         v0 = *((t8 + 7));
    0x00406f6c lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x00406f70 sll t8, t8, 7                 |         t8 <<= 7;
    0x00406f74 addu t8, v0, t8               |         t8 = v0 + t8;
    0x00406f78 lbu t8, (t8)                  |         t8 = *(t8);
                                             |         if (t8 != 0) {
    0x00406f7c beqz t8, 0x406f98             |             
    0x00406f80 nop                           |             
    0x00406f84 lw t8, 0x24(fp)               |             t8 = *(arg_24h);
    0x00406f88 lw t8, 4(t8)                  |             t8 = *((t8 + 1));
    0x00406f8c addiu v0, t8, 1               |             v0 = t8 + 1;
    0x00406f90 lw t8, 0x24(fp)               |             t8 = *(arg_24h);
    0x00406f94 sw v0, 4(t8)                  |             *((t8 + 4)) = v0;
                                             |         }
    0x00406f98 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x00406f9c addiu t8, t8, 1               |         t8++;
    0x00406fa0 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
                                             | label_7:
    0x00406fa4 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406fa8 lw v0, 8(t8)                  |         v0 = *((t8 + 2));
    0x00406fac lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x00406fb0 sltu t8, t8, v0               |         t8 = (t8 < v0) ? 1 : 0;
    0x00406fb4 bnez t8, 0x406f64             |         
                                             |     } while (t8 != 0);
    0x00406fb8 nop                           |     
    0x00406fbc lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406fc0 lw v0, 4(t8)                  |     v0 = *((t8 + 1));
    0x00406fc4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406fc8 sw v0, 0xc(t8)                |     *((t8 + 12)) = v0;
    0x00406fcc lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406fd0 lw v0, 4(t8)                  |     v0 = *((t8 + 1));
    0x00406fd4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406fd8 lw t8, 8(t8)                  |     t8 = *((t8 + 2));
    0x00406fdc sltu t8, v0, t8               |     t8 = (v0 < t8) ? 1 : 0;
                                             |     if (t8 == 0) {
    0x00406fe0 bnez t8, 0x406ff0             |         
    0x00406fe4 nop                           |         
    0x00406fe8 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00406fec sw zero, 4(t8)                |         *((t8 + 4)) = 0;
                                             |     }
    0x00406ff0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406ff4 lw t8, 0xc(t8)                |     t8 = *((t8 + 3));
    0x00406ff8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     /* str._s____count__u_n */
    0x00406ffc addiu a0, v0, -0x78b4         |     a0 = v0 + -0x78b4;
    0x00407000 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     /* str.load */
    0x00407004 addiu a1, v0, -0x77c4         |     a1 = v0 + -0x77c4;
    0x00407008 move a2, t8                   |     a2 = t8;
    0x0040700c lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x00407010 move t9, t8                   |     t9 = t8;
    0x00407014 jalr t9                       |     t9 ();
    0x00407018 nop                           |     
    0x0040701c lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_6:
    0x00407020 addiu t8, zero, 1             |     t8 = 1;
    0x00407024 sb t8, 0x2a(fp)               |     *(arg_2ah) = t8;
                                             | label_0:
    0x00407028 lbu t8, 0x2a(fp)              |     t8 = *(arg_2ah);
                                             | label_3:
    0x0040702c move v0, t8                   |     v0 = t8;
    0x00407030 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x00407034 lw v1, 0x3c(fp)               |     v1 = *(arg_3ch);
    0x00407038 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x0040703c beq v1, t8, 0x407054          |         
    0x00407040 nop                           |         
    0x00407044 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00407048 move t9, t8                   |         t9 = t8;
    0x0040704c jalr t9                       |         t9 ();
    0x00407050 nop                           |         
                                             |     }
    0x00407054 move sp, fp                   |     
    0x00407058 lw ra, 0x4c(sp)               |     ra = *(var_4ch);
    0x0040705c lw fp, 0x48(sp)               |     fp = *(var_48h);
    0x00407060 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00407064 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00407068 addiu sp, sp, 0x50            |     
    0x0040706c jr ra                         |     return v1;
    0x00407070 nop                           |     
                                             | }
    ; assembly                                                                   | /* r2dec pseudo code output */
                                                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x407074 */
                                                                                 | #include <stdint.h>
                                                                                 |  
    ; (fcn) method.LogBuffer.rebuild_unsigned_char_const__unsigned_char_ ()      | void method_LogBuffer_rebuild_unsigned_char_const_unsigned_char_ () {
                                                                                 |     /* LogBuffer::rebuild(unsigned char const*, unsigned char*) */
    0x00407074 lui gp, 2                                                         |     
    0x00407078 addiu gp, gp, -0x5054                                             |     
    0x0040707c addu gp, gp, t9                                                   |     gp += t9;
    0x00407080 addiu sp, sp, -0x40                                               |     
    0x00407084 sw ra, 0x3c(sp)                                                   |     *(var_3ch) = ra;
    0x00407088 sw fp, 0x38(sp)                                                   |     *(var_38h) = fp;
    0x0040708c move fp, sp                                                       |     fp = sp;
    0x00407090 sw gp, 0x10(sp)                                                   |     *(var_10h) = gp;
    0x00407094 sw a0, 0x24(fp)                                                   |     *(arg_24h) = a0;
    0x00407098 sw a1, 0x20(fp)                                                   |     *(arg_20h) = a1;
    0x0040709c sw a2, 0x1c(fp)                                                   |     *(arg_1ch) = a2;
    0x004070a0 lw t8, -0x7ecc(gp)                                                |     t8 = *((gp - 8115));
    0x004070a4 lw t8, (t8)                                                       |     t8 = *(t8);
    0x004070a8 sw t8, 0x34(fp)                                                   |     *(arg_34h) = t8;
    0x004070ac lw t8, 0x24(fp)                                                   |     t8 = *(arg_24h);
    0x004070b0 lw t8, 4(t8)                                                      |     t8 = *((t8 + 1));
    0x004070b4 sll t8, t8, 7                                                     |     t8 <<= 7;
    0x004070b8 lw v0, 0x20(fp)                                                   |     v0 = *(arg_20h);
    0x004070bc addu t8, v0, t8                                                   |     t8 = v0 + t8;
    0x004070c0 sw t8, 0x2c(fp)                                                   |     *(arg_2ch) = t8;
    0x004070c4 lw t8, 0x24(fp)                                                   |     t8 = *(arg_24h);
    0x004070c8 lw v0, 8(t8)                                                      |     v0 = *((t8 + 2));
    0x004070cc lw t8, 0x24(fp)                                                   |     t8 = *(arg_24h);
    0x004070d0 lw t8, 4(t8)                                                      |     t8 = *((t8 + 1));
    0x004070d4 subu t8, v0, t8                                                   |     __asm ("subu t8, v0, t8");
    0x004070d8 sll t8, t8, 7                                                     |     t8 <<= 7;
    0x004070dc sw t8, 0x30(fp)                                                   |     *(arg_30h) = t8;
    0x004070e0 lw t8, -0x7fdc(gp)                                                |     t8 = *((gp - 8183));
                                                                                 |     /* str._s___n */
    0x004070e4 addiu a0, t8, -0x798c                                             |     a0 = t8 + -0x798c;
    0x004070e8 lw t8, -0x7fdc(gp)                                                |     t8 = *((gp - 8183));
                                                                                 |     /* str.rebuild */
    0x004070ec addiu a1, t8, -0x77bc                                             |     a1 = t8 + -0x77bc;
    0x004070f0 lw t8, -0x7f58(gp)                                                |     t8 = sym.imp.printf
    0x004070f4 move t9, t8                                                       |     t9 = t8;
    0x004070f8 jalr t9                                                           |     t9 ();
    0x004070fc nop                                                               |     
    0x00407100 lw gp, 0x10(fp)                                                   |     gp = *(arg_10h);
    0x00407104 lw a0, 0x1c(fp)                                                   |     a0 = *(arg_1ch);
    0x00407108 lw a1, 0x2c(fp)                                                   |     a1 = *(arg_2ch);
    0x0040710c lw a2, 0x30(fp)                                                   |     a2 = *(arg_30h);
    0x00407110 lw t8, -0x7edc(gp)                                                |     t8 = sym.imp.memcpy;
    0x00407114 move t9, t8                                                       |     t9 = t8;
    0x00407118 jalr t9                                                           |     t9 ();
    0x0040711c nop                                                               |     
    0x00407120 lw gp, 0x10(fp)                                                   |     gp = *(arg_10h);
    0x00407124 lw v0, 0x1c(fp)                                                   |     v0 = *(arg_1ch);
    0x00407128 lw t8, 0x30(fp)                                                   |     t8 = *(arg_30h);
    0x0040712c addu v0, v0, t8                                                   |     v0 += t8;
    0x00407130 lw t8, 0x24(fp)                                                   |     t8 = *(arg_24h);
    0x00407134 lw t8, 4(t8)                                                      |     t8 = *((t8 + 1));
    0x00407138 sll t8, t8, 7                                                     |     t8 <<= 7;
    0x0040713c move a0, v0                                                       |     a0 = v0;
    0x00407140 lw a1, 0x20(fp)                                                   |     a1 = *(arg_20h);
    0x00407144 move a2, t8                                                       |     a2 = t8;
    0x00407148 lw t8, -0x7edc(gp)                                                |     t8 = sym.imp.memcpy;
    0x0040714c move t9, t8                                                       |     t9 = t8;
    0x00407150 jalr t9                                                           |     t9 ();
    0x00407154 nop                                                               |     
    0x00407158 lw gp, 0x10(fp)                                                   |     gp = *(arg_10h);
    0x0040715c lw t8, -0x7ecc(gp)                                                |     t8 = *((gp - 8115));
    0x00407160 lw v0, 0x34(fp)                                                   |     v0 = *(arg_34h);
    0x00407164 lw t8, (t8)                                                       |     t8 = *(t8);
                                                                                 |     if (v0 != t8) {
    0x00407168 beq v0, t8, 0x407180                                              |         
    0x0040716c nop                                                               |         
    0x00407170 lw t8, -0x7f08(gp)                                                |         t8 = sym.imp.__stack_chk_fail;
    0x00407174 move t9, t8                                                       |         t9 = t8;
    0x00407178 jalr t9                                                           |         t9 ();
    0x0040717c nop                                                               |         
                                                                                 |     }
    0x00407180 move sp, fp                                                       |     
    0x00407184 lw ra, 0x3c(sp)                                                   |     ra = *(var_3ch);
    0x00407188 lw fp, 0x38(sp)                                                   |     fp = *(var_38h);
    0x0040718c addiu sp, sp, 0x40                                                |     
    0x00407190 jr ra                                                             |     return v0;
    0x00407194 nop                                                               |     
                                                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x4069c8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) method.LogBuffer.release__ ()        | void method_LogBuffer_release_ () {
                                                 |     /* LogBuffer::release() */
    0x004069c8 lui gp, 2                         |     
    0x004069cc addiu gp, gp, -0x49a8             |     
    0x004069d0 addu gp, gp, t9                   |     gp += t9;
    0x004069d4 addiu sp, sp, -0x30               |     
    0x004069d8 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x004069dc sw fp, 0x28(sp)                   |     *(var_28h) = fp;
    0x004069e0 move fp, sp                       |     fp = sp;
    0x004069e4 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x004069e8 sw a0, 0x1c(fp)                   |     *(arg_1ch) = a0;
    0x004069ec lw t8, -0x7ecc(gp)                |     t8 = *((gp - 8115));
    0x004069f0 lw t8, (t8)                       |     t8 = *(t8);
    0x004069f4 sw t8, 0x24(fp)                   |     *(arg_24h) = t8;
    0x004069f8 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str._s___n */
    0x004069fc addiu a0, t8, -0x798c             |     a0 = t8 + -0x798c;
    0x00406a00 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.release */
    0x00406a04 addiu a1, t8, -0x77cc             |     a1 = t8 + -0x77cc;
    0x00406a08 lw t8, -0x7f58(gp)                |     t8 = sym.imp.printf
    0x00406a0c move t9, t8                       |     t9 = t8;
    0x00406a10 jalr t9                           |     t9 ();
    0x00406a14 nop                               |     
    0x00406a18 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00406a1c lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x00406a20 lw t8, -0x7fbc(gp)                |     t8 = *(gp);
    0x00406a24 move t9, t8                       |     t9 = t8;
    0x00406a28 jalr t9                           |     t9 ();
    0x00406a2c nop                               |     
    0x00406a30 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00406a34 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x00406a38 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (t8 >= 0) {
    0x00406a3c bltz t8, 0x406a70                 |         
    0x00406a40 nop                               |         
    0x00406a44 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x00406a48 lw t8, (t8)                       |         t8 = *(t8);
    0x00406a4c move a0, t8                       |         a0 = t8;
    0x00406a50 lw t8, -0x7f24(gp)                |         t8 = sym.imp.close;
    0x00406a54 move t9, t8                       |         t9 = t8;
    0x00406a58 jalr t9                           |         t9 ();
    0x00406a5c nop                               |         
    0x00406a60 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x00406a64 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x00406a68 addiu v0, zero, -1                |         v0 = -1;
    0x00406a6c sw v0, (t8)                       |         *(t8) = v0;
                                                 |     }
    0x00406a70 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x00406a74 lw t8, 0x1c(t8)                   |     t8 = *((t8 + 7));
                                                 |     if (t8 != 0) {
    0x00406a78 beqz t8, 0x406ab8                 |         
    0x00406a7c nop                               |         
    0x00406a80 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x00406a84 lw t8, 0x1c(t8)                   |         t8 = *((t8 + 7));
                                                 |         if (t8 != 0) {
    0x00406a88 beqz t8, 0x406ab0                 |             
    0x00406a8c nop                               |             
    0x00406a90 lw t8, 0x1c(fp)                   |             t8 = *(arg_1ch);
    0x00406a94 lw t8, 0x1c(t8)                   |             t8 = *((t8 + 7));
    0x00406a98 move a0, t8                       |             a0 = t8;
    0x00406a9c lw t8, -0x7f40(gp)                |             t8 = sym.imp.operator_delete___void_;
    0x00406aa0 move t9, t8                       |             t9 = t8;
    0x00406aa4 jalr t9                           |             t9 ();
    0x00406aa8 nop                               |             
    0x00406aac lw gp, 0x10(fp)                   |             gp = *(arg_10h);
                                                 |         }
    0x00406ab0 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x00406ab4 sw zero, 0x1c(t8)                 |         *((t8 + 28)) = 0;
                                                 |     }
    0x00406ab8 lw t8, -0x7ecc(gp)                |     t8 = *((gp - 8115));
    0x00406abc lw v0, 0x24(fp)                   |     v0 = *(arg_24h);
    0x00406ac0 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v0 != t8) {
    0x00406ac4 beq v0, t8, 0x406adc              |         
    0x00406ac8 nop                               |         
    0x00406acc lw t8, -0x7f08(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x00406ad0 move t9, t8                       |         t9 = t8;
    0x00406ad4 jalr t9                           |         t9 ();
    0x00406ad8 nop                               |         
                                                 |     }
    0x00406adc move sp, fp                       |     
    0x00406ae0 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x00406ae4 lw fp, 0x28(sp)                   |     fp = *(var_28h);
    0x00406ae8 addiu sp, sp, 0x30                |     
    0x00406aec jr ra                             |     return v0;
    0x00406af0 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/logd @ 0x407198 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) method.LogBuffer.save__ ()       | void method_LogBuffer_save_ () {
                                             |     /* LogBuffer::save() */
    0x00407198 lui gp, 2                     |     
    0x0040719c addiu gp, gp, -0x5178         |     
    0x004071a0 addu gp, gp, t9               |     gp += t9;
    0x004071a4 addiu sp, sp, -0x58           |     
    0x004071a8 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x004071ac sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x004071b0 sw s0, 0x4c(sp)               |     *(var_4ch) = s0;
    0x004071b4 move fp, sp                   |     fp = sp;
    0x004071b8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x004071bc sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x004071c0 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x004071c4 lw t8, (t8)                   |     t8 = *(t8);
    0x004071c8 sw t8, 0x44(fp)               |     *(arg_44h) = t8;
    0x004071cc sb zero, 0x2f(fp)             |     *(arg_2fh) = 0;
    0x004071d0 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._s___n */
    0x004071d4 addiu a0, t8, -0x798c         |     a0 = t8 + -0x798c;
    0x004071d8 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.save */
    0x004071dc addiu a1, t8, -0x77b4         |     a1 = t8 + -0x77b4;
    0x004071e0 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x004071e4 move t9, t8                   |     t9 = t8;
    0x004071e8 jalr t9                       |     t9 ();
    0x004071ec nop                           |     
    0x004071f0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004071f4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004071f8 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 < 0) {
    0x004071fc bltz t8, 0x4078e8             |         goto label_0;
                                             |     }
    0x00407200 nop                           |     
    0x00407204 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407208 lbu t8, 0x20(t8)              |     t8 = *((t8 + 32));
    0x0040720c xori t8, t8, 1                |     t8 ^= 1;
    0x00407210 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00407214 beqz t8, 0x40722c             |         
    0x00407218 nop                           |         
    0x0040721c addiu t8, zero, 1             |         t8 = 1;
    0x00407220 sb t8, 0x2f(fp)               |         *(arg_2fh) = t8;
    0x00407224 b 0x4078e8                    |         goto label_0;
    0x00407228 nop                           |         
                                             |     }
    0x0040722c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407230 lw t8, (t8)                   |     t8 = *(t8);
    0x00407234 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00407238 move a0, t8                   |     a0 = t8;
    0x0040723c move a2, zero                 |     a2 = 0;
    0x00407240 move a3, zero                 |     a3 = 0;
    0x00407244 lw t8, -0x7ef8(gp)            |     t8 = sym.imp.lseek64;
    0x00407248 move t9, t8                   |     t9 = t8;
    0x0040724c jalr t9                       |     t9 ();
    0x00407250 nop                           |     
    0x00407254 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00407258 move t8, v0                   |     t8 = v0;
    0x0040725c move t9, v1                   |     t9 = v1;
    0x00407260 srl t8, t9, 0x1f              |     t8 = t9 >> 0x1f;
    0x00407264 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00407268 beqz t8, 0x407294             |         
    0x0040726c nop                           |         
    0x00407270 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.lseek */
    0x00407274 addiu a0, t8, -0x7914         |         a0 = t8 + -0x7914;
    0x00407278 lw t8, -0x7f38(gp)            |         t8 = sym.imp.perror;
    0x0040727c move t9, t8                   |         t9 = t8;
    0x00407280 jalr t9                       |         t9 ();
    0x00407284 nop                           |         
    0x00407288 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0040728c b 0x4078e8                    |         goto label_0;
    0x00407290 nop                           |         
                                             |     }
    0x00407294 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407298 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x0040729c sw t8, 0x38(fp)               |     *(arg_38h) = t8;
    0x004072a0 sw zero, 0x3c(fp)             |     *(arg_3ch) = 0;
    0x004072a4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004072a8 lw v0, 0xc(t8)                |     v0 = *((t8 + 3));
    0x004072ac lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004072b0 lw t8, 4(t8)                  |     t8 = *((t8 + 1));
    0x004072b4 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     /* str._s____count__u__tail__u_n */
    0x004072b8 addiu a0, v1, -0x78a4         |     a0 = v1 + -0x78a4;
    0x004072bc lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     /* str.save */
    0x004072c0 addiu a1, v1, -0x77b4         |     a1 = v1 + -0x77b4;
    0x004072c4 move a2, v0                   |     a2 = v0;
    0x004072c8 move a3, t8                   |     a3 = t8;
    0x004072cc lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x004072d0 move t9, t8                   |     t9 = t8;
    0x004072d4 jalr t9                       |     t9 ();
    0x004072d8 nop                           |     
    0x004072dc lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004072e0 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004072e4 lw v0, 0xc(t8)                |     v0 = *((t8 + 3));
    0x004072e8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004072ec lw t8, 8(t8)                  |     t8 = *((t8 + 2));
                                             |     if (v0 == t8) {
    0x004072f0 bne v0, t8, 0x4073d4          |         
    0x004072f4 nop                           |         
    0x004072f8 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004072fc lw t8, 4(t8)                  |         t8 = *((t8 + 1));
                                             |         if (t8 == 0) {
    0x00407300 beqz t8, 0x4073d4             |             goto label_1;
                                             |         }
    0x00407304 nop                           |         
    0x00407308 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0040730c lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x00407310 move a0, t8                   |         a0 = t8;
    0x00407314 lw t8, -0x7f30(gp)            |         t8 = sym.imp.operator_new___unsigned_int_;
    0x00407318 move t9, t8                   |         t9 = t8;
    0x0040731c jalr t9                       |         t9 ();
    0x00407320 nop                           |         
    0x00407324 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407328 move t8, v0                   |         t8 = v0;
    0x0040732c sw t8, 0x3c(fp)               |         *(arg_3ch) = t8;
    0x00407330 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00407334 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
                                             |         if (t8 == 0) {
    0x00407338 bnez t8, 0x407384             |             
    0x0040733c nop                           |             
    0x00407340 lw t8, -0x7f14(gp)            |             t8 = *((gp - 8133));
    0x00407344 lw t8, (t8)                   |             t8 = *(t8);
    0x00407348 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             /* str.buffer_is_NULL__memory_low_n */
    0x0040734c addiu a0, v0, -0x7944         |             a0 = v0 + -0x7944;
    0x00407350 addiu a1, zero, 1             |             a1 = 1;
    0x00407354 addiu a2, zero, 0x1b          |             a2 = 0x1b;
    0x00407358 move a3, t8                   |             a3 = t8;
    0x0040735c lw t8, -0x7ed8(gp)            |             t8 = sym.imp.fwrite;
    0x00407360 move t9, t8                   |             t9 = t8;
    0x00407364 jalr t9                       |             t9 ();
    0x00407368 nop                           |             
    0x0040736c lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00407370 addiu a0, zero, 1             |             a0 = 1;
    0x00407374 lw t8, -0x7f44(gp)            |             t8 = sym.imp.exit;
    0x00407378 move t9, t8                   |             t9 = t8;
    0x0040737c jalr t9                       |             t9 ();
    0x00407380 nop                           |             
                                             |         }
    0x00407384 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00407388 lw t8, 0x14(t8)               |         t8 = *((t8 + 5));
    0x0040738c lw a0, 0x3c(fp)               |         a0 = *(arg_3ch);
    0x00407390 move a1, zero                 |         a1 = 0;
    0x00407394 move a2, t8                   |         a2 = t8;
    0x00407398 lw t8, -0x7f34(gp)            |         t8 = sym.imp.memset;
    0x0040739c move t9, t8                   |         t9 = t8;
    0x004073a0 jalr t9                       |         t9 ();
    0x004073a4 nop                           |         
    0x004073a8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004073ac lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004073b0 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
    0x004073b4 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x004073b8 move a1, t8                   |         a1 = t8;
    0x004073bc lw a2, 0x3c(fp)               |         a2 = *(arg_3ch);
    0x004073c0 lw t8, -0x7f7c(gp)            |         t8 = *(gp);
    0x004073c4 move t9, t8                   |         t9 = t8;
    0x004073c8 jalr t9                       |         t9 ();
    0x004073cc nop                           |         
    0x004073d0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_1:
    0x004073d4 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
                                             |     if (t8 == 0) {
    0x004073d8 bnez t8, 0x4073f0             |         
    0x004073dc nop                           |         
    0x004073e0 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004073e4 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
    0x004073e8 b 0x4073f4                    |         goto label_2;
    0x004073ec nop                           |         
                                             |     }
    0x004073f0 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
                                             | label_2:
    0x004073f4 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x004073f8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004073fc lw v0, 0x14(t8)               |     v0 = *((t8 + 5));
    0x00407400 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407404 lw t8, 0x10(t8)               |     t8 = *((t8 + 4));
    0x00407408 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
                                             |     /* str.total_size__ld__block_size__lu_n */
    0x0040740c addiu a0, v1, -0x7888         |     a0 = v1 + -0x7888;
    0x00407410 move a1, v0                   |     a1 = v0;
    0x00407414 move a2, t8                   |     a2 = t8;
    0x00407418 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x0040741c move t9, t8                   |     t9 = t8;
    0x00407420 jalr t9                       |     t9 ();
    0x00407424 nop                           |     
    0x00407428 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040742c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407430 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00407434 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407438 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x0040743c addiu t8, t8, -1              |     t8 += -1;
    0x00407440 addu s0, v0, t8               |     s0 = v0 + t8;
    0x00407444 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407448 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x0040744c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407450 lw t8, 0x18(t8)               |     t8 = *((t8 + 6));
    0x00407454 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00407458 move a1, v0                   |     a1 = v0;
    0x0040745c move a2, t8                   |     a2 = t8;
    0x00407460 lw t8, -0x7f80(gp)            |     t8 = *(gp);
    0x00407464 move t9, t8                   |     t9 = t8;
    0x00407468 jalr t9                       |     t9 ();
    0x0040746c nop                           |     
    0x00407470 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00407474 move t8, v0                   |     t8 = v0;
    0x00407478 sb t8, (s0)                   |     *(s0) = t8;
    0x0040747c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407480 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x00407484 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407488 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x0040748c addiu t8, t8, -2              |     t8 += -2;
    0x00407490 addu t8, v0, t8               |     t8 = v0 + t8;
    0x00407494 lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x00407498 lw v1, 0x1c(v0)               |     v1 = *((v0 + 7));
    0x0040749c lw v0, 0x24(fp)               |     v0 = *(arg_24h);
    0x004074a0 lw v0, 0x14(v0)               |     v0 = *((v0 + 5));
    0x004074a4 addiu v0, v0, -1              |     v0 += -1;
    0x004074a8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x004074ac lbu v0, (v0)                  |     v0 = *(v0);
    0x004074b0 nor v0, zero, v0              |     __asm ("nor v0, zero, v0");
    0x004074b4 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x004074b8 sb v0, (t8)                   |     *(t8) = v0;
    0x004074bc lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004074c0 lw v0, 0x1c(t8)               |     v0 = *((t8 + 7));
    0x004074c4 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004074c8 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x004074cc addiu t8, t8, -1              |     t8 += -1;
    0x004074d0 addu t8, v0, t8               |     t8 = v0 + t8;
    0x004074d4 lbu t8, (t8)                  |     t8 = *(t8);
    0x004074d8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     /* str.new_checksum__02X_n */
    0x004074dc addiu a0, v0, -0x7868         |     a0 = v0 + -0x7868;
    0x004074e0 move a1, t8                   |     a1 = t8;
    0x004074e4 lw t8, -0x7f58(gp)            |     t8 = sym.imp.printf
    0x004074e8 move t9, t8                   |     t9 = t8;
    0x004074ec jalr t9                       |     t9 ();
    0x004074f0 nop                           |     
    0x004074f4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004074f8 b 0x407628                    |     goto label_3;
    0x004074fc nop                           |     
                                             |     do {
    0x00407500 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00407504 lw v0, (t8)                   |         v0 = *(t8);
    0x00407508 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x0040750c lw t8, 0x10(t8)               |         t8 = *((t8 + 4));
    0x00407510 move a0, v0                   |         a0 = v0;
    0x00407514 lw a1, 0x30(fp)               |         a1 = *(arg_30h);
    0x00407518 move a2, t8                   |         a2 = t8;
    0x0040751c lw t8, -0x7f18(gp)            |         t8 = sym.imp.write;
    0x00407520 move t9, t8                   |         t9 = t8;
    0x00407524 jalr t9                       |         t9 ();
    0x00407528 nop                           |         
    0x0040752c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407530 move t8, v0                   |         t8 = v0;
    0x00407534 sw t8, 0x34(fp)               |         *(arg_34h) = t8;
    0x00407538 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.write_size__d_n */
    0x0040753c addiu a0, t8, -0x7854         |         a0 = t8 + -0x7854;
    0x00407540 lw a1, 0x34(fp)               |         a1 = *(arg_34h);
    0x00407544 lw t8, -0x7f58(gp)            |         t8 = sym.imp.printf
    0x00407548 move t9, t8                   |         t9 = t8;
    0x0040754c jalr t9                       |         t9 ();
    0x00407550 nop                           |         
    0x00407554 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407558 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
                                             |         if (t8 < 0) {
    0x0040755c bgez t8, 0x4075c0             |             
    0x00407560 nop                           |             
    0x00407564 lw t8, -0x7ec8(gp)            |             t8 = sym.imp.__errno_location;
    0x00407568 move t9, t8                   |             t9 = t8;
    0x0040756c jalr t9                       |             t9 ();
    0x00407570 nop                           |             
    0x00407574 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00407578 move t8, v0                   |             t8 = v0;
    0x0040757c lw v0, (t8)                   |             v0 = *(t8);
    0x00407580 addiu t8, zero, 4             |             t8 = 4;
                                             |             if (v0 == t8) {
    0x00407584 bne v0, t8, 0x407598          |                 
    0x00407588 nop                           |                 
    0x0040758c sw zero, 0x34(fp)             |                 *(arg_34h) = 0;
    0x00407590 b 0x407608                    |                 goto label_4;
    0x00407594 nop                           |                 
                                             |             }
    0x00407598 lw t8, -0x7fdc(gp)            |             t8 = *((gp - 8183));
                                             |             /* str.write */
    0x0040759c addiu a0, t8, -0x7844         |             a0 = t8 + -0x7844;
    0x004075a0 lw t8, -0x7f38(gp)            |             t8 = sym.imp.perror;
    0x004075a4 move t9, t8                   |             t9 = t8;
    0x004075a8 jalr t9                       |             t9 ();
    0x004075ac nop                           |             
    0x004075b0 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004075b4 lbu t8, 0x2f(fp)              |             t8 = *(arg_2fh);
    0x004075b8 b 0x4078ec                    |             goto label_5;
    0x004075bc nop                           |             
                                             |         }
    0x004075c0 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
                                             |         if (t8 == 0) {
    0x004075c4 bnez t8, 0x407608             |             
    0x004075c8 nop                           |             
    0x004075cc lw t8, -0x7f14(gp)            |             t8 = *((gp - 8133));
    0x004075d0 lw t8, (t8)                   |             t8 = *(t8);
    0x004075d4 lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             /* str.device_error__unable_to_write_it_n */
    0x004075d8 addiu a0, v0, -0x783c         |             a0 = v0 + -0x783c;
    0x004075dc addiu a1, zero, 1             |             a1 = 1;
    0x004075e0 addiu a2, zero, 0x21          |             a2 = 0x21;
    0x004075e4 move a3, t8                   |             a3 = t8;
    0x004075e8 lw t8, -0x7ed8(gp)            |             t8 = sym.imp.fwrite;
    0x004075ec move t9, t8                   |             t9 = t8;
    0x004075f0 jalr t9                       |             t9 ();
    0x004075f4 nop                           |             
    0x004075f8 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004075fc lbu t8, 0x2f(fp)              |             t8 = *(arg_2fh);
    0x00407600 b 0x4078ec                    |             goto label_5;
    0x00407604 nop                           |             
                                             |         }
                                             | label_4:
    0x00407608 lw v0, 0x38(fp)               |         v0 = *(arg_38h);
    0x0040760c lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x00407610 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x00407614 sw t8, 0x38(fp)               |         *(arg_38h) = t8;
    0x00407618 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x0040761c lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x00407620 addu t8, v0, t8               |         t8 = v0 + t8;
    0x00407624 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
                                             | label_3:
    0x00407628 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x0040762c bgtz t8, 0x407500             |         
                                             |     } while (t8 > 0);
    0x00407630 nop                           |     
    0x00407634 addiu t8, zero, -1            |     t8 = -1;
    0x00407638 sw t8, 0x40(fp)               |     *(arg_40h) = t8;
    0x0040763c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407640 lw v0, 0x24(t8)               |     v0 = *((t8 + 9));
    0x00407644 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x00407648 bne v0, t8, 0x407680          |         
    0x0040764c nop                           |         
    0x00407650 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str._dev_mtd_log_bak */
    0x00407654 addiu a0, t8, -0x7928         |         a0 = t8 + -0x7928;
    0x00407658 addiu a1, zero, 2             |         a1 = 2;
    0x0040765c lw t8, -0x7f48(gp)            |         t8 = sym.imp.open64;
    0x00407660 move t9, t8                   |         t9 = t8;
    0x00407664 jalr t9                       |         t9 ();
    0x00407668 nop                           |         
    0x0040766c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407670 move t8, v0                   |         t8 = v0;
    0x00407674 sw t8, 0x40(fp)               |         *(arg_40h) = t8;
    0x00407678 b 0x4076bc                    |         goto label_6;
    0x0040767c nop                           |         
                                             |     }
    0x00407680 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407684 lw v0, 0x24(t8)               |     v0 = *((t8 + 9));
    0x00407688 addiu t8, zero, 2             |     t8 = 2;
                                             |     if (v0 == t8) {
    0x0040768c bne v0, t8, 0x4076bc          |         
    0x00407690 nop                           |         
    0x00407694 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str._dev_mtd_log */
    0x00407698 addiu a0, t8, -0x7984         |         a0 = t8 + -0x7984;
    0x0040769c addiu a1, zero, 2             |         a1 = 2;
    0x004076a0 lw t8, -0x7f48(gp)            |         t8 = sym.imp.open64;
    0x004076a4 move t9, t8                   |         t9 = t8;
    0x004076a8 jalr t9                       |         t9 ();
    0x004076ac nop                           |         
    0x004076b0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004076b4 move t8, v0                   |         t8 = v0;
    0x004076b8 sw t8, 0x40(fp)               |         *(arg_40h) = t8;
                                             |     }
                                             | label_6:
    0x004076bc lw t8, 0x40(fp)               |     t8 = *(arg_40h);
                                             |     if (t8 <= 0) {
    0x004076c0 blez t8, 0x40788c             |         goto label_7;
                                             |     }
    0x004076c4 nop                           |     
    0x004076c8 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
                                             |     if (t8 == 0) {
    0x004076cc bnez t8, 0x4076e4             |         
    0x004076d0 nop                           |         
    0x004076d4 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x004076d8 lw t8, 0x1c(t8)               |         t8 = *((t8 + 7));
    0x004076dc b 0x4076e8                    |         goto label_8;
    0x004076e0 nop                           |         
                                             |     }
    0x004076e4 lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
                                             | label_8:
    0x004076e8 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x004076ec lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x004076f0 lw t8, 0x14(t8)               |     t8 = *((t8 + 5));
    0x004076f4 sw t8, 0x38(fp)               |     *(arg_38h) = t8;
    0x004076f8 b 0x407860                    |     goto label_9;
    0x004076fc nop                           |     
                                             |     do {
    0x00407700 lw t8, 0x24(fp)               |         t8 = *(arg_24h);
    0x00407704 lw t8, 0x10(t8)               |         t8 = *((t8 + 4));
    0x00407708 lw a0, 0x40(fp)               |         a0 = *(arg_40h);
    0x0040770c lw a1, 0x30(fp)               |         a1 = *(arg_30h);
    0x00407710 move a2, t8                   |         a2 = t8;
    0x00407714 lw t8, -0x7f18(gp)            |         t8 = sym.imp.write;
    0x00407718 move t9, t8                   |         t9 = t8;
    0x0040771c jalr t9                       |         t9 ();
    0x00407720 nop                           |         
    0x00407724 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407728 move t8, v0                   |         t8 = v0;
    0x0040772c sw t8, 0x34(fp)               |         *(arg_34h) = t8;
    0x00407730 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.write_size__d_n */
    0x00407734 addiu a0, t8, -0x7854         |         a0 = t8 + -0x7854;
    0x00407738 lw a1, 0x34(fp)               |         a1 = *(arg_34h);
    0x0040773c lw t8, -0x7f58(gp)            |         t8 = sym.imp.printf
    0x00407740 move t9, t8                   |         t9 = t8;
    0x00407744 jalr t9                       |         t9 ();
    0x00407748 nop                           |         
    0x0040774c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00407750 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
                                             |         if (t8 < 0) {
    0x00407754 bgez t8, 0x4077d8             |             
    0x00407758 nop                           |             
    0x0040775c lw t8, -0x7ec8(gp)            |             t8 = sym.imp.__errno_location;
    0x00407760 move t9, t8                   |             t9 = t8;
    0x00407764 jalr t9                       |             t9 ();
    0x00407768 nop                           |             
    0x0040776c lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00407770 move t8, v0                   |             t8 = v0;
    0x00407774 lw v0, (t8)                   |             v0 = *(t8);
    0x00407778 addiu t8, zero, 4             |             t8 = 4;
                                             |             if (v0 == t8) {
    0x0040777c bne v0, t8, 0x407790          |                 
    0x00407780 nop                           |                 
    0x00407784 sw zero, 0x34(fp)             |                 *(arg_34h) = 0;
    0x00407788 b 0x407840                    |                 goto label_10;
    0x0040778c nop                           |                 
                                             |             }
    0x00407790 lw t8, -0x7fdc(gp)            |             t8 = *((gp - 8183));
                                             |             /* str.write */
    0x00407794 addiu a0, t8, -0x7844         |             a0 = t8 + -0x7844;
    0x00407798 lw t8, -0x7f38(gp)            |             t8 = sym.imp.perror;
    0x0040779c move t9, t8                   |             t9 = t8;
    0x004077a0 jalr t9                       |             t9 ();
    0x004077a4 nop                           |             
    0x004077a8 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004077ac lw a0, 0x40(fp)               |             a0 = *(arg_40h);
    0x004077b0 lw t8, -0x7f24(gp)            |             t8 = sym.imp.close;
    0x004077b4 move t9, t8                   |             t9 = t8;
    0x004077b8 jalr t9                       |             t9 ();
    0x004077bc nop                           |             
    0x004077c0 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x004077c4 addiu t8, zero, -1            |             t8 = -1;
    0x004077c8 sw t8, 0x40(fp)               |             *(arg_40h) = t8;
    0x004077cc lbu t8, 0x2f(fp)              |             t8 = *(arg_2fh);
    0x004077d0 b 0x4078ec                    |             goto label_5;
    0x004077d4 nop                           |             
                                             |         }
    0x004077d8 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
                                             |         if (t8 == 0) {
    0x004077dc bnez t8, 0x407840             |             
    0x004077e0 nop                           |             
    0x004077e4 lw t8, -0x7f14(gp)            |             t8 = *((gp - 8133));
    0x004077e8 lw t8, (t8)                   |             t8 = *(t8);
    0x004077ec lw v0, -0x7fdc(gp)            |             v0 = *((gp - 8183));
                                             |             /* str.device_error__unable_to_write_it_n */
    0x004077f0 addiu a0, v0, -0x783c         |             a0 = v0 + -0x783c;
    0x004077f4 addiu a1, zero, 1             |             a1 = 1;
    0x004077f8 addiu a2, zero, 0x21          |             a2 = 0x21;
    0x004077fc move a3, t8                   |             a3 = t8;
    0x00407800 lw t8, -0x7ed8(gp)            |             t8 = sym.imp.fwrite;
    0x00407804 move t9, t8                   |             t9 = t8;
    0x00407808 jalr t9                       |             t9 ();
    0x0040780c nop                           |             
    0x00407810 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00407814 lw a0, 0x40(fp)               |             a0 = *(arg_40h);
    0x00407818 lw t8, -0x7f24(gp)            |             t8 = sym.imp.close;
    0x0040781c move t9, t8                   |             t9 = t8;
    0x00407820 jalr t9                       |             t9 ();
    0x00407824 nop                           |             
    0x00407828 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x0040782c addiu t8, zero, -1            |             t8 = -1;
    0x00407830 sw t8, 0x40(fp)               |             *(arg_40h) = t8;
    0x00407834 lbu t8, 0x2f(fp)              |             t8 = *(arg_2fh);
    0x00407838 b 0x4078ec                    |             goto label_5;
    0x0040783c nop                           |             
                                             |         }
                                             | label_10:
    0x00407840 lw v0, 0x38(fp)               |         v0 = *(arg_38h);
    0x00407844 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x00407848 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x0040784c sw t8, 0x38(fp)               |         *(arg_38h) = t8;
    0x00407850 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x00407854 lw v0, 0x30(fp)               |         v0 = *(arg_30h);
    0x00407858 addu t8, v0, t8               |         t8 = v0 + t8;
    0x0040785c sw t8, 0x30(fp)               |         *(arg_30h) = t8;
                                             | label_9:
    0x00407860 lw t8, 0x38(fp)               |         t8 = *(arg_38h);
    0x00407864 bgtz t8, 0x407700             |         
                                             |     } while (t8 > 0);
    0x00407868 nop                           |     
    0x0040786c lw a0, 0x40(fp)               |     a0 = *(arg_40h);
    0x00407870 lw t8, -0x7f24(gp)            |     t8 = sym.imp.close;
    0x00407874 move t9, t8                   |     t9 = t8;
    0x00407878 jalr t9                       |     t9 ();
    0x0040787c nop                           |     
    0x00407880 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00407884 addiu t8, zero, -1            |     t8 = -1;
    0x00407888 sw t8, 0x40(fp)               |     *(arg_40h) = t8;
                                             | label_7:
    0x0040788c lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00407890 sb zero, 0x20(t8)             |     *((t8 + 32)) = 0;
    0x00407894 addiu t8, zero, 1             |     t8 = 1;
    0x00407898 sb t8, 0x2f(fp)               |     *(arg_2fh) = t8;
    0x0040789c lw t8, 0x3c(fp)               |     t8 = *(arg_3ch);
                                             |     if (t8 != 0) {
    0x004078a0 beqz t8, 0x4078e8             |         
    0x004078a4 nop                           |         
    0x004078a8 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
                                             |         /* str.delete_new_buffer */
    0x004078ac addiu a0, t8, -0x7818         |         a0 = t8 + -0x7818;
    0x004078b0 lw t8, -0x7f5c(gp)            |         t8 = sym.imp.puts;
    0x004078b4 move t9, t8                   |         t9 = t8;
    0x004078b8 jalr t9                       |         t9 ();
    0x004078bc nop                           |         
    0x004078c0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004078c4 lw t8, 0x3c(fp)               |         t8 = *(arg_3ch);
                                             |         if (t8 == 0) {
    0x004078c8 beqz t8, 0x4078e8             |             goto label_0;
                                             |         }
    0x004078cc nop                           |         
    0x004078d0 lw a0, 0x3c(fp)               |         a0 = *(arg_3ch);
    0x004078d4 lw t8, -0x7f40(gp)            |         t8 = sym.imp.operator_delete___void_;
    0x004078d8 move t9, t8                   |         t9 = t8;
    0x004078dc jalr t9                       |         t9 ();
    0x004078e0 nop                           |         
    0x004078e4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_0:
    0x004078e8 lbu t8, 0x2f(fp)              |     t8 = *(arg_2fh);
                                             | label_5:
    0x004078ec move v0, t8                   |     v0 = t8;
    0x004078f0 lw t8, -0x7ecc(gp)            |     t8 = *((gp - 8115));
    0x004078f4 lw v1, 0x44(fp)               |     v1 = *(arg_44h);
    0x004078f8 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x004078fc beq v1, t8, 0x407914          |         
    0x00407900 nop                           |         
    0x00407904 lw t8, -0x7f08(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00407908 move t9, t8                   |         t9 = t8;
    0x0040790c jalr t9                       |         t9 ();
    0x00407910 nop                           |         
                                             |     }
    0x00407914 move sp, fp                   |     
    0x00407918 lw ra, 0x54(sp)               |     ra = *(var_54h);
    0x0040791c lw fp, 0x50(sp)               |     fp = *(var_50h);
    0x00407920 lw s0, 0x4c(sp)               |     s0 = *(var_4ch);
    0x00407924 addiu sp, sp, 0x58            |     
    0x00407928 jr ra                         |     return v1;
    0x0040792c nop                           |     
                                             | }

[*] Function printf used 25 times logd