[*] Binary protection state of libnl-3.so.200.20.0

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


[*] Function system tear down of libnl-3.so.200.20.0

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xdf78 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.nl_connect ()                | void nl_connect () {
    0x0000df78 lui gp, 2                     |     
    0x0000df7c addiu gp, gp, 0x1a78          |     
    0x0000df80 addu gp, gp, t9               |     gp += t9;
    0x0000df84 addiu sp, sp, -0xd0           |     
    0x0000df88 sw ra, 0xcc(sp)               |     *(var_cch) = ra;
    0x0000df8c sw s7, 0xc8(sp)               |     *(var_c8h) = s7;
    0x0000df90 sw s6, 0xc4(sp)               |     *(var_c4h) = s6;
    0x0000df94 sw s5, 0xc0(sp)               |     *(var_c0h) = s5;
    0x0000df98 sw s4, 0xbc(sp)               |     *(var_bch) = s4;
    0x0000df9c sw s3, 0xb8(sp)               |     *(var_b8h) = s3;
    0x0000dfa0 sw s2, 0xb4(sp)               |     *(var_b4h) = s2;
    0x0000dfa4 sw s1, 0xb0(sp)               |     *(var_b0h) = s1;
    0x0000dfa8 sw s0, 0xac(sp)               |     *(var_ach) = s0;
    0x0000dfac addiu t8, zero, -1            |     t8 = -1;
    0x0000dfb0 lw v0, 0x18(a0)               |     v0 = *((a0 + 6));
    0x0000dfb4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0000dfb8 move s0, a0                   |     s0 = a0;
                                             |     if (v0 != t8) {
    0x0000dfbc bne v0, t8, 0xe35c            |         goto label_1;
                                             |     }
    0x0000dfc0 lw t9, -0x7d34(gp)            |     t9 = *((gp - 8013));
    0x0000dfc4 move s4, a1                   |     s4 = a1;
    0x0000dfc8 lui a1, 8                     |     a1 = 0x80000;
    0x0000dfcc addiu a0, zero, 0x10          |     a0 = 0x10;
    0x0000dfd0 addiu a1, a1, 3               |     a1 += 3;
    0x0000dfd4 move a2, s4                   |     a2 = s4;
    0x0000dfd8 jalr t9                       |     t9 ();
    0x0000dfdc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000dfe0 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
                                             |     if (v0 < 0) {
    0x0000dfe4 bgez v0, 0xe040               |         
    0x0000dfe8 lw t9, -0x7f08(gp)            |         t9 = *((gp - 8130));
    0x0000dfec jalr t9                       |         t9 ();
    0x0000dff0 nop                           |         
    0x0000dff4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000dff8 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000dffc lw t8, (t8)                   |         t8 = *(t8);
    0x0000e000 slti t8, t8, 4                |         t8 = (t8 < 4) ? 1 : 0;
    0x0000e004 lw s1, (v0)                   |         s1 = *(v0);
                                             |         if (t8 != 0) {
    0x0000e008 bnez t8, 0xe2cc               |             goto label_2;
                                             |         }
    0x0000e00c lw t8, -0x7ebc(gp)            |         t8 = *((gp - 8111));
    0x0000e010 addiu a3, zero, 0x70          |         a3 = 0x70;
    0x0000e014 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000e018 lw a0, (t8)                   |         a0 = *(t8);
    0x0000e01c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000e020 addiu a1, a1, 0x6280          |         a1 += 0x6280;
    0x0000e024 lw a2, -0x7fd4(gp)            |         a2 = *((gp - 8181));
    0x0000e028 addiu t8, t8, 0x6550          |         t8 += 0x6550;
    0x0000e02c sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000e030 addiu a2, a2, 0x62c0          |         a2 += 0x62c0;
    0x0000e034 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x0000e038 sw s1, 0x18(sp)               |         *(var_18h) = s1;
    0x0000e03c b 0xe2bc                      |         goto label_3;
                                             |     }
    0x0000e040 lw t8, 0x28(s0)               |     t8 = *((s0 + 10));
    0x0000e044 andi t8, t8, 1                |     t8 &= 1;
    0x0000e048 lw t9, -0x7d58(gp)            |     t9 = *((gp - 8022));
    0x0000e04c beqz t8, 0xe098               |     
                                             |     while (v0 >= 0) {
    0x0000e050 lw t9, -0x7fc0(gp)            |         t9 = *((gp - 8176));
    0x0000e054 move a0, s0                   |         a0 = s0;
    0x0000e058 jalr t9                       |         t9 ();
    0x0000e05c lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0000e060 beqz v0, 0xe24c               |             goto label_4;
                                             |         }
    0x0000e064 lw t9, -0x7e6c(gp)            |         t9 = *((gp - 8091));
    0x0000e068 addiu s1, sp, 0x28            |         s1 = sp + 0x28;
    0x0000e06c move a0, s1                   |         a0 = s1;
    0x0000e070 move a1, zero                 |         a1 = 0;
    0x0000e074 addiu a2, zero, 0x80          |         a2 = 0x80;
    0x0000e078 jalr t9                       |         t9 ();
    0x0000e07c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e080 lw s5, -0x7fd4(gp)            |         s5 = *((gp - 8181));
    0x0000e084 lw s6, -0x7fd4(gp)            |         s6 = *((gp - 8181));
    0x0000e088 addiu s5, s5, 0x6550          |         s5 += 0x6550;
    0x0000e08c addiu s6, s6, 0x630c          |         s6 += 0x630c;
    0x0000e090 lw s7, -0x7fd4(gp)            |         s7 = *((gp - 8181));
    0x0000e094 b 0xe144                      |         goto label_5;
    0x0000e098 move a0, s0                   |         a0 = s0;
    0x0000e09c move a1, zero                 |         a1 = 0;
    0x0000e0a0 move a2, zero                 |         a2 = 0;
    0x0000e0a4 jalr t9                       |         t9 ();
    0x0000e0a8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e0ac bgez v0, 0xe050               |         
                                             |     }
    0x0000e0b0 lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x0000e0b4 b 0xe33c                      |     goto label_6;
                                             |     do {
    0x0000e0b8 lw t9, -0x7da4(gp)            |         t9 = *((gp - 8041));
    0x0000e0bc move a1, s0                   |         a1 = s0;
    0x0000e0c0 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0000e0c4 addiu a2, zero, 0xc           |         a2 = 0xc;
    0x0000e0c8 jalr t9                       |         t9 ();
    0x0000e0cc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0000e0d0 beqz v0, 0xe238               |             goto label_7;
                                             |         }
    0x0000e0d4 lw t9, -0x7f08(gp)            |         t9 = *((gp - 8130));
    0x0000e0d8 jalr t9                       |         t9 ();
    0x0000e0dc nop                           |         
    0x0000e0e0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e0e4 lw s3, (v0)                   |         s3 = *(v0);
    0x0000e0e8 addiu v0, zero, 0x7d          |         v0 = 0x7d;
    0x0000e0ec lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000e0f0 lw t8, (t8)                   |         t8 = *(t8);
    0x0000e0f4 slti t8, t8, 4                |         t8 = (t8 < 4) ? 1 : 0;
                                             |         if (s3 != v0) {
    0x0000e0f8 bne s3, v0, 0xe1c4            |             goto label_8;
                                             |         }
    0x0000e0fc lw t9, -0x7fbc(gp)            |         t9 = *((gp - 8175));
                                             |         if (t8 == 0) {
    0x0000e100 bnez t8, 0xe134               |             
    0x0000e104 lw t8, -0x7ebc(gp)            |             t8 = *((gp - 8111));
    0x0000e108 move a1, s6                   |             a1 = s6;
    0x0000e10c lw t9, -0x7da0(gp)            |             t9 = *((gp - 8040));
    0x0000e110 addiu a2, s7, 0x62c0          |             a2 = s7 + 0x62c0;
    0x0000e114 lw a0, (t8)                   |             a0 = *(t8);
    0x0000e118 addiu a3, zero, 0x8f          |             a3 = 0x8f;
    0x0000e11c sw s5, 0x10(sp)               |             *(var_10h) = s5;
    0x0000e120 sw s0, 0x14(sp)               |             *(var_14h) = s0;
    0x0000e124 sw s2, 0x18(sp)               |             *(var_18h) = s2;
    0x0000e128 jalr t9                       |             t9 ();
    0x0000e12c lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x0000e130 lw t9, -0x7fbc(gp)            |             t9 = *((gp - 8175));
                                             |         }
    0x0000e134 move a0, s1                   |         a0 = s1;
    0x0000e138 move a1, s2                   |         a1 = s2;
    0x0000e13c jalr t9                       |         t9 ();
    0x0000e140 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_5:
    0x0000e144 lw t9, -0x7fd0(gp)            |         t9 = *((gp - 8180));
    0x0000e148 move a0, s0                   |         a0 = s0;
    0x0000e14c jalr t9                       |         t9 ();
    0x0000e150 addiu t8, zero, -1            |         t8 = -1;
    0x0000e154 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e158 move s2, v0                   |         s2 = v0;
    0x0000e15c bne v0, t8, 0xe0b8            |         
                                             |     } while (v0 != t8);
    0x0000e160 lw t8, -0x7f28(gp)            |     t8 = *((gp - 8138));
    0x0000e164 lw t8, (t8)                   |     t8 = *(t8);
    0x0000e168 slti t8, t8, 4                |     t8 = (t8 < 4) ? 1 : 0;
    0x0000e16c lw t9, -0x7fb8(gp)            |     t9 = *((gp - 8174));
                                             |     if (t8 == 0) {
    0x0000e170 bnez t8, 0xe1b0               |         
    0x0000e174 lw t8, -0x7ebc(gp)            |         t8 = *((gp - 8111));
    0x0000e178 addiu a3, zero, 0x83          |         a3 = 0x83;
    0x0000e17c lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000e180 lw a0, (t8)                   |         a0 = *(t8);
    0x0000e184 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000e188 addiu a1, a1, 0x62c8          |         a1 += 0x62c8;
    0x0000e18c lw a2, -0x7fd4(gp)            |         a2 = *((gp - 8181));
    0x0000e190 lw t9, -0x7da0(gp)            |         t9 = *((gp - 8040));
    0x0000e194 addiu t8, t8, 0x6550          |         t8 += 0x6550;
    0x0000e198 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000e19c addiu a2, a2, 0x62c0          |         a2 += 0x62c0;
    0x0000e1a0 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x0000e1a4 jalr t9                       |         t9 ();
    0x0000e1a8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e1ac lw t9, -0x7fb8(gp)            |         t9 = *((gp - 8174));
                                             |     }
    0x0000e1b0 move a0, s1                   |     a0 = s1;
    0x0000e1b4 jalr t9                       |     t9 ();
    0x0000e1b8 addiu v0, zero, -6            |     v0 = -6;
    0x0000e1bc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000e1c0 b 0xe338                      |     goto label_9;
                                             | label_8:
    0x0000e1c4 lw t9, -0x7fb8(gp)            |     t9 = *((gp - 8174));
                                             |     if (t8 == 0) {
    0x0000e1c8 bnez t8, 0xe210               |         
    0x0000e1cc lw t8, -0x7ebc(gp)            |         t8 = *((gp - 8111));
    0x0000e1d0 addiu a3, zero, 0x92          |         a3 = 0x92;
    0x0000e1d4 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000e1d8 lw a0, (t8)                   |         a0 = *(t8);
    0x0000e1dc lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x0000e1e0 addiu a1, a1, 0x6358          |         a1 += 0x6358;
    0x0000e1e4 lw a2, -0x7fd4(gp)            |         a2 = *((gp - 8181));
    0x0000e1e8 lw t9, -0x7da0(gp)            |         t9 = *((gp - 8040));
    0x0000e1ec addiu t8, t8, 0x6550          |         t8 += 0x6550;
    0x0000e1f0 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x0000e1f4 addiu a2, a2, 0x62c0          |         a2 += 0x62c0;
    0x0000e1f8 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x0000e1fc sw s2, 0x18(sp)               |         *(var_18h) = s2;
    0x0000e200 sw s3, 0x1c(sp)               |         *(var_1ch) = s3;
    0x0000e204 jalr t9                       |         t9 ();
    0x0000e208 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e20c lw t9, -0x7fb8(gp)            |         t9 = *((gp - 8174));
                                             |     }
    0x0000e210 move a0, s1                   |     a0 = s1;
    0x0000e214 jalr t9                       |     t9 ();
    0x0000e218 move a0, s3                   |     a0 = s3;
    0x0000e21c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
                                             | label_0:
    0x0000e220 lw t9, -0x7eb4(gp)            |         t9 = *((gp - 8109));
    0x0000e224 jalr t9                       |         t9 ();
    0x0000e228 nop                           |         
    0x0000e22c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e230 negu v0, v0                   |         __asm ("negu v0, v0");
    0x0000e234 b 0xe338                      |         goto label_9;
                                             | label_7:
    0x0000e238 lw t9, -0x7fb8(gp)            |         t9 = *((gp - 8174));
    0x0000e23c move a0, s1                   |         a0 = s1;
    0x0000e240 jalr t9                       |         t9 ();
    0x0000e244 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e248 b 0xe2d4                      |         goto label_10;
                                             | label_4:
    0x0000e24c lw t9, -0x7da4(gp)            |         t9 = *((gp - 8041));
    0x0000e250 move a1, s0                   |         a1 = s0;
    0x0000e254 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
    0x0000e258 addiu a2, zero, 0xc           |         a2 = 0xc;
    0x0000e25c jalr t9                       |         t9 ();
    0x0000e260 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x0000e264 beqz v0, 0xe2d4               |             goto label_10;
                                             |         }
    0x0000e268 lw t9, -0x7f08(gp)            |         t9 = *((gp - 8130));
    0x0000e26c jalr t9                       |         t9 ();
    0x0000e270 nop                           |         
    0x0000e274 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e278 lw t8, -0x7f28(gp)            |         t8 = *((gp - 8138));
    0x0000e27c lw t8, (t8)                   |         t8 = *(t8);
    0x0000e280 slti t8, t8, 4                |         t8 = (t8 < 4) ? 1 : 0;
    0x0000e284 lw s1, (v0)                   |         s1 = *(v0);
                                             |         if (t8 == 0) {
    0x0000e288 bnez t8, 0xe2cc               |             
    0x0000e28c lw t8, -0x7ebc(gp)            |             t8 = *((gp - 8111));
    0x0000e290 addiu a3, zero, 0x9e          |             a3 = 0x9e;
    0x0000e294 lw a1, -0x7fd4(gp)            |             a1 = *((gp - 8181));
    0x0000e298 lw a0, (t8)                   |             a0 = *(t8);
    0x0000e29c lw t8, -0x7fd4(gp)            |             t8 = *((gp - 8181));
    0x0000e2a0 addiu a1, a1, 0x63a0          |             a1 += 0x63a0;
    0x0000e2a4 lw a2, -0x7fd4(gp)            |             a2 = *((gp - 8181));
    0x0000e2a8 addiu t8, t8, 0x6550          |             t8 += 0x6550;
    0x0000e2ac sw t8, 0x10(sp)               |             *(var_10h) = t8;
    0x0000e2b0 addiu a2, a2, 0x62c0          |             a2 += 0x62c0;
    0x0000e2b4 sw s0, 0x14(sp)               |             *(var_14h) = s0;
    0x0000e2b8 sw s1, 0x18(sp)               |             *(var_18h) = s1;
                                             | label_3:
    0x0000e2bc lw t9, -0x7da0(gp)            |             t9 = *((gp - 8040));
    0x0000e2c0 jalr t9                       |             t9 ();
    0x0000e2c4 nop                           |             
    0x0000e2c8 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
                                             | label_2:
    0x0000e2cc move a0, s1                   |         a0 = s1;
    0x0000e2d0 b 0xe220                      |         
                                             |     } while (1);
                                             | label_10:
    0x0000e2d4 lw t9, -0x7fa0(gp)            |     t9 = *((gp - 8168));
    0x0000e2d8 addiu s1, zero, 0xc           |     s1 = 0xc;
    0x0000e2dc lw a0, 0x18(s0)               |     a0 = *((s0 + 6));
    0x0000e2e0 move a1, s0                   |     a1 = s0;
    0x0000e2e4 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x0000e2e8 addiu a2, sp, 0x28            |     a2 = sp + 0x28;
    0x0000e2ec jalr t9                       |     t9 ();
    0x0000e2f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x0000e2f4 bgez v0, 0xe310               |         
    0x0000e2f8 lw t9, -0x7f08(gp)            |         t9 = *((gp - 8130));
    0x0000e2fc jalr t9                       |         t9 ();
    0x0000e300 nop                           |         
    0x0000e304 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000e308 lw a0, (v0)                   |         a0 = *(v0);
    0x0000e30c b 0xe220                      |         goto label_0;
                                             |     }
    0x0000e310 lw t8, 0x28(sp)               |     t8 = *(var_28h);
    0x0000e314 addiu v0, zero, -0x13         |     v0 = -0x13;
                                             |     if (t8 == s1) {
    0x0000e318 bne t8, s1, 0xe338            |         
    0x0000e31c lhu v1, (s0)                  |         v1 = *(s0);
    0x0000e320 addiu t8, zero, 0x10          |         t8 = 0x10;
    0x0000e324 addiu v0, zero, -0xb          |         v0 = -0xb;
                                             |         if (v1 == t8) {
    0x0000e328 bne v1, t8, 0xe338            |             
    0x0000e32c sw s4, 0x1c(s0)               |             *((s0 + 7)) = s4;
    0x0000e330 move s1, zero                 |             s1 = 0;
    0x0000e334 b 0xe360                      |             
                                             |         }
                                             |     } else {
                                             | label_9:
    0x0000e338 lw a0, 0x18(s0)               |         a0 = *((s0 + 6));
                                             | label_6:
    0x0000e33c addiu s2, zero, -1            |         s2 = -1;
    0x0000e340 move s1, v0                   |         s1 = v0;
                                             |         if (a0 == s2) {
    0x0000e344 beq a0, s2, 0xe360            |             goto label_11;
                                             |         }
    0x0000e348 lw t9, -0x7f8c(gp)            |         t9 = *((gp - 8163));
    0x0000e34c jalr t9                       |         t9 ();
    0x0000e350 nop                           |         
    0x0000e354 sw s2, 0x18(s0)               |         *((s0 + 6)) = s2;
    0x0000e358 b 0xe360                      |         goto label_11;
                                             | label_1:
    0x0000e35c addiu s1, zero, -3            |         s1 = -3;
                                             |     }
                                             | label_11:
    0x0000e360 move v0, s1                   |     v0 = s1;
    0x0000e364 lw ra, 0xcc(sp)               |     ra = *(var_cch);
    0x0000e368 lw s7, 0xc8(sp)               |     s7 = *(var_c8h);
    0x0000e36c lw s6, 0xc4(sp)               |     s6 = *(var_c4h);
    0x0000e370 lw s5, 0xc0(sp)               |     s5 = *(var_c0h);
    0x0000e374 lw s4, 0xbc(sp)               |     s4 = *(var_bch);
    0x0000e378 lw s3, 0xb8(sp)               |     s3 = *(var_b8h);
    0x0000e37c lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
    0x0000e380 lw s1, 0xb0(sp)               |     s1 = *(var_b0h);
    0x0000e384 lw s0, 0xac(sp)               |     s0 = *(var_ach);
    0x0000e388 addiu sp, sp, 0xd0            |     
    0x0000e38c jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xff4c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.nl_object_attrs2str ()           | void nl_object_attrs2str () {
    0x0000ff4c lui gp, 2                         |     
    0x0000ff50 addiu gp, gp, -0x55c              |     
    0x0000ff54 addu gp, gp, t9                   |     gp += t9;
    0x0000ff58 addiu sp, sp, -0x20               |     
    0x0000ff5c sw ra, 0x1c(sp)                   |     *(var_1ch) = ra;
    0x0000ff60 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x0000ff64 lw t8, 4(a0)                      |     t8 = *((a0 + 1));
    0x0000ff68 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0000ff6c move s0, a2                       |     s0 = a2;
                                                 |     if (t8 == 0) {
    0x0000ff70 bnez t8, 0xff84                   |         
    0x0000ff74 lw t9, -0x7fd8(gp)                |         t9 = *((gp - 8182));
    0x0000ff78 addiu t9, t9, 0x4790              |         t9 += entry0;
    0x0000ff7c jalr t9                           |         t9 ();
    0x0000ff80 nop                               |         
                                                 |     }
    0x0000ff84 lw t9, 0x30(t8)                   |     t9 = *((t8 + 12));
    0x0000ff88 move a2, a3                       |     a2 = a3;
                                                 |     if (t9 != 0) {
    0x0000ff8c beqz t9, 0xffa8                   |         
    0x0000ff90 move a0, a1                       |         a0 = a1;
    0x0000ff94 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
    0x0000ff98 move a1, s0                       |         a1 = s0;
    0x0000ff9c lw s0, 0x18(sp)                   |         s0 = *(var_18h);
    0x0000ffa0 addiu sp, sp, 0x20                |         
    0x0000ffa4 jr t9                             |         t9 ();
                                                 |     }
    0x0000ffa8 lw t9, -0x7e6c(gp)                |     t9 = *((gp - 8091));
    0x0000ffac move a0, s0                       |     a0 = s0;
    0x0000ffb0 move a1, zero                     |     a1 = 0;
    0x0000ffb4 jalr t9                           |     t9 ();
    0x0000ffb8 move v0, s0                       |     v0 = s0;
    0x0000ffbc lw ra, 0x1c(sp)                   |     ra = *(var_1ch);
    0x0000ffc0 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0000ffc4 addiu sp, sp, 0x20                |     
    0x0000ffc8 jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xfe78 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.nl_object_diff ()            | void nl_object_diff () {
    0x0000fe78 lui gp, 2                     |     
    0x0000fe7c addiu gp, gp, -0x488          |     
    0x0000fe80 addu gp, gp, t9               |     gp += t9;
    0x0000fe84 addiu sp, sp, -0x20           |     
    0x0000fe88 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x0000fe8c lw t8, 4(a0)                  |     t8 = *((a0 + 1));
    0x0000fe90 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000fe94 lw t9, -0x7fd8(gp)            |     t9 = *((gp - 8182));
    0x0000fe98 bnez t8, 0xfea8               |     
                                             |     while (v0 == 0) {
    0x0000fe9c addiu t9, t9, 0x4790          |         t9 += entry0;
    0x0000fea0 jalr t9                       |         t9 ();
    0x0000fea4 nop                           |         
    0x0000fea8 lw v0, 4(a1)                  |         v0 = *((a1 + 1));
    0x0000feac beqz v0, 0xfe9c               |         
                                             |     }
    0x0000feb0 nop                           |     
    0x0000feb4 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
                                             |     if (t8 == v0) {
    0x0000feb8 bne t8, v0, 0xfed4            |         
    0x0000febc lw t9, 0x24(t8)               |         t9 = *((t8 + 9));
    0x0000fec0 addiu a2, zero, -1            |         a2 = -1;
                                             |         if (t9 == 0) {
    0x0000fec4 beqz t9, 0xfed4               |             goto label_0;
                                             |         }
    0x0000fec8 move a3, zero                 |         a3 = 0;
    0x0000fecc addiu sp, sp, 0x20            |         
    0x0000fed0 jr t9                         |         t9 ();
                                             |     }
                                             | label_0:
    0x0000fed4 addiu v0, zero, -1            |     v0 = -1;
    0x0000fed8 addiu sp, sp, 0x20            |     
    0x0000fedc jr ra                         |     return v0;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0x100e8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.nl_object_get_id_attrs ()        | void nl_object_get_id_attrs () {
    0x000100e8 lui gp, 2                         |     
    0x000100ec addiu gp, gp, -0x6f8              |     
    0x000100f0 addu gp, gp, t9                   |     gp += t9;
    0x000100f4 lw t8, 4(a0)                      |     t8 = *((a0 + 1));
                                                 |     if (t8 == 0) {
    0x000100f8 bnez t8, 0x1011c                  |         
    0x000100fc nop                               |         
    0x00010100 invalid                           |         
    0x00010104 sw ra, 0xff(sp)                   |         *((sp + 63.75)) = ra;
    0x00010108 lw t9, -0x7fd8(gp)                |         t9 = *((gp - 8182));
    0x0001010c sw gp, 0x10(sp)                   |         *(var_10h) = gp;
    0x00010110 addiu t9, t9, 0x4790              |         t9 += entry0;
    0x00010114 jalr t9                           |         t9 ();
    0x00010118 nop                               |         
                                                 |     }
    0x0001011c lw t9, 0x34(t8)                   |     t9 = *((t8 + 13));
                                                 |     if (t9 != 0) {
    0x00010120 beqz t9, 0x10130                  |         
    0x00010124 nop                               |         
    0x00010128 jr t9                             |         t9 ();
    0x0001012c nop                               |         
                                                 |     }
    0x00010130 lw v0, 8(t8)                      |     v0 = *((t8 + 2));
    0x00010134 jr ra                             |     return v0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xfd64 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.nl_object_identical ()           | void nl_object_identical () {
    0x0000fd64 lui gp, 2                         |     
    0x0000fd68 addiu gp, gp, -0x374              |     
    0x0000fd6c addu gp, gp, t9                   |     gp += t9;
    0x0000fd70 addiu sp, sp, -0x30               |     
    0x0000fd74 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0000fd78 sw s3, 0x28(sp)                   |     *(var_28h) = s3;
    0x0000fd7c sw s2, 0x24(sp)                   |     *(var_24h) = s2;
    0x0000fd80 sw s1, 0x20(sp)                   |     *(var_20h) = s1;
    0x0000fd84 sw s0, 0x1c(sp)                   |     *(var_1ch) = s0;
    0x0000fd88 lw s1, 4(a0)                      |     s1 = *((a0 + 1));
    0x0000fd8c sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0000fd90 move s3, a0                       |     s3 = a0;
    0x0000fd94 bnez s1, 0xfda8                   |     
                                                 |     while (t8 == 0) {
    0x0000fd98 lw t9, -0x7fd8(gp)                |         t9 = *((gp - 8182));
    0x0000fd9c addiu t9, t9, 0x4790              |         t9 += entry0;
    0x0000fda0 jalr t9                           |         t9 ();
    0x0000fda4 nop                               |         
    0x0000fda8 lw t8, 4(a1)                      |         t8 = *((a1 + 1));
    0x0000fdac move s2, a1                       |         s2 = a1;
    0x0000fdb0 beqz t8, 0xfd98                   |         
                                                 |     }
                                                 |     if (s1 != t8) {
    0x0000fdb4 beq s1, t8, 0xfdc4                |         
    0x0000fdb8 nop                               |         
                                                 | label_0:
    0x0000fdbc move v0, zero                     |         v0 = 0;
    0x0000fdc0 b 0xfe5c                          |         goto label_1;
                                                 |     }
    0x0000fdc4 lw t9, 0x34(s1)                   |     t9 = *((s1 + 13));
                                                 |     if (t9 != 0) {
    0x0000fdc8 beqz t9, 0xfdf8                   |         
    0x0000fdcc nop                               |         
    0x0000fdd0 jalr t9                           |         t9 ();
    0x0000fdd4 nop                               |         
    0x0000fdd8 move a0, s2                       |         a0 = s2;
    0x0000fddc lw t9, 0x34(s1)                   |         t9 = *((s1 + 13));
    0x0000fde0 move s0, v0                       |         s0 = v0;
    0x0000fde4 jalr t9                           |         t9 ();
    0x0000fde8 move v0, zero                     |         v0 = 0;
                                                 |         if (s0 != v0) {
    0x0000fdec bne s0, v0, 0xfe5c                |             goto label_1;
                                                 |         }
    0x0000fdf0 addiu t8, zero, -1                |         t8 = -1;
    0x0000fdf4 b 0xfe14                          |         goto label_2;
                                                 |     }
    0x0000fdf8 lw s0, 8(s1)                      |     s0 = *((s1 + 2));
    0x0000fdfc addiu t8, zero, -1                |     t8 = -1;
    0x0000fe00 bnez s0, 0xfe14                   |     
                                                 |     while (s0 == t8) {
    0x0000fe04 lw s0, 0x1c(s2)                   |         s0 = *((s2 + 7));
    0x0000fe08 lw t8, 0x1c(s3)                   |         t8 = *((s3 + 7));
    0x0000fe0c and s0, s0, t8                    |         s0 &= t8;
    0x0000fe10 b 0xfe20                          |         goto label_3;
                                                 | label_2:
    0x0000fe14 beq s0, t8, 0xfe04                |         
                                                 |     }
    0x0000fe18 nop                               |     
    0x0000fe1c lw t8, 0x1c(s3)                   |     t8 = *((s3 + 7));
                                                 | label_3:
    0x0000fe20 and t8, s0, t8                    |     t8 = s0 & t8;
    0x0000fe24 move v0, zero                     |     v0 = 0;
                                                 |     if (t8 != s0) {
    0x0000fe28 bne t8, s0, 0xfe5c                |         goto label_1;
                                                 |     }
    0x0000fe2c lw t8, 0x1c(s2)                   |     t8 = *((s2 + 7));
    0x0000fe30 and t8, s0, t8                    |     t8 = s0 & t8;
    0x0000fe34 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
                                                 |     if (t8 != s0) {
    0x0000fe38 bne t8, s0, 0xfe60                |         goto label_4;
                                                 |     }
    0x0000fe3c lw t9, 0x24(s1)                   |     t9 = *((s1 + 9));
    0x0000fe40 move a3, zero                     |     a3 = 0;
                                                 |     if (t9 == 0) {
    0x0000fe44 beqz t9, 0xfdbc                   |         goto label_0;
                                                 |     }
    0x0000fe48 move a0, s3                       |     a0 = s3;
    0x0000fe4c move a1, s2                       |     a1 = s2;
    0x0000fe50 move a2, s0                       |     a2 = s0;
    0x0000fe54 jalr t9                           |     t9 ();
    0x0000fe58 sltiu v0, v0, 1                   |     v0 = (v0 < 1) ? 1 : 0;
                                                 | label_1:
    0x0000fe5c lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
                                                 | label_4:
    0x0000fe60 lw s3, 0x28(sp)                   |     s3 = *(var_28h);
    0x0000fe64 lw s2, 0x24(sp)                   |     s2 = *(var_24h);
    0x0000fe68 lw s1, 0x20(sp)                   |     s1 = *(var_20h);
    0x0000fe6c lw s0, 0x1c(sp)                   |     s0 = *(var_1ch);
    0x0000fe70 addiu sp, sp, 0x30                |     
    0x0000fe74 jr ra                             |     return v0;
                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xfff4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.nl_object_keygen ()      | void nl_object_keygen () {
    0x0000fff4 lui gp, 2                 |     
    0x0000fff8 addiu gp, gp, -0x604      |     
    0x0000fffc addu gp, gp, t9           |     gp += t9;
    0x00010000 lw t8, 4(a0)              |     t8 = *((a0 + 1));
                                         |     if (t8 == 0) {
    0x00010004 bnez t8, 0x10028          |         
    0x00010008 nop                       |         
    0x0001000c addiu sp, sp, -0x20       |         
    0x00010010 sw ra, 0x1c(sp)           |         *(var_1ch) = ra;
    0x00010014 lw t9, -0x7fd8(gp)        |         t9 = *((gp - 8182));
    0x00010018 sw gp, 0x10(sp)           |         *(var_10h) = gp;
    0x0001001c addiu t9, t9, 0x4790      |         t9 += entry0;
    0x00010020 jalr t9                   |         t9 ();
    0x00010024 nop                       |         
                                         |     }
    0x00010028 lw t9, 0x2c(t8)           |     t9 = *((t8 + 11));
                                         |     if (t9 != 0) {
    0x0001002c beqz t9, 0x1003c          |         
    0x00010030 nop                       |         
    0x00010034 jr t9                     |         t9 ();
    0x00010038 nop                       |         
                                         |     }
    0x0001003c sw zero, (a1)             |     *(a1) = 0;
    0x00010040 jr ra                     |     return;
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libnl-3.so.200.20.0 @ 0xfee0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.nl_object_match_filter ()        | void nl_object_match_filter () {
    0x0000fee0 lui gp, 2                         |     
    0x0000fee4 addiu gp, gp, -0x4f0              |     
    0x0000fee8 addu gp, gp, t9                   |     gp += t9;
    0x0000feec addiu sp, sp, -0x20               |     
    0x0000fef0 sw ra, 0x1c(sp)                   |     *(var_1ch) = ra;
    0x0000fef4 lw t8, 4(a0)                      |     t8 = *((a0 + 1));
    0x0000fef8 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0000fefc lw t9, -0x7fd8(gp)                |     t9 = *((gp - 8182));
    0x0000ff00 bnez t8, 0xff10                   |     
                                                 |     while (a2 == 0) {
    0x0000ff04 addiu t9, t9, 0x4790              |         t9 += entry0;
    0x0000ff08 jalr t9                           |         t9 ();
    0x0000ff0c nop                               |         
    0x0000ff10 lw a2, 4(a1)                      |         a2 = *((a1 + 1));
    0x0000ff14 beqz a2, 0xff04                   |         
                                                 |     }
    0x0000ff18 nop                               |     
    0x0000ff1c move v0, zero                     |     v0 = 0;
                                                 |     if (t8 == a2) {
    0x0000ff20 bne t8, a2, 0xff40                |         
    0x0000ff24 lw t9, 0x24(t8)                   |         t9 = *((t8 + 9));
    0x0000ff28 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
                                                 |         if (t9 == 0) {
    0x0000ff2c beqz t9, 0xff44                   |             goto label_0;
                                                 |         }
    0x0000ff30 lw a2, 0x1c(a1)                   |         a2 = *((a1 + 7));
    0x0000ff34 addiu a3, zero, 1                 |         a3 = 1;
    0x0000ff38 jalr t9                           |         t9 ();
    0x0000ff3c sltiu v0, v0, 1                   |         v0 = (v0 < 1) ? 1 : 0;
                                                 |     }
    0x0000ff40 lw ra, 0x1c(sp)                   |     ra = *(var_1ch);
                                                 | label_0:
    0x0000ff44 addiu sp, sp, 0x20                |     
    0x0000ff48 jr ra                             |     return v0;
                                                 | }

[*] Function system used 1 times libnl-3.so.200.20.0