[*] Binary protection state of myDlinkEvent

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


[*] Function printf tear down of myDlinkEvent

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/myDlinkEvent @ 0x402bb4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.blockStatus__MultiCastPackage__ ()           | void blockStatus_MultiCastPackage_ () {
                                                             |     /* blockStatus(_MultiCastPackage_*) */
    0x00402bb4 lui gp, 2                                     |     
    0x00402bb8 addiu gp, gp, -0x6b34                         |     
    0x00402bbc addu gp, gp, t9                               |     gp += t9;
    0x00402bc0 addiu sp, sp, -0x30                           |     
    0x00402bc4 sw ra, 0x2c(sp)                               |     *(var_2ch) = ra;
    0x00402bc8 sw fp, 0x28(sp)                               |     *(var_28h) = fp;
    0x00402bcc move fp, sp                                   |     fp = sp;
    0x00402bd0 sw gp, 0x10(sp)                               |     *(var_10h) = gp;
    0x00402bd4 sw a0, 0x1c(fp)                               |     *(arg_1ch) = a0;
    0x00402bd8 lw t8, -0x7f00(gp)                            |     t8 = *((gp - 8128));
    0x00402bdc lw t8, (t8)                                   |     t8 = *(t8);
    0x00402be0 sw t8, 0x24(fp)                               |     *(arg_24h) = t8;
    0x00402be4 lw t8, 0x1c(fp)                               |     t8 = *(arg_1ch);
    0x00402be8 lwl v0, 3(t8)                                 |     __asm ("lwl v0, 3(t8)");
    0x00402bec move v1, v0                                   |     v1 = v0;
    0x00402bf0 lwr v1, (t8)                                  |     __asm ("lwr v1, (t8)");
    0x00402bf4 move t8, v1                                   |     t8 = v1;
    0x00402bf8 andi t8, t8, 1                                |     t8 &= 1;
                                                             |     if (t8 != 0) {
    0x00402bfc beqz t8, 0x402c7c                             |         
    0x00402c00 nop                                           |         
    0x00402c04 lw t8, -0x7fd0(gp)                            |         t8 = *(gp);
                                                             |         /* str._tmp_file_motion_event */
    0x00402c08 addiu a0, t8, 0x38b0                          |         a0 = t8 + 0x38b0;
    0x00402c0c lw t8, -0x7fd0(gp)                            |         t8 = *(gp);
    0x00402c10 addiu a1, t8, 0x35a0                          |         a1 = t8 + 0x35a0;
    0x00402c14 lw t8, -0x7f24(gp)                            |         t8 = sym.imp.fopen64;
    0x00402c18 move t9, t8                                   |         t9 = t8;
    0x00402c1c jalr t9                                       |         t9 ();
    0x00402c20 nop                                           |         
    0x00402c24 lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x00402c28 move t8, v0                                   |         t8 = v0;
    0x00402c2c sw t8, 0x20(fp)                               |         *(arg_20h) = t8;
    0x00402c30 lw t8, 0x20(fp)                               |         t8 = *(arg_20h);
                                                             |         if (t8 == 0) {
    0x00402c34 beqz t8, 0x402c7c                             |             goto label_0;
                                                             |         }
    0x00402c38 nop                                           |         
    0x00402c3c lw a0, 0x20(fp)                               |         a0 = *(arg_20h);
    0x00402c40 lw t8, -0x7f38(gp)                            |         t8 = sym.imp.fclose;
    0x00402c44 move t9, t8                                   |         t9 = t8;
    0x00402c48 jalr t9                                       |         t9 ();
    0x00402c4c nop                                           |         
    0x00402c50 lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x00402c54 lw t8, -0x7fd0(gp)                            |         t8 = *(gp);
                                                             |         /* str.e_1_36mBlock_MOTION_DETECTION_EVENT_ne_0m */
    0x00402c58 addiu a0, t8, 0x38c8                          |         a0 = t8 + 0x38c8;
    0x00402c5c lw t8, -0x7f68(gp)                            |         t8 = sym.imp.printf
    0x00402c60 move t9, t8                                   |         t9 = t8;
    0x00402c64 jalr t9                                       |         t9 ();
    0x00402c68 nop                                           |         
    0x00402c6c lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x00402c70 addiu t8, zero, 1                             |         t8 = 1;
    0x00402c74 b 0x402c80                                    |         goto label_1;
    0x00402c78 nop                                           |         
                                                             |     }
                                                             | label_0:
    0x00402c7c move t8, zero                                 |     t8 = 0;
                                                             | label_1:
    0x00402c80 move v0, t8                                   |     v0 = t8;
    0x00402c84 lw t8, -0x7f00(gp)                            |     t8 = *((gp - 8128));
    0x00402c88 lw v1, 0x24(fp)                               |     v1 = *(arg_24h);
    0x00402c8c lw t8, (t8)                                   |     t8 = *(t8);
                                                             |     if (v1 != t8) {
    0x00402c90 beq v1, t8, 0x402ca8                          |         
    0x00402c94 nop                                           |         
    0x00402c98 lw t8, -0x7f40(gp)                            |         t8 = sym.imp.__stack_chk_fail;
    0x00402c9c move t9, t8                                   |         t9 = t8;
    0x00402ca0 jalr t9                                       |         t9 ();
    0x00402ca4 nop                                           |         
                                                             |     }
    0x00402ca8 move sp, fp                                   |     
    0x00402cac lw ra, 0x2c(sp)                               |     ra = *(var_2ch);
    0x00402cb0 lw fp, 0x28(sp)                               |     fp = *(var_28h);
    0x00402cb4 addiu sp, sp, 0x30                            |     
    0x00402cb8 jr ra                                         |     return v1;
    0x00402cbc nop                                           |     
                                                             | }
    ; assembly                                                           | /* r2dec pseudo code output */
                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/myDlinkEvent @ 0x40141c */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) sym.sendMulitcast_unsigned_char__unsigned_int__char_ ()      | void sendMulitcast_unsigned_char_unsigned_int_char_ () {
                                                                         |     /* sendMulitcast(unsigned char*, unsigned int, char*) */
    0x0040141c lui gp, 2                                                 |     
    0x00401420 addiu gp, gp, -0x539c                                     |     
    0x00401424 addu gp, gp, t9                                           |     gp += t9;
    0x00401428 addiu sp, sp, -0x48                                       |     
    0x0040142c sw ra, 0x44(sp)                                           |     *(var_44h) = ra;
    0x00401430 sw fp, 0x40(sp)                                           |     *(var_40h) = fp;
    0x00401434 move fp, sp                                               |     fp = sp;
    0x00401438 sw gp, 0x18(sp)                                           |     *(var_18h) = gp;
    0x0040143c sw a0, 0x2c(fp)                                           |     *(arg_2ch) = a0;
    0x00401440 sw a1, 0x28(fp)                                           |     *(arg_28h) = a1;
    0x00401444 sw a2, 0x24(fp)                                           |     *(arg_24h) = a2;
    0x00401448 lw t8, -0x7f00(gp)                                        |     t8 = *((gp - 8128));
    0x0040144c lw t8, (t8)                                               |     t8 = *(t8);
    0x00401450 sw t8, 0x3c(fp)                                           |     *(arg_3ch) = t8;
    0x00401454 lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x00401458 lhu t8, 0xe(t8)                                           |     t8 = *((t8 + 7));
    0x0040145c move a0, t8                                               |     a0 = t8;
    0x00401460 lw t8, -0x7efc(gp)                                        |     t8 = sym.imp.htons;
    0x00401464 move t9, t8                                               |     t9 = t8;
    0x00401468 jalr t9                                                   |     t9 ();
    0x0040146c nop                                                       |     
    0x00401470 lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x00401474 move t8, v0                                               |     t8 = v0;
    0x00401478 move v0, t8                                               |     v0 = t8;
    0x0040147c lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x00401480 sh v0, 0xe(t8)                                            |     *((t8 + 14)) = v0;
    0x00401484 lw t8, 0x2c(fp)                                           |     t8 = *(arg_2ch);
    0x00401488 lw v0, -0x7fd4(gp)                                        |     v0 = *(gp);
    0x0040148c lw a1, (v0)                                               |     a1 = *(v0);
    0x00401490 lw a0, 4(v0)                                              |     a0 = *((v0 + 1));
    0x00401494 lw v1, 8(v0)                                              |     v1 = *((v0 + 2));
    0x00401498 lw v0, 0xc(v0)                                            |     v0 = *((v0 + 3));
    0x0040149c swl a1, 3(t8)                                             |     __asm ("swl a1, 3(t8)");
    0x004014a0 swr a1, (t8)                                              |     __asm ("swr a1, (t8)");
    0x004014a4 swl a0, 7(t8)                                             |     __asm ("swl a0, 7(t8)");
    0x004014a8 swr a0, 4(t8)                                             |     __asm ("swr a0, 4(t8)");
    0x004014ac swl v1, 0xb(t8)                                           |     __asm ("swl v1, 0xb(t8)");
    0x004014b0 swr v1, 8(t8)                                             |     __asm ("swr v1, 8(t8)");
    0x004014b4 swl v0, 0xf(t8)                                           |     __asm ("swl v0, 0xf(t8)");
    0x004014b8 swr v0, 0xc(t8)                                           |     __asm ("swr v0, 0xc(t8)");
    0x004014bc addiu t8, fp, 0x30                                        |     t8 = fp + 0x30;
    0x004014c0 lw v0, -0x7fd0(gp)                                        |     v0 = *(gp);
                                                                         |     /* str.127.0.0.1 */
    0x004014c4 addiu a0, v0, 0x34b0                                      |     a0 = v0 + 0x34b0;
    0x004014c8 lw a1, 0x24(fp)                                           |     a1 = *(arg_24h);
    0x004014cc move a2, zero                                             |     a2 = 0;
    0x004014d0 move a3, t8                                               |     a3 = t8;
    0x004014d4 lw t8, -0x7f78(gp)                                        |     t8 = sym.imp.getaddrinfo;
    0x004014d8 move t9, t8                                               |     t9 = t8;
    0x004014dc jalr t9                                                   |     t9 ();
    0x004014e0 nop                                                       |     
    0x004014e4 lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x004014e8 lw t8, 0x30(fp)                                           |     t8 = *(arg_30h);
    0x004014ec lw t8, 4(t8)                                              |     t8 = *((t8 + 1));
    0x004014f0 move a0, t8                                               |     a0 = t8;
    0x004014f4 addiu a1, zero, 1                                         |     a1 = 1;
    0x004014f8 move a2, zero                                             |     a2 = 0;
    0x004014fc lw t8, -0x7f58(gp)                                        |     t8 = sym.imp.socket;
    0x00401500 move t9, t8                                               |     t9 = t8;
    0x00401504 jalr t9                                                   |     t9 ();
    0x00401508 nop                                                       |     
    0x0040150c lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x00401510 sw v0, 0x38(fp)                                           |     *(arg_38h) = v0;
    0x00401514 addiu t8, zero, 1                                         |     t8 = 1;
    0x00401518 sw t8, 0x34(fp)                                           |     *(arg_34h) = t8;
    0x0040151c addiu t8, fp, 0x34                                        |     t8 = fp + 0x34;
    0x00401520 addiu v0, zero, 4                                         |     v0 = 4;
    0x00401524 sw v0, 0x10(sp)                                           |     *(var_10h) = v0;
    0x00401528 lw a0, 0x38(fp)                                           |     a0 = *(arg_38h);
    0x0040152c ori a1, zero, 0xffff                                      |     a1 = 0xffff;
    0x00401530 addiu a2, zero, 4                                         |     a2 = 4;
    0x00401534 move a3, t8                                               |     a3 = t8;
    0x00401538 lw t8, -0x7f3c(gp)                                        |     t8 = sym.imp.setsockopt;
    0x0040153c move t9, t8                                               |     t9 = t8;
    0x00401540 jalr t9                                                   |     t9 ();
    0x00401544 nop                                                       |     
    0x00401548 lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x0040154c lw t8, -0x7fd0(gp)                                        |     t8 = *(gp);
                                                                         |     /* str.send_to__s_n */
    0x00401550 addiu a0, t8, 0x34bc                                      |     a0 = t8 + 0x34bc;
    0x00401554 lw t8, -0x7fd0(gp)                                        |     t8 = *(gp);
                                                                         |     /* str.127.0.0.1 */
    0x00401558 addiu a1, t8, 0x34b0                                      |     a1 = t8 + 0x34b0;
    0x0040155c lw t8, -0x7f68(gp)                                        |     t8 = sym.imp.printf
    0x00401560 move t9, t8                                               |     t9 = t8;
    0x00401564 jalr t9                                                   |     t9 ();
    0x00401568 nop                                                       |     
    0x0040156c lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x00401570 lw t8, 0x30(fp)                                           |     t8 = *(arg_30h);
    0x00401574 lw v0, 0x14(t8)                                           |     v0 = *((t8 + 5));
    0x00401578 lw t8, 0x30(fp)                                           |     t8 = *(arg_30h);
    0x0040157c lw t8, 0x10(t8)                                           |     t8 = *((t8 + 4));
    0x00401580 sw v0, 0x10(sp)                                           |     *(var_10h) = v0;
    0x00401584 sw t8, 0x14(sp)                                           |     *(var_14h) = t8;
    0x00401588 lw a0, 0x38(fp)                                           |     a0 = *(arg_38h);
    0x0040158c lw a1, 0x2c(fp)                                           |     a1 = *(arg_2ch);
    0x00401590 lw a2, 0x28(fp)                                           |     a2 = *(arg_28h);
    0x00401594 move a3, zero                                             |     a3 = 0;
    0x00401598 lw t8, -0x7f2c(gp)                                        |     t8 = sym.imp.sendto;
    0x0040159c move t9, t8                                               |     t9 = t8;
    0x004015a0 jalr t9                                                   |     t9 ();
    0x004015a4 nop                                                       |     
    0x004015a8 lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x004015ac move t8, v0                                               |     t8 = v0;
    0x004015b0 srl t8, t8, 0x1f                                          |     t8 >>= 0x1f;
    0x004015b4 andi t8, t8, 0xff                                         |     t8 &= 0xff;
                                                                         |     if (t8 != 0) {
    0x004015b8 beqz t8, 0x4015dc                                         |         
    0x004015bc nop                                                       |         
    0x004015c0 lw t8, -0x7fd0(gp)                                        |         t8 = *(gp);
                                                                         |         /* str.sendto___sent_a_different_number_of_bytes_than_expected. */
    0x004015c4 addiu a0, t8, 0x34c8                                      |         a0 = t8 + 0x34c8;
    0x004015c8 lw t8, -0x7f70(gp)                                        |         t8 = sym.imp.puts;
    0x004015cc move t9, t8                                               |         t9 = t8;
    0x004015d0 jalr t9                                                   |         t9 ();
    0x004015d4 nop                                                       |         
    0x004015d8 lw gp, 0x18(fp)                                           |         gp = *(arg_18h);
                                                                         |     }
    0x004015dc lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x004015e0 sh zero, 0xe(t8)                                          |     *((t8 + 14)) = 0;
    0x004015e4 lw t8, 0x30(fp)                                           |     t8 = *(arg_30h);
    0x004015e8 move a0, t8                                               |     a0 = t8;
    0x004015ec lw t8, -0x7f18(gp)                                        |     t8 = sym.imp.freeaddrinfo;
    0x004015f0 move t9, t8                                               |     t9 = t8;
    0x004015f4 jalr t9                                                   |     t9 ();
    0x004015f8 nop                                                       |     
    0x004015fc lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x00401600 lw a0, 0x38(fp)                                           |     a0 = *(arg_38h);
    0x00401604 lw t8, -0x7f44(gp)                                        |     t8 = sym.imp.close;
    0x00401608 move t9, t8                                               |     t9 = t8;
    0x0040160c jalr t9                                                   |     t9 ();
    0x00401610 nop                                                       |     
    0x00401614 lw gp, 0x18(fp)                                           |     gp = *(arg_18h);
    0x00401618 lw t8, -0x7f00(gp)                                        |     t8 = *((gp - 8128));
    0x0040161c lw v0, 0x3c(fp)                                           |     v0 = *(arg_3ch);
    0x00401620 lw t8, (t8)                                               |     t8 = *(t8);
                                                                         |     if (v0 != t8) {
    0x00401624 beq v0, t8, 0x40163c                                      |         
    0x00401628 nop                                                       |         
    0x0040162c lw t8, -0x7f40(gp)                                        |         t8 = sym.imp.__stack_chk_fail;
    0x00401630 move t9, t8                                               |         t9 = t8;
    0x00401634 jalr t9                                                   |         t9 ();
    0x00401638 nop                                                       |         
                                                                         |     }
    0x0040163c move sp, fp                                               |     
    0x00401640 lw ra, 0x44(sp)                                           |     ra = *(var_44h);
    0x00401644 lw fp, 0x40(sp)                                           |     fp = *(var_40h);
    0x00401648 addiu sp, sp, 0x48                                        |     
    0x0040164c jr ra                                                     |     return v0;
    0x00401650 nop                                                       |     
                                                                         | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/myDlinkEvent @ 0x4017f8 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.updateEventStatus_unsigned_short_ ()         | void updateEventStatus_unsigned_short_ () {
                                                             |     /* updateEventStatus(unsigned short) */
    0x004017f8 lui gp, 2                                     |     
    0x004017fc addiu gp, gp, -0x5778                         |     
    0x00401800 addu gp, gp, t9                               |     gp += t9;
    0x00401804 addiu sp, sp, -0x30                           |     
    0x00401808 sw ra, 0x2c(sp)                               |     *(var_2ch) = ra;
    0x0040180c sw fp, 0x28(sp)                               |     *(var_28h) = fp;
    0x00401810 move fp, sp                                   |     fp = sp;
    0x00401814 sw gp, 0x10(sp)                               |     *(var_10h) = gp;
    0x00401818 move t8, a0                                   |     t8 = a0;
    0x0040181c sh t8, 0x1c(fp)                               |     *(arg_1ch) = t8;
    0x00401820 lw t8, -0x7f00(gp)                            |     t8 = *((gp - 8128));
    0x00401824 lw t8, (t8)                                   |     t8 = *(t8);
    0x00401828 sw t8, 0x24(fp)                               |     *(arg_24h) = t8;
    0x0040182c lw t8, -0x7fc8(gp)                            |     t8 = *(gp);
    0x00401830 addiu v0, zero, 0x24                          |     v0 = 0x24;
    0x00401834 sh v0, (t8)                                   |     *(t8) = v0;
    0x00401838 lw t8, -0x7fc8(gp)                            |     t8 = *(gp);
    0x0040183c addiu v0, zero, 2                             |     v0 = 2;
    0x00401840 sh v0, 2(t8)                                  |     *((t8 + 2)) = v0;
    0x00401844 lw t8, -0x7fc8(gp)                            |     t8 = *(gp);
    0x00401848 lhu v0, 0x1c(fp)                              |     v0 = *(arg_1ch);
    0x0040184c sh v0, 4(t8)                                  |     *((t8 + 4)) = v0;
    0x00401850 lhu t8, 0x1c(fp)                              |     t8 = *(arg_1ch);
    0x00401854 lw v0, -0x7fd0(gp)                            |     v0 = *(gp);
                                                             |     /* str.updateEventStatus:_x_n */
    0x00401858 addiu a0, v0, 0x3504                          |     a0 = v0 + 0x3504;
    0x0040185c move a1, t8                                   |     a1 = t8;
    0x00401860 lw t8, -0x7f68(gp)                            |     t8 = sym.imp.printf
    0x00401864 move t9, t8                                   |     t9 = t8;
    0x00401868 jalr t9                                       |     t9 ();
    0x0040186c nop                                           |     
    0x00401870 lw gp, 0x10(fp)                               |     gp = *(arg_10h);
    0x00401874 lw a0, -0x7fc8(gp)                            |     a0 = *(gp);
    0x00401878 addiu a1, zero, 6                             |     a1 = 6;
    0x0040187c lw t8, -0x7fcc(gp)                            |     t8 = sym.transNetworkOrder_unsigned_char__unsigned_int_;
    0x00401880 move t9, t8                                   |     t9 = t8;
    0x00401884 jalr t9                                       |     t9 ();
    0x00401888 nop                                           |     
    0x0040188c lw gp, 0x10(fp)                               |     gp = *(arg_10h);
    0x00401890 lw t8, -0x7fc4(gp)                            |     t8 = *(gp);
    0x00401894 lw v0, (t8)                                   |     v0 = *(t8);
    0x00401898 lw t8, -0x7fd4(gp)                            |     t8 = *(gp);
    0x0040189c lhu t8, 0xe(t8)                               |     t8 = *((t8 + 7));
    0x004018a0 addu t8, v0, t8                               |     t8 = v0 + t8;
    0x004018a4 lw v0, -0x7fc8(gp)                            |     v0 = *(gp);
    0x004018a8 lw v1, (v0)                                   |     v1 = *(v0);
    0x004018ac swl v1, 3(t8)                                 |     __asm ("swl v1, 3(t8)");
    0x004018b0 swr v1, (t8)                                  |     __asm ("swr v1, (t8)");
    0x004018b4 lbu v1, 4(v0)                                 |     v1 = *((v0 + 4));
    0x004018b8 sb v1, 4(t8)                                  |     *((t8 + 4)) = v1;
    0x004018bc lbu v0, 5(v0)                                 |     v0 = *((v0 + 5));
    0x004018c0 sb v0, 5(t8)                                  |     *((t8 + 5)) = v0;
    0x004018c4 lw t8, -0x7fd4(gp)                            |     t8 = *(gp);
    0x004018c8 lhu v0, 0xe(t8)                               |     v0 = *((t8 + 7));
    0x004018cc addiu t8, zero, 6                             |     t8 = 6;
    0x004018d0 andi t8, t8, 0xffff                           |     t8 &= 0xffff;
    0x004018d4 addu t8, v0, t8                               |     t8 = v0 + t8;
    0x004018d8 andi v0, t8, 0xffff                           |     v0 = t8 & 0xffff;
    0x004018dc lw t8, -0x7fd4(gp)                            |     t8 = *(gp);
    0x004018e0 sh v0, 0xe(t8)                                |     *((t8 + 14)) = v0;
    0x004018e4 lw t8, -0x7f00(gp)                            |     t8 = *((gp - 8128));
    0x004018e8 lw v0, 0x24(fp)                               |     v0 = *(arg_24h);
    0x004018ec lw t8, (t8)                                   |     t8 = *(t8);
                                                             |     if (v0 != t8) {
    0x004018f0 beq v0, t8, 0x401908                          |         
    0x004018f4 nop                                           |         
    0x004018f8 lw t8, -0x7f40(gp)                            |         t8 = sym.imp.__stack_chk_fail;
    0x004018fc move t9, t8                                   |         t9 = t8;
    0x00401900 jalr t9                                       |         t9 ();
    0x00401904 nop                                           |         
                                                             |     }
    0x00401908 move sp, fp                                   |     
    0x0040190c lw ra, 0x2c(sp)                               |     ra = *(var_2ch);
    0x00401910 lw fp, 0x28(sp)                               |     fp = *(var_28h);
    0x00401914 addiu sp, sp, 0x30                            |     
    0x00401918 jr ra                                         |     return v0;
    0x0040191c nop                                           |     
                                                             | }
    ; assembly                                                           | /* r2dec pseudo code output */
                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/myDlinkEvent @ 0x401920 */
                                                                         | #include <stdint.h>
                                                                         |  
    ; (fcn) sym.updateString_unsigned_short__char_const__int_ ()         | void updateString_unsigned_short_char_const_int_ () {
                                                                         |     /* updateString(unsigned short, char const*, int) */
    0x00401920 lui gp, 2                                                 |     
    0x00401924 addiu gp, gp, -0x58a0                                     |     
    0x00401928 addu gp, gp, t9                                           |     gp += t9;
    0x0040192c addiu sp, sp, -0x40                                       |     
    0x00401930 sw ra, 0x3c(sp)                                           |     *(var_3ch) = ra;
    0x00401934 sw fp, 0x38(sp)                                           |     *(var_38h) = fp;
    0x00401938 sw s0, 0x34(sp)                                           |     *(var_34h) = s0;
    0x0040193c move fp, sp                                               |     fp = sp;
    0x00401940 sw gp, 0x10(sp)                                           |     *(var_10h) = gp;
    0x00401944 move t8, a0                                               |     t8 = a0;
    0x00401948 sw a1, 0x20(fp)                                           |     *(arg_20h) = a1;
    0x0040194c sw a2, 0x1c(fp)                                           |     *(arg_1ch) = a2;
    0x00401950 sh t8, 0x24(fp)                                           |     *(arg_24h) = t8;
    0x00401954 lw t8, -0x7f00(gp)                                        |     t8 = *((gp - 8128));
    0x00401958 lw t8, (t8)                                               |     t8 = *(t8);
    0x0040195c sw t8, 0x2c(fp)                                           |     *(arg_2ch) = t8;
    0x00401960 lw t8, -0x7fc0(gp)                                        |     t8 = *(gp);
    0x00401964 lhu v0, 0x24(fp)                                          |     v0 = *(arg_24h);
    0x00401968 sh v0, (t8)                                               |     *(t8) = v0;
    0x0040196c lw a0, 0x20(fp)                                           |     a0 = *(arg_20h);
    0x00401970 lw t8, -0x7f28(gp)                                        |     t8 = sym.imp.strlen;
    0x00401974 move t9, t8                                               |     t9 = t8;
    0x00401978 jalr t9                                                   |     t9 ();
    0x0040197c nop                                                       |     
    0x00401980 lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
    0x00401984 move t8, v0                                               |     t8 = v0;
    0x00401988 andi v0, t8, 0xffff                                       |     v0 = t8 & 0xffff;
    0x0040198c lw t8, -0x7fc0(gp)                                        |     t8 = *(gp);
    0x00401990 sh v0, 2(t8)                                              |     *((t8 + 2)) = v0;
    0x00401994 lw t8, -0x7fd0(gp)                                        |     t8 = *(gp);
                                                                         |     /* str.updateString:_s_n */
    0x00401998 addiu a0, t8, 0x351c                                      |     a0 = t8 + 0x351c;
    0x0040199c lw a1, 0x20(fp)                                           |     a1 = *(arg_20h);
    0x004019a0 lw t8, -0x7f68(gp)                                        |     t8 = sym.imp.printf
    0x004019a4 move t9, t8                                               |     t9 = t8;
    0x004019a8 jalr t9                                                   |     t9 ();
    0x004019ac nop                                                       |     
    0x004019b0 lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
    0x004019b4 lw a0, -0x7fc0(gp)                                        |     a0 = *(gp);
    0x004019b8 addiu a1, zero, 0x10                                      |     a1 = 0x10;
    0x004019bc lw t8, -0x7fcc(gp)                                        |     t8 = sym.transNetworkOrder_unsigned_char__unsigned_int_;
    0x004019c0 move t9, t8                                               |     t9 = t8;
    0x004019c4 jalr t9                                                   |     t9 ();
    0x004019c8 nop                                                       |     
    0x004019cc lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
    0x004019d0 lw t8, 0x1c(fp)                                           |     t8 = *(arg_1ch);
    0x004019d4 slti t8, t8, 0x100                                        |     t8 = (t8 < 0x100) ? 1 : 0;
                                                                         |     if (t8 != 0) {
    0x004019d8 beqz t8, 0x401a10                                         |         
    0x004019dc nop                                                       |         
    0x004019e0 lw t8, 0x1c(fp)                                           |         t8 = *(arg_1ch);
    0x004019e4 lw v0, -0x7fc0(gp)                                        |         v0 = *(gp);
    0x004019e8 addiu a0, v0, 4                                           |         a0 = v0 + 4;
    0x004019ec lw a1, 0x20(fp)                                           |         a1 = *(arg_20h);
    0x004019f0 move a2, t8                                               |         a2 = t8;
    0x004019f4 lw t8, -0x7f04(gp)                                        |         t8 = sym.imp.memcpy;
    0x004019f8 move t9, t8                                               |         t9 = t8;
    0x004019fc jalr t9                                                   |         t9 ();
    0x00401a00 nop                                                       |         
    0x00401a04 lw gp, 0x10(fp)                                           |         gp = *(arg_10h);
    0x00401a08 b 0x401a44                                                |         goto label_0;
    0x00401a0c nop                                                       |         
                                                                         |     }
    0x00401a10 lw v0, -0x7fc0(gp)                                        |     v0 = *(gp);
    0x00401a14 lw t8, 0x20(fp)                                           |     t8 = *(arg_20h);
    0x00401a18 addiu v1, v0, 4                                           |     v1 = v0 + 4;
    0x00401a1c move v0, t8                                               |     v0 = t8;
    0x00401a20 addiu t8, zero, 0x100                                     |     t8 = 0x100;
    0x00401a24 move a0, v1                                               |     a0 = v1;
    0x00401a28 move a1, v0                                               |     a1 = v0;
    0x00401a2c move a2, t8                                               |     a2 = t8;
    0x00401a30 lw t8, -0x7f04(gp)                                        |     t8 = sym.imp.memcpy;
    0x00401a34 move t9, t8                                               |     t9 = t8;
    0x00401a38 jalr t9                                                   |     t9 ();
    0x00401a3c nop                                                       |     
    0x00401a40 lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
                                                                         | label_0:
    0x00401a44 lw t8, -0x7fc4(gp)                                        |     t8 = *(gp);
    0x00401a48 lw v0, (t8)                                               |     v0 = *(t8);
    0x00401a4c lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x00401a50 lhu t8, 0xe(t8)                                           |     t8 = *((t8 + 7));
    0x00401a54 addu v0, v0, t8                                           |     v0 += t8;
    0x00401a58 lw t8, -0x7fc0(gp)                                        |     t8 = *(gp);
    0x00401a5c move v1, v0                                               |     v1 = v0;
    0x00401a60 move v0, t8                                               |     v0 = t8;
    0x00401a64 addiu t8, zero, 0x104                                     |     t8 = 0x104;
    0x00401a68 move a0, v1                                               |     a0 = v1;
    0x00401a6c move a1, v0                                               |     a1 = v0;
    0x00401a70 move a2, t8                                               |     a2 = t8;
    0x00401a74 lw t8, -0x7f04(gp)                                        |     t8 = sym.imp.memcpy;
    0x00401a78 move t9, t8                                               |     t9 = t8;
    0x00401a7c jalr t9                                                   |     t9 ();
    0x00401a80 nop                                                       |     
    0x00401a84 lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
    0x00401a88 lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x00401a8c lhu s0, 0xe(t8)                                           |     s0 = *((t8 + 7));
    0x00401a90 lw a0, 0x20(fp)                                           |     a0 = *(arg_20h);
    0x00401a94 lw t8, -0x7f28(gp)                                        |     t8 = sym.imp.strlen;
    0x00401a98 move t9, t8                                               |     t9 = t8;
    0x00401a9c jalr t9                                                   |     t9 ();
    0x00401aa0 nop                                                       |     
    0x00401aa4 lw gp, 0x10(fp)                                           |     gp = *(arg_10h);
    0x00401aa8 move t8, v0                                               |     t8 = v0;
    0x00401aac andi t8, t8, 0xffff                                       |     t8 &= 0xffff;
    0x00401ab0 addu t8, s0, t8                                           |     t8 = s0 + t8;
    0x00401ab4 andi t8, t8, 0xffff                                       |     t8 &= 0xffff;
    0x00401ab8 addiu t8, t8, 4                                           |     t8 += 4;
    0x00401abc andi v0, t8, 0xffff                                       |     v0 = t8 & 0xffff;
    0x00401ac0 lw t8, -0x7fd4(gp)                                        |     t8 = *(gp);
    0x00401ac4 sh v0, 0xe(t8)                                            |     *((t8 + 14)) = v0;
    0x00401ac8 lw t8, -0x7f00(gp)                                        |     t8 = *((gp - 8128));
    0x00401acc lw v0, 0x2c(fp)                                           |     v0 = *(arg_2ch);
    0x00401ad0 lw t8, (t8)                                               |     t8 = *(t8);
                                                                         |     if (v0 != t8) {
    0x00401ad4 beq v0, t8, 0x401aec                                      |         
    0x00401ad8 nop                                                       |         
    0x00401adc lw t8, -0x7f40(gp)                                        |         t8 = sym.imp.__stack_chk_fail;
    0x00401ae0 move t9, t8                                               |         t9 = t8;
    0x00401ae4 jalr t9                                                   |         t9 ();
    0x00401ae8 nop                                                       |         
                                                                         |     }
    0x00401aec move sp, fp                                               |     
    0x00401af0 lw ra, 0x3c(sp)                                           |     ra = *(var_3ch);
    0x00401af4 lw fp, 0x38(sp)                                           |     fp = *(var_38h);
    0x00401af8 lw s0, 0x34(sp)                                           |     s0 = *(var_34h);
    0x00401afc addiu sp, sp, 0x40                                        |     
    0x00401b00 jr ra                                                     |     return v0;
    0x00401b04 nop                                                       |     
                                                                         | }

[*] Function printf used 5 times myDlinkEvent