[*] Binary protection state of libcurl.so.4.8.0
Full RELRO Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function mmap tear down of libcurl.so.4.8.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x7834 */
| #include <stdint.h>
|
; (fcn) entry.fini0 () | void entry_fini0 () {
0x00007834 lui gp, 0xa |
0x00007838 addiu gp, gp, 0x4f5c |
0x0000783c addu gp, gp, t9 | gp += t9;
0x00007840 addiu sp, sp, -0x20 |
0x00007844 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00007848 lw s0, -0x7fe4(gp) | s0 = *((gp - 8185));
0x0000784c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00007850 sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x00007854 lbu v0, 0x56e0(s0) | v0 = *((s0 + 22240));
0x00007858 lw v0, -0x7404(gp) | v0 = *((gp - 7425));
| if (v0 == 0) {
0x0000785c bnez v0, 0x7890 |
0x00007860 lw v0, -0x7fe0(gp) | v0 = *((gp - 8184));
| if (v0 != 0) {
0x00007864 beqz v0, 0x7878 |
0x00007868 lw t9, -0x7404(gp) | t9 = *((gp - 7425));
0x0000786c lw a0, (v0) | a0 = *(v0);
0x00007870 jalr t9 | t9 ();
0x00007874 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00007878 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000787c addiu t9, t9, 0x77b0 | t9 += entry0;
0x00007880 bal 0x77b0 | entry0 ();
0x00007884 nop |
0x00007888 addiu v0, zero, 1 | v0 = 1;
0x0000788c sb v0, 0x56e0(s0) | *((s0 + 22240)) = v0;
| }
0x00007890 lw ra, 0x1c(sp) | ra = *(var_1ch);
0x00007894 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00007898 addiu sp, sp, 0x20 |
0x0000789c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0xcb90 */
| #include <stdint.h>
|
; (fcn) fcn.0000cb90 () | void fcn_0000cb90 () {
| label_4:
0x0000cb90 lui gp, 0xa |
0x0000cb94 addiu gp, gp, -0x400 |
0x0000cb98 addu gp, gp, t9 | gp += t9;
0x0000cb9c addiu sp, sp, -0x58 |
0x0000cba0 lbu v0, 0x48(a1) | v0 = *((a1 + 72));
0x0000cba4 sw s3, 0x48(sp) | *(var_48h) = s3;
0x0000cba8 lw s3, -0x74ac(gp) | s3 = *((gp - 7467));
0x0000cbac sw s2, 0x44(sp) | *(var_44h) = s2;
0x0000cbb0 addiu s2, sp, 0x24 | s2 = sp + 0x24;
0x0000cbb4 lw v1, (s3) | v1 = *(s3);
0x0000cbb8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000cbbc sw s5, 0x50(sp) | *(var_50h) = s5;
0x0000cbc0 sw s4, 0x4c(sp) | *(var_4ch) = s4;
0x0000cbc4 sw s1, 0x40(sp) | *(var_40h) = s1;
0x0000cbc8 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x0000cbcc sw ra, 0x54(sp) | *(var_54h) = ra;
0x0000cbd0 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0000cbd4 move s1, a1 | s1 = a1;
0x0000cbd8 move s0, a0 | s0 = a0;
0x0000cbdc move s4, a2 | s4 = a2;
0x0000cbe0 move s5, a3 | s5 = a3;
0x0000cbe4 sw v1, 0x34(sp) | *(var_34h) = v1;
0x0000cbe8 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0000cbec sw zero, 0x30(sp) | *(var_30h) = 0;
0x0000cbf0 sw zero, 4(s2) | *((s2 + 1)) = 0;
| if (v0 != 0) {
0x0000cbf4 beqz v0, 0xcc60 |
0x0000cbf8 lw a0, 0x34(a1) | a0 = *((a1 + 13));
0x0000cbfc move a2, s5 | a2 = s5;
| if (a0 == 0) {
0x0000cc00 beqz a0, 0xcc60 | goto label_6;
| }
0x0000cc04 lw v0, (a0) | v0 = *(a0);
0x0000cc08 sw s2, 0x10(sp) | *(var_48h_2) = s2;
0x0000cc0c move a3, zero | a3 = 0;
0x0000cc10 lw t9, 0x38(v0) | t9 = *((v0 + 14));
0x0000cc14 move a1, s4 | a1 = s4;
0x0000cc18 jalr t9 | t9 ();
0x0000cc1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cc20 bnez v0, 0xcc60 | goto label_6;
| }
0x0000cc24 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0000cc28 lw a1, 0x28(sp) | a1 = *(var_28h);
0x0000cc2c or v0, a0, a1 | v0 = a0 | a1;
| if (v0 == 0) {
0x0000cc30 beql v0, zero, 0xcc64 | goto label_1;
| }
0x0000cc34 lbu v0, 0x2c(s1) | v0 = *((s1 + 44));
0x0000cc38 lw t9, -0x7ec8(gp) | t9 = *((gp - 8114));
0x0000cc3c lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0000cc40 lw a3, 0x30(sp) | a3 = *(var_30h);
0x0000cc44 jalr t9 | t9 ();
0x0000cc48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 <= 0) {
0x0000cc4c blez v1, 0xcd1c | goto label_7;
| }
0x0000cc50 lw v0, 0x24(sp) | v0 = *(var_24h);
| label_0:
0x0000cc54 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0000cc58 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000cc5c sw v0, 0x30(sp) | *(var_30h) = v0;
| }
| label_6:
0x0000cc60 lbu v0, 0x2c(s1) | v0 = *((s1 + 44));
| do {
| label_1:
0x0000cc64 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0000cc68 sw zero, 4(s2) | *((s2 + 1)) = 0;
| if (v0 != 0) {
0x0000cc6c beqz v0, 0xccd8 |
0x0000cc70 lw a0, 0x18(s1) | a0 = *((s1 + 6));
0x0000cc74 move a2, s5 | a2 = s5;
| if (a0 == 0) {
0x0000cc78 beqz a0, 0xccd8 | goto label_8;
| }
0x0000cc7c lw v0, (a0) | v0 = *(a0);
0x0000cc80 sw s2, 0x10(sp) | *(var_48h_2) = s2;
0x0000cc84 move a3, zero | a3 = 0;
0x0000cc88 lw t9, 0x38(v0) | t9 = *((v0 + 14));
0x0000cc8c move a1, s4 | a1 = s4;
0x0000cc90 jalr t9 | t9 ();
0x0000cc94 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cc98 bnez v0, 0xccd8 | goto label_8;
| }
0x0000cc9c lw a0, 0x24(sp) | a0 = *(var_24h);
0x0000cca0 lw a1, 0x28(sp) | a1 = *(var_28h);
0x0000cca4 or v0, a0, a1 | v0 = a0 | a1;
0x0000cca8 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 == 0) {
0x0000ccac beqz v0, 0xccdc | goto label_2;
| }
0x0000ccb0 lw t9, -0x7ec8(gp) | t9 = *((gp - 8114));
0x0000ccb4 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0000ccb8 lw a3, 0x30(sp) | a3 = *(var_30h);
0x0000ccbc jalr t9 | t9 ();
0x0000ccc0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 <= 0) {
0x0000ccc4 blez v1, 0xcd34 | goto label_9;
| }
0x0000ccc8 lw v0, 0x24(sp) | v0 = *(var_24h);
| label_3:
0x0000cccc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0000ccd0 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000ccd4 sw v0, 0x30(sp) | *(var_30h) = v0;
| }
| label_8:
0x0000ccd8 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| label_2:
0x0000ccdc lw a0, 0x34(sp) | a0 = *(var_34h);
0x0000cce0 sw v0, (s0) | *(s0) = v0;
0x0000cce4 lw v1, (s3) | v1 = *(s3);
0x0000cce8 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0000ccec sw v0, 4(s0) | *((s0 + 1)) = v0;
0x0000ccf0 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x0000ccf4 bne a0, v1, 0xcd4c | goto label_10;
| }
0x0000ccf8 lw ra, 0x54(sp) | ra = *(var_54h);
0x0000ccfc lw s5, 0x50(sp) | s5 = *(var_50h);
0x0000cd00 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000cd04 lw s3, 0x48(sp) | s3 = *(var_48h);
0x0000cd08 lw s2, 0x44(sp) | s2 = *(var_44h);
0x0000cd0c lw s1, 0x40(sp) | s1 = *(var_40h);
0x0000cd10 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x0000cd14 addiu sp, sp, 0x58 |
0x0000cd18 jr ra | return v0;
| label_7:
0x0000cd1c lbu v0, 0x2c(s1) | v0 = *((s1 + 44));
0x0000cd20 bnel v1, zero, 0xcc64 |
| } while (v1 == 0);
0x0000cd24 lw v0, 0x24(sp) | v0 = *(var_24h);
| if (v0 == 0) {
0x0000cd28 bnel v0, zero, 0xcc54 | goto label_0;
| }
0x0000cd2c lbu v0, 0x2c(s1) | v0 = *((s1 + 44));
0x0000cd30 b 0xcc64 | goto label_1;
| label_9:
0x0000cd34 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v1 == 0) {
0x0000cd38 bnel v1, zero, 0xccdc | goto label_2;
| }
0x0000cd3c lw v0, 0x24(sp) | v0 = *(var_24h);
| if (v0 == 0) {
0x0000cd40 bnel v0, zero, 0xcccc | goto label_3;
| }
0x0000cd44 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0000cd48 b 0xccdc | goto label_2;
| label_10:
0x0000cd4c lw t9, -0x7558(gp) | t9 = *((gp - 7510));
0x0000cd50 jalr t9 | t9 ();
0x0000cd54 nop |
0x0000cd58 lui gp, 0xa |
0x0000cd5c addiu gp, gp, -0x5c8 |
0x0000cd60 addu gp, gp, t9 | gp += t9;
0x0000cd64 addiu sp, sp, -0x38 |
0x0000cd68 lbu v0, 0x14(a0) | v0 = *((a0 + 20));
0x0000cd6c sw s0, 0x2c(sp) | *(var_2ch_2) = s0;
0x0000cd70 lw s0, -0x74ac(gp) | s0 = *((gp - 7467));
0x0000cd74 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0000cd78 andi v0, v0, 1 | v0 &= 1;
0x0000cd7c lw v1, (s0) | v1 = *(s0);
0x0000cd80 sw s1, 0x30(sp) | *(var_30h_2) = s1;
0x0000cd84 sw ra, 0x34(sp) | *(var_34h_2) = ra;
0x0000cd88 move t0, a1 | t0 = a1;
0x0000cd8c lw s1, 0x48(sp) | s1 = *(var_48h_2);
0x0000cd90 sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x0000cd94 lw a0, 4(a0) | a0 = *((a0 + 1));
| if (v0 == 0) {
0x0000cd98 bnel v0, zero, 0xce04 | goto label_11;
| }
0x0000cd9c addiu v0, zero, 4 | v0 = 4;
0x0000cda0 addiu v0, zero, 5 | v0 = 5;
| if (a2 == v0) {
0x0000cda4 beq a2, v0, 0xce3c | goto label_12;
| }
0x0000cda8 lw a0, 4(a0) | a0 = *((a0 + 1));
| if (a2 == v0) {
0x0000cdac bnel a2, v0, 0xce04 | goto label_11;
| }
0x0000cdb0 lw a1, 8(a0) | a1 = *((a0 + 2));
0x0000cdb4 addiu a3, zero, 5 | a3 = 5;
| label_5:
0x0000cdb8 lw t9, -0x7f98(gp) | t9 = *((gp - 8166));
0x0000cdbc move a2, t0 | a2 = t0;
0x0000cdc0 addiu t9, t9, -0x3470 | t9 += -0x3470;
0x0000cdc4 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x0000cdc8 bal 0xcb90 | fcn_0000cb90 ();
| goto label_4;
0x0000cdcc lw v0, 0x1c(sp) | v0 = *(var_1ch_2);
0x0000cdd0 lw v1, 0x18(sp) | v1 = *(var_18h_3);
0x0000cdd4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000cdd8 sw v0, 4(s1) | *((s1 + 1)) = v0;
0x0000cddc sw v1, (s1) | *(s1) = v1;
0x0000cde0 move v0, zero | v0 = 0;
| do {
0x0000cde4 lw a0, 0x24(sp) | a0 = *(var_24h_2);
0x0000cde8 lw v1, (s0) | v1 = *(s0);
0x0000cdec lw ra, 0x34(sp) | ra = *(var_34h_2);
| if (a0 != v1) {
0x0000cdf0 bne a0, v1, 0xce48 | goto label_13;
| }
0x0000cdf4 lw s1, 0x30(sp) | s1 = *(var_30h_2);
0x0000cdf8 lw s0, 0x2c(sp) | s0 = *(var_2ch_2);
0x0000cdfc addiu sp, sp, 0x38 |
0x0000ce00 jr ra | return v0;
| label_11:
0x0000ce04 addiu v0, zero, 0x30 | v0 = 0x30;
0x0000ce08 beqz a0, 0xcde4 |
| } while (a0 == 0);
0x0000ce0c lw v1, 0x24(sp) | v1 = *(var_24h_2);
0x0000ce10 lw v0, (s0) | v0 = *(s0);
0x0000ce14 move a1, t0 | a1 = t0;
| if (v1 == v0) {
0x0000ce18 bne v1, v0, 0xce48 |
0x0000ce1c lw v0, (a0) | v0 = *(a0);
0x0000ce20 sw s1, 0x48(sp) | *(var_48h_2) = s1;
0x0000ce24 lw ra, 0x34(sp) | ra = *(var_34h_2);
0x0000ce28 lw s1, 0x30(sp) | s1 = *(var_30h_2);
0x0000ce2c lw s0, 0x2c(sp) | s0 = *(var_2ch_2);
0x0000ce30 lw t9, 0x38(v0) | t9 = *((v0 + 14));
0x0000ce34 addiu sp, sp, 0x38 |
0x0000ce38 jr t9 | t9 ();
| label_12:
0x0000ce3c lw a1, 8(a0) | a1 = *((a0 + 2));
0x0000ce40 addiu a3, zero, 4 | a3 = 4;
0x0000ce44 b 0xcdb8 | goto label_5;
| }
| label_13:
0x0000ce48 lw t9, -0x7558(gp) | t9 = *((gp - 7510));
0x0000ce4c jalr t9 | t9 ();
0x0000ce50 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x1438c */
| #include <stdint.h>
|
; (fcn) fcn.0001438c () | void fcn_0001438c () {
0x0001438c addiu v1, a1, 0xac | v1 = a1 + 0xac;
0x00014390 addiu v0, a0, 0xbe8 | v0 = a0 + 0xbe8;
0x00014394 addiu t4, a1, 0xcc | t4 = a1 + 0xcc;
| do {
0x00014398 lwl t3, 3(v1) | __asm ("lwl t3, 3(v1)");
0x0001439c lwl t2, 7(v1) | __asm ("lwl t2, 7(v1)");
0x000143a0 lwl t1, 0xb(v1) | __asm ("lwl t1, 0xb(v1)");
0x000143a4 lwl t0, 0xf(v1) | __asm ("lwl t0, 0xf(v1)");
0x000143a8 lwr t3, (v1) | __asm ("lwr t3, (v1)");
0x000143ac lwr t2, 4(v1) | __asm ("lwr t2, 4(v1)");
0x000143b0 lwr t0, 0xc(v1) | __asm ("lwr t0, 0xc(v1)");
0x000143b4 lwr t1, 8(v1) | __asm ("lwr t1, 8(v1)");
0x000143b8 swl t3, 3(v0) | __asm ("swl t3, 3(v0)");
0x000143bc swr t3, (v0) | __asm ("swr t3, (v0)");
0x000143c0 swl t2, 7(v0) | __asm ("swl t2, 7(v0)");
0x000143c4 swr t2, 4(v0) | __asm ("swr t2, 4(v0)");
0x000143c8 swl t1, 0xb(v0) | __asm ("swl t1, 0xb(v0)");
0x000143cc swr t1, 8(v0) | __asm ("swr t1, 8(v0)");
0x000143d0 addiu v1, v1, 0x10 | v1 += 0x10;
0x000143d4 swl t0, 0xf(v0) | __asm ("swl t0, 0xf(v0)");
0x000143d8 swr t0, 0xc(v0) | __asm ("swr t0, 0xc(v0)");
0x000143dc addiu v0, v0, 0x10 | v0 += 0x10;
0x000143e0 bne v1, t4, 0x14398 |
| } while (v1 != t4);
0x000143e4 lwl t2, 3(v1) | __asm ("lwl t2, 3(v1)");
0x000143e8 lwl t1, 7(v1) | __asm ("lwl t1, 7(v1)");
0x000143ec lwl t0, 0xb(v1) | __asm ("lwl t0, 0xb(v1)");
0x000143f0 lwr t2, (v1) | __asm ("lwr t2, (v1)");
0x000143f4 lwr t1, 4(v1) | __asm ("lwr t1, 4(v1)");
0x000143f8 lwr t0, 8(v1) | __asm ("lwr t0, 8(v1)");
0x000143fc swl t2, 3(v0) | __asm ("swl t2, 3(v0)");
0x00014400 swr t2, (v0) | __asm ("swr t2, (v0)");
0x00014404 swl t1, 7(v0) | __asm ("swl t1, 7(v0)");
0x00014408 swr t1, 4(v0) | __asm ("swr t1, 4(v0)");
0x0001440c swl t0, 0xb(v0) | __asm ("swl t0, 0xb(v0)");
0x00014410 swr t0, 8(v0) | __asm ("swr t0, 8(v0)");
0x00014414 lbu t0, 0xc(v1) | t0 = *((v1 + 12));
0x00014418 sb t0, 0xc(v0) | *((v0 + 12)) = t0;
0x0001441c lbu v1, 0xd(v1) | v1 = *((v1 + 13));
0x00014420 sb v1, 0xd(v0) | *((v0 + 13)) = v1;
| if (a2 != 0) {
0x00014424 beqz a2, 0x14434 |
0x00014428 lb v0, (a2) | v0 = *(a2);
0x0001442c addiu v0, a0, 0xc20 | v0 = a0 + 0xc20;
| if (v0 != 0) {
0x00014430 bnez v0, 0x14468 | goto label_0;
| }
| }
0x00014434 sb zero, 0xc20(a0) | *((a0 + 3104)) = 0;
0x00014438 lw v1, 0x1a4(a1) | v1 = *(a1);
0x0001443c lw a2, 0x2cc(a1) | a2 = *((a1 + 179));
0x00014440 lw a1, 0x2d0(a1) | a1 = *(a1);
0x00014444 lw v0, 0x44(v1) | v0 = *((v1 + 17));
0x00014448 lw v1, (v1) | v1 = *(v1);
0x0001444c ext v0, v0, 0, 0x1a | __asm ("ext v0, v0, 0, 0x1a");
0x00014450 sw v1, 0xc54(a0) | *((a0 + 789)) = v1;
0x00014454 sw v0, 0xc58(a0) | *((a0 + 790)) = v0;
0x00014458 sw a2, 0xc18(a0) | *((a0 + 774)) = a2;
0x0001445c sw a1, 0xc1c(a0) | *((a0 + 775)) = a1;
0x00014460 sw a3, 0xc50(a0) | *((a0 + 788)) = a3;
0x00014464 jr ra | return v0;
| label_0:
0x00014468 addiu t3, a2, 0x20 | t3 = a2 + 0x20;
| do {
0x0001446c lwl t2, 3(a2) | __asm ("lwl t2, 3(a2)");
0x00014470 lwl t1, 7(a2) | __asm ("lwl t1, 7(a2)");
0x00014474 lwl t0, 0xb(a2) | __asm ("lwl t0, 0xb(a2)");
0x00014478 lwl v1, 0xf(a2) | __asm ("lwl v1, 0xf(a2)");
0x0001447c lwr t2, (a2) | __asm ("lwr t2, (a2)");
0x00014480 lwr t1, 4(a2) | __asm ("lwr t1, 4(a2)");
0x00014484 lwr v1, 0xc(a2) | __asm ("lwr v1, 0xc(a2)");
0x00014488 lwr t0, 8(a2) | __asm ("lwr t0, 8(a2)");
0x0001448c swl t2, 3(v0) | __asm ("swl t2, 3(v0)");
0x00014490 swr t2, (v0) | __asm ("swr t2, (v0)");
0x00014494 swl t1, 7(v0) | __asm ("swl t1, 7(v0)");
0x00014498 swr t1, 4(v0) | __asm ("swr t1, 4(v0)");
0x0001449c swl t0, 0xb(v0) | __asm ("swl t0, 0xb(v0)");
0x000144a0 swr t0, 8(v0) | __asm ("swr t0, 8(v0)");
0x000144a4 addiu a2, a2, 0x10 | a2 += 0x10;
0x000144a8 swl v1, 0xf(v0) | __asm ("swl v1, 0xf(v0)");
0x000144ac swr v1, 0xc(v0) | __asm ("swr v1, 0xc(v0)");
0x000144b0 addiu v0, v0, 0x10 | v0 += 0x10;
0x000144b4 bne a2, t3, 0x1446c |
| } while (a2 != t3);
0x000144b8 lwl t1, 3(a2) | __asm ("lwl t1, 3(a2)");
0x000144bc lwl t0, 7(a2) | __asm ("lwl t0, 7(a2)");
0x000144c0 lwl v1, 0xb(a2) | __asm ("lwl v1, 0xb(a2)");
0x000144c4 lwr t1, (a2) | __asm ("lwr t1, (a2)");
0x000144c8 lwr t0, 4(a2) | __asm ("lwr t0, 4(a2)");
0x000144cc lwr v1, 8(a2) | __asm ("lwr v1, 8(a2)");
0x000144d0 swl t1, 3(v0) | __asm ("swl t1, 3(v0)");
0x000144d4 swr t1, (v0) | __asm ("swr t1, (v0)");
0x000144d8 swl t0, 7(v0) | __asm ("swl t0, 7(v0)");
0x000144dc swr t0, 4(v0) | __asm ("swr t0, 4(v0)");
0x000144e0 swl v1, 0xb(v0) | __asm ("swl v1, 0xb(v0)");
0x000144e4 swr v1, 8(v0) | __asm ("swr v1, 8(v0)");
0x000144e8 lbu v1, 0xc(a2) | v1 = *((a2 + 12));
0x000144ec sb v1, 0xc(v0) | *((v0 + 12)) = v1;
0x000144f0 lbu v1, 0xd(a2) | v1 = *((a2 + 13));
0x000144f4 sb v1, 0xd(v0) | *((v0 + 13)) = v1;
0x000144f8 lw v1, 0x1a4(a1) | v1 = *(a1);
0x000144fc lw a2, 0x2cc(a1) | a2 = *((a1 + 179));
0x00014500 lw a1, 0x2d0(a1) | a1 = *(a1);
0x00014504 lw v0, 0x44(v1) | v0 = *((v1 + 17));
0x00014508 lw v1, (v1) | v1 = *(v1);
0x0001450c ext v0, v0, 0, 0x1a | __asm ("ext v0, v0, 0, 0x1a");
0x00014510 sw v1, 0xc54(a0) | *((a0 + 789)) = v1;
0x00014514 sw v0, 0xc58(a0) | *((a0 + 790)) = v0;
0x00014518 sw a2, 0xc18(a0) | *((a0 + 774)) = a2;
0x0001451c sw a1, 0xc1c(a0) | *((a0 + 775)) = a1;
0x00014520 sw a3, 0xc50(a0) | *((a0 + 788)) = a3;
0x00014524 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x33e04 */
| #include <stdint.h>
|
; (fcn) fcn.00033e04 () | void fcn_00033e04 () {
0x00033e04 lui gp, 8 |
0x00033e08 addiu gp, gp, -0x7674 |
0x00033e0c addu gp, gp, t9 | gp += t9;
0x00033e10 lw v0, 0x1a4(a1) | v0 = *(a1);
0x00033e14 lbu a1, 0xb96(a0) | a1 = *((a0 + 2966));
0x00033e18 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x00033e1c andi v1, v0, 7 | v1 = v0 & 7;
0x00033e20 lw v0, 0x4c8(a0) | v0 = *((a0 + 306));
| if (v1 != 0) {
0x00033e24 beqz v1, 0x33e38 |
0x00033e28 lw v1, 0xb98(a0) | v1 = *((a0 + 742));
0x00033e2c ext v1, v1, 0x14, 1 | __asm ("ext v1, v1, 0x14, 1");
| if (v1 != 0) {
0x00033e30 bnez v1, 0x33e4c | goto label_1;
| }
0x00033e34 nop |
| }
| if (v0 != 0) {
0x00033e38 beql v0, zero, 0x33e64 |
0x00033e3c lhu v0, 0x116(a0) | v0 = *((a0 + 139));
| label_0:
0x00033e40 sw v0, (a2) | *(a2) = v0;
0x00033e44 sw a1, (a3) | *(a3) = a1;
0x00033e48 jr ra | return v0;
| if (v0 == 0) {
| label_1:
0x00033e4c beql v0, zero, 0x33ebc | goto label_2;
| }
0x00033e50 lhu v0, 0x116(a0) | v0 = *((a0 + 139));
0x00033e54 addiu a1, zero, 4 | a1 = 4;
0x00033e58 sw v0, (a2) | *(a2) = v0;
0x00033e5c sw a1, (a3) | *(a3) = a1;
0x00033e60 jr ra | return v0;
| }
0x00033e64 andi v0, v0, 0x400 | v0 &= 0x400;
0x00033e68 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
| if (v0 != 0) {
0x00033e6c bnez v0, 0x33eac | goto label_3;
| }
0x00033e70 addiu v0, zero, 4 | v0 = 4;
0x00033e74 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
| if (a1 == v0) {
0x00033e78 beq a1, v0, 0x33ecc | goto label_4;
| }
0x00033e7c sltiu v0, a1, 5 | v0 = (a1 < 5) ? 1 : 0;
0x00033e80 addiu v0, zero, 5 | v0 = 5;
| if (v0 != 0) {
0x00033e84 beqz v0, 0x33ea0 |
0x00033e88 lw v0, -0x7fb8(gp) | v0 = *((gp - 8174));
| if (a1 == 0) {
0x00033e8c beqz a1, 0x33ed4 | goto label_5;
| }
0x00033e90 addiu v0, v0, -0x3ab4 | v0 += -0x3ab4;
0x00033e94 sw v0, (a2) | *(a2) = v0;
0x00033e98 sw a1, (a3) | *(a3) = a1;
0x00033e9c jr ra | return v0;
| }
0x00033ea0 lw v0, -0x7fb8(gp) | v0 = *((gp - 8174));
| if (a1 != v0) {
0x00033ea4 bne a1, v0, 0x33ed8 | goto label_6;
| }
| do {
0x00033ea8 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
| label_3:
0x00033eac addiu v0, v0, 0x7ae0 | v0 += 0x7ae0;
0x00033eb0 sw v0, (a2) | *(a2) = v0;
0x00033eb4 sw a1, (a3) | *(a3) = a1;
0x00033eb8 jr ra | return v0;
| label_2:
0x00033ebc andi v0, v0, 0x400 | v0 &= 0x400;
0x00033ec0 addiu a1, zero, 4 | a1 = 4;
0x00033ec4 bnez v0, 0x33ea8 |
| } while (v0 != 0);
0x00033ec8 lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
| label_4:
0x00033ecc addiu v0, v0, 0x5eec | v0 += 0x5eec;
0x00033ed0 b 0x33e40 | goto label_0;
| label_5:
0x00033ed4 lw v0, -0x7fb8(gp) | v0 = *((gp - 8174));
| label_6:
0x00033ed8 addiu v0, v0, -0x22c0 | v0 += -0x22c0;
0x00033edc sw v0, (a2) | *(a2) = v0;
0x00033ee0 sw a1, (a3) | *(a3) = a1;
0x00033ee4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x33f4c */
| #include <stdint.h>
|
; (fcn) fcn.00033f4c () | void fcn_00033f4c () {
0x00033f4c lui gp, 8 |
0x00033f50 addiu gp, gp, -0x77bc |
0x00033f54 addu gp, gp, t9 | gp += t9;
0x00033f58 addiu sp, sp, -0x38 |
0x00033f5c lw v0, 0xb98(a0) | v0 = *((a0 + 742));
0x00033f60 sw s3, 0x30(sp) | *(var_30h) = s3;
0x00033f64 lw s3, -0x7fcc(gp) | s3 = *((gp - 8179));
0x00033f68 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00033f6c andi v0, v0, 2 | v0 &= 2;
0x00033f70 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00033f74 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00033f78 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00033f7c sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00033f80 move s0, a0 | s0 = a0;
0x00033f84 move s1, a1 | s1 = a1;
0x00033f88 lw t9, (s3) | t9 = *(s3);
| if (v0 == 0) {
0x00033f8c bnez v0, 0x33fcc |
0x00033f90 lw a0, 0x7e8(a0) | a0 = *((a0 + 506));
0x00033f94 jalr t9 | t9 ();
0x00033f98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00033f9c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00033fa0 lw t9, (v0) | t9 = *(v0);
0x00033fa4 lw a0, 0x4c(s1) | a0 = *((s1 + 19));
0x00033fa8 jalr t9 | t9 ();
0x00033fac sw v0, 0x7e8(s0) | *((s0 + 506)) = v0;
| if (v0 == 0) {
0x00033fb0 beqz v0, 0x3410c | goto label_7;
| }
0x00033fb4 lw v0, 0x1a4(s1) | v0 = *(s1);
0x00033fb8 lw v1, 0x2d0(s1) | v1 = *(s1);
0x00033fbc lw t9, (s3) | t9 = *(s3);
0x00033fc0 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x00033fc4 sw v1, 0x7ec(s0) | *((s0 + 507)) = v1;
0x00033fc8 sw v0, 0x7f0(s0) | *((s0 + 508)) = v0;
| }
0x00033fcc lw a0, 0xb74(s0) | a0 = *((s0 + 733));
0x00033fd0 jalr t9 | t9 ();
0x00033fd4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00033fd8 sw zero, 0xb74(s0) | *((s0 + 733)) = 0;
0x00033fdc addiu a2, zero, 4 | a2 = 4;
0x00033fe0 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00033fe4 lw t9, -0x7b10(gp) | t9 = *((gp - 7876));
0x00033fe8 addiu a1, a1, 0x4124 | a1 += 0x4124;
0x00033fec move a0, s0 | a0 = s0;
0x00033ff0 jalr t9 | t9 ();
0x00033ff4 move s2, v0 | s2 = v0;
0x00033ff8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00033ffc beqz v0, 0x34098 | goto label_8;
| }
0x00034000 lw v0, 0xb98(s0) | v0 = *((s0 + 742));
0x00034004 andi v0, v0, 2 | v0 &= 2;
0x00034008 lw t9, -0x714c(gp) | t9 = *((gp - 7251));
0x0003400c bnez v0, 0x34084 |
| while (v0 != 0) {
0x00034010 lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
0x00034014 addiu t9, t9, 0x1a48 | t9 += 0x1a48;
0x00034018 move a0, s2 | a0 = s2;
0x0003401c bal 0x31a48 | fcn_00031a48 ();
0x00034020 move s1, v0 | s1 = v0;
0x00034024 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00034028 beqz v0, 0x3410c | goto label_7;
| }
0x0003402c lb v0, (v0) | v0 = *(v0);
0x00034030 addiu v1, zero, 0x5b | v1 = 0x5b;
| if (v0 != 0) {
0x00034034 bnez v0, 0x34160 | goto label_9;
| }
0x00034038 lw t9, (s3) | t9 = *(s3);
0x0003403c move a0, s1 | a0 = s1;
0x00034040 jalr t9 | t9 ();
0x00034044 lw gp, 0x18(sp) | gp = *(var_18h);
0x00034048 move a1, s2 | a1 = s2;
0x0003404c lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x00034050 lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x00034054 addiu a0, a0, -0x7adc | a0 += -0x7adc;
0x00034058 jalr t9 | t9 ();
0x0003405c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00034060 bnez v0, 0x341b0 | goto label_10;
| }
| label_2:
0x00034064 lw ra, 0x34(sp) | ra = *(var_34h);
| label_0:
0x00034068 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0003406c lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00034070 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00034074 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00034078 move v0, zero | v0 = 0;
0x0003407c addiu sp, sp, 0x38 |
0x00034080 jr ra | return v0;
0x00034084 lw a1, 0x4c(s1) | a1 = *((s1 + 19));
0x00034088 lw a0, 0x7e8(s0) | a0 = *((s0 + 506));
0x0003408c jalr t9 | t9 ();
0x00034090 lw gp, 0x18(sp) | gp = *(var_18h);
0x00034094 bnez v0, 0x34010 |
| }
| label_8:
0x00034098 lw v0, 0x1a8(s1) | v0 = *(s1);
0x0003409c lw a2, 0x4c(s1) | a2 = *((s1 + 19));
0x000340a0 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x000340a4 andi a0, v0, 2 | a0 = v0 & 2;
0x000340a8 lw v1, 0x2d0(s1) | v1 = *(s1);
| if (a0 != 0) {
0x000340ac beqz a0, 0x340bc |
0x000340b0 addiu a0, zero, 0x1bb | a0 = 0x1bb;
| if (v1 == a0) {
0x000340b4 beql v1, a0, 0x340d4 | goto label_11;
| }
0x000340b8 lw v0, 0x1a0(s1) | v0 = *(s1);
| }
0x000340bc andi v0, v0, 1 | v0 &= 1;
| if (v0 == 0) {
0x000340c0 beql v0, zero, 0x3412c | goto label_12;
| }
0x000340c4 lw v0, 0x1a0(s1) | v0 = *(s1);
0x000340c8 addiu v0, zero, 0x50 | v0 = 0x50;
0x000340cc lw v0, 0x1a0(s1) | v0 = *(s1);
| if (v1 != v0) {
0x000340d0 bne v1, v0, 0x3412c | goto label_12;
| }
| label_11:
0x000340d4 andi v0, v0, 0x800 | v0 &= 0x800;
0x000340d8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 == 0) {
0x000340dc beqz v0, 0x341dc | goto label_13;
| }
0x000340e0 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x000340e4 lw a3, -0x7fb8(gp) | a3 = *((gp - 8174));
0x000340e8 addiu a1, a1, 0x4098 | a1 += 0x4098;
0x000340ec addiu a3, a3, -0x5100 | a3 += -0x5100;
| label_4:
0x000340f0 lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x000340f4 lw t9, -0x770c(gp) | t9 = *((gp - 7619));
0x000340f8 addiu a0, a0, -0x7aa8 | a0 += -0x7aa8;
0x000340fc jalr t9 | t9 ();
0x00034100 sw v0, 0xb74(s0) | *((s0 + 733)) = v0;
| label_1:
0x00034104 lw ra, 0x34(sp) | ra = *(var_34h);
| if (v0 != 0) {
0x00034108 bnez v0, 0x34068 | goto label_0;
| }
| label_7:
0x0003410c lw ra, 0x34(sp) | ra = *(var_34h);
0x00034110 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00034114 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00034118 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0003411c lw s0, 0x24(sp) | s0 = *(var_24h);
0x00034120 addiu v0, zero, 0x1b | v0 = 0x1b;
0x00034124 addiu sp, sp, 0x38 |
0x00034128 jr ra | return v0;
| label_12:
0x0003412c andi v0, v0, 0x800 | v0 &= 0x800;
0x00034130 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 != 0) {
0x00034134 bnez v0, 0x341cc | goto label_14;
| }
0x00034138 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x0003413c addiu a1, a1, -0x1358 | a1 += -0x1358;
0x00034140 move a3, a1 | a3 = a1;
| label_3:
0x00034144 lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x00034148 lw t9, -0x770c(gp) | t9 = *((gp - 7619));
0x0003414c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00034150 addiu a0, a0, -0x7a98 | a0 += -0x7a98;
0x00034154 jalr t9 | t9 ();
0x00034158 sw v0, 0xb74(s0) | *((s0 + 733)) = v0;
0x0003415c b 0x34104 | goto label_1;
| label_9:
0x00034160 lw t9, -0x71dc(gp) | t9 = *((gp - 7287));
| if (v0 == v1) {
0x00034164 beq v0, v1, 0x341e8 | goto label_15;
| }
0x00034168 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0003416c move a0, s1 | a0 = s1;
0x00034170 jalr t9 | t9 ();
| if (v0 != 0) {
0x00034174 beql v0, zero, 0x34184 |
0x00034178 lw t9, (s3) | t9 = *(s3);
0x0003417c sb zero, (v0) | *(v0) = 0;
| label_5:
0x00034180 lw t9, (s3) | t9 = *(s3);
| }
| label_6:
0x00034184 lw a0, 0xb78(s0) | a0 = *((s0 + 734));
0x00034188 jalr t9 | t9 ();
0x0003418c lw gp, 0x18(sp) | gp = *(var_18h);
0x00034190 sw s1, 0xb78(s0) | *((s0 + 734)) = s1;
0x00034194 move a1, s2 | a1 = s2;
0x00034198 lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x0003419c lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x000341a0 addiu a0, a0, -0x7adc | a0 += -0x7adc;
0x000341a4 jalr t9 | t9 ();
0x000341a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000341ac beqz v0, 0x34064 | goto label_2;
| }
| label_10:
0x000341b0 lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x000341b4 lw t9, -0x770c(gp) | t9 = *((gp - 7619));
0x000341b8 addiu a1, s2, 5 | a1 = s2 + 5;
0x000341bc addiu a0, a0, -0x7ab4 | a0 += -0x7ab4;
0x000341c0 jalr t9 | t9 ();
0x000341c4 sw v0, 0xb74(s0) | *((s0 + 733)) = v0;
0x000341c8 b 0x34104 | goto label_1;
| label_14:
0x000341cc lw a3, -0x7fb8(gp) | a3 = *((gp - 8174));
0x000341d0 addiu a1, a1, 0x4098 | a1 += 0x4098;
0x000341d4 addiu a3, a3, -0x5100 | a3 += -0x5100;
0x000341d8 b 0x34144 | goto label_3;
| label_13:
0x000341dc addiu a1, a1, -0x1358 | a1 += -0x1358;
0x000341e0 move a3, a1 | a3 = a1;
0x000341e4 b 0x340f0 | goto label_4;
| label_15:
0x000341e8 lw t9, -0x7428(gp) | t9 = *((gp - 7434));
0x000341ec move a0, s1 | a0 = s1;
0x000341f0 jalr t9 | t9 ();
0x000341f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000341f8 addiu a2, v0, -1 | a2 = v0 + -1;
0x000341fc addiu a1, s1, 1 | a1 = s1 + 1;
0x00034200 lw t9, -0x75e8(gp) | t9 = *((gp - 7546));
0x00034204 move a0, s1 | a0 = s1;
0x00034208 jalr t9 | t9 ();
0x0003420c lw gp, 0x18(sp) | gp = *(var_18h);
0x00034210 addiu a1, zero, 0x5d | a1 = 0x5d;
0x00034214 lw t9, -0x71dc(gp) | t9 = *((gp - 7287));
0x00034218 move a0, s1 | a0 = s1;
0x0003421c jalr t9 | t9 ();
0x00034220 sb zero, (v0) | *(v0) = 0;
| if (v0 == 0) {
0x00034224 bnel v0, zero, 0x34180 | goto label_5;
| }
0x00034228 lw t9, (s3) | t9 = *(s3);
0x0003422c b 0x34184 | goto label_6;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x34544 */
| #include <stdint.h>
|
; (fcn) fcn.00034544 () | void fcn_00034544 () {
0x00034544 lui gp, 8 |
0x00034548 addiu gp, gp, -0x7db4 |
0x0003454c addu gp, gp, t9 | gp += t9;
0x00034550 addiu sp, sp, -0x40 |
0x00034554 addiu v0, zero, 2 | v0 = 2;
0x00034558 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0003455c lw s2, 0x10c(a0) | s2 = *(a0);
0x00034560 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00034564 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00034568 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003456c move s1, a0 | s1 = a0;
0x00034570 move s4, a1 | s4 = a1;
0x00034574 move a0, zero | a0 = 0;
0x00034578 move a1, zero | a1 = 0;
0x0003457c sw s5, 0x34(sp) | *(var_34h) = s5;
0x00034580 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00034584 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00034588 sw s6, 0x38(sp) | *(var_38h) = s6;
0x0003458c sw s0, 0x20(sp) | *(var_20h) = s0;
0x00034590 move s3, a2 | s3 = a2;
0x00034594 move s5, a3 | s5 = a3;
0x00034598 sw a0, 8(s2) | *((s2 + 2)) = a0;
0x0003459c sw a1, 0xc(s2) | *((s2 + 3)) = a1;
| if (a2 == v0) {
0x000345a0 beq a2, v0, 0x3468c | goto label_8;
| }
0x000345a4 addiu v0, zero, 3 | v0 = 3;
0x000345a8 sw zero, (s2) | *(s2) = 0;
| if (a2 == v0) {
0x000345ac bnel a2, v0, 0x346cc | goto label_2;
| }
0x000345b0 addiu v0, s1, 0x208 | v0 = s1 + 0x208;
0x000345b4 sw v0, (s2) | *(s2) = v0;
| label_0:
0x000345b8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000345bc lw t9, -0x7b10(gp) | t9 = *((gp - 7876));
0x000345c0 move a0, s1 | a0 = s1;
0x000345c4 addiu a2, zero, 0xc | a2 = 0xc;
0x000345c8 addiu a1, a1, -0x7a1c | a1 += -0x7a1c;
0x000345cc jalr t9 | t9 ();
0x000345d0 lw a0, (s2) | a0 = *(s2);
0x000345d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000345d8 lw v1, 0xc(a0) | v1 = *((a0 + 3));
0x000345dc ori v1, v1, 2 | v1 |= 2;
0x000345e0 sw v1, 0xc(a0) | *((a0 + 3)) = v1;
| if (v0 == 0) {
0x000345e4 beqz v0, 0x3481c | goto label_9;
| }
0x000345e8 lb a1, 0xd(v0) | a1 = *((v0 + 13));
0x000345ec addiu v1, zero, 0x20 | v1 = 0x20;
0x000345f0 addiu s0, v0, 0xd | s0 = v0 + 0xd;
| if (a1 != v1) {
0x000345f4 bne a1, v1, 0x34608 | goto label_3;
| }
0x000345f8 addiu s0, s0, 1 | s0++;
| do {
0x000345fc lb v0, (s0) | v0 = *(s0);
0x00034600 beql v0, v1, 0x345fc |
| } while (v0 == v1);
0x00034604 addiu s0, s0, 1 | s0++;
| label_3:
0x00034608 lw t9, -0x7598(gp) | t9 = *((gp - 7526));
0x0003460c lw a1, 0x200(s1) | a1 = *((s1 + 128));
0x00034610 move a2, zero | a2 = 0;
0x00034614 jalr t9 | t9 ();
0x00034618 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003461c lw a1, (s2) | a1 = *(s2);
0x00034620 addiu v0, zero, 1 | v0 = 1;
0x00034624 lw t9, -0x7c00(gp) | t9 = *((gp - 7936));
0x00034628 move a2, s0 | a2 = s0;
0x0003462c move a3, zero | a3 = 0;
0x00034630 move a0, s1 | a0 = s1;
0x00034634 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00034638 bal 0x42b94 | fcn_00042b94 ();
0x0003463c lw gp, 0x18(sp) | gp = *(var_18h);
0x00034640 lw a0, (s2) | a0 = *(s2);
0x00034644 move s0, v0 | s0 = v0;
0x00034648 lw t9, -0x7598(gp) | t9 = *((gp - 7526));
0x0003464c move a2, zero | a2 = 0;
0x00034650 move a1, zero | a1 = 0;
0x00034654 jalr t9 | t9 ();
0x00034658 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s0 == 0) {
0x0003465c beqz s0, 0x34750 | goto label_10;
| }
| do {
| label_1:
0x00034660 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00034664 move v0, s0 | v0 = s0;
0x00034668 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0003466c lw s5, 0x34(sp) | s5 = *(var_34h);
0x00034670 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00034674 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00034678 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0003467c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00034680 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00034684 addiu sp, sp, 0x40 |
0x00034688 jr ra | return v1;
| label_8:
0x0003468c lw t9, -0x7c08(gp) | t9 = *((gp - 7938));
0x00034690 addiu s6, s2, 0x18 | s6 = s2 + 0x18;
0x00034694 move a0, s6 | a0 = s6;
0x00034698 bal 0x41590 | fcn_00041590 ();
0x0003469c lw gp, 0x18(sp) | gp = *(var_18h);
0x000346a0 lw a3, 0xac8(s1) | a3 = *((s1 + 690));
0x000346a4 lw a2, 0x204(s1) | a2 = *((s1 + 129));
0x000346a8 lw t9, -0x7af4(gp) | t9 = *((gp - 7869));
0x000346ac move a1, s6 | a1 = s6;
0x000346b0 move a0, s1 | a0 = s1;
0x000346b4 bal 0x2404c | fcn_0002404c ();
0x000346b8 move s0, v0 | s0 = v0;
0x000346bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000346c0 bnez v0, 0x34660 |
| } while (v0 != 0);
0x000346c4 sw s6, (s2) | *(s2) = s6;
0x000346c8 b 0x345b8 | goto label_0;
| label_2:
0x000346cc lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000346d0 lw t9, -0x7b10(gp) | t9 = *((gp - 7876));
0x000346d4 addiu a2, zero, 0x11 | a2 = 0x11;
0x000346d8 addiu a1, a1, -0x373c | a1 += -0x373c;
0x000346dc move a0, s1 | a0 = s1;
0x000346e0 jalr t9 | t9 ();
0x000346e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000346e8 beqz v0, 0x34784 | goto label_11;
| }
0x000346ec lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
0x000346f0 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x000346f4 addiu v1, zero, 7 | v1 = 7;
0x000346f8 lw t9, -0x7f08(gp) | t9 = *((gp - 8130));
0x000346fc sw v1, 0x10(sp) | *(var_10h) = v1;
0x00034700 addiu a3, a3, 0x4330 | a3 += 0x4330;
0x00034704 addiu a2, zero, 0x12 | a2 = 0x12;
0x00034708 addiu a1, a1, 0x42e8 | a1 += 0x42e8;
0x0003470c move a0, v0 | a0 = v0;
0x00034710 bal 0x33084 | fcn_00033084 ();
0x00034714 lhu v1, 0x116(s1) | v1 = *((s1 + 139));
0x00034718 move s0, zero | s0 = 0;
0x0003471c ins v1, v0, 7, 1 | __asm ("ins v1, v0, 7, 1");
0x00034720 sh v1, 0x116(s1) | *((s1 + 139)) = v1;
0x00034724 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00034728 move v0, s0 | v0 = s0;
0x0003472c lw s6, 0x38(sp) | s6 = *(var_38h);
0x00034730 lw s5, 0x34(sp) | s5 = *(var_34h);
0x00034734 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00034738 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0003473c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00034740 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00034744 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00034748 addiu sp, sp, 0x40 |
0x0003474c jr ra | return v1;
| label_10:
0x00034750 lw t9, -0x7af0(gp) | t9 = *((gp - 7868));
0x00034754 lw a0, (s2) | a0 = *(s2);
0x00034758 bal 0x4272c | fcn_0004272c ();
0x0003475c move s0, v0 | s0 = v0;
0x00034760 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00034764 bnez v0, 0x34660 | goto label_1;
| }
0x00034768 lw t9, -0x7aec(gp) | t9 = *((gp - 7867));
0x0003476c lw a0, (s2) | a0 = *(s2);
0x00034770 bal 0x4276c | fcn_0004276c ();
0x00034774 lw gp, 0x18(sp) | gp = *(var_18h);
0x00034778 sw v0, 8(s2) | *((s2 + 2)) = v0;
0x0003477c sw v1, 0xc(s2) | *((s2 + 3)) = v1;
0x00034780 b 0x346cc | goto label_2;
| label_11:
0x00034784 lw v0, 0x1a4(s4) | v0 = *(s4);
0x00034788 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x0003478c andi v0, v0, 3 | v0 &= 3;
| if (v0 != 0) {
0x00034790 beql v0, zero, 0x347cc |
0x00034794 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00034798 addiu v0, s3, -2 | v0 = s3 + -2;
0x0003479c sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x000347a0 lw v0, 0xc(s2) | v0 = *((s2 + 3));
| if (v0 == 0) {
0x000347a4 bnel v0, zero, 0x3483c | goto label_12;
| }
0x000347a8 lw v0, 0xb98(s1) | v0 = *((s1 + 742));
0x000347ac ext v0, v0, 0x14, 1 | __asm ("ext v0, v0, 0x14, 1");
0x000347b0 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x000347b4 beqz v0, 0x3485c | goto label_13;
| }
0x000347b8 lw v0, 0xac0(s1) | v0 = *((s1 + 688));
| label_5:
0x000347bc addiu v1, zero, -1 | v1 = -1;
| if (v0 == v1) {
0x000347c0 beql v0, v1, 0x3486c | goto label_14;
| }
0x000347c4 lw v1, 0xac4(s1) | v1 = *((s1 + 689));
0x000347c8 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| }
| label_4:
0x000347cc ins v0, zero, 7, 1 | __asm ("ins v0, zero, 7, 1");
0x000347d0 sh v0, 0x116(s1) | *((s1 + 139)) = v0;
| label_7:
0x000347d4 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| label_6:
0x000347d8 andi v0, v0, 0x80 | v0 &= 0x80;
0x000347dc move s0, zero | s0 = 0;
| if (v0 == 0) {
0x000347e0 beqz v0, 0x34660 | goto label_1;
| }
0x000347e4 lw v0, -0x7fb8(gp) | v0 = *((gp - 8174));
0x000347e8 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000347ec addiu v0, v0, -0x7a3c | v0 += -0x7a3c;
0x000347f0 sw v0, (s5) | *(s5) = v0;
0x000347f4 lw s6, 0x38(sp) | s6 = *(var_38h);
0x000347f8 move v0, s0 | v0 = s0;
0x000347fc lw s5, 0x34(sp) | s5 = *(var_34h);
0x00034800 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00034804 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00034808 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0003480c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00034810 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00034814 addiu sp, sp, 0x40 |
0x00034818 jr ra | return v1;
| label_9:
0x0003481c lw v1, 8(a0) | v1 = *((a0 + 2));
0x00034820 addiu v0, zero, 4 | v0 = 4;
| if (v1 != v0) {
0x00034824 beql v1, v0, 0x34834 |
0x00034828 lw s0, -0x7fc4(gp) | s0 = *((gp - 8177));
0x0003482c move s0, zero | s0 = 0;
0x00034830 b 0x34608 | goto label_3;
| }
0x00034834 addiu s0, s0, 0x691c | s0 += 0x691c;
0x00034838 b 0x34608 | goto label_3;
| if (v0 < 0) {
| label_12:
0x0003483c bltzl v0, 0x34878 | goto label_15;
| }
0x00034840 lw v0, 0x1a0(s4) | v0 = *(s4);
0x00034844 lw v0, 0xb98(s1) | v0 = *((s1 + 742));
0x00034848 ext v0, v0, 0x14, 1 | __asm ("ext v0, v0, 0x14, 1");
| if (v0 == 0) {
0x0003484c beql v0, zero, 0x347cc | goto label_4;
| }
0x00034850 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00034854 lw v0, 0xac0(s1) | v0 = *((s1 + 688));
0x00034858 b 0x347bc | goto label_5;
| label_13:
0x0003485c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| if (s3 == v0) {
0x00034860 bnel s3, v0, 0x347cc | goto label_4;
| }
0x00034864 lw v0, 0xac0(s1) | v0 = *((s1 + 688));
0x00034868 b 0x347bc | goto label_5;
| label_14:
0x0003486c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| if (v1 == v0) {
0x00034870 bnel v1, v0, 0x347cc | goto label_4;
| }
0x00034874 lw v0, 0x1a0(s4) | v0 = *(s4);
| label_15:
0x00034878 ext v0, v0, 0x10, 1 | __asm ("ext v0, v0, 0x10, 1");
0x0003487c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| if (v0 == 0) {
0x00034880 bnel v0, zero, 0x347d8 | goto label_6;
| }
0x00034884 lbu v1, 0xb95(s1) | v1 = *((s1 + 2965));
0x00034888 addiu v0, zero, 0xa | v0 = 0xa;
0x0003488c lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v1 == v0) {
0x00034890 beq v1, v0, 0x348c4 | goto label_16;
| }
0x00034894 lbu v1, 0x2e5(s4) | v1 = *((s4 + 741));
0x00034898 addiu v0, zero, 1 | v0 = 1;
| if (v1 == v0) {
0x0003489c beq v1, v0, 0x348c4 | goto label_16;
| }
0x000348a0 lbu a0, 0xb94(s1) | a0 = *((s1 + 2964));
0x000348a4 sltiu v1, v1, 0x14 | v1 = (v1 < 0x14) ? 1 : 0;
| if (a0 == v0) {
0x000348a8 beq a0, v0, 0x348c4 | goto label_16;
| }
| if (v1 == 0) {
0x000348ac beql v1, zero, 0x347d8 | goto label_6;
| }
0x000348b0 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x000348b4 lhu v1, 0x116(s1) | v1 = *((s1 + 139));
0x000348b8 ins v1, v0, 7, 1 | __asm ("ins v1, v0, 7, 1");
0x000348bc sh v1, 0x116(s1) | *((s1 + 139)) = v1;
0x000348c0 b 0x347d4 | goto label_7;
| label_16:
0x000348c4 lw t9, -0x7f24(gp) | t9 = *((gp - 8137));
0x000348c8 addiu a1, a1, -0x7a68 | a1 += -0x7a68;
0x000348cc move a0, s1 | a0 = s1;
0x000348d0 bal 0x1a234 | fcn_0001a234 ();
0x000348d4 addiu s0, zero, 0x19 | s0 = 0x19;
0x000348d8 b 0x34660 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x35388 */
| #include <stdint.h>
|
; (fcn) fcn.00035388 () | void fcn_00035388 () {
0x00035388 lui gp, 7 |
0x0003538c addiu gp, gp, 0x7408 |
0x00035390 addu gp, gp, t9 | gp += t9;
0x00035394 addiu sp, sp, -0x60 |
0x00035398 lw v0, 0x4c0(a0) | v0 = *((a0 + 304));
0x0003539c sw gp, 0x18(sp) | *(var_18h) = gp;
0x000353a0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x000353a4 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x000353a8 sw s0, 0x38(sp) | *(var_38h) = s0;
0x000353ac sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x000353b0 sw fp, 0x58(sp) | *(var_58h) = fp;
0x000353b4 sw s7, 0x54(sp) | *(var_54h) = s7;
0x000353b8 sw s6, 0x50(sp) | *(var_50h) = s6;
0x000353bc sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x000353c0 sw s4, 0x48(sp) | *(var_48h) = s4;
0x000353c4 sw s3, 0x44(sp) | *(var_44h) = s3;
0x000353c8 move s2, a0 | s2 = a0;
0x000353cc move s1, a1 | s1 = a1;
0x000353d0 move s0, a2 | s0 = a2;
| if (v0 != 0) {
0x000353d4 beqz v0, 0x353f4 |
0x000353d8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000353dc lw t9, -0x7b10(gp) | t9 = *((gp - 7876));
0x000353e0 addiu a2, zero, 6 | a2 = 6;
0x000353e4 addiu a1, a1, -0x792c | a1 += -0x792c;
0x000353e8 jalr t9 | t9 ();
0x000353ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000353f0 beqz v0, 0x35640 | goto label_8;
| }
| }
0x000353f4 lw v0, 0x680(s2) | v0 = *((s2 + 416));
0x000353f8 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x000353fc beqz v0, 0x35610 | goto label_3;
| }
0x00035400 lw v0, 0xb98(s2) | v0 = *((s2 + 742));
0x00035404 andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00035408 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x0003540c beqz v0, 0x35610 | goto label_3;
| }
0x00035410 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00035414 lw s3, 0xb78(s2) | s3 = *((s2 + 734));
| if (s3 != 0) {
| label_2:
0x00035418 beql s3, zero, 0x35420 |
0x0003541c lw s3, 0x4c(s1) | s3 = *((s1 + 19));
| }
0x00035420 lw v0, 0x1a4(s1) | v0 = *(s1);
0x00035424 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x00035428 andi v0, v0, 2 | v0 &= 2;
| if (v0 == 0) {
0x0003542c beql v0, zero, 0x35698 | goto label_9;
| }
0x00035430 lw a0, -0x7fc4(gp) | a0 = *((gp - 8177));
| label_4:
0x00035434 addiu s1, zero, 1 | s1 = 1;
| label_5:
0x00035438 lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x0003543c addiu a2, zero, 2 | a2 = 2;
0x00035440 addiu a1, zero, 2 | a1 = 2;
0x00035444 move a0, s2 | a0 = s2;
0x00035448 jalr t9 | t9 ();
0x0003544c lw gp, 0x18(sp) | gp = *(var_18h);
0x00035450 lw a3, 0xaec(s2) | a3 = *((s2 + 699));
0x00035454 lw a1, 0x680(s2) | a1 = *((s2 + 416));
0x00035458 lw t9, -0x7ae8(gp) | t9 = *((gp - 7866));
0x0003545c move a2, s3 | a2 = s3;
0x00035460 move a0, s2 | a0 = s2;
0x00035464 sw s1, 0x10(sp) | *(var_10h) = s1;
0x00035468 bal 0x182d0 | fcn_000182d0 ();
0x0003546c lw gp, 0x18(sp) | gp = *(var_18h);
0x00035470 move s1, v0 | s1 = v0;
0x00035474 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00035478 lw t9, -0x7e18(gp) | t9 = *((gp - 8070));
0x0003547c addiu a1, zero, 2 | a1 = 2;
0x00035480 move a0, s2 | a0 = s2;
0x00035484 jalr t9 | t9 ();
0x00035488 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == 0) {
0x0003548c beqz s1, 0x35660 | goto label_10;
| }
0x00035490 lw s6, -0x7fb8(gp) | s6 = *((gp - 8174));
0x00035494 lw s5, -0x7fb8(gp) | s5 = *((gp - 8174));
0x00035498 addiu v0, s6, -0x7930 | v0 = s6 + -0x7930;
0x0003549c lw s4, -0x7fb8(gp) | s4 = *((gp - 8174));
0x000354a0 lw s3, -0x7fb8(gp) | s3 = *((gp - 8174));
0x000354a4 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000354a8 addiu v0, s5, -0x1358 | v0 = s5 + -0x1358;
0x000354ac lw s7, 0x34(sp) | s7 = *(var_34h);
0x000354b0 move s1, zero | s1 = 0;
0x000354b4 addiu s4, s4, -0x7918 | s4 += -0x7918;
0x000354b8 addiu s3, s3, -0x7924 | s3 += -0x7924;
0x000354bc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000354c0 b 0x35564 | goto label_11;
| label_0:
0x000354c4 bal 0x1eeec | fcn_0001eeec ();
0x000354c8 nop |
0x000354cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000354d0 move a0, s0 | a0 = s0;
0x000354d4 lw t9, -0x7f50(gp) | t9 = *((gp - 8148));
| if (v0 != 0) {
0x000354d8 bnez v0, 0x35770 | goto label_12;
| }
0x000354dc bal 0x1f028 | fcn_0001f028 ();
0x000354e0 nop |
0x000354e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000354e8 lw fp, 4(s7) | fp = *((s7 + 1));
0x000354ec sw v0, 0x24(sp) | *(var_24h) = v0;
0x000354f0 lw t9, -0x7428(gp) | t9 = *((gp - 7434));
0x000354f4 move a0, fp | a0 = fp;
0x000354f8 jalr t9 | t9 ();
0x000354fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00035500 lw s5, 8(s7) | s5 = *((s7 + 2));
0x00035504 move s6, v0 | s6 = v0;
0x00035508 lw t9, -0x7428(gp) | t9 = *((gp - 7434));
0x0003550c move a0, s5 | a0 = s5;
0x00035510 jalr t9 | t9 ();
0x00035514 lw a1, 0x24(sp) | a1 = *(var_24h);
0x00035518 addu a1, a1, s6 | a1 += s6;
0x0003551c addiu a1, a1, 1 | a1++;
0x00035520 addu a1, a1, v0 | a1 += v0;
0x00035524 sltiu a1, a1, 0x1ffe | a1 = (a1 < 0x1ffe) ? 1 : 0;
0x00035528 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x0003552c beqz a1, 0x355e4 | goto label_13;
| }
0x00035530 lw a2, 0x2c(sp) | a2 = *(var_2ch);
| label_1:
0x00035534 lw t9, -0x7f34(gp) | t9 = *((gp - 8141));
0x00035538 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0003553c move a3, fp | a3 = fp;
0x00035540 move a1, s4 | a1 = s4;
0x00035544 move a0, s0 | a0 = s0;
0x00035548 bal 0x1ef9c | fcn_0001ef9c ();
0x0003554c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00035550 bnez v0, 0x35770 | goto label_12;
| }
0x00035554 addiu s1, s1, 1 | s1++;
| do {
0x00035558 lw s7, (s7) | s7 = *(s7);
0x0003555c lw t9, -0x7ae4(gp) | t9 = *((gp - 7865));
| if (s7 == 0) {
0x00035560 beqz s7, 0x356ec | goto label_14;
| }
| label_11:
0x00035564 lw v0, 8(s7) | v0 = *((s7 + 2));
0x00035568 lw v0, -0x7f50(gp) | v0 = *((gp - 8148));
0x0003556c beqz v0, 0x35558 |
| } while (v0 == 0);
0x00035570 move a0, s0 | a0 = s0;
0x00035574 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00035578 addiu a2, zero, 8 | a2 = 8;
0x0003557c move a1, s3 | a1 = s3;
| if (s1 == 0) {
0x00035580 beqz s1, 0x354c4 | goto label_0;
| }
0x00035584 move t9, v0 | t9 = v0;
0x00035588 bal 0x1f028 | fcn_0001f028 ();
0x0003558c nop |
0x00035590 lw gp, 0x18(sp) | gp = *(var_18h);
0x00035594 lw fp, 4(s7) | fp = *((s7 + 1));
0x00035598 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0003559c lw t9, -0x7428(gp) | t9 = *((gp - 7434));
0x000355a0 move a0, fp | a0 = fp;
0x000355a4 jalr t9 | t9 ();
0x000355a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000355ac lw s5, 8(s7) | s5 = *((s7 + 2));
0x000355b0 move s6, v0 | s6 = v0;
0x000355b4 lw t9, -0x7428(gp) | t9 = *((gp - 7434));
0x000355b8 move a0, s5 | a0 = s5;
0x000355bc jalr t9 | t9 ();
0x000355c0 lw a1, 0x24(sp) | a1 = *(var_24h);
0x000355c4 addu a1, a1, s6 | a1 += s6;
0x000355c8 addiu a1, a1, 1 | a1++;
0x000355cc addu a1, a1, v0 | a1 += v0;
0x000355d0 sltiu a1, a1, 0x1ffe | a1 = (a1 < 0x1ffe) ? 1 : 0;
0x000355d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x000355d8 beqz a1, 0x35788 | goto label_15;
| }
0x000355dc lw a2, 0x28(sp) | a2 = *(var_28h);
0x000355e0 b 0x35534 | goto label_1;
| label_13:
0x000355e4 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000355e8 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x000355ec move a2, fp | a2 = fp;
0x000355f0 addiu a1, a1, -0x7910 | a1 += -0x7910;
0x000355f4 move a0, s2 | a0 = s2;
0x000355f8 bal 0x1a358 | fcn_0001a358 ();
0x000355fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00035600 lw t9, -0x7ae4(gp) | t9 = *((gp - 7865));
0x00035604 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00035608 bal 0x18948 | fcn_00018948 ();
0x0003560c move v0, zero | v0 = 0;
| label_3:
0x00035610 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00035614 lw fp, 0x58(sp) | fp = *(var_58h);
0x00035618 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0003561c lw s6, 0x50(sp) | s6 = *(var_50h);
0x00035620 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x00035624 lw s4, 0x48(sp) | s4 = *(var_48h);
0x00035628 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0003562c lw s2, 0x40(sp) | s2 = *(var_40h);
0x00035630 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00035634 lw s0, 0x38(sp) | s0 = *(var_38h);
0x00035638 addiu sp, sp, 0x60 |
0x0003563c jr ra | return v0;
| label_8:
0x00035640 lw v1, 0x4c0(s2) | v1 = *((s2 + 304));
0x00035644 lw v0, 0x680(s2) | v0 = *((s2 + 416));
0x00035648 sw v1, 0x30(sp) | *(var_30h) = v1;
| if (v0 == 0) {
0x0003564c beqz v0, 0x35660 | goto label_10;
| }
0x00035650 lw v0, 0xb98(s2) | v0 = *((s2 + 742));
0x00035654 andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00035658 lw s3, 0xb78(s2) | s3 = *((s2 + 734));
| if (v0 == 0) {
0x0003565c bnel v0, zero, 0x35418 | goto label_2;
| }
| label_10:
0x00035660 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00035664 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x00035668 beqz v0, 0x35610 | goto label_3;
| }
| label_6:
0x0003566c lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x00035670 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00035674 addiu a2, zero, 8 | a2 = 8;
0x00035678 addiu a1, a1, -0x7924 | a1 += -0x7924;
0x0003567c move a0, s0 | a0 = s0;
0x00035680 bal 0x1eeec | fcn_0001eeec ();
0x00035684 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00035688 bnez v0, 0x35610 | goto label_3;
| }
0x0003568c lw a2, -0x7fb8(gp) | a2 = *((gp - 8174));
0x00035690 addiu a2, a2, -0x1358 | a2 += -0x1358;
0x00035694 b 0x3570c | goto label_16;
| label_9:
0x00035698 lw t9, -0x714c(gp) | t9 = *((gp - 7251));
0x0003569c move a1, s3 | a1 = s3;
0x000356a0 addiu a0, a0, 0x4bac | a0 += 0x4bac;
0x000356a4 jalr t9 | t9 ();
0x000356a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000356ac bnez v0, 0x35434 | goto label_4;
| }
0x000356b0 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x000356b4 lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x000356b8 addiu a1, a1, 0x7f8c | a1 += 0x7f8c;
0x000356bc move a0, s3 | a0 = s3;
0x000356c0 jalr t9 | t9 ();
0x000356c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000356c8 beqz v0, 0x35434 | goto label_4;
| }
0x000356cc lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x000356d0 lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x000356d4 addiu a1, a1, 0x7fa4 | a1 += 0x7fa4;
0x000356d8 move a0, s3 | a0 = s3;
0x000356dc jalr t9 | t9 ();
0x000356e0 sltiu s1, v0, 1 | s1 = (v0 < 1) ? 1 : 0;
0x000356e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000356e8 b 0x35438 | goto label_5;
| label_14:
0x000356ec lw a0, 0x34(sp) | a0 = *(var_34h);
0x000356f0 bal 0x18948 | fcn_00018948 ();
0x000356f4 lw v0, 0x30(sp) | v0 = *(var_30h);
0x000356f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000356fc beqz v0, 0x357b8 | goto label_17;
| }
0x00035700 lw a2, -0x7fb8(gp) | a2 = *((gp - 8174));
| if (s1 == 0) {
0x00035704 beqz s1, 0x3566c | goto label_6;
| }
0x00035708 addiu a2, a2, -0x7930 | a2 += -0x7930;
| label_16:
0x0003570c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00035710 lw t9, -0x7f34(gp) | t9 = *((gp - 8141));
0x00035714 lw a3, 0x30(sp) | a3 = *(var_30h);
0x00035718 addiu a1, a1, 0x4154 | a1 += aav.0x00004154;
0x0003571c move a0, s0 | a0 = s0;
0x00035720 bal 0x1ef9c | fcn_0001ef9c ();
0x00035724 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00035728 bnez v0, 0x35610 | goto label_3;
| }
| do {
0x0003572c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| label_7:
0x00035730 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00035734 lw fp, 0x58(sp) | fp = *(var_58h);
0x00035738 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0003573c lw s6, 0x50(sp) | s6 = *(var_50h);
0x00035740 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x00035744 lw s4, 0x48(sp) | s4 = *(var_48h);
0x00035748 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0003574c lw s2, 0x40(sp) | s2 = *(var_40h);
0x00035750 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00035754 move a0, s0 | a0 = s0;
0x00035758 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0003575c lw s0, 0x38(sp) | s0 = *(var_38h);
0x00035760 addiu a2, zero, 2 | a2 = 2;
0x00035764 addiu a1, a1, 0x5048 | a1 += 0x5048;
0x00035768 addiu sp, sp, 0x60 |
0x0003576c b 0x1eeec | void (*0x1eeec)() ();
| label_12:
0x00035770 lw t9, -0x7ae4(gp) | t9 = *((gp - 7865));
0x00035774 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00035778 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0003577c bal 0x18948 | fcn_00018948 ();
0x00035780 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00035784 b 0x35610 | goto label_3;
| label_15:
0x00035788 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x0003578c lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00035790 move a2, fp | a2 = fp;
0x00035794 addiu a1, a1, -0x7910 | a1 += -0x7910;
0x00035798 move a0, s2 | a0 = s2;
0x0003579c bal 0x1a358 | fcn_0001a358 ();
0x000357a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000357a4 lw t9, -0x7ae4(gp) | t9 = *((gp - 7865));
0x000357a8 lw a0, 0x34(sp) | a0 = *(var_34h);
0x000357ac bal 0x18948 | fcn_00018948 ();
0x000357b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000357b4 b 0x3572c |
| } while (1);
| label_17:
0x000357b8 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (s1 != 0) {
0x000357bc bnez s1, 0x35730 | goto label_7;
| }
0x000357c0 move v0, zero | v0 = 0;
0x000357c4 b 0x35610 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x3676c */
| #include <stdint.h>
|
; (fcn) fcn.0003676c () | void fcn_0003676c () {
0x0003676c lui gp, 7 |
0x00036770 addiu gp, gp, 0x6024 |
0x00036774 addu gp, gp, t9 | gp += t9;
0x00036778 addiu sp, sp, -0x60 |
0x0003677c lhu v0, 0x116(a0) | v0 = *((a0 + 139));
0x00036780 sw s2, 0x4c(sp) | *(var_4ch) = s2;
0x00036784 lw s2, -0x74ac(gp) | s2 = *((gp - 7467));
0x00036788 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0003678c andi v0, v0, 0x10 | v0 &= 0x10;
0x00036790 lw v1, (s2) | v1 = *(s2);
0x00036794 sw s3, 0x50(sp) | *(var_50h) = s3;
0x00036798 sw s1, 0x48(sp) | *(var_48h) = s1;
0x0003679c sw s0, 0x44(sp) | *(var_44h) = s0;
0x000367a0 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x000367a4 sw s5, 0x58(sp) | *(var_58h) = s5;
0x000367a8 sw s4, 0x54(sp) | *(var_54h) = s4;
0x000367ac move s1, a0 | s1 = a0;
0x000367b0 move s3, a1 | s3 = a1;
0x000367b4 move s0, a2 | s0 = a2;
0x000367b8 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x000367bc lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != 0) {
0x000367c0 bnez v0, 0x367d8 | goto label_17;
| }
0x000367c4 lw v0, 0x678(a0) | v0 = *(a0);
0x000367c8 ext v0, v0, 0x1a, 1 | __asm ("ext v0, v0, 0x1a, 1");
0x000367cc lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x000367d0 beqz v0, 0x36944 |
| while (v0 == 0) {
0x000367d4 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| label_17:
0x000367d8 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x000367dc addiu a2, zero, 0xd | a2 = 0xd;
0x000367e0 addiu a1, a1, -0x7ad4 | a1 += -0x7ad4;
0x000367e4 move a0, s0 | a0 = s0;
0x000367e8 jalr t9 | t9 ();
0x000367ec lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000367f0 bnez v0, 0x36ab8 | goto label_18;
| }
0x000367f4 lbu v0, 0x2e5(s3) | v0 = *((s3 + 741));
0x000367f8 addiu v1, zero, 0xa | v1 = 0xa;
0x000367fc addiu v1, zero, 0xb | v1 = 0xb;
| if (v0 == v1) {
0x00036800 beq v0, v1, 0x369d0 | goto label_19;
| }
0x00036804 lw s4, -0x7f08(gp) | s4 = *((gp - 8130));
| if (v0 == v1) {
0x00036808 beq v0, v1, 0x36a70 | goto label_20;
| }
0x0003680c lw s5, -0x7fc4(gp) | s5 = *((gp - 8177));
| label_0:
0x00036810 lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
| label_4:
0x00036814 addiu v0, zero, 5 | v0 = 5;
0x00036818 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0003681c addiu a3, a3, 0x42d4 | a3 += 0x42d4;
0x00036820 addiu a2, zero, 0xb | a2 = 0xb;
0x00036824 addiu a1, s5, 0x42dc | a1 = s5 + 0x42dc;
0x00036828 move t9, s4 | t9 = s4;
0x0003682c move a0, s0 | a0 = s0;
0x00036830 bal 0x33084 | fcn_00033084 ();
0x00036834 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036838 bnez v0, 0x36db0 | goto label_21;
| }
0x0003683c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00036840 andi v0, v0, 0x10 | v0 &= 0x10;
0x00036844 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 == 0) {
0x00036848 beqz v0, 0x36dcc | goto label_22;
| }
| label_7:
0x0003684c lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x00036850 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036854 addiu a2, zero, 0xc | a2 = 0xc;
0x00036858 addiu a1, a1, -0x7588 | a1 += -0x7588;
0x0003685c move a0, s0 | a0 = s0;
0x00036860 jalr t9 | t9 ();
0x00036864 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036868 bnez v0, 0x36e38 | goto label_23;
| }
0x0003686c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00036870 andi v0, v0, 0x10 | v0 &= 0x10;
0x00036874 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 == 0) {
0x00036878 beqz v0, 0x36b68 | goto label_24;
| }
0x0003687c lw v0, 0x680(s1) | v0 = *((s1 + 416));
0x00036880 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 == 0) {
0x00036884 beqz v0, 0x36c7c | goto label_25;
| }
0x00036888 lw v0, 0xb98(s1) | v0 = *((s1 + 742));
0x0003688c andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00036890 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
| if (v0 == 0) {
0x00036894 beqz v0, 0x36c80 | goto label_26;
| }
0x00036898 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| label_5:
0x0003689c lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x000368a0 addiu a2, zero, 0xb | a2 = 0xb;
0x000368a4 addiu a1, a1, 0x4d04 | a1 += 0x4d04;
0x000368a8 move a0, s0 | a0 = s0;
0x000368ac jalr t9 | t9 ();
0x000368b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000368b4 beqz v0, 0x36c0c | goto label_27;
| }
0x000368b8 lw s4, 0xb78(s1) | s4 = *((s1 + 734));
| if (s4 != 0) {
0x000368bc beql s4, zero, 0x368c4 |
0x000368c0 lw s4, 0x4c(s3) | s4 = *((s3 + 19));
| }
0x000368c4 lw v0, 0x1a4(s3) | v0 = *(s3);
0x000368c8 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x000368cc andi v0, v0, 2 | v0 &= 2;
| if (v0 == 0) {
0x000368d0 beql v0, zero, 0x36fb0 | goto label_28;
| }
0x000368d4 lw a0, -0x7fc4(gp) | a0 = *((gp - 8177));
| label_10:
0x000368d8 addiu s3, zero, 1 | s3 = 1;
| label_11:
0x000368dc lw t9, -0x7e1c(gp) | t9 = *((gp - 8071));
0x000368e0 addiu a2, zero, 2 | a2 = 2;
0x000368e4 addiu a1, zero, 2 | a1 = 2;
0x000368e8 move a0, s1 | a0 = s1;
0x000368ec jalr t9 | t9 ();
0x000368f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000368f4 lw v0, 0xaec(s1) | v0 = *((s1 + 699));
0x000368f8 lw a1, 0x680(s1) | a1 = *((s1 + 416));
0x000368fc addiu s0, s0, 0xb | s0 += 0xb;
0x00036900 lw t9, -0x7d8c(gp) | t9 = *((gp - 8035));
0x00036904 move a3, zero | a3 = 0;
0x00036908 addiu a2, zero, 1 | a2 = 1;
0x0003690c move a0, s1 | a0 = s1;
0x00036910 sw s3, 0x1c(sp) | *(var_1ch_2) = s3;
0x00036914 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00036918 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0003691c sw s0, 0x10(sp) | *(var_10h_2) = s0;
0x00036920 bal 0x16c38 | fcn_00016c38 ();
0x00036924 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036928 addiu a1, zero, 2 | a1 = 2;
0x0003692c lw t9, -0x7e18(gp) | t9 = *((gp - 8070));
0x00036930 move a0, s1 | a0 = s1;
0x00036934 jalr t9 | t9 ();
0x00036938 lw gp, 0x20(sp) | gp = *(var_20h);
0x0003693c move v0, zero | v0 = 0;
0x00036940 b 0x36a40 | goto label_1;
0x00036944 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036948 addiu a2, zero, 0xf | a2 = 0xf;
0x0003694c addiu a1, a1, 0x4290 | a1 += 0x4290;
0x00036950 move a0, s0 | a0 = s0;
0x00036954 jalr t9 | t9 ();
0x00036958 lw gp, 0x20(sp) | gp = *(var_20h);
0x0003695c beqz v0, 0x367d4 |
| }
0x00036960 lw t9, -0x7f40(gp) | t9 = *((gp - 8144));
0x00036964 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x00036968 addiu a2, zero, 0xa | a2 = 0xa;
0x0003696c move a1, zero | a1 = 0;
0x00036970 addiu a0, s0, 0xf | a0 = s0 + 0xf;
0x00036974 jalr t9 | t9 ();
0x00036978 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0003697c beqz v0, 0x36ef8 | goto label_29;
| }
0x00036980 addiu v1, zero, 1 | v1 = 1;
0x00036984 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != v1) {
0x00036988 bne v0, v1, 0x37120 | goto label_30;
| }
0x0003698c lw v0, 0x470(s1) | v0 = *((s1 + 284));
0x00036990 lw v1, 0x474(s1) | v1 = *((s1 + 285));
0x00036994 or v0, v0, v1 | v0 |= v1;
0x00036998 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
| if (v0 != 0) {
0x0003699c bnez v0, 0x37190 | goto label_31;
| }
0x000369a0 addiu a1, zero, 2 | a1 = 2;
0x000369a4 move a0, s3 | a0 = s3;
0x000369a8 jalr t9 | t9 ();
0x000369ac lw gp, 0x20(sp) | gp = *(var_20h);
0x000369b0 move a0, s1 | a0 = s1;
0x000369b4 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000369b8 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x000369bc addiu a1, a1, -0x7660 | a1 += -0x7660;
0x000369c0 bal 0x1a358 | fcn_0001a358 ();
0x000369c4 lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x000369c8 move v0, zero | v0 = 0;
0x000369cc b 0x36a40 | goto label_1;
| label_19:
0x000369d0 lw v1, 0x1a0(s3) | v1 = *(s3);
0x000369d4 andi v1, v1, 1 | v1 &= 1;
0x000369d8 lw s4, -0x7f08(gp) | s4 = *((gp - 8130));
| if (v1 != 0) {
0x000369dc bnez v1, 0x36b18 | goto label_32;
| }
0x000369e0 lw s5, -0x7fc4(gp) | s5 = *((gp - 8177));
| label_3:
0x000369e4 lw a3, -0x7fb8(gp) | a3 = *((gp - 8174));
0x000369e8 addiu v0, zero, 0xa | v0 = 0xa;
0x000369ec sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000369f0 addiu a3, a3, -0x7620 | a3 += -0x7620;
0x000369f4 addiu a2, zero, 0xb | a2 = 0xb;
0x000369f8 addiu a1, s5, 0x42dc | a1 = s5 + 0x42dc;
0x000369fc move t9, s4 | t9 = s4;
0x00036a00 move a0, s0 | a0 = s0;
0x00036a04 bal 0x33084 | fcn_00033084 ();
0x00036a08 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036a0c beqz v0, 0x36810 | goto label_0;
| }
0x00036a10 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00036a14 move a1, zero | a1 = 0;
0x00036a18 move a0, s3 | a0 = s3;
0x00036a1c jalr t9 | t9 ();
0x00036a20 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036a24 move a0, s1 | a0 = s1;
0x00036a28 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x00036a2c lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00036a30 addiu a1, a1, -0x75c4 | a1 += -0x75c4;
0x00036a34 bal 0x1a358 | fcn_0001a358 ();
0x00036a38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036a3c move v0, zero | v0 = 0;
| label_1:
0x00036a40 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x00036a44 lw v1, (s2) | v1 = *(s2);
0x00036a48 lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (a0 != v1) {
0x00036a4c bne a0, v1, 0x3724c | goto label_33;
| }
0x00036a50 lw s5, 0x58(sp) | s5 = *(var_58h);
0x00036a54 lw s4, 0x54(sp) | s4 = *(var_54h);
0x00036a58 lw s3, 0x50(sp) | s3 = *(var_50h);
0x00036a5c lw s2, 0x4c(sp) | s2 = *(var_4ch);
0x00036a60 lw s1, 0x48(sp) | s1 = *(var_48h);
0x00036a64 lw s0, 0x44(sp) | s0 = *(var_44h);
0x00036a68 addiu sp, sp, 0x60 |
0x00036a6c jr ra | return v1;
| label_20:
0x00036a70 lw v0, 0x1a0(s3) | v0 = *(s3);
| label_2:
0x00036a74 andi v0, v0, 1 | v0 &= 1;
0x00036a78 lw s5, -0x7fc4(gp) | s5 = *((gp - 8177));
| if (v0 == 0) {
0x00036a7c beqz v0, 0x36810 | goto label_0;
| }
0x00036a80 lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
0x00036a84 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00036a88 addiu v0, zero, 5 | v0 = 5;
0x00036a8c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00036a90 addiu a3, a3, 0x42d4 | a3 += 0x42d4;
0x00036a94 addiu a2, zero, 0x11 | a2 = 0x11;
0x00036a98 addiu a1, a1, 0x4354 | a1 += 0x4354;
0x00036a9c move t9, s4 | t9 = s4;
0x00036aa0 move a0, s0 | a0 = s0;
0x00036aa4 bal 0x33084 | fcn_00033084 ();
0x00036aa8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036aac bnez v0, 0x36f7c | goto label_34;
| }
0x00036ab0 lbu v0, 0x2e5(s3) | v0 = *((s3 + 741));
0x00036ab4 b 0x36b54 | goto label_35;
| label_18:
0x00036ab8 lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
0x00036abc addiu t9, t9, 0x1a48 | t9 += 0x1a48;
0x00036ac0 move a0, s0 | a0 = s0;
0x00036ac4 bal 0x31a48 | fcn_00031a48 ();
0x00036ac8 move s0, v0 | s0 = v0;
0x00036acc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036ad0 beqz v0, 0x37030 | goto label_14;
| }
0x00036ad4 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
0x00036ad8 lb v0, (v0) | v0 = *(v0);
0x00036adc lw t9, (v1) | t9 = *(v1);
| if (v0 == 0) {
0x00036ae0 bnez v0, 0x36af8 |
0x00036ae4 move a0, s0 | a0 = s0;
0x00036ae8 jalr t9 | t9 ();
0x00036aec lw gp, 0x20(sp) | gp = *(var_20h);
0x00036af0 move v0, zero | v0 = 0;
0x00036af4 b 0x36a40 | goto label_1;
| }
0x00036af8 move v0, zero | v0 = 0;
0x00036afc lw a0, 0xbd4(s1) | a0 = *((s1 + 757));
0x00036b00 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00036b04 jalr t9 | t9 ();
0x00036b08 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036b0c sw s0, 0xbd4(s1) | *((s1 + 757)) = s0;
0x00036b10 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00036b14 b 0x36a40 | goto label_1;
| label_32:
0x00036b18 lw a3, -0x7fb8(gp) | a3 = *((gp - 8174));
0x00036b1c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00036b20 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00036b24 addiu a3, a3, -0x7620 | a3 += -0x7620;
0x00036b28 addiu a2, zero, 0x11 | a2 = 0x11;
0x00036b2c addiu a1, a1, 0x4354 | a1 += 0x4354;
0x00036b30 move t9, s4 | t9 = s4;
0x00036b34 move a0, s0 | a0 = s0;
0x00036b38 bal 0x33084 | fcn_00033084 ();
0x00036b3c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036b40 bnez v0, 0x36f48 | goto label_36;
| }
0x00036b44 lbu v0, 0x2e5(s3) | v0 = *((s3 + 741));
0x00036b48 addiu v1, zero, 0xb | v1 = 0xb;
| if (v0 == v1) {
0x00036b4c beql v0, v1, 0x36a74 | goto label_2;
| }
0x00036b50 lw v0, 0x1a0(s3) | v0 = *(s3);
| label_35:
0x00036b54 addiu v1, zero, 0xa | v1 = 0xa;
0x00036b58 lw s5, -0x7fc4(gp) | s5 = *((gp - 8177));
| if (v0 == v1) {
0x00036b5c beq v0, v1, 0x369e4 | goto label_3;
| }
0x00036b60 lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
0x00036b64 b 0x36814 | goto label_4;
| label_24:
0x00036b68 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036b6c addiu a2, zero, 0xe | a2 = 0xe;
0x00036b70 addiu a1, a1, -0x7578 | a1 += -0x7578;
0x00036b74 move a0, s0 | a0 = s0;
0x00036b78 jalr t9 | t9 ();
0x00036b7c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036b80 beqz v0, 0x36bf0 | goto label_37;
| }
0x00036b84 lb v1, 0xe(s0) | v1 = *((s0 + 14));
0x00036b88 addiu a0, s0, 0xe | a0 = s0 + 0xe;
| if (v1 == 0) {
0x00036b8c beqz v1, 0x36bdc | goto label_38;
| }
0x00036b90 addiu v0, v1, -0x30 | v0 = v1 + -0x30;
0x00036b94 andi v0, v0, 0xff | v0 &= 0xff;
0x00036b98 sltiu v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00036b9c addiu v0, zero, 0x2a | v0 = 0x2a;
| if (v0 != 0) {
0x00036ba0 bnez v0, 0x3713c | goto label_39;
| }
0x00036ba4 move v0, zero | v0 = 0;
| if (v1 == v0) {
0x00036ba8 beq v1, v0, 0x36be0 | goto label_40;
| }
0x00036bac addiu a1, zero, 0x2a | a1 = 0x2a;
0x00036bb0 b 0x36bcc |
| while (v1 == 0) {
0x00036bb4 andi v0, v0, 0xff | v0 &= 0xff;
0x00036bb8 sltiu v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x00036bbc lw t9, -0x7f40(gp) | t9 = *((gp - 8144));
| if (v0 != 0) {
0x00036bc0 bnez v0, 0x37140 | goto label_41;
| }
0x00036bc4 move v0, zero | v0 = 0;
| if (v1 == a1) {
0x00036bc8 beq v1, a1, 0x36be0 | goto label_40;
| }
0x00036bcc addiu a0, a0, 1 | a0++;
0x00036bd0 lb v1, (a0) | v1 = *(a0);
0x00036bd4 addiu v0, v1, -0x30 | v0 = v1 + -0x30;
0x00036bd8 bnel v1, zero, 0x36bb4 |
| }
| label_38:
0x00036bdc move v0, zero | v0 = 0;
| label_40:
0x00036be0 move v1, zero | v1 = 0;
0x00036be4 sw v0, 0xa88(s1) | *(s1) = v0;
0x00036be8 sw v1, 0xa8c(s1) | *((s1 + 675)) = v1;
0x00036bec b 0x36a40 | goto label_1;
| label_37:
0x00036bf0 lw v0, 0x680(s1) | v0 = *((s1 + 416));
| if (v0 == 0) {
0x00036bf4 beql v0, zero, 0x36c10 | goto label_42;
| }
0x00036bf8 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00036bfc lw v0, 0xb98(s1) | v0 = *((s1 + 742));
0x00036c00 andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00036c04 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 != 0) {
0x00036c08 bnez v0, 0x3689c | goto label_5;
| }
| label_27:
0x00036c0c lhu v0, 0x116(s1) | v0 = *((s1 + 139));
| label_42:
0x00036c10 andi v0, v0, 0x10 | v0 &= 0x10;
0x00036c14 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != 0) {
0x00036c18 bnez v0, 0x36c78 | goto label_43;
| }
0x00036c1c lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036c20 addiu a2, zero, 0xe | a2 = 0xe;
0x00036c24 addiu a1, a1, -0x7568 | a1 += -0x7568;
0x00036c28 move a0, s0 | a0 = s0;
0x00036c2c jalr t9 | t9 ();
0x00036c30 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036c34 beqz v0, 0x36c78 | goto label_43;
| }
0x00036c38 lbu v0, 0x384(s1) | v0 = *((s1 + 900));
0x00036c3c lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
| if (v0 == 0) {
0x00036c40 bnez v0, 0x36c54 |
0x00036c44 lb v0, 0x677(s1) | v0 = *((s1 + 1655));
0x00036c48 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 >= 0) {
0x00036c4c bgez v0, 0x36c7c | goto label_25;
| }
0x00036c50 lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
| }
0x00036c54 addiu a0, s0, 0xe | a0 = s0 + 0xe;
0x00036c58 bal 0x4c57c | fcn_0004c57c ();
0x00036c5c lb v1, 0x677(s1) | v1 = *((s1 + 1655));
0x00036c60 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036c64 sw v0, 0xf4(s1) | *((s1 + 61)) = v0;
| if (v1 >= 0) {
0x00036c68 bgez v1, 0x369c8 | goto label_6;
| }
0x00036c6c sw v0, 0xbb4(s1) | *((s1 + 749)) = v0;
0x00036c70 move v0, zero | v0 = 0;
0x00036c74 b 0x36a40 | goto label_1;
| label_43:
0x00036c78 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| label_25:
0x00036c7c lw t9, -0x7744(gp) | t9 = *((gp - 7633));
| label_26:
0x00036c80 addiu a2, zero, 0x11 | a2 = 0x11;
0x00036c84 addiu a1, a1, 0x4268 | a1 += 0x4268;
0x00036c88 move a0, s0 | a0 = s0;
0x00036c8c jalr t9 | t9 ();
0x00036c90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036c94 beqz v0, 0x36ca8 |
0x00036c98 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
0x00036c9c addiu v1, zero, 0x191 | v1 = 0x191;
0x00036ca0 lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
| if (v0 == v1) {
0x00036ca4 beq v0, v1, 0x36e9c | goto label_44;
| }
| }
0x00036ca8 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00036cac lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036cb0 addiu a2, zero, 0x13 | a2 = 0x13;
0x00036cb4 addiu a1, a1, 0x427c | a1 += 0x427c;
0x00036cb8 move a0, s0 | a0 = s0;
0x00036cbc jalr t9 | t9 ();
0x00036cc0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036cc4 bnez v0, 0x36e88 | goto label_45;
| }
0x00036cc8 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
0x00036ccc addiu v0, v0, -0x12c | v0 += -aav.0x0000012c;
| label_8:
0x00036cd0 sltiu v0, v0, 0x64 | v0 = (v0 < 0x64) ? 1 : 0;
0x00036cd4 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != 0) {
0x00036cd8 bnez v0, 0x370a4 | goto label_46;
| }
| label_12:
0x00036cdc lw v0, 0x684(s1) | v0 = *(s1);
| label_13:
0x00036ce0 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != 0) {
0x00036ce4 beqz v0, 0x36d18 |
0x00036ce8 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036cec addiu a2, zero, 0x1a | a2 = 0x1a;
0x00036cf0 addiu a1, a1, -0x754c | a1 += -0x754c;
0x00036cf4 move a0, s0 | a0 = s0;
0x00036cf8 jalr t9 | t9 ();
0x00036cfc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036d00 beqz v0, 0x36d18 | goto label_47;
| }
0x00036d04 lw v0, 0x1a4(s3) | v0 = *(s3);
0x00036d08 lw v0, 0x4c(v0) | v0 = *((v0 + 19));
0x00036d0c andi v0, v0, 1 | v0 &= 1;
0x00036d10 lw t9, -0x7ab4(gp) | t9 = *((gp - 7853));
| if (v0 != 0) {
0x00036d14 bnez v0, 0x371b0 | goto label_48;
| }
| }
| label_47:
0x00036d18 lw v0, 0x688(s1) | v0 = *((s1 + 418));
0x00036d1c lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 == 0) {
0x00036d20 beqz v0, 0x37004 | goto label_49;
| }
0x00036d24 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036d28 addiu a2, zero, 8 | a2 = 8;
0x00036d2c addiu a1, a1, -0x7514 | a1 += -0x7514;
0x00036d30 move a0, s0 | a0 = s0;
0x00036d34 jalr t9 | t9 ();
0x00036d38 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036d3c beqz v0, 0x37004 | goto label_49;
| }
0x00036d40 lw v0, 0x1a4(s3) | v0 = *(s3);
0x00036d44 lw v1, 0x4c(v0) | v1 = *((v0 + 19));
0x00036d48 andi v1, v1, 1 | v1 &= 1;
| if (v1 == 0) {
0x00036d4c beql v1, zero, 0x3700c | goto label_50;
| }
0x00036d50 lw v0, 0x44(v0) | v0 = *((v0 + 17));
0x00036d54 lbu v0, 0x2e5(s3) | v0 = *((s3 + 741));
0x00036d58 addiu v1, zero, 0x1e | v1 = 0x1e;
0x00036d5c addiu v1, zero, 0x10 | v1 = 0x10;
| if (v0 == v1) {
0x00036d60 beq v0, v1, 0x371e8 | goto label_51;
| }
0x00036d64 xori v0, v0, 0x14 | v0 ^= 0x14;
0x00036d68 addiu s4, zero, 8 | s4 = 8;
| if (v0 != 0) {
0x00036d6c movz s4, v1, v0 | s4 = v1;
| }
| label_16:
0x00036d70 lw t9, -0x7ab0(gp) | t9 = *((gp - 7852));
0x00036d74 lw a0, 0x2d0(s3) | a0 = *(s3);
0x00036d78 lw s5, 0x688(s1) | s5 = *((s1 + 418));
0x00036d7c lw s3, 0x4c(s3) | s3 = *((s3 + 19));
0x00036d80 jalr t9 | t9 ();
0x00036d84 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036d88 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00036d8c sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00036d90 lw t9, -0x7aac(gp) | t9 = *((gp - 7851));
0x00036d94 move a3, s4 | a3 = s4;
0x00036d98 addiu a2, s0, 8 | a2 = s0 + 8;
0x00036d9c move a1, s5 | a1 = s5;
0x00036da0 move a0, s1 | a0 = s1;
0x00036da4 jalr t9 | t9 ();
0x00036da8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036dac b 0x36a40 | goto label_1;
| label_21:
0x00036db0 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00036db4 addiu a1, zero, 2 | a1 = 2;
0x00036db8 move a0, s3 | a0 = s3;
0x00036dbc jalr t9 | t9 ();
0x00036dc0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036dc4 move v0, zero | v0 = 0;
0x00036dc8 b 0x36a40 | goto label_1;
| label_22:
0x00036dcc lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036dd0 addiu a2, zero, 0x12 | a2 = 0x12;
0x00036dd4 addiu a1, a1, 0x42e8 | a1 += 0x42e8;
0x00036dd8 move a0, s0 | a0 = s0;
0x00036ddc jalr t9 | t9 ();
0x00036de0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036de4 bnez v0, 0x37038 | goto label_52;
| }
0x00036de8 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x00036dec andi v0, v0, 0x10 | v0 &= 0x10;
0x00036df0 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
| if (v0 != 0) {
0x00036df4 bnez v0, 0x3684c | goto label_7;
| }
0x00036df8 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x00036dfc addiu a2, zero, 0x11 | a2 = 0x11;
0x00036e00 addiu a1, a1, -0x759c | a1 += -0x759c;
0x00036e04 move a0, s0 | a0 = s0;
0x00036e08 jalr t9 | t9 ();
0x00036e0c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036e10 beqz v0, 0x3684c | goto label_7;
| }
0x00036e14 lw v0, 0x4d4(s1) | v0 = *((s1 + 309));
0x00036e18 lw t9, -0x7aa8(gp) | t9 = *((gp - 7850));
| if (v0 == 0) {
0x00036e1c beqz v0, 0x3684c | goto label_7;
| }
0x00036e20 move a2, zero | a2 = 0;
0x00036e24 addiu a1, s0, 0x11 | a1 = s0 + 0x11;
0x00036e28 move a0, s1 | a0 = s1;
0x00036e2c jalr t9 | t9 ();
0x00036e30 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036e34 b 0x36a40 | goto label_1;
| label_23:
0x00036e38 lw t9, -0x7f40(gp) | t9 = *((gp - 8144));
0x00036e3c move v1, zero | v1 = 0;
0x00036e40 move v0, zero | v0 = 0;
0x00036e44 addiu s0, s0, 0xc | s0 += 0xc;
0x00036e48 move a0, s0 | a0 = s0;
0x00036e4c sw v1, 0x34(sp) | *(var_34h) = v1;
0x00036e50 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x00036e54 addiu a2, zero, 0xa | a2 = 0xa;
0x00036e58 move a1, zero | a1 = 0;
0x00036e5c sw v0, 0x30(sp) | *(var_30h) = v0;
0x00036e60 jalr t9 | t9 ();
0x00036e64 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00036e68 lw v1, 0x34(sp) | v1 = *(var_34h);
0x00036e6c or a0, v0, v1 | a0 = v0 | v1;
0x00036e70 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 == 0) {
0x00036e74 beqz a0, 0x36f18 | goto label_53;
| }
0x00036e78 sw v0, 0xbe0(s1) | *((s1 + 760)) = v0;
0x00036e7c sw v1, 0xbe4(s1) | *((s1 + 761)) = v1;
| label_9:
0x00036e80 move v0, zero | v0 = 0;
0x00036e84 b 0x36a40 | goto label_1;
| label_45:
0x00036e88 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
0x00036e8c addiu v1, zero, 0x197 | v1 = 0x197;
0x00036e90 addiu v0, v0, -0x12c | v0 += -aav.0x0000012c;
| if (v0 == v1) {
0x00036e94 bnel v0, v1, 0x36cd0 | goto label_8;
| }
0x00036e98 lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
| label_44:
0x00036e9c xori v0, v0, 0x197 | v0 ^= 0x197;
0x00036ea0 move a0, s0 | a0 = s0;
0x00036ea4 addiu t9, t9, 0x1a48 | t9 += 0x1a48;
0x00036ea8 sltiu s0, v0, 1 | s0 = (v0 < 1) ? 1 : 0;
0x00036eac bal 0x31a48 | fcn_00031a48 ();
0x00036eb0 move s3, v0 | s3 = v0;
0x00036eb4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036eb8 beqz v0, 0x37030 | goto label_14;
| }
0x00036ebc lw t9, -0x7f0c(gp) | t9 = *((gp - 8131));
0x00036ec0 move a0, s1 | a0 = s1;
0x00036ec4 move a2, v0 | a2 = v0;
0x00036ec8 move a1, s0 | a1 = s0;
0x00036ecc bal 0x3286c | fcn_0003286c ();
0x00036ed0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036ed4 move a0, s3 | a0 = s3;
| label_15:
0x00036ed8 lw v1, -0x7fcc(gp) | v1 = *((gp - 8179));
0x00036edc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00036ee0 lw t9, (v1) | t9 = *(v1);
0x00036ee4 jalr t9 | t9 ();
0x00036ee8 nop |
0x00036eec lw gp, 0x20(sp) | gp = *(var_20h);
0x00036ef0 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00036ef4 b 0x36a40 | goto label_1;
| label_29:
0x00036ef8 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00036efc lw v1, 0x34(sp) | v1 = *(var_34h);
0x00036f00 sw v0, 0x80(s1) | *((s1 + 32)) = v0;
0x00036f04 sw v0, 0x88(s1) | *((s1 + 34)) = v0;
0x00036f08 sw v1, 0x84(s1) | *((s1 + 33)) = v1;
0x00036f0c sw v1, 0x8c(s1) | *((s1 + 35)) = v1;
0x00036f10 move v0, zero | v0 = 0;
0x00036f14 b 0x36a40 | goto label_1;
| label_53:
0x00036f18 lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
0x00036f1c move a0, s0 | a0 = s0;
0x00036f20 bal 0x4c57c | fcn_0004c57c ();
0x00036f24 move s0, v0 | s0 = v0;
0x00036f28 addiu v0, zero, -1 | v0 = -1;
0x00036f2c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != v0) {
0x00036f30 bne s0, v0, 0x370fc | goto label_54;
| }
0x00036f34 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00036f38 lw v1, 0x34(sp) | v1 = *(var_34h);
0x00036f3c sw v0, 0xbe0(s1) | *((s1 + 760)) = v0;
0x00036f40 sw v1, 0xbe4(s1) | *((s1 + 761)) = v1;
0x00036f44 b 0x36e80 | goto label_9;
| label_36:
0x00036f48 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00036f4c move a1, zero | a1 = 0;
0x00036f50 move a0, s3 | a0 = s3;
0x00036f54 jalr t9 | t9 ();
0x00036f58 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036f5c move a0, s1 | a0 = s1;
0x00036f60 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x00036f64 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00036f68 addiu a1, a1, -0x7614 | a1 += -0x7614;
0x00036f6c bal 0x1a358 | fcn_0001a358 ();
0x00036f70 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036f74 move v0, zero | v0 = 0;
0x00036f78 b 0x36a40 | goto label_1;
| label_34:
0x00036f7c lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00036f80 addiu a1, zero, 1 | a1 = 1;
0x00036f84 move a0, s3 | a0 = s3;
0x00036f88 jalr t9 | t9 ();
0x00036f8c lw gp, 0x20(sp) | gp = *(var_20h);
0x00036f90 move a0, s1 | a0 = s1;
0x00036f94 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x00036f98 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00036f9c addiu a1, a1, -0x75e8 | a1 += -0x75e8;
0x00036fa0 bal 0x1a358 | fcn_0001a358 ();
0x00036fa4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00036fa8 move v0, zero | v0 = 0;
0x00036fac b 0x36a40 | goto label_1;
| label_28:
0x00036fb0 lw t9, -0x714c(gp) | t9 = *((gp - 7251));
0x00036fb4 move a1, s4 | a1 = s4;
0x00036fb8 addiu a0, a0, 0x4bac | a0 += 0x4bac;
0x00036fbc jalr t9 | t9 ();
0x00036fc0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00036fc4 bnez v0, 0x368d8 | goto label_10;
| }
0x00036fc8 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00036fcc lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x00036fd0 addiu a1, a1, 0x7f8c | a1 += 0x7f8c;
0x00036fd4 move a0, s4 | a0 = s4;
0x00036fd8 jalr t9 | t9 ();
0x00036fdc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00036fe0 beqz v0, 0x368d8 | goto label_10;
| }
0x00036fe4 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00036fe8 lw t9, -0x771c(gp) | t9 = *((gp - 7623));
0x00036fec addiu a1, a1, 0x7fa4 | a1 += 0x7fa4;
0x00036ff0 move a0, s4 | a0 = s4;
0x00036ff4 jalr t9 | t9 ();
0x00036ff8 sltiu s3, v0, 1 | s3 = (v0 < 1) ? 1 : 0;
0x00036ffc lw gp, 0x20(sp) | gp = *(var_20h);
0x00037000 b 0x368dc | goto label_11;
| label_49:
0x00037004 lw v0, 0x1a4(s3) | v0 = *(s3);
0x00037008 lw v0, 0x44(v0) | v0 = *((v0 + 17));
| label_50:
0x0003700c ext v0, v0, 0x12, 1 | __asm ("ext v0, v0, 0x12, 1");
| if (v0 == 0) {
0x00037010 beql v0, zero, 0x36a40 | goto label_1;
| }
0x00037014 move v0, zero | v0 = 0;
0x00037018 lw t9, -0x7aa4(gp) | t9 = *((gp - 7849));
0x0003701c move a1, s0 | a1 = s0;
0x00037020 move a0, s1 | a0 = s1;
0x00037024 bal 0x51fb0 | fcn_00051fb0 ();
0x00037028 lw gp, 0x20(sp) | gp = *(var_20h);
0x0003702c b 0x36a40 | goto label_1;
| label_14:
0x00037030 addiu v0, zero, 0x1b | v0 = 0x1b;
0x00037034 b 0x36a40 | goto label_1;
| label_52:
0x00037038 lw t9, -0x7aa8(gp) | t9 = *((gp - 7850));
0x0003703c addiu a2, zero, 1 | a2 = 1;
0x00037040 addiu a1, s0, 0x12 | a1 = s0 + 0x12;
0x00037044 move a0, s1 | a0 = s1;
0x00037048 jalr t9 | t9 ();
0x0003704c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00037050 bnez v0, 0x36a40 | goto label_1;
| }
0x00037054 lhu v1, 0x116(s1) | v1 = *((s1 + 139));
0x00037058 andi v1, v1, 0x20 | v1 &= 0x20;
0x0003705c move v0, zero | v0 = 0;
| if (v1 == 0) {
0x00037060 bnel v1, zero, 0x36a40 | goto label_1;
| }
0x00037064 lw v1, 0x678(s1) | v1 = *(s1);
0x00037068 andi v1, v1, 0x4000 | v1 &= 0x4000;
| if (v1 == 0) {
0x0003706c beql v1, zero, 0x36a40 | goto label_1;
| }
0x00037070 move v0, zero | v0 = 0;
0x00037074 lw t9, -0x7f10(gp) | t9 = *((gp - 8132));
0x00037078 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0003707c move a0, s3 | a0 = s3;
0x00037080 addiu a1, zero, 1 | a1 = 1;
0x00037084 jalr t9 | t9 ();
0x00037088 lhu v1, 0x116(s1) | v1 = *((s1 + 139));
0x0003708c addiu a0, zero, 1 | a0 = 1;
0x00037090 ins v1, a0, 6, 1 | __asm ("ins v1, a0, 6, 1");
0x00037094 lw gp, 0x20(sp) | gp = *(var_20h);
0x00037098 sh v1, 0x116(s1) | *((s1 + 139)) = v1;
0x0003709c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000370a0 b 0x36a40 | goto label_1;
| label_46:
0x000370a4 lw t9, -0x7744(gp) | t9 = *((gp - 7633));
0x000370a8 addiu a2, zero, 9 | a2 = 9;
0x000370ac addiu a1, a1, -0x7558 | a1 += -0x7558;
0x000370b0 move a0, s0 | a0 = s0;
0x000370b4 jalr t9 | t9 ();
0x000370b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000370bc beqz v0, 0x36cdc | goto label_12;
| }
0x000370c0 lw v0, 0xfc(s1) | v0 = *((s1 + 63));
0x000370c4 lw v0, 0x684(s1) | v0 = *(s1);
| if (v0 == 0) {
0x000370c8 bnel v0, zero, 0x36ce0 | goto label_13;
| }
0x000370cc lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
0x000370d0 addiu t9, t9, 0x1a48 | t9 += 0x1a48;
0x000370d4 move a0, s0 | a0 = s0;
0x000370d8 bal 0x31a48 | fcn_00031a48 ();
0x000370dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000370e0 beqz v0, 0x37030 | goto label_14;
| }
0x000370e4 lb v1, (v0) | v1 = *(v0);
0x000370e8 lw v1, 0x678(s1) | v1 = *(s1);
| if (v1 == 0) {
0x000370ec bnel v1, zero, 0x371f0 | goto label_55;
| }
0x000370f0 move a0, v0 | a0 = v0;
0x000370f4 move v0, zero | v0 = 0;
0x000370f8 b 0x36ed8 | goto label_15;
| label_54:
0x000370fc lw t9, -0x751c(gp) | t9 = *((gp - 7495));
0x00037100 move a0, zero | a0 = 0;
0x00037104 jalr t9 | t9 ();
0x00037108 subu v0, s0, v0 | __asm ("subu v0, s0, v0");
0x0003710c sra v1, v0, 0x1f | v1 = v0 >> 0x1f;
0x00037110 lw gp, 0x20(sp) | gp = *(var_20h);
0x00037114 sw v0, 0xbe0(s1) | *((s1 + 760)) = v0;
0x00037118 sw v1, 0xbe4(s1) | *((s1 + 761)) = v1;
0x0003711c b 0x36e80 | goto label_9;
| label_30:
0x00037120 lw t9, -0x7f24(gp) | t9 = *((gp - 8137));
0x00037124 addiu a1, a1, -0x7640 | a1 += -0x7640;
0x00037128 move a0, s1 | a0 = s1;
0x0003712c bal 0x1a234 | fcn_0001a234 ();
0x00037130 lw gp, 0x20(sp) | gp = *(var_20h);
0x00037134 addiu v0, zero, 8 | v0 = 8;
0x00037138 b 0x36a40 | goto label_1;
| label_39:
0x0003713c lw t9, -0x7f40(gp) | t9 = *((gp - 8144));
| label_41:
0x00037140 addiu a3, s1, 0xd0 | a3 = s1 + 0xd0;
0x00037144 addiu a2, zero, 0xa | a2 = 0xa;
0x00037148 move a1, zero | a1 = 0;
0x0003714c jalr t9 | t9 ();
0x00037150 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00037154 bnez v0, 0x369c8 | goto label_6;
| }
0x00037158 lw v1, 0xa88(s1) | v1 = *(s1);
0x0003715c lw v0, 0xd0(s1) | v0 = *((s1 + 52));
0x00037160 move v0, zero | v0 = 0;
| if (v1 != v0) {
0x00037164 bne v1, v0, 0x36a40 | goto label_1;
| }
0x00037168 lw v1, 0xa8c(s1) | v1 = *((s1 + 675));
0x0003716c lw v0, 0xd4(s1) | v0 = *((s1 + 53));
0x00037170 move v0, zero | v0 = 0;
| if (v1 == v0) {
0x00037174 bnel v1, v0, 0x36a40 | goto label_1;
| }
0x00037178 lhu v0, 0x116(s1) | v0 = *((s1 + 139));
0x0003717c addiu v1, zero, 1 | v1 = 1;
0x00037180 ins v0, v1, 1, 1 | __asm ("ins v0, v1, 1, 1");
0x00037184 sh v0, 0x116(s1) | *((s1 + 139)) = v0;
0x00037188 move v0, zero | v0 = 0;
0x0003718c b 0x36a40 | goto label_1;
| label_31:
0x00037190 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00037194 lw t9, -0x7f24(gp) | t9 = *((gp - 8137));
0x00037198 addiu a1, a1, 0x6a14 | a1 += 0x6a14;
0x0003719c move a0, s1 | a0 = s1;
0x000371a0 bal 0x1a234 | fcn_0001a234 ();
0x000371a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000371a8 addiu v0, zero, 0x3f | v0 = 0x3f;
0x000371ac b 0x36a40 | goto label_1;
| label_48:
0x000371b0 lw a1, 0x4c(s3) | a1 = *((s3 + 19));
0x000371b4 lw a0, 0x684(s1) | a0 = *(s1);
0x000371b8 addiu a2, s0, 0x1a | a2 = s0 + 0x1a;
0x000371bc bal 0x3025c | fcn_0003025c ();
0x000371c0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000371c4 beqz v0, 0x369c8 | goto label_6;
| }
0x000371c8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x000371cc lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x000371d0 addiu a1, a1, -0x7530 | a1 += -0x7530;
0x000371d4 move a0, s1 | a0 = s1;
0x000371d8 bal 0x1a358 | fcn_0001a358 ();
0x000371dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000371e0 move v0, zero | v0 = 0;
0x000371e4 b 0x36a40 | goto label_1;
| label_51:
0x000371e8 addiu s4, zero, 0x20 | s4 = 0x20;
0x000371ec b 0x36d70 | goto label_16;
| label_55:
0x000371f0 andi v1, v1, 0x2000 | v1 &= 0x2000;
0x000371f4 sw v0, 0xfc(s1) | *((s1 + 63)) = v0;
| if (v1 == 0) {
0x000371f8 beqz v1, 0x369c8 | goto label_6;
| }
0x000371fc move a0, v0 | a0 = v0;
0x00037200 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00037204 lw t9, (v0) | t9 = *(v0);
0x00037208 jalr t9 | t9 ();
0x0003720c nop |
0x00037210 lw gp, 0x20(sp) | gp = *(var_20h);
0x00037214 sw v0, 0x100(s1) | *(s1) = v0;
| if (v0 == 0) {
0x00037218 beqz v0, 0x37030 | goto label_14;
| }
0x0003721c lw t9, -0x7bec(gp) | t9 = *((gp - 7931));
0x00037220 move a1, s3 | a1 = s3;
0x00037224 addiu t9, t9, 0x12dc | t9 += 0x12dc;
0x00037228 move a0, s1 | a0 = s1;
0x0003722c bal 0x312dc | fcn_000312dc ();
0x00037230 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00037234 bnez v0, 0x36a40 | goto label_1;
| }
0x00037238 lw v1, 0xb98(s1) | v1 = *((s1 + 742));
0x0003723c addiu a0, zero, 1 | a0 = 1;
0x00037240 ins v1, a0, 1, 1 | __asm ("ins v1, a0, 1, 1");
0x00037244 sw v1, 0xb98(s1) | *((s1 + 742)) = v1;
0x00037248 b 0x36a40 | goto label_1;
| label_33:
0x0003724c lw t9, -0x7558(gp) | t9 = *((gp - 7510));
0x00037250 jalr t9 | t9 ();
0x00037254 nop |
| }
[*] Function mmap used 1 times libcurl.so.4.8.0