[*] Binary protection state of dlist_test

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


[*] Function printf tear down of dlist_test

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0xd60 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 3936 named .text */
    0x00000d60 lui gp, 2                 |     
    0x00000d64 addiu gp, gp, -0x5d50     |     
    0x00000d68 addu gp, gp, t9           |     gp += t9;
    0x00000d6c addiu sp, sp, -0x58       |     
    0x00000d70 lw v0, -0x7fd8(gp)        |     v0 = sym.simple_maker;
    0x00000d74 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00000d78 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00000d7c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000d80 sw s5, 0x44(sp)           |     *(var_44h) = s5;
    0x00000d84 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00000d88 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000d8c sw s4, 0x40(sp)           |     *(var_40h) = s4;
    0x00000d90 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00000d94 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000d98 sw s3, 0x3c(sp)           |     *(var_3ch) = s3;
    0x00000d9c addiu v0, v0, 0x1efc      |     v0 += str.count_is__ld_n;
    0x00000da0 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x00000da4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000da8 sw ra, 0x54(sp)           |     *(var_54h) = ra;
    0x00000dac addiu v0, v0, 0x1f0c      |     v0 += str.popped__s_n;
    0x00000db0 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00000db4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000db8 sw fp, 0x50(sp)           |     *(var_50h) = fp;
    0x00000dbc addiu v0, v0, 0x1f20      |     v0 += str.shifted__s_n;
    0x00000dc0 sw s7, 0x4c(sp)           |     *(var_4ch) = s7;
    0x00000dc4 sw s6, 0x48(sp)           |     *(var_48h) = s6;
    0x00000dc8 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x00000dcc sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x00000dd0 sw s0, 0x30(sp)           |     *(var_30h) = s0;
    0x00000dd4 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00000dd8 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00000ddc lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00000de0 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00000de4 b 0x13ac                  |     
                                         |     while (v0 != 0) {
    0x00000de8 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x00000dec move a0, v0               |         a0 = v0;
    0x00000df0 move a1, s6               |         a1 = s6;
    0x00000df4 jalr t9                   |         t9 ();
    0x00000df8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000dfc move a1, s2               |         a1 = s2;
    0x00000e00 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x00000e04 move a0, s1               |         a0 = s1;
    0x00000e08 jalr t9                   |         t9 ();
    0x00000e0c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e10 move a1, s0               |         a1 = s0;
    0x00000e14 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x00000e18 move a0, s1               |         a0 = s1;
    0x00000e1c jalr t9                   |         t9 ();
    0x00000e20 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e24 lw a2, 4(s1)              |         a2 = *((s1 + 1));
    0x00000e28 lw a1, 0x1c(sp)           |         a1 = *(var_1ch);
    0x00000e2c lw s2, -0x7fd4(gp)        |         s2 = sym.simple_dump;
    0x00000e30 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x00000e34 addiu a0, zero, 1         |         a0 = 1;
    0x00000e38 jalr t9                   |         t9 ();
    0x00000e3c move t9, s2               |         t9 = s2;
    0x00000e40 move a0, s1               |         a0 = s1;
    0x00000e44 bal 0x1778                |         sym_simple_dump ();
    0x00000e48 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e4c lw t9, -0x7fd0(gp)        |         t9 = sym.simple_dump_rev;
    0x00000e50 move a0, s1               |         a0 = s1;
    0x00000e54 bal 0x1840                |         sym_simple_dump_rev ();
    0x00000e58 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e5c lw t9, -0x7f70(gp)        |         t9 = sym.imp.dlist_pop;
    0x00000e60 move a0, s1               |         a0 = s1;
    0x00000e64 jalr t9                   |         t9 ();
    0x00000e68 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e6c lw a1, 0x20(sp)           |         a1 = *(var_20h);
    0x00000e70 move a2, v0               |         a2 = v0;
    0x00000e74 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x00000e78 addiu a0, zero, 1         |         a0 = 1;
    0x00000e7c jalr t9                   |         t9 ();
    0x00000e80 move t9, s2               |         t9 = s2;
    0x00000e84 move a0, s1               |         a0 = s1;
    0x00000e88 bal 0x1778                |         sym_simple_dump ();
    0x00000e8c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000e90 lw v0, 0x24(sp)           |         v0 = *(var_24h);
    0x00000e94 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00000e98 addiu a0, v0, 0x1f18      |         a0 = v0 + str.pushed;
    0x00000e9c jalr t9                   |         t9 ();
    0x00000ea0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000ea4 move a1, s0               |         a1 = s0;
    0x00000ea8 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x00000eac move a0, s1               |         a0 = s1;
    0x00000eb0 jalr t9                   |         t9 ();
    0x00000eb4 move t9, s2               |         t9 = s2;
    0x00000eb8 move a0, s1               |         a0 = s1;
    0x00000ebc bal 0x1778                |         sym_simple_dump ();
    0x00000ec0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000ec4 lw t9, -0x7f1c(gp)        |         t9 = sym.imp.dlist_shift;
    0x00000ec8 move a0, s1               |         a0 = s1;
    0x00000ecc jalr t9                   |         t9 ();
    0x00000ed0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000ed4 lw a1, 0x28(sp)           |         a1 = *(var_28h);
    0x00000ed8 move a2, v0               |         a2 = v0;
    0x00000edc lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x00000ee0 addiu a0, zero, 1         |         a0 = 1;
    0x00000ee4 move s0, v0               |         s0 = v0;
    0x00000ee8 jalr t9                   |         t9 ();
    0x00000eec move t9, s2               |         t9 = s2;
    0x00000ef0 move a0, s1               |         a0 = s1;
    0x00000ef4 bal 0x1778                |         sym_simple_dump ();
    0x00000ef8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000efc lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x00000f00 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00000f04 addiu a0, v0, 0x1f2c      |         a0 = v0 + str.unshifted;
    0x00000f08 jalr t9                   |         t9 ();
    0x00000f0c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000f10 move a1, s0               |         a1 = s0;
    0x00000f14 lw t9, -0x7f78(gp)        |         t9 = sym.imp.dlist_unshift;
    0x00000f18 move a0, s1               |         a0 = s1;
    0x00000f1c jalr t9                   |         t9 ();
    0x00000f20 move t9, s2               |         t9 = s2;
    0x00000f24 move a0, s1               |         a0 = s1;
    0x00000f28 bal 0x1778                |         sym_simple_dump ();
    0x00000f2c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000f30 lw s0, -0x7fcc(gp)        |         s0 = sym.complex_maker;
    0x00000f34 lw t9, -0x7f58(gp)        |         t9 = sym.imp.dlist_destroy;
    0x00000f38 move a0, s1               |         a0 = s1;
    0x00000f3c jalr t9                   |         t9 ();
    0x00000f40 addiu a2, s5, 0x1ed8      |         a2 = s5 + 0x1ed8;
    0x00000f44 addiu a1, zero, 1         |         a1 = 1;
    0x00000f48 move t9, s0               |         t9 = s0;
    0x00000f4c addiu a0, zero, 1         |         a0 = 1;
    0x00000f50 bal 0x19a8                |         sym_complex_maker ();
    0x00000f54 addiu a2, s4, 0x1edc      |         a2 = s4 + 0x1edc;
    0x00000f58 addiu a1, zero, 2         |         a1 = 2;
    0x00000f5c addiu a0, zero, 2         |         a0 = 2;
    0x00000f60 move t9, s0               |         t9 = s0;
    0x00000f64 move s1, v0               |         s1 = v0;
    0x00000f68 bal 0x19a8                |         sym_complex_maker ();
    0x00000f6c addiu a2, s3, 0x1ee0      |         a2 = s3 + str.three;
    0x00000f70 addiu a1, zero, 3         |         a1 = 3;
    0x00000f74 addiu a0, zero, 3         |         a0 = 3;
    0x00000f78 move t9, s0               |         t9 = s0;
    0x00000f7c move s7, v0               |         s7 = v0;
    0x00000f80 bal 0x19a8                |         sym_complex_maker ();
    0x00000f84 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000f88 addiu a0, zero, 8         |         a0 = 8;
    0x00000f8c lw t9, -0x7f34(gp)        |         t9 = sym.imp.dlist_new_with_delete;
    0x00000f90 lw a1, -0x7fc8(gp)        |         a1 = sym.complex_del;
    0x00000f94 move s2, v0               |         s2 = v0;
    0x00000f98 jalr t9                   |         t9 ();
    0x00000f9c move s6, v0               |         s6 = v0;
    0x00000fa0 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00000fa4 beqz v0, 0x1404           |             goto label_0;
                                         |         }
    0x00000fa8 lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x00000fac lw a2, -0x7fc4(gp)        |         a2 = sym.complex_less;
    0x00000fb0 move a1, s1               |         a1 = s1;
    0x00000fb4 move a0, v0               |         a0 = v0;
    0x00000fb8 jalr t9                   |         t9 ();
    0x00000fbc lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00000fc0 beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x00000fc4 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00000fc8 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00000fcc addiu a0, a0, 0x1fc0      |         a0 += 0x1fc0;
    0x00000fd0 jalr t9                   |         t9 ();
    0x00000fd4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00000fd8 move a1, s2               |         a1 = s2;
    0x00000fdc lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x00000fe0 lw a2, -0x7fc4(gp)        |         a2 = sym.complex_less;
    0x00000fe4 move a0, s6               |         a0 = s6;
    0x00000fe8 jalr t9                   |         t9 ();
    0x00000fec lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00000ff0 beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x00000ff4 lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x00000ff8 lw a2, -0x7fc4(gp)        |         a2 = sym.complex_less;
    0x00000ffc move a1, s7               |         a1 = s7;
    0x00001000 move a0, s6               |         a0 = s6;
    0x00001004 jalr t9                   |         t9 ();
    0x00001008 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x0000100c beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x00001010 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001014 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001018 addiu a0, a0, 0x1ff0      |         a0 += 0x1ff0;
    0x0000101c jalr t9                   |         t9 ();
    0x00001020 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001024 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001028 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x0000102c lw s2, -0x7fc0(gp)        |         s2 = sym.complex_dump;
    0x00001030 addiu a0, a0, 0x1f50      |         a0 += str.ascending_sorted_output;
    0x00001034 jalr t9                   |         t9 ();
    0x00001038 move t9, s2               |         t9 = s2;
    0x0000103c move a0, s6               |         a0 = s6;
    0x00001040 bal 0x1a54                |         sym_complex_dump ();
    0x00001044 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001048 lw a1, -0x7fbc(gp)        |         a1 = sym.complex_silly_multiply_by_two;
    0x0000104c lw t9, -0x7f60(gp)        |         t9 = sym.imp.dlist_transform;
    0x00001050 move a0, s6               |         a0 = s6;
    0x00001054 jalr t9                   |         t9 ();
    0x00001058 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000105c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001060 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001064 addiu a0, a0, 0x1f68      |         a0 += str.transform_multi_by_2_output;
    0x00001068 jalr t9                   |         t9 ();
    0x0000106c move t9, s2               |         t9 = s2;
    0x00001070 move a0, s6               |         a0 = s6;
    0x00001074 bal 0x1a54                |         sym_complex_dump ();
    0x00001078 addiu a2, s3, 0x1ee0      |         a2 = s3 + str.three;
    0x0000107c addiu a1, zero, 6         |         a1 = 6;
    0x00001080 move t9, s0               |         t9 = s0;
    0x00001084 addiu a0, zero, 6         |         a0 = 6;
    0x00001088 bal 0x19a8                |         sym_complex_maker ();
    0x0000108c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001090 move a1, v0               |         a1 = v0;
    0x00001094 move a0, s6               |         a0 = s6;
    0x00001098 lw t9, -0x7f48(gp)        |         t9 = sym.imp.dlist_find_custom;
    0x0000109c lw a2, -0x7fb8(gp)        |         a2 = sym.complex_equal;
    0x000010a0 move s7, v0               |         s7 = v0;
    0x000010a4 jalr t9                   |         t9 ();
    0x000010a8 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x000010ac beqz v0, 0x1480           |             goto label_2;
                                         |         }
    0x000010b0 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000010b4 lw a3, (v0)               |         a3 = *(v0);
    0x000010b8 lw s1, -0x7fc8(gp)        |         s1 = sym.complex_del;
    0x000010bc lw a2, (s7)               |         a2 = *(s7);
    0x000010c0 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x000010c4 addiu a1, a1, 0x1f84      |         a1 += str.found__d_as__d_in_list_n;
    0x000010c8 addiu a0, zero, 1         |         a0 = 1;
    0x000010cc jalr t9                   |         t9 ();
    0x000010d0 move t9, s1               |         t9 = s1;
    0x000010d4 move a0, s7               |         a0 = s7;
    0x000010d8 bal 0x16b8                |         sym_complex_del ();
    0x000010dc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000010e0 lw t9, -0x7f58(gp)        |         t9 = sym.imp.dlist_destroy;
    0x000010e4 move a0, s6               |         a0 = s6;
    0x000010e8 jalr t9                   |         t9 ();
    0x000010ec addiu a2, s5, 0x1ed8      |         a2 = s5 + 0x1ed8;
    0x000010f0 addiu a1, zero, 1         |         a1 = 1;
    0x000010f4 move t9, s0               |         t9 = s0;
    0x000010f8 addiu a0, zero, 1         |         a0 = 1;
    0x000010fc bal 0x19a8                |         sym_complex_maker ();
    0x00001100 addiu a2, s4, 0x1edc      |         a2 = s4 + 0x1edc;
    0x00001104 addiu a1, zero, 2         |         a1 = 2;
    0x00001108 addiu a0, zero, 2         |         a0 = 2;
    0x0000110c move t9, s0               |         t9 = s0;
    0x00001110 move s6, v0               |         s6 = v0;
    0x00001114 bal 0x19a8                |         sym_complex_maker ();
    0x00001118 addiu a2, s3, 0x1ee0      |         a2 = s3 + str.three;
    0x0000111c addiu a1, zero, 3         |         a1 = 3;
    0x00001120 addiu a0, zero, 3         |         a0 = 3;
    0x00001124 move t9, s0               |         t9 = s0;
    0x00001128 move fp, v0               |         fp = v0;
    0x0000112c bal 0x19a8                |         sym_complex_maker ();
    0x00001130 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001134 move a1, s1               |         a1 = s1;
    0x00001138 addiu a0, zero, 8         |         a0 = 8;
    0x0000113c lw t9, -0x7f34(gp)        |         t9 = sym.imp.dlist_new_with_delete;
    0x00001140 move s7, v0               |         s7 = v0;
    0x00001144 jalr t9                   |         t9 ();
    0x00001148 move s1, v0               |         s1 = v0;
    0x0000114c lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x00001150 beqz v0, 0x1404           |             goto label_0;
                                         |         }
    0x00001154 lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x00001158 lw a2, -0x7fb4(gp)        |         a2 = sym.complex_greater;
    0x0000115c move a1, s6               |         a1 = s6;
    0x00001160 move a0, v0               |         a0 = v0;
    0x00001164 jalr t9                   |         t9 ();
    0x00001168 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x0000116c beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x00001170 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001174 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001178 addiu a0, a0, 0x1fb8      |         a0 += str.greater_sorted_insert_1;
    0x0000117c jalr t9                   |         t9 ();
    0x00001180 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001184 move a1, s7               |         a1 = s7;
    0x00001188 lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x0000118c lw a2, -0x7fb4(gp)        |         a2 = sym.complex_greater;
    0x00001190 move a0, s1               |         a0 = s1;
    0x00001194 jalr t9                   |         t9 ();
    0x00001198 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x0000119c beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x000011a0 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000011a4 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x000011a8 addiu a0, a0, 0x1fd0      |         a0 += str.greater_sorted_insert_3;
    0x000011ac jalr t9                   |         t9 ();
    0x000011b0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000011b4 move a1, fp               |         a1 = fp;
    0x000011b8 lw t9, -0x7f18(gp)        |         t9 = sym.imp.dlist_insert_sorted;
    0x000011bc lw a2, -0x7fb4(gp)        |         a2 = sym.complex_greater;
    0x000011c0 move a0, s1               |         a0 = s1;
    0x000011c4 jalr t9                   |         t9 ();
    0x000011c8 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x000011cc beqz v0, 0x142c           |             goto label_1;
                                         |         }
    0x000011d0 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000011d4 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x000011d8 addiu a0, a0, 0x1fe8      |         a0 += str.greater_sorted_insert_2;
    0x000011dc jalr t9                   |         t9 ();
    0x000011e0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000011e4 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000011e8 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x000011ec addiu a0, a0, 0x2000      |         a0 += str.descending_sorted_output_using_transform;
    0x000011f0 jalr t9                   |         t9 ();
    0x000011f4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000011f8 lw a1, -0x7fb0(gp)        |         a1 = sym.complex_out;
    0x000011fc lw t9, -0x7f60(gp)        |         t9 = sym.imp.dlist_transform;
    0x00001200 move a0, s1               |         a0 = s1;
    0x00001204 jalr t9                   |         t9 ();
    0x00001208 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000120c lw t9, -0x7f58(gp)        |         t9 = sym.imp.dlist_destroy;
    0x00001210 move a0, s1               |         a0 = s1;
    0x00001214 jalr t9                   |         t9 ();
    0x00001218 move t9, s0               |         t9 = s0;
    0x0000121c addiu a2, s5, 0x1ed8      |         a2 = s5 + 0x1ed8;
    0x00001220 addiu a1, zero, 1         |         a1 = 1;
    0x00001224 addiu a0, zero, 1         |         a0 = 1;
    0x00001228 bal 0x19a8                |         sym_complex_maker ();
    0x0000122c move t9, s0               |         t9 = s0;
    0x00001230 addiu a2, s4, 0x1edc      |         a2 = s4 + 0x1edc;
    0x00001234 addiu a1, zero, 2         |         a1 = 2;
    0x00001238 addiu a0, zero, 2         |         a0 = 2;
    0x0000123c move s6, v0               |         s6 = v0;
    0x00001240 bal 0x19a8                |         sym_complex_maker ();
    0x00001244 move t9, s0               |         t9 = s0;
    0x00001248 addiu a2, s3, 0x1ee0      |         a2 = s3 + str.three;
    0x0000124c addiu a1, zero, 3         |         a1 = 3;
    0x00001250 addiu a0, zero, 3         |         a0 = 3;
    0x00001254 move s7, v0               |         s7 = v0;
    0x00001258 bal 0x19a8                |         sym_complex_maker ();
    0x0000125c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001260 move t9, s0               |         t9 = s0;
    0x00001264 addiu a1, zero, 4         |         a1 = 4;
    0x00001268 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x0000126c addiu a0, zero, 4         |         a0 = 4;
    0x00001270 addiu a2, a2, 0x202c      |         a2 += str.four;
    0x00001274 move s1, v0               |         s1 = v0;
    0x00001278 bal 0x19a8                |         sym_complex_maker ();
    0x0000127c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001280 addiu a0, zero, 8         |         a0 = 8;
    0x00001284 lw t9, -0x7f34(gp)        |         t9 = sym.imp.dlist_new_with_delete;
    0x00001288 lw a1, -0x7fc8(gp)        |         a1 = sym.complex_del;
    0x0000128c move fp, v0               |         fp = v0;
    0x00001290 jalr t9                   |         t9 ();
    0x00001294 move s0, v0               |         s0 = v0;
    0x00001298 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 == 0) {
    0x0000129c beqz v0, 0x1404           |             goto label_0;
                                         |         }
    0x000012a0 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x000012a4 move a0, v0               |         a0 = v0;
    0x000012a8 move a1, s7               |         a1 = s7;
    0x000012ac jalr t9                   |         t9 ();
    0x000012b0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000012b4 move a1, s6               |         a1 = s6;
    0x000012b8 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x000012bc move a0, s0               |         a0 = s0;
    0x000012c0 jalr t9                   |         t9 ();
    0x000012c4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000012c8 move a1, fp               |         a1 = fp;
    0x000012cc lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x000012d0 move a0, s0               |         a0 = s0;
    0x000012d4 jalr t9                   |         t9 ();
    0x000012d8 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000012dc move a1, s1               |         a1 = s1;
    0x000012e0 lw t9, -0x7f40(gp)        |         t9 = sym.imp.dlist_push;
    0x000012e4 move a0, s0               |         a0 = s0;
    0x000012e8 jalr t9                   |         t9 ();
    0x000012ec lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000012f0 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000012f4 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x000012f8 addiu a0, a0, 0x2034      |         a0 += str.unsorted_custom;
    0x000012fc jalr t9                   |         t9 ();
    0x00001300 move t9, s2               |         t9 = s2;
    0x00001304 move a0, s0               |         a0 = s0;
    0x00001308 bal 0x1a54                |         sym_complex_dump ();
    0x0000130c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001310 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001314 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001318 addiu a0, a0, 0x2044      |         a0 += str.unsorted_custom_reversed;
    0x0000131c jalr t9                   |         t9 ();
    0x00001320 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001324 lw t9, -0x7fac(gp)        |         t9 = sym.complex_dump_rev;
    0x00001328 move a0, s0               |         a0 = s0;
    0x0000132c bal 0x1b30                |         sym_complex_dump_rev ();
    0x00001330 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001334 lw a1, -0x7fa8(gp)        |         a1 = sym.complex_comp;
    0x00001338 lw t9, -0x7f2c(gp)        |         t9 = sym.imp.dlist_sort_custom;
    0x0000133c move a0, s0               |         a0 = s0;
    0x00001340 jalr t9                   |         t9 ();
    0x00001344 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001348 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x0000134c lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001350 addiu a0, a0, 0x2060      |         a0 += str.custom_sorted_output;
    0x00001354 jalr t9                   |         t9 ();
    0x00001358 move t9, s2               |         t9 = s2;
    0x0000135c move a0, s0               |         a0 = s0;
    0x00001360 bal 0x1a54                |         sym_complex_dump ();
    0x00001364 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001368 lw a2, -0x7fa8(gp)        |         a2 = sym.complex_comp;
    0x0000136c lw a1, -0x7fa4(gp)        |         a1 = sym.complex_filter;
    0x00001370 lw t9, -0x7f64(gp)        |         t9 = sym.imp.dlist_filter_sort;
    0x00001374 move a0, s0               |         a0 = s0;
    0x00001378 jalr t9                   |         t9 ();
    0x0000137c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001380 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001384 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001388 addiu a0, a0, 0x2078      |         a0 += str.custom_filtered_and_sorted_output;
    0x0000138c jalr t9                   |         t9 ();
    0x00001390 move t9, s2               |         t9 = s2;
    0x00001394 move a0, s0               |         a0 = s0;
    0x00001398 bal 0x1a54                |         sym_complex_dump ();
    0x0000139c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000013a0 lw t9, -0x7f58(gp)        |         t9 = sym.imp.dlist_destroy;
    0x000013a4 move a0, s0               |         a0 = s0;
    0x000013a8 jalr t9                   |         t9 ();
    0x000013ac lw t9, 0x18(sp)           |         t9 = *(var_18h);
    0x000013b0 addiu a1, s5, 0x1ed8      |         a1 = s5 + 0x1ed8;
    0x000013b4 addiu a0, zero, 1         |         a0 = 1;
    0x000013b8 jalr t9                   |         t9 ();
    0x000013bc lw t9, 0x18(sp)           |         t9 = *(var_18h);
    0x000013c0 addiu a1, s4, 0x1edc      |         a1 = s4 + 0x1edc;
    0x000013c4 addiu a0, zero, 2         |         a0 = 2;
    0x000013c8 move s6, v0               |         s6 = v0;
    0x000013cc jalr t9                   |         t9 ();
    0x000013d0 lw t9, 0x18(sp)           |         t9 = *(var_18h);
    0x000013d4 addiu a1, s3, 0x1ee0      |         a1 = s3 + str.three;
    0x000013d8 addiu a0, zero, 3         |         a0 = 3;
    0x000013dc move s2, v0               |         s2 = v0;
    0x000013e0 jalr t9                   |         t9 ();
    0x000013e4 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000013e8 addiu a0, zero, 0x54      |         a0 = 0x54;
    0x000013ec lw t9, -0x7f38(gp)        |         t9 = sym.imp.dlist_new;
    0x000013f0 move s0, v0               |         s0 = v0;
    0x000013f4 jalr t9                   |         t9 ();
    0x000013f8 move s1, v0               |         s1 = v0;
    0x000013fc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001400 bnez v0, 0xde8            |         
                                         |     }
                                         | label_0:
    0x00001404 lw v0, -0x7f24(gp)        |     v0 = *((gp - 8137));
    0x00001408 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000140c lw t9, -0x7f3c(gp)        |     t9 = sym.imp.fwrite;
    0x00001410 lw a3, (v0)               |     a3 = *(v0);
    0x00001414 addiu a2, zero, 0x13      |     a2 = 0x13;
    0x00001418 addiu a1, zero, 1         |     a1 = 1;
    0x0000141c addiu a0, a0, 0x1ee8      |     a0 += str.ERR_dlist_new_fail_n;
    0x00001420 jalr t9                   |     t9 ();
    0x00001424 addiu v0, zero, 2         |     v0 = 2;
    0x00001428 b 0x1450                  |     goto label_3;
                                         | label_1:
    0x0000142c lw v0, -0x7f24(gp)        |     v0 = *((gp - 8137));
    0x00001430 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001434 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.fwrite;
    0x00001438 lw a3, (v0)               |     a3 = *(v0);
    0x0000143c addiu a2, zero, 0x16      |     a2 = 0x16;
    0x00001440 addiu a1, zero, 1         |     a1 = 1;
    0x00001444 addiu a0, a0, 0x1f38      |     a0 += str.ERR_dlist_insert_fail_n;
    0x00001448 jalr t9                   |     t9 ();
    0x0000144c addiu v0, zero, 2         |     v0 = 2;
                                         |     do {
                                         | label_3:
    0x00001450 lw ra, 0x54(sp)           |         ra = *(var_54h);
    0x00001454 lw fp, 0x50(sp)           |         fp = *(var_50h);
    0x00001458 lw s7, 0x4c(sp)           |         s7 = *(var_4ch);
    0x0000145c lw s6, 0x48(sp)           |         s6 = *(var_48h);
    0x00001460 lw s5, 0x44(sp)           |         s5 = *(var_44h);
    0x00001464 lw s4, 0x40(sp)           |         s4 = *(var_40h);
    0x00001468 lw s3, 0x3c(sp)           |         s3 = *(var_3ch);
    0x0000146c lw s2, 0x38(sp)           |         s2 = *(var_38h);
    0x00001470 lw s1, 0x34(sp)           |         s1 = *(var_34h);
    0x00001474 lw s0, 0x30(sp)           |         s0 = *(var_30h);
    0x00001478 addiu sp, sp, 0x58        |         
    0x0000147c jr ra                     |         return v0;
                                         | label_2:
    0x00001480 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00001484 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x00001488 lw a2, (s7)               |         a2 = *(s7);
    0x0000148c addiu a1, a1, 0x1f9c      |         a1 += str.ERROR_find_failed_on__d__n;
    0x00001490 addiu a0, zero, 1         |         a0 = 1;
    0x00001494 jalr t9                   |         t9 ();
    0x00001498 addiu v0, zero, 3         |         v0 = 3;
    0x0000149c b 0x1450                  |         
                                         |     } while (1);
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1a54 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.complex_dump ()              | void complex_dump () {
    0x00001a54 lui gp, 2                     |     
    0x00001a58 addiu gp, gp, -0x6a44         |     
    0x00001a5c addu gp, gp, t9               |     gp += t9;
    0x00001a60 addiu sp, sp, -0x30           |     
    0x00001a64 lw t9, -0x7f54(gp)            |     t9 = sym.imp.dlist_start;
    0x00001a68 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00001a6c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00001a70 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00001a74 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00001a78 move s0, a0                   |     s0 = a0;
    0x00001a7c jalr t9                       |     t9 ();
    0x00001a80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001a84 lw a2, 4(s0)                  |     a2 = *((s0 + 1));
    0x00001a88 addiu a0, zero, 1             |     a0 = 1;
    0x00001a8c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00001a90 lw t9, -0x7f6c(gp)            |     t9 = sym.imp.__printf_chk
    0x00001a94 addiu a1, a1, 0x1eb4          |     a1 += 0x1eb4;
    0x00001a98 jalr t9                       |     t9 ();
    0x00001a9c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001aa0 lw t9, -0x7f54(gp)            |     t9 = sym.imp.dlist_start;
    0x00001aa4 move a0, s0                   |     a0 = s0;
    0x00001aa8 jalr t9                       |     t9 ();
    0x00001aac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001ab0 move a0, s0                   |     a0 = s0;
    0x00001ab4 lw t9, -0x7f30(gp)            |     t9 = sym.imp._dlist_mark_move;
    0x00001ab8 addiu a1, zero, 1             |     a1 = 1;
    0x00001abc jalr t9                       |     t9 ();
    0x00001ac0 lw a0, (s0)                   |     a0 = *(s0);
    0x00001ac4 lw v1, 0x1c(s0)               |     v1 = *((s0 + 7));
    0x00001ac8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == v1) {
    0x00001acc beq a0, v1, 0x1b1c            |         goto label_0;
                                             |     }
    0x00001ad0 lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x00001ad4 addiu s1, s1, 0x1e68          |     s1 += str.cnumber__d_label__s_number__d__n;
                                             |     do {
    0x00001ad8 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00001adc lw a2, (v0)                   |         a2 = *(v0);
    0x00001ae0 lw t9, -0x7f6c(gp)            |         t9 = sym.imp.__printf_chk
    0x00001ae4 lw v0, 0x50(a3)               |         v0 = *((a3 + 20));
    0x00001ae8 move a1, s1                   |         a1 = s1;
    0x00001aec addiu a0, zero, 1             |         a0 = 1;
    0x00001af0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00001af4 jalr t9                       |         t9 ();
    0x00001af8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001afc move a0, s0                   |         a0 = s0;
    0x00001b00 lw t9, -0x7f30(gp)            |         t9 = sym.imp._dlist_mark_move;
    0x00001b04 addiu a1, zero, 1             |         a1 = 1;
    0x00001b08 jalr t9                       |         t9 ();
    0x00001b0c lw a0, (s0)                   |         a0 = *(s0);
    0x00001b10 lw v1, 0x1c(s0)               |         v1 = *((s0 + 7));
    0x00001b14 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001b18 bne a0, v1, 0x1ad8            |         
                                             |     } while (a0 != v1);
                                             | label_0:
    0x00001b1c lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00001b20 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00001b24 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x00001b28 addiu sp, sp, 0x30            |     
    0x00001b2c jr ra                         |     return v1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1b30 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.complex_dump_rev ()          | void complex_dump_rev () {
    0x00001b30 lui gp, 2                     |     
    0x00001b34 addiu gp, gp, -0x6b20         |     
    0x00001b38 addu gp, gp, t9               |     gp += t9;
    0x00001b3c addiu sp, sp, -0x30           |     
    0x00001b40 lw t9, -0x7f54(gp)            |     t9 = sym.imp.dlist_start;
    0x00001b44 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00001b48 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00001b4c sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00001b50 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00001b54 move s0, a0                   |     s0 = a0;
    0x00001b58 jalr t9                       |     t9 ();
    0x00001b5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b60 lw a2, 4(s0)                  |     a2 = *((s0 + 1));
    0x00001b64 addiu a0, zero, 1             |     a0 = 1;
    0x00001b68 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00001b6c lw t9, -0x7f6c(gp)            |     t9 = sym.imp.__printf_chk
    0x00001b70 addiu a1, a1, 0x1eb4          |     a1 += 0x1eb4;
    0x00001b74 jalr t9                       |     t9 ();
    0x00001b78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b7c lw t9, -0x7f7c(gp)            |     t9 = sym.imp.dlist_end;
    0x00001b80 move a0, s0                   |     a0 = s0;
    0x00001b84 jalr t9                       |     t9 ();
    0x00001b88 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b8c move a0, s0                   |     a0 = s0;
    0x00001b90 lw t9, -0x7f30(gp)            |     t9 = sym.imp._dlist_mark_move;
    0x00001b94 move a1, zero                 |     a1 = 0;
    0x00001b98 jalr t9                       |     t9 ();
    0x00001b9c lw a0, (s0)                   |     a0 = *(s0);
    0x00001ba0 lw v1, 0x1c(s0)               |     v1 = *((s0 + 7));
    0x00001ba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == v1) {
    0x00001ba8 beq a0, v1, 0x1bf8            |         goto label_0;
                                             |     }
    0x00001bac lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x00001bb0 addiu s1, s1, 0x1e68          |     s1 += str.cnumber__d_label__s_number__d__n;
                                             |     do {
    0x00001bb4 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00001bb8 lw a2, (v0)                   |         a2 = *(v0);
    0x00001bbc lw t9, -0x7f6c(gp)            |         t9 = sym.imp.__printf_chk
    0x00001bc0 lw v0, 0x50(a3)               |         v0 = *((a3 + 20));
    0x00001bc4 move a1, s1                   |         a1 = s1;
    0x00001bc8 addiu a0, zero, 1             |         a0 = 1;
    0x00001bcc sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00001bd0 jalr t9                       |         t9 ();
    0x00001bd4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001bd8 move a0, s0                   |         a0 = s0;
    0x00001bdc lw t9, -0x7f30(gp)            |         t9 = sym.imp._dlist_mark_move;
    0x00001be0 move a1, zero                 |         a1 = 0;
    0x00001be4 jalr t9                       |         t9 ();
    0x00001be8 lw a0, (s0)                   |         a0 = *(s0);
    0x00001bec lw v1, 0x1c(s0)               |         v1 = *((s0 + 7));
    0x00001bf0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001bf4 bne a0, v1, 0x1bb4            |         
                                             |     } while (a0 != v1);
                                             | label_0:
    0x00001bf8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00001bfc lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00001c00 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x00001c04 addiu sp, sp, 0x30            |     
    0x00001c08 jr ra                         |     return v1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1b30 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.complex_dump_rev ()          | void complex_dump_rev () {
    0x00001b30 lui gp, 2                     |     
    0x00001b34 addiu gp, gp, -0x6b20         |     
    0x00001b38 addu gp, gp, t9               |     gp += t9;
    0x00001b3c addiu sp, sp, -0x30           |     
    0x00001b40 lw t9, -0x7f54(gp)            |     t9 = sym.imp.dlist_start;
    0x00001b44 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x00001b48 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00001b4c sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00001b50 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00001b54 move s0, a0                   |     s0 = a0;
    0x00001b58 jalr t9                       |     t9 ();
    0x00001b5c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b60 lw a2, 4(s0)                  |     a2 = *((s0 + 1));
    0x00001b64 addiu a0, zero, 1             |     a0 = 1;
    0x00001b68 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00001b6c lw t9, -0x7f6c(gp)            |     t9 = sym.imp.__printf_chk
    0x00001b70 addiu a1, a1, 0x1eb4          |     a1 += 0x1eb4;
    0x00001b74 jalr t9                       |     t9 ();
    0x00001b78 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b7c lw t9, -0x7f7c(gp)            |     t9 = sym.imp.dlist_end;
    0x00001b80 move a0, s0                   |     a0 = s0;
    0x00001b84 jalr t9                       |     t9 ();
    0x00001b88 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00001b8c move a0, s0                   |     a0 = s0;
    0x00001b90 lw t9, -0x7f30(gp)            |     t9 = sym.imp._dlist_mark_move;
    0x00001b94 move a1, zero                 |     a1 = 0;
    0x00001b98 jalr t9                       |     t9 ();
    0x00001b9c lw a0, (s0)                   |     a0 = *(s0);
    0x00001ba0 lw v1, 0x1c(s0)               |     v1 = *((s0 + 7));
    0x00001ba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 == v1) {
    0x00001ba8 beq a0, v1, 0x1bf8            |         goto label_0;
                                             |     }
    0x00001bac lw s1, -0x7fdc(gp)            |     s1 = *((gp - 8183));
    0x00001bb0 addiu s1, s1, 0x1e68          |     s1 += str.cnumber__d_label__s_number__d__n;
                                             |     do {
    0x00001bb4 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00001bb8 lw a2, (v0)                   |         a2 = *(v0);
    0x00001bbc lw t9, -0x7f6c(gp)            |         t9 = sym.imp.__printf_chk
    0x00001bc0 lw v0, 0x50(a3)               |         v0 = *((a3 + 20));
    0x00001bc4 move a1, s1                   |         a1 = s1;
    0x00001bc8 addiu a0, zero, 1             |         a0 = 1;
    0x00001bcc sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00001bd0 jalr t9                       |         t9 ();
    0x00001bd4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001bd8 move a0, s0                   |         a0 = s0;
    0x00001bdc lw t9, -0x7f30(gp)            |         t9 = sym.imp._dlist_mark_move;
    0x00001be0 move a1, zero                 |         a1 = 0;
    0x00001be4 jalr t9                       |         t9 ();
    0x00001be8 lw a0, (s0)                   |         a0 = *(s0);
    0x00001bec lw v1, 0x1c(s0)               |         v1 = *((s0 + 7));
    0x00001bf0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00001bf4 bne a0, v1, 0x1bb4            |         
                                             |     } while (a0 != v1);
                                             | label_0:
    0x00001bf8 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x00001bfc lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x00001c00 lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x00001c04 addiu sp, sp, 0x30            |     
    0x00001c08 jr ra                         |     return v1;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1670 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.complex_out ()           | void complex_out () {
    0x00001670 lui gp, 2                 |     
    0x00001674 addiu gp, gp, -0x6660     |     
    0x00001678 addu gp, gp, t9           |     gp += t9;
    0x0000167c lw a3, 4(a0)              |     a3 = *((a0 + 1));
    0x00001680 addiu sp, sp, -0x28       |     
    0x00001684 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001688 lw v0, 0x50(a3)           |     v0 = *((a3 + 20));
    0x0000168c lw a2, (a0)               |     a2 = *(a0);
    0x00001690 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.__printf_chk
    0x00001694 addiu a1, a1, 0x1e68      |     a1 += str.cnumber__d_label__s_number__d__n;
    0x00001698 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x0000169c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x000016a0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000016a4 addiu a0, zero, 1         |     a0 = 1;
    0x000016a8 jalr t9                   |     t9 ();
    0x000016ac lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x000016b0 addiu sp, sp, 0x28        |     
    0x000016b4 jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1778 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.simple_dump ()           | void simple_dump () {
    0x00001778 lui gp, 2                 |     
    0x0000177c addiu gp, gp, -0x6768     |     
    0x00001780 addu gp, gp, t9           |     gp += t9;
    0x00001784 addiu sp, sp, -0x28       |     
    0x00001788 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000178c lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001790 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.__printf_chk
    0x00001794 addiu a1, a1, 0x1eb4      |     a1 += 0x1eb4;
    0x00001798 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x0000179c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000017a0 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x000017a4 sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x000017a8 move s0, a0               |     s0 = a0;
    0x000017ac addiu a0, zero, 1         |     a0 = 1;
    0x000017b0 jalr t9                   |     t9 ();
    0x000017b4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000017b8 lw t9, -0x7f54(gp)        |     t9 = sym.imp.dlist_start;
    0x000017bc move a0, s0               |     a0 = s0;
    0x000017c0 jalr t9                   |     t9 ();
    0x000017c4 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000017c8 move a0, s0               |     a0 = s0;
    0x000017cc lw t9, -0x7f30(gp)        |     t9 = sym.imp._dlist_mark_move;
    0x000017d0 addiu a1, zero, 1         |     a1 = 1;
    0x000017d4 jalr t9                   |     t9 ();
    0x000017d8 lw a0, (s0)               |     a0 = *(s0);
    0x000017dc lw v1, 0x1c(s0)           |     v1 = *((s0 + 7));
    0x000017e0 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (a0 == v1) {
    0x000017e4 beq a0, v1, 0x182c        |         goto label_0;
                                         |     }
    0x000017e8 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x000017ec addiu s1, s1, 0x1e98      |     s1 += str.label__s_number__d__n;
                                         |     do {
    0x000017f0 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x000017f4 lw a3, 0x50(v0)           |         a3 = *((v0 + 20));
    0x000017f8 move a2, v0               |         a2 = v0;
    0x000017fc move a1, s1               |         a1 = s1;
    0x00001800 addiu a0, zero, 1         |         a0 = 1;
    0x00001804 jalr t9                   |         t9 ();
    0x00001808 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0000180c move a0, s0               |         a0 = s0;
    0x00001810 lw t9, -0x7f30(gp)        |         t9 = sym.imp._dlist_mark_move;
    0x00001814 addiu a1, zero, 1         |         a1 = 1;
    0x00001818 jalr t9                   |         t9 ();
    0x0000181c lw a0, (s0)               |         a0 = *(s0);
    0x00001820 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x00001824 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00001828 bne a0, v1, 0x17f0        |         
                                         |     } while (a0 != v1);
                                         | label_0:
    0x0000182c lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x00001830 lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x00001834 lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00001838 addiu sp, sp, 0x28        |     
    0x0000183c jr ra                     |     return v1;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1840 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.simple_dump_rev ()       | void simple_dump_rev () {
    0x00001840 lui gp, 2                 |     
    0x00001844 addiu gp, gp, -0x6830     |     
    0x00001848 addu gp, gp, t9           |     gp += t9;
    0x0000184c addiu sp, sp, -0x28       |     
    0x00001850 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001854 lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001858 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.__printf_chk
    0x0000185c addiu a1, a1, 0x1eb0      |     a1 += str.rev_count___ld__n;
    0x00001860 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00001864 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00001868 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x0000186c sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x00001870 move s0, a0               |     s0 = a0;
    0x00001874 addiu a0, zero, 1         |     a0 = 1;
    0x00001878 jalr t9                   |     t9 ();
    0x0000187c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00001880 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.dlist_end;
    0x00001884 move a0, s0               |     a0 = s0;
    0x00001888 jalr t9                   |     t9 ();
    0x0000188c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00001890 move a0, s0               |     a0 = s0;
    0x00001894 lw t9, -0x7f30(gp)        |     t9 = sym.imp._dlist_mark_move;
    0x00001898 move a1, zero             |     a1 = 0;
    0x0000189c jalr t9                   |     t9 ();
    0x000018a0 lw a0, (s0)               |     a0 = *(s0);
    0x000018a4 lw v1, 0x1c(s0)           |     v1 = *((s0 + 7));
    0x000018a8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (a0 == v1) {
    0x000018ac beq a0, v1, 0x18f4        |         goto label_0;
                                         |     }
    0x000018b0 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x000018b4 addiu s1, s1, 0x1e98      |     s1 += str.label__s_number__d__n;
                                         |     do {
    0x000018b8 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x000018bc lw a3, 0x50(v0)           |         a3 = *((v0 + 20));
    0x000018c0 move a2, v0               |         a2 = v0;
    0x000018c4 move a1, s1               |         a1 = s1;
    0x000018c8 addiu a0, zero, 1         |         a0 = 1;
    0x000018cc jalr t9                   |         t9 ();
    0x000018d0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000018d4 move a0, s0               |         a0 = s0;
    0x000018d8 lw t9, -0x7f30(gp)        |         t9 = sym.imp._dlist_mark_move;
    0x000018dc move a1, zero             |         a1 = 0;
    0x000018e0 jalr t9                   |         t9 ();
    0x000018e4 lw a0, (s0)               |         a0 = *(s0);
    0x000018e8 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x000018ec lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000018f0 bne a0, v1, 0x18b8        |         
                                         |     } while (a0 != v1);
                                         | label_0:
    0x000018f4 lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x000018f8 lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x000018fc lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00001900 addiu sp, sp, 0x28        |     
    0x00001904 jr ra                     |     return v1;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dlist_test @ 0x1840 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.simple_dump_rev ()       | void simple_dump_rev () {
    0x00001840 lui gp, 2                 |     
    0x00001844 addiu gp, gp, -0x6830     |     
    0x00001848 addu gp, gp, t9           |     gp += t9;
    0x0000184c addiu sp, sp, -0x28       |     
    0x00001850 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001854 lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001858 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.__printf_chk
    0x0000185c addiu a1, a1, 0x1eb0      |     a1 += str.rev_count___ld__n;
    0x00001860 sw ra, 0x24(sp)           |     *(var_24h) = ra;
    0x00001864 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00001868 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x0000186c sw s1, 0x20(sp)           |     *(var_20h) = s1;
    0x00001870 move s0, a0               |     s0 = a0;
    0x00001874 addiu a0, zero, 1         |     a0 = 1;
    0x00001878 jalr t9                   |     t9 ();
    0x0000187c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00001880 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.dlist_end;
    0x00001884 move a0, s0               |     a0 = s0;
    0x00001888 jalr t9                   |     t9 ();
    0x0000188c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00001890 move a0, s0               |     a0 = s0;
    0x00001894 lw t9, -0x7f30(gp)        |     t9 = sym.imp._dlist_mark_move;
    0x00001898 move a1, zero             |     a1 = 0;
    0x0000189c jalr t9                   |     t9 ();
    0x000018a0 lw a0, (s0)               |     a0 = *(s0);
    0x000018a4 lw v1, 0x1c(s0)           |     v1 = *((s0 + 7));
    0x000018a8 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (a0 == v1) {
    0x000018ac beq a0, v1, 0x18f4        |         goto label_0;
                                         |     }
    0x000018b0 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x000018b4 addiu s1, s1, 0x1e98      |     s1 += str.label__s_number__d__n;
                                         |     do {
    0x000018b8 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__printf_chk
    0x000018bc lw a3, 0x50(v0)           |         a3 = *((v0 + 20));
    0x000018c0 move a2, v0               |         a2 = v0;
    0x000018c4 move a1, s1               |         a1 = s1;
    0x000018c8 addiu a0, zero, 1         |         a0 = 1;
    0x000018cc jalr t9                   |         t9 ();
    0x000018d0 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000018d4 move a0, s0               |         a0 = s0;
    0x000018d8 lw t9, -0x7f30(gp)        |         t9 = sym.imp._dlist_mark_move;
    0x000018dc move a1, zero             |         a1 = 0;
    0x000018e0 jalr t9                   |         t9 ();
    0x000018e4 lw a0, (s0)               |         a0 = *(s0);
    0x000018e8 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x000018ec lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000018f0 bne a0, v1, 0x18b8        |         
                                         |     } while (a0 != v1);
                                         | label_0:
    0x000018f4 lw ra, 0x24(sp)           |     ra = *(var_24h);
    0x000018f8 lw s1, 0x20(sp)           |     s1 = *(var_20h);
    0x000018fc lw s0, 0x1c(sp)           |     s0 = *(var_1ch);
    0x00001900 addiu sp, sp, 0x28        |     
    0x00001904 jr ra                     |     return v1;
                                         | }

[*] Function printf used 19 times dlist_test