[*] 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 mmap 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 mmap used 1 times libnl-3.so.200.20.0