[*] Binary protection state of libuClibc-0.9.33.2.so
No RELRO Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of libuClibc-0.9.33.2.so
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x1adb8 */
| #include <stdint.h>
|
; (fcn) fcn.0001adb8 () | void fcn_0001adb8 () {
0x0001adb8 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0001adbc sw ra, 0x34(sp) | *(var_34h) = ra;
0x0001adc0 move s0, a1 | s0 = a1;
0x0001adc4 move a1, zero | a1 = 0;
0x0001adc8 move s1, a0 | s1 = a0;
0x0001adcc bal 0x2e930 | sym_fseeko ();
0x0001add0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x0001add4 bltz v0, 0x1ae1c |
0x0001add8 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0001addc lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0001ade0 lw a2, (s0) | a2 = *(s0);
0x0001ade4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ade8 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001adec lw a3, 4(s0) | a3 = *((s0 + 1));
0x0001adf0 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0001adf4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001adf8 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0001adfc move a0, s1 | a0 = s1;
0x0001ae00 addiu a1, a1, -0x7d60 | a1 += -0x7d60;
0x0001ae04 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001ae08 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0001ae0c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ae10 bal 0x2f830 | sym_fprintf ()
0x0001ae14 srl v0, v0, 0x1f | v0 >>= 0x1f;
0x0001ae18 b 0x1ae20 |
| } else {
0x0001ae1c addiu v0, zero, 1 | v0 = 1;
| }
0x0001ae20 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001ae24 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0001ae28 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0001ae2c addiu sp, sp, 0x38 |
0x0001ae30 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2999c */
| #include <stdint.h>
|
; (fcn) fcn.0002999c () | void fcn_0002999c () {
| label_2:
0x0002999c lui gp, 9 |
0x000299a0 addiu gp, gp, -0x42bc |
0x000299a4 addu gp, gp, t9 | gp += t9;
0x000299a8 addiu sp, sp, -0xb8 |
0x000299ac sw s7, 0xac(sp) | *(var_ach) = s7;
0x000299b0 lw s7, 0xc8(sp) | s7 = *(arg_c8h);
0x000299b4 sw s2, 0x98(sp) | *(var_98h) = s2;
0x000299b8 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x000299bc lw s2, (s7) | s2 = *(s7);
0x000299c0 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x000299c4 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000299c8 addiu t1, s2, 1 | t1 = s2 + 1;
0x000299cc sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x000299d0 sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x000299d4 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x000299d8 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x000299dc sw s1, 0x94(sp) | *(var_94h) = s1;
0x000299e0 sw s0, 0x90(sp) | *(var_90h) = s0;
0x000299e4 addu fp, a3, t1 | fp = a3 + t1;
0x000299e8 lbu v0, (fp) | v0 = *(fp);
0x000299ec addiu t2, zero, 0x27 | t2 = 0x27;
0x000299f0 move s4, a0 | s4 = a0;
0x000299f4 sw a1, 0xbc(sp) | *(arg_bch) = a1;
0x000299f8 sw a2, 0xc0(sp) | *(arg_c0h) = a2;
| if (v0 == t2) {
0x000299fc beq v0, t2, 0x2a1dc | goto label_10;
| }
0x00029a00 sltiu t2, v0, 0x28 | t2 = (v0 < 0x28) ? 1 : 0;
0x00029a04 move s6, a3 | s6 = a3;
| if (t2 != 0) {
0x00029a08 beqz t2, 0x29a28 |
0x00029a0c lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
| if (v0 == 0) {
0x00029a10 beqz v0, 0x2a1e0 | goto label_11;
| }
0x00029a14 addiu a0, zero, 0x22 | a0 = 0x22;
0x00029a18 sw t1, (s7) | *(s7) = t1;
| if (v0 == a0) {
0x00029a1c bnel v0, a0, 0x29c80 | goto label_12;
| }
0x00029a20 lw a0, (s4) | a0 = *(s4);
0x00029a24 b 0x2a1e4 | goto label_13;
| }
0x00029a28 addiu t2, zero, 0x28 | t2 = 0x28;
0x00029a2c addiu t2, zero, 0x5b | t2 = 0x5b;
| if (v0 != t2) {
0x00029a30 beq v0, t2, 0x29a44 |
0x00029a34 sw t1, (s7) | *(s7) = t1;
| if (v0 == t2) {
0x00029a38 bnel v0, t2, 0x29c80 | goto label_12;
| }
0x00029a3c lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x00029a40 b 0x29c50 | goto label_14;
| }
0x00029a44 addiu t1, s2, 2 | t1 = s2 + 2;
0x00029a48 addu a0, a3, t1 | a0 = a3 + t1;
0x00029a4c lbu a0, (a0) | a0 = *(a0);
0x00029a50 lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (a0 != v0) {
0x00029a54 bne a0, v0, 0x29ad8 | goto label_7;
| }
0x00029a58 addiu s2, s2, 3 | s2 += 3;
0x00029a5c move a1, s2 | a1 = s2;
0x00029a60 move v0, zero | v0 = 0;
0x00029a64 addiu a2, zero, 0x29 | a2 = 0x29;
0x00029a68 addiu t2, zero, 0x28 | t2 = 0x28;
0x00029a6c b 0x29a8c |
| while (v0 != 0) {
| label_0:
0x00029a70 xori a0, a0, 0x29 | a0 ^= 0x29;
| if (a0 == t2) {
0x00029a74 bne a0, t2, 0x29a80 |
0x00029a78 addiu v0, v0, 1 | v0++;
0x00029a7c b 0x29a88 |
| } else {
0x00029a80 sltiu a0, a0, 1 | a0 = (a0 < 1) ? 1 : 0;
0x00029a84 subu v0, v0, a0 | __asm ("subu v0, v0, a0");
| }
0x00029a88 addiu a1, a1, 1 | a1++;
0x00029a8c addu a3, s6, a1 | a3 = s6 + a1;
0x00029a90 lbu a0, (a3) | a0 = *(a3);
0x00029a94 lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (a0 == 0) {
0x00029a98 beqz a0, 0x29ad8 | goto label_7;
| }
0x00029a9c bnez v0, 0x29a70 |
| }
0x00029aa0 nop |
| if (a0 != a2) {
0x00029aa4 bne a0, a2, 0x29a70 | goto label_0;
| }
0x00029aa8 nop |
0x00029aac lbu v0, 1(a3) | v0 = *(var_1h_2);
0x00029ab0 b 0x2af6c | goto label_15;
| label_8:
0x00029ab4 sw s2, (s7) | *(s7) = s2;
0x00029ab8 move a0, s4 | a0 = s4;
0x00029abc sw s7, 0x10(sp) | *(var_10h) = s7;
0x00029ac0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00029ac4 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00029ac8 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x00029acc lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x00029ad0 move a3, s6 | a3 = s6;
0x00029ad4 b 0x29c68 | goto label_16;
| label_7:
0x00029ad8 andi a0, t9, 4 | a0 = t9 & 4;
0x00029adc addiu fp, zero, 4 | fp = 4;
| if (a0 != 0) {
0x00029ae0 bnez a0, 0x2af94 | goto label_17;
| }
0x00029ae4 lw v1, 0xd0(sp) | v1 = *(arg_d0h);
0x00029ae8 lw t9, 0xdc(sp) | t9 = *(arg_dch);
0x00029aec sw t1, (s7) | *(s7) = t1;
0x00029af0 sw zero, 0x60(sp) | *(var_60h) = 0;
| if (t9 == 0) {
0x00029af4 movn v1, zero, t9 | v1 = 0;
| }
0x00029af8 sw v1, 0xd0(sp) | *(arg_d0h) = v1;
0x00029afc sw zero, 0x64(sp) | *(var_64h) = 0;
0x00029b00 move s1, zero | s1 = 0;
0x00029b04 move s0, zero | s0 = 0;
0x00029b08 addiu s2, zero, 1 | s2 = 1;
0x00029b0c addiu s3, zero, 0x27 | s3 = 0x27;
0x00029b10 addiu s5, zero, 2 | s5 = 2;
0x00029b14 lw fp, -0x7fb4(gp) | fp = *((gp - 8173));
0x00029b18 b 0x29c20 |
| while (a3 != 0) {
0x00029b1c sltiu v0, a3, 0x28 | v0 = (a3 < 0x28) ? 1 : 0;
| if (a3 != s3) {
0x00029b20 beq a3, s3, 0x29b58 |
0x00029b24 addiu v0, zero, 0x28 | v0 = 0x28;
| if (v0 != 0) {
0x00029b28 beqz v0, 0x29b40 |
0x00029b2c addiu v0, zero, 0x22 | v0 = 0x22;
0x00029b30 move a0, s1 | a0 = s1;
| if (a3 != v0) {
0x00029b34 bne a3, v0, 0x29bf8 | goto label_18;
| }
0x00029b38 b 0x29b74 | goto label_19;
0x00029b3c nop |
| }
0x00029b40 addiu v0, zero, 0x29 | v0 = 0x29;
| if (a3 == v0) {
0x00029b44 beq a3, v0, 0x29bec | goto label_20;
| }
0x00029b48 move a0, s1 | a0 = s1;
| if (a3 != v0) {
0x00029b4c bne a3, v0, 0x29bf8 | goto label_18;
| }
0x00029b50 b 0x29b88 | goto label_21;
0x00029b54 nop |
| }
| if (s0 != 0) {
0x00029b58 beql s0, zero, 0x29bf4 |
0x00029b5c addiu s0, zero, 1 | s0 = 1;
0x00029b60 xori s0, s0, 1 | s0 ^= 1;
0x00029b64 move v0, s5 | v0 = s5;
| if (s0 != 0) {
0x00029b68 movz v0, zero, s0 | v0 = 0;
| }
0x00029b6c move s0, v0 | s0 = v0;
0x00029b70 b 0x29bf4 | goto label_22;
| if (s0 == 0) {
| label_19:
0x00029b74 beql s0, zero, 0x29bf4 | goto label_22;
| }
0x00029b78 addiu s0, zero, 2 | s0 = 2;
0x00029b7c xori s0, s0, 2 | s0 ^= 2;
0x00029b80 sltu s0, zero, s0 | s0 = (0 < s0) ? 1 : 0;
0x00029b84 b 0x29bf4 | goto label_22;
| label_21:
0x00029b88 move a0, s1 | a0 = s1;
| if (s0 != 0) {
0x00029b8c bnez s0, 0x29bf8 | goto label_18;
| }
0x00029b90 addiu s2, s2, -1 | s2 += -1;
0x00029b94 addiu a1, sp, 0x64 | a1 = sp + 0x64;
| if (s2 != 0) {
0x00029b98 bnez s2, 0x29bfc | goto label_23;
| }
0x00029b9c lw t9, 0xd0(sp) | t9 = *(arg_d0h);
| if (s1 == 0) {
0x00029ba0 beqz s1, 0x2af64 | goto label_24;
| }
0x00029ba4 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x00029ba8 lw a2, 0xbc(sp) | a2 = *(arg_bch);
0x00029bac sw t9, 0x14(sp) | *(var_14h) = t9;
0x00029bb0 lw t9, 0xd8(sp) | t9 = *(s2);
0x00029bb4 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00029bb8 lw v1, 0xd4(sp) | v1 = *(arg_d4h);
0x00029bbc sw t9, 0x1c(sp) | *(var_1ch) = t9;
0x00029bc0 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029bc4 lw a3, 0xc0(sp) | a3 = *(arg_c0h);
0x00029bc8 move a0, s1 | a0 = s1;
0x00029bcc sw v1, 0x18(sp) | *(var_18h) = v1;
0x00029bd0 addiu t9, t9, -0x7894 | t9 += -0x7894;
0x00029bd4 move a1, s4 | a1 = s4;
0x00029bd8 bal 0x2876c | fcn_0002876c ();
0x00029bdc move fp, v0 | fp = v0;
0x00029be0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00029be4 move a0, s1 | a0 = s1;
0x00029be8 b 0x2af50 | goto label_25;
| label_20:
0x00029bec sltiu v0, s0, 1 | v0 = (s0 < 1) ? 1 : 0;
0x00029bf0 addu s2, s2, v0 | s2 += v0;
| }
| label_22:
0x00029bf4 move a0, s1 | a0 = s1;
| label_18:
0x00029bf8 addiu a1, sp, 0x64 | a1 = sp + 0x64;
| label_23:
0x00029bfc addiu t9, fp, -0x7d70 | t9 = fp + -0x7d70;
0x00029c00 addiu a2, sp, 0x60 | a2 = sp + 0x60;
0x00029c04 bal 0x28290 | fcn_00028290 ();
0x00029c08 move s1, v0 | s1 = v0;
0x00029c0c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029c10 beqz v0, 0x29c48 | goto label_26;
| }
0x00029c14 lw v0, (s7) | v0 = *(s7);
0x00029c18 addiu v0, v0, 1 | v0++;
0x00029c1c sw v0, (s7) | *(s7) = v0;
0x00029c20 lw v0, (s7) | v0 = *(s7);
0x00029c24 addu v0, s6, v0 | v0 = s6 + v0;
0x00029c28 lbu a3, (v0) | a3 = *(v0);
0x00029c2c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x00029c30 bnez a3, 0x29b1c |
| }
0x00029c34 move a0, s1 | a0 = s1;
0x00029c38 addiu fp, zero, 5 | fp = 5;
0x00029c3c jalr t9 | t9 ();
0x00029c40 lw ra, 0xb4(sp) | ra = *(var_b4h);
0x00029c44 b 0x2af98 | goto label_27;
| label_26:
0x00029c48 addiu fp, zero, 1 | fp = 1;
0x00029c4c b 0x2af94 | goto label_17;
| label_14:
0x00029c50 addiu s2, s2, 2 | s2 += 2;
0x00029c54 addiu v0, zero, 1 | v0 = 1;
0x00029c58 sw s2, (s7) | *(s7) = s2;
0x00029c5c sw s7, 0x10(sp) | *(var_10h) = s7;
0x00029c60 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00029c64 sw v0, 0x18(sp) | *(var_18h) = v0;
| label_16:
0x00029c68 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029c6c addiu t9, t9, -0x6a64 | t9 += -0x6a64;
0x00029c70 bal 0x2959c | fcn_0002959c ();
0x00029c74 nop |
0x00029c78 move fp, v0 | fp = v0;
0x00029c7c b 0x2af94 | goto label_17;
| label_12:
0x00029c80 lbu s0, (fp) | s0 = *(fp);
0x00029c84 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00029c88 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00029c8c xori s0, s0, 0x7b | s0 ^= 0x7b;
0x00029c90 sltiu s0, s0, 1 | s0 = (s0 < 1) ? 1 : 0;
0x00029c94 sw zero, 0x70(sp) | *(var_70h) = 0;
0x00029c98 sw zero, 0x74(sp) | *(var_74h) = 0;
| if (s0 != 0) {
0x00029c9c beqz s0, 0x29ca8 |
0x00029ca0 addiu v0, s2, 2 | v0 = s2 + 2;
0x00029ca4 sw v0, (s7) | *(s7) = v0;
| }
0x00029ca8 lw v0, (s7) | v0 = *(s7);
0x00029cac sw zero, 0x80(sp) | *(var_80h) = 0;
0x00029cb0 addu a0, s6, v0 | a0 = s6 + v0;
0x00029cb4 lbu a1, (a0) | a1 = *(a0);
0x00029cb8 addiu a0, zero, 0x23 | a0 = 0x23;
0x00029cbc lw v0, (s7) | v0 = *(s7);
| if (a1 != a0) {
0x00029cc0 bnel a1, a0, 0x29cdc |
0x00029cc4 addiu t9, zero, 1 | t9 = 1;
| if (s0 == 0) {
0x00029cc8 beqz s0, 0x2a144 | goto label_28;
| }
0x00029ccc addiu v0, v0, 1 | v0++;
0x00029cd0 sw v0, (s7) | *(s7) = v0;
0x00029cd4 sw t9, 0x80(sp) | *(var_80h) = t9;
0x00029cd8 lw v0, (s7) | v0 = *(s7);
| }
0x00029cdc addu v0, s6, v0 | v0 = s6 + v0;
0x00029ce0 lbu s1, (v0) | s1 = *(v0);
0x00029ce4 lw v0, -0x7f74(gp) | v0 = *((gp - 8157));
0x00029ce8 sll a0, s1, 1 | a0 = s1 << 1;
0x00029cec lw a1, (v0) | a1 = *(v0);
0x00029cf0 addu a0, a1, a0 | a0 = a1 + a0;
0x00029cf4 lhu a0, (a0) | a0 = *(a0);
0x00029cf8 andi a1, a0, 4 | a1 = a0 & 4;
0x00029cfc andi a1, a1, 0xffff | a1 &= 0xffff;
0x00029d00 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| if (a1 == 0) {
0x00029d04 bnez a1, 0x29d18 |
0x00029d08 addiu a1, zero, 0x5f | a1 = 0x5f;
0x00029d0c andi a0, a0, 8 | a0 &= 8;
| if (s1 != a1) {
0x00029d10 bne s1, a1, 0x29d9c | goto label_29;
| }
0x00029d14 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| }
0x00029d18 lw t1, -0x7f74(gp) | t1 = *((gp - 8157));
0x00029d1c move s3, zero | s3 = 0;
0x00029d20 addiu s1, zero, 0x5f | s1 = 0x5f;
0x00029d24 lw v0, (s7) | v0 = *(s7);
| do {
| label_1:
0x00029d28 move a0, s3 | a0 = s3;
0x00029d2c addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029d30 addu v0, s6, v0 | v0 = s6 + v0;
0x00029d34 lbu a3, (v0) | a3 = *(v0);
0x00029d38 addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029d3c addiu t9, s5, -0x7d70 | t9 = s5 + -0x7d70;
0x00029d40 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x00029d44 bal 0x28290 | fcn_00028290 ();
0x00029d48 move s3, v0 | s3 = v0;
0x00029d4c lw gp, 0x28(sp) | gp = *(var_28h);
0x00029d50 lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x00029d54 beqz v0, 0x2af30 | goto label_30;
| }
0x00029d58 lw v0, (s7) | v0 = *(s7);
0x00029d5c lw a1, (t1) | a1 = *(t1);
0x00029d60 addiu v0, v0, 1 | v0++;
0x00029d64 sw v0, (s7) | *(s7) = v0;
0x00029d68 addu v0, s6, v0 | v0 = s6 + v0;
0x00029d6c lbu v0, (v0) | v0 = *(v0);
0x00029d70 sll a0, v0, 1 | a0 = v0 << 1;
0x00029d74 addu a0, a1, a0 | a0 = a1 + a0;
0x00029d78 lhu a0, (a0) | a0 = *(a0);
0x00029d7c andi a0, a0, 0x800 | a0 &= aav.0x00000800;
0x00029d80 andi a0, a0, 0xffff | a0 &= 0xffff;
0x00029d84 lw v0, (s7) | v0 = *(s7);
0x00029d88 bnel a0, zero, 0x29d28 |
| } while (a0 == 0);
| if (v0 == s1) {
0x00029d8c beql v0, s1, 0x29d28 | goto label_1;
| }
0x00029d90 lw v0, (s7) | v0 = *(s7);
0x00029d94 move t2, zero | t2 = 0;
0x00029d98 b 0x29e94 | goto label_31;
| label_29:
0x00029d9c andi a0, a0, 0xffff | a0 &= 0xffff;
0x00029da0 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
| if (a0 == 0) {
0x00029da4 beqz a0, 0x29e24 | goto label_32;
| }
0x00029da8 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
0x00029dac move s3, zero | s3 = 0;
0x00029db0 move s1, v0 | s1 = v0;
0x00029db4 lw v0, (s7) | v0 = *(s7);
| do {
0x00029db8 move a0, s3 | a0 = s3;
0x00029dbc addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029dc0 addu v0, s6, v0 | v0 = s6 + v0;
0x00029dc4 lbu a3, (v0) | a3 = *(v0);
0x00029dc8 addiu t9, s5, -0x7d70 | t9 = s5 + -0x7d70;
0x00029dcc addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029dd0 bal 0x28290 | fcn_00028290 ();
0x00029dd4 move s3, v0 | s3 = v0;
0x00029dd8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029ddc beqz v0, 0x2af30 | goto label_30;
| }
0x00029de0 addiu t2, zero, 1 | t2 = 1;
| if (s0 == 0) {
0x00029de4 beqz s0, 0x2a160 | goto label_33;
| }
0x00029de8 lw v0, (s7) | v0 = *(s7);
0x00029dec lw a0, (s1) | a0 = *(s1);
0x00029df0 addiu v0, v0, 1 | v0++;
0x00029df4 sw v0, (s7) | *(s7) = v0;
0x00029df8 addu v0, s6, v0 | v0 = s6 + v0;
0x00029dfc lbu v0, (v0) | v0 = *(v0);
0x00029e00 sll v0, v0, 1 | v0 <<= 1;
0x00029e04 addu v0, a0, v0 | v0 = a0 + v0;
0x00029e08 lhu v0, (v0) | v0 = *(v0);
0x00029e0c andi v0, v0, 8 | v0 &= 8;
0x00029e10 andi v0, v0, 0xffff | v0 &= 0xffff;
0x00029e14 lw v0, (s7) | v0 = *(s7);
0x00029e18 bnez v0, 0x29db8 |
| } while (v0 != 0);
0x00029e1c b 0x29ea0 | goto label_34;
0x00029e20 nop |
| label_32:
0x00029e24 lw t9, -0x7f90(gp) | t9 = *((gp - 8164));
0x00029e28 move a1, s1 | a1 = s1;
0x00029e2c addiu a0, a0, -0x71a0 | a0 += -0x71a0;
0x00029e30 bal 0x3b3e0 | sym_index ();
0x00029e34 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00029e38 beqz v0, 0x29e78 |
0x00029e3c lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029e40 move a0, zero | a0 = 0;
0x00029e44 addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029e48 addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029e4c addiu t9, t9, -0x7d70 | t9 += -0x7d70;
0x00029e50 move a3, s1 | a3 = s1;
0x00029e54 bal 0x28290 | fcn_00028290 ();
0x00029e58 move s3, v0 | s3 = v0;
0x00029e5c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029e60 beqz v0, 0x2af30 | goto label_30;
| }
0x00029e64 lw v0, (s7) | v0 = *(s7);
0x00029e68 addiu t2, zero, 1 | t2 = 1;
0x00029e6c addiu v0, v0, 1 | v0++;
0x00029e70 sw v0, (s7) | *(s7) = v0;
0x00029e74 b 0x29e94 |
| } else {
0x00029e78 addiu fp, zero, 5 | fp = 5;
| if (s0 == 0) {
0x00029e7c bnel s0, zero, 0x2af34 | goto label_35;
| }
0x00029e80 move t2, zero | t2 = 0;
0x00029e84 move s3, zero | s3 = 0;
0x00029e88 move s5, zero | s5 = 0;
0x00029e8c move s1, zero | s1 = 0;
0x00029e90 b 0x2a134 | goto label_36;
| }
| label_31:
0x00029e94 move s5, zero | s5 = 0;
| if (s0 == 0) {
0x00029e98 beqz s0, 0x2a12c | goto label_37;
| }
0x00029e9c lw v0, (s7) | v0 = *(s7);
| label_34:
0x00029ea0 addu a0, s6, v0 | a0 = s6 + v0;
0x00029ea4 lbu s1, (a0) | s1 = *(a0);
0x00029ea8 addiu a0, zero, 0x2d | a0 = 0x2d;
0x00029eac sltiu a0, s1, 0x2e | a0 = (s1 < 0x2e) ? 1 : 0;
| if (s1 != a0) {
0x00029eb0 beq s1, a0, 0x29f90 |
0x00029eb4 addiu a0, zero, 0x3d | a0 = 0x3d;
| if (a0 != 0) {
0x00029eb8 beqz a0, 0x29ee0 |
0x00029ebc addiu a0, zero, 0x25 | a0 = 0x25;
0x00029ec0 addiu a0, zero, 0x2b | a0 = 0x2b;
| if (s1 == a0) {
0x00029ec4 beq s1, a0, 0x29f38 | goto label_38;
| }
0x00029ec8 addiu a0, zero, 0x23 | a0 = 0x23;
| if (s1 == a0) {
0x00029ecc beq s1, a0, 0x29f90 | goto label_39;
| }
0x00029ed0 addiu fp, zero, 5 | fp = 5;
| if (s1 == a0) {
0x00029ed4 bnel s1, a0, 0x2af14 | goto label_40;
| }
0x00029ed8 addiu v0, v0, 1 | v0++;
0x00029edc b 0x29f1c |
| } else {
0x00029ee0 sltiu a0, s1, 0x3e | a0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 == a0) {
0x00029ee4 beq s1, a0, 0x29f90 | goto label_39;
| }
| if (a0 != 0) {
0x00029ee8 beql a0, zero, 0x29f04 |
0x00029eec addiu v0, zero, 0x3f | v0 = 0x3f;
0x00029ef0 addiu a0, zero, 0x3a | a0 = 0x3a;
0x00029ef4 addiu fp, zero, 5 | fp = 5;
| if (s1 == a0) {
0x00029ef8 bnel s1, a0, 0x2af14 | goto label_40;
| }
0x00029efc addiu s1, v0, 1 | s1 = v0 + 1;
0x00029f00 b 0x29f58 | goto label_41;
| }
0x00029f04 addiu v0, zero, 0x7d | v0 = 0x7d;
| if (s1 == v0) {
0x00029f08 beq s1, v0, 0x29f90 | goto label_39;
| }
0x00029f0c addiu fp, zero, 5 | fp = 5;
| if (s1 == v0) {
0x00029f10 bnel s1, v0, 0x2af14 | goto label_40;
| }
0x00029f14 move s5, zero | s5 = 0;
0x00029f18 b 0x2a164 | goto label_42;
| }
0x00029f1c addu a0, s6, v0 | a0 = s6 + v0;
0x00029f20 lbu a0, (a0) | a0 = *(a0);
0x00029f24 move s5, zero | s5 = 0;
| if (a0 == s1) {
0x00029f28 bne a0, s1, 0x29f98 |
0x00029f2c sw v0, (s7) | *(s7) = v0;
0x00029f30 addiu s1, zero, 0x4c | s1 = 0x4c;
0x00029f34 b 0x29fa4 | goto label_43;
| label_38:
0x00029f38 addiu v0, v0, 1 | v0++;
0x00029f3c addu a0, s6, v0 | a0 = s6 + v0;
0x00029f40 lbu a0, (a0) | a0 = *(a0);
0x00029f44 move s5, zero | s5 = 0;
| if (a0 == s1) {
0x00029f48 bne a0, s1, 0x29fa0 |
0x00029f4c sw v0, (s7) | *(s7) = v0;
0x00029f50 addiu s1, zero, 0x52 | s1 = 0x52;
0x00029f54 b 0x29fa4 | goto label_43;
| label_41:
0x00029f58 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x00029f5c addu s0, s6, s1 | s0 = s6 + s1;
0x00029f60 lbu a1, (s0) | a1 = *(s0);
0x00029f64 lw t9, -0x7f90(gp) | t9 = *((gp - 8164));
0x00029f68 sw t2, 0x88(sp) | *(var_88h) = t2;
0x00029f6c addiu a0, a0, -0x719c | a0 += -0x719c;
0x00029f70 bal 0x3b3e0 | sym_index ();
0x00029f74 lw gp, 0x28(sp) | gp = *(var_28h);
0x00029f78 lw t2, 0x88(sp) | t2 = *(var_88h);
| if (v0 == 0) {
0x00029f7c beqz v0, 0x2af10 | goto label_44;
| }
0x00029f80 sw s1, (s7) | *(s7) = s1;
0x00029f84 lbu s1, (s0) | s1 = *(s0);
0x00029f88 addiu s5, zero, 1 | s5 = 1;
0x00029f8c b 0x29fa4 |
| label_39:
0x00029f90 move s5, zero | s5 = 0;
0x00029f94 b 0x29fa4 |
0x00029f98 addiu s1, zero, 0x23 | s1 = 0x23;
0x00029f9c b 0x29fa4 |
| } else {
| } else {
| } else {
0x00029fa0 addiu s1, zero, 0x25 | s1 = 0x25;
| }
| }
| }
| label_43:
0x00029fa4 lw v0, (s7) | v0 = *(s7);
0x00029fa8 move t1, zero | t1 = 0;
0x00029fac move t3, zero | t3 = 0;
0x00029fb0 addiu v0, v0, 1 | v0++;
0x00029fb4 sw v0, (s7) | *(s7) = v0;
0x00029fb8 move s0, zero | s0 = 0;
0x00029fbc b 0x2a110 |
| if (v0 != v1) {
| while (v0 != 0) {
0x00029fc0 beq v0, v1, 0x2a02c |
0x00029fc4 nop |
0x00029fc8 sltiu a0, v0, 0x5d | a0 = (v0 < 0x5d) ? 1 : 0;
0x00029fcc addiu t9, zero, 0x7b | t9 = 0x7b;
| if (a0 != 0) {
0x00029fd0 beqz a0, 0x29ff0 |
0x00029fd4 addiu a0, zero, 0x22 | a0 = 0x22;
0x00029fd8 addiu a0, zero, 0x27 | a0 = 0x27;
| if (v0 == a0) {
0x00029fdc beq v0, a0, 0x2a0ac | goto label_45;
| }
0x00029fe0 lw v0, (s7) | v0 = *(s7);
| if (v0 == a0) {
0x00029fe4 bnel v0, a0, 0x2a0c0 | goto label_46;
| }
0x00029fe8 b 0x2a090 | goto label_47;
0x00029fec nop |
| }
0x00029ff0 addiu a0, zero, 0x7d | a0 = 0x7d;
| if (v0 != t9) {
0x00029ff4 beq v0, t9, 0x2a008 |
0x00029ff8 lw v0, (s7) | v0 = *(s7);
| if (v0 == a0) {
0x00029ffc bnel v0, a0, 0x2a0c0 | goto label_46;
| }
0x0002a000 b 0x2a014 | goto label_48;
0x0002a004 nop |
| }
0x0002a008 sltiu v0, t1, 1 | v0 = (t1 < 1) ? 1 : 0;
0x0002a00c addu t3, t3, v0 | t3 += v0;
0x0002a010 b 0x2a0bc | goto label_49;
| label_48:
0x0002a014 lw v0, (s7) | v0 = *(s7);
| if (t1 == 0) {
0x0002a018 bnel t1, zero, 0x2a0c0 | goto label_46;
| }
0x0002a01c addiu t3, t3, -1 | t3 += -1;
| if (t3 == 0) {
0x0002a020 beqz t3, 0x2a16c | goto label_50;
| }
0x0002a024 lw v0, (s7) | v0 = *(s7);
0x0002a028 b 0x2a0c0 |
| } else {
0x0002a02c lw v0, (s7) | v0 = *(s7);
| if (t1 == 0) {
0x0002a030 bnel t1, zero, 0x2a0c0 | goto label_46;
| }
0x0002a034 addiu a0, a0, 1 | a0++;
0x0002a038 sw a0, (s7) | *(s7) = a0;
0x0002a03c addu a0, s6, a0 | a0 = s6 + a0;
0x0002a040 lbu v0, (a0) | v0 = *(a0);
0x0002a044 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
| if (v0 == 0) {
0x0002a048 beqz v0, 0x2af1c | goto label_51;
| }
0x0002a04c move a0, s0 | a0 = s0;
0x0002a050 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a054 sw t2, 0x88(sp) | *(var_88h) = t2;
0x0002a058 sw t3, 0x84(sp) | *(var_84h) = t3;
0x0002a05c addiu a1, sp, 0x74 | a1 = sp + 0x74;
0x0002a060 addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x0002a064 addiu t9, v0, -0x7d70 | t9 = v0 + -0x7d70;
0x0002a068 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a06c bal 0x28290 | fcn_00028290 ();
0x0002a070 move s0, v0 | s0 = v0;
0x0002a074 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a078 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a07c lw t2, 0x88(sp) | t2 = *(var_88h);
0x0002a080 lw t3, 0x84(sp) | t3 = *(var_84h);
| if (v0 == 0) {
0x0002a084 bnez v0, 0x2a0bc |
0x0002a088 addiu fp, zero, 1 | fp = 1;
0x0002a08c b 0x2af3c | goto label_52;
| if (t1 == 0) {
| label_47:
0x0002a090 beql t1, zero, 0x2a0bc | goto label_49;
| }
0x0002a094 addiu t1, zero, 1 | t1 = 1;
0x0002a098 xori t1, t1, 1 | t1 ^= 1;
0x0002a09c addiu v0, zero, 2 | v0 = 2;
| if (t1 != 0) {
0x0002a0a0 movz v0, zero, t1 | v0 = 0;
| }
0x0002a0a4 move t1, v0 | t1 = v0;
0x0002a0a8 b 0x2a0bc | goto label_49;
| if (t1 == 0) {
| label_45:
0x0002a0ac beql t1, zero, 0x2a0bc | goto label_49;
| }
0x0002a0b0 addiu t1, zero, 2 | t1 = 2;
0x0002a0b4 xori t1, t1, 2 | t1 ^= 2;
0x0002a0b8 sltu t1, zero, t1 | t1 = (0 < t1) ? 1 : 0;
| }
| label_49:
0x0002a0bc lw v0, (s7) | v0 = *(s7);
| }
| label_46:
0x0002a0c0 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a0c4 move a0, s0 | a0 = s0;
0x0002a0c8 addu v0, s6, v0 | v0 = s6 + v0;
0x0002a0cc lbu a3, (v0) | a3 = *(v0);
0x0002a0d0 addiu a1, sp, 0x74 | a1 = sp + 0x74;
0x0002a0d4 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a0d8 sw t2, 0x88(sp) | *(var_88h) = t2;
0x0002a0dc sw t3, 0x84(sp) | *(var_84h) = t3;
0x0002a0e0 addiu t9, v1, -0x7d70 | t9 = v1 + -0x7d70;
0x0002a0e4 addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x0002a0e8 bal 0x28290 | fcn_00028290 ();
0x0002a0ec move s0, v0 | s0 = v0;
0x0002a0f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a0f4 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a0f8 lw t2, 0x88(sp) | t2 = *(var_88h);
0x0002a0fc lw t3, 0x84(sp) | t3 = *(var_84h);
| if (v0 == 0) {
0x0002a100 beqz v0, 0x2af24 | goto label_53;
| }
0x0002a104 lw v0, (s7) | v0 = *(s7);
0x0002a108 addiu v0, v0, 1 | v0++;
0x0002a10c sw v0, (s7) | *(s7) = v0;
0x0002a110 lw a0, (s7) | a0 = *(s7);
0x0002a114 addu v0, s6, a0 | v0 = s6 + a0;
0x0002a118 lbu v0, (v0) | v0 = *(v0);
0x0002a11c addiu v1, zero, 0x5c | v1 = 0x5c;
0x0002a120 bnez v0, 0x29fc0 |
| }
0x0002a124 lw v0, (s7) | v0 = *(s7);
0x0002a128 b 0x2a138 | goto label_54;
| label_37:
0x0002a12c move s1, zero | s1 = 0;
0x0002a130 move s0, zero | s0 = 0;
| label_36:
0x0002a134 lw v0, (s7) | v0 = *(s7);
| label_54:
0x0002a138 addiu v0, v0, -1 | v0 += -1;
0x0002a13c sw v0, (s7) | *(s7) = v0;
0x0002a140 b 0x2a16c | goto label_50;
| label_28:
0x0002a144 move t2, zero | t2 = 0;
0x0002a148 sw t9, 0x80(sp) | *(var_80h) = t9;
0x0002a14c move s5, zero | s5 = 0;
0x0002a150 move s1, zero | s1 = 0;
0x0002a154 move s0, zero | s0 = 0;
0x0002a158 move s3, zero | s3 = 0;
0x0002a15c b 0x2a16c | goto label_50;
| label_33:
0x0002a160 move s5, zero | s5 = 0;
| label_42:
0x0002a164 move s1, zero | s1 = 0;
0x0002a168 move s0, zero | s0 = 0;
| label_50:
0x0002a16c lbu a0, (fp) | a0 = *(fp);
0x0002a170 addiu v0, zero, 0x7b | v0 = 0x7b;
0x0002a174 addiu a0, zero, 0x7d | a0 = 0x7d;
| if (a0 == v0) {
0x0002a178 bne a0, v0, 0x2a190 |
0x0002a17c lw v0, (s7) | v0 = *(s7);
0x0002a180 addu t0, s6, v0 | t0 = s6 + v0;
0x0002a184 lbu a1, (t0) | a1 = *(t0);
0x0002a188 addiu fp, zero, 5 | fp = 5;
| if (a1 != a0) {
0x0002a18c bne a1, a0, 0x2af3c | goto label_52;
| }
| }
0x0002a190 lw v1, -0x7f74(gp) | v1 = *((gp - 8157));
| if (s3 == 0) {
0x0002a194 bnez s3, 0x2a204 |
0x0002a198 lw v1, 0x80(sp) | v1 = *(var_80h);
0x0002a19c lw v0, -0x7f6c(gp) | v0 = *((gp - 8155));
| if (v1 != 0) {
0x0002a1a0 beqz v1, 0x2a1d8 |
0x0002a1a4 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002a1a8 lw t9, -0x7f70(gp) | t9 = *((gp - 8156));
0x0002a1ac lw a2, (v0) | a2 = *(v0);
0x0002a1b0 sb zero, 0x5c(sp) | *(s) = 0;
0x0002a1b4 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a1b8 addiu a2, a2, -1 | a2 += -1;
0x0002a1bc addiu a1, a1, -0x71a8 | a1 += -0x71a8;
0x0002a1c0 sra a3, a2, 0x1f | a3 = a2 >> 0x1f;
0x0002a1c4 bal 0x2f930 | sym_sprintf ();
0x0002a1c8 move s2, zero | s2 = 0;
0x0002a1cc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a1d0 sw zero, 0x80(sp) | *(var_80h) = 0;
0x0002a1d4 b 0x2a294 | goto label_55;
| }
0x0002a1d8 sw s2, (s7) | *(s7) = s2;
| label_10:
0x0002a1dc lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
| label_11:
0x0002a1e0 lw a0, (s4) | a0 = *(s4);
| label_13:
0x0002a1e4 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a1e8 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a1ec addiu t9, t9, -0x7d70 | t9 += -0x7d70;
0x0002a1f0 addiu a3, zero, 0x24 | a3 = 0x24;
0x0002a1f4 bal 0x28290 | fcn_00028290 ();
0x0002a1f8 sw v0, (s4) | *(s4) = v0;
| label_4:
0x0002a1fc sltiu fp, v0, 1 | fp = (v0 < 1) ? 1 : 0;
0x0002a200 b 0x2af94 | goto label_17;
| }
0x0002a204 lbu v0, (s3) | v0 = *(s3);
0x0002a208 lw a0, (v1) | a0 = *(v1);
0x0002a20c sll v1, v0, 1 | v1 = v0 << 1;
0x0002a210 addu v1, a0, v1 | v1 = a0 + v1;
0x0002a214 lhu v1, (v1) | v1 = *(v1);
0x0002a218 andi v1, v1, 8 | v1 &= 8;
0x0002a21c andi v1, v1, 0xffff | v1 &= 0xffff;
0x0002a220 lw t9, -0x7f68(gp) | t9 = *((gp - 8154));
| if (v1 != 0) {
0x0002a224 beqz v1, 0x2a250 |
0x0002a228 move a0, s3 | a0 = s3;
0x0002a22c jalr t9 | t9 ();
0x0002a230 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a234 lw v1, -0x7f6c(gp) | v1 = *((gp - 8155));
0x0002a238 lw v1, (v1) | v1 = *(v1);
0x0002a23c slt v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
| if (v1 == 0) {
0x0002a240 beql v1, zero, 0x2a55c | goto label_56;
| }
0x0002a244 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002a248 lw v1, -0x7f64(gp) | v1 = *((gp - 8153));
0x0002a24c b 0x2a514 | goto label_57;
| }
0x0002a250 addiu v1, zero, 0x24 | v1 = 0x24;
| if (t2 == 0) {
0x0002a254 beqz t2, 0x2a53c | goto label_58;
| }
0x0002a258 addiu v1, zero, 0x2a | v1 = 0x2a;
| if (v0 == v1) {
0x0002a25c bne v0, v1, 0x2a29c |
0x0002a260 lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
0x0002a264 sb zero, 0x5c(sp) | *(s) = 0;
0x0002a268 move s2, zero | s2 = 0;
0x0002a26c jalr t9 | t9 ();
0x0002a270 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a274 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a278 move a2, v0 | a2 = v0;
0x0002a27c lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002a280 lw t9, -0x7f70(gp) | t9 = *((gp - 8156));
0x0002a284 sra a3, v0, 0x1f | a3 = v0 >> 0x1f;
0x0002a288 addiu a1, a1, -0x71a8 | a1 += -0x71a8;
0x0002a28c bal 0x2f930 | sym_sprintf ();
0x0002a290 lw gp, 0x28(sp) | gp = *(var_28h);
| label_55:
0x0002a294 addiu s6, sp, 0x5c | s6 = sp + 0x5c;
0x0002a298 b 0x2a570 | goto label_59;
| }
0x0002a29c addiu v1, zero, 0x40 | v1 = 0x40;
| if (v0 != v1) {
0x0002a2a0 beq v0, v1, 0x2a2ac |
0x0002a2a4 lw v0, -0x7f6c(gp) | v0 = *((gp - 8155));
| if (v0 == v1) {
0x0002a2a8 bnel v0, v1, 0x2a42c | goto label_60;
| }
| }
0x0002a2ac lw t9, 0x80(sp) | t9 = *(var_80h);
0x0002a2b0 addiu a0, zero, 0x2a | a0 = 0x2a;
| if (t9 != 0) {
0x0002a2b4 beqz t9, 0x2a334 |
0x0002a2b8 lw v0, -0x7f6c(gp) | v0 = *((gp - 8155));
0x0002a2bc sb zero, 0x5c(sp) | *(s) = 0;
0x0002a2c0 lw v0, (v0) | v0 = *(v0);
| if (v0 > 0) {
0x0002a2c4 blezl v0, 0x2a2dc |
0x0002a2c8 move a2, zero | a2 = 0;
0x0002a2cc addiu v0, v0, -1 | v0 += -1;
0x0002a2d0 move a2, v0 | a2 = v0;
0x0002a2d4 sra a3, v0, 0x1f | a3 = v0 >> 0x1f;
0x0002a2d8 b 0x2a2e0 |
| } else {
0x0002a2dc move a3, zero | a3 = 0;
| }
0x0002a2e0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002a2e4 lw t9, -0x7f70(gp) | t9 = *((gp - 8156));
0x0002a2e8 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a2ec addiu a1, a1, -0x71a8 | a1 += -0x71a8;
0x0002a2f0 bal 0x2f930 | sym_sprintf ();
0x0002a2f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a2f8 lw a0, (s4) | a0 = *(s4);
0x0002a2fc lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a300 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002a304 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a308 addiu t9, t9, -0x79c8 | t9 += -0x79c8;
0x0002a30c addiu a3, sp, 0x5c | a3 = sp + 0x5c;
0x0002a310 bal 0x28638 | fcn_00028638 ();
0x0002a314 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a318 move a0, s3 | a0 = s3;
0x0002a31c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002a320 sw v0, (s4) | *(s4) = v0;
0x0002a324 jalr t9 | t9 ();
0x0002a328 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a32c move a0, s0 | a0 = s0;
0x0002a330 b 0x2ad94 | goto label_61;
| }
0x0002a334 addiu s7, zero, 1 | s7 = 1;
0x0002a338 move s6, zero | s6 = 0;
| if (v0 == a0) {
0x0002a33c beq v0, a0, 0x2a37c | goto label_62;
| }
0x0002a340 addiu v1, zero, 0x40 | v1 = 0x40;
0x0002a344 lw v0, -0x7f6c(gp) | v0 = *((gp - 8155));
| if (v0 != v1) {
0x0002a348 bne v0, v1, 0x2a42c | goto label_60;
| }
0x0002a34c lw v1, 0xdc(sp) | v1 = *(arg_dch);
| if (v1 == 0) {
0x0002a350 beqz v1, 0x2a378 | goto label_63;
| }
0x0002a354 nop |
0x0002a358 addiu v1, zero, 2 | v1 = 2;
0x0002a35c b 0x2a430 | goto label_64;
| do {
0x0002a360 addiu s7, s7, 1 | s7++;
0x0002a364 bal 0x3b6b0 | sym_strlen ();
0x0002a368 addiu v0, v0, 1 | v0++;
0x0002a36c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a370 addu s6, s6, v0 | s6 += v0;
0x0002a374 b 0x2a384 | goto label_65;
| label_63:
0x0002a378 move s6, zero | s6 = 0;
| label_62:
0x0002a37c lw fp, -0x7f64(gp) | fp = *((gp - 8153));
0x0002a380 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
| label_65:
0x0002a384 lw a0, (fp) | a0 = *(fp);
0x0002a388 sll v0, s7, 2 | v0 = s7 << 2;
0x0002a38c addu v0, a0, v0 | v0 = a0 + v0;
0x0002a390 lw a0, (v0) | a0 = *(v0);
0x0002a394 move t9, s2 | t9 = s2;
0x0002a398 bnez a0, 0x2a360 |
| } while (a0 != 0);
0x0002a39c lw t9, -0x75a0(gp) | t9 = *((gp - 7528));
0x0002a3a0 move a0, s6 | a0 = s6;
0x0002a3a4 jalr t9 | t9 ();
0x0002a3a8 move s6, v0 | s6 = v0;
0x0002a3ac lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a3b0 beqz v0, 0x2af24 | goto label_53;
| }
0x0002a3b4 sb zero, (v0) | *(v0) = 0;
0x0002a3b8 addiu fp, zero, 1 | fp = 1;
0x0002a3bc lw s7, -0x7f64(gp) | s7 = *((gp - 8153));
0x0002a3c0 addiu s2, zero, 1 | s2 = 1;
0x0002a3c4 addiu t1, zero, 0x20 | t1 = 0x20;
0x0002a3c8 lw t9, -0x7f60(gp) | t9 = *((gp - 8152));
0x0002a3cc b 0x2a40c |
| while (a1 != 0) {
0x0002a3d0 lw a1, -0x7f64(gp) | a1 = *((gp - 8153));
| if (fp != s2) {
0x0002a3d4 beq fp, s2, 0x2a3e0 |
0x0002a3d8 sb t1, (v0) | *(v0) = t1;
0x0002a3dc addiu v0, v0, 1 | v0++;
| }
0x0002a3e0 addiu fp, fp, 1 | fp++;
0x0002a3e4 lw a1, (a1) | a1 = *(a1);
0x0002a3e8 addu a1, a1, a0 | a1 += a0;
0x0002a3ec lw a1, (a1) | a1 = *(a1);
0x0002a3f0 move a0, v0 | a0 = v0;
0x0002a3f4 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a3f8 sw t9, 0x84(sp) | *(var_84h) = t9;
0x0002a3fc jalr t9 | t9 ();
0x0002a400 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a404 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0002a408 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a40c lw a1, (s7) | a1 = *(s7);
0x0002a410 sll a0, fp, 2 | a0 = fp << 2;
0x0002a414 addu a1, a1, a0 | a1 += a0;
0x0002a418 lw a1, (a1) | a1 = *(a1);
0x0002a41c bnez a1, 0x2a3d0 |
| }
0x0002a420 nop |
0x0002a424 addiu s2, zero, 1 | s2 = 1;
0x0002a428 b 0x2a570 | goto label_59;
| label_60:
0x0002a42c addiu v1, zero, 2 | v1 = 2;
| label_64:
0x0002a430 lw v0, (v0) | v0 = *(v0);
0x0002a434 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
| if (v0 == v1) {
0x0002a438 bne v0, v1, 0x2a44c |
0x0002a43c lw v0, -0x7f64(gp) | v0 = *((gp - 8153));
0x0002a440 lw v0, (v0) | v0 = *(v0);
0x0002a444 lw s6, 4(v0) | s6 = *(var_24h);
0x0002a448 b 0x2a550 | goto label_66;
| }
0x0002a44c lw s2, -0x7f64(gp) | s2 = *((gp - 8153));
| if (v0 != 0) {
0x0002a450 bnez v0, 0x2a528 | goto label_67;
| }
0x0002a454 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002a458 lw a0, (s4) | a0 = *(s4);
0x0002a45c lw v0, (s2) | v0 = *(s2);
0x0002a460 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a464 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a468 addiu t9, t9, -0x79c8 | t9 += -0x79c8;
0x0002a46c lw a3, 4(v0) | a3 = *(var_24h);
0x0002a470 bal 0x28638 | fcn_00028638 ();
0x0002a474 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a478 beqz v0, 0x2af24 | goto label_53;
| }
0x0002a47c lw s6, -0x7fb4(gp) | s6 = *((gp - 8173));
0x0002a480 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
0x0002a484 addiu t9, s6, -0x795c | t9 = s6 + -0x795c;
0x0002a488 move a1, v0 | a1 = v0;
0x0002a48c bal 0x286a4 | fcn_000286a4 ();
0x0002a490 move s7, s6 | s7 = s6;
0x0002a494 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002a498 bnez v0, 0x2af24 | goto label_53;
| }
0x0002a49c addiu v0, zero, 2 | v0 = 2;
0x0002a4a0 move s6, s2 | s6 = s2;
0x0002a4a4 lw fp, -0x7fac(gp) | fp = *((gp - 8171));
0x0002a4a8 b 0x2a4e0 |
| while (a0 == 0) {
0x0002a4ac addu v1, v1, v0 | v1 += v0;
0x0002a4b0 move t9, fp | t9 = fp;
0x0002a4b4 lw a0, (v1) | a0 = *(v1);
0x0002a4b8 bal 0x3c240 | sym_strdup ();
0x0002a4bc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a4c0 beqz v0, 0x2af24 | goto label_53;
| }
0x0002a4c4 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
0x0002a4c8 addiu t9, s7, -0x795c | t9 = s7 + -0x795c;
0x0002a4cc move a1, v0 | a1 = v0;
0x0002a4d0 bal 0x286a4 | fcn_000286a4 ();
0x0002a4d4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002a4d8 bnez v0, 0x2af24 | goto label_53;
| }
0x0002a4dc move v0, s2 | v0 = s2;
0x0002a4e0 lw v1, (s6) | v1 = *(s6);
0x0002a4e4 addiu s2, v0, 1 | s2 = v0 + 1;
0x0002a4e8 sll a0, s2, 2 | a0 = s2 << 2;
0x0002a4ec addu a0, v1, a0 | a0 = v1 + a0;
0x0002a4f0 lw a0, (a0) | a0 = *(a0);
0x0002a4f4 sll v0, v0, 2 | v0 <<= 2;
0x0002a4f8 bnel a0, zero, 0x2a4ac |
| }
0x0002a4fc lw v1, 0xc0(sp) | v1 = *(arg_c0h);
0x0002a500 lw t9, 0xbc(sp) | t9 = *(arg_bch);
0x0002a504 sw zero, (v1) | *(v1) = 0;
0x0002a508 sw zero, (t9) | *(t9) = 0;
0x0002a50c sw zero, (s4) | *(s4) = 0;
0x0002a510 lw v1, -0x7f64(gp) | v1 = *((gp - 8153));
| label_57:
0x0002a514 sll v0, v0, 2 | v0 <<= 2;
0x0002a518 lw v1, (v1) | v1 = *(v1);
0x0002a51c addu v0, v1, v0 | v0 = v1 + v0;
0x0002a520 lw s6, (v0) | s6 = *(v0);
0x0002a524 b 0x2a550 | goto label_66;
| label_67:
0x0002a528 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002a52c move a0, s3 | a0 = s3;
0x0002a530 jalr t9 | t9 ();
0x0002a534 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a538 b 0x2ae48 | goto label_68;
| label_58:
0x0002a53c lw t9, -0x7f84(gp) | t9 = *((gp - 8161));
0x0002a540 move a0, s3 | a0 = s3;
0x0002a544 jalr t9 | t9 ();
0x0002a548 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a54c move s6, v0 | s6 = v0;
| label_66:
0x0002a550 move s2, zero | s2 = 0;
| if (s6 == 0) {
0x0002a554 bnez s6, 0x2a570 |
0x0002a558 lw v1, 0xcc(sp) | v1 = *(arg_cch);
| label_56:
0x0002a55c andi v0, v1, 0x20 | v0 = v1 & 0x20;
0x0002a560 addiu fp, zero, 3 | fp = 3;
| if (v0 != 0) {
0x0002a564 bnez v0, 0x2af3c | goto label_52;
| }
0x0002a568 move s2, zero | s2 = 0;
0x0002a56c move s6, zero | s6 = 0;
| }
| label_59:
0x0002a570 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 == 0) {
0x0002a574 beqz s1, 0x2accc | goto label_69;
| }
0x0002a578 sltiu v0, s1, 0x3e | v0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 != v0) {
0x0002a57c beq s1, v0, 0x2a5d8 |
0x0002a580 addiu v0, zero, 0x4c | v0 = 0x4c;
| if (v0 != 0) {
0x0002a584 beqz v0, 0x2a5c0 |
0x0002a588 addiu v0, zero, 0x25 | v0 = 0x25;
0x0002a58c sltiu v0, s1, 0x26 | v0 = (s1 < 0x26) ? 1 : 0;
| if (s1 == v0) {
0x0002a590 beq s1, v0, 0x2af7c | goto label_70;
| }
0x0002a594 addiu v0, zero, 0x2b | v0 = 0x2b;
| if (v0 != 0) {
0x0002a598 beqz v0, 0x2a5b0 |
0x0002a59c addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a5a0 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 != v0) {
0x0002a5a4 bne s1, v0, 0x2a86c | goto label_71;
| }
0x0002a5a8 sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a5ac b 0x2af80 | goto label_72;
| }
0x0002a5b0 addiu v0, zero, 0x2d | v0 = 0x2d;
| if (s1 == v0) {
0x0002a5b4 beq s1, v0, 0x2a5fc | goto label_73;
| }
0x0002a5b8 b 0x2a5d0 | goto label_74;
0x0002a5bc nop |
| }
0x0002a5c0 addiu v0, zero, 0x52 | v0 = 0x52;
| if (s1 == v0) {
0x0002a5c4 beq s1, v0, 0x2af7c | goto label_70;
| }
0x0002a5c8 addiu v0, zero, 0x3f | v0 = 0x3f;
| if (s1 == v0) {
0x0002a5cc beq s1, v0, 0x2af7c | goto label_70;
| }
| label_74:
0x0002a5d0 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 != v0) {
0x0002a5d4 bne s1, v0, 0x2a86c | goto label_71;
| }
| }
| if (s6 == 0) {
0x0002a5d8 beql s6, zero, 0x2af80 | goto label_72;
| }
0x0002a5dc sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a5e0 lbu v0, (s6) | v0 = *(s6);
0x0002a5e4 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (v0 != 0) {
0x0002a5e8 bnez v0, 0x2a86c | goto label_71;
| }
0x0002a5ec sw zero, 0x64(sp) | *(var_64h) = 0;
| if (s5 == 0) {
0x0002a5f0 bnel s5, zero, 0x2af80 | goto label_72;
| }
0x0002a5f4 b 0x2a86c | goto label_71;
0x0002a5f8 nop |
| label_73:
0x0002a5fc addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s6 == 0) {
0x0002a600 beqz s6, 0x2a86c | goto label_71;
| }
0x0002a604 lbu v0, (s6) | v0 = *(s6);
0x0002a608 sw zero, 0x64(sp) | *(var_64h) = 0;
| if (v0 == 0) {
0x0002a60c bnel v0, zero, 0x2af80 | goto label_72;
| }
| if (s5 == 0) {
0x0002a610 beql s5, zero, 0x2af80 | goto label_72;
| }
0x0002a614 sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a618 addiu v0, zero, 0x3d | v0 = 0x3d;
0x0002a61c b 0x2a86c | goto label_71;
| do {
0x0002a620 sltiu a0, v0, 0x2b | a0 = (v0 < 0x2b) ? 1 : 0;
| if (v0 != a0) {
0x0002a624 beq v0, a0, 0x2a6a8 |
0x0002a628 addiu a0, zero, 0x5c | a0 = 0x5c;
| if (a0 != 0) {
0x0002a62c beqz a0, 0x2a654 |
0x0002a630 addiu a0, zero, 0x24 | a0 = 0x24;
0x0002a634 addiu a0, zero, 0x27 | a0 = 0x27;
| if (v0 == a0) {
0x0002a638 beq v0, a0, 0x2a6e4 | goto label_75;
| }
0x0002a63c addiu a0, zero, 0x22 | a0 = 0x22;
| if (v0 == a0) {
0x0002a640 beq v0, a0, 0x2a68c | goto label_76;
| }
0x0002a644 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (v0 != a0) {
0x0002a648 bne v0, a0, 0x2a800 | goto label_77;
| }
0x0002a64c addiu v0, zero, 2 | v0 = 2;
0x0002a650 b 0x2a674 |
| } else {
0x0002a654 addiu a0, zero, 0x7e | a0 = 0x7e;
| if (v0 == a0) {
0x0002a658 beq v0, a0, 0x2a7c0 | goto label_78;
| }
0x0002a65c addiu a0, zero, 0x3f | a0 = 0x3f;
| if (v0 == a0) {
0x0002a660 beq v0, a0, 0x2a738 | goto label_79;
| }
0x0002a664 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (v0 != a0) {
0x0002a668 bne v0, a0, 0x2a800 | goto label_77;
| }
0x0002a66c b 0x2a6a8 | goto label_80;
0x0002a670 nop |
| }
| if (t1 == v0) {
0x0002a674 beql t1, v0, 0x2a83c | goto label_81;
| }
0x0002a678 move t1, zero | t1 = 0;
| if (t1 == 0) {
0x0002a67c beql t1, zero, 0x2a83c | goto label_81;
| }
0x0002a680 addiu t1, zero, 2 | t1 = 2;
0x0002a684 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a688 b 0x2a800 | goto label_77;
| label_76:
0x0002a68c addiu v0, zero, 1 | v0 = 1;
| if (t1 == v0) {
0x0002a690 beql t1, v0, 0x2a83c | goto label_81;
| }
0x0002a694 move t1, zero | t1 = 0;
| if (t1 == 0) {
0x0002a698 beql t1, zero, 0x2a83c | goto label_81;
| }
0x0002a69c addiu t1, zero, 1 | t1 = 1;
0x0002a6a0 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a6a4 b 0x2a800 |
| } else {
| label_80:
0x0002a6a8 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (t1 == 0) {
0x0002a6ac beqz t1, 0x2a800 | goto label_77;
| }
0x0002a6b0 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a6b4 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a6b8 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a6bc addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a6c0 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a6c4 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a6c8 addiu t9, v0, -0x7d70 | t9 = v0 + -0x7d70;
0x0002a6cc sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a6d0 bal 0x28290 | fcn_00028290 ();
0x0002a6d4 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a6d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a6dc lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a6e0 b 0x2a7f4 | goto label_82;
| label_75:
0x0002a6e4 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x0002a6e8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002a6ec addiu v0, zero, 1 | v0 = 1;
0x0002a6f0 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002a6f4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0002a6f8 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a6fc sw zero, 0x60(sp) | *(var_60h) = 0;
0x0002a700 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002a704 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0002a708 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x0002a70c sw zero, 0x20(sp) | *(stream) = 0;
0x0002a710 addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x0002a714 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a718 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a71c move a3, t0 | a3 = t0;
0x0002a720 addiu t9, v0, -0x6664 | t9 = v0 + -0x6664;
0x0002a724 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a728 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a72c bal 0x2999c | fcn_0002999c ();
| goto label_2;
0x0002a730 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a734 b 0x2a784 | goto label_83;
| label_79:
0x0002a738 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (t1 != 0) {
0x0002a73c bnez t1, 0x2a800 | goto label_77;
| }
0x0002a740 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0002a744 lbu a3, (t0) | a3 = *(t0);
| if (v0 == 0) {
0x0002a748 bnel v0, zero, 0x2a804 | goto label_84;
| }
0x0002a74c lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a750 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x0002a754 sw zero, 0x60(sp) | *(var_60h) = 0;
0x0002a758 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002a75c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002a760 addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x0002a764 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a768 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a76c move a3, t0 | a3 = t0;
0x0002a770 addiu t9, v1, -0x71f8 | t9 = v1 + -0x71f8;
0x0002a774 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a778 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a77c bal 0x28e08 | fcn_00028e08 ();
0x0002a780 lw gp, 0x28(sp) | gp = *(var_28h);
| label_83:
0x0002a784 move fp, v0 | fp = v0;
0x0002a788 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a78c lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 != 0) {
0x0002a790 beqz v0, 0x2a7b4 |
| if (s2 == 0) {
0x0002a794 beql s2, zero, 0x2ac50 | goto label_85;
| }
0x0002a798 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a79c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002a7a0 move a0, s6 | a0 = s6;
0x0002a7a4 jalr t9 | t9 ();
0x0002a7a8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a7ac lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a7b0 b 0x2ac50 | goto label_85;
| }
0x0002a7b4 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0002a7b8 addu t0, t0, v0 | t0 += v0;
0x0002a7bc b 0x2a83c | goto label_81;
| label_78:
0x0002a7c0 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a7c4 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a7c8 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a7cc addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a7d0 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a7d4 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a7d8 addiu t9, v0, -0x7d70 | t9 = v0 + -0x7d70;
0x0002a7dc sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a7e0 bal 0x28290 | fcn_00028290 ();
0x0002a7e4 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a7e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a7ec sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a7f0 addiu t0, t0, 1 | t0++;
| label_82:
0x0002a7f4 lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x0002a7f8 beqz v0, 0x2af24 | goto label_53;
| }
0x0002a7fc lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| }
| label_77:
0x0002a800 lbu a3, (t0) | a3 = *(t0);
| label_84:
0x0002a804 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a808 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a80c sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a810 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a814 addiu t9, v1, -0x7d70 | t9 = v1 + -0x7d70;
0x0002a818 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a81c bal 0x28290 | fcn_00028290 ();
0x0002a820 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a824 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a828 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a82c lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x0002a830 bnez v0, 0x2a83c |
0x0002a834 addiu fp, zero, 1 | fp = 1;
0x0002a838 b 0x2af3c | goto label_52;
| }
| label_81:
0x0002a83c addiu t0, t0, 1 | t0++;
| label_9:
0x0002a840 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (t0 == 0) {
0x0002a844 beqz t0, 0x2a858 | goto label_86;
| }
0x0002a848 lbu v0, (t0) | v0 = *(t0);
0x0002a84c addiu a0, zero, 0x2a | a0 = 0x2a;
0x0002a850 bnez v0, 0x2a620 |
| } while (v0 != 0);
0x0002a854 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| label_86:
0x0002a858 move a0, s0 | a0 = s0;
0x0002a85c jalr t9 | t9 ();
0x0002a860 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a864 lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x0002a868 addiu v0, zero, 0x3d | v0 = 0x3d;
| label_71:
0x0002a86c sltiu v0, s1, 0x3e | v0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 == v0) {
0x0002a870 beq s1, v0, 0x2ac1c | goto label_87;
| }
0x0002a874 addiu v0, zero, 0x4c | v0 = 0x4c;
| if (v0 != 0) {
0x0002a878 beqz v0, 0x2a8bc |
0x0002a87c addiu v0, zero, 0x25 | v0 = 0x25;
0x0002a880 sltiu v0, s1, 0x26 | v0 = (s1 < 0x26) ? 1 : 0;
| if (s1 == v0) {
0x0002a884 beq s1, v0, 0x2a8dc | goto label_88;
| }
0x0002a888 addiu v0, zero, 0x2b | v0 = 0x2b;
| if (v0 != 0) {
0x0002a88c beqz v0, 0x2a8a4 |
0x0002a890 addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a894 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s1 != v0) {
0x0002a898 bne s1, v0, 0x2acd0 | goto label_89;
| }
0x0002a89c b 0x2a8dc | goto label_88;
0x0002a8a0 nop |
| }
0x0002a8a4 addiu v0, zero, 0x2d | v0 = 0x2d;
| if (s1 == v0) {
0x0002a8a8 beq s1, v0, 0x2abcc | goto label_90;
| }
0x0002a8ac lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s1 != v0) {
0x0002a8b0 bne s1, v0, 0x2acd0 | goto label_89;
| }
0x0002a8b4 b 0x2ab7c | goto label_91;
0x0002a8b8 nop |
| }
0x0002a8bc addiu v0, zero, 0x52 | v0 = 0x52;
| if (s1 != v0) {
0x0002a8c0 beq s1, v0, 0x2a8dc |
0x0002a8c4 addiu v0, zero, 0x3f | v0 = 0x3f;
| if (s1 == v0) {
0x0002a8c8 beq s1, v0, 0x2a8dc | goto label_88;
| }
0x0002a8cc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s1 != v0) {
0x0002a8d0 bne s1, v0, 0x2acd0 | goto label_89;
| }
0x0002a8d4 b 0x2ab04 | goto label_92;
0x0002a8d8 nop |
| }
| label_88:
0x0002a8dc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s6 == 0) {
0x0002a8e0 beqz s6, 0x2acd0 | goto label_89;
| }
| if (s0 == 0) {
0x0002a8e4 beqz s0, 0x2acd0 | goto label_89;
| }
0x0002a8e8 nop |
0x0002a8ec lbu v0, (s0) | v0 = *(s0);
| if (v0 == 0) {
0x0002a8f0 beqz v0, 0x2acd0 | goto label_89;
| }
0x0002a8f4 nop |
0x0002a8f8 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0002a8fc move a0, s6 | a0 = s6;
0x0002a900 bal 0x3b6b0 | sym_strlen ();
0x0002a904 addu s5, s6, v0 | s5 = s6 + v0;
0x0002a908 addiu v0, zero, 0x4c | v0 = 0x4c;
0x0002a90c lw gp, 0x28(sp) | gp = *(var_28h);
| if (s1 == v0) {
0x0002a910 beq s1, v0, 0x2aa14 | goto label_93;
| }
0x0002a914 sltiu v0, s1, 0x4d | v0 = (s1 < 0x4d) ? 1 : 0;
0x0002a918 addiu v0, zero, 0x52 | v0 = 0x52;
| if (v0 != 0) {
0x0002a91c beqz v0, 0x2a93c |
0x0002a920 addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a924 addiu v0, zero, 0x25 | v0 = 0x25;
| if (s1 == v0) {
0x0002a928 beq s1, v0, 0x2a98c | goto label_94;
| }
0x0002a92c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s1 != v0) {
0x0002a930 bne s1, v0, 0x2acd0 | goto label_89;
| }
0x0002a934 lw s1, -0x7f5c(gp) | s1 = *((gp - 8151));
0x0002a938 b 0x2aa58 | goto label_95;
| }
0x0002a93c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s1 != v0) {
0x0002a940 bne s1, v0, 0x2acd0 | goto label_89;
| }
0x0002a944 lw s1, -0x7f5c(gp) | s1 = *((gp - 8151));
0x0002a948 b 0x2aae8 | goto label_96;
| do {
0x0002a94c move a0, s0 | a0 = s0;
0x0002a950 sb zero, (s7) | *(s7) = 0;
0x0002a954 move a1, s6 | a1 = s6;
0x0002a958 sw t9, 0x84(sp) | *(var_84h) = t9;
0x0002a95c move a2, zero | a2 = 0;
0x0002a960 jalr t9 | t9 ();
0x0002a964 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a968 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0002a96c sb s1, (s7) | *(s7) = s1;
| if (v0 != fp) {
0x0002a970 beq v0, fp, 0x2a984 |
0x0002a974 move a0, s7 | a0 = s7;
| if (s2 != 0) {
0x0002a978 bnez s2, 0x2a9dc | goto label_97;
| }
0x0002a97c move s6, s7 | s6 = s7;
0x0002a980 b 0x2acbc | goto label_98;
| }
0x0002a984 addiu s7, s7, 1 | s7++;
0x0002a988 b 0x2a998 | goto label_99;
| label_94:
0x0002a98c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002a990 move s7, s6 | s7 = s6;
0x0002a994 addiu fp, zero, 1 | fp = 1;
| label_99:
0x0002a998 sltu v0, s5, s7 | v0 = (s5 < s7) ? 1 : 0;
0x0002a99c beql v0, zero, 0x2a94c |
| } while (v0 == 0);
0x0002a9a0 lbu s1, (s7) | s1 = *(s7);
0x0002a9a4 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002a9a8 b 0x2acd0 | goto label_89;
| do {
0x0002a9ac move a0, s0 | a0 = s0;
0x0002a9b0 sb zero, (s5) | *(s5) = 0;
0x0002a9b4 move a1, s6 | a1 = s6;
0x0002a9b8 move t9, s1 | t9 = s1;
0x0002a9bc move a2, zero | a2 = 0;
0x0002a9c0 bal 0x139a0 | sym_fnmatch ();
0x0002a9c4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a9c8 sb fp, (s5) | *(s5) = fp;
| if (v0 != s7) {
0x0002a9cc beq v0, s7, 0x2aa0c |
| if (s2 == 0) {
0x0002a9d0 beql s2, zero, 0x2accc | goto label_69;
| }
0x0002a9d4 move s6, s5 | s6 = s5;
0x0002a9d8 move a0, s5 | a0 = s5;
| label_97:
0x0002a9dc lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
0x0002a9e0 bal 0x3c240 | sym_strdup ();
0x0002a9e4 nop |
0x0002a9e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a9ec move s1, v0 | s1 = v0;
0x0002a9f0 move a0, s6 | a0 = s6;
0x0002a9f4 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (v0 != 0) {
0x0002a9f8 bnez v0, 0x2aad0 | goto label_100;
| }
0x0002a9fc addiu fp, zero, 1 | fp = 1;
0x0002aa00 jalr t9 | t9 ();
0x0002aa04 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aa08 b 0x2af28 | goto label_101;
| }
0x0002aa0c addiu s5, s5, -1 | s5 += -1;
0x0002aa10 b 0x2aa1c | goto label_102;
| label_93:
0x0002aa14 lw s1, -0x7f5c(gp) | s1 = *((gp - 8151));
0x0002aa18 addiu s7, zero, 1 | s7 = 1;
| label_102:
0x0002aa1c sltu v0, s5, s6 | v0 = (s5 < s6) ? 1 : 0;
0x0002aa20 beql v0, zero, 0x2a9ac |
| } while (v0 == 0);
0x0002aa24 lbu fp, (s5) | fp = *(s5);
0x0002aa28 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002aa2c b 0x2acd0 | goto label_89;
| do {
0x0002aa30 move a1, s5 | a1 = s5;
0x0002aa34 move t9, s1 | t9 = s1;
0x0002aa38 move a2, zero | a2 = 0;
0x0002aa3c bal 0x139a0 | sym_fnmatch ();
0x0002aa40 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != s7) {
0x0002aa44 beq v0, s7, 0x2aa50 |
0x0002aa48 subu s5, s5, s6 | __asm ("subu s5, s5, s6");
0x0002aa4c b 0x2aa8c | goto label_103;
| }
0x0002aa50 addiu s5, s5, -1 | s5 += -1;
0x0002aa54 b 0x2aa5c | goto label_104;
| label_95:
0x0002aa58 addiu s7, zero, 1 | s7 = 1;
| label_104:
0x0002aa5c sltu v0, s5, s6 | v0 = (s5 < s6) ? 1 : 0;
0x0002aa60 move a0, s0 | a0 = s0;
0x0002aa64 beqz v0, 0x2aa30 |
| } while (v0 == 0);
0x0002aa68 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002aa6c b 0x2acd0 | goto label_89;
| do {
0x0002aa70 move a1, s7 | a1 = s7;
0x0002aa74 move t9, s1 | t9 = s1;
0x0002aa78 move a2, zero | a2 = 0;
0x0002aa7c bal 0x139a0 | sym_fnmatch ();
0x0002aa80 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != fp) {
0x0002aa84 beq v0, fp, 0x2aae0 |
0x0002aa88 subu s5, s7, s6 | __asm ("subu s5, s7, s6");
| label_103:
0x0002aa8c lw t9, -0x75a0(gp) | t9 = *((gp - 7528));
0x0002aa90 addiu a0, s5, 1 | a0 = s5 + 1;
0x0002aa94 addiu fp, zero, 1 | fp = 1;
0x0002aa98 jalr t9 | t9 ();
0x0002aa9c move s1, v0 | s1 = v0;
0x0002aaa0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002aaa4 beqz v0, 0x2ac44 | goto label_105;
| }
0x0002aaa8 lw t9, -0x7fb0(gp) | t9 = *((gp - 8172));
0x0002aaac move a0, v0 | a0 = v0;
0x0002aab0 move a1, s6 | a1 = s6;
0x0002aab4 move a2, s5 | a2 = s5;
0x0002aab8 bal 0x3b1a0 | sym_mempcpy ();
0x0002aabc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aac0 sb zero, (v0) | *(v0) = 0;
| if (s2 == 0) {
0x0002aac4 beqz s2, 0x2acc4 | goto label_106;
| }
0x0002aac8 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002aacc move a0, s6 | a0 = s6;
| label_100:
0x0002aad0 move s6, s1 | s6 = s1;
0x0002aad4 jalr t9 | t9 ();
0x0002aad8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aadc b 0x2acc8 | goto label_107;
| }
0x0002aae0 addiu s7, s7, 1 | s7++;
0x0002aae4 b 0x2aaf0 | goto label_108;
| label_96:
0x0002aae8 move s7, s6 | s7 = s6;
0x0002aaec addiu fp, zero, 1 | fp = 1;
| label_108:
0x0002aaf0 sltu v0, s5, s7 | v0 = (s5 < s7) ? 1 : 0;
0x0002aaf4 move a0, s0 | a0 = s0;
0x0002aaf8 beqz v0, 0x2aa70 |
| } while (v0 == 0);
0x0002aafc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002ab00 b 0x2acd0 | goto label_89;
| if (s6 != 0) {
| label_92:
0x0002ab04 beqz s6, 0x2ab18 |
0x0002ab08 nop |
0x0002ab0c lbu v0, (s6) | v0 = *(s6);
0x0002ab10 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (v0 != 0) {
0x0002ab14 bnez v0, 0x2acd0 | goto label_89;
| }
| }
0x0002ab18 lbu a0, (s0) | a0 = *(s0);
| if (s5 != 0) {
0x0002ab1c bnel s5, zero, 0x2ab2c |
0x0002ab20 move fp, zero | fp = 0;
| if (s6 != 0) {
0x0002ab24 bnez s6, 0x2ac44 | goto label_105;
| }
0x0002ab28 lbu a0, (s0) | a0 = *(s0);
| }
0x0002ab2c lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (a0 != 0) {
0x0002ab30 beqz a0, 0x2ab58 |
0x0002ab34 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002ab38 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002ab3c lw a0, (v0) | a0 = *(v0);
0x0002ab40 addiu a1, a1, -0x7194 | a1 += -0x7194;
0x0002ab44 move a2, s3 | a2 = s3;
0x0002ab48 move a3, s0 | a3 = s0;
0x0002ab4c bal 0x2f830 | sym_fprintf ()
0x0002ab50 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ab54 b 0x2ac40 | goto label_109;
| }
0x0002ab58 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002ab5c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002ab60 lw a0, (v0) | a0 = *(v0);
0x0002ab64 addiu a1, a1, -0x718c | a1 += -0x718c;
0x0002ab68 move a2, s3 | a2 = s3;
0x0002ab6c bal 0x2f830 | sym_fprintf ()
0x0002ab70 addiu fp, zero, 3 | fp = 3;
0x0002ab74 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ab78 b 0x2ac44 | goto label_105;
| if (s6 != 0) {
| label_91:
0x0002ab7c beqz s6, 0x2ab90 |
0x0002ab80 nop |
0x0002ab84 lbu v0, (s6) | v0 = *(s6);
0x0002ab88 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (v0 != 0) {
0x0002ab8c bnez v0, 0x2acd0 | goto label_89;
| }
| }
0x0002ab90 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s2 != 0) {
0x0002ab94 beqz s2, 0x2aba4 |
0x0002ab98 move a0, s6 | a0 = s6;
0x0002ab9c jalr t9 | t9 ();
0x0002aba0 lw gp, 0x28(sp) | gp = *(var_28h);
| }
| if (s5 != 0) {
0x0002aba4 bnez s5, 0x2abb4 | goto label_3;
| }
0x0002aba8 nop |
0x0002abac move fp, zero | fp = 0;
| if (s6 != 0) {
0x0002abb0 bnez s6, 0x2af3c | goto label_52;
| }
| do {
| label_3:
0x0002abb4 lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (s0 != 0) {
0x0002abb8 bnez s0, 0x2ac00 | goto label_110;
| }
0x0002abbc addiu s2, zero, 1 | s2 = 1;
0x0002abc0 move s6, zero | s6 = 0;
0x0002abc4 move s0, zero | s0 = 0;
0x0002abc8 b 0x2accc | goto label_69;
| label_90:
0x0002abcc move fp, zero | fp = 0;
| if (s6 == 0) {
0x0002abd0 beqz s6, 0x2ac44 | goto label_105;
| }
0x0002abd4 lbu v0, (s6) | v0 = *(s6);
| if (v0 == 0) {
0x0002abd8 bnez v0, 0x2abe8 |
0x0002abdc nop |
| if (s5 != 0) {
0x0002abe0 bnez s5, 0x2ac44 | goto label_105;
| }
0x0002abe4 nop |
| }
0x0002abe8 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002abec beqz s2, 0x2abb4 |
| } while (s2 == 0);
0x0002abf0 move a0, s6 | a0 = s6;
0x0002abf4 jalr t9 | t9 ();
0x0002abf8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002abfc b 0x2abb4 | goto label_3;
| label_110:
0x0002ac00 move a0, s0 | a0 = s0;
0x0002ac04 bal 0x3c240 | sym_strdup ();
0x0002ac08 move s6, v0 | s6 = v0;
0x0002ac0c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002ac10 beqz v0, 0x2af24 | goto label_53;
| }
0x0002ac14 addiu s2, zero, 1 | s2 = 1;
0x0002ac18 b 0x2accc | goto label_69;
| if (s6 != 0) {
| label_87:
0x0002ac1c beqz s6, 0x2ac30 |
0x0002ac20 nop |
0x0002ac24 lbu v0, (s6) | v0 = *(s6);
0x0002ac28 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (v0 != 0) {
0x0002ac2c bnez v0, 0x2acd0 | goto label_89;
| }
| }
| if (s5 == 0) {
0x0002ac30 bnez s5, 0x2ac64 |
0x0002ac34 nop |
| if (s6 == 0) {
0x0002ac38 beqz s6, 0x2ac64 | goto label_111;
| }
0x0002ac3c nop |
| label_109:
0x0002ac40 move fp, zero | fp = 0;
| label_105:
0x0002ac44 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s2 == 0) {
0x0002ac48 beqz s2, 0x2af40 | goto label_112;
| }
0x0002ac4c move a0, s6 | a0 = s6;
| label_85:
0x0002ac50 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002ac54 jalr t9 | t9 ();
0x0002ac58 nop |
0x0002ac5c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ac60 b 0x2af3c | goto label_52;
| }
| label_111:
0x0002ac64 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (s2 != 0) {
0x0002ac68 beqz s2, 0x2ac78 |
0x0002ac6c move a0, s6 | a0 = s6;
0x0002ac70 jalr t9 | t9 ();
0x0002ac74 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002ac78 lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (s0 != 0) {
0x0002ac7c beqz s0, 0x2ac9c |
0x0002ac80 move a0, s0 | a0 = s0;
0x0002ac84 bal 0x3c240 | sym_strdup ();
0x0002ac88 move s6, v0 | s6 = v0;
0x0002ac8c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002ac90 bnez v0, 0x2aca0 | goto label_113;
| }
0x0002ac94 addiu fp, zero, 1 | fp = 1;
0x0002ac98 b 0x2af3c | goto label_52;
| }
0x0002ac9c move s6, zero | s6 = 0;
| label_113:
0x0002aca0 lw t9, -0x7f54(gp) | t9 = *((gp - 8149));
0x0002aca4 move a0, s3 | a0 = s3;
0x0002aca8 move a1, s6 | a1 = s6;
0x0002acac addiu a2, zero, 1 | a2 = 1;
0x0002acb0 jalr t9 | t9 ();
0x0002acb4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002acb8 b 0x2acc8 | goto label_107;
| label_98:
0x0002acbc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002acc0 b 0x2acd0 | goto label_89;
| label_106:
0x0002acc4 move s6, s1 | s6 = s1;
| label_107:
0x0002acc8 addiu s2, zero, 1 | s2 = 1;
| label_69:
0x0002accc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| label_89:
0x0002acd0 move a0, s3 | a0 = s3;
0x0002acd4 jalr t9 | t9 ();
0x0002acd8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002acdc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002ace0 move a0, s0 | a0 = s0;
0x0002ace4 jalr t9 | t9 ();
0x0002ace8 lw v1, 0x80(sp) | v1 = *(var_80h);
0x0002acec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 != 0) {
0x0002acf0 beqz v1, 0x2ad4c |
0x0002acf4 sb zero, 0x44(sp) | *(var_44h) = 0;
0x0002acf8 lw s0, (s4) | s0 = *(s4);
| if (s6 != 0) {
0x0002acfc beqz s6, 0x2ad18 |
0x0002ad00 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0002ad04 move a0, s6 | a0 = s6;
0x0002ad08 bal 0x3b6b0 | sym_strlen ();
0x0002ad0c move a2, v0 | a2 = v0;
0x0002ad10 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad14 b 0x2ad1c |
| } else {
0x0002ad18 move a2, zero | a2 = 0;
| }
0x0002ad1c lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002ad20 lw t9, -0x7f70(gp) | t9 = *((gp - 8156));
0x0002ad24 move a3, zero | a3 = 0;
0x0002ad28 addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x0002ad2c addiu a1, a1, -0x71a8 | a1 += -0x71a8;
0x0002ad30 bal 0x2f930 | sym_sprintf ();
0x0002ad34 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad38 move a0, s0 | a0 = s0;
0x0002ad3c lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002ad40 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002ad44 addiu a3, sp, 0x44 | a3 = sp + 0x44;
0x0002ad48 b 0x2ad74 |
| } else {
0x0002ad4c lw t9, 0xdc(sp) | t9 = *(arg_dch);
| if (s6 == 0) {
0x0002ad50 beqz s6, 0x2af64 | goto label_24;
| }
0x0002ad54 lw v1, 0xd0(sp) | v1 = *(arg_d0h);
| if (t9 == 0) {
0x0002ad58 bnez t9, 0x2ad64 |
0x0002ad5c lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (v1 != 0) {
0x0002ad60 bnez v1, 0x2ada8 | goto label_114;
| }
| }
0x0002ad64 lw a0, (s4) | a0 = *(s4);
0x0002ad68 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002ad6c lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002ad70 move a3, s6 | a3 = s6;
| }
0x0002ad74 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002ad78 addiu t9, t9, -0x79c8 | t9 += -0x79c8;
0x0002ad7c bal 0x28638 | fcn_00028638 ();
0x0002ad80 nop |
0x0002ad84 sw v0, (s4) | *(s4) = v0;
0x0002ad88 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s2 != 0) {
0x0002ad8c beqz s2, 0x2ada0 |
0x0002ad90 move a0, s6 | a0 = s6;
| label_61:
0x0002ad94 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002ad98 jalr t9 | t9 ();
0x0002ad9c nop |
| }
0x0002ada0 lw v0, (s4) | v0 = *(s4);
0x0002ada4 b 0x2a1fc | goto label_4;
| label_114:
0x0002ada8 move a0, s6 | a0 = s6;
0x0002adac bal 0x3c240 | sym_strdup ();
0x0002adb0 move s0, v0 | s0 = v0;
0x0002adb4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s2 != 0) {
0x0002adb8 beqz s2, 0x2adcc |
0x0002adbc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002adc0 move a0, s6 | a0 = s6;
0x0002adc4 jalr t9 | t9 ();
0x0002adc8 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002adcc move s6, s0 | s6 = s0;
| if (s0 == 0) {
0x0002add0 beqz s0, 0x2af30 | goto label_30;
| }
0x0002add4 move s3, zero | s3 = 0;
0x0002add8 lw fp, -0x7fb4(gp) | fp = *((gp - 8173));
0x0002addc lw s2, -0x7f50(gp) | s2 = *((gp - 8148));
0x0002ade0 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| do {
| label_5:
0x0002ade4 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
| if (s6 != s0) {
0x0002ade8 beq s6, s0, 0x2ae20 |
0x0002adec addiu t9, fp, -0x795c | t9 = fp + -0x795c;
0x0002adf0 lw a1, (s4) | a1 = *(s4);
0x0002adf4 bal 0x286a4 | fcn_000286a4 ();
0x0002adf8 addiu a0, zero, 1 | a0 = 1;
0x0002adfc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == a0) {
0x0002ae00 bne v0, a0, 0x2ae0c |
0x0002ae04 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002ae08 b 0x2aee4 | goto label_115;
| }
0x0002ae0c lw t9, 0xc0(sp) | t9 = *(arg_c0h);
0x0002ae10 lw v1, 0xbc(sp) | v1 = *(arg_bch);
0x0002ae14 sw zero, (t9) | *(t9) = 0;
0x0002ae18 sw zero, (v1) | *(v1) = 0;
0x0002ae1c sw zero, (s4) | *(s4) = 0;
| }
0x0002ae20 lw a1, 0xd8(sp) | a1 = *(s2);
0x0002ae24 move t9, s2 | t9 = s2;
0x0002ae28 move a0, s6 | a0 = s6;
0x0002ae2c bal 0x3bbf0 | sym_strspn ();
0x0002ae30 addu s1, s6, v0 | s1 = s6 + v0;
0x0002ae34 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s3 == 0) {
0x0002ae38 bnez s3, 0x2ae5c |
0x0002ae3c lbu v0, (s1) | v0 = *(s1);
0x0002ae40 lw t9, -0x7f4c(gp) | t9 = *((gp - 8147));
| if (v0 != 0) {
0x0002ae44 bnez v0, 0x2ae60 | goto label_116;
| }
| label_68:
0x0002ae48 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| label_6:
0x0002ae4c move a0, s0 | a0 = s0;
0x0002ae50 jalr t9 | t9 ();
0x0002ae54 move fp, zero | fp = 0;
0x0002ae58 b 0x2af94 | goto label_17;
| }
0x0002ae5c lw t9, -0x7f4c(gp) | t9 = *((gp - 8147));
| label_116:
0x0002ae60 lw a1, 0xd4(sp) | a1 = *(arg_d4h);
0x0002ae64 move a0, s1 | a0 = s1;
0x0002ae68 move s3, zero | s3 = 0;
0x0002ae6c bal 0x3b630 | sym_strcspn ();
0x0002ae70 lw a1, 0xd8(sp) | a1 = *(s2);
0x0002ae74 addu s7, s1, v0 | s7 = s1 + v0;
0x0002ae78 move t9, s2 | t9 = s2;
0x0002ae7c move a0, s7 | a0 = s7;
0x0002ae80 bal 0x3bbf0 | sym_strspn ();
0x0002ae84 addu s6, s7, v0 | s6 = s7 + v0;
0x0002ae88 lbu a1, (s6) | a1 = *(s6);
0x0002ae8c lw gp, 0x28(sp) | gp = *(var_28h);
| if (a1 != 0) {
0x0002ae90 beqz a1, 0x2aeb0 |
0x0002ae94 lw t9, -0x7f90(gp) | t9 = *((gp - 8164));
0x0002ae98 lw a0, 0xd4(sp) | a0 = *(arg_d4h);
0x0002ae9c bal 0x3b3e0 | sym_index ();
| if (v0 == 0) {
0x0002aea0 beql v0, zero, 0x2aeb4 | goto label_117;
| }
0x0002aea4 sb zero, (s7) | *(s7) = 0;
0x0002aea8 addiu s6, s6, 1 | s6++;
0x0002aeac addiu s3, zero, 1 | s3 = 1;
| }
0x0002aeb0 sb zero, (s7) | *(s7) = 0;
| label_117:
0x0002aeb4 lw a0, (s4) | a0 = *(s4);
0x0002aeb8 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002aebc lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002aec0 addiu t9, s5, -0x79c8 | t9 = s5 + -0x79c8;
0x0002aec4 move a3, s1 | a3 = s1;
0x0002aec8 bal 0x28638 | fcn_00028638 ();
0x0002aecc sw v0, (s4) | *(s4) = v0;
0x0002aed0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002aed4 bnez v0, 0x2aef4 |
0x0002aed8 lbu v0, (s1) | v0 = *(s1);
0x0002aedc lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| if (v0 == 0) {
0x0002aee0 beqz v0, 0x2aef4 | goto label_118;
| }
| label_115:
0x0002aee4 move a0, s0 | a0 = s0;
0x0002aee8 jalr t9 | t9 ();
0x0002aeec lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aef0 b 0x2af30 | goto label_30;
| }
| label_118:
0x0002aef4 addiu s3, zero, 1 | s3 = 1;
0x0002aef8 bnez s3, 0x2ade4 |
| } while (s3 != 0);
0x0002aefc lbu v0, (s6) | v0 = *(s6);
0x0002af00 move s3, zero | s3 = 0;
| if (v0 != 0) {
0x0002af04 bnez v0, 0x2ade4 | goto label_5;
| }
0x0002af08 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002af0c b 0x2ae4c | goto label_6;
| label_44:
0x0002af10 addiu fp, zero, 5 | fp = 5;
| label_40:
0x0002af14 move s0, zero | s0 = 0;
0x0002af18 b 0x2af3c | goto label_52;
| label_51:
0x0002af1c addiu fp, zero, 5 | fp = 5;
0x0002af20 b 0x2af3c | goto label_52;
| label_53:
0x0002af24 addiu fp, zero, 1 | fp = 1;
| label_101:
0x0002af28 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002af2c b 0x2af40 | goto label_112;
| label_30:
0x0002af30 addiu fp, zero, 1 | fp = 1;
| label_35:
0x0002af34 move s0, zero | s0 = 0;
0x0002af38 move s3, zero | s3 = 0;
| label_52:
0x0002af3c lw t9, -0x7668(gp) | t9 = *((gp - 7578));
| label_112:
0x0002af40 move a0, s3 | a0 = s3;
0x0002af44 jalr t9 | t9 ();
0x0002af48 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002af4c move a0, s0 | a0 = s0;
| label_25:
0x0002af50 lw t9, -0x7668(gp) | t9 = *((gp - 7578));
0x0002af54 jalr t9 | t9 ();
0x0002af58 nop |
0x0002af5c lw ra, 0xb4(sp) | ra = *(var_b4h);
0x0002af60 b 0x2af98 | goto label_27;
| label_24:
0x0002af64 move fp, zero | fp = 0;
0x0002af68 b 0x2af94 | goto label_17;
| label_15:
0x0002af6c lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (v0 != a2) {
0x0002af70 bne v0, a2, 0x29ad8 | goto label_7;
| }
0x0002af74 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002af78 b 0x29ab4 | goto label_8;
| label_70:
0x0002af7c sw zero, 0x64(sp) | *(var_64h) = 0;
| label_72:
0x0002af80 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0002af84 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0002af88 move t0, s0 | t0 = s0;
0x0002af8c move t1, zero | t1 = 0;
0x0002af90 b 0x2a840 | goto label_9;
| label_17:
0x0002af94 lw ra, 0xb4(sp) | ra = *(var_b4h);
| label_27:
0x0002af98 move v0, fp | v0 = fp;
0x0002af9c lw s7, 0xac(sp) | s7 = *(var_ach);
0x0002afa0 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x0002afa4 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0002afa8 lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x0002afac lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x0002afb0 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x0002afb4 lw s2, 0x98(sp) | s2 = *(var_98h);
0x0002afb8 lw s1, 0x94(sp) | s1 = *(var_94h);
0x0002afbc lw s0, 0x90(sp) | s0 = *(var_90h);
0x0002afc0 addiu sp, sp, 0xb8 |
0x0002afc4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x11d80 */
| #include <stdint.h>
|
; (fcn) sym.__assert () | void assert () {
0x00011d80 lui gp, 0xa |
0x00011d84 addiu gp, gp, 0x3960 |
0x00011d88 addu gp, gp, t9 | gp += t9;
0x00011d8c lw v0, -0x7ecc(gp) | v0 = *((gp - 8115));
0x00011d90 move v1, a1 | v1 = a1;
0x00011d94 addiu sp, sp, -0x30 |
0x00011d98 lw a1, -0x1e10(v0) | a1 = *(v0);
0x00011d9c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00011da0 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00011da4 lw t9, -0x7f28(gp) | t9 = *((gp - 8138));
| if (a1 == 0) {
0x00011da8 bnez a1, 0x11e00 |
0x00011dac addiu a1, zero, 1 | a1 = 1;
0x00011db0 sw a1, -0x1e10(v0) | *(v0) = a1;
0x00011db4 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00011db8 lw a1, (v0) | a1 = *(v0);
0x00011dbc lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00011dc0 lw v0, (v0) | v0 = *(v0);
| if (a3 == 0) {
0x00011dc4 bnez a3, 0x11dd0 |
0x00011dc8 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x00011dcc addiu a3, a3, 0x77b0 | a3 += 0x77b0;
| }
0x00011dd0 sw a0, 0x18(sp) | *(var_18h) = a0;
0x00011dd4 move a0, a1 | a0 = a1;
0x00011dd8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00011ddc lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00011de0 sw a2, 0x10(sp) | *(var_10h) = a2;
0x00011de4 sw a3, 0x14(sp) | *(var_14h) = a3;
0x00011de8 addiu a1, a1, 0x77bc | a1 += 0x77bc;
0x00011dec move a2, v0 | a2 = v0;
0x00011df0 move a3, v1 | a3 = v1;
0x00011df4 bal 0x2f830 | sym_fprintf ()
0x00011df8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00011dfc lw t9, -0x7f28(gp) | t9 = *((gp - 8138));
| }
0x00011e00 jalr t9 | t9 ();
0x00011e04 nop |
0x00011e08 nop |
0x00011e0c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x13360 */
| #include <stdint.h>
|
; (fcn) sym.error () | void error () {
0x00013360 lui gp, 0xa |
0x00013364 addiu gp, gp, 0x2380 |
0x00013368 addu gp, gp, t9 | gp += t9;
0x0001336c lw v0, -0x757c(gp) | v0 = *((gp - 7519));
0x00013370 addiu sp, sp, -0x38 |
0x00013374 sw a3, 0x44(sp) | *(ap) = a3;
0x00013378 lw t9, -0x7e40(gp) | t9 = *((gp - 8080));
0x0001337c sw s0, 0x24(sp) | *(var_24h_2) = s0;
0x00013380 move s0, a0 | s0 = a0;
0x00013384 lw a0, (v0) | a0 = *(v0);
0x00013388 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x0001338c sw s3, 0x30(sp) | *(var_30h) = s3;
0x00013390 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00013394 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00013398 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0001339c move s1, a1 | s1 = a1;
0x000133a0 move s3, a2 | s3 = a2;
0x000133a4 jalr t9 | t9 ();
0x000133a8 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000133ac lw v0, -0x75bc(gp) | v0 = *((gp - 7535));
0x000133b0 lw t9, (v0) | t9 = *(v0);
0x000133b4 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (t9 != 0) {
0x000133b8 beqz t9, 0x133cc |
0x000133bc jalr t9 | t9 ();
0x000133c0 nop |
0x000133c4 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x000133c8 b 0x133ec |
| } else {
0x000133cc lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x000133d0 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x000133d4 lw a0, (v0) | a0 = *(v0);
0x000133d8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000133dc addiu a1, a1, -0x7f00 | a1 += -0x7f00;
0x000133e0 lw a2, (v0) | a2 = *(v0);
0x000133e4 bal 0x2f830 | sym_fprintf ()
0x000133e8 lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x000133ec lw s2, -0x7618(gp) | s2 = *((gp - 7558));
0x000133f0 lw t9, -0x7e58(gp) | t9 = *((gp - 8086));
0x000133f4 addiu a2, sp, 0x44 | a2 = sp + 0x44;
0x000133f8 lw a0, (s2) | a0 = *(s2);
0x000133fc sw a2, 0x18(sp) | *(var_18h_2) = a2;
0x00013400 move a1, s3 | a1 = s3;
0x00013404 bal 0x33170 | sym_vfprintf ()
0x00013408 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001340c lw v0, -0x75b0(gp) | v0 = *((gp - 7532));
0x00013410 lw v1, (v0) | v1 = *(v0);
0x00013414 addiu v1, v1, 1 | v1++;
0x00013418 sw v1, (v0) | *(v0) = v1;
| if (s1 != 0) {
0x0001341c beqz s1, 0x13450 |
0x00013420 lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
0x00013424 move a0, s1 | a0 = s1;
0x00013428 lw s2, (s2) | s2 = *(s2);
0x0001342c jalr t9 | t9 ();
0x00013430 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00013434 move a0, s2 | a0 = s2;
0x00013438 move a2, v0 | a2 = v0;
0x0001343c lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00013440 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013444 addiu a1, a1, -0x7ef8 | a1 += -0x7ef8;
0x00013448 bal 0x2f830 | sym_fprintf ()
0x0001344c lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x00013450 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00013454 lw a1, (v0) | a1 = *(v0);
0x00013458 lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x0001345c lw t9, -0x7e38(gp) | t9 = *((gp - 8078));
| if (v0 != 0) {
0x00013460 beqz v0, 0x13494 |
0x00013464 lw v0, 0x10(a1) | v0 = *((a1 + 4));
0x00013468 lw v1, 0x1c(a1) | v1 = *((a1 + 7));
0x0001346c sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x00013470 addiu v1, zero, 0xa | v1 = 0xa;
| if (v1 != 0) {
0x00013474 beqz v1, 0x13488 |
0x00013478 sb v1, (v0) | *(v0) = v1;
0x0001347c addiu v0, v0, 1 | v0++;
0x00013480 sw v0, 0x10(a1) | *((a1 + 4)) = v0;
0x00013484 b 0x134a4 | goto label_0;
| }
0x00013488 addiu a0, zero, 0xa | a0 = 0xa;
0x0001348c lw t9, -0x7e34(gp) | t9 = *((gp - 8077));
0x00013490 b 0x13498 |
| } else {
0x00013494 addiu a0, zero, 0xa | a0 = 0xa;
| }
0x00013498 jalr t9 | t9 ();
0x0001349c nop |
0x000134a0 lw gp, 0x10(sp) | gp = *(var_10h_2);
| label_0:
0x000134a4 lw ra, 0x34(sp) | ra = *(var_34h);
| if (s0 != 0) {
0x000134a8 beqz s0, 0x134b8 |
0x000134ac lw t9, -0x7e4c(gp) | t9 = *((gp - 8083));
0x000134b0 move a0, s0 | a0 = s0;
0x000134b4 jalr t9 | t9 ();
| }
0x000134b8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x000134bc lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000134c0 lw s1, 0x28(sp) | s1 = *(var_28h);
0x000134c4 lw s0, 0x24(sp) | s0 = *(var_24h_2);
0x000134c8 addiu sp, sp, 0x38 |
0x000134cc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
| #include <stdint.h>
|
; (fcn) sym.error_at_line () | void error_at_line () {
0x000134d0 lui gp, 0xa |
0x000134d4 addiu gp, gp, 0x2210 |
0x000134d8 addu gp, gp, t9 | gp += t9;
0x000134dc lw v0, -0x7640(gp) | v0 = *((gp - 7568));
0x000134e0 addiu sp, sp, -0x40 |
0x000134e4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000134e8 lw v0, (v0) | v0 = *(v0);
0x000134ec sw s3, 0x30(sp) | *(var_30h) = s3;
0x000134f0 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x000134f4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x000134f8 sw s0, 0x24(sp) | *(var_24h) = s0;
0x000134fc sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00013500 sw s5, 0x38(sp) | *(var_38h) = s5;
0x00013504 sw s4, 0x34(sp) | *(var_34h) = s4;
0x00013508 move s2, a0 | s2 = a0;
0x0001350c move s3, a1 | s3 = a1;
0x00013510 move s0, a2 | s0 = a2;
0x00013514 move s1, a3 | s1 = a3;
| if (v0 != 0) {
0x00013518 beqz v0, 0x13554 |
0x0001351c lw v0, -0x7ecc(gp) | v0 = *((gp - 8115));
0x00013520 lw s4, -0x7ecc(gp) | s4 = *((gp - 8115));
0x00013524 lw v1, -0x1df8(v0) | v1 = *(v0);
0x00013528 move s5, v0 | s5 = v0;
| if (v1 == a3) {
0x0001352c bne v1, a3, 0x1354c |
0x00013530 lw a0, -0x1df4(s4) | a0 = *((s4 - 1917));
0x00013534 lw t9, -0x7e94(gp) | t9 = *((gp - 8101));
| if (a2 == a0) {
0x00013538 beq a2, a0, 0x1369c | goto label_0;
| }
0x0001353c move a1, a2 | a1 = a2;
0x00013540 jalr t9 | t9 ();
0x00013544 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00013548 beqz v0, 0x1369c | goto label_0;
| }
| }
0x0001354c sw s0, -0x1df4(s4) | *((s4 - 1917)) = s0;
0x00013550 sw s1, -0x1df8(s5) | *(s5) = s1;
| }
0x00013554 lw v0, -0x757c(gp) | v0 = *((gp - 7519));
0x00013558 lw t9, -0x7e40(gp) | t9 = *((gp - 8080));
0x0001355c lw a0, (v0) | a0 = *(v0);
0x00013560 jalr t9 | t9 ();
0x00013564 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013568 lw v0, -0x75bc(gp) | v0 = *((gp - 7535));
0x0001356c lw t9, (v0) | t9 = *(v0);
0x00013570 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (t9 != 0) {
0x00013574 beqz t9, 0x13588 |
0x00013578 jalr t9 | t9 ();
0x0001357c nop |
0x00013580 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013584 b 0x135a8 |
| } else {
0x00013588 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0001358c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013590 lw a0, (v0) | a0 = *(v0);
0x00013594 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00013598 addiu a1, a1, -0x7ef0 | a1 += -0x7ef0;
0x0001359c lw a2, (v0) | a2 = *(v0);
0x000135a0 bal 0x2f830 | sym_fprintf ()
0x000135a4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135a8 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (s0 != 0) {
0x000135ac beqz s0, 0x135d0 |
0x000135b0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x000135b4 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x000135b8 lw a0, (v0) | a0 = *(v0);
0x000135bc addiu a1, a1, -0x7eec | a1 += -0x7eec;
0x000135c0 move a2, s0 | a2 = s0;
0x000135c4 move a3, s1 | a3 = s1;
0x000135c8 bal 0x2f830 | sym_fprintf ()
0x000135cc lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135d0 lw s0, -0x7618(gp) | s0 = *((gp - 7558));
0x000135d4 lw t9, -0x7e58(gp) | t9 = *((gp - 8086));
0x000135d8 lw a1, 0x50(sp) | a1 = *(arg_50h);
0x000135dc lw a0, (s0) | a0 = *(s0);
0x000135e0 addiu a2, sp, 0x54 | a2 = sp + 0x54;
0x000135e4 sw a2, 0x18(sp) | *(var_18h) = a2;
0x000135e8 bal 0x33170 | sym_vfprintf ()
0x000135ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000135f0 lw v0, -0x75b0(gp) | v0 = *((gp - 7532));
0x000135f4 lw v1, (v0) | v1 = *(v0);
0x000135f8 addiu v1, v1, 1 | v1++;
0x000135fc sw v1, (v0) | *(v0) = v1;
| if (s3 != 0) {
0x00013600 beqz s3, 0x13634 |
0x00013604 lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
0x00013608 move a0, s3 | a0 = s3;
0x0001360c lw s0, (s0) | s0 = *(s0);
0x00013610 jalr t9 | t9 ();
0x00013614 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013618 move a0, s0 | a0 = s0;
0x0001361c move a2, v0 | a2 = v0;
0x00013620 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00013624 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013628 addiu a1, a1, -0x7ef8 | a1 += -0x7ef8;
0x0001362c bal 0x2f830 | sym_fprintf ()
0x00013630 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00013634 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00013638 lw a1, (v0) | a1 = *(v0);
0x0001363c lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x00013640 lw t9, -0x7e38(gp) | t9 = *((gp - 8078));
| if (v0 != 0) {
0x00013644 beqz v0, 0x13678 |
0x00013648 lw v0, 0x10(a1) | v0 = *((a1 + 4));
0x0001364c lw v1, 0x1c(a1) | v1 = *((a1 + 7));
0x00013650 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x00013654 addiu v1, zero, 0xa | v1 = 0xa;
| if (v1 != 0) {
0x00013658 beqz v1, 0x1366c |
0x0001365c sb v1, (v0) | *(v0) = v1;
0x00013660 addiu v0, v0, 1 | v0++;
0x00013664 sw v0, 0x10(a1) | *((a1 + 4)) = v0;
0x00013668 b 0x13688 | goto label_1;
| }
0x0001366c addiu a0, zero, 0xa | a0 = 0xa;
0x00013670 lw t9, -0x7e34(gp) | t9 = *((gp - 8077));
0x00013674 b 0x1367c |
| } else {
0x00013678 addiu a0, zero, 0xa | a0 = 0xa;
| }
0x0001367c jalr t9 | t9 ();
0x00013680 nop |
0x00013684 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00013688 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s2 != 0) {
0x0001368c beqz s2, 0x136a0 |
0x00013690 lw t9, -0x7e4c(gp) | t9 = *((gp - 8083));
0x00013694 move a0, s2 | a0 = s2;
0x00013698 jalr t9 | t9 ();
| label_0:
0x0001369c lw ra, 0x3c(sp) | ra = *(var_3ch);
| }
0x000136a0 lw s5, 0x38(sp) | s5 = *(var_38h);
0x000136a4 lw s4, 0x34(sp) | s4 = *(var_34h);
0x000136a8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x000136ac lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000136b0 lw s1, 0x28(sp) | s1 = *(var_28h);
0x000136b4 lw s0, 0x24(sp) | s0 = *(var_24h);
0x000136b8 addiu sp, sp, 0x40 |
0x000136bc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
| #include <stdint.h>
|
; (fcn) sym.error_at_line () | void error_at_line () {
0x000134d0 lui gp, 0xa |
0x000134d4 addiu gp, gp, 0x2210 |
0x000134d8 addu gp, gp, t9 | gp += t9;
0x000134dc lw v0, -0x7640(gp) | v0 = *((gp - 7568));
0x000134e0 addiu sp, sp, -0x40 |
0x000134e4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000134e8 lw v0, (v0) | v0 = *(v0);
0x000134ec sw s3, 0x30(sp) | *(var_30h) = s3;
0x000134f0 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x000134f4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x000134f8 sw s0, 0x24(sp) | *(var_24h) = s0;
0x000134fc sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00013500 sw s5, 0x38(sp) | *(var_38h) = s5;
0x00013504 sw s4, 0x34(sp) | *(var_34h) = s4;
0x00013508 move s2, a0 | s2 = a0;
0x0001350c move s3, a1 | s3 = a1;
0x00013510 move s0, a2 | s0 = a2;
0x00013514 move s1, a3 | s1 = a3;
| if (v0 != 0) {
0x00013518 beqz v0, 0x13554 |
0x0001351c lw v0, -0x7ecc(gp) | v0 = *((gp - 8115));
0x00013520 lw s4, -0x7ecc(gp) | s4 = *((gp - 8115));
0x00013524 lw v1, -0x1df8(v0) | v1 = *(v0);
0x00013528 move s5, v0 | s5 = v0;
| if (v1 == a3) {
0x0001352c bne v1, a3, 0x1354c |
0x00013530 lw a0, -0x1df4(s4) | a0 = *((s4 - 1917));
0x00013534 lw t9, -0x7e94(gp) | t9 = *((gp - 8101));
| if (a2 == a0) {
0x00013538 beq a2, a0, 0x1369c | goto label_0;
| }
0x0001353c move a1, a2 | a1 = a2;
0x00013540 jalr t9 | t9 ();
0x00013544 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00013548 beqz v0, 0x1369c | goto label_0;
| }
| }
0x0001354c sw s0, -0x1df4(s4) | *((s4 - 1917)) = s0;
0x00013550 sw s1, -0x1df8(s5) | *(s5) = s1;
| }
0x00013554 lw v0, -0x757c(gp) | v0 = *((gp - 7519));
0x00013558 lw t9, -0x7e40(gp) | t9 = *((gp - 8080));
0x0001355c lw a0, (v0) | a0 = *(v0);
0x00013560 jalr t9 | t9 ();
0x00013564 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013568 lw v0, -0x75bc(gp) | v0 = *((gp - 7535));
0x0001356c lw t9, (v0) | t9 = *(v0);
0x00013570 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (t9 != 0) {
0x00013574 beqz t9, 0x13588 |
0x00013578 jalr t9 | t9 ();
0x0001357c nop |
0x00013580 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013584 b 0x135a8 |
| } else {
0x00013588 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0001358c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013590 lw a0, (v0) | a0 = *(v0);
0x00013594 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00013598 addiu a1, a1, -0x7ef0 | a1 += -0x7ef0;
0x0001359c lw a2, (v0) | a2 = *(v0);
0x000135a0 bal 0x2f830 | sym_fprintf ()
0x000135a4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135a8 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (s0 != 0) {
0x000135ac beqz s0, 0x135d0 |
0x000135b0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x000135b4 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x000135b8 lw a0, (v0) | a0 = *(v0);
0x000135bc addiu a1, a1, -0x7eec | a1 += -0x7eec;
0x000135c0 move a2, s0 | a2 = s0;
0x000135c4 move a3, s1 | a3 = s1;
0x000135c8 bal 0x2f830 | sym_fprintf ()
0x000135cc lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135d0 lw s0, -0x7618(gp) | s0 = *((gp - 7558));
0x000135d4 lw t9, -0x7e58(gp) | t9 = *((gp - 8086));
0x000135d8 lw a1, 0x50(sp) | a1 = *(arg_50h);
0x000135dc lw a0, (s0) | a0 = *(s0);
0x000135e0 addiu a2, sp, 0x54 | a2 = sp + 0x54;
0x000135e4 sw a2, 0x18(sp) | *(var_18h) = a2;
0x000135e8 bal 0x33170 | sym_vfprintf ()
0x000135ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000135f0 lw v0, -0x75b0(gp) | v0 = *((gp - 7532));
0x000135f4 lw v1, (v0) | v1 = *(v0);
0x000135f8 addiu v1, v1, 1 | v1++;
0x000135fc sw v1, (v0) | *(v0) = v1;
| if (s3 != 0) {
0x00013600 beqz s3, 0x13634 |
0x00013604 lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
0x00013608 move a0, s3 | a0 = s3;
0x0001360c lw s0, (s0) | s0 = *(s0);
0x00013610 jalr t9 | t9 ();
0x00013614 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013618 move a0, s0 | a0 = s0;
0x0001361c move a2, v0 | a2 = v0;
0x00013620 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00013624 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013628 addiu a1, a1, -0x7ef8 | a1 += -0x7ef8;
0x0001362c bal 0x2f830 | sym_fprintf ()
0x00013630 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00013634 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00013638 lw a1, (v0) | a1 = *(v0);
0x0001363c lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x00013640 lw t9, -0x7e38(gp) | t9 = *((gp - 8078));
| if (v0 != 0) {
0x00013644 beqz v0, 0x13678 |
0x00013648 lw v0, 0x10(a1) | v0 = *((a1 + 4));
0x0001364c lw v1, 0x1c(a1) | v1 = *((a1 + 7));
0x00013650 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x00013654 addiu v1, zero, 0xa | v1 = 0xa;
| if (v1 != 0) {
0x00013658 beqz v1, 0x1366c |
0x0001365c sb v1, (v0) | *(v0) = v1;
0x00013660 addiu v0, v0, 1 | v0++;
0x00013664 sw v0, 0x10(a1) | *((a1 + 4)) = v0;
0x00013668 b 0x13688 | goto label_1;
| }
0x0001366c addiu a0, zero, 0xa | a0 = 0xa;
0x00013670 lw t9, -0x7e34(gp) | t9 = *((gp - 8077));
0x00013674 b 0x1367c |
| } else {
0x00013678 addiu a0, zero, 0xa | a0 = 0xa;
| }
0x0001367c jalr t9 | t9 ();
0x00013680 nop |
0x00013684 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00013688 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s2 != 0) {
0x0001368c beqz s2, 0x136a0 |
0x00013690 lw t9, -0x7e4c(gp) | t9 = *((gp - 8083));
0x00013694 move a0, s2 | a0 = s2;
0x00013698 jalr t9 | t9 ();
| label_0:
0x0001369c lw ra, 0x3c(sp) | ra = *(var_3ch);
| }
0x000136a0 lw s5, 0x38(sp) | s5 = *(var_38h);
0x000136a4 lw s4, 0x34(sp) | s4 = *(var_34h);
0x000136a8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x000136ac lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000136b0 lw s1, 0x28(sp) | s1 = *(var_28h);
0x000136b4 lw s0, 0x24(sp) | s0 = *(var_24h);
0x000136b8 addiu sp, sp, 0x40 |
0x000136bc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x4f470 */
| #include <stdint.h>
|
; (fcn) sym.herror () | void herror () {
0x0004f470 lui gp, 6 |
0x0004f474 addiu gp, gp, 0x6270 |
0x0004f478 addu gp, gp, t9 | gp += t9;
0x0004f47c addiu sp, sp, -0x28 |
0x0004f480 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004f484 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0004f488 move a2, a0 | a2 = a0;
| if (a0 != 0) {
0x0004f48c beqz a0, 0x4f4a8 |
0x0004f490 lbu v0, (a0) | v0 = *(a0);
| if (v0 != 0) {
0x0004f494 beql v0, zero, 0x4f4ac |
0x0004f498 lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0004f49c lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0004f4a0 addiu a3, a3, -0x70c0 | a3 += -0x70c0;
0x0004f4a4 b 0x4f4b0 |
| } else {
0x0004f4a8 lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
| }
0x0004f4ac addiu a3, a3, -0x70be | a3 += -0x70be;
| }
0x0004f4b0 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0004f4b4 move v0, v1 | v0 = v1;
0x0004f4b8 lw v1, -0x7570(gp) | v1 = *((gp - 7516));
0x0004f4bc addu v0, v1, v0 | v0 = v1 + v0;
0x0004f4c0 lw v0, (v0) | v0 = *(v0);
0x0004f4c4 sltiu v1, v0, 5 | v1 = (v0 < 5) ? 1 : 0;
0x0004f4c8 lw v1, -0x7ecc(gp) | v1 = *((gp - 8115));
| if (v1 != 0) {
0x0004f4cc beqz v1, 0x4f4e4 |
0x0004f4d0 sll v0, v0, 2 | v0 <<= 2;
0x0004f4d4 addiu v1, v1, -0x2e78 | v1 += -aav.0x00002e78;
0x0004f4d8 addu v0, v0, v1 | v0 += v1;
0x0004f4dc lw v0, (v0) | v0 = *(v0);
0x0004f4e0 b 0x4f4ec |
| } else {
0x0004f4e4 lw v0, -0x7fa8(gp) | v0 = *((gp - 8170));
0x0004f4e8 addiu v0, v0, -0x4d40 | v0 += -0x4d40;
| }
0x0004f4ec lw v1, -0x7618(gp) | v1 = *((gp - 7558));
0x0004f4f0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0004f4f4 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0004f4f8 lw a0, (v1) | a0 = *(v1);
0x0004f4fc addiu a1, a1, -0x6d60 | a1 += -0x6d60;
0x0004f500 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004f504 bal 0x2f830 | sym_fprintf ()
0x0004f508 lw ra, 0x24(sp) | ra = *(var_24h);
0x0004f50c addiu sp, sp, 0x28 |
0x0004f510 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2ef60 */
| #include <stdint.h>
|
; (fcn) sym.perror () | void perror () {
0x0002ef60 lui gp, 8 |
0x0002ef64 addiu gp, gp, 0x6780 |
0x0002ef68 addu gp, gp, t9 | gp += t9;
0x0002ef6c move a2, a0 | a2 = a0;
| if (a0 != 0) {
0x0002ef70 beqz a0, 0x2ef8c |
0x0002ef74 lbu v0, (a0) | v0 = *(a0);
| if (v0 != 0) {
0x0002ef78 beql v0, zero, 0x2ef90 |
0x0002ef7c lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0002ef80 lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0002ef84 addiu a3, a3, -0x70c0 | a3 += -0x70c0;
0x0002ef88 b 0x2ef98 |
| } else {
0x0002ef8c lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
| }
0x0002ef90 addiu a3, a3, -0x70be | a3 += -0x70be;
0x0002ef94 move a2, a3 | a2 = a3;
| }
0x0002ef98 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x0002ef9c lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002efa0 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002efa4 lw a0, (v0) | a0 = *(v0);
0x0002efa8 addiu a1, a1, -0x70bc | a1 += -0x70bc;
0x0002efac b 0x2f830 | return void (*0x2f830)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x3c060 */
| #include <stdint.h>
|
; (fcn) sym.psignal () | void psignal () {
0x0003c060 lui gp, 8 |
0x0003c064 addiu gp, gp, -0x6980 |
0x0003c068 addu gp, gp, t9 | gp += t9;
0x0003c06c addiu sp, sp, -0x30 |
0x0003c070 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003c074 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0003c078 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0003c07c sw s1, 0x24(sp) | *(var_24h) = s1;
0x0003c080 sw s0, 0x20(sp) | *(var_20h) = s0;
| if (a1 != 0) {
0x0003c084 beql a1, zero, 0x3c0a8 |
0x0003c088 lw s0, -0x7fa8(gp) | s0 = *((gp - 8170));
0x0003c08c lbu v0, (a1) | v0 = *(a1);
| if (v0 != 0) {
0x0003c090 beql v0, zero, 0x3c0a8 |
0x0003c094 lw s0, -0x7fa8(gp) | s0 = *((gp - 8170));
0x0003c098 lw s0, -0x7fa8(gp) | s0 = *((gp - 8170));
0x0003c09c move s1, a1 | s1 = a1;
0x0003c0a0 addiu s0, s0, -0x70c0 | s0 += -0x70c0;
0x0003c0a4 b 0x3c0b0 |
| }
| } else {
0x0003c0a8 addiu s0, s0, -0x70be | s0 += -0x70be;
0x0003c0ac move s1, s0 | s1 = s0;
| }
0x0003c0b0 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x0003c0b4 lw t9, -0x7afc(gp) | t9 = *((gp - 7871));
0x0003c0b8 lw s2, (v0) | s2 = *(v0);
0x0003c0bc bal 0x3c500 | sym_strsignal ();
0x0003c0c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003c0c4 move a0, s2 | a0 = s2;
0x0003c0c8 move a2, s1 | a2 = s1;
0x0003c0cc lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0003c0d0 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0003c0d4 move a3, s0 | a3 = s0;
0x0003c0d8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003c0dc addiu a1, a1, -0x6d60 | a1 += -0x6d60;
0x0003c0e0 bal 0x2f830 | sym_fprintf ()
0x0003c0e4 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0003c0e8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0003c0ec lw s1, 0x24(sp) | s1 = *(var_24h);
0x0003c0f0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0003c0f4 addiu sp, sp, 0x30 |
0x0003c0f8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2d880 */
| #include <stdint.h>
|
; (fcn) sym.putgrent () | void putgrent () {
0x0002d880 lui gp, 8 |
0x0002d884 addiu gp, gp, 0x7e60 |
0x0002d888 addu gp, gp, t9 | gp += t9;
0x0002d88c addiu sp, sp, -0x38 |
0x0002d890 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002d894 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0002d898 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0002d89c sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0002d8a0 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0002d8a4 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0002d8a8 sw s0, 0x20(sp) | *(var_20h) = s0;
| if (a0 != 0) {
0x0002d8ac beqz a0, 0x2d8b8 |
0x0002d8b0 lw s1, 0x48(a1) | s1 = *((a1 + 18));
| if (a1 == 0) {
0x0002d8b4 bnel a1, zero, 0x2d8d8 | goto label_0;
| }
| }
0x0002d8b8 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002d8bc move v0, v1 | v0 = v1;
0x0002d8c0 lw v1, -0x7564(gp) | v1 = *((gp - 7513));
0x0002d8c4 addiu s2, zero, -1 | s2 = -1;
0x0002d8c8 addu v0, v1, v0 | v0 = v1 + v0;
0x0002d8cc addiu v1, zero, 0x16 | v1 = 0x16;
0x0002d8d0 sw v1, (v0) | *(v0) = v1;
0x0002d8d4 b 0x2da28 | goto label_1;
| label_0:
0x0002d8d8 move s2, a0 | s2 = a0;
0x0002d8dc move s0, a1 | s0 = a1;
| if (s1 != 0) {
0x0002d8e0 bnez s1, 0x2d944 | goto label_2;
| }
0x0002d8e4 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002d8e8 lw v0, 0x54(a1) | v0 = *((a1 + 21));
0x0002d8ec addiu s3, v1, -0x7460 | s3 = v1 + -0x7460;
0x0002d8f0 addiu a0, a1, 0x4c | a0 = a1 + 0x4c;
| if (v0 == s3) {
0x0002d8f4 beq v0, s3, 0x2d938 | goto label_3;
| }
0x0002d8f8 addiu v0, zero, 1 | v0 = 1;
| do {
0x0002d8fc ll a1, 0x4c(s0) | __asm ("ll a1, 0x4c(s0)");
0x0002d900 move v1, zero | v1 = 0;
| if (a1 != s1) {
0x0002d904 bne a1, s1, 0x2d91c | goto label_4;
| }
0x0002d908 move v1, v0 | v1 = v0;
0x0002d90c sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002d910 beqz v1, 0x2d8fc |
| } while (v1 == 0);
0x0002d914 nop |
0x0002d918 sync | __asm ("sync");
| label_4:
0x0002d91c sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| if (v1 != 0) {
0x0002d920 bnel v1, zero, 0x2d938 |
0x0002d924 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
0x0002d928 jalr t9 | t9 ();
0x0002d92c nop |
0x0002d930 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002d934 sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| }
| label_3:
0x0002d938 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002d93c addiu v0, v0, 1 | v0++;
0x0002d940 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| label_2:
0x0002d944 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002d948 lw s3, -0x7f58(gp) | s3 = *((gp - 8150));
0x0002d94c lw v0, 8(s2) | v0 = *((s2 + 2));
0x0002d950 lw a2, (s2) | a2 = *(s2);
0x0002d954 lw a3, 4(s2) | a3 = *((s2 + 1));
0x0002d958 move a0, s0 | a0 = s0;
0x0002d95c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002d960 move t9, s3 | t9 = s3;
0x0002d964 addiu a1, a1, -0x70f0 | a1 += -0x70f0;
0x0002d968 bal 0x2f830 | sym_fprintf ()
0x0002d96c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0002d970 bltz v0, 0x2d9cc | goto label_5;
| }
0x0002d974 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002d978 lw s2, 0xc(s2) | s2 = *((s2 + 3));
0x0002d97c lw s4, -0x7fa8(gp) | s4 = *((gp - 8170));
0x0002d980 addiu a1, a1, -0x70e3 | a1 += -0x70e3;
| do {
0x0002d984 lw a2, (s2) | a2 = *(s2);
0x0002d988 move t9, s3 | t9 = s3;
| if (a2 == 0) {
0x0002d98c bnez a2, 0x2d9b0 |
0x0002d990 lw t9, -0x7e34(gp) | t9 = *((gp - 8077));
0x0002d994 addiu a0, zero, 0xa | a0 = 0xa;
0x0002d998 move a1, s0 | a1 = s0;
0x0002d99c bal 0x39eb0 | sym_putc_unlocked ();
0x0002d9a0 move s2, zero | s2 = 0;
| if (v0 >= 0) {
0x0002d9a4 bgez v0, 0x2d9d0 | goto label_6;
| }
0x0002d9a8 addiu s2, zero, -1 | s2 = -1;
0x0002d9ac b 0x2d9d0 | goto label_6;
| }
0x0002d9b0 move a0, s0 | a0 = s0;
0x0002d9b4 bal 0x2f830 | sym_fprintf ()
0x0002d9b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0002d9bc bltz v0, 0x2d9cc | goto label_5;
| }
0x0002d9c0 addiu s2, s2, 4 | s2 += 4;
0x0002d9c4 addiu a1, s4, -0x70e4 | a1 = s4 + -0x70e4;
0x0002d9c8 b 0x2d984 |
| } while (1);
| label_5:
0x0002d9cc addiu s2, zero, -1 | s2 = -1;
| label_6:
0x0002d9d0 lw ra, 0x34(sp) | ra = *(var_34h);
| if (s1 != 0) {
0x0002d9d4 bnez s1, 0x2da2c | goto label_7;
| }
0x0002d9d8 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002d9dc addiu v0, v0, -1 | v0 += -1;
0x0002d9e0 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| if (v0 != 0) {
0x0002d9e4 bnez v0, 0x2da28 | goto label_1;
| }
0x0002d9e8 sw zero, 0x54(s0) | *((s0 + 21)) = 0;
0x0002d9ec addiu a0, s0, 0x4c | a0 = s0 + 0x4c;
0x0002d9f0 sync | __asm ("sync");
| do {
0x0002d9f4 ll v0, 0x4c(s0) | __asm ("ll v0, 0x4c(s0)");
0x0002d9f8 move v1, s1 | v1 = s1;
0x0002d9fc sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002da00 beqz v1, 0x2d9f4 |
| } while (v1 == 0);
0x0002da04 nop |
0x0002da08 slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0002da0c lw ra, 0x34(sp) | ra = *(var_34h);
| if (v0 == 0) {
0x0002da10 bnez v0, 0x2da2c |
0x0002da14 addiu a1, zero, 0x81 | a1 = 0x81;
0x0002da18 addiu a2, zero, 1 | a2 = 1;
0x0002da1c move a3, zero | a3 = 0;
0x0002da20 addiu v0, zero, 0x108e | v0 = 0x108e;
0x0002da24 syscall | __asm ("syscall");
| label_1:
0x0002da28 lw ra, 0x34(sp) | ra = *(var_34h);
| }
| label_7:
0x0002da2c move v0, s2 | v0 = s2;
0x0002da30 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0002da34 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0002da38 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0002da3c lw s1, 0x24(sp) | s1 = *(var_24h);
0x0002da40 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002da44 addiu sp, sp, 0x38 |
0x0002da48 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2da50 */
| #include <stdint.h>
|
; (fcn) sym.putpwent () | void putpwent () {
0x0002da50 lui gp, 8 |
0x0002da54 addiu gp, gp, 0x7c90 |
0x0002da58 addu gp, gp, t9 | gp += t9;
0x0002da5c addiu sp, sp, -0x38 |
0x0002da60 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0002da64 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0002da68 move v0, a0 | v0 = a0;
| if (a0 != 0) {
0x0002da6c beqz a0, 0x2da78 |
0x0002da70 lw v1, 8(v0) | v1 = *((v0 + 2));
| if (a1 == 0) {
0x0002da74 bnel a1, zero, 0x2da98 | goto label_0;
| }
| }
0x0002da78 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002da7c move v0, v1 | v0 = v1;
0x0002da80 lw v1, -0x7564(gp) | v1 = *((gp - 7513));
0x0002da84 addu v0, v1, v0 | v0 = v1 + v0;
0x0002da88 addiu v1, zero, 0x16 | v1 = 0x16;
0x0002da8c sw v1, (v0) | *(v0) = v1;
0x0002da90 addiu v1, zero, -1 | v1 = -1;
0x0002da94 b 0x2dae4 | goto label_1;
| label_0:
0x0002da98 lw a2, (v0) | a2 = *(v0);
0x0002da9c lw a3, 4(v0) | a3 = *((v0 + 1));
0x0002daa0 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0002daa4 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x0002daa8 move a0, a1 | a0 = a1;
0x0002daac lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002dab0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002dab4 lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x0002dab8 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002dabc addiu a1, a1, -0x7150 | a1 += -0x7150;
0x0002dac0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0002dac4 lw v1, 0x14(v0) | v1 = *((v0 + 5));
0x0002dac8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0002dacc lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x0002dad0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002dad4 bal 0x2f830 | sym_fprintf ()
0x0002dad8 slti v0, v0, 0 | v0 = (v0 < 0) ? 1 : 0;
0x0002dadc addiu v1, zero, -1 | v1 = -1;
| if (v0 != 0) {
0x0002dae0 movz v1, zero, v0 | v1 = 0;
| }
| label_1:
0x0002dae4 lw ra, 0x34(sp) | ra = *(var_34h);
0x0002dae8 move v0, v1 | v0 = v1;
0x0002daec addiu sp, sp, 0x38 |
0x0002daf0 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2db00 */
| #include <stdint.h>
|
; (fcn) sym.putspent () | void putspent () {
0x0002db00 lui gp, 8 |
0x0002db04 addiu gp, gp, 0x7be0 |
0x0002db08 addu gp, gp, t9 | gp += t9;
0x0002db0c addiu sp, sp, -0x40 |
0x0002db10 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0002db14 lw s1, 0x48(a1) | s1 = *((a1 + 18));
0x0002db18 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0002db1c sw s2, 0x20(sp) | *(var_20h) = s2;
0x0002db20 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0002db24 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0002db28 sw fp, 0x38(sp) | *(var_38h) = fp;
0x0002db2c sw s7, 0x34(sp) | *(var_34h) = s7;
0x0002db30 sw s6, 0x30(sp) | *(var_30h) = s6;
0x0002db34 sw s5, 0x2c(sp) | *(var_2ch) = s5;
0x0002db38 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0002db3c sw s3, 0x24(sp) | *(var_24h) = s3;
0x0002db40 move s2, a0 | s2 = a0;
0x0002db44 move s0, a1 | s0 = a1;
| if (s1 != 0) {
0x0002db48 bnez s1, 0x2dbac | goto label_1;
| }
0x0002db4c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002db50 lw v0, 0x54(a1) | v0 = *((a1 + 21));
0x0002db54 addiu s3, v1, -0x7460 | s3 = v1 + -0x7460;
0x0002db58 addiu a0, a1, 0x4c | a0 = a1 + 0x4c;
| if (v0 == s3) {
0x0002db5c beq v0, s3, 0x2dba0 | goto label_2;
| }
0x0002db60 addiu v0, zero, 1 | v0 = 1;
| do {
0x0002db64 ll a1, 0x4c(s0) | __asm ("ll a1, 0x4c(s0)");
0x0002db68 move v1, zero | v1 = 0;
| if (a1 != s1) {
0x0002db6c bne a1, s1, 0x2db84 | goto label_3;
| }
0x0002db70 move v1, v0 | v1 = v0;
0x0002db74 sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002db78 beqz v1, 0x2db64 |
| } while (v1 == 0);
0x0002db7c nop |
0x0002db80 sync | __asm ("sync");
| label_3:
0x0002db84 sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| if (v1 != 0) {
0x0002db88 bnel v1, zero, 0x2dba0 |
0x0002db8c lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
0x0002db90 jalr t9 | t9 ();
0x0002db94 nop |
0x0002db98 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002db9c sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| }
| label_2:
0x0002dba0 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002dba4 addiu v0, v0, 1 | v0++;
0x0002dba8 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| label_1:
0x0002dbac lw a3, 4(s2) | a3 = *((s2 + 1));
0x0002dbb0 lw a2, (s2) | a2 = *(s2);
| if (a3 == 0) {
0x0002dbb4 bnez a3, 0x2dbc0 |
0x0002dbb8 lw a3, -0x7fa8(gp) | a3 = *((gp - 8170));
0x0002dbbc addiu a3, a3, -0x5200 | a3 += -0x5200;
| }
0x0002dbc0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002dbc4 lw s4, -0x7f58(gp) | s4 = *((gp - 8150));
0x0002dbc8 move a0, s0 | a0 = s0;
0x0002dbcc move t9, s4 | t9 = s4;
0x0002dbd0 addiu a1, a1, -0x70e0 | a1 += -0x70e0;
0x0002dbd4 bal 0x2f830 | sym_fprintf ()
0x0002dbd8 move s3, zero | s3 = 0;
0x0002dbdc lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dbe0 bgez v0, 0x2dbec |
| while (v0 < 0) {
0x0002dbe4 addiu s2, zero, -1 | s2 = -1;
0x0002dbe8 b 0x2dc94 | goto label_4;
0x0002dbec lw s5, -0x7fa8(gp) | s5 = *((gp - 8170));
0x0002dbf0 lw s7, -0x7fa8(gp) | s7 = *((gp - 8170));
0x0002dbf4 lw fp, -0x7fa8(gp) | fp = *((gp - 8170));
0x0002dbf8 addiu s5, s5, -0x70d0 | s5 += -0x70d0;
0x0002dbfc addiu s6, zero, -1 | s6 = -1;
0x0002dc00 addu v0, s3, s5 | v0 = s3 + s5;
| label_0:
0x0002dc04 lbu v0, (v0) | v0 = *(v0);
0x0002dc08 addiu a1, s7, -0x70d8 | a1 = s7 + -0x70d8;
0x0002dc0c move a0, s0 | a0 = s0;
0x0002dc10 addu v0, s2, v0 | v0 = s2 + v0;
0x0002dc14 lw a2, (v0) | a2 = *(v0);
0x0002dc18 addiu v0, fp, -0x70d5 | v0 = fp + -0x70d5;
0x0002dc1c move t9, s4 | t9 = s4;
0x0002dc20 xor v1, a2, s6 | v1 = a2 ^ s6;
| if (v1 != 0) {
0x0002dc24 movz a1, v0, v1 | a1 = v0;
| }
0x0002dc28 bal 0x2f830 | sym_fprintf ()
0x0002dc2c lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dc30 bltz v0, 0x2dbe4 |
| }
0x0002dc34 addiu s3, s3, 1 | s3++;
0x0002dc38 addiu v0, zero, 6 | v0 = 6;
0x0002dc3c addu v0, s3, s5 | v0 = s3 + s5;
| if (s3 != v0) {
0x0002dc40 bne s3, v0, 0x2dc04 | goto label_0;
| }
0x0002dc44 lw a2, 0x20(s2) | a2 = *((s2 + 8));
0x0002dc48 addiu v0, zero, -1 | v0 = -1;
0x0002dc4c lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0002dc50 bne a2, v0, 0x2dc74 |
| while (v0 >= 0) {
0x0002dc54 lw t9, -0x7e34(gp) | t9 = *((gp - 8077));
0x0002dc58 addiu a0, zero, 0xa | a0 = 0xa;
0x0002dc5c move a1, s0 | a1 = s0;
0x0002dc60 bal 0x39eb0 | sym_putc_unlocked ();
0x0002dc64 move s2, zero | s2 = 0;
| if (v0 > 0) {
0x0002dc68 bgtz v0, 0x2dc94 | goto label_4;
| }
0x0002dc6c addiu s2, zero, -1 | s2 = -1;
0x0002dc70 b 0x2dc94 | goto label_4;
0x0002dc74 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002dc78 move a0, s0 | a0 = s0;
0x0002dc7c addiu a1, a1, -0x5cc0 | a1 += -0x5cc0;
0x0002dc80 bal 0x2f830 | sym_fprintf ()
0x0002dc84 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dc88 bgez v0, 0x2dc54 |
| }
0x0002dc8c addiu s2, zero, -1 | s2 = -1;
0x0002dc90 b 0x2dc94 |
| label_4:
0x0002dc94 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s1 != 0) {
0x0002dc98 bnez s1, 0x2dcf0 | goto label_5;
| }
0x0002dc9c lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002dca0 addiu v0, v0, -1 | v0 += -1;
0x0002dca4 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| if (v0 != 0) {
0x0002dca8 bnez v0, 0x2dcec | goto label_6;
| }
0x0002dcac sw zero, 0x54(s0) | *((s0 + 21)) = 0;
0x0002dcb0 addiu a0, s0, 0x4c | a0 = s0 + 0x4c;
0x0002dcb4 sync | __asm ("sync");
| do {
0x0002dcb8 ll v0, 0x4c(s0) | __asm ("ll v0, 0x4c(s0)");
0x0002dcbc move v1, s1 | v1 = s1;
0x0002dcc0 sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002dcc4 beqz v1, 0x2dcb8 |
| } while (v1 == 0);
0x0002dcc8 nop |
0x0002dccc slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0002dcd0 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (v0 == 0) {
0x0002dcd4 bnez v0, 0x2dcf0 |
0x0002dcd8 addiu a1, zero, 0x81 | a1 = 0x81;
0x0002dcdc addiu a2, zero, 1 | a2 = 1;
0x0002dce0 move a3, zero | a3 = 0;
0x0002dce4 addiu v0, zero, 0x108e | v0 = 0x108e;
0x0002dce8 syscall | __asm ("syscall");
| label_6:
0x0002dcec lw ra, 0x3c(sp) | ra = *(var_3ch);
| }
| label_5:
0x0002dcf0 move v0, s2 | v0 = s2;
0x0002dcf4 lw fp, 0x38(sp) | fp = *(var_38h);
0x0002dcf8 lw s7, 0x34(sp) | s7 = *(var_34h);
0x0002dcfc lw s6, 0x30(sp) | s6 = *(var_30h);
0x0002dd00 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x0002dd04 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0002dd08 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0002dd0c lw s2, 0x20(sp) | s2 = *(var_20h);
0x0002dd10 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0002dd14 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0002dd18 addiu sp, sp, 0x40 |
0x0002dd1c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x458dc */
| #include <stdint.h>
|
; (fcn) sym.rcmd () | void rcmd () {
0x000458dc lui gp, 7 |
0x000458e0 addiu gp, gp, -0x1fc |
0x000458e4 addu gp, gp, t9 | gp += t9;
0x000458e8 addiu sp, sp, -0xb8 |
0x000458ec lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
0x000458f0 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x000458f4 move fp, sp | fp = sp;
0x000458f8 sw s7, 0xac(sp) | *(var_ach) = s7;
0x000458fc sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x00045900 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x00045904 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00045908 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x0004590c sw s2, 0x98(sp) | *(var_98h) = s2;
0x00045910 sw s1, 0x94(sp) | *(var_94h) = s1;
0x00045914 sw s0, 0x90(sp) | *(var_90h) = s0;
0x00045918 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004591c sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x00045920 sw a1, 0x80(fp) | *(var_80h) = a1;
0x00045924 move s5, a2 | s5 = a2;
0x00045928 move s2, a0 | s2 = a0;
0x0004592c move s4, a3 | s4 = a3;
0x00045930 bal 0x61cd0 | sym_getpid ();
0x00045934 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045938 addiu sp, sp, -0x408 |
0x0004593c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045940 lw s6, -0x7564(gp) | s6 = *((gp - 7513));
0x00045944 move s7, v0 | s7 = v0;
0x00045948 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x0004594c addiu s3, zero, 0x400 | s3 = aav.0x00000400;
0x00045950 addiu s1, fp, 0x74 | s1 = fp + 0x74;
0x00045954 addiu s0, fp, 0x78 | s0 = fp + 0x78;
0x00045958 addu s6, s6, v1 | s6 += v1;
0x0004595c b 0x459b8 |
| while (v0 != 0) {
0x00045960 lw v0, 0x78(fp) | v0 = *(var_78h);
| label_0:
0x00045964 addiu v1, zero, -1 | v1 = -1;
0x00045968 addiu v1, zero, 0x22 | v1 = 0x22;
| if (v0 == v1) {
0x0004596c bne v0, v1, 0x4597c |
0x00045970 lw a0, (s6) | a0 = *(s6);
0x00045974 sll s3, s3, 1 | s3 <<= 1;
| if (a0 == v1) {
0x00045978 beq a0, v1, 0x459a4 | goto label_2;
| }
| }
0x0004597c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045980 move a0, v1 | a0 = v1;
0x00045984 lw v1, -0x7570(gp) | v1 = *((gp - 7516));
0x00045988 lw t9, -0x79b0(gp) | t9 = *((gp - 7788));
0x0004598c addu a0, v1, a0 | a0 = v1 + a0;
0x00045990 sw v0, (a0) | *(a0) = v0;
0x00045994 lw a0, (s2) | a0 = *(s2);
0x00045998 bal 0x4f470 | sym_herror ();
0x0004599c addiu s0, zero, -1 | s0 = -1;
0x000459a0 b 0x45ff4 | goto label_3;
| label_2:
0x000459a4 addiu v0, s3, 0xe | v0 = s3 + 0xe;
0x000459a8 srl v0, v0, 3 | v0 >>= 3;
0x000459ac sll v0, v0, 3 | v0 <<= 3;
0x000459b0 subu sp, sp, v0 |
0x000459b4 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x000459b8 lw a0, (s2) | a0 = *(s2);
0x000459bc lw t9, -0x7a78(gp) | t9 = *((gp - 7838));
0x000459c0 sw s1, 0x10(sp) | *(var_10h) = s1;
0x000459c4 sw s0, 0x14(sp) | *(var_14h) = s0;
0x000459c8 addiu a1, fp, 0x20 | a1 = fp + 0x20;
0x000459cc move a3, s3 | a3 = s3;
0x000459d0 bal 0x54d50 | sym_gethostbyname_r ();
0x000459d4 lw gp, 0x18(fp) | gp = *(var_18h);
0x000459d8 bnez v0, 0x45960 |
| }
0x000459dc lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v0 == 0) {
0x000459e0 beql v0, zero, 0x45964 | goto label_0;
| }
0x000459e4 lw v0, 0x78(fp) | v0 = *(var_78h);
0x000459e8 addiu v1, zero, 1 | v1 = 1;
0x000459ec sh v1, 0x38(fp) | *(var_38h) = v1;
0x000459f0 sh v1, 0x40(fp) | *(var_40h) = v1;
0x000459f4 lw v0, (v0) | v0 = *(v0);
0x000459f8 lw t9, -0x79ac(gp) | t9 = *((gp - 7787));
0x000459fc lui a0, 0x10 | a0 = 0x100000;
0x00045a00 sw v0, (s2) | *(s2) = v0;
0x00045a04 bal 0x58d40 | sym_sigblock ();
0x00045a08 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045a0c move s1, v0 | s1 = v0;
0x00045a10 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045a14 lw s6, -0x7564(gp) | s6 = *((gp - 7513));
0x00045a18 addiu v0, zero, 0x3ff | v0 = 0x3ff;
0x00045a1c sw v0, 0x70(fp) | *(var_70h) = v0;
0x00045a20 addiu s3, zero, 1 | s3 = 1;
0x00045a24 addu s6, s6, v1 | s6 += v1;
| do {
| label_1:
0x00045a28 lw t9, -0x79a8(gp) | t9 = *((gp - 7786));
0x00045a2c addiu a0, fp, 0x70 | a0 = fp + 0x70;
0x00045a30 bal 0x457d8 | sym_rresvport ();
0x00045a34 move s0, v0 | s0 = v0;
0x00045a38 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x00045a3c bgez v0, 0x45a90 |
0x00045a40 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045a44 move v0, v1 | v0 = v1;
0x00045a48 lw v1, -0x7564(gp) | v1 = *((gp - 7513));
0x00045a4c addu v0, v1, v0 | v0 = v1 + v0;
0x00045a50 lw a0, (v0) | a0 = *(v0);
0x00045a54 addiu v1, zero, 0xb | v1 = 0xb;
0x00045a58 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (a0 == v1) {
0x00045a5c bne a0, v1, 0x45a70 |
0x00045a60 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045a64 lw a0, (v0) | a0 = *(v0);
0x00045a68 addiu a1, a1, -0x54f8 | a1 += -0x54f8;
0x00045a6c b 0x45a7c |
| } else {
0x00045a70 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045a74 lw a0, (v0) | a0 = *(v0);
0x00045a78 addiu a1, a1, -0x54d8 | a1 += -0x54d8;
| }
0x00045a7c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045a80 bal 0x2f830 | sym_fprintf ()
0x00045a84 nop |
0x00045a88 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045a8c b 0x45fe4 | goto label_4;
| }
0x00045a90 lw t9, -0x7e8c(gp) | t9 = *((gp - 8099));
0x00045a94 move a0, v0 | a0 = v0;
0x00045a98 addiu a1, zero, 0x18 | a1 = 0x18;
0x00045a9c move a2, s7 | a2 = s7;
0x00045aa0 jalr t9 | t9 ();
0x00045aa4 lw v0, 0x74(fp) | v0 = *(var_74h);
0x00045aa8 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045aac addiu a2, zero, 4 | a2 = 4;
0x00045ab0 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00045ab4 lw t9, -0x7f04(gp) | t9 = *((gp - 8129));
0x00045ab8 sh v1, 0x54(fp) | *(var_54h) = v1;
0x00045abc lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00045ac0 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00045ac4 lw a1, (v1) | a1 = *(v1);
0x00045ac8 sltiu a0, v0, 5 | a0 = (v0 < 5) ? 1 : 0;
| if (a0 == 0) {
0x00045acc movn a2, v0, a0 | a2 = v0;
| }
0x00045ad0 addiu a0, fp, 0x58 | a0 = fp + 0x58;
0x00045ad4 bal 0x3aeb0 | sym_memmove ();
0x00045ad8 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045adc lw t9, 0x80(fp) | t9 = *(var_80h);
0x00045ae0 move a0, s0 | a0 = s0;
0x00045ae4 addiu a1, fp, 0x54 | a1 = fp + 0x54;
0x00045ae8 sh t9, 0x56(fp) | *(var_56h) = t9;
0x00045aec lw t9, -0x7d3c(gp) | t9 = *((gp - 8015));
0x00045af0 addiu a2, zero, 0x10 | a2 = 0x10;
0x00045af4 bal 0x57b90 | sym_connect ();
0x00045af8 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00045afc bgez v0, 0x45c64 | goto label_5;
| }
0x00045b00 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00045b04 move a0, s0 | a0 = s0;
0x00045b08 bal 0x62088 | sym_libc_close ();
0x00045b0c lw v1, (s6) | v1 = *(s6);
0x00045b10 addiu v0, zero, 0x7d | v0 = 0x7d;
0x00045b14 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 != v0) {
0x00045b18 bne v1, v0, 0x45b2c | goto label_6;
| }
0x00045b1c lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045b20 addiu v0, v0, -1 | v0 += -1;
0x00045b24 sw v0, 0x70(fp) | *(var_70h) = v0;
0x00045b28 b 0x45a28 |
| } while (1);
| label_6:
0x00045b2c addiu v0, zero, 0x92 | v0 = 0x92;
0x00045b30 lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v1 == v0) {
0x00045b34 bne v1, v0, 0x45b5c |
0x00045b38 slti v0, s3, 0x11 | v0 = (s3 < 0x11) ? 1 : 0;
0x00045b3c lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v0 == 0) {
0x00045b40 beqz v0, 0x45b5c | goto label_7;
| }
0x00045b44 lw t9, -0x79a4(gp) | t9 = *((gp - 7785));
0x00045b48 move a0, s3 | a0 = s3;
0x00045b4c sll s3, s3, 1 | s3 <<= 1;
0x00045b50 bal 0x61e10 | sym_sleep ();
0x00045b54 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045b58 b 0x45a28 | goto label_1;
| }
| label_7:
0x00045b5c lw a0, 0x10(v0) | a0 = *((v0 + 4));
0x00045b60 lw a0, 4(a0) | a0 = *((a0 + 1));
0x00045b64 lw s0, -0x7618(gp) | s0 = *((gp - 7558));
| if (a0 != 0) {
0x00045b68 beqz a0, 0x45c44 |
0x00045b6c lw a3, -0x79a0(gp) | a3 = *((gp - 7784));
0x00045b70 lw a1, (s0) | a1 = *(s0);
0x00045b74 lw a0, 0x58(fp) | a0 = *(var_58h);
0x00045b78 move t9, a3 | t9 = a3;
0x00045b7c sw a3, 0x8c(fp) | *(var_8ch) = a3;
0x00045b80 sw v1, 0x88(fp) | *(var_88h) = v1;
0x00045b84 sw a1, 0x84(fp) | *(var_84h) = a1;
0x00045b88 bal 0x52900 | sym_inet_ntoa ();
0x00045b8c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045b90 lw a1, 0x84(fp) | a1 = *(var_84h);
0x00045b94 move a2, v0 | a2 = v0;
0x00045b98 lw t0, -0x7f58(gp) | t0 = *((gp - 8150));
0x00045b9c move a0, a1 | a0 = a1;
0x00045ba0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045ba4 move t9, t0 | t9 = t0;
0x00045ba8 sw t0, 0x84(fp) | *(var_84h) = t0;
0x00045bac addiu a1, a1, -0x54c4 | a1 += -0x54c4;
0x00045bb0 bal 0x2f830 | sym_fprintf ()
0x00045bb4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045bb8 lw v1, 0x88(fp) | v1 = *(var_88h);
0x00045bbc move a0, zero | a0 = 0;
0x00045bc0 lw v0, -0x7ab4(gp) | v0 = *((gp - 7853));
0x00045bc4 move t9, v0 | t9 = v0;
0x00045bc8 sw v1, (s6) | *(s6) = v1;
0x00045bcc bal 0x2ef60 | sym_perror ();
0x00045bd0 lw v0, 0x74(fp) | v0 = *(var_74h);
0x00045bd4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045bd8 addiu a2, zero, 4 | a2 = 4;
0x00045bdc lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00045be0 addiu a0, v1, 4 | a0 = v1 + 4;
0x00045be4 sw a0, 0x10(v0) | *((v0 + 4)) = a0;
0x00045be8 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00045bec lw a1, 4(v1) | a1 = *((v1 + 1));
0x00045bf0 sltiu a0, v0, 5 | a0 = (v0 < 5) ? 1 : 0;
| if (a0 == 0) {
0x00045bf4 movn a2, v0, a0 | a2 = v0;
| }
0x00045bf8 lw v0, -0x7f04(gp) | v0 = *((gp - 8129));
0x00045bfc move t9, v0 | t9 = v0;
0x00045c00 addiu a0, fp, 0x58 | a0 = fp + 0x58;
0x00045c04 bal 0x3aeb0 | sym_memmove ();
0x00045c08 lw a3, 0x8c(fp) | a3 = *(var_8ch);
0x00045c0c lw a0, 0x58(fp) | a0 = *(var_58h);
0x00045c10 move t9, a3 | t9 = a3;
0x00045c14 lw s0, (s0) | s0 = *(s0);
0x00045c18 jalr t9 | t9 ();
0x00045c1c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c20 lw t0, 0x84(fp) | t0 = *(var_84h);
0x00045c24 move a0, s0 | a0 = s0;
0x00045c28 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045c2c move a2, v0 | a2 = v0;
0x00045c30 move t9, t0 | t9 = t0;
0x00045c34 addiu a1, a1, -0x54ac | a1 += -0x54ac;
0x00045c38 jalr t9 | t9 ();
0x00045c3c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c40 b 0x45a28 | goto label_1;
| }
0x00045c44 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045c48 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045c4c lw a0, (s0) | a0 = *(s0);
0x00045c50 lw a2, (v0) | a2 = *(v0);
0x00045c54 addiu a1, a1, -0x549c | a1 += -0x549c;
0x00045c58 bal 0x2f830 | sym_fprintf ()
0x00045c5c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c60 b 0x45fe4 | goto label_4;
| label_5:
0x00045c64 lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045c68 lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045c6c addiu v0, v0, -1 | v0 += -1;
0x00045c70 sw v0, 0x70(fp) | *(var_70h) = v0;
| if (t9 == 0) {
0x00045c74 bnez t9, 0x45c9c |
0x00045c78 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045c7c lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x00045c80 move a0, s0 | a0 = s0;
0x00045c84 addiu a1, a1, -0x5200 | a1 += -0x5200;
0x00045c88 addiu a2, zero, 1 | a2 = 1;
0x00045c8c bal 0x62258 | sym_write ();
0x00045c90 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c94 sw zero, 0x70(fp) | *(var_70h) = 0;
0x00045c98 b 0x45e84 |
| } else {
0x00045c9c lw t9, -0x79a8(gp) | t9 = *((gp - 7786));
0x00045ca0 addiu a0, fp, 0x70 | a0 = fp + 0x70;
0x00045ca4 bal 0x457d8 | sym_rresvport ();
0x00045ca8 move s3, v0 | s3 = v0;
0x00045cac addiu v0, zero, 0x10 | v0 = 0x10;
0x00045cb0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045cb4 sw v0, 0x6c(fp) | *(var_6ch) = v0;
| if (s3 < 0) {
0x00045cb8 bltz s3, 0x45fd4 | goto label_8;
| }
0x00045cbc lw t9, -0x799c(gp) | t9 = *((gp - 7783));
0x00045cc0 move a0, s3 | a0 = s3;
0x00045cc4 addiu a1, zero, 1 | a1 = 1;
0x00045cc8 bal 0x57d40 | sym_listen ();
0x00045ccc lw gp, 0x18(fp) | gp = *(var_18h);
0x00045cd0 lw a3, 0x70(fp) | a3 = *(var_70h);
0x00045cd4 addiu a1, zero, 8 | a1 = 8;
0x00045cd8 lw a2, -0x7fa8(gp) | a2 = *((gp - 8170));
0x00045cdc lw t9, -0x7998(gp) | t9 = *((gp - 7782));
0x00045ce0 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045ce4 addiu a2, a2, -0x5494 | a2 += -0x5494;
0x00045ce8 bal 0x2f870 | sym_snprintf ();
0x00045cec lw gp, 0x18(fp) | gp = *(var_18h);
0x00045cf0 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x00045cf4 move t9, s6 | t9 = s6;
0x00045cf8 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045cfc bal 0x3b6b0 | sym_strlen ();
0x00045d00 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045d04 move a0, s0 | a0 = s0;
0x00045d08 addiu a1, fp, 0x64 | a1 = fp + 0x64;
0x00045d0c lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x00045d10 addiu a2, v0, 1 | a2 = v0 + 1;
0x00045d14 bal 0x62258 | sym_write ();
0x00045d18 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045d1c move t9, s6 | t9 = s6;
0x00045d20 move s7, v0 | s7 = v0;
0x00045d24 bal 0x3b6b0 | sym_strlen ();
0x00045d28 addiu v0, v0, 1 | v0++;
0x00045d2c lw gp, 0x18(fp) | gp = *(var_18h);
| if (s7 != v0) {
0x00045d30 beq s7, v0, 0x45d48 |
0x00045d34 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00045d38 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045d3c lw a0, (v0) | a0 = *(v0);
0x00045d40 addiu a1, a1, -0x5490 | a1 += -0x5490;
0x00045d44 b 0x45db8 |
| } else {
0x00045d48 lw s6, -0x7564(gp) | s6 = *((gp - 7513));
0x00045d4c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045d50 lw t9, -0x7a3c(gp) | t9 = *((gp - 7823));
0x00045d54 addu v0, s6, v1 | v0 = s6 + v1;
0x00045d58 sw s0, 0x34(fp) | *(var_34h) = s0;
0x00045d5c sw s3, 0x3c(fp) | *(var_3ch) = s3;
0x00045d60 sw zero, (v0) | *(v0) = 0;
0x00045d64 addiu a0, fp, 0x34 | a0 = fp + 0x34;
0x00045d68 addiu a1, zero, 2 | a1 = 2;
0x00045d6c addiu a2, zero, -1 | a2 = -1;
0x00045d70 jalr t9 | t9 ();
0x00045d74 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 > 0) {
0x00045d78 blez v0, 0x45d8c |
0x00045d7c lhu v0, 0x42(fp) | v0 = *(arg_42h);
0x00045d80 andi v0, v0, 1 | v0 &= 1;
0x00045d84 lw t9, -0x7994(gp) | t9 = *((gp - 7781));
| if (v0 != 0) {
0x00045d88 bnez v0, 0x45dd0 | goto label_9;
| }
| }
0x00045d8c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045d90 addu s6, s6, v1 | s6 += v1;
0x00045d94 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00045d98 lw v1, (s6) | v1 = *(s6);
0x00045d9c lw a0, (v0) | a0 = *(v0);
| if (v1 != 0) {
0x00045da0 beqz v1, 0x45db0 |
0x00045da4 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045da8 addiu a1, a1, -0x5468 | a1 += -0x5468;
0x00045dac b 0x45db8 |
| } else {
0x00045db0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045db4 addiu a1, a1, -0x5444 | a1 += -0x5444;
| }
| }
0x00045db8 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045dbc bal 0x2f830 | sym_fprintf ()
0x00045dc0 nop |
0x00045dc4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045dc8 move a0, s3 | a0 = s3;
0x00045dcc b 0x45fc4 | goto label_10;
| label_9:
0x00045dd0 move a0, s3 | a0 = s3;
0x00045dd4 addiu a1, fp, 0x44 | a1 = fp + 0x44;
0x00045dd8 addiu a2, fp, 0x6c | a2 = fp + 0x6c;
0x00045ddc bal 0x57a70 | sym_libc_accept ();
0x00045de0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045de4 move s6, v0 | s6 = v0;
0x00045de8 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00045dec move a0, s3 | a0 = s3;
0x00045df0 bal 0x62088 | sym_libc_close ();
0x00045df4 lw gp, 0x18(fp) | gp = *(var_18h);
| if (s6 < 0) {
0x00045df8 bgez s6, 0x45e20 |
0x00045dfc lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00045e00 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045e04 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045e08 lw a0, (v0) | a0 = *(v0);
0x00045e0c addiu a1, a1, -0x5418 | a1 += -aav.0x00005418;
0x00045e10 bal 0x2f830 | sym_fprintf ()
0x00045e14 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045e18 sw zero, 0x70(fp) | *(var_70h) = 0;
0x00045e1c b 0x45fd4 | goto label_8;
| }
0x00045e20 lhu v1, 0x46(fp) | v1 = *(arg_46h);
0x00045e24 lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045e28 lhu a0, 0x44(fp) | a0 = *(arg_44h);
0x00045e2c ext v0, v1, 8, 8 | __asm ("ext v0, v1, 8, 8");
0x00045e30 sll v1, v1, 8 | v1 <<= 8;
0x00045e34 or v0, v0, v1 | v0 |= v1;
0x00045e38 andi v0, v0, 0xffff | v0 &= 0xffff;
0x00045e3c addiu v1, zero, 2 | v1 = 2;
0x00045e40 sw s6, (t9) | *(t9) = s6;
0x00045e44 sh v0, 0x46(fp) | *(var_46h) = v0;
| if (a0 == v1) {
0x00045e48 bne a0, v1, 0x45e64 |
0x00045e4c sltiu v1, v0, 0x400 | v1 = (v0 < aav.0x00000400) ? 1 : 0;
| if (v1 == 0) {
0x00045e50 beql v1, zero, 0x45e68 | goto label_11;
| }
0x00045e54 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00045e58 sltiu v0, v0, 0x200 | v0 = (v0 < aav.0x00000200) ? 1 : 0;
0x00045e5c lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
| if (v0 == 0) {
0x00045e60 beqz v0, 0x45e88 | goto label_12;
| }
| }
0x00045e64 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| label_11:
0x00045e68 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045e6c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045e70 lw a0, (v0) | a0 = *(v0);
0x00045e74 addiu a1, a1, -0x5404 | a1 += -0x5404;
0x00045e78 bal 0x2f830 | sym_fprintf ()
0x00045e7c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045e80 b 0x45f3c | goto label_13;
| }
0x00045e84 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
| label_12:
0x00045e88 move t9, s6 | t9 = s6;
0x00045e8c move a0, s5 | a0 = s5;
0x00045e90 bal 0x3b6b0 | sym_strlen ();
0x00045e94 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045e98 move a1, s5 | a1 = s5;
0x00045e9c addiu a2, v0, 1 | a2 = v0 + 1;
0x00045ea0 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x00045ea4 move a0, s0 | a0 = s0;
0x00045ea8 move t9, s3 | t9 = s3;
0x00045eac addiu s5, fp, 0x6c | s5 = fp + 0x6c;
0x00045eb0 bal 0x62258 | sym_write ();
0x00045eb4 move t9, s6 | t9 = s6;
0x00045eb8 move a0, s4 | a0 = s4;
0x00045ebc bal 0x3b6b0 | sym_strlen ();
0x00045ec0 addiu a2, v0, 1 | a2 = v0 + 1;
0x00045ec4 move a1, s4 | a1 = s4;
0x00045ec8 move t9, s3 | t9 = s3;
0x00045ecc move a0, s0 | a0 = s0;
0x00045ed0 bal 0x62258 | sym_write ();
0x00045ed4 move t9, s6 | t9 = s6;
0x00045ed8 lw a0, 0xc8(fp) | a0 = *(arg_c8h);
0x00045edc bal 0x3b6b0 | sym_strlen ();
0x00045ee0 lw a1, 0xc8(fp) | a1 = *(arg_c8h);
0x00045ee4 move a0, s0 | a0 = s0;
0x00045ee8 move t9, s3 | t9 = s3;
0x00045eec addiu a2, v0, 1 | a2 = v0 + 1;
0x00045ef0 bal 0x62258 | sym_write ();
0x00045ef4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045ef8 move a0, s0 | a0 = s0;
0x00045efc move a1, s5 | a1 = s5;
0x00045f00 lw s4, -0x7f98(gp) | s4 = *((gp - 8166));
0x00045f04 move t9, s4 | t9 = s4;
0x00045f08 addiu a2, zero, 1 | a2 = 1;
0x00045f0c bal 0x62348 | sym_read ();
0x00045f10 addiu v1, zero, 1 | v1 = 1;
0x00045f14 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != v1) {
0x00045f18 beq v0, v1, 0x45f44 |
0x00045f1c lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00045f20 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00045f24 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00045f28 lw a0, (v0) | a0 = *(v0);
0x00045f2c lw a2, (s2) | a2 = *(s2);
0x00045f30 addiu a1, a1, -0x53d8 | a1 += -0x53d8;
0x00045f34 bal 0x2f830 | sym_fprintf ()
0x00045f38 lw gp, 0x18(fp) | gp = *(var_18h);
| label_13:
0x00045f3c lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045f40 b 0x45fb4 | goto label_14;
| }
0x00045f44 lbu v0, 0x6c(fp) | v0 = *(var_6ch);
0x00045f48 lw t9, -0x7990(gp) | t9 = *((gp - 7780));
| if (v0 == 0) {
0x00045f4c beqz v0, 0x45fa0 | goto label_15;
| }
0x00045f50 move s2, s5 | s2 = s5;
0x00045f54 addiu s5, zero, 0xa | s5 = 0xa;
| do {
0x00045f58 move a0, s0 | a0 = s0;
0x00045f5c move a1, s2 | a1 = s2;
0x00045f60 move t9, s4 | t9 = s4;
0x00045f64 addiu a2, zero, 1 | a2 = 1;
0x00045f68 bal 0x62348 | sym_read ();
0x00045f6c addiu v1, zero, 1 | v1 = 1;
0x00045f70 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != v1) {
0x00045f74 bne v0, v1, 0x45fb0 | goto label_16;
| }
0x00045f78 addiu a0, zero, 2 | a0 = 2;
0x00045f7c move a1, s2 | a1 = s2;
0x00045f80 move t9, s3 | t9 = s3;
0x00045f84 addiu a2, zero, 1 | a2 = 1;
0x00045f88 bal 0x62258 | sym_write ();
0x00045f8c lbu v0, 0x6c(fp) | v0 = *(var_6ch);
0x00045f90 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045f94 bne v0, s5, 0x45f58 |
| } while (v0 != s5);
0x00045f98 lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045f9c b 0x45fb4 | goto label_14;
| label_15:
0x00045fa0 move a0, s1 | a0 = s1;
0x00045fa4 bal 0x59060 | sym_sigsetmask ();
0x00045fa8 move sp, fp |
0x00045fac b 0x45ff8 | goto label_17;
| label_16:
0x00045fb0 lw v0, 0x70(fp) | v0 = *(var_70h);
| label_14:
0x00045fb4 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
| if (v0 != 0) {
0x00045fb8 beqz v0, 0x45fd8 |
0x00045fbc lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045fc0 lw a0, (t9) | a0 = *(t9);
| label_10:
0x00045fc4 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
0x00045fc8 bal 0x62088 | sym_libc_close ();
0x00045fcc nop |
0x00045fd0 lw gp, 0x18(fp) | gp = *(var_18h);
| label_8:
0x00045fd4 lw t9, -0x7f9c(gp) | t9 = *((gp - 8167));
| }
0x00045fd8 move a0, s0 | a0 = s0;
0x00045fdc bal 0x62088 | sym_libc_close ();
0x00045fe0 lw gp, 0x18(fp) | gp = *(var_18h);
| label_4:
0x00045fe4 lw t9, -0x7990(gp) | t9 = *((gp - 7780));
0x00045fe8 move a0, s1 | a0 = s1;
0x00045fec bal 0x59060 | sym_sigsetmask ();
0x00045ff0 addiu s0, zero, -1 | s0 = -1;
| label_3:
0x00045ff4 move sp, fp |
| label_17:
0x00045ff8 lw ra, 0xb4(sp) | ra = *(var_b4h);
0x00045ffc move v0, s0 | v0 = s0;
0x00046000 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x00046004 lw s7, 0xac(sp) | s7 = *(var_ach);
0x00046008 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0004600c lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x00046010 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x00046014 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x00046018 lw s2, 0x98(sp) | s2 = *(var_98h);
0x0004601c lw s1, 0x94(sp) | s1 = *(var_94h);
0x00046020 lw s0, 0x90(sp) | s0 = *(var_90h);
0x00046024 addiu sp, sp, 0xb8 |
0x00046028 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x4a8b8 */
| #include <stdint.h>
|
; (fcn) sym.svcudp_enablecache () | void svcudp_enablecache () {
0x0004a8b8 lui gp, 7 |
0x0004a8bc addiu gp, gp, -0x51d8 |
0x0004a8c0 addu gp, gp, t9 | gp += t9;
0x0004a8c4 addiu sp, sp, -0x30 |
0x0004a8c8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0004a8cc sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0004a8d0 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0004a8d4 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0004a8d8 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0004a8dc sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0004a8e0 lw s2, 0x30(a0) | s2 = *((a0 + 12));
0x0004a8e4 lw v0, 0x1b0(s2) | v0 = *(s2);
0x0004a8e8 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (v0 != 0) {
0x0004a8ec beqz v0, 0x4a908 |
0x0004a8f0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0004a8f4 lw a2, -0x7fa8(gp) | a2 = *((gp - 8170));
0x0004a8f8 lw a0, (v0) | a0 = *(v0);
0x0004a8fc addiu a1, a1, -0x7190 | a1 += -0x7190;
0x0004a900 addiu a2, a2, -0x4fe0 | a2 += -0x4fe0;
0x0004a904 b 0x4a93c |
| } else {
0x0004a908 lw t9, -0x75a0(gp) | t9 = *((gp - 7528));
0x0004a90c addiu a0, zero, 0x2c | a0 = 0x2c;
0x0004a910 move s1, a1 | s1 = a1;
0x0004a914 jalr t9 | t9 ();
0x0004a918 move s0, v0 | s0 = v0;
0x0004a91c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0004a920 bnez v0, 0x4a950 | goto label_1;
| }
0x0004a924 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x0004a928 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0004a92c lw a2, -0x7fa8(gp) | a2 = *((gp - 8170));
0x0004a930 lw a0, (v0) | a0 = *(v0);
0x0004a934 addiu a1, a1, -0x7190 | a1 += -0x7190;
0x0004a938 addiu a2, a2, -0x4fbc | a2 += -0x4fbc;
| }
| do {
| label_0:
0x0004a93c lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0004a940 bal 0x2f830 | sym_fprintf ()
0x0004a944 nop |
0x0004a948 move v0, zero | v0 = 0;
0x0004a94c b 0x4aa00 | goto label_2;
| label_1:
0x0004a950 lw t9, -0x75a0(gp) | t9 = *((gp - 7528));
0x0004a954 sll s3, s1, 4 | s3 = s1 << 4;
0x0004a958 sw s1, (v0) | *(v0) = s1;
0x0004a95c sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x0004a960 move a0, s3 | a0 = s3;
0x0004a964 jalr t9 | t9 ();
0x0004a968 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x0004a96c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0004a970 bnez v0, 0x4a990 | goto label_3;
| }
0x0004a974 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x0004a978 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0004a97c lw a2, -0x7fa8(gp) | a2 = *((gp - 8170));
0x0004a980 lw a0, (v0) | a0 = *(v0);
0x0004a984 addiu a1, a1, -0x7190 | a1 += -0x7190;
0x0004a988 addiu a2, a2, -0x4f94 | a2 += -0x4f94;
0x0004a98c b 0x4a93c |
| } while (1);
| label_3:
0x0004a990 move a2, s3 | a2 = s3;
0x0004a994 lw s3, -0x7fe4(gp) | s3 = *((gp - 8185));
0x0004a998 move a0, v0 | a0 = v0;
0x0004a99c move t9, s3 | t9 = s3;
0x0004a9a0 move a1, zero | a1 = 0;
0x0004a9a4 bal 0x3a940 | sym_memset ();
0x0004a9a8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004a9ac sll s1, s1, 2 | s1 <<= 2;
0x0004a9b0 lw t9, -0x75a0(gp) | t9 = *((gp - 7528));
0x0004a9b4 move a0, s1 | a0 = s1;
0x0004a9b8 jalr t9 | t9 ();
0x0004a9bc sw v0, 8(s0) | *((s0 + 2)) = v0;
0x0004a9c0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0004a9c4 bnez v0, 0x4a9e4 |
0x0004a9c8 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x0004a9cc lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0004a9d0 lw a2, -0x7fa8(gp) | a2 = *((gp - 8170));
0x0004a9d4 lw a0, (v0) | a0 = *(v0);
0x0004a9d8 addiu a1, a1, -0x7190 | a1 += -0x7190;
0x0004a9dc addiu a2, a2, -0x4f68 | a2 += -0x4f68;
0x0004a9e0 b 0x4a93c | goto label_0;
| }
0x0004a9e4 move a0, v0 | a0 = v0;
0x0004a9e8 move a1, zero | a1 = 0;
0x0004a9ec move t9, s3 | t9 = s3;
0x0004a9f0 move a2, s1 | a2 = s1;
0x0004a9f4 bal 0x3a940 | sym_memset ();
0x0004a9f8 sw s0, 0x1b0(s2) | *(s2) = s0;
0x0004a9fc addiu v0, zero, 1 | v0 = 1;
| label_2:
0x0004aa00 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0004aa04 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0004aa08 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0004aa0c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0004aa10 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0004aa14 addiu sp, sp, 0x30 |
0x0004aa18 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x13210 */
| #include <stdint.h>
|
; (fcn) sym.vwarnx () | void vwarnx () {
| label_0:
0x00012fe0 lui gp, 0xa |
0x00012fe4 addiu gp, gp, 0x2700 |
0x00012fe8 addu gp, gp, t9 | gp += t9;
0x00012fec addiu sp, sp, -0x70 |
0x00012ff0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00012ff4 sw s4, 0x68(sp) | *(var_68h) = s4;
0x00012ff8 sw s2, 0x60(sp) | *(var_60h) = s2;
0x00012ffc sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x00013000 sw s3, 0x64(sp) | *(var_64h) = s3;
0x00013004 sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x00013008 sw s0, 0x58(sp) | *(var_58h) = s0;
0x0001300c move s2, a0 | s2 = a0;
0x00013010 move s4, a1 | s4 = a1;
| if (a2 != 0) {
0x00013014 beqz a2, 0x1304c |
0x00013018 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0001301c move v0, v1 | v0 = v1;
0x00013020 lw v1, -0x7564(gp) | v1 = *((gp - 7513));
0x00013024 lw t9, -0x7e60(gp) | t9 = *((gp - 8088));
0x00013028 addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0001302c addu v0, v1, v0 | v0 = v1 + v0;
0x00013030 lw a0, (v0) | a0 = *(v0);
0x00013034 addiu a2, zero, 0x40 | a2 = 0x40;
0x00013038 jalr t9 | t9 ();
0x0001303c lw gp, 0x10(sp) | gp = *(var_10h);
0x00013040 lw s1, -0x7fa8(gp) | s1 = *((gp - 8170));
0x00013044 addiu s1, s1, -0x7f09 | s1 += -0x7f09;
0x00013048 b 0x13054 |
| } else {
0x0001304c lw s1, -0x7fa8(gp) | s1 = *((gp - 8170));
0x00013050 addiu s1, s1, -0x7f05 | s1 += -0x7f05;
| }
0x00013054 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x00013058 lw v0, (v0) | v0 = *(v0);
0x0001305c lw s0, 0x48(v0) | s0 = *((v0 + 18));
0x00013060 lw s3, -0x7618(gp) | s3 = *((gp - 7558));
| if (s0 != 0) {
0x00013064 bnez s0, 0x130dc | goto label_1;
| }
0x00013068 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0001306c addiu s3, v1, -0x7460 | s3 = v1 + -0x7460;
0x00013070 lw v1, 0x54(v0) | v1 = *((v0 + 21));
0x00013074 addiu a0, v0, 0x4c | a0 = v0 + 0x4c;
| if (v1 == s3) {
0x00013078 beq v1, s3, 0x130c4 | goto label_2;
| }
0x0001307c addiu a3, zero, 1 | a3 = 1;
| do {
0x00013080 ll a1, 0x4c(v0) | __asm ("ll a1, 0x4c(v0)");
0x00013084 move v1, zero | v1 = 0;
| if (a1 != s0) {
0x00013088 bne a1, s0, 0x130a0 | goto label_3;
| }
0x0001308c move v1, a3 | v1 = a3;
0x00013090 sc v1, 0x4c(v0) | __asm ("sc v1, 0x4c(v0)");
0x00013094 beqz v1, 0x13080 |
| } while (v1 == 0);
0x00013098 nop |
0x0001309c sync | __asm ("sync");
| label_3:
0x000130a0 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| if (v1 == 0) {
0x000130a4 bnez v1, 0x130bc |
0x000130a8 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
0x000130ac jalr t9 | t9 ();
0x000130b0 nop |
0x000130b4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000130b8 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
| }
0x000130bc lw v0, (v0) | v0 = *(v0);
0x000130c0 sw s3, 0x54(v0) | *((v0 + 21)) = s3;
| label_2:
0x000130c4 lw v0, -0x7618(gp) | v0 = *((gp - 7558));
0x000130c8 lw v0, (v0) | v0 = *(v0);
0x000130cc lw v1, 0x50(v0) | v1 = *((v0 + 20));
0x000130d0 addiu v1, v1, 1 | v1++;
0x000130d4 sw v1, 0x50(v0) | *((v0 + 20)) = v1;
0x000130d8 lw s3, -0x7618(gp) | s3 = *((gp - 7558));
| label_1:
0x000130dc lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000130e0 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x000130e4 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x000130e8 lw a0, (s3) | a0 = *(s3);
0x000130ec lw a2, (v0) | a2 = *(v0);
0x000130f0 addiu a1, a1, -0x7f10 | a1 += -0x7f10;
0x000130f4 bal 0x2f830 | sym_fprintf ()
0x000130f8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 != 0) {
0x000130fc beqz s2, 0x1311c |
0x00013100 lw t9, -0x7e58(gp) | t9 = *((gp - 8086));
0x00013104 lw a0, (s3) | a0 = *(s3);
0x00013108 move a1, s2 | a1 = s2;
0x0001310c move a2, s4 | a2 = s4;
0x00013110 jalr t9 | t9 ();
0x00013114 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013118 addiu s1, s1, -2 | s1 += -2;
| }
0x0001311c lw s2, -0x7618(gp) | s2 = *((gp - 7558));
0x00013120 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x00013124 move a1, s1 | a1 = s1;
0x00013128 lw a0, (s2) | a0 = *(s2);
0x0001312c addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x00013130 bal 0x2f830 | sym_fprintf ()
0x00013134 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (s0 != 0) {
0x00013138 bnez s0, 0x13194 | goto label_4;
| }
0x0001313c lw v0, (s2) | v0 = *(s2);
0x00013140 lw v1, 0x50(v0) | v1 = *((v0 + 20));
0x00013144 addiu v1, v1, -1 | v1 += -1;
0x00013148 sw v1, 0x50(v0) | *((v0 + 20)) = v1;
| if (v1 != 0) {
0x0001314c bnez v1, 0x13190 | goto label_5;
| }
0x00013150 sw zero, 0x54(v0) | *((v0 + 21)) = 0;
0x00013154 addiu a0, v0, 0x4c | a0 = v0 + 0x4c;
0x00013158 sync | __asm ("sync");
| do {
0x0001315c ll v1, 0x4c(v0) | __asm ("ll v1, 0x4c(v0)");
0x00013160 move a1, s0 | a1 = s0;
0x00013164 sc a1, 0x4c(v0) | __asm ("sc a1, 0x4c(v0)");
0x00013168 beqz a1, 0x1315c |
| } while (a1 == 0);
0x0001316c nop |
0x00013170 slti v0, v1, 2 | v0 = (v1 < 2) ? 1 : 0;
0x00013174 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (v0 == 0) {
0x00013178 bnez v0, 0x13194 |
0x0001317c addiu a1, zero, 0x81 | a1 = 0x81;
0x00013180 addiu a2, zero, 1 | a2 = 1;
0x00013184 move a3, zero | a3 = 0;
0x00013188 addiu v0, zero, 0x108e | v0 = 0x108e;
0x0001318c syscall | __asm ("syscall");
| label_5:
0x00013190 lw ra, 0x6c(sp) | ra = *(var_6ch);
| }
| label_4:
0x00013194 lw s4, 0x68(sp) | s4 = *(var_68h);
0x00013198 lw s3, 0x64(sp) | s3 = *(var_64h);
0x0001319c lw s2, 0x60(sp) | s2 = *(var_60h);
0x000131a0 lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x000131a4 lw s0, 0x58(sp) | s0 = *(var_58h);
0x000131a8 addiu sp, sp, 0x70 |
0x000131ac jr ra | return v0;
0x00013210 lui gp, 0xa |
0x00013214 addiu gp, gp, 0x24d0 |
0x00013218 addu gp, gp, t9 | gp += t9;
0x0001321c lw t9, -0x7f8c(gp) | t9 = *((gp - 8163));
0x00013220 addiu t9, t9, 0x2fe0 | t9 += 0x2fe0;
0x00013224 move a2, zero | a2 = 0;
0x00013228 b 0x12fe0 | goto label_0;
| }
[*] Function fprintf used 34 times libuClibc-0.9.33.2.so