[*] 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/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x299cc */
| #include <stdint.h>
|
; (fcn) fcn.000299cc () | void fcn_000299cc () {
| label_2:
0x000299cc lui gp, 9 |
0x000299d0 addiu gp, gp, 0x7d14 |
0x000299d4 addu gp, gp, t9 | gp += t9;
0x000299d8 addiu sp, sp, -0xb8 |
0x000299dc sw s7, 0xac(sp) | *(var_ach) = s7;
0x000299e0 lw s7, 0xc8(sp) | s7 = *(arg_c8h);
0x000299e4 sw s2, 0x98(sp) | *(var_98h) = s2;
0x000299e8 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x000299ec lw s2, (s7) | s2 = *(s7);
0x000299f0 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x000299f4 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000299f8 addiu t1, s2, 1 | t1 = s2 + 1;
0x000299fc sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x00029a00 sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x00029a04 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x00029a08 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x00029a0c sw s1, 0x94(sp) | *(var_94h) = s1;
0x00029a10 sw s0, 0x90(sp) | *(var_90h) = s0;
0x00029a14 addu fp, a3, t1 | fp = a3 + t1;
0x00029a18 lbu v0, (fp) | v0 = *(fp);
0x00029a1c addiu t2, zero, 0x27 | t2 = 0x27;
0x00029a20 move s4, a0 | s4 = a0;
0x00029a24 sw a1, 0xbc(sp) | *(arg_bch) = a1;
0x00029a28 sw a2, 0xc0(sp) | *(arg_c0h) = a2;
| if (v0 == t2) {
0x00029a2c beq v0, t2, 0x2a20c | goto label_10;
| }
0x00029a30 sltiu t2, v0, 0x28 | t2 = (v0 < 0x28) ? 1 : 0;
0x00029a34 move s6, a3 | s6 = a3;
| if (t2 != 0) {
0x00029a38 beqz t2, 0x29a58 |
0x00029a3c lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
| if (v0 == 0) {
0x00029a40 beqz v0, 0x2a210 | goto label_11;
| }
0x00029a44 addiu a0, zero, 0x22 | a0 = 0x22;
0x00029a48 sw t1, (s7) | *(s7) = t1;
| if (v0 == a0) {
0x00029a4c bnel v0, a0, 0x29cb0 | goto label_12;
| }
0x00029a50 lw a0, (s4) | a0 = *(s4);
0x00029a54 b 0x2a214 | goto label_13;
| }
0x00029a58 addiu t2, zero, 0x28 | t2 = 0x28;
0x00029a5c addiu t2, zero, 0x5b | t2 = 0x5b;
| if (v0 != t2) {
0x00029a60 beq v0, t2, 0x29a74 |
0x00029a64 sw t1, (s7) | *(s7) = t1;
| if (v0 == t2) {
0x00029a68 bnel v0, t2, 0x29cb0 | goto label_12;
| }
0x00029a6c lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x00029a70 b 0x29c80 | goto label_14;
| }
0x00029a74 addiu t1, s2, 2 | t1 = s2 + 2;
0x00029a78 addu a0, a3, t1 | a0 = a3 + t1;
0x00029a7c lbu a0, (a0) | a0 = *(a0);
0x00029a80 lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (a0 != v0) {
0x00029a84 bne a0, v0, 0x29b08 | goto label_7;
| }
0x00029a88 addiu s2, s2, 3 | s2 += 3;
0x00029a8c move a1, s2 | a1 = s2;
0x00029a90 move v0, zero | v0 = 0;
0x00029a94 addiu a2, zero, 0x29 | a2 = 0x29;
0x00029a98 addiu t2, zero, 0x28 | t2 = 0x28;
0x00029a9c b 0x29abc |
| while (v0 != 0) {
| label_0:
0x00029aa0 xori a0, a0, 0x29 | a0 ^= 0x29;
| if (a0 == t2) {
0x00029aa4 bne a0, t2, 0x29ab0 |
0x00029aa8 addiu v0, v0, 1 | v0++;
0x00029aac b 0x29ab8 |
| } else {
0x00029ab0 sltiu a0, a0, 1 | a0 = (a0 < 1) ? 1 : 0;
0x00029ab4 subu v0, v0, a0 | __asm ("subu v0, v0, a0");
| }
0x00029ab8 addiu a1, a1, 1 | a1++;
0x00029abc addu a3, s6, a1 | a3 = s6 + a1;
0x00029ac0 lbu a0, (a3) | a0 = *(a3);
0x00029ac4 lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (a0 == 0) {
0x00029ac8 beqz a0, 0x29b08 | goto label_7;
| }
0x00029acc bnez v0, 0x29aa0 |
| }
0x00029ad0 nop |
| if (a0 != a2) {
0x00029ad4 bne a0, a2, 0x29aa0 | goto label_0;
| }
0x00029ad8 nop |
0x00029adc lbu v0, 1(a3) | v0 = *(var_1h_2);
0x00029ae0 b 0x2af9c | goto label_15;
| label_8:
0x00029ae4 sw s2, (s7) | *(s7) = s2;
0x00029ae8 move a0, s4 | a0 = s4;
0x00029aec sw s7, 0x10(sp) | *(var_10h) = s7;
0x00029af0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00029af4 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00029af8 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x00029afc lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x00029b00 move a3, s6 | a3 = s6;
0x00029b04 b 0x29c98 | goto label_16;
| label_7:
0x00029b08 andi a0, t9, 4 | a0 = t9 & 4;
0x00029b0c addiu fp, zero, 4 | fp = 4;
| if (a0 != 0) {
0x00029b10 bnez a0, 0x2afc4 | goto label_17;
| }
0x00029b14 lw v1, 0xd0(sp) | v1 = *(arg_d0h);
0x00029b18 lw t9, 0xdc(sp) | t9 = *(arg_dch);
0x00029b1c sw t1, (s7) | *(s7) = t1;
0x00029b20 sw zero, 0x60(sp) | *(var_60h) = 0;
| if (t9 == 0) {
0x00029b24 movn v1, zero, t9 | v1 = 0;
| }
0x00029b28 sw v1, 0xd0(sp) | *(arg_d0h) = v1;
0x00029b2c sw zero, 0x64(sp) | *(var_64h) = 0;
0x00029b30 move s1, zero | s1 = 0;
0x00029b34 move s0, zero | s0 = 0;
0x00029b38 addiu s2, zero, 1 | s2 = 1;
0x00029b3c addiu s3, zero, 0x27 | s3 = 0x27;
0x00029b40 addiu s5, zero, 2 | s5 = 2;
0x00029b44 lw fp, -0x7fb4(gp) | fp = *((gp - 8173));
0x00029b48 b 0x29c50 |
| while (a3 != 0) {
0x00029b4c sltiu v0, a3, 0x28 | v0 = (a3 < 0x28) ? 1 : 0;
| if (a3 != s3) {
0x00029b50 beq a3, s3, 0x29b88 |
0x00029b54 addiu v0, zero, 0x28 | v0 = 0x28;
| if (v0 != 0) {
0x00029b58 beqz v0, 0x29b70 |
0x00029b5c addiu v0, zero, 0x22 | v0 = 0x22;
0x00029b60 move a0, s1 | a0 = s1;
| if (a3 != v0) {
0x00029b64 bne a3, v0, 0x29c28 | goto label_18;
| }
0x00029b68 b 0x29ba4 | goto label_19;
0x00029b6c nop |
| }
0x00029b70 addiu v0, zero, 0x29 | v0 = 0x29;
| if (a3 == v0) {
0x00029b74 beq a3, v0, 0x29c1c | goto label_20;
| }
0x00029b78 move a0, s1 | a0 = s1;
| if (a3 != v0) {
0x00029b7c bne a3, v0, 0x29c28 | goto label_18;
| }
0x00029b80 b 0x29bb8 | goto label_21;
0x00029b84 nop |
| }
| if (s0 != 0) {
0x00029b88 beql s0, zero, 0x29c24 |
0x00029b8c addiu s0, zero, 1 | s0 = 1;
0x00029b90 xori s0, s0, 1 | s0 ^= 1;
0x00029b94 move v0, s5 | v0 = s5;
| if (s0 != 0) {
0x00029b98 movz v0, zero, s0 | v0 = 0;
| }
0x00029b9c move s0, v0 | s0 = v0;
0x00029ba0 b 0x29c24 | goto label_22;
| if (s0 == 0) {
| label_19:
0x00029ba4 beql s0, zero, 0x29c24 | goto label_22;
| }
0x00029ba8 addiu s0, zero, 2 | s0 = 2;
0x00029bac xori s0, s0, 2 | s0 ^= 2;
0x00029bb0 sltu s0, zero, s0 | s0 = (0 < s0) ? 1 : 0;
0x00029bb4 b 0x29c24 | goto label_22;
| label_21:
0x00029bb8 move a0, s1 | a0 = s1;
| if (s0 != 0) {
0x00029bbc bnez s0, 0x29c28 | goto label_18;
| }
0x00029bc0 addiu s2, s2, -1 | s2 += -1;
0x00029bc4 addiu a1, sp, 0x64 | a1 = sp + 0x64;
| if (s2 != 0) {
0x00029bc8 bnez s2, 0x29c2c | goto label_23;
| }
0x00029bcc lw t9, 0xd0(sp) | t9 = *(arg_d0h);
| if (s1 == 0) {
0x00029bd0 beqz s1, 0x2af94 | goto label_24;
| }
0x00029bd4 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x00029bd8 lw a2, 0xbc(sp) | a2 = *(arg_bch);
0x00029bdc sw t9, 0x14(sp) | *(var_14h) = t9;
0x00029be0 lw t9, 0xd8(sp) | t9 = *(s2);
0x00029be4 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00029be8 lw v1, 0xd4(sp) | v1 = *(arg_d4h);
0x00029bec sw t9, 0x1c(sp) | *(var_1ch) = t9;
0x00029bf0 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029bf4 lw a3, 0xc0(sp) | a3 = *(arg_c0h);
0x00029bf8 move a0, s1 | a0 = s1;
0x00029bfc sw v1, 0x18(sp) | *(var_18h) = v1;
0x00029c00 addiu t9, t9, -0x7864 | t9 += -0x7864;
0x00029c04 move a1, s4 | a1 = s4;
0x00029c08 bal 0x2879c | fcn_0002879c ();
0x00029c0c move fp, v0 | fp = v0;
0x00029c10 lw gp, 0x28(sp) | gp = *(var_28h);
0x00029c14 move a0, s1 | a0 = s1;
0x00029c18 b 0x2af80 | goto label_25;
| label_20:
0x00029c1c sltiu v0, s0, 1 | v0 = (s0 < 1) ? 1 : 0;
0x00029c20 addu s2, s2, v0 | s2 += v0;
| }
| label_22:
0x00029c24 move a0, s1 | a0 = s1;
| label_18:
0x00029c28 addiu a1, sp, 0x64 | a1 = sp + 0x64;
| label_23:
0x00029c2c addiu t9, fp, -0x7d40 | t9 = fp + -0x7d40;
0x00029c30 addiu a2, sp, 0x60 | a2 = sp + 0x60;
0x00029c34 bal 0x282c0 | fcn_000282c0 ();
0x00029c38 move s1, v0 | s1 = v0;
0x00029c3c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029c40 beqz v0, 0x29c78 | goto label_26;
| }
0x00029c44 lw v0, (s7) | v0 = *(s7);
0x00029c48 addiu v0, v0, 1 | v0++;
0x00029c4c sw v0, (s7) | *(s7) = v0;
0x00029c50 lw v0, (s7) | v0 = *(s7);
0x00029c54 addu v0, s6, v0 | v0 = s6 + v0;
0x00029c58 lbu a3, (v0) | a3 = *(v0);
0x00029c5c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x00029c60 bnez a3, 0x29b4c |
| }
0x00029c64 move a0, s1 | a0 = s1;
0x00029c68 addiu fp, zero, 5 | fp = 5;
0x00029c6c jalr t9 | t9 ();
0x00029c70 lw ra, 0xb4(sp) | ra = *(var_b4h);
0x00029c74 b 0x2afc8 | goto label_27;
| label_26:
0x00029c78 addiu fp, zero, 1 | fp = 1;
0x00029c7c b 0x2afc4 | goto label_17;
| label_14:
0x00029c80 addiu s2, s2, 2 | s2 += 2;
0x00029c84 addiu v0, zero, 1 | v0 = 1;
0x00029c88 sw s2, (s7) | *(s7) = s2;
0x00029c8c sw s7, 0x10(sp) | *(var_10h) = s7;
0x00029c90 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00029c94 sw v0, 0x18(sp) | *(var_18h) = v0;
| label_16:
0x00029c98 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029c9c addiu t9, t9, -0x6a34 | t9 += -0x6a34;
0x00029ca0 bal 0x295cc | fcn_000295cc ();
0x00029ca4 nop |
0x00029ca8 move fp, v0 | fp = v0;
0x00029cac b 0x2afc4 | goto label_17;
| label_12:
0x00029cb0 lbu s0, (fp) | s0 = *(fp);
0x00029cb4 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00029cb8 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00029cbc xori s0, s0, 0x7b | s0 ^= 0x7b;
0x00029cc0 sltiu s0, s0, 1 | s0 = (s0 < 1) ? 1 : 0;
0x00029cc4 sw zero, 0x70(sp) | *(var_70h) = 0;
0x00029cc8 sw zero, 0x74(sp) | *(var_74h) = 0;
| if (s0 != 0) {
0x00029ccc beqz s0, 0x29cd8 |
0x00029cd0 addiu v0, s2, 2 | v0 = s2 + 2;
0x00029cd4 sw v0, (s7) | *(s7) = v0;
| }
0x00029cd8 lw v0, (s7) | v0 = *(s7);
0x00029cdc sw zero, 0x80(sp) | *(var_80h) = 0;
0x00029ce0 addu a0, s6, v0 | a0 = s6 + v0;
0x00029ce4 lbu a1, (a0) | a1 = *(a0);
0x00029ce8 addiu a0, zero, 0x23 | a0 = 0x23;
0x00029cec lw v0, (s7) | v0 = *(s7);
| if (a1 != a0) {
0x00029cf0 bnel a1, a0, 0x29d0c |
0x00029cf4 addiu t9, zero, 1 | t9 = 1;
| if (s0 == 0) {
0x00029cf8 beqz s0, 0x2a174 | goto label_28;
| }
0x00029cfc addiu v0, v0, 1 | v0++;
0x00029d00 sw v0, (s7) | *(s7) = v0;
0x00029d04 sw t9, 0x80(sp) | *(var_80h) = t9;
0x00029d08 lw v0, (s7) | v0 = *(s7);
| }
0x00029d0c addu v0, s6, v0 | v0 = s6 + v0;
0x00029d10 lbu s1, (v0) | s1 = *(v0);
0x00029d14 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
0x00029d18 sll a0, s1, 1 | a0 = s1 << 1;
0x00029d1c lw a1, (v0) | a1 = *(v0);
0x00029d20 addu a0, a1, a0 | a0 = a1 + a0;
0x00029d24 lhu a0, (a0) | a0 = *(a0);
0x00029d28 andi a1, a0, 4 | a1 = a0 & 4;
0x00029d2c andi a1, a1, 0xffff | a1 &= 0xffff;
0x00029d30 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| if (a1 == 0) {
0x00029d34 bnez a1, 0x29d48 |
0x00029d38 addiu a1, zero, 0x5f | a1 = 0x5f;
0x00029d3c andi a0, a0, 8 | a0 &= 8;
| if (s1 != a1) {
0x00029d40 bne s1, a1, 0x29dcc | goto label_29;
| }
0x00029d44 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| }
0x00029d48 lw t1, -0x7f78(gp) | t1 = *((gp - 8158));
0x00029d4c move s3, zero | s3 = 0;
0x00029d50 addiu s1, zero, 0x5f | s1 = 0x5f;
0x00029d54 lw v0, (s7) | v0 = *(s7);
| do {
| label_1:
0x00029d58 move a0, s3 | a0 = s3;
0x00029d5c addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029d60 addu v0, s6, v0 | v0 = s6 + v0;
0x00029d64 lbu a3, (v0) | a3 = *(v0);
0x00029d68 addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029d6c addiu t9, s5, -0x7d40 | t9 = s5 + -0x7d40;
0x00029d70 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x00029d74 bal 0x282c0 | fcn_000282c0 ();
0x00029d78 move s3, v0 | s3 = v0;
0x00029d7c lw gp, 0x28(sp) | gp = *(var_28h);
0x00029d80 lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x00029d84 beqz v0, 0x2af60 | goto label_30;
| }
0x00029d88 lw v0, (s7) | v0 = *(s7);
0x00029d8c lw a1, (t1) | a1 = *(t1);
0x00029d90 addiu v0, v0, 1 | v0++;
0x00029d94 sw v0, (s7) | *(s7) = v0;
0x00029d98 addu v0, s6, v0 | v0 = s6 + v0;
0x00029d9c lbu v0, (v0) | v0 = *(v0);
0x00029da0 sll a0, v0, 1 | a0 = v0 << 1;
0x00029da4 addu a0, a1, a0 | a0 = a1 + a0;
0x00029da8 lhu a0, (a0) | a0 = *(a0);
0x00029dac andi a0, a0, 0x800 | a0 &= aav.0x00000800;
0x00029db0 andi a0, a0, 0xffff | a0 &= 0xffff;
0x00029db4 lw v0, (s7) | v0 = *(s7);
0x00029db8 bnel a0, zero, 0x29d58 |
| } while (a0 == 0);
| if (v0 == s1) {
0x00029dbc beql v0, s1, 0x29d58 | goto label_1;
| }
0x00029dc0 lw v0, (s7) | v0 = *(s7);
0x00029dc4 move t2, zero | t2 = 0;
0x00029dc8 b 0x29ec4 | goto label_31;
| label_29:
0x00029dcc andi a0, a0, 0xffff | a0 &= 0xffff;
0x00029dd0 lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
| if (a0 == 0) {
0x00029dd4 beqz a0, 0x29e54 | goto label_32;
| }
0x00029dd8 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
0x00029ddc move s3, zero | s3 = 0;
0x00029de0 move s1, v0 | s1 = v0;
0x00029de4 lw v0, (s7) | v0 = *(s7);
| do {
0x00029de8 move a0, s3 | a0 = s3;
0x00029dec addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029df0 addu v0, s6, v0 | v0 = s6 + v0;
0x00029df4 lbu a3, (v0) | a3 = *(v0);
0x00029df8 addiu t9, s5, -0x7d40 | t9 = s5 + -0x7d40;
0x00029dfc addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029e00 bal 0x282c0 | fcn_000282c0 ();
0x00029e04 move s3, v0 | s3 = v0;
0x00029e08 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029e0c beqz v0, 0x2af60 | goto label_30;
| }
0x00029e10 addiu t2, zero, 1 | t2 = 1;
| if (s0 == 0) {
0x00029e14 beqz s0, 0x2a190 | goto label_33;
| }
0x00029e18 lw v0, (s7) | v0 = *(s7);
0x00029e1c lw a0, (s1) | a0 = *(s1);
0x00029e20 addiu v0, v0, 1 | v0++;
0x00029e24 sw v0, (s7) | *(s7) = v0;
0x00029e28 addu v0, s6, v0 | v0 = s6 + v0;
0x00029e2c lbu v0, (v0) | v0 = *(v0);
0x00029e30 sll v0, v0, 1 | v0 <<= 1;
0x00029e34 addu v0, a0, v0 | v0 = a0 + v0;
0x00029e38 lhu v0, (v0) | v0 = *(v0);
0x00029e3c andi v0, v0, 8 | v0 &= 8;
0x00029e40 andi v0, v0, 0xffff | v0 &= 0xffff;
0x00029e44 lw v0, (s7) | v0 = *(s7);
0x00029e48 bnez v0, 0x29de8 |
| } while (v0 != 0);
0x00029e4c b 0x29ed0 | goto label_34;
0x00029e50 nop |
| label_32:
0x00029e54 lw t9, -0x7f94(gp) | t9 = *((gp - 8165));
0x00029e58 move a1, s1 | a1 = s1;
0x00029e5c addiu a0, a0, 0x5500 | a0 += 0x5500;
0x00029e60 bal 0x3b410 | sym_index ();
0x00029e64 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00029e68 beqz v0, 0x29ea8 |
0x00029e6c lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x00029e70 move a0, zero | a0 = 0;
0x00029e74 addiu a1, sp, 0x7c | a1 = sp + 0x7c;
0x00029e78 addiu a2, sp, 0x78 | a2 = sp + 0x78;
0x00029e7c addiu t9, t9, -0x7d40 | t9 += -0x7d40;
0x00029e80 move a3, s1 | a3 = s1;
0x00029e84 bal 0x282c0 | fcn_000282c0 ();
0x00029e88 move s3, v0 | s3 = v0;
0x00029e8c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00029e90 beqz v0, 0x2af60 | goto label_30;
| }
0x00029e94 lw v0, (s7) | v0 = *(s7);
0x00029e98 addiu t2, zero, 1 | t2 = 1;
0x00029e9c addiu v0, v0, 1 | v0++;
0x00029ea0 sw v0, (s7) | *(s7) = v0;
0x00029ea4 b 0x29ec4 |
| } else {
0x00029ea8 addiu fp, zero, 5 | fp = 5;
| if (s0 == 0) {
0x00029eac bnel s0, zero, 0x2af64 | goto label_35;
| }
0x00029eb0 move t2, zero | t2 = 0;
0x00029eb4 move s3, zero | s3 = 0;
0x00029eb8 move s5, zero | s5 = 0;
0x00029ebc move s1, zero | s1 = 0;
0x00029ec0 b 0x2a164 | goto label_36;
| }
| label_31:
0x00029ec4 move s5, zero | s5 = 0;
| if (s0 == 0) {
0x00029ec8 beqz s0, 0x2a15c | goto label_37;
| }
0x00029ecc lw v0, (s7) | v0 = *(s7);
| label_34:
0x00029ed0 addu a0, s6, v0 | a0 = s6 + v0;
0x00029ed4 lbu s1, (a0) | s1 = *(a0);
0x00029ed8 addiu a0, zero, 0x2d | a0 = 0x2d;
0x00029edc sltiu a0, s1, 0x2e | a0 = (s1 < 0x2e) ? 1 : 0;
| if (s1 != a0) {
0x00029ee0 beq s1, a0, 0x29fc0 |
0x00029ee4 addiu a0, zero, 0x3d | a0 = 0x3d;
| if (a0 != 0) {
0x00029ee8 beqz a0, 0x29f10 |
0x00029eec addiu a0, zero, 0x25 | a0 = 0x25;
0x00029ef0 addiu a0, zero, 0x2b | a0 = 0x2b;
| if (s1 == a0) {
0x00029ef4 beq s1, a0, 0x29f68 | goto label_38;
| }
0x00029ef8 addiu a0, zero, 0x23 | a0 = 0x23;
| if (s1 == a0) {
0x00029efc beq s1, a0, 0x29fc0 | goto label_39;
| }
0x00029f00 addiu fp, zero, 5 | fp = 5;
| if (s1 == a0) {
0x00029f04 bnel s1, a0, 0x2af44 | goto label_40;
| }
0x00029f08 addiu v0, v0, 1 | v0++;
0x00029f0c b 0x29f4c |
| } else {
0x00029f10 sltiu a0, s1, 0x3e | a0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 == a0) {
0x00029f14 beq s1, a0, 0x29fc0 | goto label_39;
| }
| if (a0 != 0) {
0x00029f18 beql a0, zero, 0x29f34 |
0x00029f1c addiu v0, zero, 0x3f | v0 = 0x3f;
0x00029f20 addiu a0, zero, 0x3a | a0 = 0x3a;
0x00029f24 addiu fp, zero, 5 | fp = 5;
| if (s1 == a0) {
0x00029f28 bnel s1, a0, 0x2af44 | goto label_40;
| }
0x00029f2c addiu s1, v0, 1 | s1 = v0 + 1;
0x00029f30 b 0x29f88 | goto label_41;
| }
0x00029f34 addiu v0, zero, 0x7d | v0 = 0x7d;
| if (s1 == v0) {
0x00029f38 beq s1, v0, 0x29fc0 | goto label_39;
| }
0x00029f3c addiu fp, zero, 5 | fp = 5;
| if (s1 == v0) {
0x00029f40 bnel s1, v0, 0x2af44 | goto label_40;
| }
0x00029f44 move s5, zero | s5 = 0;
0x00029f48 b 0x2a194 | goto label_42;
| }
0x00029f4c addu a0, s6, v0 | a0 = s6 + v0;
0x00029f50 lbu a0, (a0) | a0 = *(a0);
0x00029f54 move s5, zero | s5 = 0;
| if (a0 == s1) {
0x00029f58 bne a0, s1, 0x29fc8 |
0x00029f5c sw v0, (s7) | *(s7) = v0;
0x00029f60 addiu s1, zero, 0x4c | s1 = 0x4c;
0x00029f64 b 0x29fd4 | goto label_43;
| label_38:
0x00029f68 addiu v0, v0, 1 | v0++;
0x00029f6c addu a0, s6, v0 | a0 = s6 + v0;
0x00029f70 lbu a0, (a0) | a0 = *(a0);
0x00029f74 move s5, zero | s5 = 0;
| if (a0 == s1) {
0x00029f78 bne a0, s1, 0x29fd0 |
0x00029f7c sw v0, (s7) | *(s7) = v0;
0x00029f80 addiu s1, zero, 0x52 | s1 = 0x52;
0x00029f84 b 0x29fd4 | goto label_43;
| label_41:
0x00029f88 lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
0x00029f8c addu s0, s6, s1 | s0 = s6 + s1;
0x00029f90 lbu a1, (s0) | a1 = *(s0);
0x00029f94 lw t9, -0x7f94(gp) | t9 = *((gp - 8165));
0x00029f98 sw t2, 0x88(sp) | *(var_88h) = t2;
0x00029f9c addiu a0, a0, 0x5504 | a0 += 0x5504;
0x00029fa0 bal 0x3b410 | sym_index ();
0x00029fa4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00029fa8 lw t2, 0x88(sp) | t2 = *(var_88h);
| if (v0 == 0) {
0x00029fac beqz v0, 0x2af40 | goto label_44;
| }
0x00029fb0 sw s1, (s7) | *(s7) = s1;
0x00029fb4 lbu s1, (s0) | s1 = *(s0);
0x00029fb8 addiu s5, zero, 1 | s5 = 1;
0x00029fbc b 0x29fd4 |
| label_39:
0x00029fc0 move s5, zero | s5 = 0;
0x00029fc4 b 0x29fd4 |
0x00029fc8 addiu s1, zero, 0x23 | s1 = 0x23;
0x00029fcc b 0x29fd4 |
| } else {
| } else {
| } else {
0x00029fd0 addiu s1, zero, 0x25 | s1 = 0x25;
| }
| }
| }
| label_43:
0x00029fd4 lw v0, (s7) | v0 = *(s7);
0x00029fd8 move t1, zero | t1 = 0;
0x00029fdc move t3, zero | t3 = 0;
0x00029fe0 addiu v0, v0, 1 | v0++;
0x00029fe4 sw v0, (s7) | *(s7) = v0;
0x00029fe8 move s0, zero | s0 = 0;
0x00029fec b 0x2a140 |
| if (v0 != v1) {
| while (v0 != 0) {
0x00029ff0 beq v0, v1, 0x2a05c |
0x00029ff4 nop |
0x00029ff8 sltiu a0, v0, 0x5d | a0 = (v0 < 0x5d) ? 1 : 0;
0x00029ffc addiu t9, zero, 0x7b | t9 = 0x7b;
| if (a0 != 0) {
0x0002a000 beqz a0, 0x2a020 |
0x0002a004 addiu a0, zero, 0x22 | a0 = 0x22;
0x0002a008 addiu a0, zero, 0x27 | a0 = 0x27;
| if (v0 == a0) {
0x0002a00c beq v0, a0, 0x2a0dc | goto label_45;
| }
0x0002a010 lw v0, (s7) | v0 = *(s7);
| if (v0 == a0) {
0x0002a014 bnel v0, a0, 0x2a0f0 | goto label_46;
| }
0x0002a018 b 0x2a0c0 | goto label_47;
0x0002a01c nop |
| }
0x0002a020 addiu a0, zero, 0x7d | a0 = 0x7d;
| if (v0 != t9) {
0x0002a024 beq v0, t9, 0x2a038 |
0x0002a028 lw v0, (s7) | v0 = *(s7);
| if (v0 == a0) {
0x0002a02c bnel v0, a0, 0x2a0f0 | goto label_46;
| }
0x0002a030 b 0x2a044 | goto label_48;
0x0002a034 nop |
| }
0x0002a038 sltiu v0, t1, 1 | v0 = (t1 < 1) ? 1 : 0;
0x0002a03c addu t3, t3, v0 | t3 += v0;
0x0002a040 b 0x2a0ec | goto label_49;
| label_48:
0x0002a044 lw v0, (s7) | v0 = *(s7);
| if (t1 == 0) {
0x0002a048 bnel t1, zero, 0x2a0f0 | goto label_46;
| }
0x0002a04c addiu t3, t3, -1 | t3 += -1;
| if (t3 == 0) {
0x0002a050 beqz t3, 0x2a19c | goto label_50;
| }
0x0002a054 lw v0, (s7) | v0 = *(s7);
0x0002a058 b 0x2a0f0 |
| } else {
0x0002a05c lw v0, (s7) | v0 = *(s7);
| if (t1 == 0) {
0x0002a060 bnel t1, zero, 0x2a0f0 | goto label_46;
| }
0x0002a064 addiu a0, a0, 1 | a0++;
0x0002a068 sw a0, (s7) | *(s7) = a0;
0x0002a06c addu a0, s6, a0 | a0 = s6 + a0;
0x0002a070 lbu v0, (a0) | v0 = *(a0);
0x0002a074 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
| if (v0 == 0) {
0x0002a078 beqz v0, 0x2af4c | goto label_51;
| }
0x0002a07c move a0, s0 | a0 = s0;
0x0002a080 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a084 sw t2, 0x88(sp) | *(var_88h) = t2;
0x0002a088 sw t3, 0x84(sp) | *(var_84h) = t3;
0x0002a08c addiu a1, sp, 0x74 | a1 = sp + 0x74;
0x0002a090 addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x0002a094 addiu t9, v0, -0x7d40 | t9 = v0 + -0x7d40;
0x0002a098 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a09c bal 0x282c0 | fcn_000282c0 ();
0x0002a0a0 move s0, v0 | s0 = v0;
0x0002a0a4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a0a8 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a0ac lw t2, 0x88(sp) | t2 = *(var_88h);
0x0002a0b0 lw t3, 0x84(sp) | t3 = *(var_84h);
| if (v0 == 0) {
0x0002a0b4 bnez v0, 0x2a0ec |
0x0002a0b8 addiu fp, zero, 1 | fp = 1;
0x0002a0bc b 0x2af6c | goto label_52;
| if (t1 == 0) {
| label_47:
0x0002a0c0 beql t1, zero, 0x2a0ec | goto label_49;
| }
0x0002a0c4 addiu t1, zero, 1 | t1 = 1;
0x0002a0c8 xori t1, t1, 1 | t1 ^= 1;
0x0002a0cc addiu v0, zero, 2 | v0 = 2;
| if (t1 != 0) {
0x0002a0d0 movz v0, zero, t1 | v0 = 0;
| }
0x0002a0d4 move t1, v0 | t1 = v0;
0x0002a0d8 b 0x2a0ec | goto label_49;
| if (t1 == 0) {
| label_45:
0x0002a0dc beql t1, zero, 0x2a0ec | goto label_49;
| }
0x0002a0e0 addiu t1, zero, 2 | t1 = 2;
0x0002a0e4 xori t1, t1, 2 | t1 ^= 2;
0x0002a0e8 sltu t1, zero, t1 | t1 = (0 < t1) ? 1 : 0;
| }
| label_49:
0x0002a0ec lw v0, (s7) | v0 = *(s7);
| }
| label_46:
0x0002a0f0 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a0f4 move a0, s0 | a0 = s0;
0x0002a0f8 addu v0, s6, v0 | v0 = s6 + v0;
0x0002a0fc lbu a3, (v0) | a3 = *(v0);
0x0002a100 addiu a1, sp, 0x74 | a1 = sp + 0x74;
0x0002a104 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a108 sw t2, 0x88(sp) | *(var_88h) = t2;
0x0002a10c sw t3, 0x84(sp) | *(var_84h) = t3;
0x0002a110 addiu t9, v1, -0x7d40 | t9 = v1 + -0x7d40;
0x0002a114 addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x0002a118 bal 0x282c0 | fcn_000282c0 ();
0x0002a11c move s0, v0 | s0 = v0;
0x0002a120 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a124 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a128 lw t2, 0x88(sp) | t2 = *(var_88h);
0x0002a12c lw t3, 0x84(sp) | t3 = *(var_84h);
| if (v0 == 0) {
0x0002a130 beqz v0, 0x2af54 | goto label_53;
| }
0x0002a134 lw v0, (s7) | v0 = *(s7);
0x0002a138 addiu v0, v0, 1 | v0++;
0x0002a13c sw v0, (s7) | *(s7) = v0;
0x0002a140 lw a0, (s7) | a0 = *(s7);
0x0002a144 addu v0, s6, a0 | v0 = s6 + a0;
0x0002a148 lbu v0, (v0) | v0 = *(v0);
0x0002a14c addiu v1, zero, 0x5c | v1 = 0x5c;
0x0002a150 bnez v0, 0x29ff0 |
| }
0x0002a154 lw v0, (s7) | v0 = *(s7);
0x0002a158 b 0x2a168 | goto label_54;
| label_37:
0x0002a15c move s1, zero | s1 = 0;
0x0002a160 move s0, zero | s0 = 0;
| label_36:
0x0002a164 lw v0, (s7) | v0 = *(s7);
| label_54:
0x0002a168 addiu v0, v0, -1 | v0 += -1;
0x0002a16c sw v0, (s7) | *(s7) = v0;
0x0002a170 b 0x2a19c | goto label_50;
| label_28:
0x0002a174 move t2, zero | t2 = 0;
0x0002a178 sw t9, 0x80(sp) | *(var_80h) = t9;
0x0002a17c move s5, zero | s5 = 0;
0x0002a180 move s1, zero | s1 = 0;
0x0002a184 move s0, zero | s0 = 0;
0x0002a188 move s3, zero | s3 = 0;
0x0002a18c b 0x2a19c | goto label_50;
| label_33:
0x0002a190 move s5, zero | s5 = 0;
| label_42:
0x0002a194 move s1, zero | s1 = 0;
0x0002a198 move s0, zero | s0 = 0;
| label_50:
0x0002a19c lbu a0, (fp) | a0 = *(fp);
0x0002a1a0 addiu v0, zero, 0x7b | v0 = 0x7b;
0x0002a1a4 addiu a0, zero, 0x7d | a0 = 0x7d;
| if (a0 == v0) {
0x0002a1a8 bne a0, v0, 0x2a1c0 |
0x0002a1ac lw v0, (s7) | v0 = *(s7);
0x0002a1b0 addu t0, s6, v0 | t0 = s6 + v0;
0x0002a1b4 lbu a1, (t0) | a1 = *(t0);
0x0002a1b8 addiu fp, zero, 5 | fp = 5;
| if (a1 != a0) {
0x0002a1bc bne a1, a0, 0x2af6c | goto label_52;
| }
| }
0x0002a1c0 lw v1, -0x7f78(gp) | v1 = *((gp - 8158));
| if (s3 == 0) {
0x0002a1c4 bnez s3, 0x2a234 |
0x0002a1c8 lw v1, 0x80(sp) | v1 = *(var_80h);
0x0002a1cc lw v0, -0x7f70(gp) | v0 = *((gp - 8156));
| if (v1 != 0) {
0x0002a1d0 beqz v1, 0x2a208 |
0x0002a1d4 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002a1d8 lw t9, -0x7f74(gp) | t9 = *((gp - 8157));
0x0002a1dc lw a2, (v0) | a2 = *(v0);
0x0002a1e0 sb zero, 0x5c(sp) | *(s) = 0;
0x0002a1e4 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a1e8 addiu a2, a2, -1 | a2 += -1;
0x0002a1ec addiu a1, a1, 0x54f8 | a1 += 0x54f8;
0x0002a1f0 sra a3, a2, 0x1f | a3 = a2 >> 0x1f;
0x0002a1f4 bal 0x2f960 | sym_sprintf ();
0x0002a1f8 move s2, zero | s2 = 0;
0x0002a1fc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a200 sw zero, 0x80(sp) | *(var_80h) = 0;
0x0002a204 b 0x2a2c4 | goto label_55;
| }
0x0002a208 sw s2, (s7) | *(s7) = s2;
| label_10:
0x0002a20c lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
| label_11:
0x0002a210 lw a0, (s4) | a0 = *(s4);
| label_13:
0x0002a214 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a218 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a21c addiu t9, t9, -0x7d40 | t9 += -0x7d40;
0x0002a220 addiu a3, zero, 0x24 | a3 = 0x24;
0x0002a224 bal 0x282c0 | fcn_000282c0 ();
0x0002a228 sw v0, (s4) | *(s4) = v0;
| label_4:
0x0002a22c sltiu fp, v0, 1 | fp = (v0 < 1) ? 1 : 0;
0x0002a230 b 0x2afc4 | goto label_17;
| }
0x0002a234 lbu v0, (s3) | v0 = *(s3);
0x0002a238 lw a0, (v1) | a0 = *(v1);
0x0002a23c sll v1, v0, 1 | v1 = v0 << 1;
0x0002a240 addu v1, a0, v1 | v1 = a0 + v1;
0x0002a244 lhu v1, (v1) | v1 = *(v1);
0x0002a248 andi v1, v1, 8 | v1 &= 8;
0x0002a24c andi v1, v1, 0xffff | v1 &= 0xffff;
0x0002a250 lw t9, -0x7f6c(gp) | t9 = *((gp - 8155));
| if (v1 != 0) {
0x0002a254 beqz v1, 0x2a280 |
0x0002a258 move a0, s3 | a0 = s3;
0x0002a25c jalr t9 | t9 ();
0x0002a260 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a264 lw v1, -0x7f70(gp) | v1 = *((gp - 8156));
0x0002a268 lw v1, (v1) | v1 = *(v1);
0x0002a26c slt v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
| if (v1 == 0) {
0x0002a270 beql v1, zero, 0x2a58c | goto label_56;
| }
0x0002a274 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002a278 lw v1, -0x7f68(gp) | v1 = *((gp - 8154));
0x0002a27c b 0x2a544 | goto label_57;
| }
0x0002a280 addiu v1, zero, 0x24 | v1 = 0x24;
| if (t2 == 0) {
0x0002a284 beqz t2, 0x2a56c | goto label_58;
| }
0x0002a288 addiu v1, zero, 0x2a | v1 = 0x2a;
| if (v0 == v1) {
0x0002a28c bne v0, v1, 0x2a2cc |
0x0002a290 lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
0x0002a294 sb zero, 0x5c(sp) | *(s) = 0;
0x0002a298 move s2, zero | s2 = 0;
0x0002a29c jalr t9 | t9 ();
0x0002a2a0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a2a4 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a2a8 move a2, v0 | a2 = v0;
0x0002a2ac lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002a2b0 lw t9, -0x7f74(gp) | t9 = *((gp - 8157));
0x0002a2b4 sra a3, v0, 0x1f | a3 = v0 >> 0x1f;
0x0002a2b8 addiu a1, a1, 0x54f8 | a1 += 0x54f8;
0x0002a2bc bal 0x2f960 | sym_sprintf ();
0x0002a2c0 lw gp, 0x28(sp) | gp = *(var_28h);
| label_55:
0x0002a2c4 addiu s6, sp, 0x5c | s6 = sp + 0x5c;
0x0002a2c8 b 0x2a5a0 | goto label_59;
| }
0x0002a2cc addiu v1, zero, 0x40 | v1 = 0x40;
| if (v0 != v1) {
0x0002a2d0 beq v0, v1, 0x2a2dc |
0x0002a2d4 lw v0, -0x7f70(gp) | v0 = *((gp - 8156));
| if (v0 == v1) {
0x0002a2d8 bnel v0, v1, 0x2a45c | goto label_60;
| }
| }
0x0002a2dc lw t9, 0x80(sp) | t9 = *(var_80h);
0x0002a2e0 addiu a0, zero, 0x2a | a0 = 0x2a;
| if (t9 != 0) {
0x0002a2e4 beqz t9, 0x2a364 |
0x0002a2e8 lw v0, -0x7f70(gp) | v0 = *((gp - 8156));
0x0002a2ec sb zero, 0x5c(sp) | *(s) = 0;
0x0002a2f0 lw v0, (v0) | v0 = *(v0);
| if (v0 > 0) {
0x0002a2f4 blezl v0, 0x2a30c |
0x0002a2f8 move a2, zero | a2 = 0;
0x0002a2fc addiu v0, v0, -1 | v0 += -1;
0x0002a300 move a2, v0 | a2 = v0;
0x0002a304 sra a3, v0, 0x1f | a3 = v0 >> 0x1f;
0x0002a308 b 0x2a310 |
| } else {
0x0002a30c move a3, zero | a3 = 0;
| }
0x0002a310 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002a314 lw t9, -0x7f74(gp) | t9 = *((gp - 8157));
0x0002a318 addiu a0, sp, 0x5c | a0 = sp + 0x5c;
0x0002a31c addiu a1, a1, 0x54f8 | a1 += 0x54f8;
0x0002a320 bal 0x2f960 | sym_sprintf ();
0x0002a324 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a328 lw a0, (s4) | a0 = *(s4);
0x0002a32c lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a330 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002a334 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a338 addiu t9, t9, -0x7998 | t9 += -0x7998;
0x0002a33c addiu a3, sp, 0x5c | a3 = sp + 0x5c;
0x0002a340 bal 0x28668 | fcn_00028668 ();
0x0002a344 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a348 move a0, s3 | a0 = s3;
0x0002a34c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002a350 sw v0, (s4) | *(s4) = v0;
0x0002a354 jalr t9 | t9 ();
0x0002a358 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a35c move a0, s0 | a0 = s0;
0x0002a360 b 0x2adc4 | goto label_61;
| }
0x0002a364 addiu s7, zero, 1 | s7 = 1;
0x0002a368 move s6, zero | s6 = 0;
| if (v0 == a0) {
0x0002a36c beq v0, a0, 0x2a3ac | goto label_62;
| }
0x0002a370 addiu v1, zero, 0x40 | v1 = 0x40;
0x0002a374 lw v0, -0x7f70(gp) | v0 = *((gp - 8156));
| if (v0 != v1) {
0x0002a378 bne v0, v1, 0x2a45c | goto label_60;
| }
0x0002a37c lw v1, 0xdc(sp) | v1 = *(arg_dch);
| if (v1 == 0) {
0x0002a380 beqz v1, 0x2a3a8 | goto label_63;
| }
0x0002a384 nop |
0x0002a388 addiu v1, zero, 2 | v1 = 2;
0x0002a38c b 0x2a460 | goto label_64;
| do {
0x0002a390 addiu s7, s7, 1 | s7++;
0x0002a394 bal 0x3b6e0 | sym_strlen ();
0x0002a398 addiu v0, v0, 1 | v0++;
0x0002a39c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a3a0 addu s6, s6, v0 | s6 += v0;
0x0002a3a4 b 0x2a3b4 | goto label_65;
| label_63:
0x0002a3a8 move s6, zero | s6 = 0;
| label_62:
0x0002a3ac lw fp, -0x7f68(gp) | fp = *((gp - 8154));
0x0002a3b0 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
| label_65:
0x0002a3b4 lw a0, (fp) | a0 = *(fp);
0x0002a3b8 sll v0, s7, 2 | v0 = s7 << 2;
0x0002a3bc addu v0, a0, v0 | v0 = a0 + v0;
0x0002a3c0 lw a0, (v0) | a0 = *(v0);
0x0002a3c4 move t9, s2 | t9 = s2;
0x0002a3c8 bnez a0, 0x2a390 |
| } while (a0 != 0);
0x0002a3cc lw t9, -0x759c(gp) | t9 = *((gp - 7527));
0x0002a3d0 move a0, s6 | a0 = s6;
0x0002a3d4 jalr t9 | t9 ();
0x0002a3d8 move s6, v0 | s6 = v0;
0x0002a3dc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a3e0 beqz v0, 0x2af54 | goto label_53;
| }
0x0002a3e4 sb zero, (v0) | *(v0) = 0;
0x0002a3e8 addiu fp, zero, 1 | fp = 1;
0x0002a3ec lw s7, -0x7f68(gp) | s7 = *((gp - 8154));
0x0002a3f0 addiu s2, zero, 1 | s2 = 1;
0x0002a3f4 addiu t1, zero, 0x20 | t1 = 0x20;
0x0002a3f8 lw t9, -0x7f64(gp) | t9 = *((gp - 8153));
0x0002a3fc b 0x2a43c |
| while (a1 != 0) {
0x0002a400 lw a1, -0x7f68(gp) | a1 = *((gp - 8154));
| if (fp != s2) {
0x0002a404 beq fp, s2, 0x2a410 |
0x0002a408 sb t1, (v0) | *(v0) = t1;
0x0002a40c addiu v0, v0, 1 | v0++;
| }
0x0002a410 addiu fp, fp, 1 | fp++;
0x0002a414 lw a1, (a1) | a1 = *(a1);
0x0002a418 addu a1, a1, a0 | a1 += a0;
0x0002a41c lw a1, (a1) | a1 = *(a1);
0x0002a420 move a0, v0 | a0 = v0;
0x0002a424 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a428 sw t9, 0x84(sp) | *(var_84h) = t9;
0x0002a42c jalr t9 | t9 ();
0x0002a430 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a434 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0002a438 lw t1, 0x8c(sp) | t1 = *(var_8ch);
0x0002a43c lw a1, (s7) | a1 = *(s7);
0x0002a440 sll a0, fp, 2 | a0 = fp << 2;
0x0002a444 addu a1, a1, a0 | a1 += a0;
0x0002a448 lw a1, (a1) | a1 = *(a1);
0x0002a44c bnez a1, 0x2a400 |
| }
0x0002a450 nop |
0x0002a454 addiu s2, zero, 1 | s2 = 1;
0x0002a458 b 0x2a5a0 | goto label_59;
| label_60:
0x0002a45c addiu v1, zero, 2 | v1 = 2;
| label_64:
0x0002a460 lw v0, (v0) | v0 = *(v0);
0x0002a464 slti v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
| if (v0 == v1) {
0x0002a468 bne v0, v1, 0x2a47c |
0x0002a46c lw v0, -0x7f68(gp) | v0 = *((gp - 8154));
0x0002a470 lw v0, (v0) | v0 = *(v0);
0x0002a474 lw s6, 4(v0) | s6 = *(var_24h);
0x0002a478 b 0x2a580 | goto label_66;
| }
0x0002a47c lw s2, -0x7f68(gp) | s2 = *((gp - 8154));
| if (v0 != 0) {
0x0002a480 bnez v0, 0x2a558 | goto label_67;
| }
0x0002a484 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002a488 lw a0, (s4) | a0 = *(s4);
0x0002a48c lw v0, (s2) | v0 = *(s2);
0x0002a490 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002a494 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002a498 addiu t9, t9, -0x7998 | t9 += -0x7998;
0x0002a49c lw a3, 4(v0) | a3 = *(var_24h);
0x0002a4a0 bal 0x28668 | fcn_00028668 ();
0x0002a4a4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a4a8 beqz v0, 0x2af54 | goto label_53;
| }
0x0002a4ac lw s6, -0x7fb4(gp) | s6 = *((gp - 8173));
0x0002a4b0 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
0x0002a4b4 addiu t9, s6, -0x792c | t9 = s6 + -0x792c;
0x0002a4b8 move a1, v0 | a1 = v0;
0x0002a4bc bal 0x286d4 | fcn_000286d4 ();
0x0002a4c0 move s7, s6 | s7 = s6;
0x0002a4c4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002a4c8 bnez v0, 0x2af54 | goto label_53;
| }
0x0002a4cc addiu v0, zero, 2 | v0 = 2;
0x0002a4d0 move s6, s2 | s6 = s2;
0x0002a4d4 lw fp, -0x7fac(gp) | fp = *((gp - 8171));
0x0002a4d8 b 0x2a510 |
| while (a0 == 0) {
0x0002a4dc addu v1, v1, v0 | v1 += v0;
0x0002a4e0 move t9, fp | t9 = fp;
0x0002a4e4 lw a0, (v1) | a0 = *(v1);
0x0002a4e8 bal 0x3c470 | sym_strdup ();
0x0002a4ec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002a4f0 beqz v0, 0x2af54 | goto label_53;
| }
0x0002a4f4 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
0x0002a4f8 addiu t9, s7, -0x792c | t9 = s7 + -0x792c;
0x0002a4fc move a1, v0 | a1 = v0;
0x0002a500 bal 0x286d4 | fcn_000286d4 ();
0x0002a504 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002a508 bnez v0, 0x2af54 | goto label_53;
| }
0x0002a50c move v0, s2 | v0 = s2;
0x0002a510 lw v1, (s6) | v1 = *(s6);
0x0002a514 addiu s2, v0, 1 | s2 = v0 + 1;
0x0002a518 sll a0, s2, 2 | a0 = s2 << 2;
0x0002a51c addu a0, v1, a0 | a0 = v1 + a0;
0x0002a520 lw a0, (a0) | a0 = *(a0);
0x0002a524 sll v0, v0, 2 | v0 <<= 2;
0x0002a528 bnel a0, zero, 0x2a4dc |
| }
0x0002a52c lw v1, 0xc0(sp) | v1 = *(arg_c0h);
0x0002a530 lw t9, 0xbc(sp) | t9 = *(arg_bch);
0x0002a534 sw zero, (v1) | *(v1) = 0;
0x0002a538 sw zero, (t9) | *(t9) = 0;
0x0002a53c sw zero, (s4) | *(s4) = 0;
0x0002a540 lw v1, -0x7f68(gp) | v1 = *((gp - 8154));
| label_57:
0x0002a544 sll v0, v0, 2 | v0 <<= 2;
0x0002a548 lw v1, (v1) | v1 = *(v1);
0x0002a54c addu v0, v1, v0 | v0 = v1 + v0;
0x0002a550 lw s6, (v0) | s6 = *(v0);
0x0002a554 b 0x2a580 | goto label_66;
| label_67:
0x0002a558 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002a55c move a0, s3 | a0 = s3;
0x0002a560 jalr t9 | t9 ();
0x0002a564 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a568 b 0x2ae78 | goto label_68;
| label_58:
0x0002a56c lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002a570 move a0, s3 | a0 = s3;
0x0002a574 jalr t9 | t9 ();
0x0002a578 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a57c move s6, v0 | s6 = v0;
| label_66:
0x0002a580 move s2, zero | s2 = 0;
| if (s6 == 0) {
0x0002a584 bnez s6, 0x2a5a0 |
0x0002a588 lw v1, 0xcc(sp) | v1 = *(arg_cch);
| label_56:
0x0002a58c andi v0, v1, 0x20 | v0 = v1 & 0x20;
0x0002a590 addiu fp, zero, 3 | fp = 3;
| if (v0 != 0) {
0x0002a594 bnez v0, 0x2af6c | goto label_52;
| }
0x0002a598 move s2, zero | s2 = 0;
0x0002a59c move s6, zero | s6 = 0;
| }
| label_59:
0x0002a5a0 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 == 0) {
0x0002a5a4 beqz s1, 0x2acfc | goto label_69;
| }
0x0002a5a8 sltiu v0, s1, 0x3e | v0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 != v0) {
0x0002a5ac beq s1, v0, 0x2a608 |
0x0002a5b0 addiu v0, zero, 0x4c | v0 = 0x4c;
| if (v0 != 0) {
0x0002a5b4 beqz v0, 0x2a5f0 |
0x0002a5b8 addiu v0, zero, 0x25 | v0 = 0x25;
0x0002a5bc sltiu v0, s1, 0x26 | v0 = (s1 < 0x26) ? 1 : 0;
| if (s1 == v0) {
0x0002a5c0 beq s1, v0, 0x2afac | goto label_70;
| }
0x0002a5c4 addiu v0, zero, 0x2b | v0 = 0x2b;
| if (v0 != 0) {
0x0002a5c8 beqz v0, 0x2a5e0 |
0x0002a5cc addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a5d0 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 != v0) {
0x0002a5d4 bne s1, v0, 0x2a89c | goto label_71;
| }
0x0002a5d8 sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a5dc b 0x2afb0 | goto label_72;
| }
0x0002a5e0 addiu v0, zero, 0x2d | v0 = 0x2d;
| if (s1 == v0) {
0x0002a5e4 beq s1, v0, 0x2a62c | goto label_73;
| }
0x0002a5e8 b 0x2a600 | goto label_74;
0x0002a5ec nop |
| }
0x0002a5f0 addiu v0, zero, 0x52 | v0 = 0x52;
| if (s1 == v0) {
0x0002a5f4 beq s1, v0, 0x2afac | goto label_70;
| }
0x0002a5f8 addiu v0, zero, 0x3f | v0 = 0x3f;
| if (s1 == v0) {
0x0002a5fc beq s1, v0, 0x2afac | goto label_70;
| }
| label_74:
0x0002a600 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s1 != v0) {
0x0002a604 bne s1, v0, 0x2a89c | goto label_71;
| }
| }
| if (s6 == 0) {
0x0002a608 beql s6, zero, 0x2afb0 | goto label_72;
| }
0x0002a60c sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a610 lbu v0, (s6) | v0 = *(s6);
0x0002a614 addiu v0, zero, 0x3d | v0 = 0x3d;
| if (v0 != 0) {
0x0002a618 bnez v0, 0x2a89c | goto label_71;
| }
0x0002a61c sw zero, 0x64(sp) | *(var_64h) = 0;
| if (s5 == 0) {
0x0002a620 bnel s5, zero, 0x2afb0 | goto label_72;
| }
0x0002a624 b 0x2a89c | goto label_71;
0x0002a628 nop |
| label_73:
0x0002a62c addiu v0, zero, 0x3d | v0 = 0x3d;
| if (s6 == 0) {
0x0002a630 beqz s6, 0x2a89c | goto label_71;
| }
0x0002a634 lbu v0, (s6) | v0 = *(s6);
0x0002a638 sw zero, 0x64(sp) | *(var_64h) = 0;
| if (v0 == 0) {
0x0002a63c bnel v0, zero, 0x2afb0 | goto label_72;
| }
| if (s5 == 0) {
0x0002a640 beql s5, zero, 0x2afb0 | goto label_72;
| }
0x0002a644 sw zero, 0x64(sp) | *(var_64h) = 0;
0x0002a648 addiu v0, zero, 0x3d | v0 = 0x3d;
0x0002a64c b 0x2a89c | goto label_71;
| do {
0x0002a650 sltiu a0, v0, 0x2b | a0 = (v0 < 0x2b) ? 1 : 0;
| if (v0 != a0) {
0x0002a654 beq v0, a0, 0x2a6d8 |
0x0002a658 addiu a0, zero, 0x5c | a0 = 0x5c;
| if (a0 != 0) {
0x0002a65c beqz a0, 0x2a684 |
0x0002a660 addiu a0, zero, 0x24 | a0 = 0x24;
0x0002a664 addiu a0, zero, 0x27 | a0 = 0x27;
| if (v0 == a0) {
0x0002a668 beq v0, a0, 0x2a714 | goto label_75;
| }
0x0002a66c addiu a0, zero, 0x22 | a0 = 0x22;
| if (v0 == a0) {
0x0002a670 beq v0, a0, 0x2a6bc | goto label_76;
| }
0x0002a674 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (v0 != a0) {
0x0002a678 bne v0, a0, 0x2a830 | goto label_77;
| }
0x0002a67c addiu v0, zero, 2 | v0 = 2;
0x0002a680 b 0x2a6a4 |
| } else {
0x0002a684 addiu a0, zero, 0x7e | a0 = 0x7e;
| if (v0 == a0) {
0x0002a688 beq v0, a0, 0x2a7f0 | goto label_78;
| }
0x0002a68c addiu a0, zero, 0x3f | a0 = 0x3f;
| if (v0 == a0) {
0x0002a690 beq v0, a0, 0x2a768 | goto label_79;
| }
0x0002a694 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (v0 != a0) {
0x0002a698 bne v0, a0, 0x2a830 | goto label_77;
| }
0x0002a69c b 0x2a6d8 | goto label_80;
0x0002a6a0 nop |
| }
| if (t1 == v0) {
0x0002a6a4 beql t1, v0, 0x2a86c | goto label_81;
| }
0x0002a6a8 move t1, zero | t1 = 0;
| if (t1 == 0) {
0x0002a6ac beql t1, zero, 0x2a86c | goto label_81;
| }
0x0002a6b0 addiu t1, zero, 2 | t1 = 2;
0x0002a6b4 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a6b8 b 0x2a830 | goto label_77;
| label_76:
0x0002a6bc addiu v0, zero, 1 | v0 = 1;
| if (t1 == v0) {
0x0002a6c0 beql t1, v0, 0x2a86c | goto label_81;
| }
0x0002a6c4 move t1, zero | t1 = 0;
| if (t1 == 0) {
0x0002a6c8 beql t1, zero, 0x2a86c | goto label_81;
| }
0x0002a6cc addiu t1, zero, 1 | t1 = 1;
0x0002a6d0 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a6d4 b 0x2a830 |
| } else {
| label_80:
0x0002a6d8 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (t1 == 0) {
0x0002a6dc beqz t1, 0x2a830 | goto label_77;
| }
0x0002a6e0 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a6e4 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a6e8 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a6ec addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a6f0 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a6f4 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a6f8 addiu t9, v0, -0x7d40 | t9 = v0 + -0x7d40;
0x0002a6fc sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a700 bal 0x282c0 | fcn_000282c0 ();
0x0002a704 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a708 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a70c lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a710 b 0x2a824 | goto label_82;
| label_75:
0x0002a714 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x0002a718 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002a71c addiu v0, zero, 1 | v0 = 1;
0x0002a720 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002a724 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0002a728 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a72c sw zero, 0x60(sp) | *(var_60h) = 0;
0x0002a730 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002a734 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0002a738 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x0002a73c sw zero, 0x20(sp) | *(stream) = 0;
0x0002a740 addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x0002a744 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a748 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a74c move a3, t0 | a3 = t0;
0x0002a750 addiu t9, v0, -0x6634 | t9 = v0 + -0x6634;
0x0002a754 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a758 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a75c bal 0x299cc | fcn_000299cc ();
| goto label_2;
0x0002a760 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a764 b 0x2a7b4 | goto label_83;
| label_79:
0x0002a768 lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| if (t1 != 0) {
0x0002a76c bnez t1, 0x2a830 | goto label_77;
| }
0x0002a770 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0002a774 lbu a3, (t0) | a3 = *(t0);
| if (v0 == 0) {
0x0002a778 bnel v0, zero, 0x2a834 | goto label_84;
| }
0x0002a77c lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
0x0002a780 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x0002a784 sw zero, 0x60(sp) | *(var_60h) = 0;
0x0002a788 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002a78c sw zero, 0x14(sp) | *(var_14h) = 0;
0x0002a790 addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x0002a794 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a798 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a79c move a3, t0 | a3 = t0;
0x0002a7a0 addiu t9, v1, -0x71c8 | t9 = v1 + -0x71c8;
0x0002a7a4 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a7a8 sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a7ac bal 0x28e38 | fcn_00028e38 ();
0x0002a7b0 lw gp, 0x28(sp) | gp = *(var_28h);
| label_83:
0x0002a7b4 move fp, v0 | fp = v0;
0x0002a7b8 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a7bc lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 != 0) {
0x0002a7c0 beqz v0, 0x2a7e4 |
| if (s2 == 0) {
0x0002a7c4 beql s2, zero, 0x2ac80 | goto label_85;
| }
0x0002a7c8 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a7cc lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002a7d0 move a0, s6 | a0 = s6;
0x0002a7d4 jalr t9 | t9 ();
0x0002a7d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a7dc lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a7e0 b 0x2ac80 | goto label_85;
| }
0x0002a7e4 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0002a7e8 addu t0, t0, v0 | t0 += v0;
0x0002a7ec b 0x2a86c | goto label_81;
| label_78:
0x0002a7f0 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x0002a7f4 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a7f8 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a7fc addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a800 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a804 addiu a3, zero, 0x5c | a3 = 0x5c;
0x0002a808 addiu t9, v0, -0x7d40 | t9 = v0 + -0x7d40;
0x0002a80c sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a810 bal 0x282c0 | fcn_000282c0 ();
0x0002a814 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a818 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a81c sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a820 addiu t0, t0, 1 | t0++;
| label_82:
0x0002a824 lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x0002a828 beqz v0, 0x2af54 | goto label_53;
| }
0x0002a82c lw v1, -0x7fb4(gp) | v1 = *((gp - 8173));
| }
| label_77:
0x0002a830 lbu a3, (t0) | a3 = *(t0);
| label_84:
0x0002a834 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0002a838 sw t0, 0x84(sp) | *(var_84h) = t0;
0x0002a83c sw t1, 0x8c(sp) | *(var_8ch) = t1;
0x0002a840 addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x0002a844 addiu t9, v1, -0x7d40 | t9 = v1 + -0x7d40;
0x0002a848 addiu a2, sp, 0x64 | a2 = sp + 0x64;
0x0002a84c bal 0x282c0 | fcn_000282c0 ();
0x0002a850 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002a854 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a858 lw t0, 0x84(sp) | t0 = *(var_84h);
0x0002a85c lw t1, 0x8c(sp) | t1 = *(var_8ch);
| if (v0 == 0) {
0x0002a860 bnez v0, 0x2a86c |
0x0002a864 addiu fp, zero, 1 | fp = 1;
0x0002a868 b 0x2af6c | goto label_52;
| }
| label_81:
0x0002a86c addiu t0, t0, 1 | t0++;
| label_9:
0x0002a870 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (t0 == 0) {
0x0002a874 beqz t0, 0x2a888 | goto label_86;
| }
0x0002a878 lbu v0, (t0) | v0 = *(t0);
0x0002a87c addiu a0, zero, 0x2a | a0 = 0x2a;
0x0002a880 bnez v0, 0x2a650 |
| } while (v0 != 0);
0x0002a884 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| label_86:
0x0002a888 move a0, s0 | a0 = s0;
0x0002a88c jalr t9 | t9 ();
0x0002a890 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a894 lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x0002a898 addiu v0, zero, 0x3d | v0 = 0x3d;
| label_71:
0x0002a89c sltiu v0, s1, 0x3e | v0 = (s1 < 0x3e) ? 1 : 0;
| if (s1 == v0) {
0x0002a8a0 beq s1, v0, 0x2ac4c | goto label_87;
| }
0x0002a8a4 addiu v0, zero, 0x4c | v0 = 0x4c;
| if (v0 != 0) {
0x0002a8a8 beqz v0, 0x2a8ec |
0x0002a8ac addiu v0, zero, 0x25 | v0 = 0x25;
0x0002a8b0 sltiu v0, s1, 0x26 | v0 = (s1 < 0x26) ? 1 : 0;
| if (s1 == v0) {
0x0002a8b4 beq s1, v0, 0x2a90c | goto label_88;
| }
0x0002a8b8 addiu v0, zero, 0x2b | v0 = 0x2b;
| if (v0 != 0) {
0x0002a8bc beqz v0, 0x2a8d4 |
0x0002a8c0 addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a8c4 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s1 != v0) {
0x0002a8c8 bne s1, v0, 0x2ad00 | goto label_89;
| }
0x0002a8cc b 0x2a90c | goto label_88;
0x0002a8d0 nop |
| }
0x0002a8d4 addiu v0, zero, 0x2d | v0 = 0x2d;
| if (s1 == v0) {
0x0002a8d8 beq s1, v0, 0x2abfc | goto label_90;
| }
0x0002a8dc lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s1 != v0) {
0x0002a8e0 bne s1, v0, 0x2ad00 | goto label_89;
| }
0x0002a8e4 b 0x2abac | goto label_91;
0x0002a8e8 nop |
| }
0x0002a8ec addiu v0, zero, 0x52 | v0 = 0x52;
| if (s1 != v0) {
0x0002a8f0 beq s1, v0, 0x2a90c |
0x0002a8f4 addiu v0, zero, 0x3f | v0 = 0x3f;
| if (s1 == v0) {
0x0002a8f8 beq s1, v0, 0x2a90c | goto label_88;
| }
0x0002a8fc lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s1 != v0) {
0x0002a900 bne s1, v0, 0x2ad00 | goto label_89;
| }
0x0002a904 b 0x2ab34 | goto label_92;
0x0002a908 nop |
| }
| label_88:
0x0002a90c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s6 == 0) {
0x0002a910 beqz s6, 0x2ad00 | goto label_89;
| }
| if (s0 == 0) {
0x0002a914 beqz s0, 0x2ad00 | goto label_89;
| }
0x0002a918 nop |
0x0002a91c lbu v0, (s0) | v0 = *(s0);
| if (v0 == 0) {
0x0002a920 beqz v0, 0x2ad00 | goto label_89;
| }
0x0002a924 nop |
0x0002a928 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0002a92c move a0, s6 | a0 = s6;
0x0002a930 bal 0x3b6e0 | sym_strlen ();
0x0002a934 addu s5, s6, v0 | s5 = s6 + v0;
0x0002a938 addiu v0, zero, 0x4c | v0 = 0x4c;
0x0002a93c lw gp, 0x28(sp) | gp = *(var_28h);
| if (s1 == v0) {
0x0002a940 beq s1, v0, 0x2aa44 | goto label_93;
| }
0x0002a944 sltiu v0, s1, 0x4d | v0 = (s1 < 0x4d) ? 1 : 0;
0x0002a948 addiu v0, zero, 0x52 | v0 = 0x52;
| if (v0 != 0) {
0x0002a94c beqz v0, 0x2a96c |
0x0002a950 addiu v0, zero, 0x23 | v0 = 0x23;
0x0002a954 addiu v0, zero, 0x25 | v0 = 0x25;
| if (s1 == v0) {
0x0002a958 beq s1, v0, 0x2a9bc | goto label_94;
| }
0x0002a95c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s1 != v0) {
0x0002a960 bne s1, v0, 0x2ad00 | goto label_89;
| }
0x0002a964 lw s1, -0x7f60(gp) | s1 = *((gp - 8152));
0x0002a968 b 0x2aa88 | goto label_95;
| }
0x0002a96c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s1 != v0) {
0x0002a970 bne s1, v0, 0x2ad00 | goto label_89;
| }
0x0002a974 lw s1, -0x7f60(gp) | s1 = *((gp - 8152));
0x0002a978 b 0x2ab18 | goto label_96;
| do {
0x0002a97c move a0, s0 | a0 = s0;
0x0002a980 sb zero, (s7) | *(s7) = 0;
0x0002a984 move a1, s6 | a1 = s6;
0x0002a988 sw t9, 0x84(sp) | *(var_84h) = t9;
0x0002a98c move a2, zero | a2 = 0;
0x0002a990 jalr t9 | t9 ();
0x0002a994 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a998 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0002a99c sb s1, (s7) | *(s7) = s1;
| if (v0 != fp) {
0x0002a9a0 beq v0, fp, 0x2a9b4 |
0x0002a9a4 move a0, s7 | a0 = s7;
| if (s2 != 0) {
0x0002a9a8 bnez s2, 0x2aa0c | goto label_97;
| }
0x0002a9ac move s6, s7 | s6 = s7;
0x0002a9b0 b 0x2acec | goto label_98;
| }
0x0002a9b4 addiu s7, s7, 1 | s7++;
0x0002a9b8 b 0x2a9c8 | goto label_99;
| label_94:
0x0002a9bc lw t9, -0x7f60(gp) | t9 = *((gp - 8152));
0x0002a9c0 move s7, s6 | s7 = s6;
0x0002a9c4 addiu fp, zero, 1 | fp = 1;
| label_99:
0x0002a9c8 sltu v0, s5, s7 | v0 = (s5 < s7) ? 1 : 0;
0x0002a9cc beql v0, zero, 0x2a97c |
| } while (v0 == 0);
0x0002a9d0 lbu s1, (s7) | s1 = *(s7);
0x0002a9d4 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002a9d8 b 0x2ad00 | goto label_89;
| do {
0x0002a9dc move a0, s0 | a0 = s0;
0x0002a9e0 sb zero, (s5) | *(s5) = 0;
0x0002a9e4 move a1, s6 | a1 = s6;
0x0002a9e8 move t9, s1 | t9 = s1;
0x0002a9ec move a2, zero | a2 = 0;
0x0002a9f0 bal 0x139a0 | sym_fnmatch ();
0x0002a9f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002a9f8 sb fp, (s5) | *(s5) = fp;
| if (v0 != s7) {
0x0002a9fc beq v0, s7, 0x2aa3c |
| if (s2 == 0) {
0x0002aa00 beql s2, zero, 0x2acfc | goto label_69;
| }
0x0002aa04 move s6, s5 | s6 = s5;
0x0002aa08 move a0, s5 | a0 = s5;
| label_97:
0x0002aa0c lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
0x0002aa10 bal 0x3c470 | sym_strdup ();
0x0002aa14 nop |
0x0002aa18 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aa1c move s1, v0 | s1 = v0;
0x0002aa20 move a0, s6 | a0 = s6;
0x0002aa24 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (v0 != 0) {
0x0002aa28 bnez v0, 0x2ab00 | goto label_100;
| }
0x0002aa2c addiu fp, zero, 1 | fp = 1;
0x0002aa30 jalr t9 | t9 ();
0x0002aa34 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aa38 b 0x2af58 | goto label_101;
| }
0x0002aa3c addiu s5, s5, -1 | s5 += -1;
0x0002aa40 b 0x2aa4c | goto label_102;
| label_93:
0x0002aa44 lw s1, -0x7f60(gp) | s1 = *((gp - 8152));
0x0002aa48 addiu s7, zero, 1 | s7 = 1;
| label_102:
0x0002aa4c sltu v0, s5, s6 | v0 = (s5 < s6) ? 1 : 0;
0x0002aa50 beql v0, zero, 0x2a9dc |
| } while (v0 == 0);
0x0002aa54 lbu fp, (s5) | fp = *(s5);
0x0002aa58 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002aa5c b 0x2ad00 | goto label_89;
| do {
0x0002aa60 move a1, s5 | a1 = s5;
0x0002aa64 move t9, s1 | t9 = s1;
0x0002aa68 move a2, zero | a2 = 0;
0x0002aa6c bal 0x139a0 | sym_fnmatch ();
0x0002aa70 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != s7) {
0x0002aa74 beq v0, s7, 0x2aa80 |
0x0002aa78 subu s5, s5, s6 | __asm ("subu s5, s5, s6");
0x0002aa7c b 0x2aabc | goto label_103;
| }
0x0002aa80 addiu s5, s5, -1 | s5 += -1;
0x0002aa84 b 0x2aa8c | goto label_104;
| label_95:
0x0002aa88 addiu s7, zero, 1 | s7 = 1;
| label_104:
0x0002aa8c sltu v0, s5, s6 | v0 = (s5 < s6) ? 1 : 0;
0x0002aa90 move a0, s0 | a0 = s0;
0x0002aa94 beqz v0, 0x2aa60 |
| } while (v0 == 0);
0x0002aa98 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002aa9c b 0x2ad00 | goto label_89;
| do {
0x0002aaa0 move a1, s7 | a1 = s7;
0x0002aaa4 move t9, s1 | t9 = s1;
0x0002aaa8 move a2, zero | a2 = 0;
0x0002aaac bal 0x139a0 | sym_fnmatch ();
0x0002aab0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != fp) {
0x0002aab4 beq v0, fp, 0x2ab10 |
0x0002aab8 subu s5, s7, s6 | __asm ("subu s5, s7, s6");
| label_103:
0x0002aabc lw t9, -0x759c(gp) | t9 = *((gp - 7527));
0x0002aac0 addiu a0, s5, 1 | a0 = s5 + 1;
0x0002aac4 addiu fp, zero, 1 | fp = 1;
0x0002aac8 jalr t9 | t9 ();
0x0002aacc move s1, v0 | s1 = v0;
0x0002aad0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002aad4 beqz v0, 0x2ac74 | goto label_105;
| }
0x0002aad8 lw t9, -0x7fb0(gp) | t9 = *((gp - 8172));
0x0002aadc move a0, v0 | a0 = v0;
0x0002aae0 move a1, s6 | a1 = s6;
0x0002aae4 move a2, s5 | a2 = s5;
0x0002aae8 bal 0x3b1d0 | sym_mempcpy ();
0x0002aaec lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aaf0 sb zero, (v0) | *(v0) = 0;
| if (s2 == 0) {
0x0002aaf4 beqz s2, 0x2acf4 | goto label_106;
| }
0x0002aaf8 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002aafc move a0, s6 | a0 = s6;
| label_100:
0x0002ab00 move s6, s1 | s6 = s1;
0x0002ab04 jalr t9 | t9 ();
0x0002ab08 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ab0c b 0x2acf8 | goto label_107;
| }
0x0002ab10 addiu s7, s7, 1 | s7++;
0x0002ab14 b 0x2ab20 | goto label_108;
| label_96:
0x0002ab18 move s7, s6 | s7 = s6;
0x0002ab1c addiu fp, zero, 1 | fp = 1;
| label_108:
0x0002ab20 sltu v0, s5, s7 | v0 = (s5 < s7) ? 1 : 0;
0x0002ab24 move a0, s0 | a0 = s0;
0x0002ab28 beqz v0, 0x2aaa0 |
| } while (v0 == 0);
0x0002ab2c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002ab30 b 0x2ad00 | goto label_89;
| if (s6 != 0) {
| label_92:
0x0002ab34 beqz s6, 0x2ab48 |
0x0002ab38 nop |
0x0002ab3c lbu v0, (s6) | v0 = *(s6);
0x0002ab40 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (v0 != 0) {
0x0002ab44 bnez v0, 0x2ad00 | goto label_89;
| }
| }
0x0002ab48 lbu a0, (s0) | a0 = *(s0);
| if (s5 != 0) {
0x0002ab4c bnel s5, zero, 0x2ab5c |
0x0002ab50 move fp, zero | fp = 0;
| if (s6 != 0) {
0x0002ab54 bnez s6, 0x2ac74 | goto label_105;
| }
0x0002ab58 lbu a0, (s0) | a0 = *(s0);
| }
0x0002ab5c lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| if (a0 != 0) {
0x0002ab60 beqz a0, 0x2ab88 |
0x0002ab64 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002ab68 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002ab6c lw a0, (v0) | a0 = *(v0);
0x0002ab70 addiu a1, a1, 0x550c | a1 += 0x550c;
0x0002ab74 move a2, s3 | a2 = s3;
0x0002ab78 move a3, s0 | a3 = s0;
0x0002ab7c bal 0x2f860 | sym_fprintf ()
0x0002ab80 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ab84 b 0x2ac70 | goto label_109;
| }
0x0002ab88 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002ab8c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002ab90 lw a0, (v0) | a0 = *(v0);
0x0002ab94 addiu a1, a1, 0x5514 | a1 += 0x5514;
0x0002ab98 move a2, s3 | a2 = s3;
0x0002ab9c bal 0x2f860 | sym_fprintf ()
0x0002aba0 addiu fp, zero, 3 | fp = 3;
0x0002aba4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002aba8 b 0x2ac74 | goto label_105;
| if (s6 != 0) {
| label_91:
0x0002abac beqz s6, 0x2abc0 |
0x0002abb0 nop |
0x0002abb4 lbu v0, (s6) | v0 = *(s6);
0x0002abb8 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (v0 != 0) {
0x0002abbc bnez v0, 0x2ad00 | goto label_89;
| }
| }
0x0002abc0 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s2 != 0) {
0x0002abc4 beqz s2, 0x2abd4 |
0x0002abc8 move a0, s6 | a0 = s6;
0x0002abcc jalr t9 | t9 ();
0x0002abd0 lw gp, 0x28(sp) | gp = *(var_28h);
| }
| if (s5 != 0) {
0x0002abd4 bnez s5, 0x2abe4 | goto label_3;
| }
0x0002abd8 nop |
0x0002abdc move fp, zero | fp = 0;
| if (s6 != 0) {
0x0002abe0 bnez s6, 0x2af6c | goto label_52;
| }
| do {
| label_3:
0x0002abe4 lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (s0 != 0) {
0x0002abe8 bnez s0, 0x2ac30 | goto label_110;
| }
0x0002abec addiu s2, zero, 1 | s2 = 1;
0x0002abf0 move s6, zero | s6 = 0;
0x0002abf4 move s0, zero | s0 = 0;
0x0002abf8 b 0x2acfc | goto label_69;
| label_90:
0x0002abfc move fp, zero | fp = 0;
| if (s6 == 0) {
0x0002ac00 beqz s6, 0x2ac74 | goto label_105;
| }
0x0002ac04 lbu v0, (s6) | v0 = *(s6);
| if (v0 == 0) {
0x0002ac08 bnez v0, 0x2ac18 |
0x0002ac0c nop |
| if (s5 != 0) {
0x0002ac10 bnez s5, 0x2ac74 | goto label_105;
| }
0x0002ac14 nop |
| }
0x0002ac18 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002ac1c beqz s2, 0x2abe4 |
| } while (s2 == 0);
0x0002ac20 move a0, s6 | a0 = s6;
0x0002ac24 jalr t9 | t9 ();
0x0002ac28 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ac2c b 0x2abe4 | goto label_3;
| label_110:
0x0002ac30 move a0, s0 | a0 = s0;
0x0002ac34 bal 0x3c470 | sym_strdup ();
0x0002ac38 move s6, v0 | s6 = v0;
0x0002ac3c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002ac40 beqz v0, 0x2af54 | goto label_53;
| }
0x0002ac44 addiu s2, zero, 1 | s2 = 1;
0x0002ac48 b 0x2acfc | goto label_69;
| if (s6 != 0) {
| label_87:
0x0002ac4c beqz s6, 0x2ac60 |
0x0002ac50 nop |
0x0002ac54 lbu v0, (s6) | v0 = *(s6);
0x0002ac58 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (v0 != 0) {
0x0002ac5c bnez v0, 0x2ad00 | goto label_89;
| }
| }
| if (s5 == 0) {
0x0002ac60 bnez s5, 0x2ac94 |
0x0002ac64 nop |
| if (s6 == 0) {
0x0002ac68 beqz s6, 0x2ac94 | goto label_111;
| }
0x0002ac6c nop |
| label_109:
0x0002ac70 move fp, zero | fp = 0;
| label_105:
0x0002ac74 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s2 == 0) {
0x0002ac78 beqz s2, 0x2af70 | goto label_112;
| }
0x0002ac7c move a0, s6 | a0 = s6;
| label_85:
0x0002ac80 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002ac84 jalr t9 | t9 ();
0x0002ac88 nop |
0x0002ac8c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ac90 b 0x2af6c | goto label_52;
| }
| label_111:
0x0002ac94 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (s2 != 0) {
0x0002ac98 beqz s2, 0x2aca8 |
0x0002ac9c move a0, s6 | a0 = s6;
0x0002aca0 jalr t9 | t9 ();
0x0002aca4 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002aca8 lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (s0 != 0) {
0x0002acac beqz s0, 0x2accc |
0x0002acb0 move a0, s0 | a0 = s0;
0x0002acb4 bal 0x3c470 | sym_strdup ();
0x0002acb8 move s6, v0 | s6 = v0;
0x0002acbc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002acc0 bnez v0, 0x2acd0 | goto label_113;
| }
0x0002acc4 addiu fp, zero, 1 | fp = 1;
0x0002acc8 b 0x2af6c | goto label_52;
| }
0x0002accc move s6, zero | s6 = 0;
| label_113:
0x0002acd0 lw t9, -0x7f58(gp) | t9 = *((gp - 8150));
0x0002acd4 move a0, s3 | a0 = s3;
0x0002acd8 move a1, s6 | a1 = s6;
0x0002acdc addiu a2, zero, 1 | a2 = 1;
0x0002ace0 jalr t9 | t9 ();
0x0002ace4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ace8 b 0x2acf8 | goto label_107;
| label_98:
0x0002acec lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002acf0 b 0x2ad00 | goto label_89;
| label_106:
0x0002acf4 move s6, s1 | s6 = s1;
| label_107:
0x0002acf8 addiu s2, zero, 1 | s2 = 1;
| label_69:
0x0002acfc lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| label_89:
0x0002ad00 move a0, s3 | a0 = s3;
0x0002ad04 jalr t9 | t9 ();
0x0002ad08 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad0c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002ad10 move a0, s0 | a0 = s0;
0x0002ad14 jalr t9 | t9 ();
0x0002ad18 lw v1, 0x80(sp) | v1 = *(var_80h);
0x0002ad1c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 != 0) {
0x0002ad20 beqz v1, 0x2ad7c |
0x0002ad24 sb zero, 0x44(sp) | *(var_44h) = 0;
0x0002ad28 lw s0, (s4) | s0 = *(s4);
| if (s6 != 0) {
0x0002ad2c beqz s6, 0x2ad48 |
0x0002ad30 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0002ad34 move a0, s6 | a0 = s6;
0x0002ad38 bal 0x3b6e0 | sym_strlen ();
0x0002ad3c move a2, v0 | a2 = v0;
0x0002ad40 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad44 b 0x2ad4c |
| } else {
0x0002ad48 move a2, zero | a2 = 0;
| }
0x0002ad4c lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002ad50 lw t9, -0x7f74(gp) | t9 = *((gp - 8157));
0x0002ad54 move a3, zero | a3 = 0;
0x0002ad58 addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x0002ad5c addiu a1, a1, 0x54f8 | a1 += 0x54f8;
0x0002ad60 bal 0x2f960 | sym_sprintf ();
0x0002ad64 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ad68 move a0, s0 | a0 = s0;
0x0002ad6c lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002ad70 lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002ad74 addiu a3, sp, 0x44 | a3 = sp + 0x44;
0x0002ad78 b 0x2ada4 |
| } else {
0x0002ad7c lw t9, 0xdc(sp) | t9 = *(arg_dch);
| if (s6 == 0) {
0x0002ad80 beqz s6, 0x2af94 | goto label_24;
| }
0x0002ad84 lw v1, 0xd0(sp) | v1 = *(arg_d0h);
| if (t9 == 0) {
0x0002ad88 bnez t9, 0x2ad94 |
0x0002ad8c lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
| if (v1 != 0) {
0x0002ad90 bnez v1, 0x2add8 | goto label_114;
| }
| }
0x0002ad94 lw a0, (s4) | a0 = *(s4);
0x0002ad98 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002ad9c lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002ada0 move a3, s6 | a3 = s6;
| }
0x0002ada4 lw t9, -0x7fb4(gp) | t9 = *((gp - 8173));
0x0002ada8 addiu t9, t9, -0x7998 | t9 += -0x7998;
0x0002adac bal 0x28668 | fcn_00028668 ();
0x0002adb0 nop |
0x0002adb4 sw v0, (s4) | *(s4) = v0;
0x0002adb8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s2 != 0) {
0x0002adbc beqz s2, 0x2add0 |
0x0002adc0 move a0, s6 | a0 = s6;
| label_61:
0x0002adc4 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002adc8 jalr t9 | t9 ();
0x0002adcc nop |
| }
0x0002add0 lw v0, (s4) | v0 = *(s4);
0x0002add4 b 0x2a22c | goto label_4;
| label_114:
0x0002add8 move a0, s6 | a0 = s6;
0x0002addc bal 0x3c470 | sym_strdup ();
0x0002ade0 move s0, v0 | s0 = v0;
0x0002ade4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s2 != 0) {
0x0002ade8 beqz s2, 0x2adfc |
0x0002adec lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002adf0 move a0, s6 | a0 = s6;
0x0002adf4 jalr t9 | t9 ();
0x0002adf8 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x0002adfc move s6, s0 | s6 = s0;
| if (s0 == 0) {
0x0002ae00 beqz s0, 0x2af60 | goto label_30;
| }
0x0002ae04 move s3, zero | s3 = 0;
0x0002ae08 lw fp, -0x7fb4(gp) | fp = *((gp - 8173));
0x0002ae0c lw s2, -0x7f54(gp) | s2 = *((gp - 8149));
0x0002ae10 lw s5, -0x7fb4(gp) | s5 = *((gp - 8173));
| do {
| label_5:
0x0002ae14 lw a0, 0xd0(sp) | a0 = *(arg_d0h);
| if (s6 != s0) {
0x0002ae18 beq s6, s0, 0x2ae50 |
0x0002ae1c addiu t9, fp, -0x792c | t9 = fp + -0x792c;
0x0002ae20 lw a1, (s4) | a1 = *(s4);
0x0002ae24 bal 0x286d4 | fcn_000286d4 ();
0x0002ae28 addiu a0, zero, 1 | a0 = 1;
0x0002ae2c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == a0) {
0x0002ae30 bne v0, a0, 0x2ae3c |
0x0002ae34 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002ae38 b 0x2af14 | goto label_115;
| }
0x0002ae3c lw t9, 0xc0(sp) | t9 = *(arg_c0h);
0x0002ae40 lw v1, 0xbc(sp) | v1 = *(arg_bch);
0x0002ae44 sw zero, (t9) | *(t9) = 0;
0x0002ae48 sw zero, (v1) | *(v1) = 0;
0x0002ae4c sw zero, (s4) | *(s4) = 0;
| }
0x0002ae50 lw a1, 0xd8(sp) | a1 = *(s2);
0x0002ae54 move t9, s2 | t9 = s2;
0x0002ae58 move a0, s6 | a0 = s6;
0x0002ae5c bal 0x3bc20 | sym_strspn ();
0x0002ae60 addu s1, s6, v0 | s1 = s6 + v0;
0x0002ae64 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s3 == 0) {
0x0002ae68 bnez s3, 0x2ae8c |
0x0002ae6c lbu v0, (s1) | v0 = *(s1);
0x0002ae70 lw t9, -0x7f50(gp) | t9 = *((gp - 8148));
| if (v0 != 0) {
0x0002ae74 bnez v0, 0x2ae90 | goto label_116;
| }
| label_68:
0x0002ae78 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| label_6:
0x0002ae7c move a0, s0 | a0 = s0;
0x0002ae80 jalr t9 | t9 ();
0x0002ae84 move fp, zero | fp = 0;
0x0002ae88 b 0x2afc4 | goto label_17;
| }
0x0002ae8c lw t9, -0x7f50(gp) | t9 = *((gp - 8148));
| label_116:
0x0002ae90 lw a1, 0xd4(sp) | a1 = *(arg_d4h);
0x0002ae94 move a0, s1 | a0 = s1;
0x0002ae98 move s3, zero | s3 = 0;
0x0002ae9c bal 0x3b660 | sym_strcspn ();
0x0002aea0 lw a1, 0xd8(sp) | a1 = *(s2);
0x0002aea4 addu s7, s1, v0 | s7 = s1 + v0;
0x0002aea8 move t9, s2 | t9 = s2;
0x0002aeac move a0, s7 | a0 = s7;
0x0002aeb0 bal 0x3bc20 | sym_strspn ();
0x0002aeb4 addu s6, s7, v0 | s6 = s7 + v0;
0x0002aeb8 lbu a1, (s6) | a1 = *(s6);
0x0002aebc lw gp, 0x28(sp) | gp = *(var_28h);
| if (a1 != 0) {
0x0002aec0 beqz a1, 0x2aee0 |
0x0002aec4 lw t9, -0x7f94(gp) | t9 = *((gp - 8165));
0x0002aec8 lw a0, 0xd4(sp) | a0 = *(arg_d4h);
0x0002aecc bal 0x3b410 | sym_index ();
| if (v0 == 0) {
0x0002aed0 beql v0, zero, 0x2aee4 | goto label_117;
| }
0x0002aed4 sb zero, (s7) | *(s7) = 0;
0x0002aed8 addiu s6, s6, 1 | s6++;
0x0002aedc addiu s3, zero, 1 | s3 = 1;
| }
0x0002aee0 sb zero, (s7) | *(s7) = 0;
| label_117:
0x0002aee4 lw a0, (s4) | a0 = *(s4);
0x0002aee8 lw a1, 0xbc(sp) | a1 = *(arg_bch);
0x0002aeec lw a2, 0xc0(sp) | a2 = *(arg_c0h);
0x0002aef0 addiu t9, s5, -0x7998 | t9 = s5 + -0x7998;
0x0002aef4 move a3, s1 | a3 = s1;
0x0002aef8 bal 0x28668 | fcn_00028668 ();
0x0002aefc sw v0, (s4) | *(s4) = v0;
0x0002af00 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002af04 bnez v0, 0x2af24 |
0x0002af08 lbu v0, (s1) | v0 = *(s1);
0x0002af0c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| if (v0 == 0) {
0x0002af10 beqz v0, 0x2af24 | goto label_118;
| }
| label_115:
0x0002af14 move a0, s0 | a0 = s0;
0x0002af18 jalr t9 | t9 ();
0x0002af1c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002af20 b 0x2af60 | goto label_30;
| }
| label_118:
0x0002af24 addiu s3, zero, 1 | s3 = 1;
0x0002af28 bnez s3, 0x2ae14 |
| } while (s3 != 0);
0x0002af2c lbu v0, (s6) | v0 = *(s6);
0x0002af30 move s3, zero | s3 = 0;
| if (v0 != 0) {
0x0002af34 bnez v0, 0x2ae14 | goto label_5;
| }
0x0002af38 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002af3c b 0x2ae7c | goto label_6;
| label_44:
0x0002af40 addiu fp, zero, 5 | fp = 5;
| label_40:
0x0002af44 move s0, zero | s0 = 0;
0x0002af48 b 0x2af6c | goto label_52;
| label_51:
0x0002af4c addiu fp, zero, 5 | fp = 5;
0x0002af50 b 0x2af6c | goto label_52;
| label_53:
0x0002af54 addiu fp, zero, 1 | fp = 1;
| label_101:
0x0002af58 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002af5c b 0x2af70 | goto label_112;
| label_30:
0x0002af60 addiu fp, zero, 1 | fp = 1;
| label_35:
0x0002af64 move s0, zero | s0 = 0;
0x0002af68 move s3, zero | s3 = 0;
| label_52:
0x0002af6c lw t9, -0x7664(gp) | t9 = *((gp - 7577));
| label_112:
0x0002af70 move a0, s3 | a0 = s3;
0x0002af74 jalr t9 | t9 ();
0x0002af78 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002af7c move a0, s0 | a0 = s0;
| label_25:
0x0002af80 lw t9, -0x7664(gp) | t9 = *((gp - 7577));
0x0002af84 jalr t9 | t9 ();
0x0002af88 nop |
0x0002af8c lw ra, 0xb4(sp) | ra = *(var_b4h);
0x0002af90 b 0x2afc8 | goto label_27;
| label_24:
0x0002af94 move fp, zero | fp = 0;
0x0002af98 b 0x2afc4 | goto label_17;
| label_15:
0x0002af9c lw t9, 0xcc(sp) | t9 = *(arg_cch);
| if (v0 != a2) {
0x0002afa0 bne v0, a2, 0x29b08 | goto label_7;
| }
0x0002afa4 lw v1, 0xcc(sp) | v1 = *(arg_cch);
0x0002afa8 b 0x29ae4 | goto label_8;
| label_70:
0x0002afac sw zero, 0x64(sp) | *(var_64h) = 0;
| label_72:
0x0002afb0 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0002afb4 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0002afb8 move t0, s0 | t0 = s0;
0x0002afbc move t1, zero | t1 = 0;
0x0002afc0 b 0x2a870 | goto label_9;
| label_17:
0x0002afc4 lw ra, 0xb4(sp) | ra = *(var_b4h);
| label_27:
0x0002afc8 move v0, fp | v0 = fp;
0x0002afcc lw s7, 0xac(sp) | s7 = *(var_ach);
0x0002afd0 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x0002afd4 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0002afd8 lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x0002afdc lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x0002afe0 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x0002afe4 lw s2, 0x98(sp) | s2 = *(var_98h);
0x0002afe8 lw s1, 0x94(sp) | s1 = *(var_94h);
0x0002afec lw s0, 0x90(sp) | s0 = *(var_90h);
0x0002aff0 addiu sp, sp, 0xb8 |
0x0002aff4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x11d80 */
| #include <stdint.h>
|
; (fcn) sym.__assert () | void assert () {
0x00011d80 lui gp, 0xb |
0x00011d84 addiu gp, gp, -0x6a0 |
0x00011d88 addu gp, gp, t9 | gp += t9;
0x00011d8c lw v0, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00011d90 move v1, a1 | v1 = a1;
0x00011d94 addiu sp, sp, -0x30 |
0x00011d98 lw a1, -0x5e10(v0) | a1 = *((v0 - 6020));
0x00011d9c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00011da0 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00011da4 lw t9, -0x7f2c(gp) | t9 = *((gp - 8139));
| if (a1 == 0) {
0x00011da8 bnez a1, 0x11e00 |
0x00011dac addiu a1, zero, 1 | a1 = 1;
0x00011db0 sw a1, -0x5e10(v0) | *((v0 - 6020)) = a1;
0x00011db4 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
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, 0x3e50 | a3 += aav.0x00003e50;
| }
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, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00011de0 sw a2, 0x10(sp) | *(var_10h) = a2;
0x00011de4 sw a3, 0x14(sp) | *(var_14h) = a3;
0x00011de8 addiu a1, a1, 0x3e5c | a1 += aav.0x00003e5c;
0x00011dec move a2, v0 | a2 = v0;
0x00011df0 move a3, v1 | a3 = v1;
0x00011df4 bal 0x2f860 | sym_fprintf ()
0x00011df8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00011dfc lw t9, -0x7f2c(gp) | t9 = *((gp - 8139));
| }
0x00011e00 jalr t9 | t9 ();
0x00011e04 nop |
0x00011e08 nop |
0x00011e0c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x1adc8 */
| #include <stdint.h>
|
; (fcn) sym.addmntent () | void addmntent () {
0x0001adc8 lui gp, 0xa |
0x0001adcc addiu gp, gp, 0x6918 |
0x0001add0 addu gp, gp, t9 | gp += t9;
0x0001add4 lw t9, -0x7d8c(gp) | t9 = *((gp - 8035));
0x0001add8 addiu sp, sp, -0x38 |
0x0001addc addiu a2, zero, 2 | a2 = 2;
0x0001ade0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0001ade4 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0001ade8 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0001adec sw ra, 0x34(sp) | *(var_34h) = ra;
0x0001adf0 move s0, a1 | s0 = a1;
0x0001adf4 move a1, zero | a1 = 0;
0x0001adf8 move s1, a0 | s1 = a0;
0x0001adfc bal 0x2e960 | sym_fseeko ();
0x0001ae00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x0001ae04 bltz v0, 0x1ae4c |
0x0001ae08 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0001ae0c lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0001ae10 lw a2, (s0) | a2 = *(s0);
0x0001ae14 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ae18 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001ae1c lw a3, 4(s0) | a3 = *((s0 + 1));
0x0001ae20 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0001ae24 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001ae28 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0001ae2c move a0, s1 | a0 = s1;
0x0001ae30 addiu a1, a1, 0x4940 | a1 += 0x4940;
0x0001ae34 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001ae38 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0001ae3c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001ae40 bal 0x2f860 | sym_fprintf ()
0x0001ae44 srl v0, v0, 0x1f | v0 >>= 0x1f;
0x0001ae48 b 0x1ae50 |
| } else {
0x0001ae4c addiu v0, zero, 1 | v0 = 1;
| }
0x0001ae50 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001ae54 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0001ae58 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0001ae5c addiu sp, sp, 0x38 |
0x0001ae60 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x13360 */
| #include <stdint.h>
|
; (fcn) sym.error () | void error () {
0x00013360 lui gp, 0xb |
0x00013364 addiu gp, gp, -0x1c80 |
0x00013368 addu gp, gp, t9 | gp += t9;
0x0001336c lw v0, -0x7578(gp) | v0 = *((gp - 7518));
0x00013370 addiu sp, sp, -0x38 |
0x00013374 sw a3, 0x44(sp) | *(ap) = a3;
0x00013378 lw t9, -0x7e44(gp) | t9 = *((gp - 8081));
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, -0x75b8(gp) | v0 = *((gp - 7534));
0x000133b0 lw t9, (v0) | t9 = *(v0);
0x000133b4 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| 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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x000133d0 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x000133d4 lw a0, (v0) | a0 = *(v0);
0x000133d8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000133dc addiu a1, a1, 0x47a0 | a1 += 0x47a0;
0x000133e0 lw a2, (v0) | a2 = *(v0);
0x000133e4 bal 0x2f860 | sym_fprintf ()
0x000133e8 lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x000133ec lw s2, -0x7614(gp) | s2 = *((gp - 7557));
0x000133f0 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
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 0x331a0 | sym_vfprintf ()
0x00013408 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001340c lw v0, -0x75ac(gp) | v0 = *((gp - 7531));
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, -0x7e40(gp) | t9 = *((gp - 8080));
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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00013440 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013444 addiu a1, a1, 0x47a8 | a1 += 0x47a8;
0x00013448 bal 0x2f860 | sym_fprintf ()
0x0001344c lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x00013450 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00013454 lw a1, (v0) | a1 = *(v0);
0x00013458 lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x0001345c lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
| 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, -0x7e38(gp) | t9 = *((gp - 8078));
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, -0x7e50(gp) | t9 = *((gp - 8084));
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/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
| #include <stdint.h>
|
; (fcn) sym.error_at_line () | void error_at_line () {
0x000134d0 lui gp, 0xb |
0x000134d4 addiu gp, gp, -0x1df0 |
0x000134d8 addu gp, gp, t9 | gp += t9;
0x000134dc lw v0, -0x763c(gp) | v0 = *((gp - 7567));
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, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00013520 lw s4, -0x7ed0(gp) | s4 = *((gp - 8116));
0x00013524 lw v1, -0x5df8(v0) | v1 = *((v0 - 6014));
0x00013528 move s5, v0 | s5 = v0;
| if (v1 == a3) {
0x0001352c bne v1, a3, 0x1354c |
0x00013530 lw a0, -0x5df4(s4) | a0 = *((s4 - 6013));
0x00013534 lw t9, -0x7e98(gp) | t9 = *((gp - 8102));
| 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, -0x5df4(s4) | *((s4 - 6013)) = s0;
0x00013550 sw s1, -0x5df8(s5) | *((s5 - 6014)) = s1;
| }
0x00013554 lw v0, -0x7578(gp) | v0 = *((gp - 7518));
0x00013558 lw t9, -0x7e44(gp) | t9 = *((gp - 8081));
0x0001355c lw a0, (v0) | a0 = *(v0);
0x00013560 jalr t9 | t9 ();
0x00013564 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013568 lw v0, -0x75b8(gp) | v0 = *((gp - 7534));
0x0001356c lw t9, (v0) | t9 = *(v0);
0x00013570 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| 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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0001358c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013590 lw a0, (v0) | a0 = *(v0);
0x00013594 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00013598 addiu a1, a1, 0x47b0 | a1 += 0x47b0;
0x0001359c lw a2, (v0) | a2 = *(v0);
0x000135a0 bal 0x2f860 | sym_fprintf ()
0x000135a4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135a8 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| if (s0 != 0) {
0x000135ac beqz s0, 0x135d0 |
0x000135b0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x000135b4 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x000135b8 lw a0, (v0) | a0 = *(v0);
0x000135bc addiu a1, a1, 0x47b4 | a1 += 0x47b4;
0x000135c0 move a2, s0 | a2 = s0;
0x000135c4 move a3, s1 | a3 = s1;
0x000135c8 bal 0x2f860 | sym_fprintf ()
0x000135cc lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135d0 lw s0, -0x7614(gp) | s0 = *((gp - 7557));
0x000135d4 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
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 0x331a0 | sym_vfprintf ()
0x000135ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000135f0 lw v0, -0x75ac(gp) | v0 = *((gp - 7531));
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, -0x7e40(gp) | t9 = *((gp - 8080));
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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00013624 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013628 addiu a1, a1, 0x47a8 | a1 += 0x47a8;
0x0001362c bal 0x2f860 | sym_fprintf ()
0x00013630 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00013634 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00013638 lw a1, (v0) | a1 = *(v0);
0x0001363c lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x00013640 lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
| 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, -0x7e38(gp) | t9 = *((gp - 8078));
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, -0x7e50(gp) | t9 = *((gp - 8084));
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/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
| #include <stdint.h>
|
; (fcn) sym.error_at_line () | void error_at_line () {
0x000134d0 lui gp, 0xb |
0x000134d4 addiu gp, gp, -0x1df0 |
0x000134d8 addu gp, gp, t9 | gp += t9;
0x000134dc lw v0, -0x763c(gp) | v0 = *((gp - 7567));
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, -0x7ed0(gp) | v0 = *((gp - 8116));
0x00013520 lw s4, -0x7ed0(gp) | s4 = *((gp - 8116));
0x00013524 lw v1, -0x5df8(v0) | v1 = *((v0 - 6014));
0x00013528 move s5, v0 | s5 = v0;
| if (v1 == a3) {
0x0001352c bne v1, a3, 0x1354c |
0x00013530 lw a0, -0x5df4(s4) | a0 = *((s4 - 6013));
0x00013534 lw t9, -0x7e98(gp) | t9 = *((gp - 8102));
| 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, -0x5df4(s4) | *((s4 - 6013)) = s0;
0x00013550 sw s1, -0x5df8(s5) | *((s5 - 6014)) = s1;
| }
0x00013554 lw v0, -0x7578(gp) | v0 = *((gp - 7518));
0x00013558 lw t9, -0x7e44(gp) | t9 = *((gp - 8081));
0x0001355c lw a0, (v0) | a0 = *(v0);
0x00013560 jalr t9 | t9 ();
0x00013564 lw gp, 0x10(sp) | gp = *(var_10h);
0x00013568 lw v0, -0x75b8(gp) | v0 = *((gp - 7534));
0x0001356c lw t9, (v0) | t9 = *(v0);
0x00013570 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| 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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0001358c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013590 lw a0, (v0) | a0 = *(v0);
0x00013594 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00013598 addiu a1, a1, 0x47b0 | a1 += 0x47b0;
0x0001359c lw a2, (v0) | a2 = *(v0);
0x000135a0 bal 0x2f860 | sym_fprintf ()
0x000135a4 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135a8 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| if (s0 != 0) {
0x000135ac beqz s0, 0x135d0 |
0x000135b0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x000135b4 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x000135b8 lw a0, (v0) | a0 = *(v0);
0x000135bc addiu a1, a1, 0x47b4 | a1 += 0x47b4;
0x000135c0 move a2, s0 | a2 = s0;
0x000135c4 move a3, s1 | a3 = s1;
0x000135c8 bal 0x2f860 | sym_fprintf ()
0x000135cc lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x000135d0 lw s0, -0x7614(gp) | s0 = *((gp - 7557));
0x000135d4 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
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 0x331a0 | sym_vfprintf ()
0x000135ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000135f0 lw v0, -0x75ac(gp) | v0 = *((gp - 7531));
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, -0x7e40(gp) | t9 = *((gp - 8080));
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, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00013624 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013628 addiu a1, a1, 0x47a8 | a1 += 0x47a8;
0x0001362c bal 0x2f860 | sym_fprintf ()
0x00013630 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00013634 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00013638 lw a1, (v0) | a1 = *(v0);
0x0001363c lw v0, 0x48(a1) | v0 = *((a1 + 18));
0x00013640 lw t9, -0x7e3c(gp) | t9 = *((gp - 8079));
| 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, -0x7e38(gp) | t9 = *((gp - 8078));
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, -0x7e50(gp) | t9 = *((gp - 8084));
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/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4f4a0 */
| #include <stdint.h>
|
; (fcn) sym.herror () | void herror () {
0x0004f4a0 lui gp, 7 |
0x0004f4a4 addiu gp, gp, 0x2240 |
0x0004f4a8 addu gp, gp, t9 | gp += t9;
0x0004f4ac addiu sp, sp, -0x28 |
0x0004f4b0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004f4b4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0004f4b8 move a2, a0 | a2 = a0;
| if (a0 != 0) {
0x0004f4bc beqz a0, 0x4f4d8 |
0x0004f4c0 lbu v0, (a0) | v0 = *(a0);
| if (v0 != 0) {
0x0004f4c4 beql v0, zero, 0x4f4dc |
0x0004f4c8 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x0004f4cc lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x0004f4d0 addiu a3, a3, 0x55e0 | a3 += 0x55e0;
0x0004f4d4 b 0x4f4e0 |
| } else {
0x0004f4d8 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
| }
0x0004f4dc addiu a3, a3, 0x55e2 | a3 += 0x55e2;
| }
0x0004f4e0 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0004f4e4 move v0, v1 | v0 = v1;
0x0004f4e8 lw v1, -0x756c(gp) | v1 = *((gp - 7515));
0x0004f4ec addu v0, v1, v0 | v0 = v1 + v0;
0x0004f4f0 lw v0, (v0) | v0 = *(v0);
0x0004f4f4 sltiu v1, v0, 5 | v1 = (v0 < 5) ? 1 : 0;
0x0004f4f8 lw v1, -0x7ed0(gp) | v1 = *((gp - 8116));
| if (v1 != 0) {
0x0004f4fc beqz v1, 0x4f514 |
0x0004f500 sll v0, v0, 2 | v0 <<= 2;
0x0004f504 addiu v1, v1, -0x6e78 | v1 += -0x6e78;
0x0004f508 addu v0, v0, v1 | v0 += v1;
0x0004f50c lw v0, (v0) | v0 = *(v0);
0x0004f510 b 0x4f51c |
| } else {
0x0004f514 lw v0, -0x7fd0(gp) | v0 = *((gp - 8180));
0x0004f518 addiu v0, v0, 0x795c | v0 += 0x795c;
| }
0x0004f51c lw v1, -0x7614(gp) | v1 = *((gp - 7557));
0x0004f520 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0004f524 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0004f528 lw a0, (v1) | a0 = *(v1);
0x0004f52c addiu a1, a1, 0x6740 | a1 += 0x6740;
0x0004f530 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004f534 bal 0x2f860 | sym_fprintf ()
0x0004f538 lw ra, 0x24(sp) | ra = *(var_24h);
0x0004f53c addiu sp, sp, 0x28 |
0x0004f540 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2ef90 */
| #include <stdint.h>
|
; (fcn) sym.perror () | void perror () {
0x0002ef90 lui gp, 9 |
0x0002ef94 addiu gp, gp, 0x2750 |
0x0002ef98 addu gp, gp, t9 | gp += t9;
0x0002ef9c move a2, a0 | a2 = a0;
| if (a0 != 0) {
0x0002efa0 beqz a0, 0x2efbc |
0x0002efa4 lbu v0, (a0) | v0 = *(a0);
| if (v0 != 0) {
0x0002efa8 beql v0, zero, 0x2efc0 |
0x0002efac lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x0002efb0 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x0002efb4 addiu a3, a3, 0x55e0 | a3 += 0x55e0;
0x0002efb8 b 0x2efc8 |
| } else {
0x0002efbc lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
| }
0x0002efc0 addiu a3, a3, 0x55e2 | a3 += 0x55e2;
0x0002efc4 move a2, a3 | a2 = a3;
| }
0x0002efc8 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x0002efcc lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002efd0 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002efd4 lw a0, (v0) | a0 = *(v0);
0x0002efd8 addiu a1, a1, 0x55e4 | a1 += 0x55e4;
0x0002efdc b 0x2f860 | return void (*0x2f860)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x3c290 */
| #include <stdint.h>
|
; (fcn) sym.psignal () | void psignal () {
0x0003c290 lui gp, 8 |
0x0003c294 addiu gp, gp, 0x5450 |
0x0003c298 addu gp, gp, t9 | gp += t9;
0x0003c29c addiu sp, sp, -0x30 |
0x0003c2a0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003c2a4 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0003c2a8 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0003c2ac sw s1, 0x24(sp) | *(var_24h) = s1;
0x0003c2b0 sw s0, 0x20(sp) | *(var_20h) = s0;
| if (a1 != 0) {
0x0003c2b4 beql a1, zero, 0x3c2d8 |
0x0003c2b8 lw s0, -0x7fd0(gp) | s0 = *((gp - 8180));
0x0003c2bc lbu v0, (a1) | v0 = *(a1);
| if (v0 != 0) {
0x0003c2c0 beql v0, zero, 0x3c2d8 |
0x0003c2c4 lw s0, -0x7fd0(gp) | s0 = *((gp - 8180));
0x0003c2c8 lw s0, -0x7fd0(gp) | s0 = *((gp - 8180));
0x0003c2cc move s1, a1 | s1 = a1;
0x0003c2d0 addiu s0, s0, 0x55e0 | s0 += 0x55e0;
0x0003c2d4 b 0x3c2e0 |
| }
| } else {
0x0003c2d8 addiu s0, s0, 0x55e2 | s0 += 0x55e2;
0x0003c2dc move s1, s0 | s1 = s0;
| }
0x0003c2e0 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x0003c2e4 lw t9, -0x7afc(gp) | t9 = *((gp - 7871));
0x0003c2e8 lw s2, (v0) | s2 = *(v0);
0x0003c2ec bal 0x3c730 | sym_strsignal ();
0x0003c2f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003c2f4 move a0, s2 | a0 = s2;
0x0003c2f8 move a2, s1 | a2 = s1;
0x0003c2fc lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0003c300 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0003c304 move a3, s0 | a3 = s0;
0x0003c308 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003c30c addiu a1, a1, 0x6740 | a1 += 0x6740;
0x0003c310 bal 0x2f860 | sym_fprintf ()
0x0003c314 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0003c318 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0003c31c lw s1, 0x24(sp) | s1 = *(var_24h);
0x0003c320 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0003c324 addiu sp, sp, 0x30 |
0x0003c328 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2d8b0 */
| #include <stdint.h>
|
; (fcn) sym.putgrent () | void putgrent () {
0x0002d8b0 lui gp, 9 |
0x0002d8b4 addiu gp, gp, 0x3e30 |
0x0002d8b8 addu gp, gp, t9 | gp += t9;
0x0002d8bc addiu sp, sp, -0x38 |
0x0002d8c0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002d8c4 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0002d8c8 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0002d8cc sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0002d8d0 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0002d8d4 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0002d8d8 sw s0, 0x20(sp) | *(var_20h) = s0;
| if (a0 != 0) {
0x0002d8dc beqz a0, 0x2d8e8 |
0x0002d8e0 lw s1, 0x48(a1) | s1 = *((a1 + 18));
| if (a1 == 0) {
0x0002d8e4 bnel a1, zero, 0x2d908 | goto label_0;
| }
| }
0x0002d8e8 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002d8ec move v0, v1 | v0 = v1;
0x0002d8f0 lw v1, -0x7560(gp) | v1 = *((gp - 7512));
0x0002d8f4 addiu s2, zero, -1 | s2 = -1;
0x0002d8f8 addu v0, v1, v0 | v0 = v1 + v0;
0x0002d8fc addiu v1, zero, 0x16 | v1 = 0x16;
0x0002d900 sw v1, (v0) | *(v0) = v1;
0x0002d904 b 0x2da58 | goto label_1;
| label_0:
0x0002d908 move s2, a0 | s2 = a0;
0x0002d90c move s0, a1 | s0 = a1;
| if (s1 != 0) {
0x0002d910 bnez s1, 0x2d974 | goto label_2;
| }
0x0002d914 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002d918 lw v0, 0x54(a1) | v0 = *((a1 + 21));
0x0002d91c addiu s3, v1, -0x7460 | s3 = v1 + -0x7460;
0x0002d920 addiu a0, a1, 0x4c | a0 = a1 + 0x4c;
| if (v0 == s3) {
0x0002d924 beq v0, s3, 0x2d968 | goto label_3;
| }
0x0002d928 addiu v0, zero, 1 | v0 = 1;
| do {
0x0002d92c ll a1, 0x4c(s0) | __asm ("ll a1, 0x4c(s0)");
0x0002d930 move v1, zero | v1 = 0;
| if (a1 != s1) {
0x0002d934 bne a1, s1, 0x2d94c | goto label_4;
| }
0x0002d938 move v1, v0 | v1 = v0;
0x0002d93c sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002d940 beqz v1, 0x2d92c |
| } while (v1 == 0);
0x0002d944 nop |
0x0002d948 sync | __asm ("sync");
| label_4:
0x0002d94c sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| if (v1 != 0) {
0x0002d950 bnel v1, zero, 0x2d968 |
0x0002d954 lw t9, -0x7e60(gp) | t9 = *((gp - 8088));
0x0002d958 jalr t9 | t9 ();
0x0002d95c nop |
0x0002d960 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002d964 sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| }
| label_3:
0x0002d968 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002d96c addiu v0, v0, 1 | v0++;
0x0002d970 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| label_2:
0x0002d974 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002d978 lw s3, -0x7f5c(gp) | s3 = *((gp - 8151));
0x0002d97c lw v0, 8(s2) | v0 = *((s2 + 2));
0x0002d980 lw a2, (s2) | a2 = *(s2);
0x0002d984 lw a3, 4(s2) | a3 = *((s2 + 1));
0x0002d988 move a0, s0 | a0 = s0;
0x0002d98c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002d990 move t9, s3 | t9 = s3;
0x0002d994 addiu a1, a1, 0x55b0 | a1 += 0x55b0;
0x0002d998 bal 0x2f860 | sym_fprintf ()
0x0002d99c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0002d9a0 bltz v0, 0x2d9fc | goto label_5;
| }
0x0002d9a4 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002d9a8 lw s2, 0xc(s2) | s2 = *((s2 + 3));
0x0002d9ac lw s4, -0x7fd0(gp) | s4 = *((gp - 8180));
0x0002d9b0 addiu a1, a1, 0x55bd | a1 += 0x55bd;
| do {
0x0002d9b4 lw a2, (s2) | a2 = *(s2);
0x0002d9b8 move t9, s3 | t9 = s3;
| if (a2 == 0) {
0x0002d9bc bnez a2, 0x2d9e0 |
0x0002d9c0 lw t9, -0x7e38(gp) | t9 = *((gp - 8078));
0x0002d9c4 addiu a0, zero, 0xa | a0 = 0xa;
0x0002d9c8 move a1, s0 | a1 = s0;
0x0002d9cc bal 0x39ee0 | sym_putc_unlocked ();
0x0002d9d0 move s2, zero | s2 = 0;
| if (v0 >= 0) {
0x0002d9d4 bgez v0, 0x2da00 | goto label_6;
| }
0x0002d9d8 addiu s2, zero, -1 | s2 = -1;
0x0002d9dc b 0x2da00 | goto label_6;
| }
0x0002d9e0 move a0, s0 | a0 = s0;
0x0002d9e4 bal 0x2f860 | sym_fprintf ()
0x0002d9e8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0002d9ec bltz v0, 0x2d9fc | goto label_5;
| }
0x0002d9f0 addiu s2, s2, 4 | s2 += 4;
0x0002d9f4 addiu a1, s4, 0x55bc | a1 = s4 + 0x55bc;
0x0002d9f8 b 0x2d9b4 |
| } while (1);
| label_5:
0x0002d9fc addiu s2, zero, -1 | s2 = -1;
| label_6:
0x0002da00 lw ra, 0x34(sp) | ra = *(var_34h);
| if (s1 != 0) {
0x0002da04 bnez s1, 0x2da5c | goto label_7;
| }
0x0002da08 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002da0c addiu v0, v0, -1 | v0 += -1;
0x0002da10 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| if (v0 != 0) {
0x0002da14 bnez v0, 0x2da58 | goto label_1;
| }
0x0002da18 sw zero, 0x54(s0) | *((s0 + 21)) = 0;
0x0002da1c addiu a0, s0, 0x4c | a0 = s0 + 0x4c;
0x0002da20 sync | __asm ("sync");
| do {
0x0002da24 ll v0, 0x4c(s0) | __asm ("ll v0, 0x4c(s0)");
0x0002da28 move v1, s1 | v1 = s1;
0x0002da2c sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002da30 beqz v1, 0x2da24 |
| } while (v1 == 0);
0x0002da34 nop |
0x0002da38 slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0002da3c lw ra, 0x34(sp) | ra = *(var_34h);
| if (v0 == 0) {
0x0002da40 bnez v0, 0x2da5c |
0x0002da44 addiu a1, zero, 0x81 | a1 = 0x81;
0x0002da48 addiu a2, zero, 1 | a2 = 1;
0x0002da4c move a3, zero | a3 = 0;
0x0002da50 addiu v0, zero, 0x108e | v0 = 0x108e;
0x0002da54 syscall | __asm ("syscall");
| label_1:
0x0002da58 lw ra, 0x34(sp) | ra = *(var_34h);
| }
| label_7:
0x0002da5c move v0, s2 | v0 = s2;
0x0002da60 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0002da64 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0002da68 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0002da6c lw s1, 0x24(sp) | s1 = *(var_24h);
0x0002da70 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002da74 addiu sp, sp, 0x38 |
0x0002da78 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2da80 */
| #include <stdint.h>
|
; (fcn) sym.putpwent () | void putpwent () {
0x0002da80 lui gp, 9 |
0x0002da84 addiu gp, gp, 0x3c60 |
0x0002da88 addu gp, gp, t9 | gp += t9;
0x0002da8c addiu sp, sp, -0x38 |
0x0002da90 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0002da94 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0002da98 move v0, a0 | v0 = a0;
| if (a0 != 0) {
0x0002da9c beqz a0, 0x2daa8 |
0x0002daa0 lw v1, 8(v0) | v1 = *((v0 + 2));
| if (a1 == 0) {
0x0002daa4 bnel a1, zero, 0x2dac8 | goto label_0;
| }
| }
0x0002daa8 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002daac move v0, v1 | v0 = v1;
0x0002dab0 lw v1, -0x7560(gp) | v1 = *((gp - 7512));
0x0002dab4 addu v0, v1, v0 | v0 = v1 + v0;
0x0002dab8 addiu v1, zero, 0x16 | v1 = 0x16;
0x0002dabc sw v1, (v0) | *(v0) = v1;
0x0002dac0 addiu v1, zero, -1 | v1 = -1;
0x0002dac4 b 0x2db14 | goto label_1;
| label_0:
0x0002dac8 lw a2, (v0) | a2 = *(v0);
0x0002dacc lw a3, 4(v0) | a3 = *((v0 + 1));
0x0002dad0 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0002dad4 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x0002dad8 move a0, a1 | a0 = a1;
0x0002dadc lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002dae0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002dae4 lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x0002dae8 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002daec addiu a1, a1, 0x5580 | a1 += 0x5580;
0x0002daf0 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0002daf4 lw v1, 0x14(v0) | v1 = *((v0 + 5));
0x0002daf8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0002dafc lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x0002db00 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0002db04 bal 0x2f860 | sym_fprintf ()
0x0002db08 slti v0, v0, 0 | v0 = (v0 < 0) ? 1 : 0;
0x0002db0c addiu v1, zero, -1 | v1 = -1;
| if (v0 != 0) {
0x0002db10 movz v1, zero, v0 | v1 = 0;
| }
| label_1:
0x0002db14 lw ra, 0x34(sp) | ra = *(var_34h);
0x0002db18 move v0, v1 | v0 = v1;
0x0002db1c addiu sp, sp, 0x38 |
0x0002db20 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2db30 */
| #include <stdint.h>
|
; (fcn) sym.putspent () | void putspent () {
0x0002db30 lui gp, 9 |
0x0002db34 addiu gp, gp, 0x3bb0 |
0x0002db38 addu gp, gp, t9 | gp += t9;
0x0002db3c addiu sp, sp, -0x40 |
0x0002db40 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0002db44 lw s1, 0x48(a1) | s1 = *((a1 + 18));
0x0002db48 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0002db4c sw s2, 0x20(sp) | *(var_20h) = s2;
0x0002db50 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0002db54 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0002db58 sw fp, 0x38(sp) | *(var_38h) = fp;
0x0002db5c sw s7, 0x34(sp) | *(var_34h) = s7;
0x0002db60 sw s6, 0x30(sp) | *(var_30h) = s6;
0x0002db64 sw s5, 0x2c(sp) | *(var_2ch) = s5;
0x0002db68 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0002db6c sw s3, 0x24(sp) | *(var_24h) = s3;
0x0002db70 move s2, a0 | s2 = a0;
0x0002db74 move s0, a1 | s0 = a1;
| if (s1 != 0) {
0x0002db78 bnez s1, 0x2dbdc | goto label_1;
| }
0x0002db7c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0002db80 lw v0, 0x54(a1) | v0 = *((a1 + 21));
0x0002db84 addiu s3, v1, -0x7460 | s3 = v1 + -0x7460;
0x0002db88 addiu a0, a1, 0x4c | a0 = a1 + 0x4c;
| if (v0 == s3) {
0x0002db8c beq v0, s3, 0x2dbd0 | goto label_2;
| }
0x0002db90 addiu v0, zero, 1 | v0 = 1;
| do {
0x0002db94 ll a1, 0x4c(s0) | __asm ("ll a1, 0x4c(s0)");
0x0002db98 move v1, zero | v1 = 0;
| if (a1 != s1) {
0x0002db9c bne a1, s1, 0x2dbb4 | goto label_3;
| }
0x0002dba0 move v1, v0 | v1 = v0;
0x0002dba4 sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002dba8 beqz v1, 0x2db94 |
| } while (v1 == 0);
0x0002dbac nop |
0x0002dbb0 sync | __asm ("sync");
| label_3:
0x0002dbb4 sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| if (v1 != 0) {
0x0002dbb8 bnel v1, zero, 0x2dbd0 |
0x0002dbbc lw t9, -0x7e60(gp) | t9 = *((gp - 8088));
0x0002dbc0 jalr t9 | t9 ();
0x0002dbc4 nop |
0x0002dbc8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dbcc sw s3, 0x54(s0) | *((s0 + 21)) = s3;
| }
| label_2:
0x0002dbd0 lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002dbd4 addiu v0, v0, 1 | v0++;
0x0002dbd8 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| label_1:
0x0002dbdc lw a3, 4(s2) | a3 = *((s2 + 1));
0x0002dbe0 lw a2, (s2) | a2 = *(s2);
| if (a3 == 0) {
0x0002dbe4 bnez a3, 0x2dbf0 |
0x0002dbe8 lw a3, -0x7fd0(gp) | a3 = *((gp - 8180));
0x0002dbec addiu a3, a3, 0x74a0 | a3 += 0x74a0;
| }
0x0002dbf0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002dbf4 lw s4, -0x7f5c(gp) | s4 = *((gp - 8151));
0x0002dbf8 move a0, s0 | a0 = s0;
0x0002dbfc move t9, s4 | t9 = s4;
0x0002dc00 addiu a1, a1, 0x55c0 | a1 += 0x55c0;
0x0002dc04 bal 0x2f860 | sym_fprintf ()
0x0002dc08 move s3, zero | s3 = 0;
0x0002dc0c lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dc10 bgez v0, 0x2dc1c |
| while (v0 < 0) {
0x0002dc14 addiu s2, zero, -1 | s2 = -1;
0x0002dc18 b 0x2dcc4 | goto label_4;
0x0002dc1c lw s5, -0x7fd0(gp) | s5 = *((gp - 8180));
0x0002dc20 lw s7, -0x7fd0(gp) | s7 = *((gp - 8180));
0x0002dc24 lw fp, -0x7fd0(gp) | fp = *((gp - 8180));
0x0002dc28 addiu s5, s5, 0x55d0 | s5 += 0x55d0;
0x0002dc2c addiu s6, zero, -1 | s6 = -1;
0x0002dc30 addu v0, s3, s5 | v0 = s3 + s5;
| label_0:
0x0002dc34 lbu v0, (v0) | v0 = *(v0);
0x0002dc38 addiu a1, s7, 0x55c8 | a1 = s7 + 0x55c8;
0x0002dc3c move a0, s0 | a0 = s0;
0x0002dc40 addu v0, s2, v0 | v0 = s2 + v0;
0x0002dc44 lw a2, (v0) | a2 = *(v0);
0x0002dc48 addiu v0, fp, 0x55cb | v0 = fp + 0x55cb;
0x0002dc4c move t9, s4 | t9 = s4;
0x0002dc50 xor v1, a2, s6 | v1 = a2 ^ s6;
| if (v1 != 0) {
0x0002dc54 movz a1, v0, v1 | a1 = v0;
| }
0x0002dc58 bal 0x2f860 | sym_fprintf ()
0x0002dc5c lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dc60 bltz v0, 0x2dc14 |
| }
0x0002dc64 addiu s3, s3, 1 | s3++;
0x0002dc68 addiu v0, zero, 6 | v0 = 6;
0x0002dc6c addu v0, s3, s5 | v0 = s3 + s5;
| if (s3 != v0) {
0x0002dc70 bne s3, v0, 0x2dc34 | goto label_0;
| }
0x0002dc74 lw a2, 0x20(s2) | a2 = *((s2 + 8));
0x0002dc78 addiu v0, zero, -1 | v0 = -1;
0x0002dc7c lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0002dc80 bne a2, v0, 0x2dca4 |
| while (v0 >= 0) {
0x0002dc84 lw t9, -0x7e38(gp) | t9 = *((gp - 8078));
0x0002dc88 addiu a0, zero, 0xa | a0 = 0xa;
0x0002dc8c move a1, s0 | a1 = s0;
0x0002dc90 bal 0x39ee0 | sym_putc_unlocked ();
0x0002dc94 move s2, zero | s2 = 0;
| if (v0 > 0) {
0x0002dc98 bgtz v0, 0x2dcc4 | goto label_4;
| }
0x0002dc9c addiu s2, zero, -1 | s2 = -1;
0x0002dca0 b 0x2dcc4 | goto label_4;
0x0002dca4 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0002dca8 move a0, s0 | a0 = s0;
0x0002dcac addiu a1, a1, 0x69e0 | a1 += 0x69e0;
0x0002dcb0 bal 0x2f860 | sym_fprintf ()
0x0002dcb4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002dcb8 bgez v0, 0x2dc84 |
| }
0x0002dcbc addiu s2, zero, -1 | s2 = -1;
0x0002dcc0 b 0x2dcc4 |
| label_4:
0x0002dcc4 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s1 != 0) {
0x0002dcc8 bnez s1, 0x2dd20 | goto label_5;
| }
0x0002dccc lw v0, 0x50(s0) | v0 = *((s0 + 20));
0x0002dcd0 addiu v0, v0, -1 | v0 += -1;
0x0002dcd4 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
| if (v0 != 0) {
0x0002dcd8 bnez v0, 0x2dd1c | goto label_6;
| }
0x0002dcdc sw zero, 0x54(s0) | *((s0 + 21)) = 0;
0x0002dce0 addiu a0, s0, 0x4c | a0 = s0 + 0x4c;
0x0002dce4 sync | __asm ("sync");
| do {
0x0002dce8 ll v0, 0x4c(s0) | __asm ("ll v0, 0x4c(s0)");
0x0002dcec move v1, s1 | v1 = s1;
0x0002dcf0 sc v1, 0x4c(s0) | __asm ("sc v1, 0x4c(s0)");
0x0002dcf4 beqz v1, 0x2dce8 |
| } while (v1 == 0);
0x0002dcf8 nop |
0x0002dcfc slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0002dd00 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (v0 == 0) {
0x0002dd04 bnez v0, 0x2dd20 |
0x0002dd08 addiu a1, zero, 0x81 | a1 = 0x81;
0x0002dd0c addiu a2, zero, 1 | a2 = 1;
0x0002dd10 move a3, zero | a3 = 0;
0x0002dd14 addiu v0, zero, 0x108e | v0 = 0x108e;
0x0002dd18 syscall | __asm ("syscall");
| label_6:
0x0002dd1c lw ra, 0x3c(sp) | ra = *(var_3ch);
| }
| label_5:
0x0002dd20 move v0, s2 | v0 = s2;
0x0002dd24 lw fp, 0x38(sp) | fp = *(var_38h);
0x0002dd28 lw s7, 0x34(sp) | s7 = *(var_34h);
0x0002dd2c lw s6, 0x30(sp) | s6 = *(var_30h);
0x0002dd30 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x0002dd34 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0002dd38 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0002dd3c lw s2, 0x20(sp) | s2 = *(var_20h);
0x0002dd40 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0002dd44 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0002dd48 addiu sp, sp, 0x40 |
0x0002dd4c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4590c */
| #include <stdint.h>
|
; (fcn) sym.rcmd () | void rcmd () {
0x0004590c lui gp, 8 |
0x00045910 addiu gp, gp, -0x422c |
0x00045914 addu gp, gp, t9 | gp += t9;
0x00045918 addiu sp, sp, -0xb8 |
0x0004591c lw t9, -0x7fc0(gp) | t9 = *((gp - 8176));
0x00045920 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x00045924 move fp, sp | fp = sp;
0x00045928 sw s7, 0xac(sp) | *(var_ach) = s7;
0x0004592c sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x00045930 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x00045934 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00045938 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x0004593c sw s2, 0x98(sp) | *(var_98h) = s2;
0x00045940 sw s1, 0x94(sp) | *(var_94h) = s1;
0x00045944 sw s0, 0x90(sp) | *(var_90h) = s0;
0x00045948 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004594c sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x00045950 sw a1, 0x80(fp) | *(var_80h) = a1;
0x00045954 move s5, a2 | s5 = a2;
0x00045958 move s2, a0 | s2 = a0;
0x0004595c move s4, a3 | s4 = a3;
0x00045960 bal 0x61d00 | sym_getpid ();
0x00045964 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045968 addiu sp, sp, -0x408 |
0x0004596c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045970 lw s6, -0x7560(gp) | s6 = *((gp - 7512));
0x00045974 move s7, v0 | s7 = v0;
0x00045978 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x0004597c addiu s3, zero, 0x400 | s3 = aav.0x00000400;
0x00045980 addiu s1, fp, 0x74 | s1 = fp + 0x74;
0x00045984 addiu s0, fp, 0x78 | s0 = fp + 0x78;
0x00045988 addu s6, s6, v1 | s6 += v1;
0x0004598c b 0x459e8 |
| while (v0 != 0) {
0x00045990 lw v0, 0x78(fp) | v0 = *(var_78h);
| label_0:
0x00045994 addiu v1, zero, -1 | v1 = -1;
0x00045998 addiu v1, zero, 0x22 | v1 = 0x22;
| if (v0 == v1) {
0x0004599c bne v0, v1, 0x459ac |
0x000459a0 lw a0, (s6) | a0 = *(s6);
0x000459a4 sll s3, s3, 1 | s3 <<= 1;
| if (a0 == v1) {
0x000459a8 beq a0, v1, 0x459d4 | goto label_2;
| }
| }
0x000459ac rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x000459b0 move a0, v1 | a0 = v1;
0x000459b4 lw v1, -0x756c(gp) | v1 = *((gp - 7515));
0x000459b8 lw t9, -0x79b4(gp) | t9 = *((gp - 7789));
0x000459bc addu a0, v1, a0 | a0 = v1 + a0;
0x000459c0 sw v0, (a0) | *(a0) = v0;
0x000459c4 lw a0, (s2) | a0 = *(s2);
0x000459c8 bal 0x4f4a0 | sym_herror ();
0x000459cc addiu s0, zero, -1 | s0 = -1;
0x000459d0 b 0x46024 | goto label_3;
| label_2:
0x000459d4 addiu v0, s3, 0xe | v0 = s3 + 0xe;
0x000459d8 srl v0, v0, 3 | v0 >>= 3;
0x000459dc sll v0, v0, 3 | v0 <<= 3;
0x000459e0 subu sp, sp, v0 |
0x000459e4 addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x000459e8 lw a0, (s2) | a0 = *(s2);
0x000459ec lw t9, -0x7a7c(gp) | t9 = *((gp - 7839));
0x000459f0 sw s1, 0x10(sp) | *(var_10h) = s1;
0x000459f4 sw s0, 0x14(sp) | *(var_14h) = s0;
0x000459f8 addiu a1, fp, 0x20 | a1 = fp + 0x20;
0x000459fc move a3, s3 | a3 = s3;
0x00045a00 bal 0x54d80 | sym_gethostbyname_r ();
0x00045a04 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045a08 bnez v0, 0x45990 |
| }
0x00045a0c lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v0 == 0) {
0x00045a10 beql v0, zero, 0x45994 | goto label_0;
| }
0x00045a14 lw v0, 0x78(fp) | v0 = *(var_78h);
0x00045a18 addiu v1, zero, 1 | v1 = 1;
0x00045a1c sh v1, 0x38(fp) | *(var_38h) = v1;
0x00045a20 sh v1, 0x40(fp) | *(var_40h) = v1;
0x00045a24 lw v0, (v0) | v0 = *(v0);
0x00045a28 lw t9, -0x79b0(gp) | t9 = *((gp - 7788));
0x00045a2c lui a0, 0x10 | a0 = 0x100000;
0x00045a30 sw v0, (s2) | *(s2) = v0;
0x00045a34 bal 0x58d70 | sym_sigblock ();
0x00045a38 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045a3c move s1, v0 | s1 = v0;
0x00045a40 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045a44 lw s6, -0x7560(gp) | s6 = *((gp - 7512));
0x00045a48 addiu v0, zero, 0x3ff | v0 = 0x3ff;
0x00045a4c sw v0, 0x70(fp) | *(var_70h) = v0;
0x00045a50 addiu s3, zero, 1 | s3 = 1;
0x00045a54 addu s6, s6, v1 | s6 += v1;
| do {
| label_1:
0x00045a58 lw t9, -0x79ac(gp) | t9 = *((gp - 7787));
0x00045a5c addiu a0, fp, 0x70 | a0 = fp + 0x70;
0x00045a60 bal 0x45808 | sym_rresvport ();
0x00045a64 move s0, v0 | s0 = v0;
0x00045a68 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 < 0) {
0x00045a6c bgez v0, 0x45ac0 |
0x00045a70 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045a74 move v0, v1 | v0 = v1;
0x00045a78 lw v1, -0x7560(gp) | v1 = *((gp - 7512));
0x00045a7c addu v0, v1, v0 | v0 = v1 + v0;
0x00045a80 lw a0, (v0) | a0 = *(v0);
0x00045a84 addiu v1, zero, 0xb | v1 = 0xb;
0x00045a88 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| if (a0 == v1) {
0x00045a8c bne a0, v1, 0x45aa0 |
0x00045a90 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045a94 lw a0, (v0) | a0 = *(v0);
0x00045a98 addiu a1, a1, 0x71a8 | a1 += 0x71a8;
0x00045a9c b 0x45aac |
| } else {
0x00045aa0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045aa4 lw a0, (v0) | a0 = *(v0);
0x00045aa8 addiu a1, a1, 0x71c8 | a1 += 0x71c8;
| }
0x00045aac lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045ab0 bal 0x2f860 | sym_fprintf ()
0x00045ab4 nop |
0x00045ab8 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045abc b 0x46014 | goto label_4;
| }
0x00045ac0 lw t9, -0x7e90(gp) | t9 = *((gp - 8100));
0x00045ac4 move a0, v0 | a0 = v0;
0x00045ac8 addiu a1, zero, 0x18 | a1 = 0x18;
0x00045acc move a2, s7 | a2 = s7;
0x00045ad0 jalr t9 | t9 ();
0x00045ad4 lw v0, 0x74(fp) | v0 = *(var_74h);
0x00045ad8 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045adc addiu a2, zero, 4 | a2 = 4;
0x00045ae0 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00045ae4 lw t9, -0x7f04(gp) | t9 = *((gp - 8129));
0x00045ae8 sh v1, 0x54(fp) | *(var_54h) = v1;
0x00045aec lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00045af0 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00045af4 lw a1, (v1) | a1 = *(v1);
0x00045af8 sltiu a0, v0, 5 | a0 = (v0 < 5) ? 1 : 0;
| if (a0 == 0) {
0x00045afc movn a2, v0, a0 | a2 = v0;
| }
0x00045b00 addiu a0, fp, 0x58 | a0 = fp + 0x58;
0x00045b04 bal 0x3aee0 | sym_memmove ();
0x00045b08 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045b0c lw t9, 0x80(fp) | t9 = *(var_80h);
0x00045b10 move a0, s0 | a0 = s0;
0x00045b14 addiu a1, fp, 0x54 | a1 = fp + 0x54;
0x00045b18 sh t9, 0x56(fp) | *(var_56h) = t9;
0x00045b1c lw t9, -0x7d40(gp) | t9 = *((gp - 8016));
0x00045b20 addiu a2, zero, 0x10 | a2 = 0x10;
0x00045b24 bal 0x57bc0 | sym_connect ();
0x00045b28 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00045b2c bgez v0, 0x45c94 | goto label_5;
| }
0x00045b30 lw t9, -0x7fa0(gp) | t9 = *((gp - 8168));
0x00045b34 move a0, s0 | a0 = s0;
0x00045b38 bal 0x620b8 | sym_libc_close ();
0x00045b3c lw v1, (s6) | v1 = *(s6);
0x00045b40 addiu v0, zero, 0x7d | v0 = 0x7d;
0x00045b44 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v1 != v0) {
0x00045b48 bne v1, v0, 0x45b5c | goto label_6;
| }
0x00045b4c lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045b50 addiu v0, v0, -1 | v0 += -1;
0x00045b54 sw v0, 0x70(fp) | *(var_70h) = v0;
0x00045b58 b 0x45a58 |
| } while (1);
| label_6:
0x00045b5c addiu v0, zero, 0x92 | v0 = 0x92;
0x00045b60 lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v1 == v0) {
0x00045b64 bne v1, v0, 0x45b8c |
0x00045b68 slti v0, s3, 0x11 | v0 = (s3 < 0x11) ? 1 : 0;
0x00045b6c lw v0, 0x74(fp) | v0 = *(var_74h);
| if (v0 == 0) {
0x00045b70 beqz v0, 0x45b8c | goto label_7;
| }
0x00045b74 lw t9, -0x79a8(gp) | t9 = *((gp - 7786));
0x00045b78 move a0, s3 | a0 = s3;
0x00045b7c sll s3, s3, 1 | s3 <<= 1;
0x00045b80 bal 0x61e40 | sym_sleep ();
0x00045b84 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045b88 b 0x45a58 | goto label_1;
| }
| label_7:
0x00045b8c lw a0, 0x10(v0) | a0 = *((v0 + 4));
0x00045b90 lw a0, 4(a0) | a0 = *((a0 + 1));
0x00045b94 lw s0, -0x7614(gp) | s0 = *((gp - 7557));
| if (a0 != 0) {
0x00045b98 beqz a0, 0x45c74 |
0x00045b9c lw a3, -0x79a4(gp) | a3 = *((gp - 7785));
0x00045ba0 lw a1, (s0) | a1 = *(s0);
0x00045ba4 lw a0, 0x58(fp) | a0 = *(var_58h);
0x00045ba8 move t9, a3 | t9 = a3;
0x00045bac sw a3, 0x8c(fp) | *(var_8ch) = a3;
0x00045bb0 sw v1, 0x88(fp) | *(var_88h) = v1;
0x00045bb4 sw a1, 0x84(fp) | *(var_84h) = a1;
0x00045bb8 bal 0x52930 | sym_inet_ntoa ();
0x00045bbc lw gp, 0x18(fp) | gp = *(var_18h);
0x00045bc0 lw a1, 0x84(fp) | a1 = *(var_84h);
0x00045bc4 move a2, v0 | a2 = v0;
0x00045bc8 lw t0, -0x7f5c(gp) | t0 = *((gp - 8151));
0x00045bcc move a0, a1 | a0 = a1;
0x00045bd0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045bd4 move t9, t0 | t9 = t0;
0x00045bd8 sw t0, 0x84(fp) | *(var_84h) = t0;
0x00045bdc addiu a1, a1, 0x71dc | a1 += 0x71dc;
0x00045be0 bal 0x2f860 | sym_fprintf ()
0x00045be4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045be8 lw v1, 0x88(fp) | v1 = *(var_88h);
0x00045bec move a0, zero | a0 = 0;
0x00045bf0 lw v0, -0x7ab8(gp) | v0 = *((gp - 7854));
0x00045bf4 move t9, v0 | t9 = v0;
0x00045bf8 sw v1, (s6) | *(s6) = v1;
0x00045bfc bal 0x2ef90 | sym_perror ();
0x00045c00 lw v0, 0x74(fp) | v0 = *(var_74h);
0x00045c04 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c08 addiu a2, zero, 4 | a2 = 4;
0x00045c0c lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00045c10 addiu a0, v1, 4 | a0 = v1 + 4;
0x00045c14 sw a0, 0x10(v0) | *((v0 + 4)) = a0;
0x00045c18 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00045c1c lw a1, 4(v1) | a1 = *((v1 + 1));
0x00045c20 sltiu a0, v0, 5 | a0 = (v0 < 5) ? 1 : 0;
| if (a0 == 0) {
0x00045c24 movn a2, v0, a0 | a2 = v0;
| }
0x00045c28 lw v0, -0x7f04(gp) | v0 = *((gp - 8129));
0x00045c2c move t9, v0 | t9 = v0;
0x00045c30 addiu a0, fp, 0x58 | a0 = fp + 0x58;
0x00045c34 bal 0x3aee0 | sym_memmove ();
0x00045c38 lw a3, 0x8c(fp) | a3 = *(var_8ch);
0x00045c3c lw a0, 0x58(fp) | a0 = *(var_58h);
0x00045c40 move t9, a3 | t9 = a3;
0x00045c44 lw s0, (s0) | s0 = *(s0);
0x00045c48 jalr t9 | t9 ();
0x00045c4c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c50 lw t0, 0x84(fp) | t0 = *(var_84h);
0x00045c54 move a0, s0 | a0 = s0;
0x00045c58 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045c5c move a2, v0 | a2 = v0;
0x00045c60 move t9, t0 | t9 = t0;
0x00045c64 addiu a1, a1, 0x71f4 | a1 += 0x71f4;
0x00045c68 jalr t9 | t9 ();
0x00045c6c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c70 b 0x45a58 | goto label_1;
| }
0x00045c74 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045c78 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045c7c lw a0, (s0) | a0 = *(s0);
0x00045c80 lw a2, (v0) | a2 = *(v0);
0x00045c84 addiu a1, a1, 0x7204 | a1 += 0x7204;
0x00045c88 bal 0x2f860 | sym_fprintf ()
0x00045c8c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045c90 b 0x46014 | goto label_4;
| label_5:
0x00045c94 lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045c98 lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045c9c addiu v0, v0, -1 | v0 += -1;
0x00045ca0 sw v0, 0x70(fp) | *(var_70h) = v0;
| if (t9 == 0) {
0x00045ca4 bnez t9, 0x45ccc |
0x00045ca8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045cac lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x00045cb0 move a0, s0 | a0 = s0;
0x00045cb4 addiu a1, a1, 0x74a0 | a1 += 0x74a0;
0x00045cb8 addiu a2, zero, 1 | a2 = 1;
0x00045cbc bal 0x62288 | sym_write ();
0x00045cc0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045cc4 sw zero, 0x70(fp) | *(var_70h) = 0;
0x00045cc8 b 0x45eb4 |
| } else {
0x00045ccc lw t9, -0x79ac(gp) | t9 = *((gp - 7787));
0x00045cd0 addiu a0, fp, 0x70 | a0 = fp + 0x70;
0x00045cd4 bal 0x45808 | sym_rresvport ();
0x00045cd8 move s3, v0 | s3 = v0;
0x00045cdc addiu v0, zero, 0x10 | v0 = 0x10;
0x00045ce0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045ce4 sw v0, 0x6c(fp) | *(var_6ch) = v0;
| if (s3 < 0) {
0x00045ce8 bltz s3, 0x46004 | goto label_8;
| }
0x00045cec lw t9, -0x79a0(gp) | t9 = *((gp - 7784));
0x00045cf0 move a0, s3 | a0 = s3;
0x00045cf4 addiu a1, zero, 1 | a1 = 1;
0x00045cf8 bal 0x57d70 | sym_listen ();
0x00045cfc lw gp, 0x18(fp) | gp = *(var_18h);
0x00045d00 lw a3, 0x70(fp) | a3 = *(var_70h);
0x00045d04 addiu a1, zero, 8 | a1 = 8;
0x00045d08 lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
0x00045d0c lw t9, -0x799c(gp) | t9 = *((gp - 7783));
0x00045d10 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045d14 addiu a2, a2, 0x720c | a2 += 0x720c;
0x00045d18 bal 0x2f8a0 | sym_snprintf ();
0x00045d1c lw gp, 0x18(fp) | gp = *(var_18h);
0x00045d20 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x00045d24 move t9, s6 | t9 = s6;
0x00045d28 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045d2c bal 0x3b6e0 | sym_strlen ();
0x00045d30 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045d34 move a0, s0 | a0 = s0;
0x00045d38 addiu a1, fp, 0x64 | a1 = fp + 0x64;
0x00045d3c lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x00045d40 addiu a2, v0, 1 | a2 = v0 + 1;
0x00045d44 bal 0x62288 | sym_write ();
0x00045d48 addiu a0, fp, 0x64 | a0 = fp + 0x64;
0x00045d4c move t9, s6 | t9 = s6;
0x00045d50 move s7, v0 | s7 = v0;
0x00045d54 bal 0x3b6e0 | sym_strlen ();
0x00045d58 addiu v0, v0, 1 | v0++;
0x00045d5c lw gp, 0x18(fp) | gp = *(var_18h);
| if (s7 != v0) {
0x00045d60 beq s7, v0, 0x45d78 |
0x00045d64 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00045d68 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045d6c lw a0, (v0) | a0 = *(v0);
0x00045d70 addiu a1, a1, 0x7210 | a1 += 0x7210;
0x00045d74 b 0x45de8 |
| } else {
0x00045d78 lw s6, -0x7560(gp) | s6 = *((gp - 7512));
0x00045d7c rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045d80 lw t9, -0x7a40(gp) | t9 = *((gp - 7824));
0x00045d84 addu v0, s6, v1 | v0 = s6 + v1;
0x00045d88 sw s0, 0x34(fp) | *(var_34h) = s0;
0x00045d8c sw s3, 0x3c(fp) | *(var_3ch) = s3;
0x00045d90 sw zero, (v0) | *(v0) = 0;
0x00045d94 addiu a0, fp, 0x34 | a0 = fp + 0x34;
0x00045d98 addiu a1, zero, 2 | a1 = 2;
0x00045d9c addiu a2, zero, -1 | a2 = -1;
0x00045da0 jalr t9 | t9 ();
0x00045da4 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 > 0) {
0x00045da8 blez v0, 0x45dbc |
0x00045dac lhu v0, 0x42(fp) | v0 = *(arg_42h);
0x00045db0 andi v0, v0, 1 | v0 &= 1;
0x00045db4 lw t9, -0x7998(gp) | t9 = *((gp - 7782));
| if (v0 != 0) {
0x00045db8 bnez v0, 0x45e00 | goto label_9;
| }
| }
0x00045dbc rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x00045dc0 addu s6, s6, v1 | s6 += v1;
0x00045dc4 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00045dc8 lw v1, (s6) | v1 = *(s6);
0x00045dcc lw a0, (v0) | a0 = *(v0);
| if (v1 != 0) {
0x00045dd0 beqz v1, 0x45de0 |
0x00045dd4 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045dd8 addiu a1, a1, 0x7238 | a1 += 0x7238;
0x00045ddc b 0x45de8 |
| } else {
0x00045de0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045de4 addiu a1, a1, 0x725c | a1 += 0x725c;
| }
| }
0x00045de8 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045dec bal 0x2f860 | sym_fprintf ()
0x00045df0 nop |
0x00045df4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045df8 move a0, s3 | a0 = s3;
0x00045dfc b 0x45ff4 | goto label_10;
| label_9:
0x00045e00 move a0, s3 | a0 = s3;
0x00045e04 addiu a1, fp, 0x44 | a1 = fp + 0x44;
0x00045e08 addiu a2, fp, 0x6c | a2 = fp + 0x6c;
0x00045e0c bal 0x57aa0 | sym_libc_accept ();
0x00045e10 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045e14 move s6, v0 | s6 = v0;
0x00045e18 lw t9, -0x7fa0(gp) | t9 = *((gp - 8168));
0x00045e1c move a0, s3 | a0 = s3;
0x00045e20 bal 0x620b8 | sym_libc_close ();
0x00045e24 lw gp, 0x18(fp) | gp = *(var_18h);
| if (s6 < 0) {
0x00045e28 bgez s6, 0x45e50 |
0x00045e2c lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00045e30 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045e34 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045e38 lw a0, (v0) | a0 = *(v0);
0x00045e3c addiu a1, a1, 0x7288 | a1 += 0x7288;
0x00045e40 bal 0x2f860 | sym_fprintf ()
0x00045e44 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045e48 sw zero, 0x70(fp) | *(var_70h) = 0;
0x00045e4c b 0x46004 | goto label_8;
| }
0x00045e50 lhu v1, 0x46(fp) | v1 = *(arg_46h);
0x00045e54 lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045e58 lhu a0, 0x44(fp) | a0 = *(arg_44h);
0x00045e5c ext v0, v1, 8, 8 | __asm ("ext v0, v1, 8, 8");
0x00045e60 sll v1, v1, 8 | v1 <<= 8;
0x00045e64 or v0, v0, v1 | v0 |= v1;
0x00045e68 andi v0, v0, 0xffff | v0 &= 0xffff;
0x00045e6c addiu v1, zero, 2 | v1 = 2;
0x00045e70 sw s6, (t9) | *(t9) = s6;
0x00045e74 sh v0, 0x46(fp) | *(var_46h) = v0;
| if (a0 == v1) {
0x00045e78 bne a0, v1, 0x45e94 |
0x00045e7c sltiu v1, v0, 0x400 | v1 = (v0 < aav.0x00000400) ? 1 : 0;
| if (v1 == 0) {
0x00045e80 beql v1, zero, 0x45e98 | goto label_11;
| }
0x00045e84 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00045e88 sltiu v0, v0, 0x200 | v0 = (v0 < aav.0x00000200) ? 1 : 0;
0x00045e8c lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
| if (v0 == 0) {
0x00045e90 beqz v0, 0x45eb8 | goto label_12;
| }
| }
0x00045e94 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| label_11:
0x00045e98 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045e9c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045ea0 lw a0, (v0) | a0 = *(v0);
0x00045ea4 addiu a1, a1, 0x729c | a1 += 0x729c;
0x00045ea8 bal 0x2f860 | sym_fprintf ()
0x00045eac lw gp, 0x18(fp) | gp = *(var_18h);
0x00045eb0 b 0x45f6c | goto label_13;
| }
0x00045eb4 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
| label_12:
0x00045eb8 move t9, s6 | t9 = s6;
0x00045ebc move a0, s5 | a0 = s5;
0x00045ec0 bal 0x3b6e0 | sym_strlen ();
0x00045ec4 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045ec8 move a1, s5 | a1 = s5;
0x00045ecc addiu a2, v0, 1 | a2 = v0 + 1;
0x00045ed0 lw s3, -0x7fd4(gp) | s3 = *((gp - 8181));
0x00045ed4 move a0, s0 | a0 = s0;
0x00045ed8 move t9, s3 | t9 = s3;
0x00045edc addiu s5, fp, 0x6c | s5 = fp + 0x6c;
0x00045ee0 bal 0x62288 | sym_write ();
0x00045ee4 move t9, s6 | t9 = s6;
0x00045ee8 move a0, s4 | a0 = s4;
0x00045eec bal 0x3b6e0 | sym_strlen ();
0x00045ef0 addiu a2, v0, 1 | a2 = v0 + 1;
0x00045ef4 move a1, s4 | a1 = s4;
0x00045ef8 move t9, s3 | t9 = s3;
0x00045efc move a0, s0 | a0 = s0;
0x00045f00 bal 0x62288 | sym_write ();
0x00045f04 move t9, s6 | t9 = s6;
0x00045f08 lw a0, 0xc8(fp) | a0 = *(arg_c8h);
0x00045f0c bal 0x3b6e0 | sym_strlen ();
0x00045f10 lw a1, 0xc8(fp) | a1 = *(arg_c8h);
0x00045f14 move a0, s0 | a0 = s0;
0x00045f18 move t9, s3 | t9 = s3;
0x00045f1c addiu a2, v0, 1 | a2 = v0 + 1;
0x00045f20 bal 0x62288 | sym_write ();
0x00045f24 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045f28 move a0, s0 | a0 = s0;
0x00045f2c move a1, s5 | a1 = s5;
0x00045f30 lw s4, -0x7f9c(gp) | s4 = *((gp - 8167));
0x00045f34 move t9, s4 | t9 = s4;
0x00045f38 addiu a2, zero, 1 | a2 = 1;
0x00045f3c bal 0x62378 | sym_read ();
0x00045f40 addiu v1, zero, 1 | v1 = 1;
0x00045f44 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != v1) {
0x00045f48 beq v0, v1, 0x45f74 |
0x00045f4c lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00045f50 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00045f54 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00045f58 lw a0, (v0) | a0 = *(v0);
0x00045f5c lw a2, (s2) | a2 = *(s2);
0x00045f60 addiu a1, a1, 0x72c8 | a1 += 0x72c8;
0x00045f64 bal 0x2f860 | sym_fprintf ()
0x00045f68 lw gp, 0x18(fp) | gp = *(var_18h);
| label_13:
0x00045f6c lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045f70 b 0x45fe4 | goto label_14;
| }
0x00045f74 lbu v0, 0x6c(fp) | v0 = *(var_6ch);
0x00045f78 lw t9, -0x7994(gp) | t9 = *((gp - 7781));
| if (v0 == 0) {
0x00045f7c beqz v0, 0x45fd0 | goto label_15;
| }
0x00045f80 move s2, s5 | s2 = s5;
0x00045f84 addiu s5, zero, 0xa | s5 = 0xa;
| do {
0x00045f88 move a0, s0 | a0 = s0;
0x00045f8c move a1, s2 | a1 = s2;
0x00045f90 move t9, s4 | t9 = s4;
0x00045f94 addiu a2, zero, 1 | a2 = 1;
0x00045f98 bal 0x62378 | sym_read ();
0x00045f9c addiu v1, zero, 1 | v1 = 1;
0x00045fa0 lw gp, 0x18(fp) | gp = *(var_18h);
| if (v0 != v1) {
0x00045fa4 bne v0, v1, 0x45fe0 | goto label_16;
| }
0x00045fa8 addiu a0, zero, 2 | a0 = 2;
0x00045fac move a1, s2 | a1 = s2;
0x00045fb0 move t9, s3 | t9 = s3;
0x00045fb4 addiu a2, zero, 1 | a2 = 1;
0x00045fb8 bal 0x62288 | sym_write ();
0x00045fbc lbu v0, 0x6c(fp) | v0 = *(var_6ch);
0x00045fc0 lw gp, 0x18(fp) | gp = *(var_18h);
0x00045fc4 bne v0, s5, 0x45f88 |
| } while (v0 != s5);
0x00045fc8 lw v0, 0x70(fp) | v0 = *(var_70h);
0x00045fcc b 0x45fe4 | goto label_14;
| label_15:
0x00045fd0 move a0, s1 | a0 = s1;
0x00045fd4 bal 0x59090 | sym_sigsetmask ();
0x00045fd8 move sp, fp |
0x00045fdc b 0x46028 | goto label_17;
| label_16:
0x00045fe0 lw v0, 0x70(fp) | v0 = *(var_70h);
| label_14:
0x00045fe4 lw t9, -0x7fa0(gp) | t9 = *((gp - 8168));
| if (v0 != 0) {
0x00045fe8 beqz v0, 0x46008 |
0x00045fec lw t9, 0xcc(fp) | t9 = *(arg_cch);
0x00045ff0 lw a0, (t9) | a0 = *(t9);
| label_10:
0x00045ff4 lw t9, -0x7fa0(gp) | t9 = *((gp - 8168));
0x00045ff8 bal 0x620b8 | sym_libc_close ();
0x00045ffc nop |
0x00046000 lw gp, 0x18(fp) | gp = *(var_18h);
| label_8:
0x00046004 lw t9, -0x7fa0(gp) | t9 = *((gp - 8168));
| }
0x00046008 move a0, s0 | a0 = s0;
0x0004600c bal 0x620b8 | sym_libc_close ();
0x00046010 lw gp, 0x18(fp) | gp = *(var_18h);
| label_4:
0x00046014 lw t9, -0x7994(gp) | t9 = *((gp - 7781));
0x00046018 move a0, s1 | a0 = s1;
0x0004601c bal 0x59090 | sym_sigsetmask ();
0x00046020 addiu s0, zero, -1 | s0 = -1;
| label_3:
0x00046024 move sp, fp |
| label_17:
0x00046028 lw ra, 0xb4(sp) | ra = *(var_b4h);
0x0004602c move v0, s0 | v0 = s0;
0x00046030 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x00046034 lw s7, 0xac(sp) | s7 = *(var_ach);
0x00046038 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0004603c lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x00046040 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x00046044 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x00046048 lw s2, 0x98(sp) | s2 = *(var_98h);
0x0004604c lw s1, 0x94(sp) | s1 = *(var_94h);
0x00046050 lw s0, 0x90(sp) | s0 = *(var_90h);
0x00046054 addiu sp, sp, 0xb8 |
0x00046058 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4a8e8 */
| #include <stdint.h>
|
; (fcn) sym.svcudp_enablecache () | void svcudp_enablecache () {
0x0004a8e8 lui gp, 7 |
0x0004a8ec addiu gp, gp, 0x6df8 |
0x0004a8f0 addu gp, gp, t9 | gp += t9;
0x0004a8f4 addiu sp, sp, -0x30 |
0x0004a8f8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0004a8fc sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0004a900 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0004a904 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0004a908 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0004a90c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0004a910 lw s2, 0x30(a0) | s2 = *((a0 + 12));
0x0004a914 lw v0, 0x1b0(s2) | v0 = *(s2);
0x0004a918 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| if (v0 != 0) {
0x0004a91c beqz v0, 0x4a938 |
0x0004a920 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0004a924 lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
0x0004a928 lw a0, (v0) | a0 = *(v0);
0x0004a92c addiu a1, a1, 0x5510 | a1 += 0x5510;
0x0004a930 addiu a2, a2, 0x76c0 | a2 += 0x76c0;
0x0004a934 b 0x4a96c |
| } else {
0x0004a938 lw t9, -0x759c(gp) | t9 = *((gp - 7527));
0x0004a93c addiu a0, zero, 0x2c | a0 = 0x2c;
0x0004a940 move s1, a1 | s1 = a1;
0x0004a944 jalr t9 | t9 ();
0x0004a948 move s0, v0 | s0 = v0;
0x0004a94c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0004a950 bnez v0, 0x4a980 | goto label_1;
| }
0x0004a954 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x0004a958 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0004a95c lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
0x0004a960 lw a0, (v0) | a0 = *(v0);
0x0004a964 addiu a1, a1, 0x5510 | a1 += 0x5510;
0x0004a968 addiu a2, a2, 0x76e4 | a2 += 0x76e4;
| }
| do {
| label_0:
0x0004a96c lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x0004a970 bal 0x2f860 | sym_fprintf ()
0x0004a974 nop |
0x0004a978 move v0, zero | v0 = 0;
0x0004a97c b 0x4aa30 | goto label_2;
| label_1:
0x0004a980 lw t9, -0x759c(gp) | t9 = *((gp - 7527));
0x0004a984 sll s3, s1, 4 | s3 = s1 << 4;
0x0004a988 sw s1, (v0) | *(v0) = s1;
0x0004a98c sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x0004a990 move a0, s3 | a0 = s3;
0x0004a994 jalr t9 | t9 ();
0x0004a998 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x0004a99c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0004a9a0 bnez v0, 0x4a9c0 | goto label_3;
| }
0x0004a9a4 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x0004a9a8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0004a9ac lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
0x0004a9b0 lw a0, (v0) | a0 = *(v0);
0x0004a9b4 addiu a1, a1, 0x5510 | a1 += 0x5510;
0x0004a9b8 addiu a2, a2, 0x770c | a2 += 0x770c;
0x0004a9bc b 0x4a96c |
| } while (1);
| label_3:
0x0004a9c0 move a2, s3 | a2 = s3;
0x0004a9c4 lw s3, -0x7fe4(gp) | s3 = *((gp - 8185));
0x0004a9c8 move a0, v0 | a0 = v0;
0x0004a9cc move t9, s3 | t9 = s3;
0x0004a9d0 move a1, zero | a1 = 0;
0x0004a9d4 bal 0x3a970 | sym_memset ();
0x0004a9d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004a9dc sll s1, s1, 2 | s1 <<= 2;
0x0004a9e0 lw t9, -0x759c(gp) | t9 = *((gp - 7527));
0x0004a9e4 move a0, s1 | a0 = s1;
0x0004a9e8 jalr t9 | t9 ();
0x0004a9ec sw v0, 8(s0) | *((s0 + 2)) = v0;
0x0004a9f0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0004a9f4 bnez v0, 0x4aa14 |
0x0004a9f8 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x0004a9fc lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x0004aa00 lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
0x0004aa04 lw a0, (v0) | a0 = *(v0);
0x0004aa08 addiu a1, a1, 0x5510 | a1 += 0x5510;
0x0004aa0c addiu a2, a2, 0x7738 | a2 += 0x7738;
0x0004aa10 b 0x4a96c | goto label_0;
| }
0x0004aa14 move a0, v0 | a0 = v0;
0x0004aa18 move a1, zero | a1 = 0;
0x0004aa1c move t9, s3 | t9 = s3;
0x0004aa20 move a2, s1 | a2 = s1;
0x0004aa24 bal 0x3a970 | sym_memset ();
0x0004aa28 sw s0, 0x1b0(s2) | *(s2) = s0;
0x0004aa2c addiu v0, zero, 1 | v0 = 1;
| label_2:
0x0004aa30 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0004aa34 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0004aa38 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0004aa3c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0004aa40 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0004aa44 addiu sp, sp, 0x30 |
0x0004aa48 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x13210 */
| #include <stdint.h>
|
; (fcn) sym.vwarnx () | void vwarnx () {
| label_0:
0x00012fe0 lui gp, 0xb |
0x00012fe4 addiu gp, gp, -0x1900 |
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, -0x7560(gp) | v1 = *((gp - 7512));
0x00013024 lw t9, -0x7e64(gp) | t9 = *((gp - 8089));
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, -0x7fd0(gp) | s1 = *((gp - 8180));
0x00013044 addiu s1, s1, 0x4797 | s1 += 0x4797;
0x00013048 b 0x13054 |
| } else {
0x0001304c lw s1, -0x7fd0(gp) | s1 = *((gp - 8180));
0x00013050 addiu s1, s1, 0x479b | s1 += 0x479b;
| }
0x00013054 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
0x00013058 lw v0, (v0) | v0 = *(v0);
0x0001305c lw s0, 0x48(v0) | s0 = *((v0 + 18));
0x00013060 lw s3, -0x7614(gp) | s3 = *((gp - 7557));
| 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, -0x7614(gp) | v0 = *((gp - 7557));
| if (v1 == 0) {
0x000130a4 bnez v1, 0x130bc |
0x000130a8 lw t9, -0x7e60(gp) | t9 = *((gp - 8088));
0x000130ac jalr t9 | t9 ();
0x000130b0 nop |
0x000130b4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000130b8 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
| }
0x000130bc lw v0, (v0) | v0 = *(v0);
0x000130c0 sw s3, 0x54(v0) | *((v0 + 21)) = s3;
| label_2:
0x000130c4 lw v0, -0x7614(gp) | v0 = *((gp - 7557));
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, -0x7614(gp) | s3 = *((gp - 7557));
| label_1:
0x000130dc lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000130e0 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x000130e4 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x000130e8 lw a0, (s3) | a0 = *(s3);
0x000130ec lw a2, (v0) | a2 = *(v0);
0x000130f0 addiu a1, a1, 0x4790 | a1 += 0x4790;
0x000130f4 bal 0x2f860 | sym_fprintf ()
0x000130f8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 != 0) {
0x000130fc beqz s2, 0x1311c |
0x00013100 lw t9, -0x7e5c(gp) | t9 = *((gp - 8087));
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, -0x7614(gp) | s2 = *((gp - 7557));
0x00013120 lw t9, -0x7f5c(gp) | t9 = *((gp - 8151));
0x00013124 move a1, s1 | a1 = s1;
0x00013128 lw a0, (s2) | a0 = *(s2);
0x0001312c addiu a2, sp, 0x18 | a2 = sp + 0x18;
0x00013130 bal 0x2f860 | 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, 0xb |
0x00013214 addiu gp, gp, -0x1b30 |
0x00013218 addu gp, gp, t9 | gp += t9;
0x0001321c lw t9, -0x7f90(gp) | t9 = *((gp - 8164));
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