[*] Binary protection state of libdbus-glib-1.so.2.1.0

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


[*] Function strcat tear down of libdbus-glib-1.so.2.1.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libdbus-glib-1.so.2.1.0 @ 0x5764 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00005764 lui gp, 3                 |     
    0x00005768 addiu gp, gp, 0x28ac      |     
    0x0000576c addu gp, gp, t9           |     gp += t9;
    0x00005770 addiu sp, sp, -0x20       |     
    0x00005774 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00005778 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0000577c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00005780 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00005784 lbu v0, 0x650(s0)         |     v0 = *((s0 + 1616));
    0x00005788 lw v0, -0x7a24(gp)        |     v0 = *((gp - 7817));
                                         |     if (v0 == 0) {
    0x0000578c bnez v0, 0x57c0           |         
    0x00005790 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x00005794 beqz v0, 0x57a8           |             
    0x00005798 lw t9, -0x7a24(gp)        |             t9 = *((gp - 7817));
    0x0000579c lw a0, (v0)               |             a0 = *(v0);
    0x000057a0 jalr t9                   |             t9 ();
    0x000057a4 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x000057a8 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x000057ac addiu t9, t9, 0x56e0      |         t9 += entry0;
    0x000057b0 bal 0x56e0                |         entry0 ();
    0x000057b4 nop                       |         
    0x000057b8 addiu v0, zero, 1         |         v0 = 1;
    0x000057bc sb v0, 0x650(s0)          |         *((s0 + 1616)) = v0;
                                         |     }
    0x000057c0 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x000057c4 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x000057c8 addiu sp, sp, 0x20        |     
    0x000057cc jr ra                     |     return v0;
                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libdbus-glib-1.so.2.1.0 @ 0x10dd8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.dbus_g_proxy_call_with_timeout ()        | void dbus_g_proxy_call_with_timeout () {
    0x00010dd8 lui gp, 2                                 |     
    0x00010ddc addiu gp, gp, 0x7238                      |     
    0x00010de0 addu gp, gp, t9                           |     gp += t9;
    0x00010de4 lw v0, -0x7acc(gp)                        |     v0 = *((gp - 7859));
    0x00010de8 addiu sp, sp, -0xb0                       |     
    0x00010dec sw v0, 0x2c(sp)                           |     *(var_2ch_2) = v0;
    0x00010df0 lw v0, (v0)                               |     v0 = *(v0);
    0x00010df4 sw gp, 0x20(sp)                           |     *(var_20h_2) = gp;
    0x00010df8 sw s2, 0x90(sp)                           |     *(var_90h_2) = s2;
    0x00010dfc sw ra, 0xac(sp)                           |     *(var_ach_2) = ra;
    0x00010e00 sw fp, 0xa8(sp)                           |     *(var_a8h_2) = fp;
    0x00010e04 sw s7, 0xa4(sp)                           |     *(var_a4h_2) = s7;
    0x00010e08 sw s6, 0xa0(sp)                           |     *(var_a0h_2) = s6;
    0x00010e0c sw s5, 0x9c(sp)                           |     *(var_9ch_2) = s5;
    0x00010e10 sw s4, 0x98(sp)                           |     *(var_98h_2) = s4;
    0x00010e14 sw s3, 0x94(sp)                           |     *(var_94h_2) = s3;
    0x00010e18 sw s1, 0x8c(sp)                           |     *(var_8ch_2) = s1;
    0x00010e1c sw s0, 0x88(sp)                           |     *(var_88h) = s0;
    0x00010e20 sw a0, 0x28(sp)                           |     *(var_28h) = a0;
    0x00010e24 sw a1, 0x30(sp)                           |     *(var_30h_2) = a1;
    0x00010e28 sw a2, 0xb8(sp)                           |     *(var_b8h) = a2;
    0x00010e2c sw a3, 0x34(sp)                           |     *(var_34h_2) = a3;
    0x00010e30 lw s2, 0xc0(sp)                           |     s2 = *(var_c0h);
    0x00010e34 sw v0, 0x84(sp)                           |     *(var_84h) = v0;
    0x00010e38 lw t9, -0x7a28(gp)                        |     t9 = *((gp - 7818));
                                                         |     if (a0 == 0) {
    0x00010e3c beqz a0, 0x110bc                          |         goto label_1;
                                                         |     }
    0x00010e40 move s0, a0                               |     s0 = a0;
    0x00010e44 jalr t9                                   |     t9 ();
    0x00010e48 lw v1, (s0)                               |     v1 = *(s0);
    0x00010e4c lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
    0x00010e50 move s0, v0                               |     s0 = v0;
                                                         |     if (v1 != 0) {
    0x00010e54 beqz v1, 0x10e64                          |         
    0x00010e58 lw v0, (v1)                               |         v0 = *(v1);
    0x00010e5c lw t9, -0x7dc4(gp)                        |         t9 = *((gp - 8049));
                                                         |         if (v0 == s0) {
    0x00010e60 beq v0, s0, 0x10e80                       |             goto label_2;
                                                         |         }
                                                         |     }
    0x00010e64 lw t9, -0x7e2c(gp)                        |     t9 = *((gp - 8075));
    0x00010e68 lw a0, 0x28(sp)                           |     a0 = *(var_28h);
    0x00010e6c move a1, s0                               |     a1 = s0;
    0x00010e70 jalr t9                                   |     t9 ();
    0x00010e74 lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
                                                         |     if (v0 == 0) {
    0x00010e78 beqz v0, 0x110bc                          |         goto label_1;
                                                         |     }
    0x00010e7c lw t9, -0x7dc4(gp)                        |     t9 = *((gp - 8049));
                                                         | label_2:
    0x00010e80 lw a0, 0x28(sp)                           |     a0 = *(var_28h);
    0x00010e84 move a1, s0                               |     a1 = s0;
    0x00010e88 jalr t9                                   |     t9 ();
    0x00010e8c lw v0, (v0)                               |     v0 = *(v0);
    0x00010e90 lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
                                                         |     if (v0 == 0) {
    0x00010e94 beqz v0, 0x11120                          |         goto label_3;
                                                         |     }
    0x00010e98 lw t9, -0x7aec(gp)                        |     t9 = *((gp - 7867));
    0x00010e9c addiu v0, sp, 0xc4                        |     v0 = sp + 0xc4;
    0x00010ea0 sw v0, 0x3c(sp)                           |     *(var_3ch_2) = v0;
    0x00010ea4 addiu a0, zero, 6                         |     a0 = 6;
    0x00010ea8 jalr t9                                   |     t9 ();
    0x00010eac move s4, v0                               |     s4 = v0;
    0x00010eb0 lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
                                                         |     if (s2 == 0) {
    0x00010eb4 beqz s2, 0x11154                          |         goto label_4;
                                                         |     }
    0x00010eb8 lw t0, -0x7fd8(gp)                        |     t0 = *((gp - 8182));
    0x00010ebc move s3, zero                             |     s3 = 0;
    0x00010ec0 addiu fp, sp, 0x40                        |     fp = sp + 0x40;
    0x00010ec4 addiu s7, t0, -0x24d0                     |     s7 = t0 + -0x24d0;
    0x00010ec8 addiu s0, zero, -8                        |     s0 = -8;
                                                         |     do {
    0x00010ecc lw t9, -0x7a2c(gp)                        |         t9 = *((gp - 7819));
    0x00010ed0 move a1, zero                             |         a1 = 0;
    0x00010ed4 move a0, s4                               |         a0 = s4;
    0x00010ed8 jalr t9                                   |         t9 ();
    0x00010edc lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010ee0 move a1, s3                               |         a1 = s3;
    0x00010ee4 lw t9, -0x7aac(gp)                        |         t9 = *((gp - 7851));
    0x00010ee8 move a0, s4                               |         a0 = s4;
    0x00010eec jalr t9                                   |         t9 ();
    0x00010ef0 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010ef4 move a1, s2                               |         a1 = s2;
    0x00010ef8 move a0, v0                               |         a0 = v0;
    0x00010efc lw t9, -0x7f20(gp)                        |         t9 = *((gp - 8136));
    0x00010f00 move s1, v0                               |         s1 = v0;
    0x00010f04 jalr t9                                   |         t9 ();
    0x00010f08 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010f0c lw s2, (s1)                               |         s2 = *(s1);
    0x00010f10 lw t9, -0x7a04(gp)                        |         t9 = *((gp - 7809));
    0x00010f14 move a0, s2                               |         a0 = s2;
    0x00010f18 jalr t9                                   |         t9 ();
    0x00010f1c lw t9, 4(v0)                              |         t9 = *((v0 + 1));
    0x00010f20 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
                                                         |         if (t9 != 0) {
    0x00010f24 beqz t9, 0x10f34                          |             
    0x00010f28 move a0, s1                               |             a0 = s1;
    0x00010f2c jalr t9                                   |             t9 ();
    0x00010f30 lw gp, 0x20(sp)                           |             gp = *(var_20h_2);
                                                         |         }
    0x00010f34 lw t9, -0x7d44(gp)                        |         t9 = *((gp - 8017));
    0x00010f38 addiu a2, zero, 0x10                      |         a2 = 0x10;
    0x00010f3c move a1, zero                             |         a1 = 0;
    0x00010f40 addiu a0, s1, 8                           |         a0 = s1 + 8;
    0x00010f44 jalr t9                                   |         t9 ();
    0x00010f48 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010f4c lw t9, -0x7a04(gp)                        |         t9 = *((gp - 7809));
    0x00010f50 move a0, s2                               |         a0 = s2;
    0x00010f54 jalr t9                                   |         t9 ();
    0x00010f58 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010f5c addiu a2, zero, 0x40                      |         a2 = 0x40;
    0x00010f60 move a1, zero                             |         a1 = 0;
    0x00010f64 lw t9, -0x7d44(gp)                        |         t9 = *((gp - 8017));
    0x00010f68 move a0, fp                               |         a0 = fp;
    0x00010f6c lw s5, 0x10(v0)                           |         s5 = *((v0 + 4));
    0x00010f70 move s6, v0                               |         s6 = v0;
    0x00010f74 jalr t9                                   |         t9 ();
    0x00010f78 move a1, zero                             |         a1 = 0;
    0x00010f7c addu v0, s5, a1                           |         v0 = s5 + a1;
    0x00010f80 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x00010f84 sw s2, (s1)                               |         *(s1) = s2;
    0x00010f88 lb v0, (v0)                               |         v0 = *(v0);
    0x00010f8c move a2, fp                               |         a2 = fp;
    0x00010f90 lw t3, 0x3c(sp)                           |         t3 = *(var_3ch_2);
    0x00010f94 move a0, zero                             |         a0 = 0;
                                                         |         if (v0 != 0) {
    0x00010f98 beqz v0, 0x10fe8                          |             
    0x00010f9c addiu v0, v0, -0x64                       |             v0 += -0x64;
    0x00010fa0 andi v0, v0, 0xff                         |             v0 &= 0xff;
    0x00010fa4 sltiu a0, v0, 0xe                         |             a0 = (v0 < 0xe) ? 1 : 0;
    0x00010fa8 addiu a1, a1, 1                           |             a1++;
                                                         |             if (a0 == 0) {
    0x00010fac beqz a0, 0x11130                          |                 goto label_5;
                                                         |             }
    0x00010fb0 sll v0, v0, 2                             |             v0 <<= 2;
    0x00010fb4 lwx v0, v0(s7)                            |             __asm ("lwx v0, v0(s7)");
    0x00010fb8 addu v0, v0, gp                           |             v0 += gp;
    0x00010fbc jr v0                                     |             v0 ();
    0x00010fc0 nop                                       |             
                                                         |         }
    0x00010fe8 sw t3, 0x3c(sp)                           |         *(var_3ch_2) = t3;
                                                         |         if (a0 != 0) {
    0x00010fec bnel a0, zero, 0x10ff0                    |             
                                                         |         }
    0x00010ff0 lw t9, 0x14(s6)                           |         t9 = *((s6 + 5));
    0x00010ff4 move a0, s1                               |         a0 = s1;
    0x00010ff8 lui a3, 0x800                             |         a3 = 0x8000000;
    0x00010ffc move a2, fp                               |         a2 = fp;
    0x00011000 jalr t9                                   |         t9 ();
    0x00011004 lw v0, 0x3c(sp)                           |         v0 = *(var_3ch_2);
    0x00011008 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x0001100c addiu s1, v0, 4                           |         s1 = v0 + 4;
    0x00011010 lw s2, (v0)                               |         s2 = *(v0);
    0x00011014 addiu s3, s3, 1                           |         s3++;
    0x00011018 sw s1, 0x3c(sp)                           |         *(var_3ch_2) = s1;
    0x0001101c bnez s2, 0x10ecc                          |         
                                                         |     } while (s2 != 0);
                                                         | label_0:
    0x00011020 lw s2, 0x28(sp)                           |     s2 = *(var_28h);
    0x00011024 lw t9, -0x7fac(gp)                        |     t9 = *((gp - 8171));
    0x00011028 lw v0, 0xb8(sp)                           |     v0 = *(var_b8h);
    0x0001102c lw a1, 0x30(sp)                           |     a1 = *(var_30h_2);
    0x00011030 move a3, zero                             |     a3 = 0;
    0x00011034 move a2, zero                             |     a2 = 0;
    0x00011038 move a0, s2                               |     a0 = s2;
    0x0001103c addiu t9, t9, -0x2e0c                     |     t9 += -0x2e0c;
    0x00011040 sw v0, 0x18(sp)                           |     *(var_18h_3) = v0;
    0x00011044 sw s4, 0x14(sp)                           |     *(var_14h) = s4;
    0x00011048 sw zero, 0x10(sp)                         |     *(var_10h_3) = 0;
    0x0001104c bal 0xd1f4                                |     fcn_0000d1f4 ();
    0x00011050 lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
    0x00011054 move a0, s4                               |     a0 = s4;
    0x00011058 move s0, v0                               |     s0 = v0;
    0x0001105c lw t9, -0x7ab4(gp)                        |     t9 = *((gp - 7853));
    0x00011060 addiu s1, s1, 4                           |     s1 += 4;
    0x00011064 jalr t9                                   |     t9 ();
    0x00011068 lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
    0x0001106c lw a3, -4(s1)                             |     a3 = *((s1 - 1));
    0x00011070 lw a2, 0x34(sp)                           |     a2 = *(var_34h_2);
    0x00011074 lw t9, -0x7fac(gp)                        |     t9 = *((gp - 8171));
    0x00011078 sw s1, 0x10(sp)                           |     *(var_10h_3) = s1;
    0x0001107c move a1, s0                               |     a1 = s0;
    0x00011080 addiu t9, t9, -0x15b4                     |     t9 += -aav.0x000015b4;
    0x00011084 move a0, s2                               |     a0 = s2;
    0x00011088 bal 0xea4c                                |     fcn_0000ea4c ();
    0x0001108c lw gp, 0x20(sp)                           |     gp = *(var_20h_2);
    0x00011090 b 0x110e0                                 |     goto label_6;
                                                         | label_1:
    0x000110bc lw a2, -0x7fd8(gp)                        |     a2 = *((gp - 8182));
    0x000110c0 lw t9, -0x7ba4(gp)                        |     t9 = *((gp - 7913));
    0x000110c4 addiu a2, a2, -0x2db4                     |     a2 += -0x2db4;
                                                         |     do {
    0x000110c8 lw a1, -0x7fd8(gp)                        |         a1 = *((gp - 8182));
    0x000110cc move a0, zero                             |         a0 = 0;
    0x000110d0 addiu a1, a1, -0x239c                     |         a1 += -0x239c;
    0x000110d4 jalr t9                                   |         t9 ();
    0x000110d8 lw gp, 0x20(sp)                           |         gp = *(var_20h_2);
    0x000110dc move v0, zero                             |         v0 = 0;
                                                         | label_6:
    0x000110e0 lw v1, 0x2c(sp)                           |         v1 = *(var_2ch_2);
    0x000110e4 lw a0, 0x84(sp)                           |         a0 = *(var_84h);
    0x000110e8 lw v1, (v1)                               |         v1 = *(v1);
    0x000110ec lw ra, 0xac(sp)                           |         ra = *(var_ach_2);
                                                         |         if (a0 != v1) {
    0x000110f0 bne a0, v1, 0x1115c                       |             goto label_7;
                                                         |         }
    0x000110f4 lw fp, 0xa8(sp)                           |         fp = *(var_a8h_2);
    0x000110f8 lw s7, 0xa4(sp)                           |         s7 = *(var_a4h_2);
    0x000110fc lw s6, 0xa0(sp)                           |         s6 = *(var_a0h_2);
    0x00011100 lw s5, 0x9c(sp)                           |         s5 = *(var_9ch_2);
    0x00011104 lw s4, 0x98(sp)                           |         s4 = *(var_98h_2);
    0x00011108 lw s3, 0x94(sp)                           |         s3 = *(var_94h_2);
    0x0001110c lw s2, 0x90(sp)                           |         s2 = *(var_90h_2);
    0x00011110 lw s1, 0x8c(sp)                           |         s1 = *(var_8ch_2);
    0x00011114 lw s0, 0x88(sp)                           |         s0 = *(var_88h);
    0x00011118 addiu sp, sp, 0xb0                        |         
    0x0001111c jr ra                                     |         return v1;
                                                         | label_3:
    0x00011120 lw a2, -0x7fd8(gp)                        |         a2 = *((gp - 8182));
    0x00011124 lw t9, -0x7ba4(gp)                        |         t9 = *((gp - 7913));
    0x00011128 addiu a2, a2, -0x2b40                     |         a2 += -0x2b40;
    0x0001112c b 0x110c8                                 |         
                                                         |     } while (1);
                                                         | label_5:
    0x00011130 lw a3, -0x7fd8(gp)                        |     a3 = *((gp - 8182));
    0x00011134 lw a1, -0x7fd8(gp)                        |     a1 = *((gp - 8182));
    0x00011138 lw t9, -0x7b98(gp)                        |     t9 = *((gp - 7910));
    0x0001113c sw zero, 0x10(sp)                         |     *(var_10h_3) = 0;
    0x00011140 addiu a3, a3, -0x239c                     |     a3 += -0x239c;
    0x00011144 addiu a2, zero, 0xa4b                     |     a2 = 0xa4b;
    0x00011148 addiu a1, a1, -0x2f40                     |     a1 += -0x2f40;
    0x0001114c move a0, zero                             |     a0 = 0;
    0x00011150 jalr t9                                   |     t9 ();
                                                         | label_4:
    0x00011154 lw s1, 0x3c(sp)                           |     s1 = *(var_3ch_2);
    0x00011158 b 0x11020                                 |     goto label_0;
                                                         | label_7:
    0x0001115c lw t9, -0x7b38(gp)                        |     t9 = *((gp - 7886));
    0x00011160 jalr t9                                   |     t9 ();
    0x00011164 nop                                       |     
                                                         | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libdbus-glib-1.so.2.1.0 @ 0x1757c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.dbus_g_type_struct_get_member ()     | void dbus_g_type_struct_get_member () {
    0x0001757c lui gp, 2                             |     
    0x00017580 addiu gp, gp, 0xa94                   |     
    0x00017584 addu gp, gp, t9                       |     gp += t9;
    0x00017588 lw v0, -0x7fe4(gp)                    |     v0 = *((gp - 8185));
    0x0001758c addiu sp, sp, -0x30                   |     
    0x00017590 lw v0, 0x714(v0)                      |     v0 = *((v0 + 453));
    0x00017594 sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x00017598 sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x0001759c sw s3, 0x28(sp)                       |     *(var_28h) = s3;
    0x000175a0 sw s2, 0x24(sp)                       |     *(var_24h) = s2;
    0x000175a4 sw s1, 0x20(sp)                       |     *(var_20h) = s1;
    0x000175a8 sw s0, 0x1c(sp)                       |     *(var_1ch) = s0;
                                                     |     if (v0 == 0) {
    0x000175ac beql v0, zero, 0x17684                |         goto label_1;
                                                     |     }
    0x000175b0 lw a2, -0x7fd8(gp)                    |     a2 = *((gp - 8182));
    0x000175b4 move s0, a0                           |     s0 = a0;
                                                     |     if (a0 != 0) {
    0x000175b8 beqz a0, 0x175e4                      |         
    0x000175bc lw s1, (a0)                           |         s1 = *(a0);
    0x000175c0 addiu v0, zero, 0x48                  |         v0 = 0x48;
    0x000175c4 move s2, a1                           |         s2 = a1;
    0x000175c8 move s3, a2                           |         s3 = a2;
                                                     |         if (s1 == v0) {
    0x000175cc beq s1, v0, 0x17620                   |             goto label_2;
                                                     |         }
    0x000175d0 lw t9, -0x7d50(gp)                    |         t9 = *((gp - 8020));
    0x000175d4 addiu a1, zero, 0x48                  |         a1 = 0x48;
    0x000175d8 jalr t9                               |         t9 ();
    0x000175dc lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 != 0) {
    0x000175e0 bnez v0, 0x17620                      |             goto label_2;
                                                     |         }
                                                     |     }
    0x000175e4 lw a2, -0x7fd8(gp)                    |     a2 = *((gp - 8182));
    0x000175e8 lw t9, -0x7ba4(gp)                    |     t9 = *((gp - 7913));
    0x000175ec addiu a2, a2, -0x1a04                 |     a2 += -0x1a04;
                                                     |     do {
                                                     | label_0:
    0x000175f0 lw a1, -0x7fd8(gp)                    |         a1 = *((gp - 8182));
    0x000175f4 move a0, zero                         |         a0 = 0;
    0x000175f8 addiu a1, a1, -0x18b0                 |         a1 += -0x18b0;
    0x000175fc jalr t9                               |         t9 ();
    0x00017600 lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
    0x00017604 lw s3, 0x28(sp)                       |         s3 = *(var_28h);
    0x00017608 lw s2, 0x24(sp)                       |         s2 = *(var_24h);
    0x0001760c lw s1, 0x20(sp)                       |         s1 = *(var_20h);
    0x00017610 lw s0, 0x1c(sp)                       |         s0 = *(var_1ch);
    0x00017614 move v0, zero                         |         v0 = 0;
    0x00017618 addiu sp, sp, 0x30                    |         
    0x0001761c jr ra                                 |         return v0;
                                                     | label_2:
    0x00017620 lw t9, -0x7fac(gp)                    |         t9 = *((gp - 8171));
    0x00017624 addiu t9, t9, 0x5edc                  |         t9 += 0x5edc;
    0x00017628 move a0, s1                           |         a0 = s1;
    0x0001762c bal 0x15edc                           |         fcn_00015edc ();
    0x00017630 lw gp, 0x10(sp)                       |         gp = *(var_10h);
                                                     |         if (v0 == 0) {
    0x00017634 beqz v0, 0x17690                      |             goto label_3;
                                                     |         }
    0x00017638 lw v0, 8(v0)                          |         v0 = *((v0 + 2));
    0x0001763c lw t9, -0x7da4(gp)                    |         t9 = *((gp - 8041));
    0x00017640 move a0, s0                           |         a0 = s0;
    0x00017644 lw v0, 4(v0)                          |         v0 = *((v0 + 1));
    0x00017648 lw s0, 0x18(v0)                       |         s0 = *((v0 + 6));
    0x0001764c jalr t9                               |         t9 ();
    0x00017650 lw gp, 0x10(sp)                       |         gp = *(var_10h);
    0x00017654 lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
    0x00017658 move a3, s3                           |         a3 = s3;
    0x0001765c move a2, s2                           |         a2 = s2;
    0x00017660 lw s3, 0x28(sp)                       |         s3 = *(var_28h);
    0x00017664 lw s2, 0x24(sp)                       |         s2 = *(var_24h);
    0x00017668 move a0, s1                           |         a0 = s1;
    0x0001766c move t9, s0                           |         t9 = s0;
    0x00017670 lw s1, 0x20(sp)                       |         s1 = *(var_20h);
    0x00017674 lw s0, 0x1c(sp)                       |         s0 = *(var_1ch);
    0x00017678 move a1, v0                           |         a1 = v0;
    0x0001767c addiu sp, sp, 0x30                    |         
    0x00017680 jr t9                                 |         t9 ();
                                                     | label_1:
    0x00017684 lw t9, -0x7ba4(gp)                    |         t9 = *((gp - 7913));
    0x00017688 addiu a2, a2, -0x1b08                 |         a2 += -0x1b08;
    0x0001768c b 0x175f0                             |         
                                                     |     } while (1);
                                                     | label_3:
    0x00017690 lw a2, -0x7fd8(gp)                    |     a2 = *((gp - 8182));
    0x00017694 lw t9, -0x7ba4(gp)                    |     t9 = *((gp - 7913));
    0x00017698 addiu a2, a2, -0x19e4                 |     a2 += -0x19e4;
    0x0001769c b 0x175f0                             |     goto label_0;
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libdbus-glib-1.so.2.1.0 @ 0x177c4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.dbus_g_type_struct_get ()        | void dbus_g_type_struct_get () {
    0x000177c4 lui gp, 2                         |     
    0x000177c8 addiu gp, gp, 0x84c               |     
    0x000177cc addu gp, gp, t9                   |     gp += t9;
    0x000177d0 addiu sp, sp, -0xb8               |     
    0x000177d4 lw t9, -0x7cbc(gp)                |     t9 = *((gp - 7983));
    0x000177d8 sw s3, 0x9c(sp)                   |     *(var_9ch) = s3;
    0x000177dc lw s3, -0x7acc(gp)                |     s3 = *((gp - 7859));
    0x000177e0 sw s1, 0x94(sp)                   |     *(var_94h) = s1;
    0x000177e4 move s1, a0                       |     s1 = a0;
    0x000177e8 lw v0, (s3)                       |     v0 = *(s3);
    0x000177ec lw a0, (a0)                       |     a0 = *(a0);
    0x000177f0 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x000177f4 sw s4, 0xa0(sp)                   |     *(var_a0h) = s4;
    0x000177f8 sw ra, 0xb4(sp)                   |     *(var_b4h) = ra;
    0x000177fc sw fp, 0xb0(sp)                   |     *(var_b0h) = fp;
    0x00017800 sw s7, 0xac(sp)                   |     *(var_ach) = s7;
    0x00017804 sw s6, 0xa8(sp)                   |     *(var_a8h) = s6;
    0x00017808 sw s5, 0xa4(sp)                   |     *(var_a4h) = s5;
    0x0001780c sw s2, 0x98(sp)                   |     *(var_98h) = s2;
    0x00017810 sw s0, 0x90(sp)                   |     *(var_90h) = s0;
    0x00017814 sw a2, 0xc0(sp)                   |     *(arg_c0h) = a2;
    0x00017818 sw a3, 0xc4(sp)                   |     *(arg_c4h) = a3;
    0x0001781c sw v0, 0x8c(sp)                   |     *(var_8ch) = v0;
    0x00017820 sw zero, 0x30(sp)                 |     *(var_30h) = 0;
    0x00017824 sw zero, 0x34(sp)                 |     *(var_34h) = 0;
    0x00017828 sw zero, 0x38(sp)                 |     *(var_38h) = 0;
    0x0001782c sw zero, 0x3c(sp)                 |     *(var_3ch) = 0;
    0x00017830 sw zero, 0x40(sp)                 |     *(var_40h) = 0;
    0x00017834 sw zero, 0x44(sp)                 |     *(var_44h) = 0;
    0x00017838 move s4, a1                       |     s4 = a1;
    0x0001783c jalr t9                           |     t9 ();
    0x00017840 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x00017844 bnez v0, 0x178ac                  |         goto label_1;
                                                 |     }
    0x00017848 lw a2, -0x7fd8(gp)                |     a2 = *((gp - 8182));
    0x0001784c lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x00017850 lw t9, -0x7ba4(gp)                |     t9 = *((gp - 7913));
    0x00017854 sw v0, 0x24(sp)                   |     *(var_24h_3) = v0;
    0x00017858 addiu a2, a2, -0x19b8             |     a2 += -0x19b8;
    0x0001785c addiu a1, a1, -0x18e8             |     a1 += -0x18e8;
    0x00017860 move a0, zero                     |     a0 = 0;
    0x00017864 jalr t9                           |     t9 ();
    0x00017868 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0001786c lw v0, 0x24(sp)                   |     v0 = *(var_24h_3);
                                                 |     do {
                                                 | label_0:
    0x00017870 lw a0, 0x8c(sp)                   |         a0 = *(var_8ch);
    0x00017874 lw v1, (s3)                       |         v1 = *(s3);
    0x00017878 lw ra, 0xb4(sp)                   |         ra = *(var_b4h);
                                                 |         if (a0 != v1) {
    0x0001787c bne a0, v1, 0x17ad4               |             goto label_2;
                                                 |         }
    0x00017880 lw fp, 0xb0(sp)                   |         fp = *(var_b0h);
    0x00017884 lw s7, 0xac(sp)                   |         s7 = *(var_ach);
    0x00017888 lw s6, 0xa8(sp)                   |         s6 = *(var_a8h);
    0x0001788c lw s5, 0xa4(sp)                   |         s5 = *(var_a4h);
    0x00017890 lw s4, 0xa0(sp)                   |         s4 = *(var_a0h);
    0x00017894 lw s3, 0x9c(sp)                   |         s3 = *(var_9ch);
    0x00017898 lw s2, 0x98(sp)                   |         s2 = *(var_98h);
    0x0001789c lw s1, 0x94(sp)                   |         s1 = *(var_94h);
    0x000178a0 lw s0, 0x90(sp)                   |         s0 = *(var_90h);
    0x000178a4 addiu sp, sp, 0xb8                |         
    0x000178a8 jr ra                             |         return v0;
                                                 | label_1:
    0x000178ac lw t9, -0x7b60(gp)                |         t9 = *((gp - 7896));
    0x000178b0 addiu v0, sp, 0xc0                |         v0 = sp + 0xc0;
    0x000178b4 lw a0, (s1)                       |         a0 = *(s1);
    0x000178b8 sw v0, 0x2c(sp)                   |         *(var_2ch) = v0;
    0x000178bc jalr t9                           |         t9 ();
    0x000178c0 addiu v1, zero, -1                |         v1 = -1;
    0x000178c4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x000178c8 move s2, v0                       |         s2 = v0;
                                                 |         if (s4 == v1) {
    0x000178cc beq s4, v1, 0x17a50               |             goto label_3;
                                                 |         }
    0x000178d0 sltu v0, s4, v0                   |         v0 = (s4 < v0) ? 1 : 0;
    0x000178d4 move v0, zero                     |         v0 = 0;
    0x000178d8 beqz v0, 0x17870                  |         
                                                 |     } while (v0 == 0);
    0x000178dc lw s5, -0x7fd8(gp)                |     s5 = *((gp - 8182));
    0x000178e0 addiu s0, sp, 0x30                |     s0 = sp + 0x30;
    0x000178e4 addiu s7, sp, 0x48                |     s7 = sp + 0x48;
    0x000178e8 addiu s5, s5, -0x1970             |     s5 += -0x1970;
    0x000178ec addiu s6, zero, -8                |     s6 = -8;
    0x000178f0 lw t9, -0x7c80(gp)                |     t9 = *((gp - 7968));
                                                 |     do {
    0x000178f4 lw a0, (s1)                       |         a0 = *(s1);
    0x000178f8 move a1, s4                       |         a1 = s4;
    0x000178fc jalr t9                           |         t9 ();
    0x00017900 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017904 move a1, v0                       |         a1 = v0;
    0x00017908 lw t9, -0x7f20(gp)                |         t9 = *((gp - 8136));
    0x0001790c move a0, s0                       |         a0 = s0;
    0x00017910 jalr t9                           |         t9 ();
    0x00017914 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017918 move a1, s4                       |         a1 = s4;
    0x0001791c move a2, s0                       |         a2 = s0;
    0x00017920 lw t9, -0x7bbc(gp)                |         t9 = *((gp - 7919));
    0x00017924 move a0, s1                       |         a0 = s1;
    0x00017928 jalr t9                           |         t9 ();
    0x0001792c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017930 lw t9, -0x7a04(gp)                |         t9 = *((gp - 7809));
    0x00017934 lw a0, 0x30(sp)                   |         a0 = *(var_30h);
    0x00017938 jalr t9                           |         t9 ();
    0x0001793c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017940 addiu a2, zero, 0x40              |         a2 = 0x40;
    0x00017944 move a1, zero                     |         a1 = 0;
    0x00017948 lw t9, -0x7d44(gp)                |         t9 = *((gp - 8017));
    0x0001794c move a0, s7                       |         a0 = s7;
    0x00017950 lw s4, 0x18(v0)                   |         s4 = *((v0 + 6));
    0x00017954 move fp, v0                       |         fp = v0;
    0x00017958 jalr t9                           |         t9 ();
    0x0001795c move a1, zero                     |         a1 = 0;
    0x00017960 addu v0, s4, a1                   |         v0 = s4 + a1;
    0x00017964 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017968 lb v0, (v0)                       |         v0 = *(v0);
    0x0001796c move a0, s7                       |         a0 = s7;
    0x00017970 lw a2, 0x2c(sp)                   |         a2 = *(var_2ch);
    0x00017974 move v1, zero                     |         v1 = 0;
                                                 |         if (v0 != 0) {
    0x00017978 beqz v0, 0x179c8                  |             
    0x0001797c addiu v0, v0, -0x64               |             v0 += -0x64;
    0x00017980 andi v0, v0, 0xff                 |             v0 &= 0xff;
    0x00017984 sltiu v1, v0, 0xe                 |             v1 = (v0 < 0xe) ? 1 : 0;
    0x00017988 addiu a1, a1, 1                   |             a1++;
                                                 |             if (v1 == 0) {
    0x0001798c beqz v1, 0x17ab0                  |                 goto label_4;
                                                 |             }
    0x00017990 sll v0, v0, 2                     |             v0 <<= 2;
    0x00017994 lwx v0, v0(s5)                    |             __asm ("lwx v0, v0(s5)");
    0x00017998 addu v0, v0, gp                   |             v0 += gp;
    0x0001799c jr v0                             |             v0 ();
    0x000179a0 nop                               |             
                                                 |         }
    0x000179c8 sw a2, 0x2c(sp)                   |         *(var_2ch) = a2;
                                                 |         if (v1 != 0) {
    0x000179cc bnel v1, zero, 0x179d0            |             
                                                 |         }
    0x000179d0 lw t9, 0x1c(fp)                   |         t9 = *(arg_1ch);
    0x000179d4 move a3, zero                     |         a3 = 0;
    0x000179d8 move a2, s7                       |         a2 = s7;
    0x000179dc move a0, s0                       |         a0 = s0;
    0x000179e0 jalr t9                           |         t9 ();
    0x000179e4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x000179e8 bnez v0, 0x17a58                  |             goto label_5;
                                                 |         }
    0x000179ec lw t9, -0x7aa0(gp)                |         t9 = *((gp - 7848));
    0x000179f0 move a0, s0                       |         a0 = s0;
    0x000179f4 jalr t9                           |         t9 ();
    0x000179f8 lw v0, 0x2c(sp)                   |         v0 = *(var_2ch);
    0x000179fc addiu v1, zero, -1                |         v1 = -1;
    0x00017a00 addiu a0, v0, 4                   |         a0 = v0 + 4;
    0x00017a04 lw s4, (v0)                       |         s4 = *(v0);
    0x00017a08 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x00017a0c sw a0, 0x2c(sp)                   |         *(var_2ch) = a0;
                                                 |         if (s4 == v1) {
    0x00017a10 beq s4, v1, 0x17a50               |             goto label_3;
                                                 |         }
    0x00017a14 sltu v0, s4, s2                   |         v0 = (s4 < s2) ? 1 : 0;
    0x00017a18 lw t9, -0x7c80(gp)                |         t9 = *((gp - 7968));
    0x00017a1c bnez v0, 0x178f4                  |         
                                                 |     } while (v0 != 0);
    0x00017a20 move v0, zero                     |     v0 = 0;
    0x00017a24 b 0x17870                         |     goto label_0;
                                                 | label_3:
    0x00017a50 addiu v0, zero, 1                 |     v0 = 1;
    0x00017a54 b 0x17870                         |     goto label_0;
                                                 | label_5:
    0x00017a58 lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x00017a5c lw a2, -0x7fd8(gp)                |     a2 = *((gp - 8182));
    0x00017a60 lw t9, -0x7d90(gp)                |     t9 = *((gp - 8036));
    0x00017a64 addiu a3, a3, -0x18e8             |     a3 += -0x18e8;
    0x00017a68 addiu a2, a2, -0x1988             |     a2 += -0x1988;
    0x00017a6c addiu a1, zero, 0x10              |     a1 = 0x10;
    0x00017a70 move a0, zero                     |     a0 = 0;
    0x00017a74 sw v0, 0x10(sp)                   |     *(var_10h_3) = v0;
    0x00017a78 sw v0, 0x24(sp)                   |     *(var_24h_3) = v0;
    0x00017a7c jalr t9                           |     t9 ();
    0x00017a80 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00017a84 lw v0, 0x24(sp)                   |     v0 = *(var_24h_3);
    0x00017a88 lw t9, -0x7a64(gp)                |     t9 = *((gp - 7833));
    0x00017a8c move a0, v0                       |     a0 = v0;
    0x00017a90 jalr t9                           |     t9 ();
    0x00017a94 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00017a98 lw t9, -0x7aa0(gp)                |     t9 = *((gp - 7848));
    0x00017a9c move a0, s0                       |     a0 = s0;
    0x00017aa0 jalr t9                           |     t9 ();
    0x00017aa4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x00017aa8 move v0, zero                     |     v0 = 0;
    0x00017aac b 0x17870                         |     goto label_0;
                                                 | label_4:
    0x00017ab0 lw a3, -0x7fd8(gp)                |     a3 = *((gp - 8182));
    0x00017ab4 lw a1, -0x7fd8(gp)                |     a1 = *((gp - 8182));
    0x00017ab8 lw t9, -0x7b98(gp)                |     t9 = *((gp - 7910));
    0x00017abc sw zero, 0x10(sp)                 |     *(var_10h_3) = 0;
    0x00017ac0 addiu a3, a3, -0x18e8             |     a3 += -0x18e8;
    0x00017ac4 addiu a2, zero, 0x3d2             |     a2 = 0x3d2;
    0x00017ac8 addiu a1, a1, -0x1b94             |     a1 += -0x1b94;
    0x00017acc move a0, zero                     |     a0 = 0;
    0x00017ad0 jalr t9                           |     t9 ();
                                                 | label_2:
    0x00017ad4 lw t9, -0x7b38(gp)                |     t9 = *((gp - 7886));
    0x00017ad8 jalr t9                           |     t9 ();
    0x00017adc nop                               |     
                                                 | }

[*] Function strcat used 1 times libdbus-glib-1.so.2.1.0