[*] Binary protection state of busybox.nosuid
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of busybox.nosuid
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x12128 */
| #include <stdint.h>
|
; (fcn) fcn.00012128 () | void fcn_00012128 () {
0x00012128 lui gp, 9 |
0x0001212c addiu gp, gp, -0x7ff8 |
0x00012130 addu gp, gp, t9 | gp += t9;
0x00012134 addiu sp, sp, -0x80 |
0x00012138 sw s3, 0x68(sp) | *(var_68h) = s3;
0x0001213c lw s3, -0x74a4(gp) | s3 = *((gp - 7465));
0x00012140 sw s7, 0x78(sp) | *(var_78h) = s7;
0x00012144 lw s7, (a0) | s7 = *(a0);
0x00012148 lw v0, (s3) | v0 = *(s3);
0x0001214c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00012150 sw s4, 0x6c(sp) | *(var_6ch) = s4;
0x00012154 sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x00012158 sw s6, 0x74(sp) | *(var_74h) = s6;
0x0001215c sw s5, 0x70(sp) | *(var_70h) = s5;
0x00012160 sw s2, 0x64(sp) | *(var_64h) = s2;
0x00012164 sw s1, 0x60(sp) | *(var_60h) = s1;
0x00012168 sw s0, 0x5c(sp) | *(var_5ch) = s0;
0x0001216c move s4, a2 | s4 = a2;
0x00012170 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00012174 lw s0, -0x7f50(gp) | s0 = *(gp);
| if (s7 <= 0) {
0x00012178 blez s7, 0x12200 | goto label_2;
| }
0x0001217c move s5, a0 | s5 = a0;
0x00012180 move s6, a1 | s6 = a1;
0x00012184 move s1, zero | s1 = 0;
| /* fcn.00010968 */
0x00012188 addiu s0, s0, 0x968 | s0 += aav.0x00000968;
| label_0:
0x0001218c lw s2, (s6) | s2 = *(s6);
0x00012190 sll v0, s1, 3 | v0 = s1 << 3;
0x00012194 addu s2, s2, v0 | s2 += v0;
0x00012198 lw t9, -0x7448(gp) | t9 = sym.imp.strcmp;
0x0001219c lw a0, (s2) | a0 = *(s2);
0x000121a0 move a1, s4 | a1 = s4;
0x000121a4 jalr t9 | t9 ();
0x000121a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000121ac bnez v0, 0x12254 | goto label_3;
| }
0x000121b0 move t9, s0 | t9 = s0;
0x000121b4 lw a0, 4(s2) | a0 = *((s2 + 1));
0x000121b8 bal 0x10968 | fcn_00010968 ();
0x000121bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000121c0 bnez v0, 0x12250 | goto label_4;
| }
0x000121c4 lw a0, 0x54(sp) | a0 = *(var_54h);
0x000121c8 lw v1, (s3) | v1 = *(s3);
0x000121cc lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (a0 != v1) {
0x000121d0 bne a0, v1, 0x12248 | goto label_5;
| }
| do {
0x000121d4 lw ra, 0x7c(sp) | ra = *(var_7ch);
0x000121d8 lw s7, 0x78(sp) | s7 = *(var_78h);
0x000121dc lw s6, 0x74(sp) | s6 = *(var_74h);
0x000121e0 lw s5, 0x70(sp) | s5 = *(var_70h);
0x000121e4 lw s4, 0x6c(sp) | s4 = *(var_6ch);
0x000121e8 lw s3, 0x68(sp) | s3 = *(var_68h);
0x000121ec lw s2, 0x64(sp) | s2 = *(var_64h);
0x000121f0 lw s1, 0x60(sp) | s1 = *(var_60h);
0x000121f4 lw s0, 0x5c(sp) | s0 = *(var_5ch);
0x000121f8 addiu sp, sp, 0x80 |
0x000121fc jr ra | return v0;
| /* fcn.00010968 */
| label_2:
0x00012200 addiu s0, s0, 0x968 | s0 += aav.0x00000968;
0x00012204 lw a3, -0x7f90(gp) | a3 = *(gp);
0x00012208 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
| label_1:
0x0001220c addiu s1, sp, 0x20 | s1 = sp + 0x20;
| /* str.run_parts__etc_network_if__s.d */
0x00012210 addiu a3, a3, -0x7ebc | a3 += -0x7ebc;
0x00012214 addiu a2, zero, 0x31 | a2 = 0x31;
0x00012218 addiu a1, zero, 1 | a1 = 1;
0x0001221c move a0, s1 | a0 = s1;
0x00012220 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00012224 jalr t9 | t9 ();
0x00012228 move t9, s0 | t9 = s0;
0x0001222c move a0, s1 | a0 = s1;
0x00012230 bal 0x10968 | fcn_00010968 ();
0x00012234 lw a0, 0x54(sp) | a0 = *(var_54h);
0x00012238 lw v1, (s3) | v1 = *(s3);
0x0001223c lw gp, 0x18(sp) | gp = *(var_18h);
0x00012240 beq a0, v1, 0x121d4 |
| } while (a0 == v1);
0x00012244 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| label_5:
0x00012248 jalr t9 | t9 ();
0x0001224c nop |
| label_4:
0x00012250 lw s7, (s5) | s7 = *(s5);
| label_3:
0x00012254 addiu s1, s1, 1 | s1++;
0x00012258 slt v0, s1, s7 | v0 = (s1 < s7) ? 1 : 0;
0x0001225c lw a3, -0x7f90(gp) | a3 = *(gp);
| if (v0 != 0) {
0x00012260 bnez v0, 0x1218c | goto label_0;
| }
0x00012264 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00012268 b 0x1220c | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x15f8c */
| #include <stdint.h>
|
; (fcn) fcn.00015f8c () | void fcn_00015f8c () {
0x00015f8c lui gp, 8 |
0x00015f90 addiu gp, gp, 0x41a4 |
0x00015f94 addu gp, gp, t9 | gp += t9;
0x00015f98 addiu sp, sp, -0xf8 |
0x00015f9c lhu v1, 4(a1) | v1 = *((a1 + 2));
0x00015fa0 sw s3, 0xec(sp) | *(var_ech) = s3;
0x00015fa4 lw s3, -0x74a4(gp) | s3 = *((gp - 7465));
0x00015fa8 addiu v0, v1, -0x14 | v0 = v1 + -0x14;
0x00015fac sw gp, 0x18(sp) | *(var_18h) = gp;
0x00015fb0 lw a0, (s3) | a0 = *(s3);
0x00015fb4 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00015fb8 sw ra, 0xf4(sp) | *(var_f4h) = ra;
0x00015fbc sw s4, 0xf0(sp) | *(var_f0h) = s4;
0x00015fc0 sw s2, 0xe8(sp) | *(var_e8h) = s2;
0x00015fc4 sw s1, 0xe4(sp) | *(var_e4h) = s1;
0x00015fc8 sw s0, 0xe0(sp) | *(var_e0h) = s0;
0x00015fcc sw a0, 0xdc(sp) | *(var_dch) = a0;
0x00015fd0 move s1, a1 | s1 = a1;
0x00015fd4 bnel v0, zero, 0x15fe0 |
| while (v0 != 0) {
| label_10:
0x00015fd8 move s2, zero | s2 = 0;
0x00015fdc b 0x16474 | goto label_9;
0x00015fe0 lw a1, (a1) | a1 = *(a1);
0x00015fe4 addiu a1, a1, -0x18 | a1 += -0x18;
0x00015fe8 lw a0, -0x7f90(gp) | a0 = *(gp);
| if (a1 < 0) {
0x00015fec bgez a1, 0x16008 |
0x00015ff0 lw t9, -0x7e70(gp) | t9 = *(gp);
| /* str.wrong_nlmsg_len__d */
0x00015ff4 addiu a0, a0, -0x7410 | a0 += -0x7410;
0x00015ff8 bal 0x87e0 | fcn_000087e0 ();
0x00015ffc addiu s2, zero, -1 | s2 = -1;
0x00016000 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016004 b 0x16474 | goto label_9;
| }
0x00016008 lw s0, -0x7e94(gp) | s0 = *(gp);
0x0001600c lwl v0, 7(s0) | __asm ("lwl v0, 7(s0)");
0x00016010 lwr v0, 4(s0) | __asm ("lwr v0, 4(s0)");
0x00016014 addiu v0, zero, 0x14 | v0 = 0x14;
| if (v0 != 0) {
0x00016018 beqz v0, 0x16024 |
0x0001601c move s2, zero | s2 = 0;
| if (v1 != v0) {
0x00016020 bne v1, v0, 0x16474 | goto label_9;
| }
| }
0x00016024 lw t9, -0x7d44(gp) | t9 = *(gp);
0x00016028 move a3, a1 | a3 = a1;
0x0001602c addiu a2, s1, 0x18 | a2 = s1 + 0x18;
0x00016030 addiu a1, zero, 8 | a1 = 8;
0x00016034 addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x00016038 bal 0x1b284 | fcn_0001b284 ();
0x0001603c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00016040 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00016044 beqz v0, 0x167c0 | goto label_13;
| }
0x00016048 lw v0, 0x3c(sp) | v0 = *(var_3ch);
| label_12:
0x0001604c lw v0, 0x40(sp) | v0 = *(var_40h);
| if (v0 == 0) {
0x00016050 bnez v0, 0x16058 |
0x00016054 sw v0, 0x3c(sp) | *(var_3ch) = v0;
| }
0x00016058 lwl v0, 0x27(s0) | __asm ("lwl v0, 0x27(s0)");
0x0001605c lwr v0, 0x24(s0) | __asm ("lwr v0, 0x24(s0)");
| if (v0 != 0) {
0x00016060 beql v0, zero, 0x16078 |
0x00016064 lwl v0, 0xf(s0) | __asm ("lwl v0, 0xf(s0)");
0x00016068 lw v1, 0x14(s1) | v1 = *((s1 + 5));
0x0001606c move s2, zero | s2 = 0;
| if (v0 != v1) {
0x00016070 bne v0, v1, 0x16474 | goto label_9;
| }
0x00016074 lwl v0, 0xf(s0) | __asm ("lwl v0, 0xf(s0)");
| }
0x00016078 lwl a0, 0x13(s0) | __asm ("lwl a0, 0x13(s0)");
0x0001607c lbu a1, 0x13(s1) | a1 = *((s1 + 19));
0x00016080 lwr v0, 0xc(s0) | __asm ("lwr v0, 0xc(s0)");
0x00016084 lwr a0, 0x10(s0) | __asm ("lwr a0, 0x10(s0)");
0x00016088 xor v0, v0, a1 | v0 ^= a1;
0x0001608c and v0, v0, a0 | v0 &= a0;
0x00016090 move s2, zero | s2 = 0;
| if (v0 != 0) {
0x00016094 bnez v0, 0x16474 | goto label_9;
| }
0x00016098 lwl s2, 0x17(s0) | __asm ("lwl s2, 0x17(s0)");
0x0001609c lwl v1, 0x1b(s0) | __asm ("lwl v1, 0x1b(s0)");
0x000160a0 move v0, s2 | v0 = s2;
0x000160a4 lbu a0, 0x12(s1) | a0 = *((s1 + 18));
0x000160a8 lwr v0, 0x14(s0) | __asm ("lwr v0, 0x14(s0)");
0x000160ac lwr v1, 0x18(s0) | __asm ("lwr v1, 0x18(s0)");
0x000160b0 xor s2, v0, a0 | s2 = v0 ^ a0;
0x000160b4 and s2, s2, v1 | s2 &= v1;
0x000160b8 move s2, zero | s2 = 0;
| if (s2 == 0) {
0x000160bc bnel s2, zero, 0x16474 | goto label_9;
| }
0x000160c0 lwl a0, 3(s0) | __asm ("lwl a0, 3(s0)");
0x000160c4 lwr a0, (s0) | __asm ("lwr a0, (s0)");
0x000160c8 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (a0 == 0) {
0x000160cc beqz a0, 0x160f0 | goto label_14;
| }
0x000160d0 lw t9, -0x7558(gp) | t9 = sym.imp.fnmatch;
| if (v0 == 0) {
0x000160d4 beqz v0, 0x16788 | goto label_15;
| }
0x000160d8 addiu v0, v0, 4 | v0 += 4;
0x000160dc move a2, zero | a2 = 0;
0x000160e0 move a1, v0 | a1 = v0;
0x000160e4 jalr t9 | t9 ();
0x000160e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000160ec bnez v0, 0x15fd8 |
| }
| label_14:
0x000160f0 lbu v0, 0x30(s0) | v0 = *((s0 + 48));
| label_11:
0x000160f4 lw a1, 0x40(sp) | a1 = *(var_40h);
| if (v0 != 0) {
0x000160f8 beqz v0, 0x1616c |
0x000160fc lw t9, -0x75f0(gp) | t9 = sym.imp.__memcpy_chk;
| if (a1 == 0) {
0x00016100 beqz a1, 0x1616c | goto label_16;
| }
0x00016104 lbu v0, 0x10(s1) | v0 = *((s1 + 16));
0x00016108 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0001610c sw zero, 0x28(sp) | *(var_28h) = 0;
0x00016110 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00016114 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00016118 sw zero, 0x34(sp) | *(var_34h) = 0;
0x0001611c sb v0, 0x24(sp) | *(var_24h) = v0;
0x00016120 lhu a2, (a1) | a2 = *(a1);
0x00016124 addiu a3, zero, 0x10 | a3 = 0x10;
0x00016128 addiu a2, a2, -4 | a2 += -4;
0x0001612c addiu a1, a1, 4 | a1 += 4;
0x00016130 addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x00016134 jalr t9 | t9 ();
0x00016138 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001613c lbu a2, 0x33(s0) | a2 = *((s0 + 51));
0x00016140 lbu v0, 0x32(s0) | v0 = *((s0 + 50));
0x00016144 sll a2, a2, 8 | a2 <<= 8;
0x00016148 or a2, a2, v0 | a2 |= v0;
0x0001614c lw t9, -0x7d00(gp) | t9 = *(gp);
0x00016150 addiu s4, sp, 0x24 | s4 = sp + 0x24;
0x00016154 seh a2, a2 | __asm ("seh a2, a2");
0x00016158 addiu a1, s0, 0x30 | a1 = s0 + 0x30;
0x0001615c move a0, s4 | a0 = s4;
0x00016160 bal 0x1cbbc | fcn_0001cbbc ();
0x00016164 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00016168 bnez v0, 0x16474 | goto label_9;
| }
| }
| label_16:
0x0001616c lwl v1, 7(s0) | __asm ("lwl v1, 7(s0)");
0x00016170 lwr v1, 4(s0) | __asm ("lwr v1, 4(s0)");
0x00016174 addiu s4, zero, -4 | s4 = -4;
| if (v1 != 0) {
0x00016178 beqz v1, 0x161c8 |
0x0001617c lwl v0, 0x1f(s0) | __asm ("lwl v0, 0x1f(s0)");
0x00016180 lwl a0, 0x23(s0) | __asm ("lwl a0, 0x23(s0)");
0x00016184 lwr v0, 0x1c(s0) | __asm ("lwr v0, 0x1c(s0)");
0x00016188 lwr a0, 0x20(s0) | __asm ("lwr a0, 0x20(s0)");
0x0001618c lw a2, (s1) | a2 = *(s1);
0x00016190 addiu v0, v0, 3 | v0 += 3;
0x00016194 and v0, v0, s4 | v0 &= s4;
0x00016198 move a1, a0 | a1 = a0;
0x0001619c addu a0, v0, a2 | a0 = v0 + a2;
0x000161a0 sltu a0, a1, a0 | a0 = (a1 < a0) ? 1 : 0;
0x000161a4 lw t9, -0x7f50(gp) | t9 = *(gp);
| if (a0 == 0) {
0x000161a8 beqz a0, 0x16720 | goto label_17;
| }
| /* fcn.0001522c */
0x000161ac addiu t9, t9, 0x522c | t9 += 0x522c;
0x000161b0 bal 0x1522c | fcn_0001522c ();
0x000161b4 nop |
0x000161b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000161bc beqz v0, 0x16704 | goto label_18;
| }
0x000161c0 addiu s2, zero, -1 | s2 = -1;
0x000161c4 b 0x16474 | goto label_9;
| }
0x000161c8 lhu v1, 4(s1) | v1 = *((s1 + 2));
0x000161cc addiu v0, zero, 0x15 | v0 = 0x15;
0x000161d0 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v1 == v0) {
0x000161d4 bne v1, v0, 0x161ec |
0x000161d8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.Deleted_ */
0x000161dc addiu a1, a1, -0x750c | a1 += -0x750c;
0x000161e0 addiu a0, zero, 1 | a0 = 1;
0x000161e4 jalr t9 | t9 ();
0x000161e8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x000161ec lb v0, 0x2a(s0) | v0 = *((s0 + 42));
0x000161f0 lw t9, -0x7d3c(gp) | t9 = *(gp);
| if (v0 != 0) {
0x000161f4 beqz v0, 0x16228 |
0x000161f8 lw s0, 0x14(s1) | s0 = *((s1 + 5));
0x000161fc move a0, s0 | a0 = s0;
0x00016200 bal 0x1b8d8 | fcn_0001b8d8 ();
0x00016204 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016208 move a3, v0 | a3 = v0;
0x0001620c move a2, s0 | a2 = s0;
0x00016210 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016214 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._u:__s */
0x00016218 addiu a1, a1, -0x73fc | a1 += -0x73fc;
0x0001621c addiu a0, zero, 1 | a0 = 1;
0x00016220 jalr t9 | t9 ();
0x00016224 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00016228 lbu a2, 0x10(s1) | a2 = *((s1 + 16));
0x0001622c addiu v0, zero, 2 | v0 = 2;
0x00016230 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (a2 != v0) {
0x00016234 bne a2, v0, 0x164a4 | goto label_19;
| }
0x00016238 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.____inet_ */
0x0001623c addiu a1, a1, -0x73f4 | a1 += -0x73f4;
0x00016240 addiu a0, zero, 1 | a0 = 1;
0x00016244 jalr t9 | t9 ();
0x00016248 lw a1, 0x40(sp) | a1 = *(var_40h);
0x0001624c lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x00016250 beqz a1, 0x162a8 | goto label_1;
| }
0x00016254 lw s0, -0x7cfc(gp) | s0 = *(gp);
| label_0:
0x00016258 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x0001625c move t9, s0 | t9 = s0;
0x00016260 addiu a1, a1, 4 | a1 += 4;
0x00016264 bal 0x1cc88 | fcn_0001cc88 ();
0x00016268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001626c move a0, v0 | a0 = v0;
0x00016270 lw v0, -0x7700(gp) | v0 = *((gp - 7616));
0x00016274 lw t9, -0x7420(gp) | t9 = sym.imp.fputs_unlocked;
0x00016278 lw a1, (v0) | a1 = *(v0);
0x0001627c jalr t9 | t9 ();
0x00016280 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x00016284 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 != 0) {
0x00016288 bnez a1, 0x16674 | goto label_20;
| }
0x0001628c lw a1, -0x7f90(gp) | a1 = *(gp);
| label_8:
0x00016290 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x00016294 lbu a2, 0x11(s1) | a2 = *((s1 + 17));
| /* esilref: '/&d ' */
0x00016298 addiu a1, a1, -0x73c4 | a1 += -0x73c4;
0x0001629c addiu a0, zero, 1 | a0 = 1;
0x000162a0 jalr t9 | t9 ();
0x000162a4 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_1:
0x000162a8 lw a1, 0x48(sp) | a1 = *(var_48h);
0x000162ac lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (a1 != 0) {
0x000162b0 beqz a1, 0x162e0 |
| label_6:
0x000162b4 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x000162b8 addiu a1, a1, 4 | a1 += 4;
0x000162bc bal 0x1cc88 | fcn_0001cc88 ();
0x000162c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000162c4 move a2, v0 | a2 = v0;
0x000162c8 addiu a0, zero, 1 | a0 = 1;
0x000162cc lw a1, -0x7f90(gp) | a1 = *(gp);
0x000162d0 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.brd__s_ */
0x000162d4 addiu a1, a1, -0x73bc | a1 += -0x73bc;
0x000162d8 jalr t9 | t9 ();
0x000162dc lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_5:
0x000162e0 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x000162e4 lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (a1 != 0) {
0x000162e8 beqz a1, 0x16318 |
0x000162ec lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x000162f0 addiu a1, a1, 4 | a1 += 4;
0x000162f4 bal 0x1cc88 | fcn_0001cc88 ();
0x000162f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000162fc move a2, v0 | a2 = v0;
0x00016300 addiu a0, zero, 1 | a0 = 1;
0x00016304 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016308 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.any__s_ */
0x0001630c addiu a1, a1, -0x73b4 | a1 += -0x73b4;
0x00016310 jalr t9 | t9 ();
0x00016314 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00016318 lw t9, -0x7cf8(gp) | t9 = *(gp);
0x0001631c lbu a0, 0x13(s1) | a0 = *((s1 + 19));
0x00016320 bal 0x1bff8 | fcn_0001bff8 ();
0x00016324 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016328 move a2, v0 | a2 = v0;
0x0001632c addiu a0, zero, 1 | a0 = 1;
0x00016330 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016334 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.scope__s_ */
0x00016338 addiu a1, a1, -0x73ac | a1 += -0x73ac;
0x0001633c jalr t9 | t9 ();
0x00016340 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
0x00016344 andi v0, a2, 1 | v0 = a2 & 1;
0x00016348 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001634c beqz v0, 0x16374 |
0x00016350 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016354 andi a2, a2, 0xfe | a2 &= 0xfe;
0x00016358 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x0001635c sb a2, 0x12(s1) | *((s1 + 18)) = a2;
| /* str.secondary_ */
0x00016360 addiu a1, a1, -0x73a0 | a1 += -0x73a0;
0x00016364 addiu a0, zero, 1 | a0 = 1;
0x00016368 jalr t9 | t9 ();
0x0001636c lw gp, 0x18(sp) | gp = *(var_18h);
0x00016370 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| }
0x00016374 andi v0, a2, 0x40 | v0 = a2 & 0x40;
0x00016378 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 != 0) {
0x0001637c beqz v0, 0x163a0 |
0x00016380 andi a2, a2, 0xbf | a2 &= 0xbf;
0x00016384 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x00016388 sb a2, 0x12(s1) | *((s1 + 18)) = a2;
| /* str.tentative_ */
0x0001638c addiu a1, a1, -0x7394 | a1 += -0x7394;
0x00016390 addiu a0, zero, 1 | a0 = 1;
0x00016394 jalr t9 | t9 ();
0x00016398 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001639c lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| }
0x000163a0 andi v0, a2, 8 | v0 = a2 & 8;
0x000163a4 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 != 0) {
0x000163a8 beqz v0, 0x163cc |
0x000163ac andi a2, a2, 0xf7 | a2 &= 0xf7;
0x000163b0 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x000163b4 sb a2, 0x12(s1) | *((s1 + 18)) = a2;
| /* str.dadfailed_ */
0x000163b8 addiu a1, a1, -0x7388 | a1 += -0x7388;
0x000163bc addiu a0, zero, 1 | a0 = 1;
0x000163c0 jalr t9 | t9 ();
0x000163c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000163c8 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| }
0x000163cc andi v0, a2, 0x20 | v0 = a2 & 0x20;
0x000163d0 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 != 0) {
0x000163d4 beqz v0, 0x163f8 |
0x000163d8 andi a2, a2, 0xdf | a2 &= 0xdf;
0x000163dc lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x000163e0 sb a2, 0x12(s1) | *((s1 + 18)) = a2;
| /* str.deprecated_ */
0x000163e4 addiu a1, a1, -0x737c | a1 += -0x737c;
0x000163e8 addiu a0, zero, 1 | a0 = 1;
0x000163ec jalr t9 | t9 ();
0x000163f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000163f4 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| }
0x000163f8 seb v0, a2 | __asm ("seb v0, a2");
0x000163fc lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 < 0) {
0x00016400 bltz v0, 0x164f8 | goto label_21;
| }
0x00016404 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.dynamic_ */
0x00016408 addiu a1, a1, -0x7370 | a1 += -0x7370;
0x0001640c addiu a0, zero, 1 | a0 = 1;
0x00016410 jalr t9 | t9 ();
0x00016414 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
0x00016418 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a2 != 0) {
0x0001641c beqz a2, 0x16438 |
0x00016420 lw a1, -0x7f90(gp) | a1 = *(gp);
| label_3:
0x00016424 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.flags__02x_ */
0x00016428 addiu a1, a1, -0x7364 | a1 += -aav.0x00007364;
0x0001642c addiu a0, zero, 1 | a0 = 1;
0x00016430 jalr t9 | t9 ();
0x00016434 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_2:
0x00016438 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001643c lw v0, -0x7700(gp) | v0 = *((gp - 7616));
| if (a0 != 0) {
0x00016440 beqz a0, 0x16458 |
0x00016444 lw t9, -0x7420(gp) | t9 = sym.imp.fputs_unlocked;
0x00016448 addiu a0, a0, 4 | a0 += 4;
0x0001644c lw a1, (v0) | a1 = *(v0);
0x00016450 jalr t9 | t9 ();
0x00016454 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00016458 lw s1, 0x50(sp) | s1 = *(var_50h);
0x0001645c lw s4, -0x7e64(gp) | s4 = *(gp);
| if (s1 != 0) {
0x00016460 bnez s1, 0x16518 | goto label_22;
| }
0x00016464 move t9, s4 | t9 = s4;
| label_4:
0x00016468 addiu a0, zero, 0xa | a0 = 0xa;
0x0001646c bal 0xa3bc | fcn_0000a3bc ();
0x00016470 lw gp, 0x18(sp) | gp = *(var_18h);
| label_9:
0x00016474 lw a0, 0xdc(sp) | a0 = *(var_dch);
0x00016478 lw v1, (s3) | v1 = *(s3);
0x0001647c move v0, s2 | v0 = s2;
| if (a0 != v1) {
0x00016480 bne a0, v1, 0x1650c | goto label_23;
| }
0x00016484 lw ra, 0xf4(sp) | ra = *(var_f4h);
0x00016488 lw s4, 0xf0(sp) | s4 = *(var_f0h);
0x0001648c lw s3, 0xec(sp) | s3 = *(var_ech);
0x00016490 lw s2, 0xe8(sp) | s2 = *(var_e8h);
0x00016494 lw s1, 0xe4(sp) | s1 = *(var_e4h);
0x00016498 lw s0, 0xe0(sp) | s0 = *(var_e0h);
0x0001649c addiu sp, sp, 0xf8 |
0x000164a0 jr ra | return v0;
| label_19:
0x000164a4 addiu v0, zero, 0xa | v0 = 0xa;
0x000164a8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| if (a2 != v0) {
0x000164ac bne a2, v0, 0x164d4 | goto label_24;
| }
0x000164b0 lw a1, -0x7f90(gp) | a1 = *(gp);
0x000164b4 addiu a0, zero, 1 | a0 = 1;
| /* str.____inet6_ */
0x000164b8 addiu a1, a1, -0x73e8 | a1 += -0x73e8;
0x000164bc jalr t9 | t9 ();
0x000164c0 lw a1, 0x40(sp) | a1 = *(var_40h);
0x000164c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000164c8 beqz a1, 0x162a8 |
| } while (a1 == 0);
0x000164cc lw s0, -0x7cfc(gp) | s0 = *(gp);
0x000164d0 b 0x16258 | goto label_0;
| label_24:
0x000164d4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x000164d8 addiu a0, zero, 1 | a0 = 1;
| /* str.____family__d_ */
0x000164dc addiu a1, a1, -0x73dc | a1 += -0x73dc;
0x000164e0 jalr t9 | t9 ();
0x000164e4 lw a1, 0x40(sp) | a1 = *(var_40h);
0x000164e8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x000164ec beqz a1, 0x162a8 | goto label_1;
| }
0x000164f0 lw s0, -0x7cfc(gp) | s0 = *(gp);
0x000164f4 b 0x16258 | goto label_0;
| label_21:
0x000164f8 andi a2, a2, 0x7f | a2 &= 0x7f;
0x000164fc sb a2, 0x12(s1) | *((s1 + 18)) = a2;
| if (a2 == 0) {
0x00016500 beqz a2, 0x16438 | goto label_2;
| }
0x00016504 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016508 b 0x16424 | goto label_3;
| label_23:
0x0001650c lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00016510 jalr t9 | t9 ();
0x00016514 nop |
| label_22:
0x00016518 lw v0, -0x7d58(gp) | v0 = *((gp - 8022));
0x0001651c move t9, s4 | t9 = s4;
0x00016520 lbu a0, (v0) | a0 = *(v0);
0x00016524 bal 0xa3bc | fcn_0000a3bc ();
0x00016528 lw v0, 8(s1) | v0 = *((s1 + 2));
0x0001652c addiu v1, zero, -1 | v1 = -1;
0x00016530 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != v1) {
0x00016534 bne v0, v1, 0x16608 | goto label_25;
| }
0x00016538 lw v1, -0x7f90(gp) | v1 = *(gp);
0x0001653c addiu s0, sp, 0x5c | s0 = sp + 0x5c;
| /* str.valid_lft_forever */
0x00016540 addiu v0, v1, -0x7358 | v0 = v1 + -0x7358;
0x00016544 lw a2, -0x7358(v1) | a2 = *((v1 - 7382));
0x00016548 lw a1, 4(v0) | a1 = *((v0 + 1));
0x0001654c lw a0, 8(v0) | a0 = *((v0 + 2));
0x00016550 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x00016554 lhu v0, 0x10(v0) | v0 = *((v0 + 8));
0x00016558 sw a2, 0x5c(sp) | *(var_5ch) = a2;
0x0001655c sw a1, 4(s0) | *((s0 + 1)) = a1;
0x00016560 sw a0, 8(s0) | *((s0 + 2)) = a0;
0x00016564 sw v1, 0xc(s0) | *((s0 + 3)) = v1;
0x00016568 sh v0, 0x10(s0) | *((s0 + 8)) = v0;
| do {
0x0001656c lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x00016570 move a0, s0 | a0 = s0;
0x00016574 lw s1, 4(s1) | s1 = *((s1 + 1));
0x00016578 jalr t9 | t9 ();
0x0001657c addiu v1, zero, -1 | v1 = -1;
0x00016580 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016584 addu a0, s0, v0 | a0 = s0 + v0;
| if (s1 != v1) {
0x00016588 bne s1, v1, 0x16634 | goto label_26;
| }
0x0001658c lw v1, -0x7f90(gp) | v1 = *(gp);
0x00016590 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._preferred_lft_forever */
0x00016594 addiu v0, v1, -0x7334 | v0 = v1 + -0x7334;
0x00016598 lw v1, -0x7334(v1) | v1 = *((v1 - 7373));
0x0001659c lw a1, 4(v0) | a1 = *((v0 + 1));
0x000165a0 swl v1, 3(a0) | __asm ("swl v1, 3(a0)");
0x000165a4 swr v1, (a0) | __asm ("swr v1, (a0)");
0x000165a8 swl a1, 7(a0) | __asm ("swl a1, 7(a0)");
0x000165ac lw v1, 8(v0) | v1 = *((v0 + 2));
0x000165b0 swr a1, 4(a0) | __asm ("swr a1, 4(a0)");
0x000165b4 swl v1, 0xb(a0) | __asm ("swl v1, 0xb(a0)");
0x000165b8 lw a1, 0xc(v0) | a1 = *((v0 + 3));
0x000165bc swr v1, 8(a0) | __asm ("swr v1, 8(a0)");
0x000165c0 swl a1, 0xf(a0) | __asm ("swl a1, 0xf(a0)");
0x000165c4 lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x000165c8 swr a1, 0xc(a0) | __asm ("swr a1, 0xc(a0)");
0x000165cc lbu a1, 0x14(v0) | a1 = *((v0 + 20));
0x000165d0 swl v1, 0x13(a0) | __asm ("swl v1, 0x13(a0)");
0x000165d4 swr v1, 0x10(a0) | __asm ("swr v1, 0x10(a0)");
0x000165d8 sb a1, 0x14(a0) | *((a0 + 20)) = a1;
0x000165dc lbu v1, 0x15(v0) | v1 = *((v0 + 21));
0x000165e0 lw a1, -0x7f90(gp) | a1 = *(gp);
0x000165e4 lbu v0, 0x16(v0) | v0 = *((v0 + 22));
0x000165e8 sb v1, 0x15(a0) | *((a0 + 21)) = v1;
0x000165ec sb v0, 0x16(a0) | *((a0 + 22)) = v0;
0x000165f0 move a2, s0 | a2 = s0;
| /* str.________s */
0x000165f4 addiu a1, a1, -0x7304 | a1 += -0x7304;
0x000165f8 addiu a0, zero, 1 | a0 = 1;
0x000165fc jalr t9 | t9 ();
0x00016600 move t9, s4 | t9 = s4;
0x00016604 b 0x16468 | goto label_4;
| label_25:
0x00016608 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001660c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00016610 addiu s0, sp, 0x5c | s0 = sp + 0x5c;
0x00016614 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.valid_lft__dsec */
0x00016618 addiu a3, a3, -0x7344 | a3 += -0x7344;
0x0001661c addiu a2, zero, 0x80 | a2 = 0x80;
0x00016620 addiu a1, zero, 1 | a1 = 1;
0x00016624 move a0, s0 | a0 = s0;
0x00016628 jalr t9 | t9 ();
0x0001662c lw gp, 0x18(sp) | gp = *(var_18h);
0x00016630 b 0x1656c |
| } while (1);
| label_26:
0x00016634 lw a3, -0x7f90(gp) | a3 = *(gp);
0x00016638 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
| /* str._preferred_lft__dsec */
0x0001663c addiu a3, a3, -0x731c | a3 += -0x731c;
0x00016640 addiu a2, zero, -1 | a2 = -1;
0x00016644 addiu a1, zero, 1 | a1 = 1;
0x00016648 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0001664c jalr t9 | t9 ();
0x00016650 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016654 move a2, s0 | a2 = s0;
0x00016658 addiu a0, zero, 1 | a0 = 1;
0x0001665c lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016660 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.________s */
0x00016664 addiu a1, a1, -0x7304 | a1 += -0x7304;
0x00016668 jalr t9 | t9 ();
0x0001666c move t9, s4 | t9 = s4;
0x00016670 b 0x16468 | goto label_4;
| label_20:
0x00016674 lw v0, 0x40(sp) | v0 = *(var_40h);
0x00016678 lbu a0, 4(a1) | a0 = *((a1 + 4));
0x0001667c addiu v0, v0, 4 | v0 += 4;
0x00016680 lbu v1, (v0) | v1 = *(v0);
0x00016684 addiu a1, a1, 4 | a1 += 4;
| if (a0 == v1) {
0x00016688 beq a0, v1, 0x166cc | goto label_27;
| }
0x0001668c move t9, s0 | t9 = s0;
| label_7:
0x00016690 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00016694 bal 0x1cc88 | fcn_0001cc88 ();
0x00016698 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001669c lbu a3, 0x11(s1) | a3 = *((s1 + 17));
0x000166a0 move a2, v0 | a2 = v0;
0x000166a4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x000166a8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._peer__s__d_ */
0x000166ac addiu a1, a1, -0x73cc | a1 += -0x73cc;
0x000166b0 addiu a0, zero, 1 | a0 = 1;
0x000166b4 jalr t9 | t9 ();
0x000166b8 lw a1, 0x48(sp) | a1 = *(var_48h);
0x000166bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x000166c0 beqz a1, 0x162e0 | goto label_5;
| }
0x000166c4 lw t9, -0x7cfc(gp) | t9 = *(gp);
0x000166c8 b 0x162b4 | goto label_6;
| label_27:
0x000166cc lbu a0, 1(a1) | a0 = *((a1 + 1));
0x000166d0 lbu v1, 1(v0) | v1 = *((v0 + 1));
0x000166d4 move t9, s0 | t9 = s0;
| if (a0 != v1) {
0x000166d8 bne a0, v1, 0x16690 | goto label_7;
| }
0x000166dc lbu a0, 2(a1) | a0 = *((a1 + 2));
0x000166e0 lbu v1, 2(v0) | v1 = *((v0 + 2));
| if (a0 != v1) {
0x000166e4 bne a0, v1, 0x16690 | goto label_7;
| }
0x000166e8 nop |
0x000166ec lbu v1, 3(a1) | v1 = *((a1 + 3));
0x000166f0 lbu v0, 3(v0) | v0 = *((v0 + 3));
| if (v1 != v0) {
0x000166f4 bne v1, v0, 0x16690 | goto label_7;
| }
0x000166f8 nop |
0x000166fc lw a1, -0x7f90(gp) | a1 = *(gp);
0x00016700 b 0x16290 | goto label_8;
| label_18:
0x00016704 lwl v0, 0x1f(s0) | __asm ("lwl v0, 0x1f(s0)");
0x00016708 lwl v1, 7(s0) | __asm ("lwl v1, 7(s0)");
0x0001670c lw a2, (s1) | a2 = *(s1);
0x00016710 lwr v0, 0x1c(s0) | __asm ("lwr v0, 0x1c(s0)");
0x00016714 lwr v1, 4(s0) | __asm ("lwr v1, 4(s0)");
0x00016718 addiu v0, v0, 3 | v0 += 3;
0x0001671c and v0, v0, s4 | v0 &= s4;
| label_17:
0x00016720 addu v1, v1, v0 | v1 += v0;
0x00016724 lw t9, -0x74a0(gp) | t9 = sym.imp.memcpy;
0x00016728 move a0, v1 | a0 = v1;
0x0001672c move a1, s1 | a1 = s1;
0x00016730 jalr t9 | t9 ();
0x00016734 move v1, v0 | v1 = v0;
0x00016738 lui v0, 1 | v0 = 0x10015;
0x0001673c addiu v0, v0, 0x15 |
0x00016740 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016744 sw v0, 4(v1) | *((v1 + 1)) = v0;
0x00016748 lwl a1, 0xb(s0) | __asm ("lwl a1, 0xb(s0)");
0x0001674c lw v0, (s1) | v0 = *(s1);
0x00016750 lwr a1, 8(s0) | __asm ("lwr a1, 8(s0)");
0x00016754 addu a0, v1, v0 | a0 = v1 + v0;
0x00016758 lw v0, 0x1c(a1) | v0 = *((a1 + 7));
0x0001675c addiu v0, v0, 1 | v0++;
0x00016760 sw v0, 0x1c(a1) | *((a1 + 7)) = v0;
0x00016764 sw v0, 8(v1) | *((v1 + 2)) = v0;
0x00016768 lwl v0, 7(s0) | __asm ("lwl v0, 7(s0)");
0x0001676c lwr v0, 4(s0) | __asm ("lwr v0, 4(s0)");
0x00016770 subu v0, a0, v0 | __asm ("subu v0, a0, v0");
0x00016774 swl v0, 0x1f(s0) | __asm ("swl v0, 0x1f(s0)");
0x00016778 swr v0, 0x1c(s0) | __asm ("swr v0, 0x1c(s0)");
0x0001677c addiu v0, zero, 1 | v0 = 1;
0x00016780 sb v0, 0x2c(s0) | *((s0 + 44)) = v0;
0x00016784 b 0x16474 | goto label_9;
| label_15:
0x00016788 lw t9, -0x7d3c(gp) | t9 = *(gp);
0x0001678c lw a0, 0x14(s1) | a0 = *((s1 + 5));
0x00016790 bal 0x1b8d8 | fcn_0001b8d8 ();
0x00016794 lw gp, 0x18(sp) | gp = *(var_18h);
0x00016798 lwl a0, 3(s0) | __asm ("lwl a0, 3(s0)");
0x0001679c move a2, zero | a2 = 0;
0x000167a0 lw t9, -0x7558(gp) | t9 = sym.imp.fnmatch;
0x000167a4 lwr a0, (s0) | __asm ("lwr a0, (s0)");
0x000167a8 move a1, v0 | a1 = v0;
0x000167ac jalr t9 | t9 ();
0x000167b0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000167b4 bnez v0, 0x15fd8 | goto label_10;
| }
0x000167b8 lbu v0, 0x30(s0) | v0 = *((s0 + 48));
0x000167bc b 0x160f4 | goto label_11;
| label_13:
0x000167c0 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000167c4 sw v0, 0x40(sp) | *(var_40h) = v0;
0x000167c8 b 0x1604c | goto label_12;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x1ba80 */
| #include <stdint.h>
|
; (fcn) fcn.0001ba80 () | void fcn_0001ba80 () {
0x0001ba80 lui gp, 8 |
0x0001ba84 addiu gp, gp, -0x1950 |
0x0001ba88 addu gp, gp, t9 | gp += t9;
0x0001ba8c addiu sp, sp, -0x38 |
0x0001ba90 move v1, zero | v1 = 0;
0x0001ba94 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0001ba98 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0001ba9c sw s0, 0x20(sp) | *(var_20h) = s0;
0x0001baa0 lw s1, -0x7f90(gp) | s1 = *(gp);
0x0001baa4 lw s2, -0x7f90(gp) | s2 = *(gp);
0x0001baa8 lw s0, -0x7f90(gp) | s0 = *(gp);
0x0001baac sw s4, 0x30(sp) | *(var_30h) = s4;
0x0001bab0 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0001bab4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001bab8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0001babc move s3, a0 | s3 = a0;
0x0001bac0 move s4, a1 | s4 = a1;
0x0001bac4 addiu s1, s1, -0x966 | s1 += -0x966;
0x0001bac8 addiu s2, s2, -0x942 | s2 += -0x942;
| /* str.generic */
0x0001bacc addiu s0, s0, -0x11d | s0 += -0x11d;
| do {
0x0001bad0 lw ra, 0x34(sp) | ra = *(var_34h);
| if (v1 != s3) {
0x0001bad4 beq v1, s3, 0x1bb04 |
0x0001bad8 lw a3, -0x7f90(gp) | a3 = *(gp);
| if (s1 != s2) {
0x0001badc bne s1, s2, 0x1bb24 | goto label_0;
| }
0x0001bae0 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0001bae4 sw s3, 0x10(sp) | *(var_10h) = s3;
| /* str.__d_ */
0x0001bae8 addiu a3, a3, -0x6e94 | a3 += -0x6e94;
0x0001baec addiu a2, zero, -1 | a2 = -1;
0x0001baf0 addiu a1, zero, 1 | a1 = 1;
0x0001baf4 move a0, s4 | a0 = s4;
0x0001baf8 move s0, s4 | s0 = s4;
0x0001bafc jalr t9 | t9 ();
0x0001bb00 lw ra, 0x34(sp) | ra = *(var_34h);
| }
0x0001bb04 move v0, s0 | v0 = s0;
0x0001bb08 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001bb0c lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001bb10 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001bb14 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001bb18 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001bb1c addiu sp, sp, 0x38 |
0x0001bb20 jr ra | return v1;
| label_0:
0x0001bb24 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0001bb28 move a0, s0 | a0 = s0;
0x0001bb2c jalr t9 | t9 ();
0x0001bb30 addiu v0, v0, 1 | v0++;
0x0001bb34 lhu v1, (s1) | v1 = *(s1);
0x0001bb38 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001bb3c addu s0, s0, v0 | s0 += v0;
0x0001bb40 addiu s1, s1, 2 | s1 += 2;
0x0001bb44 b 0x1bad0 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x1bb48 */
| #include <stdint.h>
|
; (fcn) fcn.0001bb48 () | void fcn_0001bb48 () {
0x0001bb48 lui gp, 8 |
0x0001bb4c addiu gp, gp, -0x1a18 |
0x0001bb50 addu gp, gp, t9 | gp += t9;
0x0001bb54 addiu sp, sp, -0x80 |
0x0001bb58 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001bb5c sw s3, 0x64(sp) | *(var_64h) = s3;
0x0001bb60 lw s3, -0x74a4(gp) | s3 = *((gp - 7465));
0x0001bb64 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0001bb68 sw s4, 0x68(sp) | *(var_68h) = s4;
0x0001bb6c lw v0, (s3) | v0 = *(s3);
0x0001bb70 sw s0, 0x58(sp) | *(var_58h) = s0;
0x0001bb74 move s4, a0 | s4 = a0;
0x0001bb78 addiu s0, sp, 0x30 | s0 = sp + 0x30;
0x0001bb7c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001bb80 move a0, s0 | a0 = s0;
0x0001bb84 sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x0001bb88 sw fp, 0x78(sp) | *(var_78h) = fp;
0x0001bb8c sw s7, 0x74(sp) | *(var_74h) = s7;
0x0001bb90 sw s5, 0x6c(sp) | *(var_6ch) = s5;
0x0001bb94 sw s2, 0x60(sp) | *(var_60h) = s2;
0x0001bb98 sw s1, 0x5c(sp) | *(var_5ch) = s1;
| /* str._etc_iproute2_rt__s */
0x0001bb9c addiu a3, a3, -0x6e8c | a3 += -0x6e8c;
0x0001bba0 addiu a2, zero, 0x21 | a2 = 0x21;
0x0001bba4 sw s6, 0x70(sp) | *(var_70h) = s6;
0x0001bba8 move fp, a1 | fp = a1;
0x0001bbac sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001bbb0 addiu a1, zero, 1 | a1 = 1;
0x0001bbb4 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0001bbb8 lui s1, 0x47 | s1 = 0x470000;
0x0001bbbc jalr t9 | t9 ();
0x0001bbc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001bbc4 move a0, s0 | a0 = s0;
0x0001bbc8 lw a1, -0x7e54(gp) | a1 = *(gp);
0x0001bbcc lw t9, -0x7e50(gp) | t9 = *(gp);
0x0001bbd0 addiu s5, sp, 0x28 | s5 = sp + 0x28;
0x0001bbd4 jalr t9 | t9 ();
0x0001bbd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001bbdc move s0, v0 | s0 = v0;
0x0001bbe0 addiu s1, s1, 0x202 | s1 += 0x202;
0x0001bbe4 lw v0, -0x7d7c(gp) | v0 = *(gp);
0x0001bbe8 lw s2, -0x7fcc(gp) | s2 = *(gp);
0x0001bbec sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001bbf0 lw v0, -0x7e48(gp) | v0 = *(gp);
0x0001bbf4 lw s7, -0x7e4c(gp) | s7 = *(gp);
| /* esilref: '# ' */
0x0001bbf8 addiu s2, s2, 0x7bfc | s2 += 0x7bfc;
0x0001bbfc sw v0, 0x24(sp) | *(var_24h) = v0;
| do {
0x0001bc00 move a3, s2 | a3 = s2;
0x0001bc04 move a2, s1 | a2 = s1;
0x0001bc08 move a1, s5 | a1 = s5;
0x0001bc0c move t9, s7 | t9 = s7;
0x0001bc10 move a0, s0 | a0 = s0;
0x0001bc14 jalr t9 | t9 ();
0x0001bc18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001bc1c beqz v0, 0x1bc5c |
0x0001bc20 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0001bc24 lw t9, 0x20(sp) | t9 = *(var_20h);
0x0001bc28 move a2, zero | a2 = 0;
0x0001bc2c move a1, zero | a1 = 0;
0x0001bc30 jalr t9 | t9 ();
0x0001bc34 sltiu v1, v0, 0x400 | v1 = (v0 < aav.0x00000400) ? 1 : 0;
0x0001bc38 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0001bc3c bnez v1, 0x1bcb4 | goto label_0;
| }
0x0001bc40 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001bc44 lw t9, -0x7e70(gp) | t9 = *(gp);
0x0001bc48 lw a2, 0x18(s0) | a2 = *((s0 + 6));
0x0001bc4c move a1, s4 | a1 = s4;
| /* str.database__s_is_corrupted_at_line__d */
0x0001bc50 addiu a0, a0, -0x6e78 | a0 += -0x6e78;
0x0001bc54 bal 0x87e0 | fcn_000087e0 ();
0x0001bc58 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001bc5c lw t9, -0x7e40(gp) | t9 = *(gp);
0x0001bc60 move a0, s0 | a0 = s0;
0x0001bc64 jalr t9 | t9 ();
0x0001bc68 lw v1, 0x54(sp) | v1 = *(var_54h);
0x0001bc6c lw v0, (s3) | v0 = *(s3);
0x0001bc70 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 == v0) {
0x0001bc74 bne v1, v0, 0x1bca8 |
0x0001bc78 lw ra, 0x7c(sp) | ra = *(var_7ch);
0x0001bc7c lw fp, 0x78(sp) | fp = *(var_78h);
0x0001bc80 lw s7, 0x74(sp) | s7 = *(var_74h);
0x0001bc84 lw s6, 0x70(sp) | s6 = *(var_70h);
0x0001bc88 lw s5, 0x6c(sp) | s5 = *(var_6ch);
0x0001bc8c lw s4, 0x68(sp) | s4 = *(var_68h);
0x0001bc90 lw s3, 0x64(sp) | s3 = *(var_64h);
0x0001bc94 lw s2, 0x60(sp) | s2 = *(var_60h);
0x0001bc98 lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x0001bc9c lw s0, 0x58(sp) | s0 = *(var_58h);
0x0001bca0 addiu sp, sp, 0x80 |
0x0001bca4 jr ra | return v0;
| }
0x0001bca8 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001bcac jalr t9 | t9 ();
0x0001bcb0 nop |
| label_0:
0x0001bcb4 sll v0, v0, 2 | v0 <<= 2;
0x0001bcb8 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0001bcbc lw t9, 0x24(sp) | t9 = *(var_24h);
0x0001bcc0 addu s6, fp, v0 | s6 = fp + v0;
0x0001bcc4 jalr t9 | t9 ();
0x0001bcc8 sw v0, (s6) | *(s6) = v0;
0x0001bccc b 0x1bc00 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x1d56c */
| #include <stdint.h>
|
; (fcn) fcn.0001d56c () | void fcn_0001d56c () {
0x0001d56c lui gp, 8 |
0x0001d570 addiu gp, gp, -0x343c |
0x0001d574 addu gp, gp, t9 | gp += t9;
0x0001d578 addiu sp, sp, -0x38 |
0x0001d57c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0001d580 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0001d584 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0001d588 lbu a3, 2(a2) | a3 = *((a2 + 2));
0x0001d58c lbu t0, 3(a2) | t0 = *((a2 + 3));
0x0001d590 lbu v1, 1(a2) | v1 = *((a2 + 1));
0x0001d594 lbu v0, (a2) | v0 = *(a2);
0x0001d598 sw a3, 0x1c(sp) | *(var_1ch) = a3;
0x0001d59c lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001d5a0 sw a1, 0x10(sp) | *(var_10h) = a1;
0x0001d5a4 sw t0, 0x20(sp) | *(var_20h) = t0;
0x0001d5a8 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0001d5ac sw v0, 0x14(sp) | *(var_14h) = v0;
| /* str._s_u._u._u._u */
0x0001d5b0 addiu a3, a3, -0x6bf0 | a3 += -0x6bf0;
0x0001d5b4 addiu a2, zero, -1 | a2 = -1;
0x0001d5b8 addiu a1, zero, 1 | a1 = 1;
0x0001d5bc jalr t9 | t9 ();
0x0001d5c0 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001d5c4 addiu sp, sp, 0x38 |
0x0001d5c8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x1d8e8 */
| #include <stdint.h>
|
; (fcn) fcn.0001d8e8 () | void fcn_0001d8e8 () {
0x0001d8e8 lui gp, 8 |
0x0001d8ec addiu gp, gp, -0x37b8 |
0x0001d8f0 addu gp, gp, t9 | gp += t9;
0x0001d8f4 addiu sp, sp, -0x48 |
0x0001d8f8 sw s0, 0x34(sp) | *(var_34h) = s0;
0x0001d8fc lw s0, -0x7e94(gp) | s0 = *(gp);
0x0001d900 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0001d904 sw s3, 0x40(sp) | *(var_40h) = s3;
0x0001d908 sw s1, 0x38(sp) | *(var_38h) = s1;
0x0001d90c sw ra, 0x44(sp) | *(var_44h) = ra;
0x0001d910 sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x0001d914 sb a0, 0x254(s0) | *((s0 + 596)) = a0;
0x0001d918 move s1, a0 | s1 = a0;
0x0001d91c lw s3, -0x74a4(gp) | s3 = *((gp - 7465));
0x0001d920 lwl a0, 0x253(s0) | __asm ("lwl a0, 0x253(s0)");
0x0001d924 lw v0, (s3) | v0 = *(s3);
0x0001d928 lwr a0, 0x250(s0) | __asm ("lwr a0, 0x250(s0)");
0x0001d92c sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0001d930 lw t9, -0x7844(gp) | t9 = sym.imp.close;
| if (a0 >= 0) {
0x0001d934 bltz a0, 0x1d950 |
0x0001d938 jalr t9 | t9 ();
0x0001d93c nop |
0x0001d940 addiu v0, zero, -1 | v0 = -1;
0x0001d944 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001d948 swl v0, 0x253(s0) | __asm ("swl v0, 0x253(s0)");
0x0001d94c swr v0, 0x250(s0) | __asm ("swr v0, 0x250(s0)");
| }
0x0001d950 addiu v0, zero, 1 | v0 = 1;
0x0001d954 lw t9, -0x7c6c(gp) | t9 = *(gp);
| if (s1 != v0) {
0x0001d958 bne s1, v0, 0x1d9b0 | goto label_6;
| }
0x0001d95c lwl a1, 0x22f(s0) | __asm ("lwl a1, 0x22f(s0)");
0x0001d960 lbu v0, 0x207(s0) | v0 = *((s0 + 519));
0x0001d964 lbu a0, 0x206(s0) | a0 = *((s0 + 518));
0x0001d968 sll v0, v0, 8 | v0 <<= 8;
0x0001d96c lwr a1, 0x22c(s0) | __asm ("lwr a1, 0x22c(s0)");
0x0001d970 or a0, v0, a0 | a0 = v0 | a0;
0x0001d974 bal 0x208f0 | fcn_000208f0 ();
0x0001d978 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001d97c swl v0, 0x253(s0) | __asm ("swl v0, 0x253(s0)");
0x0001d980 swr v0, 0x250(s0) | __asm ("swr v0, 0x250(s0)");
| do {
0x0001d984 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x0001d988 lw v0, (s3) | v0 = *(s3);
0x0001d98c lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 != v0) {
0x0001d990 bne v1, v0, 0x1da3c | goto label_7;
| }
| label_0:
0x0001d994 lw ra, 0x44(sp) | ra = *(var_44h);
0x0001d998 lw s3, 0x40(sp) | s3 = *(var_40h);
0x0001d99c lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x0001d9a0 lw s1, 0x38(sp) | s1 = *(var_38h);
0x0001d9a4 lw s0, 0x34(sp) | s0 = *(var_34h);
0x0001d9a8 addiu sp, sp, 0x48 |
0x0001d9ac jr ra | return v0;
| label_6:
0x0001d9b0 lw t9, -0x7e18(gp) | t9 = *(gp);
0x0001d9b4 beqz s1, 0x1d984 |
| } while (s1 == 0);
0x0001d9b8 lwl s2, 0x20b(s0) | __asm ("lwl s2, 0x20b(s0)");
0x0001d9bc addiu a2, zero, 8 | a2 = 8;
0x0001d9c0 addiu a1, zero, 1 | a1 = 1;
0x0001d9c4 addiu a0, zero, 0x11 | a0 = 0x11;
0x0001d9c8 lwr s2, 0x208(s0) | __asm ("lwr s2, 0x208(s0)");
0x0001d9cc bal 0xa734 | fcn_0000a734 ();
0x0001d9d0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001d9d4 move s1, v0 | s1 = v0;
0x0001d9d8 move a0, v0 | a0 = v0;
0x0001d9dc lui v0, 8 | v0 = 0x80011;
| /* esilref: 'pidfile' */
0x0001d9e0 addiu v0, v0, 0x11 |
0x0001d9e4 lw t9, -0x7dfc(gp) | t9 = *(gp);
0x0001d9e8 addiu a2, zero, 0x14 | a2 = 0x14;
0x0001d9ec addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0001d9f0 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0001d9f4 sw zero, 0x20(sp) | *(var_20h_2) = 0;
0x0001d9f8 sw zero, 0x24(sp) | *(var_24h_2) = 0;
0x0001d9fc sw zero, 0x28(sp) | *(var_28h_2) = 0;
0x0001da00 sw s2, 0x1c(sp) | *(var_1ch) = s2;
0x0001da04 bal 0xa77c | fcn_0000a77c ();
0x0001da08 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001da0c addiu a2, zero, 8 | a2 = 8;
0x0001da10 addiu a1, zero, 0x107 | a1 = 0x107;
0x0001da14 lw t9, -0x7c68(gp) | t9 = *(gp);
0x0001da18 move a0, s1 | a0 = s1;
0x0001da1c jalr t9 | t9 ();
0x0001da20 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001da24 swl s1, 0x253(s0) | __asm ("swl s1, 0x253(s0)");
0x0001da28 swr s1, 0x250(s0) | __asm ("swr s1, 0x250(s0)");
0x0001da2c lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x0001da30 lw v0, (s3) | v0 = *(s3);
0x0001da34 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 == v0) {
0x0001da38 beq v1, v0, 0x1d994 | goto label_0;
| }
| label_7:
0x0001da3c jalr t9 | t9 ();
0x0001da40 nop |
0x0001da44 lui gp, 8 |
0x0001da48 addiu gp, gp, -0x3914 |
0x0001da4c addu gp, gp, t9 | gp += t9;
0x0001da50 addiu sp, sp, -0x60 |
0x0001da54 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0001da58 sw s1, 0x3c(sp) | *(var_3ch_2) = s1;
0x0001da5c lw s1, -0x7c64(gp) | s1 = *((gp - 7961));
0x0001da60 sw s2, 0x40(sp) | *(var_40h_2) = s2;
0x0001da64 andi s2, a1, 0xf | s2 = a1 & 0xf;
0x0001da68 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0001da6c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001da70 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0001da74 sw s3, 0x44(sp) | *(var_44h_2) = s3;
0x0001da78 sw s0, 0x38(sp) | *(var_38h_2) = s0;
0x0001da7c sw s7, 0x54(sp) | *(var_54h) = s7;
0x0001da80 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0001da84 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0001da88 sw s4, 0x48(sp) | *(var_48h) = s4;
0x0001da8c lbux s1, s2(s1) | __asm ("lbux s1, s2(s1)");
0x0001da90 lbu s5, -1(a0) | s5 = *((a0 - 1));
0x0001da94 move fp, a0 | fp = a0;
0x0001da98 addu a0, s5, s1 | a0 = s5 + s1;
0x0001da9c divu zero, a0, s1 | __asm ("divu zero, a0, s1");
0x0001daa0 teq s1, zero, 7 | __asm ("teq s1, zero, 7");
0x0001daa4 lw v1, -0x74a4(gp) | v1 = *((gp - 7465));
0x0001daa8 addiu v0, v0, -0x3f | v0 += -0x3f;
0x0001daac sw v1, 0x24(sp) | *(var_24h) = v1;
0x0001dab0 lbux v0, s2(v0) | __asm ("lbux v0, s2(v0)");
0x0001dab4 lw v1, (v1) | v1 = *(v1);
0x0001dab8 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0001dabc move a0, a2 | a0 = a2;
0x0001dac0 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0001dac4 move s3, a2 | s3 = a2;
0x0001dac8 mflo s0 | __asm ("mflo s0");
0x0001dacc mul s0, s0, v0 | __asm ("mul s0, s0, v0");
0x0001dad0 jalr t9 | t9 ();
0x0001dad4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dad8 lw t9, -0x7f08(gp) | t9 = *(gp);
0x0001dadc addiu a0, s0, 2 | a0 = s0 + 2;
0x0001dae0 addu a0, a0, v0 | a0 += v0;
0x0001dae4 bal 0x9bd8 | fcn_00009bd8 ();
0x0001dae8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001daec sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x0001daf0 addiu a2, zero, -1 | a2 = -1;
0x0001daf4 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001daf8 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
| /* esilref: '&s=' */
0x0001dafc addiu a3, a3, -0x6bc0 | a3 += -0x6bc0;
0x0001db00 addiu a1, zero, 1 | a1 = 1;
0x0001db04 move a0, v0 | a0 = v0;
0x0001db08 move s0, v0 | s0 = v0;
0x0001db0c jalr t9 | t9 ();
0x0001db10 slt v1, s5, s1 | v1 = (s5 < s1) ? 1 : 0;
0x0001db14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0001db18 bnez v1, 0x1dbd0 | goto label_4;
| }
0x0001db1c addu s7, s0, v0 | s7 = s0 + v0;
0x0001db20 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001db24 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0001db28 xori s4, s2, 7 | s4 = s2 ^ 7;
| /* esilref: '&lu' */
0x0001db2c addiu a1, a1, -0x6bbc | a1 += -0x6bbc;
| /* esilref: '&ld' */
0x0001db30 addiu v0, v0, -0x6bb8 | v0 += -0x6bb8;
| if (s4 != 0) {
0x0001db34 movz v0, a1, s4 | v0 = a1;
| }
0x0001db38 move s4, v0 | s4 = v0;
0x0001db3c sltiu v0, s2, 0xe | v0 = (s2 < 0xe) ? 1 : 0;
0x0001db40 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001db44 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0001db48 lw v0, -0x7cc4(gp) | v0 = *(gp);
0x0001db4c lw v1, -0x7f90(gp) | v1 = *(gp);
0x0001db50 sll s3, s2, 2 | s3 = s2 << 2;
0x0001db54 addiu a0, a0, -0x6ba8 | a0 += -0x6ba8;
| /* fcn.0001d56c */
0x0001db58 addiu v0, v0, -0x2a94 | v0 += -0x2a94;
0x0001db5c lw s6, -0x7f90(gp) | s6 = *(gp);
0x0001db60 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x0001db64 addu s3, a0, s3 | s3 = a0 + s3;
0x0001db68 sw v0, 0x20(sp) | *(var_20h) = v0;
| label_5:
0x0001db6c lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 != 0) {
0x0001db70 beql v0, zero, 0x1dbc4 |
0x0001db74 subu s5, s5, s1 | __asm ("subu s5, s5, s1");
0x0001db78 lw v0, (s3) | v0 = *(s3);
0x0001db7c addu v0, v0, gp | v0 += gp;
0x0001db80 jr v0 | v0 ();
0x0001db84 nop |
| }
0x0001dbc4 slt v0, s5, s1 | v0 = (s5 < s1) ? 1 : 0;
| if (v0 == 0) {
0x0001dbc8 beql v0, zero, 0x1df48 | goto label_8;
| }
0x0001dbcc addiu v0, zero, 0x20 | v0 = 0x20;
| do {
| label_4:
0x0001dbd0 lw v0, 0x24(sp) | v0 = *(var_24h);
| label_3:
0x0001dbd4 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0001dbd8 lw v1, (v0) | v1 = *(v0);
0x0001dbdc move v0, s0 | v0 = s0;
| if (a0 == v1) {
0x0001dbe0 bne a0, v1, 0x1dc14 |
| label_1:
0x0001dbe4 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0001dbe8 lw fp, 0x58(sp) | fp = *(var_58h);
0x0001dbec lw s7, 0x54(sp) | s7 = *(var_54h);
0x0001dbf0 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0001dbf4 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0001dbf8 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0001dbfc lw s3, 0x44(sp) | s3 = *(var_44h_2);
0x0001dc00 lw s2, 0x40(sp) | s2 = *(var_40h_2);
0x0001dc04 lw s1, 0x3c(sp) | s1 = *(var_3ch_2);
0x0001dc08 lw s0, 0x38(sp) | s0 = *(var_38h_2);
0x0001dc0c addiu sp, sp, 0x60 |
0x0001dc10 jr ra | return v0;
| }
0x0001dc14 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| label_2:
0x0001dc18 jalr t9 | t9 ();
0x0001dc1c nop |
0x0001dc20 lbu v0, (fp) | v0 = *(fp);
0x0001dc24 addiu s3, fp, 1 | s3 = fp + 1;
| if (v0 != 0) {
0x0001dc28 bnez v0, 0x1dc80 | goto label_9;
| }
0x0001dc2c move a2, s0 | a2 = s0;
0x0001dc30 addiu a1, s5, -1 | a1 = s5 + -1;
0x0001dc34 move a0, s3 | a0 = s3;
0x0001dc38 lw t9, -0x7c60(gp) | t9 = *(gp);
0x0001dc3c bal 0x1f8bc | fcn_0001f8bc ();
0x0001dc40 nop |
0x0001dc44 move s1, v0 | s1 = v0;
0x0001dc48 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dc4c beqz v0, 0x1dbd0 |
| } while (v0 == 0);
0x0001dc50 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0001dc54 move a0, s0 | a0 = s0;
0x0001dc58 jalr t9 | t9 ();
0x0001dc5c lw v0, 0x24(sp) | v0 = *(var_24h);
0x0001dc60 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0001dc64 move s0, s1 | s0 = s1;
0x0001dc68 lw v1, (v0) | v1 = *(v0);
0x0001dc6c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dc70 move v0, s0 | v0 = s0;
| if (a0 == v1) {
0x0001dc74 beq a0, v1, 0x1dbe4 | goto label_1;
| }
0x0001dc78 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001dc7c b 0x1dc18 | goto label_2;
| label_9:
0x0001dc80 addiu a0, zero, 1 | a0 = 1;
0x0001dc84 lw v0, 0x24(sp) | v0 = *(var_24h);
| if (v0 != a0) {
0x0001dc88 bne v0, a0, 0x1dbd4 | goto label_3;
| }
0x0001dc8c slti v0, s5, 5 | v0 = (s5 < 5) ? 1 : 0;
0x0001dc90 lw a0, -0x7f90(gp) | a0 = *(gp);
| if (v0 != 0) {
0x0001dc94 bnez v0, 0x1dbd0 | goto label_4;
| }
0x0001dc98 addiu s1, s5, -5 | s1 = s5 + -5;
0x0001dc9c srl s1, s1, 2 | s1 >>= 2;
0x0001dca0 sll s1, s1, 2 | s1 <<= 2;
0x0001dca4 lw s4, -0x7cc4(gp) | s4 = *(gp);
0x0001dca8 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001dcac addiu s1, s1, 5 | s1 += 5;
0x0001dcb0 addu s1, fp, s1 | s1 = fp + s1;
0x0001dcb4 addiu a1, a1, -0x4e44 | a1 += -0x4e44;
| /* fcn.0001d56c */
0x0001dcb8 addiu s4, s4, -0x2a94 | s4 += -0x2a94;
0x0001dcbc addiu s2, a0, -0x4ba0 | s2 = a0 + -0x4ba0;
| do {
0x0001dcc0 move a2, s3 | a2 = s3;
0x0001dcc4 move t9, s4 | t9 = s4;
0x0001dcc8 move a0, s7 | a0 = s7;
0x0001dccc bal 0x1d56c | fcn_0001d56c ();
0x0001dcd0 addiu s3, s3, 4 | s3 += 4;
0x0001dcd4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dcd8 addu s7, s7, v0 | s7 += v0;
0x0001dcdc move a1, s2 | a1 = s2;
0x0001dce0 bne s1, s3, 0x1dcc0 |
| } while (s1 != s3);
0x0001dce4 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0001dce8 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0001dcec lw v1, (v0) | v1 = *(v0);
0x0001dcf0 move v0, s0 | v0 = s0;
| if (a0 == v1) {
0x0001dcf4 beq a0, v1, 0x1dbe4 | goto label_1;
| }
0x0001dcf8 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001dcfc b 0x1dc18 | goto label_2;
| label_8:
0x0001df48 sb v0, (s7) | *(s7) = v0;
0x0001df4c sb zero, 1(s7) | *((s7 + 1)) = 0;
0x0001df50 addu fp, fp, s1 | fp += s1;
0x0001df54 addiu s7, s7, 1 | s7++;
0x0001df58 b 0x1db6c | goto label_5;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x1e584 */
| #include <stdint.h>
|
; (fcn) fcn.0001e584 () | void fcn_0001e584 () {
| do {
| label_0:
0x0001e408 addiu v1, sp, 0x68 | v1 = sp + 0x68;
0x0001e40c sll v0, v0, 2 | v0 <<= 2;
0x0001e410 addu v0, v1, v0 | v0 = v1 + v0;
0x0001e414 lw v1, -0x24(v0) | v1 = *((v0 - 9));
0x0001e418 sllv v0, t2, fp | v0 = t2 << fp;
| if (v1 != 0) {
0x0001e41c bnez v1, 0x1e550 | goto label_2;
| }
0x0001e420 addiu fp, fp, 0x20 | fp += 0x20;
0x0001e424 slti v0, fp, 0x100 | v0 = (fp < aav.0x00000100) ? 1 : 0;
0x0001e428 srl v0, fp, 5 | v0 = fp >> 5;
0x0001e42c bnez v0, 0x1e408 |
| } while (v0 != 0);
0x0001e430 lwl v0, 0x237(s4) | __asm ("lwl v0, 0x237(s4)");
| label_1:
0x0001e434 lw t9, -0x7c48(gp) | t9 = *(gp);
0x0001e438 lw s2, (s1) | s2 = *(s1);
0x0001e43c lwr v0, 0x234(s4) | __asm ("lwr v0, 0x234(s4)");
0x0001e440 move a0, s3 | a0 = s3;
0x0001e444 sw v0, 0x44(sp) | *(arg_44h) = v0;
0x0001e448 sw s7, 0x48(sp) | *(arg_48h) = s7;
0x0001e44c sw zero, 0x4c(sp) | *(arg_4ch) = 0;
0x0001e450 bal 0x8cec | fcn_00008cec ();
0x0001e454 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (s2 == 0) {
0x0001e458 beqz s2, 0x1e484 | goto label_3;
| }
0x0001e45c move s0, s1 | s0 = s1;
0x0001e460 lw s3, -0x7c44(gp) | s3 = *(gp);
| do {
0x0001e464 addiu s1, s1, 4 | s1 += 4;
0x0001e468 move t9, s3 | t9 = s3;
0x0001e46c move a0, s2 | a0 = s2;
0x0001e470 bal 0xa5a4 | fcn_0000a5a4 ();
0x0001e474 lw s2, (s1) | s2 = *(s1);
0x0001e478 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0001e47c bnez s2, 0x1e464 |
| } while (s2 != 0);
0x0001e480 move s1, s0 | s1 = s0;
| label_3:
0x0001e484 lw v0, 0x2c(sp) | v0 = *(arg_2ch);
0x0001e488 lw v1, 0x64(sp) | v1 = *(arg_64h);
0x0001e48c lw v0, (v0) | v0 = *(v0);
0x0001e490 lw ra, 0x8c(sp) | ra = *(arg_8ch);
| if (v1 == v0) {
0x0001e494 bne v1, v0, 0x1e544 |
0x0001e498 lw fp, 0x88(sp) | fp = *(arg_88h);
0x0001e49c lw s7, 0x84(sp) | s7 = *(arg_84h);
0x0001e4a0 lw s6, 0x80(sp) | s6 = *(arg_80h);
0x0001e4a4 lw s5, 0x7c(sp) | s5 = *(arg_7ch);
0x0001e4a8 lw s4, 0x78(sp) | s4 = *(arg_78h);
0x0001e4ac lw s3, 0x74(sp) | s3 = *(arg_74h);
0x0001e4b0 lw s2, 0x70(sp) | s2 = *(arg_70h);
0x0001e4b4 lw s0, 0x68(sp) | s0 = *(arg_68h);
0x0001e4b8 move a0, s1 | a0 = s1;
0x0001e4bc lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0001e4c0 lw s1, 0x6c(sp) | s1 = *(arg_6ch);
0x0001e4c4 addiu sp, sp, 0x90 |
0x0001e4c8 jr t9 | t9 ();
| }
0x0001e544 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001e548 jalr t9 | t9 ();
0x0001e54c nop |
| label_2:
0x0001e550 and v0, v0, v1 | v0 &= v1;
0x0001e554 lw t9, 0x20(sp) | t9 = *(arg_20h);
| if (v0 != 0) {
0x0001e558 beqz v0, 0x1e5e8 |
0x0001e55c move a1, fp | a1 = fp;
0x0001e560 move a0, s2 | a0 = s2;
0x0001e564 jalr t9 | t9 ();
0x0001e568 lbu t1, -1(v0) | t1 = *((v0 - 1));
0x0001e56c lw t9, 0x28(sp) | t9 = *(arg_28h);
0x0001e570 sll a0, t1, 1 | a0 = t1 << 1;
0x0001e574 sw t1, 0x30(sp) | *(arg_30h) = t1;
0x0001e578 addiu a0, a0, 9 | a0 += 9;
0x0001e57c sw v0, 0x34(sp) | *(arg_34h) = v0;
0x0001e580 jalr t9 | t9 ();
0x0001e584 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0001e588 addiu s0, s0, 4 | s0 += 4;
0x0001e58c move a3, s5 | a3 = s5;
0x0001e590 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0001e594 sw v0, -4(s0) | *((s0 - 1)) = v0;
0x0001e598 addiu a2, zero, -1 | a2 = -1;
0x0001e59c addiu a1, zero, 1 | a1 = 1;
0x0001e5a0 move a0, v0 | a0 = v0;
0x0001e5a4 sw fp, 0x10(sp) | *(arg_10h) = fp;
0x0001e5a8 move s6, v0 | s6 = v0;
0x0001e5ac jalr t9 | t9 ();
0x0001e5b0 lw t1, 0x30(sp) | t1 = *(arg_30h);
0x0001e5b4 lw t0, 0x34(sp) | t0 = *(arg_34h);
0x0001e5b8 lw t9, 0x24(sp) | t9 = *(arg_24h);
0x0001e5bc addu a0, s6, v0 | a0 = s6 + v0;
0x0001e5c0 move a2, t1 | a2 = t1;
0x0001e5c4 move a1, t0 | a1 = t0;
0x0001e5c8 jalr t9 | t9 ();
0x0001e5cc lw gp, 0x18(sp) | gp = *(arg_18h);
0x0001e5d0 sb zero, (v0) | *(v0) = 0;
0x0001e5d4 lw t9, -0x7744(gp) | t9 = sym.imp.putenv;
0x0001e5d8 move a0, s6 | a0 = s6;
0x0001e5dc jalr t9 | t9 ();
0x0001e5e0 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0001e5e4 addiu t2, zero, 1 | t2 = 1;
| }
0x0001e5e8 addiu fp, fp, 1 | fp++;
0x0001e5ec slti v0, fp, 0x100 | v0 = (fp < aav.0x00000100) ? 1 : 0;
0x0001e5f0 srl v0, fp, 5 | v0 = fp >> 5;
| if (v0 == 0) {
0x0001e5f4 bnel v0, zero, 0x1e408 | goto label_0;
| }
0x0001e5f8 lwl v0, 0x237(s4) | __asm ("lwl v0, 0x237(s4)");
0x0001e5fc b 0x1e434 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x21980 */
| #include <stdint.h>
|
; (fcn) fcn.00021980 () | void fcn_00021980 () {
0x00021980 lui gp, 8 |
0x00021984 addiu gp, gp, -0x7850 |
0x00021988 addu gp, gp, t9 | gp += t9;
0x0002198c addiu sp, sp, -0x70 |
0x00021990 lw t9, -0x7c4c(gp) | t9 = *(gp);
0x00021994 sw s1, 0x64(sp) | *(var_64h) = s1;
0x00021998 lw s1, -0x74a4(gp) | s1 = *((gp - 7465));
0x0002199c sw s0, 0x60(sp) | *(var_60h) = s0;
0x000219a0 addiu s0, sp, 0x3c | s0 = sp + 0x3c;
0x000219a4 lw v0, (s1) | v0 = *(s1);
0x000219a8 sw gp, 0x30(sp) | *(var_30h) = gp;
0x000219ac sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x000219b0 sw s2, 0x68(sp) | *(var_68h) = s2;
0x000219b4 addiu a2, zero, 0x10 | a2 = 0x10;
0x000219b8 move s2, a0 | s2 = a0;
0x000219bc sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x000219c0 move a0, s0 | a0 = s0;
0x000219c4 bal 0x9308 | fcn_00009308 ();
0x000219c8 addiu v0, sp, 0x58 | v0 = sp + 0x58;
0x000219cc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000219d0 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x000219d4 lw gp, 0x30(sp) | gp = *(var_30h);
0x000219d8 sw v0, 0x28(sp) | *(var_28h) = v0;
0x000219dc addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x000219e0 sw v0, 0x24(sp) | *(var_24h) = v0;
0x000219e4 addiu v0, sp, 0x4c | v0 = sp + 0x4c;
0x000219e8 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000219ec addiu v0, sp, 0x48 | v0 = sp + 0x48;
0x000219f0 lw a3, -0x7f90(gp) | a3 = *(gp);
0x000219f4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000219f8 addiu v0, sp, 0x44 | v0 = sp + 0x44;
0x000219fc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00021a00 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00021a04 addiu v0, sp, 0x40 | v0 = sp + 0x40;
0x00021a08 move a0, s2 | a0 = s2;
0x00021a0c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00021a10 sw s0, 0x10(sp) | *(var_10h) = s0;
| /* str._.4s:_.4s:_.4s:_.4s:_.4s:_.4s:_.4s:_.4s */
0x00021a14 addiu a3, a3, -0x66ec | a3 += -0x66ec;
0x00021a18 addiu a2, zero, -1 | a2 = -1;
0x00021a1c addiu a1, zero, 1 | a1 = 1;
0x00021a20 jalr t9 | t9 ();
0x00021a24 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00021a28 lw v1, (s1) | v1 = *(s1);
0x00021a2c lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 == v1) {
0x00021a30 bne a0, v1, 0x21a4c |
0x00021a34 lw ra, 0x6c(sp) | ra = *(var_6ch);
0x00021a38 lw s2, 0x68(sp) | s2 = *(var_68h);
0x00021a3c lw s1, 0x64(sp) | s1 = *(var_64h);
0x00021a40 lw s0, 0x60(sp) | s0 = *(var_60h);
0x00021a44 addiu sp, sp, 0x70 |
0x00021a48 jr ra | return v1;
| }
0x00021a4c lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00021a50 jalr t9 | t9 ();
0x00021a54 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x2af08 */
| #include <stdint.h>
|
; (fcn) fcn.0002af08 () | void fcn_0002af08 () {
0x0002af08 lui gp, 7 |
0x0002af0c addiu gp, gp, -0xdd8 |
0x0002af10 addu gp, gp, t9 | gp += t9;
0x0002af14 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0002af18 addiu sp, sp, -0x90 |
0x0002af1c lb v1, 0x3f8e(v0) | v1 = *((v0 + 16270));
0x0002af20 lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x0002af24 sw s0, 0x7c(sp) | *(var_7ch) = s0;
0x0002af28 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x0002af2c lw a1, (v0) | a1 = *(v0);
| /* esilref: 'end of file' */
0x0002af30 addiu s0, s0, 0x1c08 | s0 += 0x1c08;
0x0002af34 sll v0, v1, 2 | v0 = v1 << 2;
0x0002af38 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x0002af3c slti v1, v1, 4 | v1 = (v1 < 4) ? 1 : 0;
0x0002af40 sw s1, 0x80(sp) | *(var_80h) = s1;
0x0002af44 sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x0002af48 move s1, a0 | s1 = a0;
0x0002af4c sw s3, 0x88(sp) | *(var_88h) = s3;
0x0002af50 sw s2, 0x84(sp) | *(var_84h) = s2;
0x0002af54 sw a1, 0x74(sp) | *(var_74h) = a1;
0x0002af58 lwx a0, v0(s0) | __asm ("lwx a0, v0(s0)");
0x0002af5c beqz v1, 0x2aff8 |
| while (1) {
0x0002af60 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0002af64 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0002af68 addiu s2, sp, 0x34 | s2 = sp + 0x34;
0x0002af6c sw a0, 0x10(sp) | *(var_10h_3) = a0;
| /* str.unexpected__s */
0x0002af70 addiu a3, a3, -0x5eb8 | a3 += -0x5eb8;
0x0002af74 addiu a2, zero, 0x40 | a2 = 0x40;
0x0002af78 addiu a1, zero, 1 | a1 = 1;
0x0002af7c move a0, s2 | a0 = s2;
0x0002af80 jalr t9 | t9 ();
0x0002af84 addiu v1, zero, -1 | v1 = -1;
0x0002af88 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0002af8c move s3, v0 | s3 = v0;
| if (s1 != v1) {
0x0002af90 beq s1, v1, 0x2afc8 |
0x0002af94 sll a0, s1, 2 | a0 = s1 << 2;
0x0002af98 slti s1, s1, 4 | s1 = (s1 < 4) ? 1 : 0;
0x0002af9c lwx a0, a0(s0) | __asm ("lwx a0, a0(s0)");
| if (s1 == 0) {
0x0002afa0 beqz s1, 0x2b028 | goto label_1;
| }
0x0002afa4 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0002afa8 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0002afac sw a0, 0x10(sp) | *(var_10h_3) = a0;
| /* str.__expecting__s_ */
0x0002afb0 addiu a3, a3, -0x5ea8 | a3 += -0x5ea8;
0x0002afb4 addiu a2, zero, -1 | a2 = -1;
0x0002afb8 addiu a1, zero, 1 | a1 = 1;
0x0002afbc addu a0, s2, s3 | a0 = s2 + s3;
0x0002afc0 jalr t9 | t9 ();
0x0002afc4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| }
| label_0:
0x0002afc8 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0002afcc lw a0, -0x7f90(gp) | a0 = *(gp);
0x0002afd0 lw t9, -0x7cc4(gp) | t9 = *(gp);
0x0002afd4 lw v1, 0x200c(v0) | v1 = *((v0 + 2051));
0x0002afd8 lw v0, -0x7b7c(gp) | v0 = *(gp);
0x0002afdc move a1, s2 | a1 = s2;
0x0002afe0 lw v1, 4(v1) | v1 = *((v1 + 1));
0x0002afe4 lw v0, (v0) | v0 = *(v0);
| /* str.syntax_error:__s */
0x0002afe8 addiu a0, a0, -0x5e98 | a0 += -0x5e98;
| /* fcn.00026888 */
0x0002afec addiu t9, t9, 0x6888 | t9 += 0x6888;
0x0002aff0 sw v1, 0xc(v0) | *((v0 + 3)) = v1;
0x0002aff4 bal 0x26888 | fcn_00026888 ();
0x0002aff8 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0002affc lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0002b000 addiu s2, sp, 0x24 | s2 = sp + 0x24;
0x0002b004 sw a0, 0x10(sp) | *(var_10h_3) = a0;
| /* esilref: '"&s"' */
0x0002b008 addiu a3, a3, -0x7e38 | a3 += -0x7e38;
0x0002b00c move a0, s2 | a0 = s2;
0x0002b010 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002b014 addiu a1, zero, 1 | a1 = 1;
0x0002b018 jalr t9 | t9 ();
0x0002b01c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0002b020 move a0, s2 | a0 = s2;
0x0002b024 b 0x2af60 |
| }
| label_1:
0x0002b028 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0002b02c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0002b030 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x0002b034 sw a0, 0x10(sp) | *(var_10h_3) = a0;
| /* esilref: '"&s"' */
0x0002b038 addiu a3, a3, -0x7e38 | a3 += -0x7e38;
0x0002b03c addiu a2, zero, 0x10 | a2 = 0x10;
0x0002b040 addiu a1, zero, 1 | a1 = 1;
0x0002b044 move a0, s0 | a0 = s0;
0x0002b048 jalr t9 | t9 ();
0x0002b04c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0002b050 move a0, s0 | a0 = s0;
0x0002b054 sw a0, 0x10(sp) | *(var_10h_3) = a0;
0x0002b058 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0002b05c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
| /* str.__expecting__s_ */
0x0002b060 addiu a3, a3, -0x5ea8 | a3 += -0x5ea8;
0x0002b064 addiu a2, zero, -1 | a2 = -1;
0x0002b068 addiu a1, zero, 1 | a1 = 1;
0x0002b06c addu a0, s2, s3 | a0 = s2 + s3;
0x0002b070 jalr t9 | t9 ();
0x0002b074 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0002b078 b 0x2afc8 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x3c560 */
| #include <stdint.h>
|
; (fcn) fcn.0003c560 () | void fcn_0003c560 () {
0x0003c560 lui gp, 6 |
0x0003c564 addiu gp, gp, -0x2430 |
0x0003c568 addu gp, gp, t9 | gp += t9;
0x0003c56c lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x0003c570 addiu sp, sp, -0xb0 |
0x0003c574 lw t9, -0x7b1c(gp) | t9 = *(gp);
0x0003c578 sw s0, 0x88(sp) | *(var_88h) = s0;
0x0003c57c sw v0, 0x48(sp) | *(var_48h) = v0;
0x0003c580 lw s0, -0x7e20(gp) | s0 = *((gp - 8072));
0x0003c584 lw v0, (v0) | v0 = *(v0);
0x0003c588 sw gp, 0x30(sp) | *(var_30h) = gp;
0x0003c58c sw ra, 0xac(sp) | *(var_ach) = ra;
0x0003c590 sw s7, 0xa4(sp) | *(var_a4h) = s7;
0x0003c594 sw s0, 0x54(sp) | *(var_54h) = s0;
0x0003c598 sw v0, 0x84(sp) | *(var_84h) = v0;
| /* fcn.0003b6e0 */
0x0003c59c addiu t9, t9, -0x4920 | t9 += -0x4920;
0x0003c5a0 sw fp, 0xa8(sp) | *(var_a8h) = fp;
0x0003c5a4 sw s6, 0xa0(sp) | *(var_a0h) = s6;
0x0003c5a8 sw s5, 0x9c(sp) | *(var_9ch) = s5;
0x0003c5ac sw s4, 0x98(sp) | *(var_98h) = s4;
0x0003c5b0 sw s3, 0x94(sp) | *(var_94h) = s3;
0x0003c5b4 sw s2, 0x90(sp) | *(var_90h) = s2;
0x0003c5b8 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x0003c5bc bal 0x3b6e0 | fcn_0003b6e0 ();
0x0003c5c0 nop |
0x0003c5c4 lw s7, (s0) | s7 = *(s0);
0x0003c5c8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c5cc lw s0, 4(s7) | s0 = *((s7 + 1));
0x0003c5d0 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0003c5d4 move a0, s0 | a0 = s0;
0x0003c5d8 jalr t9 | t9 ();
0x0003c5dc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0003c5e0 bnez v0, 0x3ca78 | goto label_11;
| }
0x0003c5e4 addiu a2, zero, 6 | a2 = 6;
0x0003c5e8 addiu s1, zero, 7 | s1 = 7;
| label_10:
0x0003c5ec lw a3, -0x7f90(gp) | a3 = *(gp);
0x0003c5f0 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0003c5f4 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.Device */
0x0003c5f8 addiu a3, a3, -0x4b3c | a3 += -0x4b3c;
| /* str.__s_Boot_StartCHS____EndCHS________StartLBA_____EndLBA____Sectors__Size_Id_Type_n */
0x0003c5fc addiu a1, a1, -0x4b34 | a1 += -0x4b34;
0x0003c600 addiu a0, zero, 1 | a0 = 1;
0x0003c604 jalr t9 | t9 ();
0x0003c608 lw a2, 8(s7) | a2 = *((s7 + 2));
0x0003c60c lw gp, 0x30(sp) | gp = *(var_30h);
| if (a2 <= 0) {
0x0003c610 blez a2, 0x3c6b0 | goto label_12;
| }
0x0003c614 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0003c618 addiu s5, zero, 0x998 | s5 = 0x998;
0x0003c61c sw v0, 0x58(sp) | *(var_58h) = v0;
0x0003c620 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0003c624 addiu s0, zero, 1 | s0 = 1;
0x0003c628 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0003c62c lw v0, -0x7f90(gp) | v0 = *(gp);
| /* str._.s_s__2u */
0x0003c630 addiu v0, v0, -0x4a68 | v0 += -0x4a68;
0x0003c634 sw v0, 0x60(sp) | *(var_60h) = v0;
0x0003c638 lw v0, -0x7b1c(gp) | v0 = *(gp);
0x0003c63c addiu v0, v0, -0x42a0 | v0 += -0x42a0;
0x0003c640 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0003c644 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0003c648 addiu v0, v0, -0x4b54 | v0 += -0x4b54;
0x0003c64c sw v0, 0x64(sp) | *(var_64h) = v0;
| label_0:
0x0003c650 addiu s6, s0, -1 | s6 = s0 + -1;
0x0003c654 sll v0, s6, 2 | v0 = s6 << 2;
0x0003c658 addu v0, v0, s6 | v0 += s6;
0x0003c65c sll v0, v0, 2 | v0 <<= 2;
0x0003c660 addu v0, s7, v0 | v0 = s7 + v0;
0x0003c664 lw fp, 0x998(v0) | fp = *((v0 + 614));
0x0003c668 move v0, fp | v0 = fp;
| if (fp == 0) {
0x0003c66c beqz fp, 0x3c690 | goto label_13;
| }
0x0003c670 addiu a1, fp, 0x10 | a1 = fp + 0x10;
0x0003c674 move a0, zero | a0 = 0;
| do {
0x0003c678 addiu v0, v0, 1 | v0++;
0x0003c67c lbu a2, -1(v0) | a2 = *((v0 - 1));
0x0003c680 or a0, a0, a2 | a0 |= a2;
0x0003c684 bne v0, a1, 0x3c678 |
| } while (v0 != a1);
0x0003c688 lbu v0, (fp) | v0 = *(fp);
| if (a0 == 0) {
0x0003c68c bnel a0, zero, 0x3c7c8 | goto label_14;
| }
| label_13:
0x0003c690 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0003c694 move s4, s0 | s4 = s0;
0x0003c698 addiu s5, s5, 0x14 | s5 += 0x14;
0x0003c69c lw s7, (v0) | s7 = *(v0);
0x0003c6a0 lw a2, 8(s7) | a2 = *((s7 + 2));
0x0003c6a4 slt s4, s4, a2 | s4 = (s4 < a2) ? 1 : 0;
0x0003c6a8 addiu s0, s0, 1 | s0++;
| if (s4 != 0) {
0x0003c6ac bnez s4, 0x3c650 | goto label_0;
| }
| label_12:
0x0003c6b0 lb v0, 0x28(s7) | v0 = *((s7 + 40));
| label_7:
0x0003c6b4 lw v0, 0x48(sp) | v0 = *(var_48h);
| if (v0 == 0) {
0x0003c6b8 bnel v0, zero, 0x3c70c | goto label_6;
| }
| if (a2 == 0) {
0x0003c6bc beql a2, zero, 0x3c70c | goto label_6;
| }
0x0003c6c0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0003c6c4 addiu a3, s7, 0x998 | a3 = s7 + 0x998;
0x0003c6c8 move a1, zero | a1 = 0;
0x0003c6cc addiu t1, zero, 4 | t1 = 4;
| do {
| label_5:
0x0003c6d0 lw v1, (a3) | v1 = *(a3);
| if (a1 == t1) {
0x0003c6d4 bnel a1, t1, 0x3c754 | goto label_15;
| }
0x0003c6d8 lw a0, 0x9e8(s7) | a0 = *((s7 + 634));
0x0003c6dc lbu v0, 4(a0) | v0 = *((a0 + 4));
0x0003c6e0 addiu a0, a0, 8 | a0 += 8;
| if (v0 != 0) {
0x0003c6e4 beqz v0, 0x3c6fc |
0x0003c6e8 lw v1, 0x9f0(s7) | v1 = *((s7 + 636));
0x0003c6ec lwl v0, 3(a0) | __asm ("lwl v0, 3(a0)");
0x0003c6f0 lwr v0, (a0) | __asm ("lwr v0, (a0)");
0x0003c6f4 sw v0, 0x74(sp) | *(var_74h) = v0;
0x0003c6f8 addu v0, v1, v0 | v0 = v1 + v0;
| }
| label_1:
0x0003c6fc addiu a1, a1, 1 | a1++;
0x0003c700 addiu a3, a3, 0x14 | a3 += 0x14;
0x0003c704 bne a1, a2, 0x3c6d0 |
| } while (a1 != a2);
| label_2:
0x0003c708 lw v0, 0x48(sp) | v0 = *(var_48h);
| label_6:
0x0003c70c lw v1, 0x84(sp) | v1 = *(var_84h);
0x0003c710 lw v0, (v0) | v0 = *(v0);
0x0003c714 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 == v0) {
0x0003c718 bne v1, v0, 0x3c74c |
| label_3:
0x0003c71c lw ra, 0xac(sp) | ra = *(var_ach);
0x0003c720 lw fp, 0xa8(sp) | fp = *(var_a8h);
0x0003c724 lw s7, 0xa4(sp) | s7 = *(var_a4h);
0x0003c728 lw s6, 0xa0(sp) | s6 = *(var_a0h);
0x0003c72c lw s5, 0x9c(sp) | s5 = *(var_9ch);
0x0003c730 lw s4, 0x98(sp) | s4 = *(var_98h);
0x0003c734 lw s3, 0x94(sp) | s3 = *(var_94h);
0x0003c738 lw s2, 0x90(sp) | s2 = *(var_90h);
0x0003c73c lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0003c740 lw s0, 0x88(sp) | s0 = *(var_88h);
0x0003c744 addiu sp, sp, 0xb0 |
0x0003c748 jr ra | return v1;
| }
| label_4:
0x0003c74c jalr t9 | t9 ();
0x0003c750 nop |
| label_15:
0x0003c754 lbu a0, 4(v1) | a0 = *((v1 + 4));
0x0003c758 addiu v1, v1, 8 | v1 += 8;
| if (a0 == 0) {
0x0003c75c beqz a0, 0x3c6fc | goto label_1;
| }
0x0003c760 lw a0, 8(a3) | a0 = *((a3 + 2));
0x0003c764 lwl t0, 3(v1) | __asm ("lwl t0, 3(v1)");
0x0003c768 lwr t0, (v1) | __asm ("lwr t0, (v1)");
0x0003c76c addu v1, a0, t0 | v1 = a0 + t0;
0x0003c770 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0003c774 sw t0, 0x74(sp) | *(var_74h) = t0;
| if (v0 == 0) {
0x0003c778 beqz v0, 0x3c7b0 | goto label_16;
| }
0x0003c77c lw a0, -0x7f90(gp) | a0 = *(gp);
| if (a1 == 0) {
0x0003c780 beqz a1, 0x3c708 | goto label_2;
| }
0x0003c784 lw t9, -0x75d8(gp) | t9 = sym.imp.puts;
| /* str._nPartition_table_entries_are_not_in_disk_order */
0x0003c788 addiu a0, a0, -0x4a98 | a0 += -0x4a98;
0x0003c78c jalr t9 | t9 ();
0x0003c790 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0003c794 lw v1, 0x84(sp) | v1 = *(var_84h);
0x0003c798 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c79c lw v0, (v0) | v0 = *(v0);
0x0003c7a0 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 == v0) {
0x0003c7a4 beq v1, v0, 0x3c71c | goto label_3;
| }
0x0003c7a8 b 0x3c74c | goto label_4;
0x0003c7ac nop |
| label_16:
0x0003c7b0 addiu a1, a1, 1 | a1++;
0x0003c7b4 move v0, v1 | v0 = v1;
0x0003c7b8 addiu a3, a3, 0x14 | a3 += 0x14;
| if (a1 != a2) {
0x0003c7bc bne a1, a2, 0x3c6d0 | goto label_5;
| }
0x0003c7c0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0003c7c4 b 0x3c70c | goto label_6;
| label_14:
0x0003c7c8 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0003c7cc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003c7d0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0003c7d4 addiu a0, sp, 0x78 | a0 = sp + 0x78;
0x0003c7d8 sw a0, 0x4c(sp) | *(var_4ch) = a0;
0x0003c7dc addiu a3, v0, -0x4ae0 | a3 = v0 + -0x4ae0;
0x0003c7e0 addiu a2, zero, 4 | a2 = 4;
0x0003c7e4 addiu a1, zero, 1 | a1 = 1;
0x0003c7e8 jalr t9 | t9 ();
0x0003c7ec lbu v0, (fp) | v0 = *(fp);
0x0003c7f0 andi a0, v0, 0x7f | a0 = v0 & 0x7f;
0x0003c7f4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 == 0) {
0x0003c7f8 bnez a0, 0x3c810 |
0x0003c7fc addiu a0, zero, 0x20 | a0 = 0x20;
0x0003c800 addiu a1, zero, 0x2a | a1 = 0x2a;
| if (v0 != 0) {
0x0003c804 movz a1, a0, v0 | a1 = a0;
| }
0x0003c808 sb a1, 0x78(sp) | *(var_78h) = a1;
0x0003c80c sb a0, 0x79(sp) | *(var_79h) = a0;
| }
0x0003c810 addu a2, s7, s5 | a2 = s7 + s5;
0x0003c814 addiu a0, fp, 0xc | a0 = fp + 0xc;
0x0003c818 lw v0, (a2) | v0 = *(a2);
0x0003c81c lwl a1, 3(a0) | __asm ("lwl a1, 3(a0)");
0x0003c820 addiu v0, v0, 8 | v0 += 8;
0x0003c824 lw a2, 8(a2) | a2 = *((a2 + 2));
0x0003c828 lwl s2, 3(v0) | __asm ("lwl s2, 3(v0)");
0x0003c82c lwr a1, (a0) | __asm ("lwr a1, (a0)");
0x0003c830 lwr s2, (v0) | __asm ("lwr s2, (v0)");
0x0003c834 move s3, a1 | s3 = a1;
0x0003c838 addu s2, a2, s2 | s2 = a2 + s2;
0x0003c83c sw a1, 0x74(sp) | *(var_74h) = a1;
0x0003c840 sw s2, 0x3c(sp) | *(var_3ch) = s2;
| if (a1 != 0) {
0x0003c844 beqz a1, 0x3c854 |
0x0003c848 addiu v0, a1, -1 | v0 = a1 + -1;
0x0003c84c addu v0, v0, s2 | v0 += s2;
0x0003c850 sw v0, 0x3c(sp) | *(var_3ch) = v0;
| }
0x0003c854 lw a0, 0x10(s7) | a0 = *((s7 + 4));
0x0003c858 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0003c85c multu s3, a0 | __asm ("multu s3, a0");
0x0003c860 mflo a0 | __asm ("mflo a0");
0x0003c864 mfhi a1 | __asm ("mfhi a1");
0x0003c868 addiu a2, sp, 0x7c | a2 = sp + 0x7c;
0x0003c86c lw t9, -0x7bb4(gp) | t9 = *(gp);
0x0003c870 sw a2, 0x50(sp) | *(var_50h) = a2;
0x0003c874 addiu a3, v0, -0x4ad8 | a3 = v0 + -0x4ad8;
0x0003c878 jalr t9 | t9 ();
0x0003c87c lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c880 addiu a0, zero, 0x50 | a0 = 0x50;
0x0003c884 sb zero, (v0) | *(v0) = 0;
0x0003c888 lw t9, -0x7eb8(gp) | t9 = *(gp);
0x0003c88c lw s4, 4(s7) | s4 = *((s7 + 1));
0x0003c890 jalr t9 | t9 ();
0x0003c894 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c898 lw t9, -0x7ca4(gp) | t9 = *((gp - 7977));
0x0003c89c move a0, v0 | a0 = v0;
0x0003c8a0 jalr t9 | t9 ();
0x0003c8a4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c8a8 move a0, s4 | a0 = s4;
0x0003c8ac lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0003c8b0 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0003c8b4 jalr t9 | t9 ();
0x0003c8b8 addu a0, s4, v0 | a0 = s4 + v0;
0x0003c8bc lbu a0, -1(a0) | a0 = *((a0 - 1));
0x0003c8c0 addiu a0, a0, -0x30 | a0 += -0x30;
0x0003c8c4 sltiu a0, a0, 0xa | a0 = (a0 < 0xa) ? 1 : 0;
0x0003c8c8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 != 0) {
0x0003c8cc bnez a0, 0x3ca6c | goto label_17;
| }
0x0003c8d0 lw t0, -0x7f90(gp) | t0 = *(gp);
0x0003c8d4 addiu t0, t0, -0x4e44 | t0 += -0x4e44;
| label_9:
0x0003c8d8 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0003c8dc lw t9, -0x7448(gp) | t9 = sym.imp.strcmp;
0x0003c8e0 addiu a2, v0, -4 | a2 = v0 + -4;
0x0003c8e4 sw t0, 0x6c(sp) | *(var_6ch) = t0;
| /* str.disc */
0x0003c8e8 addiu a1, a1, -0x4acc | a1 += -0x4acc;
0x0003c8ec addu a0, s4, a2 | a0 = s4 + a2;
0x0003c8f0 sw a2, 0x68(sp) | *(var_68h) = a2;
0x0003c8f4 move s7, v0 | s7 = v0;
0x0003c8f8 jalr t9 | t9 ();
0x0003c8fc lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c900 lw t0, 0x6c(sp) | t0 = *(var_6ch);
| if (v0 == 0) {
0x0003c904 bnez v0, 0x3c918 |
0x0003c908 lw a2, 0x68(sp) | a2 = *(var_68h);
0x0003c90c lw t0, -0x7f90(gp) | t0 = *(gp);
0x0003c910 move s7, a2 | s7 = a2;
| /* str.part */
0x0003c914 addiu t0, t0, -0x4b44 | t0 += -0x4b44;
| }
0x0003c918 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0003c91c move a0, t0 | a0 = t0;
0x0003c920 sw t0, 0x68(sp) | *(var_68h) = t0;
0x0003c924 jalr t9 | t9 ();
0x0003c928 lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c92c subu v0, s1, v0 | __asm ("subu v0, s1, v0");
0x0003c930 lw t0, 0x68(sp) | t0 = *(var_68h);
0x0003c934 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003c938 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0003c93c lw a0, 0x40(sp) | a0 = *(var_40h);
0x0003c940 lw t9, -0x7434(gp) | t9 = sym.imp.__snprintf_chk;
0x0003c944 addiu a3, zero, -1 | a3 = -1;
0x0003c948 sw t0, 0x20(sp) | *(var_20h) = t0;
0x0003c94c addiu a2, zero, 1 | a2 = 1;
0x0003c950 addiu a1, zero, 0x50 | a1 = 0x50;
0x0003c954 sw s4, 0x1c(sp) | *(var_1ch) = s4;
0x0003c958 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0003c95c sw s7, 0x18(sp) | *(var_18h) = s7;
0x0003c960 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003c964 jalr t9 | t9 ();
0x0003c968 lbu a2, 2(fp) | a2 = *(arg_2h);
0x0003c96c lbu a1, 1(fp) | a1 = *(arg_1h);
0x0003c970 lbu a0, 3(fp) | a0 = *(arg_3h);
0x0003c974 lw t9, 0x44(sp) | t9 = *(var_44h);
0x0003c978 move s4, s0 | s4 = s0;
0x0003c97c jalr t9 | t9 ();
0x0003c980 lbu a2, 6(fp) | a2 = *(arg_6h);
0x0003c984 lbu a1, 5(fp) | a1 = *(arg_5h);
0x0003c988 lbu a0, 7(fp) | a0 = *(arg_7h);
0x0003c98c lw t9, 0x44(sp) | t9 = *(var_44h);
0x0003c990 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0003c994 jalr t9 | t9 ();
0x0003c998 lbu t1, 4(fp) | t1 = *(arg_4h);
0x0003c99c lw gp, 0x30(sp) | gp = *(var_30h);
0x0003c9a0 lw t2, 0x68(sp) | t2 = *(var_68h);
| if (t1 == 0) {
0x0003c9a4 beqz t1, 0x3ca5c | goto label_18;
| }
0x0003c9a8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0003c9ac lw a0, 0x64(sp) | a0 = *(var_64h);
0x0003c9b0 addiu a2, zero, 1 | a2 = 1;
0x0003c9b4 addiu a1, a1, 0x1d98 | a1 += 0x1d98;
| do {
0x0003c9b8 addiu t0, a0, 1 | t0 = a0 + 1;
| if (t1 == a2) {
0x0003c9bc beq t1, a2, 0x3c9d8 | goto label_8;
| }
0x0003c9c0 addiu a1, a1, 4 | a1 += 4;
0x0003c9c4 lw a0, -4(a1) | a0 = *((a1 - 1));
0x0003c9c8 lbu a2, (a0) | a2 = *(a0);
0x0003c9cc bnel a0, zero, 0x3c9b8 |
| } while (a0 == 0);
0x0003c9d0 lw a0, -0x7f90(gp) | a0 = *(gp);
| /* str.Unknown */
0x0003c9d4 addiu t0, a0, -0x4b4c | t0 = a0 + -0x4b4c;
| label_8:
0x0003c9d8 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0003c9dc lw a1, -0x7f90(gp) | a1 = *(gp);
0x0003c9e0 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0003c9e4 lw v1, 0x3c(sp) | v1 = *(var_3ch);
0x0003c9e8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x0003c9ec lw a2, 0x40(sp) | a2 = *(var_40h);
0x0003c9f0 lw a3, 0x4c(sp) | a3 = *(var_4ch);
| /* str._s_s___11s___11s__10u__10u__10u__s__2x__s_n */
0x0003c9f4 addiu a1, a1, -0x4ac4 | a1 += -0x4ac4;
0x0003c9f8 addiu a0, zero, 1 | a0 = 1;
0x0003c9fc sw t0, 0x2c(sp) | *(var_2ch) = t0;
0x0003ca00 sw t1, 0x28(sp) | *(var_28h) = t1;
0x0003ca04 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0003ca08 sw t2, 0x10(sp) | *(var_10h) = t2;
0x0003ca0c sw s3, 0x20(sp) | *(var_20h) = s3;
0x0003ca10 sw s2, 0x18(sp) | *(var_18h) = s2;
0x0003ca14 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003ca18 jalr t9 | t9 ();
0x0003ca1c lw gp, 0x30(sp) | gp = *(var_30h);
0x0003ca20 move a1, s6 | a1 = s6;
0x0003ca24 move a0, fp | a0 = fp;
0x0003ca28 lw t9, -0x7b1c(gp) | t9 = *(gp);
| /* fcn.0003be10 */
0x0003ca2c addiu t9, t9, -0x41f0 | t9 += -0x41f0;
0x0003ca30 addiu s0, s0, 1 | s0++;
0x0003ca34 bal 0x3be10 | fcn_0003be10 ();
0x0003ca38 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0003ca3c lw gp, 0x30(sp) | gp = *(var_30h);
0x0003ca40 lw s7, (v0) | s7 = *(v0);
0x0003ca44 lw a2, 8(s7) | a2 = *((s7 + 2));
0x0003ca48 slt s4, s4, a2 | s4 = (s4 < a2) ? 1 : 0;
0x0003ca4c addiu s5, s5, 0x14 | s5 += 0x14;
| if (s4 != 0) {
0x0003ca50 bnez s4, 0x3c650 | goto label_0;
| }
0x0003ca54 lb v0, 0x28(s7) | v0 = *((s7 + 40));
0x0003ca58 b 0x3c6b4 | goto label_7;
| label_18:
0x0003ca5c lw a0, -0x7fcc(gp) | a0 = *(gp);
0x0003ca60 addiu a0, a0, 0x6ce0 | a0 += 0x6ce0;
0x0003ca64 addiu t0, a0, 1 | t0 = a0 + 1;
0x0003ca68 b 0x3c9d8 | goto label_8;
| label_17:
0x0003ca6c lw t0, -0x7f90(gp) | t0 = *(gp);
0x0003ca70 addiu t0, t0, -0x5494 | t0 += -0x5494;
0x0003ca74 b 0x3c8d8 | goto label_9;
| label_11:
0x0003ca78 addu s0, s0, v0 | s0 += v0;
0x0003ca7c lbu v1, -1(s0) | v1 = *((s0 - 1));
0x0003ca80 addiu v1, v1, -0x30 | v1 += -0x30;
0x0003ca84 sltiu v1, v1, 0xa | v1 = (v1 < 0xa) ? 1 : 0;
0x0003ca88 addiu v0, v0, 1 | v0++;
| if (v1 != 0) {
0x0003ca8c bnel v1, zero, 0x3ca90 |
| }
0x0003ca90 slti s1, v0, 7 | s1 = (v0 < 7) ? 1 : 0;
0x0003ca94 addiu v1, zero, 7 | v1 = 7;
| if (s1 != 0) {
0x0003ca98 movz v1, v0, s1 | v1 = v0;
| }
0x0003ca9c move s1, v1 | s1 = v1;
0x0003caa0 addiu a2, v1, -1 | a2 = v1 + -1;
0x0003caa4 b 0x3c5ec | goto label_10;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x3e67c */
| #include <stdint.h>
|
; (fcn) fcn.0003e67c () | void fcn_0003e67c () {
0x0003e67c lui gp, 6 |
0x0003e680 addiu gp, gp, -0x454c |
0x0003e684 addu gp, gp, t9 | gp += t9;
0x0003e688 addiu sp, sp, -0x1a8 |
0x0003e68c lw a1, -0x7f90(gp) | a1 = *(gp);
0x0003e690 sw s3, 0x18c(sp) | *(var_18ch) = s3;
0x0003e694 lw s3, -0x74a4(gp) | s3 = *((gp - 7465));
0x0003e698 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0003e69c lw t9, -0x7af8(gp) | t9 = *(gp);
0x0003e6a0 lw v0, (s3) | v0 = *(s3);
0x0003e6a4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003e6a8 sw fp, 0x1a0(sp) | *(var_1a0h) = fp;
0x0003e6ac sw s7, 0x19c(sp) | *(var_19ch) = s7;
0x0003e6b0 sw s5, 0x194(sp) | *(var_194h) = s5;
0x0003e6b4 sw s4, 0x190(sp) | *(var_190h) = s4;
0x0003e6b8 sw s2, 0x188(sp) | *(var_188h) = s2;
0x0003e6bc sw s1, 0x184(sp) | *(var_184h) = s1;
0x0003e6c0 sw ra, 0x1a4(sp) | *(var_1a4h) = ra;
0x0003e6c4 sw s6, 0x198(sp) | *(var_198h) = s6;
0x0003e6c8 sw s0, 0x180(sp) | *(var_180h) = s0;
0x0003e6cc addiu a1, a1, -0x3604 | a1 += -0x3604;
| /* str._proc_partitions */
0x0003e6d0 addiu a0, a0, -0x4508 | a0 += -0x4508;
0x0003e6d4 sw v0, 0x17c(sp) | *(var_17ch) = v0;
0x0003e6d8 addiu s7, sp, 0x3c | s7 = sp + 0x3c;
0x0003e6dc jalr t9 | t9 ();
0x0003e6e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e6e4 move s5, v0 | s5 = v0;
0x0003e6e8 lw s2, -0x7f90(gp) | s2 = *(gp);
0x0003e6ec lw s1, -0x7f90(gp) | s1 = *(gp);
0x0003e6f0 lw s4, -0x7b1c(gp) | s4 = *(gp);
| /* str.__u__u__u____n__ */
0x0003e6f4 addiu s2, s2, -0x44f4 | s2 += -0x44f4;
| /* str._dev__s */
0x0003e6f8 addiu s1, s1, -0x44e0 | s1 += -0x44e0;
0x0003e6fc addiu fp, sp, 0x2c | fp = sp + 0x2c;
| label_1:
0x0003e700 addiu s0, sp, 0x28 | s0 = sp + 0x28;
| label_0:
0x0003e704 addiu s6, sp, 0xa0 | s6 = sp + 0xa0;
| do {
0x0003e708 lw t9, -0x77c8(gp) | t9 = sym.imp.fgets_unlocked;
0x0003e70c move a2, s5 | a2 = s5;
0x0003e710 addiu a1, zero, 0x64 | a1 = 0x64;
0x0003e714 move a0, s7 | a0 = s7;
0x0003e718 jalr t9 | t9 ();
0x0003e71c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0003e720 beqz v0, 0x3e7f4 | goto label_3;
| }
0x0003e724 lw t9, -0x776c(gp) | t9 = sym.imp.sscanf;
0x0003e728 addiu v0, sp, 0x30 | v0 = sp + 0x30;
0x0003e72c sw s6, 0x14(sp) | *(var_14h) = s6;
0x0003e730 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003e734 move a3, fp | a3 = fp;
0x0003e738 move a2, s0 | a2 = s0;
0x0003e73c move a1, s2 | a1 = s2;
0x0003e740 move a0, s7 | a0 = s7;
0x0003e744 jalr t9 | t9 ();
0x0003e748 addiu v1, zero, 4 | v1 = 4;
0x0003e74c lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e750 bne v0, v1, 0x3e708 |
| } while (v0 != v1);
0x0003e754 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0003e758 addiu s0, sp, 0x104 | s0 = sp + aav.0x00000104;
0x0003e75c move a3, s1 | a3 = s1;
0x0003e760 addiu a2, zero, 0x78 | a2 = 0x78;
0x0003e764 addiu a1, zero, 1 | a1 = 1;
0x0003e768 move a0, s0 | a0 = s0;
0x0003e76c sw s6, 0x10(sp) | *(var_10h) = s6;
0x0003e770 jalr t9 | t9 ();
0x0003e774 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e778 move a1, zero | a1 = 0;
0x0003e77c lw t9, -0x766c(gp) | t9 = sym.imp.open64;
0x0003e780 move a0, s0 | a0 = s0;
0x0003e784 jalr t9 | t9 ();
0x0003e788 move s6, v0 | s6 = v0;
0x0003e78c addiu v0, zero, -1 | v0 = -1;
0x0003e790 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s6 == v0) {
0x0003e794 beq s6, v0, 0x3e83c | goto label_4;
| }
0x0003e798 lw t9, -0x7564(gp) | t9 = sym.imp.ioctl;
0x0003e79c addiu a2, sp, 0x34 | a2 = sp + 0x34;
0x0003e7a0 addiu a1, zero, 0x301 | a1 = 0x301;
0x0003e7a4 move a0, s6 | a0 = s6;
0x0003e7a8 jalr t9 | t9 ();
0x0003e7ac lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e7b0 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0003e7b4 lw t9, -0x7844(gp) | t9 = sym.imp.close;
0x0003e7b8 move a0, s6 | a0 = s6;
0x0003e7bc jalr t9 | t9 ();
0x0003e7c0 lw v1, 0x24(sp) | v1 = *(var_24h);
0x0003e7c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0003e7c8 bnez v1, 0x3e83c | goto label_4;
| }
0x0003e7cc lw v0, 0x38(sp) | v0 = *(var_38h);
0x0003e7d0 addiu s0, sp, 0x28 | s0 = sp + 0x28;
| if (v0 == 0) {
0x0003e7d4 bnel v0, zero, 0x3e704 | goto label_0;
| }
| do {
0x0003e7d8 move a1, zero | a1 = 0;
| /* fcn.0003e50c */
0x0003e7dc addiu t9, s4, -0x1af4 | t9 = s4 + -0x1af4;
0x0003e7e0 move a0, s0 | a0 = s0;
0x0003e7e4 bal 0x3e50c | fcn_0003e50c ();
0x0003e7e8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_2:
0x0003e7ec addiu fp, sp, 0x2c | fp = sp + 0x2c;
0x0003e7f0 b 0x3e700 | goto label_1;
| label_3:
0x0003e7f4 lw v1, 0x17c(sp) | v1 = *(var_17ch);
0x0003e7f8 lw v0, (s3) | v0 = *(s3);
0x0003e7fc lw ra, 0x1a4(sp) | ra = *(var_1a4h);
| if (v1 == v0) {
0x0003e800 bne v1, v0, 0x3e830 |
0x0003e804 lw fp, 0x1a0(sp) | fp = *(var_1a0h);
0x0003e808 lw s7, 0x19c(sp) | s7 = *(var_19ch);
0x0003e80c lw s6, 0x198(sp) | s6 = *(var_198h);
0x0003e810 lw s5, 0x194(sp) | s5 = *(var_194h);
0x0003e814 lw s4, 0x190(sp) | s4 = *(var_190h);
0x0003e818 lw s3, 0x18c(sp) | s3 = *(var_18ch);
0x0003e81c lw s2, 0x188(sp) | s2 = *(var_188h);
0x0003e820 lw s1, 0x184(sp) | s1 = *(var_184h);
0x0003e824 lw s0, 0x180(sp) | s0 = *(var_180h);
0x0003e828 addiu sp, sp, 0x1a8 |
0x0003e82c jr ra | return v0;
| }
0x0003e830 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003e834 jalr t9 | t9 ();
0x0003e838 nop |
| label_4:
0x0003e83c lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0003e840 move a0, s0 | a0 = s0;
0x0003e844 jalr t9 | t9 ();
0x0003e848 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e84c beqz v0, 0x3e7d8 |
| } while (v0 == 0);
0x0003e850 addiu v1, sp, 0x180 | v1 = sp + 0x180;
0x0003e854 addu v0, v1, v0 | v0 = v1 + v0;
0x0003e858 lbu v0, -0x7d(v0) | v0 = *((v0 - 125));
0x0003e85c addiu v0, v0, -0x30 | v0 += -0x30;
0x0003e860 sltiu v0, v0, 0xa | v0 = (v0 < 0xa) ? 1 : 0;
0x0003e864 move a1, zero | a1 = 0;
| if (v0 != 0) {
0x0003e868 bnez v0, 0x3e700 | goto label_1;
| }
| /* fcn.0003e50c */
0x0003e86c addiu t9, s4, -0x1af4 | t9 = s4 + -0x1af4;
0x0003e870 move a0, s0 | a0 = s0;
0x0003e874 bal 0x3e50c | fcn_0003e50c ();
0x0003e878 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003e87c b 0x3e7ec | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x45b3c */
| #include <stdint.h>
|
; (fcn) fcn.00045b3c () | void fcn_00045b3c () {
0x00045b3c lui gp, 5 |
0x00045b40 addiu gp, gp, 0x45f4 |
0x00045b44 addu gp, gp, t9 | gp += t9;
0x00045b48 addiu sp, sp, -0x60 |
0x00045b4c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00045b50 sw s2, 0x54(sp) | *(var_54h) = s2;
0x00045b54 lw s2, -0x74a4(gp) | s2 = *((gp - 7465));
0x00045b58 sw s0, 0x4c(sp) | *(var_4ch) = s0;
0x00045b5c addiu s0, sp, 0x28 | s0 = sp + 0x28;
0x00045b60 lw v0, (s2) | v0 = *(s2);
0x00045b64 sw a3, 0x1c(sp) | *(var_1ch) = a3;
0x00045b68 lw a3, -0x7f90(gp) | a3 = *(gp);
0x00045b6c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00045b70 sw s3, 0x58(sp) | *(var_58h) = s3;
0x00045b74 sw s1, 0x50(sp) | *(var_50h) = s1;
0x00045b78 sw a2, 0x18(sp) | *(var_18h) = a2;
0x00045b7c move s1, a1 | s1 = a1;
0x00045b80 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00045b84 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00045b88 addiu a1, zero, 1 | a1 = 1;
0x00045b8c move s3, a0 | s3 = a0;
| /* str._0llo */
0x00045b90 addiu a3, a3, -0x3824 | a3 += -0x3824;
0x00045b94 addiu a2, zero, 0x19 | a2 = 0x19;
0x00045b98 move a0, s0 | a0 = s0;
0x00045b9c sw v0, 0x44(sp) | *(var_44h) = v0;
0x00045ba0 jalr t9 | t9 ();
0x00045ba4 nop |
0x00045ba8 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x00045bac addu a1, s0, v0 | a1 = s0 + v0;
0x00045bb0 addiu v0, zero, 0x30 | v0 = 0x30;
0x00045bb4 lbu v1, (a1) | v1 = *(a1);
0x00045bb8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == v0) {
0x00045bbc bne v1, v0, 0x45bc4 |
0x00045bc0 addiu a1, a1, 1 | a1++;
| }
0x00045bc4 lw t9, -0x74a0(gp) | t9 = sym.imp.memcpy;
0x00045bc8 move a2, s1 | a2 = s1;
0x00045bcc move a0, s3 | a0 = s3;
0x00045bd0 jalr t9 | t9 ();
0x00045bd4 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00045bd8 lw v0, (s2) | v0 = *(s2);
0x00045bdc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == v0) {
0x00045be0 bne v1, v0, 0x45c00 |
0x00045be4 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00045be8 lw s3, 0x58(sp) | s3 = *(var_58h);
0x00045bec lw s2, 0x54(sp) | s2 = *(var_54h);
0x00045bf0 lw s1, 0x50(sp) | s1 = *(var_50h);
0x00045bf4 lw s0, 0x4c(sp) | s0 = *(var_4ch);
0x00045bf8 addiu sp, sp, 0x60 |
0x00045bfc jr ra | return v1;
| }
0x00045c00 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00045c04 jalr t9 | t9 ();
0x00045c08 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x60ab0 */
| #include <stdint.h>
|
; (fcn) fcn.00060ab0 () | void fcn_00060ab0 () {
0x00060ab0 lui gp, 4 |
0x00060ab4 addiu gp, gp, -0x6980 |
0x00060ab8 addu gp, gp, t9 | gp += t9;
0x00060abc lw v0, -0x7e20(gp) | v0 = *((gp - 8072));
0x00060ac0 addiu sp, sp, -0x58 |
0x00060ac4 lw v1, (v0) | v1 = *(v0);
0x00060ac8 sw s1, 0x50(sp) | *(var_50h) = s1;
0x00060acc lw s1, -0x74a4(gp) | s1 = *((gp - 7465));
0x00060ad0 slti v0, a0, 0 | v0 = (a0 < 0) ? 1 : 0;
0x00060ad4 lw a2, 0x24(v1) | a2 = *((v1 + 9));
0x00060ad8 lw a3, (s1) | a3 = *(s1);
| if (v0 == 0) {
0x00060adc movn a0, zero, v0 | a0 = 0;
| }
0x00060ae0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00060ae4 sltu v0, a0, a2 | v0 = (a0 < a2) ? 1 : 0;
0x00060ae8 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00060aec sw s0, 0x4c(sp) | *(var_4ch) = s0;
0x00060af0 sw a3, 0x44(sp) | *(var_44h) = a3;
| if (v0 != 0) {
0x00060af4 beql v0, zero, 0x60afc |
0x00060af8 addiu a0, a2, -1 | a0 = a2 + -1;
| }
0x00060afc slti v0, a1, 0 | v0 = (a1 < 0) ? 1 : 0;
0x00060b00 lw v1, 0x28(v1) | v1 = *((v1 + 10));
| if (v0 == 0) {
0x00060b04 movn a1, zero, v0 | a1 = 0;
| }
0x00060b08 sltu v0, a1, v1 | v0 = (a1 < v1) ? 1 : 0;
| if (v0 != 0) {
0x00060b0c beql v0, zero, 0x60b14 |
0x00060b10 addiu a1, v1, -1 | a1 = v1 + -1;
| }
0x00060b14 lw a3, -0x7f90(gp) | a3 = *(gp);
0x00060b18 addiu v1, a1, 1 | v1 = a1 + 1;
0x00060b1c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00060b20 addiu v0, a0, 1 | v0 = a0 + 1;
0x00060b24 addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x00060b28 sw v1, 0x14(sp) | *(var_14h) = v1;
| /* str.e__u__uH */
0x00060b2c addiu a3, a3, -0x1ddc | a3 += -0x1ddc;
0x00060b30 addiu a2, zero, 0x21 | a2 = 0x21;
0x00060b34 addiu a1, zero, 1 | a1 = 1;
0x00060b38 move a0, s0 | a0 = s0;
0x00060b3c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00060b40 jalr t9 | t9 ();
0x00060b44 lw gp, 0x18(sp) | gp = *(var_18h);
0x00060b48 move a0, s0 | a0 = s0;
0x00060b4c lw v0, -0x7700(gp) | v0 = *((gp - 7616));
0x00060b50 lw t9, -0x7420(gp) | t9 = sym.imp.fputs_unlocked;
0x00060b54 lw a1, (v0) | a1 = *(v0);
0x00060b58 jalr t9 | t9 ();
0x00060b5c lw v1, 0x44(sp) | v1 = *(var_44h);
0x00060b60 lw v0, (s1) | v0 = *(s1);
0x00060b64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 == v0) {
0x00060b68 bne v1, v0, 0x60b80 |
0x00060b6c lw ra, 0x54(sp) | ra = *(var_54h);
0x00060b70 lw s1, 0x50(sp) | s1 = *(var_50h);
0x00060b74 lw s0, 0x4c(sp) | s0 = *(var_4ch);
0x00060b78 addiu sp, sp, 0x58 |
0x00060b7c jr ra | return v1;
| }
0x00060b80 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00060b84 jalr t9 | t9 ();
0x00060b88 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x65860 */
| #include <stdint.h>
|
; (fcn) fcn.00065860 () | void fcn_00065860 () {
0x00065860 lui gp, 3 |
0x00065864 addiu gp, gp, 0x48d0 |
0x00065868 addu gp, gp, t9 | gp += t9;
0x0006586c lw v0, -0x7e20(gp) | v0 = *((gp - 8072));
0x00065870 addiu sp, sp, -0x58 |
0x00065874 addiu v1, zero, 1 | v1 = 1;
0x00065878 sw s0, 0x34(sp) | *(var_34h) = s0;
0x0006587c lw s0, (v0) | s0 = *(v0);
0x00065880 lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x00065884 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00065888 lw t9, -0x7b80(gp) | t9 = *(gp);
0x0006588c lw v0, (v0) | v0 = *(v0);
0x00065890 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00065894 sw s1, 0x38(sp) | *(var_38h) = s1;
0x00065898 sw s7, 0x50(sp) | *(var_50h) = s7;
0x0006589c sw s6, 0x4c(sp) | *(var_4ch) = s6;
0x000658a0 sw s5, 0x48(sp) | *(var_48h) = s5;
0x000658a4 sw s4, 0x44(sp) | *(var_44h) = s4;
0x000658a8 sw s3, 0x40(sp) | *(var_40h) = s3;
0x000658ac sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x000658b0 addiu a2, zero, 6 | a2 = 6;
0x000658b4 addiu a1, s0, 0x258 | a1 = s0 + 0x258;
0x000658b8 sb v1, 0x11(s0) | *((s0 + 17)) = v1;
0x000658bc move s1, a0 | s1 = a0;
0x000658c0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000658c4 move a0, zero | a0 = 0;
0x000658c8 jalr t9 | t9 ();
0x000658cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000658d0 addiu v0, zero, 0x18 | v0 = 0x18;
0x000658d4 sw v0, 0x24(s0) | *((s0 + 9)) = v0;
0x000658d8 lw t9, -0x791c(gp) | t9 = *(gp);
0x000658dc addiu v0, zero, 0x50 | v0 = 0x50;
| /* fcn.0005f094 */
0x000658e0 addiu t9, t9, -0xf6c | t9 += -0xf6c;
0x000658e4 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x000658e8 bal 0x5f094 | fcn_0005f094 ();
0x000658ec lw gp, 0x18(sp) | gp = *(var_18h);
0x000658f0 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
| if (v0 != 0) {
0x000658f4 bnez v0, 0x65cc0 | goto label_5;
| }
| label_3:
0x000658f8 lw a0, 0x24(s0) | a0 = *((s0 + 9));
0x000658fc lw a1, 0x28(s0) | a1 = *((s0 + 10));
| label_4:
0x00065900 lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.0005f104 */
0x00065904 addiu t9, t9, -0xefc | t9 += -0xefc;
0x00065908 bal 0x5f104 | fcn_0005f104 ();
0x0006590c nop |
0x00065910 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065914 lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.000613a4 */
0x00065918 addiu t9, t9, 0x13a4 | t9 += 0x13a4;
0x0006591c move a0, s1 | a0 = s1;
0x00065920 bal 0x613a4 | fcn_000613a4 ();
0x00065924 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065928 lw v0, (s0) | v0 = *(s0);
0x0006592c addiu v1, zero, 0x1a | v1 = 0x1a;
0x00065930 lw a1, -0x791c(gp) | a1 = *(gp);
0x00065934 lw t9, -0x74d0(gp) | t9 = sym.imp.signal;
0x00065938 sb v1, 0x7c(s0) | *((s0 + 124)) = v1;
0x0006593c addiu a1, a1, 0x1b68 | a1 += 0x1b68;
0x00065940 sw v0, 0x15c(s0) | *((s0 + 87)) = v0;
0x00065944 sw v0, 0x158(s0) | *((s0 + 86)) = v0;
0x00065948 sw zero, 0x58(s0) | *((s0 + 22)) = 0;
0x0006594c sw zero, 0x30(s0) | *((s0 + 12)) = 0;
0x00065950 sw zero, 0x34(s0) | *((s0 + 13)) = 0;
0x00065954 addiu a0, zero, 0x14 | a0 = 0x14;
0x00065958 jalr t9 | t9 ();
0x0006595c lw gp, 0x18(sp) | gp = *(var_18h);
0x00065960 addiu a0, zero, 0x18 | a0 = 0x18;
0x00065964 lw a1, -0x791c(gp) | a1 = *(gp);
0x00065968 lw t9, -0x74d0(gp) | t9 = sym.imp.signal;
0x0006596c addiu a1, a1, 0x1a84 | a1 += 0x1a84;
0x00065970 jalr t9 | t9 ();
0x00065974 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065978 addiu a1, zero, 1 | a1 = 1;
0x0006597c lw t9, -0x7718(gp) | t9 = sym.imp.__sigsetjmp;
0x00065980 addiu a0, s0, 0x168 | a0 = s0 + 0x168;
0x00065984 jalr t9 | t9 ();
0x00065988 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006598c lw v1, -0x7e20(gp) | v1 = *((gp - 8072));
0x00065990 lw s0, (v1) | s0 = *(v1);
| if (v0 != 0) {
0x00065994 beqz v0, 0x659a4 |
0x00065998 lw v0, (s0) | v0 = *(s0);
0x0006599c sw v0, 8(s0) | *((s0 + 2)) = v0;
0x000659a0 sw v0, 0x48(s0) | *((s0 + 18)) = v0;
| }
0x000659a4 lw a1, -0x791c(gp) | a1 = *(gp);
0x000659a8 lw t9, -0x74d0(gp) | t9 = sym.imp.signal;
0x000659ac addiu a1, a1, -0xfbc | a1 += -0xfbc;
0x000659b0 addiu a0, zero, 2 | a0 = 2;
0x000659b4 jalr t9 | t9 ();
0x000659b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000659bc addiu v0, zero, 8 | v0 = 8;
0x000659c0 lw a0, 0x68(s0) | a0 = *((s0 + 26));
0x000659c4 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x000659c8 sb zero, 0x12(s0) | *((s0 + 18)) = 0;
0x000659cc sw zero, 0x20(s0) | *((s0 + 8)) = 0;
0x000659d0 sw v0, 0x54(s0) | *((s0 + 21)) = v0;
0x000659d4 sw zero, 0x38(s0) | *((s0 + 14)) = 0;
0x000659d8 jalr t9 | t9 ();
0x000659dc lw s1, 0x28c(s0) | s1 = *((s0 + 163));
0x000659e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000659e4 sw zero, 0x68(s0) | *((s0 + 26)) = 0;
0x000659e8 sw zero, 0x60(s0) | *((s0 + 24)) = 0;
0x000659ec sb zero, 0x5c(s0) | *((s0 + 92)) = 0;
| if (s1 == 0) {
0x000659f0 beqz s1, 0x65a94 | goto label_6;
| }
0x000659f4 lw s4, -0x791c(gp) | s4 = *(gp);
0x000659f8 addiu s3, s0, 0x28c | s3 = s0 + 0x28c;
| /* fcn.00061dc4 */
0x000659fc addiu s4, s4, 0x1dc4 | s4 += 0x1dc4;
| label_0:
0x00065a00 lw t9, -0x7634(gp) | t9 = sym.imp.strchr;
0x00065a04 addiu a1, zero, 0xa | a1 = 0xa;
0x00065a08 move a0, s1 | a0 = s1;
0x00065a0c jalr t9 | t9 ();
0x00065a10 move s2, v0 | s2 = v0;
0x00065a14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00065a18 beqz v0, 0x65a5c | goto label_7;
| }
0x00065a1c lbu v1, (v0) | v1 = *(v0);
0x00065a20 addiu v0, zero, 0xa | v0 = 0xa;
0x00065a24 lbu v0, (s1) | v0 = *(s1);
| if (v1 == v0) {
0x00065a28 bnel v1, v0, 0x65a40 | goto label_8;
| }
| do {
0x00065a2c addiu s2, s2, 1 | s2++;
0x00065a30 lbu v1, (s2) | v1 = *(s2);
0x00065a34 sb zero, -1(s2) | *((s2 - 1)) = 0;
0x00065a38 beq v1, v0, 0x65a2c |
| } while (v1 == v0);
0x00065a3c lbu v0, (s1) | v0 = *(s1);
| label_8:
0x00065a40 move t9, s4 | t9 = s4;
| if (v0 != 0) {
0x00065a44 beqz v0, 0x65a54 |
0x00065a48 move a0, s1 | a0 = s1;
0x00065a4c bal 0x61dc4 | fcn_00061dc4 ();
0x00065a50 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00065a54 move s1, s2 | s1 = s2;
0x00065a58 b 0x65a00 | goto label_0;
| label_7:
0x00065a5c lbu v0, (s1) | v0 = *(s1);
0x00065a60 move t9, s4 | t9 = s4;
| if (v0 != 0) {
0x00065a64 beqz v0, 0x65a74 |
0x00065a68 move a0, s1 | a0 = s1;
0x00065a6c bal 0x61dc4 | fcn_00061dc4 ();
0x00065a70 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00065a74 lw a0, (s3) | a0 = *(s3);
0x00065a78 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x00065a7c addiu s3, s3, 4 | s3 += 4;
0x00065a80 jalr t9 | t9 ();
0x00065a84 lw s1, (s3) | s1 = *(s3);
0x00065a88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065a8c sw zero, -4(s3) | *((s3 - 1)) = 0;
| if (s1 != 0) {
0x00065a90 bnez s1, 0x65a00 | goto label_0;
| }
| label_6:
0x00065a94 lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.00061674 */
0x00065a98 addiu t9, t9, 0x1674 | t9 += 0x1674;
0x00065a9c move a0, zero | a0 = 0;
0x00065aa0 bal 0x61674 | fcn_00061674 ();
0x00065aa4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065aa8 lw s5, -0x791c(gp) | s5 = *(gp);
0x00065aac lw s3, -0x791c(gp) | s3 = *(gp);
0x00065ab0 lw s4, -0x791c(gp) | s4 = *(gp);
| /* fcn.0006112c */
0x00065ab4 addiu s5, s5, 0x112c | s5 += 0x112c;
| /* fcn.0005fe90 */
0x00065ab8 addiu s3, s3, -0x170 | s3 += -0x170;
| /* fcn.0005efbc */
0x00065abc addiu s4, s4, -0x1044 | s4 += -0x1044;
| label_1:
0x00065ac0 lw s7, -0x791c(gp) | s7 = *(gp);
0x00065ac4 lw s6, -0x7f90(gp) | s6 = *(gp);
| do {
0x00065ac8 lb v0, 0x11(s0) | v0 = *((s0 + 17));
0x00065acc move t9, s5 | t9 = s5;
| if (v0 <= 0) {
0x00065ad0 blez v0, 0x65c2c | goto label_9;
| }
0x00065ad4 bal 0x6112c | fcn_0006112c ();
0x00065ad8 nop |
0x00065adc lw s1, 8(s0) | s1 = *((s0 + 2));
0x00065ae0 move t9, s3 | t9 = s3;
0x00065ae4 move a0, s1 | a0 = s1;
0x00065ae8 move s2, v0 | s2 = v0;
0x00065aec bal 0x5fe90 | fcn_0005fe90 ();
0x00065af0 lw v1, 0x70(s0) | v1 = *((s0 + 28));
0x00065af4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != v0) {
0x00065af8 beq v1, v0, 0x65b34 |
0x00065afc move a0, s1 | a0 = s1;
0x00065b00 move t9, s3 | t9 = s3;
0x00065b04 sw v0, 0x70(s0) | *((s0 + 28)) = v0;
0x00065b08 bal 0x5fe90 | fcn_0005fe90 ();
0x00065b0c move a0, s1 | a0 = s1;
| /* fcn.00060070 */
0x00065b10 addiu t9, s7, 0x70 | t9 = s7 + 0x70;
0x00065b14 move s1, v0 | s1 = v0;
0x00065b18 bal 0x60070 | fcn_00060070 ();
0x00065b1c move a1, v0 | a1 = v0;
0x00065b20 addiu a2, zero, 0x1b | a2 = 0x1b;
0x00065b24 move t9, s4 | t9 = s4;
0x00065b28 move a0, s1 | a0 = s1;
0x00065b2c bal 0x5efbc | fcn_0005efbc ();
0x00065b30 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00065b34 lb v0, 0x5c(s0) | v0 = *((s0 + 92));
0x00065b38 lw t9, -0x791c(gp) | t9 = *(gp);
| if (v0 == 0) {
0x00065b3c bnez v0, 0x65bc0 |
0x00065b40 lw v0, 0x68(s0) | v0 = *((s0 + 26));
| /* fcn.00062e5c */
0x00065b44 addiu t9, t9, 0x2e5c | t9 += 0x2e5c;
| if (v0 != 0) {
0x00065b48 bnez v0, 0x65bc4 | goto label_10;
| }
0x00065b4c lb v0, 0x12(s0) | v0 = *((s0 + 18));
0x00065b50 addiu v0, s2, -1 | v0 = s2 + -1;
| if (v0 == 0) {
0x00065b54 bnez v0, 0x65bbc |
0x00065b58 sltiu v0, v0, 0x7e | v0 = (v0 < 0x7e) ? 1 : 0;
0x00065b5c lw t9, -0x7634(gp) | t9 = sym.imp.strchr;
| if (v0 == 0) {
0x00065b60 beqz v0, 0x65bbc | goto label_2;
| }
0x00065b64 move a1, s2 | a1 = s2;
| /* str.aAcCdDiIJoOpPrRsxX__ */
0x00065b68 addiu a0, s6, 0xeec | a0 = s6 + 0xeec;
0x00065b6c jalr t9 | t9 ();
0x00065b70 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00065b74 beqz v0, 0x65bbc | goto label_2;
| }
0x00065b78 lw v0, -0x7e20(gp) | v0 = *((gp - 8072));
0x00065b7c lw s1, (v0) | s1 = *(v0);
0x00065b80 lw v0, 0x20(s1) | v0 = *((s1 + 8));
0x00065b84 lw a3, -0x7fcc(gp) | a3 = *(gp);
| if (v0 <= 0) {
0x00065b88 blez v0, 0x65ca8 | goto label_11;
| }
0x00065b8c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00065b90 sw s2, 0x14(sp) | *(var_14h) = s2;
0x00065b94 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* esilref: '&u&c' */
0x00065b98 addiu a3, a3, 0x7740 | a3 += 0x7740;
0x00065b9c addiu a2, zero, 0x80 | a2 = 0x80;
0x00065ba0 addiu a1, zero, 1 | a1 = 1;
0x00065ba4 addiu a0, s1, 0x370 | a0 = s1 + 0x370;
0x00065ba8 jalr t9 | t9 ();
0x00065bac lw gp, 0x18(sp) | gp = *(var_18h);
0x00065bb0 sw v0, 0x60(s1) | *((s1 + 24)) = v0;
0x00065bb4 addiu v0, zero, 1 | v0 = 1;
0x00065bb8 sb v0, 0x5c(s1) | *((s1 + 92)) = v0;
| }
| label_2:
0x00065bbc lw t9, -0x791c(gp) | t9 = *(gp);
| }
| /* fcn.00062e5c */
0x00065bc0 addiu t9, t9, 0x2e5c | t9 += 0x2e5c;
| label_10:
0x00065bc4 move a0, s2 | a0 = s2;
0x00065bc8 bal 0x62e5c | fcn_00062e5c ();
0x00065bcc lbu v0, 0x298(s0) | v0 = *(s0);
0x00065bd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065bd4 bnez v0, 0x65ac8 |
| } while (v0 != 0);
0x00065bd8 addiu v0, zero, 1 | v0 = 1;
0x00065bdc lw t9, -0x7bf0(gp) | t9 = *(gp);
0x00065be0 move a2, zero | a2 = 0;
0x00065be4 addiu a1, zero, 1 | a1 = 1;
0x00065be8 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x00065bec sw zero, 0x24(sp) | *(var_24h) = 0;
0x00065bf0 sh v0, 0x28(sp) | *(var_28h) = v0;
0x00065bf4 bal 0x73fb0 | fcn_00073fb0 ();
0x00065bf8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 > 0) {
0x00065bfc bgtz v0, 0x65ac0 | goto label_1;
| }
0x00065c00 lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.00060b8c */
0x00065c04 addiu t9, t9, 0xb8c | t9 += 0xb8c;
0x00065c08 move a0, zero | a0 = 0;
0x00065c0c bal 0x60b8c | fcn_00060b8c ();
0x00065c10 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065c14 lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.000617e8 */
0x00065c18 addiu t9, t9, 0x17e8 | t9 += 0x17e8;
0x00065c1c bal 0x617e8 | fcn_000617e8 ();
0x00065c20 nop |
0x00065c24 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065c28 b 0x65ac0 | goto label_1;
| label_9:
0x00065c2c lw t9, -0x791c(gp) | t9 = *(gp);
| /* fcn.00060fe0 */
0x00065c30 addiu t9, t9, 0xfe0 | t9 += 0xfe0;
0x00065c34 bal 0x60fe0 | fcn_00060fe0 ();
0x00065c38 nop |
0x00065c3c lw gp, 0x18(sp) | gp = *(var_18h);
0x00065c40 lw t9, -0x7f68(gp) | t9 = *(gp);
0x00065c44 jalr t9 | t9 ();
0x00065c48 nop |
0x00065c4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00065c50 lw t9, -0x7b8c(gp) | t9 = *(gp);
0x00065c54 addiu a0, s0, 0x258 | a0 = s0 + 0x258;
0x00065c58 jalr t9 | t9 ();
0x00065c5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00065c60 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x00065c64 lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x00065c68 lw v0, (v0) | v0 = *(v0);
0x00065c6c lw ra, 0x54(sp) | ra = *(var_54h);
| if (v1 == v0) {
0x00065c70 bne v1, v0, 0x65c9c |
0x00065c74 lw s7, 0x50(sp) | s7 = *(var_50h);
0x00065c78 lw s6, 0x4c(sp) | s6 = *(var_4ch);
0x00065c7c lw s5, 0x48(sp) | s5 = *(var_48h);
0x00065c80 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00065c84 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00065c88 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x00065c8c lw s1, 0x38(sp) | s1 = *(var_38h);
0x00065c90 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00065c94 addiu sp, sp, 0x58 |
0x00065c98 jr ra | return v0;
| }
0x00065c9c lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00065ca0 jalr t9 | t9 ();
0x00065ca4 nop |
| label_11:
0x00065ca8 addiu v0, zero, 1 | v0 = 1;
0x00065cac sw v0, 0x60(s1) | *((s1 + 24)) = v0;
0x00065cb0 addiu v0, zero, 1 | v0 = 1;
0x00065cb4 sb s2, 0x370(s1) | *((s1 + 880)) = s2;
0x00065cb8 sb v0, 0x5c(s1) | *((s1 + 92)) = v0;
0x00065cbc b 0x65bbc | goto label_2;
| label_5:
0x00065cc0 lw v0, -0x7700(gp) | v0 = *((gp - 7616));
0x00065cc4 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00065cc8 lw t9, -0x74c4(gp) | t9 = sym.imp.fwrite_unlocked;
0x00065ccc lw a3, (v0) | a3 = *(v0);
0x00065cd0 addiu a2, zero, 0xe | a2 = 0xe;
0x00065cd4 addiu a1, zero, 1 | a1 = 1;
| /* str.e_999_999He_6n */
0x00065cd8 addiu a0, a0, -0x17b4 | a0 += -0x17b4;
0x00065cdc jalr t9 | t9 ();
0x00065ce0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065ce4 lw t9, -0x7f68(gp) | t9 = *(gp);
0x00065ce8 jalr t9 | t9 ();
0x00065cec nop |
0x00065cf0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00065cf4 move a0, zero | a0 = 0;
0x00065cf8 addiu a2, zero, 0x64 | a2 = 0x64;
0x00065cfc lw t9, -0x7b94(gp) | t9 = *(gp);
0x00065d00 addiu a1, s0, 0x298 | a1 = s0 + aav.0x00000298;
0x00065d04 bal 0x72d1c | fcn_00072d1c ();
0x00065d08 addiu a0, zero, -0x100 | a0 = -aav.0x00000100;
0x00065d0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != a0) {
0x00065d10 bne v0, a0, 0x658f8 | goto label_3;
| }
0x00065d14 andi a1, v1, 0x7fff | a1 = v1 & 0x7fff;
0x00065d18 sltiu v0, a1, 0x401 | v0 = (a1 < 0x401) ? 1 : 0;
0x00065d1c sw a1, 0x28(s0) | *((s0 + 10)) = a1;
| if (v0 == 0) {
0x00065d20 bnez v0, 0x65d30 |
0x00065d24 addiu v0, zero, 0x400 | v0 = aav.0x00000400;
0x00065d28 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x00065d2c addiu a1, zero, 0x400 | a1 = aav.0x00000400;
| }
0x00065d30 ext a0, v1, 0x10, 0xf | __asm ("ext a0, v1, 0x10, 0xf");
0x00065d34 sltiu v0, a0, 0x401 | v0 = (a0 < 0x401) ? 1 : 0;
0x00065d38 addiu v0, zero, 0x400 | v0 = aav.0x00000400;
| if (v0 == 0) {
0x00065d3c bnez v0, 0x65d4c |
0x00065d40 sw v0, 0x24(s0) | *((s0 + 9)) = v0;
0x00065d44 addiu a0, zero, 0x400 | a0 = aav.0x00000400;
0x00065d48 b 0x65900 | goto label_4;
| }
0x00065d4c sw a0, 0x24(s0) | *((s0 + 9)) = a0;
0x00065d50 b 0x65900 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x6edac */
| #include <stdint.h>
|
; (fcn) fcn.0006edac () | void fcn_0006edac () {
0x0006edac lui gp, 3 |
0x0006edb0 addiu gp, gp, -0x4c7c |
0x0006edb4 addu gp, gp, t9 | gp += t9;
0x0006edb8 lw v0, -0x78d0(gp) | v0 = *(gp);
0x0006edbc addiu sp, sp, -0x60 |
0x0006edc0 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0006edc4 lw s0, (v0) | s0 = *(v0);
0x0006edc8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0006edcc sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0006edd0 lw v0, (s0) | v0 = *(s0);
0x0006edd4 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0006edd8 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0006eddc lw v0, (v0) | v0 = *(v0);
0x0006ede0 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0006ede4 andi v0, v0, 2 | v0 &= 2;
0x0006ede8 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0006edec sw s4, 0x48(sp) | *(var_48h) = s4;
0x0006edf0 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0006edf4 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0006edf8 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0006edfc lb v0, (a0) | v0 = *(a0);
0x0006ee00 bnel v0, zero, 0x6ee34 |
| while (v0 == 0) {
0x0006ee04 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0006ee08 lw fp, 0x58(sp) | fp = *(var_58h);
0x0006ee0c lw s7, 0x54(sp) | s7 = *(var_54h);
0x0006ee10 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0006ee14 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0006ee18 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0006ee1c lw s3, 0x44(sp) | s3 = *(var_44h);
0x0006ee20 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0006ee24 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0006ee28 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0006ee2c addiu sp, sp, 0x60 |
0x0006ee30 jr ra | return v0;
0x0006ee34 move s6, a0 | s6 = a0;
| if (v0 == 0) {
0x0006ee38 beqz v0, 0x6eec4 | goto label_8;
| }
0x0006ee3c lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0006ee40 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0006ee44 beqz v0, 0x6ee04 |
| }
0x0006ee48 lw v0, 0x14(s0) | v0 = *((s0 + 5));
| /* fcn.0006e5ec */
0x0006ee4c addiu t9, t9, -0x1a14 | t9 += -0x1a14;
0x0006ee50 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0006ee54 bal 0x6e5ec | fcn_0006e5ec ();
0x0006ee58 lw s4, 0x38(s0) | s4 = *((s0 + 14));
0x0006ee5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s4 <= 0) {
0x0006ee60 blez s4, 0x6f2e8 | goto label_9;
| }
0x0006ee64 lw s3, 0x34(s0) | s3 = *((s0 + 13));
0x0006ee68 sll s1, s4, 2 | s1 = s4 << 2;
0x0006ee6c move s5, s3 | s5 = s3;
0x0006ee70 addu s1, s3, s1 | s1 = s3 + s1;
0x0006ee74 move s2, zero | s2 = 0;
| do {
0x0006ee78 lw a0, (s5) | a0 = *(s5);
0x0006ee7c lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006ee80 addiu s5, s5, 4 | s5 += 4;
0x0006ee84 jalr t9 | t9 ();
0x0006ee88 slt a0, s2, v0 | a0 = (s2 < v0) ? 1 : 0;
0x0006ee8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == 0) {
0x0006ee90 movn s2, v0, a0 | s2 = v0;
| }
0x0006ee94 bne s1, s5, 0x6ee78 |
| } while (s1 != s5);
0x0006ee98 lw s1, 4(s0) | s1 = *((s0 + 1));
0x0006ee9c addiu s2, s2, 2 | s2 += 2;
0x0006eea0 divu zero, s1, s2 | __asm ("divu zero, s1, s2");
0x0006eea4 teq s2, zero, 7 | __asm ("teq s2, zero, 7");
0x0006eea8 mflo s1 | __asm ("mflo s1");
0x0006eeac sltiu v0, s1, 2 | v0 = (s1 < 2) ? 1 : 0;
| if (v0 == 0) {
0x0006eeb0 beqz v0, 0x6f2fc | goto label_10;
| }
0x0006eeb4 nop |
0x0006eeb8 move s5, s4 | s5 = s4;
0x0006eebc addiu s1, zero, 1 | s1 = 1;
0x0006eec0 b 0x6f320 | goto label_11;
| label_8:
0x0006eec4 lw t9, -0x7f08(gp) | t9 = *(gp);
0x0006eec8 addiu v0, zero, 1 | v0 = 1;
0x0006eecc addiu a0, zero, 0x1000 | a0 = aav.0x00001000;
0x0006eed0 sb v0, (s6) | *(s6) = v0;
0x0006eed4 jalr t9 | t9 ();
0x0006eed8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006eedc lw a2, 0x14(s0) | a2 = *((s0 + 5));
0x0006eee0 lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0006eee4 lw t9, -0x7ddc(gp) | t9 = *(gp);
0x0006eee8 addiu a2, a2, 1 | a2++;
0x0006eeec move a0, v0 | a0 = v0;
0x0006eef0 move s2, v0 | s2 = v0;
0x0006eef4 jalr t9 | t9 ();
0x0006eef8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006eefc lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006d3a4 */
0x0006ef00 addiu t9, t9, -0x2c5c | t9 += -0x2c5c;
0x0006ef04 move a0, s2 | a0 = s2;
0x0006ef08 bal 0x6d3a4 | fcn_0006d3a4 ();
0x0006ef0c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006ef10 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006d2a4 */
0x0006ef14 addiu t9, t9, -0x2d5c | t9 += -0x2d5c;
0x0006ef18 move s1, v0 | s1 = v0;
0x0006ef1c bal 0x6d2a4 | fcn_0006d2a4 ();
0x0006ef20 lw s7, 0x34(s0) | s7 = *((s0 + 13));
0x0006ef24 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s7 != 0) {
0x0006ef28 bnez s7, 0x6f040 | goto label_12;
| }
0x0006ef2c lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0006ef30 move a1, s1 | a1 = s1;
| /* fcn.0006e8a8 */
0x0006ef34 addiu t9, t9, -0x1758 | t9 += -0x1758;
0x0006ef38 move a0, s2 | a0 = s2;
0x0006ef3c bal 0x6e8a8 | fcn_0006e8a8 ();
0x0006ef40 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006ef44 move a0, s2 | a0 = s2;
0x0006ef48 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006ef4c move s3, v0 | s3 = v0;
0x0006ef50 jalr t9 | t9 ();
0x0006ef54 addu s5, s2, v0 | s5 = s2 + v0;
0x0006ef58 subu s1, s5, s3 | __asm ("subu s1, s5, s3");
0x0006ef5c sltu v0, s1, s5 | v0 = (s1 < s5) ? 1 : 0;
0x0006ef60 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006ef64 lw s7, 0x34(s0) | s7 = *((s0 + 13));
0x0006ef68 lw s4, 0x38(s0) | s4 = *((s0 + 14));
| if (v0 == 0) {
0x0006ef6c beqz v0, 0x6efa4 | goto label_13;
| }
| label_0:
0x0006ef70 lw fp, -0x7f90(gp) | fp = *(gp);
| /* str._________:___ */
0x0006ef74 addiu fp, fp, -0xfcc | fp += -0xfcc;
0x0006ef78 lw t9, -0x7634(gp) | t9 = sym.imp.strchr;
| do {
0x0006ef7c lbu a1, (s1) | a1 = *(s1);
0x0006ef80 move a0, fp | a0 = fp;
0x0006ef84 jalr t9 | t9 ();
0x0006ef88 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0006ef8c beqz v0, 0x6ef94 |
0x0006ef90 addiu s3, s3, 1 | s3++;
| }
0x0006ef94 addiu s1, s1, 1 | s1++;
0x0006ef98 sltu v0, s1, s5 | v0 = (s1 < s5) ? 1 : 0;
0x0006ef9c lw t9, -0x7634(gp) | t9 = sym.imp.strchr;
0x0006efa0 bnez v0, 0x6ef7c |
| } while (v0 != 0);
| label_13:
0x0006efa4 lw t9, -0x78c0(gp) | t9 = *(gp);
| if (s7 == 0) {
0x0006efa8 beqz s7, 0x6f07c | goto label_14;
| }
| label_1:
0x0006efac move a1, s4 | a1 = s4;
0x0006efb0 move a0, s7 | a0 = s7;
0x0006efb4 bal 0x75760 | fcn_00075760 ();
0x0006efb8 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0006efbc lw gp, 0x18(sp) | gp = *(var_18h);
0x0006efc0 lw s1, 0x34(s0) | s1 = *((s0 + 13));
0x0006efc4 move v1, zero | v1 = 0;
0x0006efc8 move s5, zero | s5 = 0;
0x0006efcc addiu fp, zero, 1 | fp = 1;
0x0006efd0 addiu a2, v0, -1 | a2 = v0 + -1;
| do {
| label_6:
0x0006efd4 sll v0, v1, 2 | v0 = v1 << 2;
0x0006efd8 addu v0, s1, v0 | v0 = s1 + v0;
0x0006efdc sltu a0, v1, a2 | a0 = (v1 < a2) ? 1 : 0;
0x0006efe0 lw s7, (v0) | s7 = *(v0);
0x0006efe4 move s4, fp | s4 = fp;
| if (a0 == 0) {
0x0006efe8 beqz a0, 0x6f070 | goto label_15;
| }
0x0006efec lw t9, -0x7448(gp) | t9 = sym.imp.strcmp;
0x0006eff0 lw a1, 4(v0) | a1 = *((v0 + 1));
0x0006eff4 sw a2, 0x24(sp) | *(var_24h) = a2;
0x0006eff8 sw v1, 0x20(sp) | *(var_20h) = v1;
0x0006effc move a0, s7 | a0 = s7;
0x0006f000 jalr t9 | t9 ();
0x0006f004 lw v1, 0x20(sp) | v1 = *(var_20h);
0x0006f008 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f00c addiu v1, v1, 1 | v1++;
0x0006f010 lw a2, 0x24(sp) | a2 = *(var_24h);
| if (v0 != 0) {
0x0006f014 bnez v0, 0x6f2d4 | goto label_16;
| }
0x0006f018 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006f01c sw v1, 0x20(sp) | *(var_20h) = v1;
0x0006f020 move a0, s7 | a0 = s7;
0x0006f024 jalr t9 | t9 ();
0x0006f028 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0006f02c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f030 lw s1, 0x34(s0) | s1 = *((s0 + 13));
0x0006f034 addiu a2, v0, -1 | a2 = v0 + -1;
0x0006f038 lw v1, 0x20(sp) | v1 = *(var_20h);
0x0006f03c b 0x6efd4 |
| } while (1);
| label_12:
0x0006f040 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006f044 move a0, s2 | a0 = s2;
0x0006f048 jalr t9 | t9 ();
0x0006f04c addu s5, s2, v0 | s5 = s2 + v0;
0x0006f050 move s3, zero | s3 = 0;
0x0006f054 subu s1, s5, s3 | __asm ("subu s1, s5, s3");
0x0006f058 sltu v0, s1, s5 | v0 = (s1 < s5) ? 1 : 0;
0x0006f05c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f060 lw s4, 0x38(s0) | s4 = *((s0 + 14));
| if (v0 != 0) {
0x0006f064 bnez v0, 0x6ef70 | goto label_0;
| }
0x0006f068 lw t9, -0x78c0(gp) | t9 = *(gp);
0x0006f06c b 0x6efac | goto label_1;
| label_15:
0x0006f070 addu s1, s1, s5 | s1 += s5;
0x0006f074 sw s7, (s1) | *(s1) = s7;
0x0006f078 sw fp, 0x38(s0) | *((s0 + 14)) = fp;
| label_14:
0x0006f07c addiu v0, zero, 1 | v0 = 1;
0x0006f080 lw t9, -0x7e64(gp) | t9 = *(gp);
| if (s4 == v0) {
0x0006f084 beq s4, v0, 0x6f0e8 | goto label_17;
| }
0x0006f088 addiu a0, zero, 7 | a0 = 7;
0x0006f08c jalr t9 | t9 ();
0x0006f090 lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0006f094 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f098 move s1, zero | s1 = 0;
| if (v0 != 0) {
0x0006f09c bnez v0, 0x6f1ec | goto label_18;
| }
| label_2:
0x0006f0a0 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
| do {
0x0006f0a4 move a0, s1 | a0 = s1;
0x0006f0a8 jalr t9 | t9 ();
0x0006f0ac lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f0b0 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0006f0b4 lw fp, 0x58(sp) | fp = *(var_58h);
0x0006f0b8 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0006f0bc lw s6, 0x50(sp) | s6 = *(var_50h);
0x0006f0c0 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0006f0c4 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0006f0c8 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0006f0cc lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0006f0d0 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0006f0d4 move a0, s2 | a0 = s2;
0x0006f0d8 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006f0dc lw s2, 0x40(sp) | s2 = *(var_40h);
0x0006f0e0 addiu sp, sp, 0x60 |
0x0006f0e4 jr t9 | t9 ();
| label_17:
0x0006f0e8 sb zero, (s6) | *(s6) = 0;
0x0006f0ec lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0006f0f0 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006e7d0 */
0x0006f0f4 addiu t9, t9, -0x1830 | t9 += -0x1830;
0x0006f0f8 lw a0, (v0) | a0 = *(v0);
0x0006f0fc bal 0x6e7d0 | fcn_0006e7d0 ();
0x0006f100 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f104 move a0, v0 | a0 = v0;
0x0006f108 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006f10c move s1, v0 | s1 = v0;
0x0006f110 jalr t9 | t9 ();
0x0006f114 move s4, v0 | s4 = v0;
0x0006f118 addu v0, s1, v0 | v0 = s1 + v0;
0x0006f11c addiu v1, zero, 0x2f | v1 = 0x2f;
0x0006f120 lbu a0, -1(v0) | a0 = *((v0 - 1));
0x0006f124 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != v1) {
0x0006f128 beq a0, v1, 0x6f140 |
0x0006f12c addiu s4, s4, 1 | s4++;
0x0006f130 addu v1, s1, s4 | v1 = s1 + s4;
0x0006f134 addiu a0, zero, 0x20 | a0 = 0x20;
0x0006f138 sb a0, (v0) | *(v0) = a0;
0x0006f13c sb zero, (v1) | *(v1) = 0;
| }
0x0006f140 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0006f144 lw v1, 0x1c(s0) | v1 = *((s0 + 7));
0x0006f148 subu v0, v0, s3 | __asm ("subu v0, v0, s3");
0x0006f14c addu v0, v0, s4 | v0 += s4;
0x0006f150 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x0006f154 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006f158 beqz v0, 0x6f0a4 |
| } while (v0 == 0);
0x0006f15c lw a1, 0x20(s0) | a1 = *((s0 + 8));
| label_3:
0x0006f160 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0006f164 lw t9, -0x759c(gp) | t9 = sym.imp.strcpy;
0x0006f168 addu a1, a1, v0 | a1 += v0;
0x0006f16c move a0, s2 | a0 = s2;
0x0006f170 jalr t9 | t9 ();
0x0006f174 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f178 lw v1, 0x14(s0) | v1 = *((s0 + 5));
0x0006f17c lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x0006f180 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0006f184 addu v0, s1, s3 | v0 = s1 + s3;
0x0006f188 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x0006f18c addu a0, a0, v1 | a0 += v1;
| /* str._s_s */
0x0006f190 addiu a3, a3, -0x5620 | a3 += -0x5620;
0x0006f194 addiu a2, zero, -1 | a2 = -1;
0x0006f198 addiu a1, zero, 1 | a1 = 1;
0x0006f19c sw s2, 0x14(sp) | *(var_14h) = s2;
0x0006f1a0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0006f1a4 jalr t9 | t9 ();
0x0006f1a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f1ac lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006f1b0 lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x0006f1b4 jalr t9 | t9 ();
0x0006f1b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f1bc lw a1, 0x14(s0) | a1 = *((s0 + 5));
0x0006f1c0 lw a0, 0xc(s0) | a0 = *((s0 + 3));
0x0006f1c4 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0006f1c8 subu s3, a1, s3 | __asm ("subu s3, a1, s3");
0x0006f1cc addu s4, s3, s4 | s4 = s3 + s4;
0x0006f1d0 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0006f1d4 move a2, zero | a2 = 0;
| /* fcn.0006e68c */
0x0006f1d8 addiu t9, t9, -0x1974 | t9 += -0x1974;
0x0006f1dc subu a1, v0, s4 | __asm ("subu a1, v0, s4");
0x0006f1e0 bal 0x6e68c | fcn_0006e68c ();
0x0006f1e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f1e8 b 0x6f0a0 | goto label_2;
| label_18:
0x0006f1ec lw t9, -0x7e48(gp) | t9 = *(gp);
0x0006f1f0 lw a0, (v0) | a0 = *(v0);
0x0006f1f4 jalr t9 | t9 ();
0x0006f1f8 lbu v1, (v0) | v1 = *(v0);
0x0006f1fc lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f200 move s4, v0 | s4 = v0;
0x0006f204 move s1, v0 | s1 = v0;
| if (v1 == 0) {
0x0006f208 beqz v1, 0x6f0a0 | goto label_2;
| }
0x0006f20c lw a2, 0x38(s0) | a2 = *((s0 + 14));
0x0006f210 sltiu t0, a2, 2 | t0 = (a2 < 2) ? 1 : 0;
| label_4:
0x0006f214 subu a3, s1, s4 | __asm ("subu a3, s1, s4");
| if (t0 != 0) {
0x0006f218 bnez t0, 0x6f2b4 | goto label_19;
| }
0x0006f21c lw v0, 0x34(s0) | v0 = *((s0 + 13));
0x0006f220 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0006f224 lbux a0, a3(a0) | __asm ("lbux a0, a3(a0)");
0x0006f228 addiu v0, v0, 8 | v0 += 8;
| if (a0 != v1) {
0x0006f22c bne a0, v1, 0x6f250 | goto label_20;
| }
0x0006f230 addiu a0, zero, 1 | a0 = 1;
| do {
0x0006f234 addiu a0, a0, 1 | a0++;
| if (a0 == a2) {
0x0006f238 beql a0, a2, 0x6f2b8 | goto label_21;
| }
0x0006f23c addiu s1, s1, 1 | s1++;
0x0006f240 lw a1, (v0) | a1 = *(v0);
0x0006f244 lbux a1, a3(a1) | __asm ("lbux a1, a3(a1)");
0x0006f248 addiu v0, v0, 4 | v0 += 4;
0x0006f24c beq a1, v1, 0x6f234 |
| } while (a1 == v1);
| label_20:
0x0006f250 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (s4 == s1) {
0x0006f254 beq s4, s1, 0x6f0a0 | goto label_2;
| }
0x0006f258 move a0, s4 | a0 = s4;
| /* fcn.0006e7d0 */
| label_5:
0x0006f25c addiu t9, t9, -0x1830 | t9 += -0x1830;
0x0006f260 sb zero, (s1) | *(s1) = 0;
0x0006f264 bal 0x6e7d0 | fcn_0006e7d0 ();
0x0006f268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f26c move a0, s4 | a0 = s4;
0x0006f270 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006f274 move s1, v0 | s1 = v0;
0x0006f278 jalr t9 | t9 ();
0x0006f27c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f280 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006f284 move a0, s1 | a0 = s1;
0x0006f288 jalr t9 | t9 ();
0x0006f28c move s4, v0 | s4 = v0;
0x0006f290 lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x0006f294 lw v1, 0x1c(s0) | v1 = *((s0 + 7));
0x0006f298 subu v0, v0, s3 | __asm ("subu v0, v0, s3");
0x0006f29c addu v0, v0, s4 | v0 += s4;
0x0006f2a0 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x0006f2a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0006f2a8 beqz v0, 0x6f0a0 | goto label_2;
| }
0x0006f2ac lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0006f2b0 b 0x6f160 | goto label_3;
| label_19:
0x0006f2b4 addiu s1, s1, 1 | s1++;
| label_21:
0x0006f2b8 lbu v1, (s1) | v1 = *(s1);
| if (v1 != 0) {
0x0006f2bc bnez v1, 0x6f214 | goto label_4;
| }
0x0006f2c0 nop |
0x0006f2c4 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (s4 == s1) {
0x0006f2c8 beq s4, s1, 0x6f0a0 | goto label_2;
| }
0x0006f2cc move a0, s4 | a0 = s4;
0x0006f2d0 b 0x6f25c | goto label_5;
| label_16:
0x0006f2d4 addu v0, s1, s5 | v0 = s1 + s5;
0x0006f2d8 sll s5, fp, 2 | s5 = fp << 2;
0x0006f2dc sw s7, (v0) | *(v0) = s7;
0x0006f2e0 addiu fp, fp, 1 | fp++;
0x0006f2e4 b 0x6efd4 | goto label_6;
| label_9:
0x0006f2e8 lw s1, 4(s0) | s1 = *((s0 + 1));
0x0006f2ec sltiu v0, s1, 4 | v0 = (s1 < 4) ? 1 : 0;
0x0006f2f0 srl s1, s1, 1 | s1 >>= 1;
| if (v0 != 0) {
0x0006f2f4 bnez v0, 0x6f3f4 | goto label_22;
| }
0x0006f2f8 addiu s2, zero, 2 | s2 = 2;
| label_10:
0x0006f2fc div zero, s4, s1 | __asm ("div zero, s4, s1");
0x0006f300 teq s1, zero, 7 | __asm ("teq s1, zero, 7");
0x0006f304 mfhi v0 | __asm ("mfhi v0");
0x0006f308 mflo s5 | __asm ("mflo s5");
| if (v0 != 0) {
0x0006f30c beqz v0, 0x6f314 |
0x0006f310 addiu s5, s5, 1 | s5++;
| }
| if (s5 <= 0) {
0x0006f314 blezl s5, 0x6f3f8 | goto label_23;
| }
0x0006f318 lw a1, 0x18(s0) | a1 = *((s0 + 6));
0x0006f31c lw s3, 0x34(s0) | s3 = *((s0 + 13));
| label_11:
0x0006f320 lw s7, -0x7f90(gp) | s7 = *(gp);
0x0006f324 lw s6, -0x7f90(gp) | s6 = *(gp);
0x0006f328 negu v0, s5 | __asm ("negu v0, s5");
0x0006f32c move fp, zero | fp = 0;
0x0006f330 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0006f334 addiu s7, s7, -0x4e44 | s7 += -0x4e44;
| /* str._s__s */
0x0006f338 addiu s6, s6, -0xfb0 | s6 += -0xfb0;
| label_7:
0x0006f33c addiu v0, zero, 1 | v0 = 1;
0x0006f340 move t0, fp | t0 = fp;
| if (s1 == v0) {
0x0006f344 beq s1, v0, 0x6f3d0 | goto label_24;
| }
0x0006f348 addu v0, fp, s5 | v0 = fp + s5;
0x0006f34c slt a0, v0, s4 | a0 = (v0 < s4) ? 1 : 0;
0x0006f350 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (a0 == 0) {
0x0006f354 beqz a0, 0x6f3d0 | goto label_24;
| }
0x0006f358 addiu t2, zero, 1 | t2 = 1;
0x0006f35c sll t3, v1, 2 | t3 = v1 << 2;
| do {
0x0006f360 sll a2, v0, 2 | a2 = v0 << 2;
0x0006f364 addu s3, s3, a2 | s3 += a2;
0x0006f368 addiu t2, t2, 1 | t2++;
0x0006f36c lwx s3, t3(s3) | __asm ("lwx s3, t3(s3)");
0x0006f370 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006f374 sw t3, 0x2c(sp) | *(var_2ch) = t3;
0x0006f378 sw t2, 0x28(sp) | *(var_28h) = t2;
0x0006f37c sw t2, 0x34(sp) | *(var_34h) = t2;
0x0006f380 move a0, s3 | a0 = s3;
0x0006f384 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0006f388 jalr t9 | t9 ();
0x0006f38c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f390 sw s7, 0x10(sp) | *(var_10h) = s7;
0x0006f394 subu a3, s2, v0 | __asm ("subu a3, s2, v0");
0x0006f398 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x0006f39c move a2, s3 | a2 = s3;
0x0006f3a0 move a1, s6 | a1 = s6;
0x0006f3a4 addiu a0, zero, 1 | a0 = 1;
0x0006f3a8 jalr t9 | t9 ();
0x0006f3ac lw t2, 0x28(sp) | t2 = *(var_28h);
0x0006f3b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f3b4 lw t3, 0x2c(sp) | t3 = *(var_2ch);
0x0006f3b8 lw t0, 0x30(sp) | t0 = *(var_30h);
| if (t2 == s1) {
0x0006f3bc beq t2, s1, 0x6f440 | goto label_25;
| }
0x0006f3c0 addu v0, t0, s5 | v0 = t0 + s5;
0x0006f3c4 slt a0, v0, s4 | a0 = (v0 < s4) ? 1 : 0;
0x0006f3c8 lw s3, 0x34(s0) | s3 = *((s0 + 13));
0x0006f3cc bnez a0, 0x6f360 |
| } while (a0 != 0);
| label_24:
0x0006f3d0 sll a0, t0, 2 | a0 = t0 << 2;
0x0006f3d4 lw t9, -0x75d8(gp) | t9 = sym.imp.puts;
0x0006f3d8 lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x0006f3dc addiu fp, fp, 1 | fp++;
0x0006f3e0 jalr t9 | t9 ();
0x0006f3e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s5 == fp) {
0x0006f3e8 beq s5, fp, 0x6f3f4 | goto label_22;
| }
0x0006f3ec lw s3, 0x34(s0) | s3 = *((s0 + 13));
0x0006f3f0 b 0x6f33c | goto label_7;
| do {
| label_22:
0x0006f3f4 lw a1, 0x18(s0) | a1 = *((s0 + 6));
| label_23:
0x0006f3f8 lw v0, 0x20(sp) | v0 = *(var_20h);
0x0006f3fc lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0006f400 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0006f404 lw fp, 0x58(sp) | fp = *(var_58h);
0x0006f408 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0006f40c lw s6, 0x50(sp) | s6 = *(var_50h);
0x0006f410 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0006f414 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0006f418 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0006f41c lw s2, 0x40(sp) | s2 = *(var_40h);
0x0006f420 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0006f424 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0006f428 addiu a2, zero, 1 | a2 = 1;
0x0006f42c subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x0006f430 move a0, zero | a0 = 0;
| /* fcn.0006e68c */
0x0006f434 addiu t9, t9, -0x1974 | t9 += -0x1974;
0x0006f438 addiu sp, sp, 0x60 |
0x0006f43c b 0x6e68c | void (*0x6e68c)() ();
| label_25:
0x0006f440 lw s3, 0x34(s0) | s3 = *((s0 + 13));
0x0006f444 sll a0, t0, 2 | a0 = t0 << 2;
0x0006f448 lw t9, -0x75d8(gp) | t9 = sym.imp.puts;
0x0006f44c lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x0006f450 addiu fp, fp, 1 | fp++;
0x0006f454 jalr t9 | t9 ();
0x0006f458 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f45c beq s5, fp, 0x6f3f4 |
| } while (s5 == fp);
0x0006f460 lw s3, 0x34(s0) | s3 = *((s0 + 13));
0x0006f464 b 0x6f33c | goto label_7;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x72174 */
| #include <stdint.h>
|
; (fcn) fcn.00072174 () | void fcn_00072174 () {
0x00072174 lui gp, 2 |
0x00072178 addiu gp, gp, 0x7fbc |
0x0007217c addu gp, gp, t9 | gp += t9;
0x00072180 addiu sp, sp, -0x530 |
0x00072184 sw s4, 0x518(sp) | *(var_518h) = s4;
0x00072188 lw s4, -0x74a4(gp) | s4 = *((gp - 7465));
0x0007218c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00072190 sw s7, 0x524(sp) | *(var_524h) = s7;
0x00072194 lw v0, (s4) | v0 = *(s4);
0x00072198 sw s0, 0x508(sp) | *(var_508h) = s0;
0x0007219c sw ra, 0x52c(sp) | *(var_52ch) = ra;
0x000721a0 sw fp, 0x528(sp) | *(var_528h) = fp;
0x000721a4 sw s6, 0x520(sp) | *(var_520h) = s6;
0x000721a8 sw s5, 0x51c(sp) | *(var_51ch) = s5;
0x000721ac sw s3, 0x514(sp) | *(var_514h) = s3;
0x000721b0 sw s2, 0x510(sp) | *(var_510h) = s2;
0x000721b4 sw s1, 0x50c(sp) | *(var_50ch) = s1;
0x000721b8 move s0, a1 | s0 = a1;
0x000721bc sw v0, 0x504(sp) | *(var_504h) = v0;
0x000721c0 move s7, a0 | s7 = a0;
| if (a0 == 0) {
0x000721c4 beqz a0, 0x72a40 | goto label_25;
| }
| label_24:
0x000721c8 lw v1, -0x7f90(gp) | v1 = *(gp);
0x000721cc lw s6, -0x7f90(gp) | s6 = *(gp);
0x000721d0 sw v1, 0x28(sp) | *(var_28h) = v1;
0x000721d4 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x000721d8 lw v1, -0x7f90(gp) | v1 = *(gp);
0x000721dc lw s3, -0x7f90(gp) | s3 = *(gp);
0x000721e0 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x000721e4 lw v0, 4(s7) | v0 = *((s7 + 1));
| /* fcn.00071e6c */
0x000721e8 addiu v1, a0, 0x1e6c | v1 = a0 + 0x1e6c;
0x000721ec lw s5, -0x63f4(s6) | s5 = *((s6 - 6397));
0x000721f0 sw v1, 0x24(sp) | *(var_24h) = v1;
| /* str._proc__u_ */
0x000721f4 addiu s3, s3, -0xba0 | s3 += -0xba0;
| do {
| label_1:
0x000721f8 lw t9, -0x77c4(gp) | t9 = sym.imp.readdir64;
| if (v0 == 0) {
0x000721fc beqz v0, 0x7225c | goto label_26;
| }
0x00072200 move a0, v0 | a0 = v0;
0x00072204 jalr t9 | t9 ();
0x00072208 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0007220c beqz v0, 0x72248 | goto label_27;
| }
| label_0:
0x00072210 lw t9, -0x7d7c(gp) | t9 = *(gp);
0x00072214 addiu a2, zero, 0xa | a2 = 0xa;
0x00072218 move a1, zero | a1 = 0;
0x0007221c addiu a0, v0, 0x13 | a0 = v0 + 0x13;
0x00072220 jalr t9 | t9 ();
0x00072224 lw gp, 0x18(sp) | gp = *(var_18h);
0x00072228 move s2, v0 | s2 = v0;
0x0007222c lw v0, -0x7f80(gp) | v0 = *((gp - 8160));
0x00072230 lw v0, (v0) | v0 = *(v0);
0x00072234 lw v0, (v0) | v0 = *(v0);
| if (v0 == 0) {
0x00072238 beql v0, zero, 0x72288 | goto label_28;
| }
0x0007223c ext v0, s0, 0x16, 1 | __asm ("ext v0, s0, 0x16, 1");
| label_2:
0x00072240 lw v0, 4(s7) | v0 = *((s7 + 1));
0x00072244 b 0x721f8 |
| } while (1);
| label_27:
0x00072248 lw t9, -0x784c(gp) | t9 = sym.imp.closedir;
0x0007224c lw a0, 4(s7) | a0 = *((s7 + 1));
0x00072250 jalr t9 | t9 ();
0x00072254 lw gp, 0x18(sp) | gp = *(var_18h);
0x00072258 sw zero, 4(s7) | *((s7 + 1)) = 0;
| label_26:
0x0007225c lw t9, -0x77c4(gp) | t9 = sym.imp.readdir64;
0x00072260 lw a0, (s7) | a0 = *(s7);
0x00072264 jalr t9 | t9 ();
0x00072268 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0007226c bnez v0, 0x72210 | goto label_0;
| }
0x00072270 lw t9, -0x78b0(gp) | t9 = *(gp);
0x00072274 move a0, s7 | a0 = s7;
0x00072278 bal 0x720f0 | fcn_000720f0 ();
0x0007227c move s7, zero | s7 = 0;
0x00072280 lw gp, 0x18(sp) | gp = *(var_18h);
0x00072284 b 0x72870 | goto label_22;
| label_28:
0x00072288 lw t9, -0x76a8(gp) | t9 = sym.imp.memset;
| if (v0 != 0) {
0x0007228c beqz v0, 0x722dc |
0x00072290 lw v0, 4(s7) | v0 = *((s7 + 1));
0x00072294 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x00072298 bnez v0, 0x72a14 | goto label_29;
| }
0x0007229c lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x000722a0 addiu s1, sp, 0xd0 | s1 = sp + 0xd0;
0x000722a4 addiu a3, v0, -0xbc4 | a3 = v0 + -0xbc4;
0x000722a8 addiu a2, zero, 0x31 | a2 = 0x31;
0x000722ac addiu a1, zero, 1 | a1 = 1;
0x000722b0 move a0, s1 | a0 = s1;
0x000722b4 sw s2, 0x10(sp) | *(var_10h) = s2;
0x000722b8 jalr t9 | t9 ();
0x000722bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000722c0 lw t9, -0x785c(gp) | t9 = sym.imp.opendir;
0x000722c4 move a0, s1 | a0 = s1;
0x000722c8 jalr t9 | t9 ();
0x000722cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000722d0 sw v0, 4(s7) | *((s7 + 1)) = v0;
0x000722d4 sw s2, 0x14(s7) | *((s7 + 5)) = s2;
0x000722d8 b 0x721f8 | goto label_1;
| }
0x000722dc addiu a2, zero, 0x48 | a2 = 0x48;
0x000722e0 move a1, zero | a1 = 0;
0x000722e4 addiu a0, s7, 0x18 | a0 = s7 + 0x18;
0x000722e8 jalr t9 | t9 ();
0x000722ec addiu v0, zero, -2 | v0 = -2;
0x000722f0 and v0, s0, v0 | v0 = s0 & v0;
0x000722f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000722f8 sw s2, 0x2c(s7) | *((s7 + 11)) = s2;
| if (v0 == 0) {
0x000722fc beqz v0, 0x72870 | goto label_22;
| }
0x00072300 lw v0, 4(s7) | v0 = *((s7 + 1));
0x00072304 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
| if (v0 == 0) {
0x00072308 beqz v0, 0x7244c | goto label_30;
| }
0x0007230c sw s2, 0x14(sp) | *(var_14h) = s2;
| label_23:
0x00072310 lw v0, 0x14(s7) | v0 = *((s7 + 5));
0x00072314 lw t9, -0x7868(gp) | t9 = sym.imp.__sprintf_chk
0x00072318 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0007231c lw v0, 0x28(sp) | v0 = *(var_28h);
0x00072320 addiu s1, sp, 0xd0 | s1 = sp + 0xd0;
0x00072324 addiu a3, v0, -0xbb4 | a3 = v0 + -0xbb4;
0x00072328 addiu a2, zero, 0x31 | a2 = 0x31;
0x0007232c addiu a1, zero, 1 | a1 = 1;
0x00072330 move a0, s1 | a0 = s1;
0x00072334 jalr t9 | t9 ();
0x00072338 addu fp, s1, v0 | fp = s1 + v0;
0x0007233c andi v0, s0, 0x10 | v0 = s0 & 0x10;
0x00072340 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00072344 beqz v0, 0x72374 | goto label_3;
| }
0x00072348 lw t9, -0x7818(gp) | t9 = sym.imp.__xstat64;
| label_4:
0x0007234c addiu a2, sp, 0x30 | a2 = sp + 0x30;
0x00072350 move a1, s1 | a1 = s1;
0x00072354 addiu a0, zero, 3 | a0 = 3;
0x00072358 jalr t9 | t9 ();
0x0007235c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00072360 bnez v0, 0x72240 | goto label_2;
| }
0x00072364 lw v0, 0x50(sp) | v0 = *(var_50h);
0x00072368 sw v0, 0x3c(s7) | *((s7 + 15)) = v0;
0x0007236c lw v0, 0x54(sp) | v0 = *(var_54h);
0x00072370 sw v0, 0x40(s7) | *((s7 + 16)) = v0;
| label_3:
0x00072374 lui v0, 4 | v0 = 0x47e2e;
0x00072378 addiu v0, v0, 0x7e2e |
0x0007237c and v0, s0, v0 | v0 = s0 & v0;
| /* esilref: 'stat' */
0x00072380 addiu v0, s6, -0x63f4 | v0 = s6 + -0x63f4;
| if (v0 == 0) {
0x00072384 beqz v0, 0x727b0 | goto label_12;
| }
0x00072388 swl s5, 3(fp) | __asm ("swl s5, (var_3h)");
0x0007238c lbu v0, 4(v0) | v0 = *((v0 + 4));
0x00072390 addiu s2, sp, 0x104 | s2 = sp + aav.0x00000104;
0x00072394 lw t9, 0x24(sp) | t9 = *(var_24h);
0x00072398 swr s5, (fp) | __asm ("swr s5, (fp)");
0x0007239c move a1, s2 | a1 = s2;
0x000723a0 move a0, s1 | a0 = s1;
0x000723a4 sb v0, 4(fp) | *(var_4h) = v0;
0x000723a8 jalr t9 | t9 ();
0x000723ac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000723b0 bltz v0, 0x72240 | goto label_2;
| }
0x000723b4 lw t9, -0x7758(gp) | t9 = sym.imp.strrchr;
0x000723b8 addiu a1, zero, 0x29 | a1 = 0x29;
0x000723bc move a0, s2 | a0 = s2;
0x000723c0 jalr t9 | t9 ();
0x000723c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000723c8 addiu a1, zero, 0x28 | a1 = 0x28;
0x000723cc move a0, s2 | a0 = s2;
0x000723d0 lw t9, -0x7634(gp) | t9 = sym.imp.strchr;
0x000723d4 sb zero, (v0) | *(v0) = 0;
0x000723d8 move s3, v0 | s3 = v0;
0x000723dc jalr t9 | t9 ();
0x000723e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000723e4 addiu a2, zero, 0x10 | a2 = 0x10;
0x000723e8 addiu a1, v0, 1 | a1 = v0 + 1;
0x000723ec lw t9, -0x7ddc(gp) | t9 = *(gp);
0x000723f0 addiu a0, s7, 0x50 | a0 = s7 + 0x50;
0x000723f4 jalr t9 | t9 ();
0x000723f8 lbu a2, 5(s3) | a2 = *((s3 + 5));
0x000723fc lbu t0, 2(s3) | t0 = *((s3 + 2));
0x00072400 lbu a0, 4(s3) | a0 = *((s3 + 4));
0x00072404 sltiu t1, a2, 0x21 | t1 = (a2 < 0x21) ? 1 : 0;
0x00072408 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007240c sb t0, 0x4c(s7) | *((s7 + 76)) = t0;
0x00072410 addiu a1, a0, -0x30 | a1 = a0 + -0x30;
0x00072414 addiu v0, s3, 4 | v0 = s3 + 4;
| if (t1 != 0) {
0x00072418 bnez t1, 0x72480 | goto label_31;
| }
0x0007241c addiu v0, s3, 5 | v0 = s3 + 5;
| do {
0x00072420 sll a0, a1, 2 | a0 = a1 << 2;
0x00072424 addu a0, a0, a1 | a0 += a1;
0x00072428 sll a0, a0, 1 | a0 <<= 1;
0x0007242c addu a0, a0, a2 | a0 += a2;
0x00072430 lbu a2, 1(v0) | a2 = *((v0 + 1));
0x00072434 addiu a1, a0, -0x30 | a1 = a0 + -0x30;
0x00072438 sltiu a0, a2, 0x21 | a0 = (a2 < 0x21) ? 1 : 0;
0x0007243c addiu t1, v0, 1 | t1 = v0 + 1;
| if (a0 != 0) {
0x00072440 bnez a0, 0x72480 | goto label_31;
| }
0x00072444 move v0, t1 | v0 = t1;
0x00072448 b 0x72420 |
| } while (1);
| label_30:
0x0007244c addiu s1, sp, 0xd0 | s1 = sp + 0xd0;
0x00072450 sw s2, 0x10(sp) | *(var_10h) = s2;
0x00072454 move a3, s3 | a3 = s3;
0x00072458 addiu a2, zero, 0x31 | a2 = 0x31;
0x0007245c addiu a1, zero, 1 | a1 = 1;
0x00072460 move a0, s1 | a0 = s1;
0x00072464 jalr t9 | t9 ();
0x00072468 addu fp, s1, v0 | fp = s1 + v0;
0x0007246c andi v0, s0, 0x10 | v0 = s0 & 0x10;
0x00072470 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00072474 beqz v0, 0x72374 | goto label_3;
| }
0x00072478 lw t9, -0x7818(gp) | t9 = sym.imp.__xstat64;
0x0007247c b 0x7234c | goto label_4;
| label_31:
0x00072480 lbu t1, 3(v0) | t1 = *((v0 + 3));
0x00072484 lbu a2, 2(v0) | a2 = *((v0 + 2));
0x00072488 sltiu t2, t1, 0x21 | t2 = (t1 < 0x21) ? 1 : 0;
0x0007248c sw a1, 0x30(s7) | *((s7 + 12)) = a1;
0x00072490 addiu a2, a2, -0x30 | a2 += -0x30;
0x00072494 addiu a0, v0, 2 | a0 = v0 + 2;
| if (t2 == 0) {
0x00072498 bnez t2, 0x724c4 |
0x0007249c addiu a0, v0, 3 | a0 = v0 + 3;
| label_21:
0x000724a0 sll v0, a2, 2 | v0 = a2 << 2;
0x000724a4 addu v0, v0, a2 | v0 += a2;
0x000724a8 sll v0, v0, 1 | v0 <<= 1;
0x000724ac addu v0, v0, t1 | v0 += t1;
0x000724b0 lbu t1, 1(a0) | t1 = *((a0 + 1));
0x000724b4 addiu a2, v0, -0x30 | a2 = v0 + -0x30;
0x000724b8 sltiu v0, t1, 0x21 | v0 = (t1 < 0x21) ? 1 : 0;
0x000724bc addiu a1, a0, 1 | a1 = a0 + 1;
| if (v0 == 0) {
0x000724c0 beqz v0, 0x729ec | goto label_32;
| }
| }
0x000724c4 lbu t1, 3(a0) | t1 = *((a0 + 3));
0x000724c8 lbu a1, 2(a0) | a1 = *((a0 + 2));
0x000724cc sltiu t2, t1, 0x21 | t2 = (t1 < 0x21) ? 1 : 0;
0x000724d0 sw a2, 0x34(s7) | *((s7 + 13)) = a2;
0x000724d4 addiu a1, a1, -0x30 | a1 += -0x30;
0x000724d8 addiu v0, a0, 2 | v0 = a0 + 2;
| if (t2 == 0) {
0x000724dc bnez t2, 0x72508 |
0x000724e0 addiu v0, a0, 3 | v0 = a0 + 3;
| label_8:
0x000724e4 sll a0, a1, 2 | a0 = a1 << 2;
0x000724e8 addu a0, a0, a1 | a0 += a1;
0x000724ec sll a0, a0, 1 | a0 <<= 1;
0x000724f0 addu a0, a0, t1 | a0 += t1;
0x000724f4 lbu t1, 1(v0) | t1 = *((v0 + 1));
0x000724f8 addiu a1, a0, -0x30 | a1 = a0 + -0x30;
0x000724fc sltiu a0, t1, 0x21 | a0 = (t1 < 0x21) ? 1 : 0;
0x00072500 addiu a2, v0, 1 | a2 = v0 + 1;
| if (a0 == 0) {
0x00072504 beqz a0, 0x728fc | goto label_33;
| }
| }
0x00072508 lbu a0, 2(v0) | a0 = *((v0 + 2));
0x0007250c lbu a2, 3(v0) | a2 = *((v0 + 3));
0x00072510 addiu a0, a0, -0x30 | a0 += -0x30;
0x00072514 sltiu t1, a2, 0x21 | t1 = (a2 < 0x21) ? 1 : 0;
0x00072518 sw a1, 0x38(s7) | *((s7 + 14)) = a1;
0x0007251c move a1, a0 | a1 = a0;
| if (t1 == 0) {
0x00072520 beqz t1, 0x728c4 | goto label_34;
| }
0x00072524 addiu v0, v0, 2 | v0 += 2;
| label_7:
0x00072528 lui a2, 0xf | a2 = 0xf0000;
0x0007252c sra a1, a0, 0xc | a1 = a0 >> 0xc;
0x00072530 ori a2, a2, 0xff00 | a2 |= 0xff00;
0x00072534 and a1, a1, a2 | a1 &= a2;
0x00072538 andi a2, a0, 0xff | a2 = a0 & 0xff;
0x0007253c or a1, a1, a2 | a1 |= a2;
0x00072540 ext a0, a0, 8, 0xc | __asm ("ext a0, a0, 8, 0xc");
0x00072544 sw a0, 0x44(s7) | *((s7 + 17)) = a0;
0x00072548 sw a1, 0x48(s7) | *((s7 + 18)) = a1;
0x0007254c addiu v0, v0, 2 | v0 += 2;
0x00072550 addiu a0, zero, 6 | a0 = 6;
0x00072554 addiu a1, zero, 0x20 | a1 = 0x20;
0x00072558 move t1, v0 | t1 = v0;
| do {
| label_5:
0x0007255c addiu v0, v0, 1 | v0++;
0x00072560 lbu a2, -1(v0) | a2 = *((v0 - 1));
0x00072564 move t1, v0 | t1 = v0;
0x00072568 bnel a2, a1, 0x7255c |
| } while (a2 == a1);
0x0007256c addiu a0, a0, -1 | a0 += -1;
0x00072570 move t1, v0 | t1 = v0;
| if (a0 == 0) {
0x00072574 bnel a0, zero, 0x7255c | goto label_5;
| }
0x00072578 lbu a1, 1(v0) | a1 = *((v0 + 1));
0x0007257c lbu a0, (v0) | a0 = *(v0);
0x00072580 sltiu t2, a1, 0x21 | t2 = (a1 < 0x21) ? 1 : 0;
0x00072584 addiu a2, a0, -0x30 | a2 = a0 + -0x30;
| if (t2 == 0) {
0x00072588 bnez t2, 0x725b4 |
0x0007258c addiu v0, t1, 2 | v0 = t1 + 2;
| label_9:
0x00072590 sll a0, a2, 2 | a0 = a2 << 2;
0x00072594 addu a0, a0, a2 | a0 += a2;
0x00072598 sll a0, a0, 1 | a0 <<= 1;
0x0007259c addu a0, a0, a1 | a0 += a1;
0x000725a0 lbu a1, 1(v0) | a1 = *((v0 + 1));
0x000725a4 addiu a2, a0, -0x30 | a2 = a0 + -0x30;
0x000725a8 sltiu a0, a1, 0x21 | a0 = (a1 < 0x21) ? 1 : 0;
0x000725ac addiu t1, v0, 1 | t1 = v0 + 1;
| if (a0 == 0) {
0x000725b0 beqz a0, 0x72904 | goto label_35;
| }
| }
0x000725b4 lbu t1, 3(v0) | t1 = *((v0 + 3));
0x000725b8 lbu a1, 2(v0) | a1 = *((v0 + 2));
0x000725bc sltiu t2, t1, 0x21 | t2 = (t1 < 0x21) ? 1 : 0;
0x000725c0 sw a2, 0x24(s7) | *((s7 + 9)) = a2;
0x000725c4 addiu a1, a1, -0x30 | a1 += -0x30;
0x000725c8 addiu a0, v0, 2 | a0 = v0 + 2;
| if (t2 == 0) {
0x000725cc bnez t2, 0x725f8 |
0x000725d0 addiu a0, v0, 3 | a0 = v0 + 3;
| label_6:
0x000725d4 sll v0, a1, 2 | v0 = a1 << 2;
0x000725d8 addu v0, v0, a1 | v0 += a1;
0x000725dc sll v0, v0, 1 | v0 <<= 1;
0x000725e0 addu v0, v0, t1 | v0 += t1;
0x000725e4 lbu t1, 1(a0) | t1 = *((a0 + 1));
0x000725e8 addiu a1, v0, -0x30 | a1 = v0 + -0x30;
0x000725ec sltiu v0, t1, 0x21 | v0 = (t1 < 0x21) ? 1 : 0;
0x000725f0 addiu a2, a0, 1 | a2 = a0 + 1;
| if (v0 == 0) {
0x000725f4 beqz v0, 0x728bc | goto label_36;
| }
| }
0x000725f8 addiu a0, a0, 2 | a0 += 2;
0x000725fc sw a1, 0x20(s7) | *((s7 + 8)) = a1;
0x00072600 addiu v0, zero, 0x20 | v0 = 0x20;
0x00072604 addiu a0, a0, 1 | a0++;
| do {
0x00072608 lbu a1, -1(a0) | a1 = *((a0 - 1));
0x0007260c addiu a0, a0, 1 | a0++;
0x00072610 bne a1, v0, 0x72608 |
| } while (a1 != v0);
0x00072614 addiu v0, zero, 0x20 | v0 = 0x20;
| do {
0x00072618 lbu a1, -1(a0) | a1 = *((a0 - 1));
0x0007261c addiu a0, a0, 1 | a0++;
0x00072620 bnel a1, v0, 0x72618 |
| } while (a1 == v0);
0x00072624 addiu v0, zero, 0x20 | v0 = 0x20;
| label_20:
0x00072628 addiu t3, a0, 1 | t3 = a0 + 1;
0x0007262c lbu a1, -1(t3) | a1 = *((t3 - 1));
0x00072630 addiu t2, zero, 0x2d | t2 = 0x2d;
| if (a1 != v0) {
0x00072634 bne a1, v0, 0x729e4 | goto label_37;
| }
0x00072638 lbu t1, (t3) | t1 = *(t3);
0x0007263c addiu v0, a0, 2 | v0 = a0 + 2;
0x00072640 lbu a2, 2(a0) | a2 = *((a0 + 2));
0x00072644 lbu a1, 3(a0) | a1 = *((a0 + 3));
| if (t1 != t2) {
0x00072648 bne t1, t2, 0x72968 | goto label_38;
| }
0x0007264c sltiu t1, a1, 0x21 | t1 = (a1 < 0x21) ? 1 : 0;
0x00072650 addiu a2, a2, -0x30 | a2 += -0x30;
| if (t1 == 0) {
0x00072654 bnez t1, 0x72680 |
0x00072658 addiu v0, a0, 3 | v0 = a0 + 3;
| label_18:
0x0007265c sll a0, a2, 2 | a0 = a2 << 2;
0x00072660 addu a2, a0, a2 | a2 = a0 + a2;
0x00072664 sll a2, a2, 1 | a2 <<= 1;
0x00072668 addu a2, a2, a1 | a2 += a1;
0x0007266c lbu a1, 1(v0) | a1 = *((v0 + 1));
0x00072670 addiu a2, a2, -0x30 | a2 += -0x30;
0x00072674 sltiu a0, a1, 0x21 | a0 = (a1 < 0x21) ? 1 : 0;
0x00072678 addiu t1, v0, 1 | t1 = v0 + 1;
| if (a0 == 0) {
0x0007267c beqz a0, 0x72960 | goto label_39;
| }
| }
0x00072680 lbu a1, 2(v0) | a1 = *((v0 + 2));
0x00072684 negu t2, a2 | __asm ("negu t2, a2");
0x00072688 addiu v0, v0, 2 | v0 += 2;
| label_19:
0x0007268c addiu a0, zero, 0x20 | a0 = 0x20;
| label_17:
0x00072690 addiu v0, v0, 1 | v0++;
0x00072694 lbu a2, (v0) | a2 = *(v0);
| if (a1 != a0) {
0x00072698 bne a1, a0, 0x72958 | goto label_40;
| }
0x0007269c addiu a1, zero, 0x20 | a1 = 0x20;
| label_16:
0x000726a0 addiu a0, v0, 1 | a0 = v0 + 1;
0x000726a4 lbu t1, 1(v0) | t1 = *((v0 + 1));
| if (a2 != a1) {
0x000726a8 bne a2, a1, 0x7294c | goto label_41;
| }
0x000726ac lbu a1, 1(a0) | a1 = *((a0 + 1));
0x000726b0 sltiu a2, a1, 0x21 | a2 = (a1 < 0x21) ? 1 : 0;
0x000726b4 addiu t1, t1, -0x30 | t1 += -0x30;
| if (a2 == 0) {
0x000726b8 bnez a2, 0x726e4 |
0x000726bc addiu a0, v0, 2 | a0 = v0 + 2;
| label_15:
0x000726c0 sll v0, t1, 2 | v0 = t1 << 2;
0x000726c4 addu t1, v0, t1 | t1 = v0 + t1;
0x000726c8 sll t1, t1, 1 | t1 <<= 1;
0x000726cc addu t1, t1, a1 | t1 += a1;
0x000726d0 lbu a1, 1(a0) | a1 = *((a0 + 1));
0x000726d4 addiu t1, t1, -0x30 | t1 += -0x30;
0x000726d8 sltiu v0, a1, 0x21 | v0 = (a1 < 0x21) ? 1 : 0;
0x000726dc addiu a2, a0, 1 | a2 = a0 + 1;
| if (v0 == 0) {
0x000726e0 beqz v0, 0x72944 | goto label_42;
| }
| }
0x000726e4 lbu a2, 3(a0) | a2 = *((a0 + 3));
0x000726e8 lbu a1, 2(a0) | a1 = *((a0 + 2));
0x000726ec sltiu t3, a2, 0x21 | t3 = (a2 < 0x21) ? 1 : 0;
0x000726f0 sw t1, 0x28(s7) | *((s7 + 10)) = t1;
0x000726f4 addiu a1, a1, -0x30 | a1 += -0x30;
0x000726f8 addiu v0, a0, 2 | v0 = a0 + 2;
| if (t3 == 0) {
0x000726fc bnez t3, 0x72728 |
0x00072700 addiu v0, a0, 3 | v0 = a0 + 3;
| label_14:
0x00072704 sll a0, a1, 2 | a0 = a1 << 2;
0x00072708 addu a1, a0, a1 | a1 = a0 + a1;
0x0007270c sll a1, a1, 1 | a1 <<= 1;
0x00072710 addu a1, a1, a2 | a1 += a2;
0x00072714 lbu a2, 1(v0) | a2 = *((v0 + 1));
0x00072718 addiu a1, a1, -0x30 | a1 += -0x30;
0x0007271c sltiu a0, a2, 0x21 | a0 = (a2 < 0x21) ? 1 : 0;
0x00072720 addiu t1, v0, 1 | t1 = v0 + 1;
| if (a0 == 0) {
0x00072724 beqz a0, 0x7293c | goto label_43;
| }
| }
0x00072728 lbu t1, 3(v0) | t1 = *((v0 + 3));
0x0007272c lbu a0, 2(v0) | a0 = *((v0 + 2));
0x00072730 srl a1, a1, 0xa | a1 >>= 0xa;
0x00072734 sltiu a2, t1, 0x21 | a2 = (t1 < 0x21) ? 1 : 0;
0x00072738 sw a1, 0x18(s7) | *((s7 + 6)) = a1;
0x0007273c addiu a0, a0, -0x30 | a0 += -0x30;
| if (a2 != 0) {
0x00072740 bnez a2, 0x7276c | goto label_44;
| }
0x00072744 addiu v0, v0, 3 | v0 += 3;
| do {
0x00072748 sll a2, a0, 2 | a2 = a0 << 2;
0x0007274c addu a0, a2, a0 | a0 = a2 + a0;
0x00072750 addiu v0, v0, 1 | v0++;
0x00072754 sll a0, a0, 1 | a0 <<= 1;
0x00072758 addu a0, a0, t1 | a0 += t1;
0x0007275c lbu t1, (v0) | t1 = *(v0);
0x00072760 sltiu a2, t1, 0x21 | a2 = (t1 < 0x21) ? 1 : 0;
0x00072764 addiu a0, a0, -0x30 | a0 += -0x30;
0x00072768 beqz a2, 0x72748 |
| } while (a2 == 0);
| label_44:
0x0007276c lbu a2, 9(s7) | a2 = *((s7 + 9));
0x00072770 addiu v0, zero, 0x20 | v0 = 0x20;
0x00072774 sllv a0, a0, a2 | a0 <<= a2;
0x00072778 sb v0, 0x4d(s7) | *((s7 + 77)) = v0;
0x0007277c sb v0, 0x4e(s7) | *((s7 + 78)) = v0;
0x00072780 sw a0, 0x1c(s7) | *((s7 + 7)) = a0;
0x00072784 addiu v0, zero, 1 | v0 = 1;
| if (a1 == 0) {
0x00072788 bnez a1, 0x72798 |
0x0007278c addiu a0, zero, 0x5a | a0 = 0x5a;
0x00072790 addiu v0, zero, 0x57 | v0 = 0x57;
| if (t0 == a0) {
0x00072794 bnel t0, a0, 0x72928 | goto label_45;
| }
| }
| if (t2 != 0) {
0x00072798 beql t2, zero, 0x727b4 |
0x0007279c andi v0, s0, 0x100 | v0 = s0 & aav.0x00000100;
| label_13:
0x000727a0 addu v0, s7, v0 | v0 = s7 + v0;
| if (t2 < 0) {
0x000727a4 bltz t2, 0x7290c | goto label_46;
| }
0x000727a8 addiu a0, zero, 0x4e | a0 = 0x4e;
0x000727ac sb a0, 0x4c(v0) | *((v0 + 76)) = a0;
| label_12:
0x000727b0 andi v0, s0, 0x100 | v0 = s0 & aav.0x00000100;
| }
0x000727b4 lw v0, -0x7f90(gp) | v0 = *(gp);
| if (v0 != 0) {
0x000727b8 beqz v0, 0x727ec |
0x000727bc lw t9, -0x7490(gp) | t9 = *((gp - 7460));
| label_11:
0x000727c0 lw a0, 0x10(s7) | a0 = *((s7 + 4));
0x000727c4 lw v0, -0xb94(v0) | v0 = *((v0 - 741));
0x000727c8 swl v0, 3(fp) | __asm ("swl v0, (arg_3h)");
0x000727cc swr v0, (fp) | __asm ("swr v0, (fp)");
0x000727d0 jalr t9 | t9 ();
0x000727d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000727d8 lw t9, -0x7d80(gp) | t9 = *(gp);
0x000727dc move a0, s1 | a0 = s1;
0x000727e0 bal 0x752e4 | fcn_000752e4 ();
0x000727e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000727e8 sw v0, 0x10(s7) | *((s7 + 4)) = v0;
| }
| label_10:
0x000727ec lui s3, 1 | s3 = 0x10000;
0x000727f0 addiu v0, s3, 0x80 | v0 = s3 + 0x80;
0x000727f4 and v0, s0, v0 | v0 = s0 & v0;
0x000727f8 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
| if (v0 != 0) {
0x000727fc beqz v0, 0x72870 |
0x00072800 lw a0, 0xc(s7) | a0 = *((s7 + 3));
0x00072804 addiu s2, sp, 0x104 | s2 = sp + aav.0x00000104;
0x00072808 jalr t9 | t9 ();
0x0007280c lw gp, 0x18(sp) | gp = *(var_18h);
0x00072810 sw zero, 0xc(s7) | *((s7 + 3)) = 0;
0x00072814 lw v0, -0x7f90(gp) | v0 = *(gp);
0x00072818 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* str.cmdline */
0x0007281c addiu a1, v0, -0xb90 | a1 = v0 + -0xb90;
0x00072820 lw a0, -0xb90(v0) | a0 = *((v0 - 740));
0x00072824 lw v0, 4(a1) | v0 = *((a1 + 1));
0x00072828 swl a0, 3(fp) | __asm ("swl a0, (arg_3h)");
0x0007282c swr a0, (fp) | __asm ("swr a0, (fp)");
0x00072830 swl v0, 7(fp) | __asm ("swl v0, (arg_7h)");
0x00072834 move a1, s2 | a1 = s2;
0x00072838 move a0, s1 | a0 = s1;
| /* fcn.00071e6c */
0x0007283c addiu t9, t9, 0x1e6c | t9 += 0x1e6c;
0x00072840 swr v0, 4(fp) | __asm ("swr v0, (arg_4h)");
0x00072844 bal 0x71e6c | fcn_00071e6c ();
0x00072848 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x0007284c blez v0, 0x72870 | goto label_22;
| }
0x00072850 and s0, s0, s3 | s0 &= s3;
0x00072854 lw t9, -0x7e48(gp) | t9 = *(gp);
| if (s0 != 0) {
0x00072858 bnez s0, 0x729f4 | goto label_47;
| }
0x0007285c sh zero, 0xa(s7) | *((s7 + 5)) = 0;
0x00072860 move a0, s2 | a0 = s2;
0x00072864 jalr t9 | t9 ();
0x00072868 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007286c sw v0, 0xc(s7) | *((s7 + 3)) = v0;
| }
| label_22:
0x00072870 lw a1, 0x504(sp) | a1 = *(var_504h);
0x00072874 lw a0, (s4) | a0 = *(s4);
0x00072878 move v0, s7 | v0 = s7;
| if (a1 == a0) {
0x0007287c bne a1, a0, 0x728b0 |
0x00072880 lw ra, 0x52c(sp) | ra = *(var_52ch);
0x00072884 lw fp, 0x528(sp) | fp = *(var_528h);
0x00072888 lw s7, 0x524(sp) | s7 = *(var_524h);
0x0007288c lw s6, 0x520(sp) | s6 = *(var_520h);
0x00072890 lw s5, 0x51c(sp) | s5 = *(var_51ch);
0x00072894 lw s4, 0x518(sp) | s4 = *(var_518h);
0x00072898 lw s3, 0x514(sp) | s3 = *(var_514h);
0x0007289c lw s2, 0x510(sp) | s2 = *(var_510h);
0x000728a0 lw s1, 0x50c(sp) | s1 = *(var_50ch);
0x000728a4 lw s0, 0x508(sp) | s0 = *(var_508h);
0x000728a8 addiu sp, sp, 0x530 |
0x000728ac jr ra | return v0;
| }
0x000728b0 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x000728b4 jalr t9 | t9 ();
0x000728b8 nop |
| label_36:
0x000728bc move a0, a2 | a0 = a2;
0x000728c0 b 0x725d4 | goto label_6;
| label_34:
0x000728c4 addiu v0, v0, 3 | v0 += 3;
| do {
0x000728c8 sll a0, a1, 2 | a0 = a1 << 2;
0x000728cc addu a0, a0, a1 | a0 += a1;
0x000728d0 sll a0, a0, 1 | a0 <<= 1;
0x000728d4 addu a0, a0, a2 | a0 += a2;
0x000728d8 lbu a2, 1(v0) | a2 = *((v0 + 1));
0x000728dc addiu a1, a0, -0x30 | a1 = a0 + -0x30;
0x000728e0 sltiu a0, a2, 0x21 | a0 = (a2 < 0x21) ? 1 : 0;
0x000728e4 addiu t1, v0, 1 | t1 = v0 + 1;
| if (a0 != 0) {
0x000728e8 bnez a0, 0x728f4 | goto label_48;
| }
0x000728ec move v0, t1 | v0 = t1;
0x000728f0 b 0x728c8 |
| } while (1);
| label_48:
0x000728f4 move a0, a1 | a0 = a1;
0x000728f8 b 0x72528 | goto label_7;
| label_33:
0x000728fc move v0, a2 | v0 = a2;
0x00072900 b 0x724e4 | goto label_8;
| label_35:
0x00072904 move v0, t1 | v0 = t1;
0x00072908 b 0x72590 | goto label_9;
| label_46:
0x0007290c addiu a0, zero, 0x3c | a0 = 0x3c;
0x00072910 sb a0, 0x4c(v0) | *((v0 + 76)) = a0;
0x00072914 andi v0, s0, 0x100 | v0 = s0 & aav.0x00000100;
0x00072918 lw v0, -0x7f90(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0007291c beqz v0, 0x727ec | goto label_10;
| }
0x00072920 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x00072924 b 0x727c0 | goto label_11;
| label_45:
0x00072928 sb v0, 0x4d(s7) | *((s7 + 77)) = v0;
0x0007292c addiu v0, zero, 2 | v0 = 2;
| if (t2 == 0) {
0x00072930 beqz t2, 0x727b0 | goto label_12;
| }
0x00072934 b 0x727a0 | goto label_13;
0x00072938 nop |
| label_43:
0x0007293c move v0, t1 | v0 = t1;
0x00072940 b 0x72704 | goto label_14;
| label_42:
0x00072944 move a0, a2 | a0 = a2;
0x00072948 b 0x726c0 | goto label_15;
| label_41:
0x0007294c move a2, t1 | a2 = t1;
0x00072950 move v0, a0 | v0 = a0;
0x00072954 b 0x726a0 | goto label_16;
| label_40:
0x00072958 move a1, a2 | a1 = a2;
0x0007295c b 0x72690 | goto label_17;
| label_39:
0x00072960 move v0, t1 | v0 = t1;
0x00072964 b 0x7265c | goto label_18;
| label_38:
0x00072968 addiu a0, t1, -0x30 | a0 = t1 + -0x30;
0x0007296c sltiu t1, a2, 0x21 | t1 = (a2 < 0x21) ? 1 : 0;
0x00072970 move t2, a0 | t2 = a0;
| if (t1 != 0) {
0x00072974 bnez t1, 0x729dc | goto label_49;
| }
0x00072978 sll t1, a0, 2 | t1 = a0 << 2;
0x0007297c addu a0, t1, a0 | a0 = t1 + a0;
0x00072980 sll a0, a0, 1 | a0 <<= 1;
0x00072984 addiu t2, v0, 1 | t2 = v0 + 1;
0x00072988 addu a2, a0, a2 | a2 = a0 + a2;
0x0007298c sltiu t3, a1, 0x21 | t3 = (a1 < 0x21) ? 1 : 0;
0x00072990 addiu a0, a2, -0x30 | a0 = a2 + -0x30;
0x00072994 lbu t1, 1(t2) | t1 = *((t2 + 1));
0x00072998 move a2, a1 | a2 = a1;
| if (t3 != 0) {
0x0007299c bnez t3, 0x729d0 | goto label_50;
| }
| do {
0x000729a0 move a1, t1 | a1 = t1;
0x000729a4 sll t1, a0, 2 | t1 = a0 << 2;
0x000729a8 move v0, t2 | v0 = t2;
0x000729ac addu a0, t1, a0 | a0 = t1 + a0;
0x000729b0 sll a0, a0, 1 | a0 <<= 1;
0x000729b4 addiu t2, v0, 1 | t2 = v0 + 1;
0x000729b8 addu a2, a0, a2 | a2 = a0 + a2;
0x000729bc sltiu t3, a1, 0x21 | t3 = (a1 < 0x21) ? 1 : 0;
0x000729c0 addiu a0, a2, -0x30 | a0 = a2 + -0x30;
0x000729c4 lbu t1, 1(t2) | t1 = *((t2 + 1));
0x000729c8 move a2, a1 | a2 = a1;
0x000729cc beqz t3, 0x729a0 |
| } while (t3 == 0);
| label_50:
0x000729d0 move t2, a0 | t2 = a0;
0x000729d4 move a1, t1 | a1 = t1;
0x000729d8 move t3, v0 | t3 = v0;
| label_49:
0x000729dc addiu v0, t3, 2 | v0 = t3 + 2;
0x000729e0 b 0x7268c | goto label_19;
| label_37:
0x000729e4 move a0, t3 | a0 = t3;
0x000729e8 b 0x72628 | goto label_20;
| label_32:
0x000729ec move a0, a1 | a0 = a1;
0x000729f0 b 0x724a0 | goto label_21;
| label_47:
0x000729f4 lw t9, -0x7b28(gp) | t9 = *(gp);
0x000729f8 sh v0, 0xa(s7) | *((s7 + 5)) = v0;
0x000729fc addiu a1, v0, 1 | a1 = v0 + 1;
0x00072a00 move a0, s2 | a0 = s2;
0x00072a04 jalr t9 | t9 ();
0x00072a08 lw gp, 0x18(sp) | gp = *(var_18h);
0x00072a0c sw v0, 0xc(s7) | *((s7 + 3)) = v0;
0x00072a10 b 0x72870 | goto label_22;
| label_29:
0x00072a14 addiu a2, zero, 0x48 | a2 = 0x48;
0x00072a18 move a1, zero | a1 = 0;
0x00072a1c addiu a0, s7, 0x18 | a0 = s7 + 0x18;
0x00072a20 jalr t9 | t9 ();
0x00072a24 addiu v0, zero, -2 | v0 = -2;
0x00072a28 and v0, s0, v0 | v0 = s0 & v0;
0x00072a2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00072a30 sw s2, 0x2c(s7) | *((s7 + 11)) = s2;
| if (v0 == 0) {
0x00072a34 beqz v0, 0x72870 | goto label_22;
| }
0x00072a38 sw s2, 0x14(sp) | *(var_14h) = s2;
0x00072a3c b 0x72310 | goto label_23;
| label_25:
0x00072a40 lw t9, -0x7674(gp) | t9 = sym.imp.getpagesize;
0x00072a44 jalr t9 | t9 ();
0x00072a48 nop |
0x00072a4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00072a50 addiu a0, zero, 0x60 | a0 = 0x60;
0x00072a54 lw t9, -0x7eb8(gp) | t9 = *(gp);
0x00072a58 move s1, v0 | s1 = v0;
0x00072a5c jalr t9 | t9 ();
0x00072a60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00072a64 move s7, v0 | s7 = v0;
0x00072a68 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00072a6c lw t9, -0x7dac(gp) | t9 = *(gp);
| /* str._proc */
0x00072a70 addiu a0, a0, -0x7794 | a0 += -0x7794;
0x00072a74 jalr t9 | t9 ();
0x00072a78 srl a1, s1, 1 | a1 = s1 >> 1;
0x00072a7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00072a80 sw v0, (s7) | *(s7) = v0;
0x00072a84 lbu a0, 8(s7) | a0 = *((s7 + 8));
| if (a1 != 0) {
0x00072a88 bnez a1, 0x72a98 | goto label_51;
| }
0x00072a8c addiu a0, a0, -0xa | a0 += -0xa;
0x00072a90 sb a0, 9(s7) | *((s7 + 9)) = a0;
0x00072a94 b 0x721c8 | goto label_24;
| do {
| label_51:
0x00072a98 addiu a0, a0, 1 | a0++;
0x00072a9c srl a1, a1, 1 | a1 >>= 1;
0x00072aa0 andi a0, a0, 0xff | a0 &= 0xff;
0x00072aa4 bnez a1, 0x72a98 |
| } while (a1 != 0);
0x00072aa8 sb a0, 8(s7) | *((s7 + 8)) = a0;
0x00072aac addiu a0, a0, -0xa | a0 += -0xa;
0x00072ab0 sb a0, 9(s7) | *((s7 + 9)) = a0;
0x00072ab4 b 0x721c8 | goto label_24;
| }
[*] Function sprintf used 25 times busybox.nosuid