[*] Binary protection state of zip
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of zip
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/zip @ 0x1ee74 */
| #include <stdint.h>
|
; (fcn) sym.ask_for_split_read_path () | void ask_for_split_read_path () {
0x0001ee74 lui gp, 3 |
0x0001ee78 addiu gp, gp, 0x2e1c |
0x0001ee7c addu gp, gp, t9 | gp += t9;
0x0001ee80 addiu sp, sp, -0x1490 |
0x0001ee84 lw v0, -0x7a44(gp) | v0 = *((gp - 7825));
0x0001ee88 sw s3, 0x1474(sp) | *(var_1474h) = s3;
0x0001ee8c lw s3, -0x7eec(gp) | s3 = *(gp);
0x0001ee90 lw t9, -0x7d3c(gp) | t9 = sym.get_in_split_path;
0x0001ee94 sw a0, 0x1490(sp) | *(var_1490h) = a0;
0x0001ee98 sw v0, 0x2c(sp) | *(var_2ch_3) = v0;
0x0001ee9c lw v0, (v0) | v0 = *(v0);
0x0001eea0 lw a1, 0x1490(sp) | a1 = *(var_1490h);
0x0001eea4 lw a0, (s3) | a0 = *(s3);
0x0001eea8 sw ra, 0x148c(sp) | *(var_148ch) = ra;
0x0001eeac sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x0001eeb0 sw s2, 0x1470(sp) | *(var_1470h) = s2;
0x0001eeb4 sw s1, 0x146c(sp) | *(var_146ch) = s1;
0x0001eeb8 sw s0, 0x1468(sp) | *(var_1468h) = s0;
0x0001eebc sw t9, 0x30(sp) | *(var_30h_2) = t9;
0x0001eec0 sw fp, 0x1488(sp) | *(var_1488h) = fp;
0x0001eec4 sw s7, 0x1484(sp) | *(var_1484h) = s7;
0x0001eec8 sw s6, 0x1480(sp) | *(var_1480h) = s6;
0x0001eecc sw s5, 0x147c(sp) | *(var_147ch) = s5;
0x0001eed0 sw s4, 0x1478(sp) | *(var_1478h) = s4;
0x0001eed4 sw v0, 0x1464(sp) | *(var_1464h) = v0;
0x0001eed8 bal 0x1ecb0 | sym_get_in_split_path ();
0x0001eedc nop |
0x0001eee0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001eee4 lw s1, (s3) | s1 = *(s3);
0x0001eee8 move s2, v0 | s2 = v0;
0x0001eeec lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001eef0 move a0, s1 | a0 = s1;
0x0001eef4 jalr t9 | t9 ();
0x0001eef8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001eefc lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001ef00 addiu a0, v0, 0x28 | a0 = v0 + 0x28;
0x0001ef04 jalr t9 | t9 ();
0x0001ef08 move s0, v0 | s0 = v0;
0x0001ef0c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0001ef10 beqz v0, 0x1f868 | goto label_27;
| }
| label_17:
0x0001ef14 lw t9, -0x7a60(gp) | t9 = sym.imp.stpcpy;
0x0001ef18 move a1, s1 | a1 = s1;
0x0001ef1c move a0, s0 | a0 = s0;
0x0001ef20 jalr t9 | t9 ();
0x0001ef24 subu v0, v0, s0 | __asm ("subu v0, v0, s0");
0x0001ef28 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001ef2c addiu v1, v0, -1 | v1 = v0 + -1;
| if (v0 == 0) {
0x0001ef30 beqz v0, 0x1ef94 | goto label_28;
| }
0x0001ef34 addu a0, s0, v1 | a0 = s0 + v1;
0x0001ef38 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0001ef3c lb a0, (a0) | a0 = *(a0);
0x0001ef40 addiu a1, zero, 0x5c | a1 = 0x5c;
| if (a0 == a1) {
0x0001ef44 beq a0, a1, 0x1f990 | goto label_29;
| }
0x0001ef48 addiu a1, zero, 0x3a | a1 = 0x3a;
| if (a0 == a1) {
0x0001ef4c beq a0, a1, 0x1f990 | goto label_29;
| }
0x0001ef50 addiu a0, zero, -1 | a0 = -1;
| if (a0 == a1) {
0x0001ef54 beq a0, a1, 0x1f990 | goto label_29;
| }
0x0001ef58 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0001ef5c addiu a2, zero, 0x5c | a2 = 0x5c;
0x0001ef60 addiu a3, zero, 0x3a | a3 = 0x3a;
0x0001ef64 b 0x1ef88 |
| while (fp != a0) {
0x0001ef68 lb v0, (v0) | v0 = *(v0);
| if (v0 == a1) {
0x0001ef6c beql v0, a1, 0x1efa0 | goto label_24;
| }
0x0001ef70 move v0, v1 | v0 = v1;
| if (v0 == a2) {
0x0001ef74 beql v0, a2, 0x1efa0 | goto label_24;
| }
0x0001ef78 move v0, v1 | v0 = v1;
0x0001ef7c move v0, v1 | v0 = v1;
| if (v0 == a3) {
0x0001ef80 beq v0, a3, 0x1efa0 | goto label_24;
| }
0x0001ef84 move v1, fp | v1 = fp;
0x0001ef88 addiu fp, v1, -1 | fp = v1 + -1;
0x0001ef8c addu v0, s0, fp | v0 = s0 + fp;
0x0001ef90 bne fp, a0, 0x1ef68 |
| }
| label_28:
0x0001ef94 sb zero, (s0) | *(s0) = 0;
0x0001ef98 addiu fp, zero, -1 | fp = -1;
0x0001ef9c b 0x1efa8 | goto label_30;
| label_24:
0x0001efa0 addu v0, s0, v0 | v0 = s0 + v0;
0x0001efa4 sb zero, (v0) | *(v0) = 0;
| label_30:
0x0001efa8 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001efac move a0, s1 | a0 = s1;
0x0001efb0 jalr t9 | t9 ();
0x0001efb4 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001efb8 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001efbc addiu a0, v0, 1 | a0 = v0 + 1;
0x0001efc0 jalr t9 | t9 ();
0x0001efc4 move s4, v0 | s4 = v0;
0x0001efc8 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0001efcc beqz v0, 0x1f848 | goto label_31;
| }
| label_16:
0x0001efd0 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001efd4 move a0, s1 | a0 = s1;
0x0001efd8 jalr t9 | t9 ();
0x0001efdc lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001efe0 move a0, s0 | a0 = s0;
0x0001efe4 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001efe8 move s5, v0 | s5 = v0;
0x0001efec jalr t9 | t9 ();
0x0001eff0 move s6, v0 | s6 = v0;
0x0001eff4 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (s5 != v0) {
0x0001eff8 bne s5, v0, 0x1f6e8 | goto label_32;
| }
0x0001effc sb zero, (s4) | *(s4) = 0;
| label_10:
0x0001f000 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f004 move a0, s2 | a0 = s2;
0x0001f008 jalr t9 | t9 ();
0x0001f00c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f010 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001f014 addiu a0, v0, 1 | a0 = v0 + 1;
0x0001f018 jalr t9 | t9 ();
0x0001f01c move s5, v0 | s5 = v0;
0x0001f020 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0001f024 beqz v0, 0x1f888 | goto label_33;
| }
| label_18:
0x0001f028 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f02c move a0, s1 | a0 = s1;
0x0001f030 jalr t9 | t9 ();
0x0001f034 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (s6 != v0) {
0x0001f038 bne s6, v0, 0x1f698 | goto label_34;
| }
0x0001f03c addiu v0, zero, -1 | v0 = -1;
0x0001f040 sb zero, (s5) | *(s5) = 0;
| if (fp == v0) {
0x0001f044 beq fp, v0, 0x1f6b4 | goto label_35;
| }
| label_9:
0x0001f048 lw s1, -0x7fbc(gp) | s1 = *(gp);
0x0001f04c lw s6, -0x7f90(gp) | s6 = *(gp);
0x0001f050 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001f054 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f058 lw a3, (s1) | a3 = *(s1);
0x0001f05c addiu a2, zero, 0x12 | a2 = 0x12;
0x0001f060 addiu a1, zero, 1 | a1 = 1;
| /* str._n_nCould_not_find:_n */
0x0001f064 addiu a0, a0, 0x77f0 | a0 += 0x77f0;
0x0001f068 sw s6, 0x4c(sp) | *(var_4ch) = s6;
0x0001f06c jalr t9 | t9 ();
0x0001f070 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f074 lw a0, (s1) | a0 = *(s1);
| /* esilref: ' &s
' */
0x0001f078 addiu a2, s6, 0x77b4 | a2 = s6 + 0x77b4;
0x0001f07c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0001f080 move a3, s2 | a3 = s2;
0x0001f084 addiu a1, zero, 1 | a1 = 1;
0x0001f088 jalr t9 | t9 ();
0x0001f08c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f090 lw s7, -0x7f90(gp) | s7 = *(gp);
0x0001f094 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0001f098 lw t9, -0x7a0c(gp) | t9 = sym.imp.__ctype_toupper_loc;
0x0001f09c sw s7, 0x3c(sp) | *(var_3ch_2) = s7;
0x0001f0a0 sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x0001f0a4 jalr t9 | t9 ();
0x0001f0a8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f0ac move fp, v0 | fp = v0;
0x0001f0b0 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0001f0b4 lw v1, -0x7f90(gp) | v1 = *(gp);
0x0001f0b8 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0001f0bc sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x0001f0c0 lw v1, -0x7f90(gp) | v1 = *(gp);
| /* str._n_or_ENTER___try_reading_this_split_again_:_ */
0x0001f0c4 addiu v0, v0, 0x78ac | v0 += 0x78ac;
0x0001f0c8 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0001f0cc lw v1, -0x7f90(gp) | v1 = *(gp);
0x0001f0d0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0001f0d4 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0001f0d8 sw v1, 0x48(sp) | *(var_48h) = v1;
0x0001f0dc lw v1, 0x76f4(s7) | v1 = *((s7 + 7613));
| /* str._n____e_______end_this_archive___no_more_splits_ */
0x0001f0e0 addiu v0, v0, 0x78dc | v0 += 0x78dc;
0x0001f0e4 lw s6, -0x7af0(gp) | s6 = *((gp - 7868));
0x0001f0e8 sw v1, 0x40(sp) | *(var_40h_2) = v1;
0x0001f0ec addiu s7, sp, 0x54 | s7 = sp + 0x54;
0x0001f0f0 sw v0, 0x44(sp) | *(var_44h_2) = v0;
| label_4:
0x0001f0f4 lw v0, 0x1c(sp) | v0 = *(var_1ch_2);
0x0001f0f8 lw a3, (s1) | a3 = *(s1);
| if (v0 != 0) {
0x0001f0fc bnez v0, 0x1f338 | goto label_36;
| }
0x0001f100 lw v0, -0x7e7c(gp) | v0 = *(gp);
0x0001f104 addiu v1, zero, 1 | v1 = 1;
0x0001f108 lw v0, (v0) | v0 = *(v0);
0x0001f10c addiu v1, zero, 2 | v1 = 2;
| if (v0 == v1) {
0x0001f110 beq v0, v1, 0x1f798 | goto label_37;
| }
0x0001f114 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f118 addiu a2, zero, 0x35 | a2 = 0x35;
0x0001f11c addiu a1, zero, 1 | a1 = 1;
| if (v0 == v1) {
0x0001f120 beq v0, v1, 0x1f700 | goto label_38;
| }
0x0001f124 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001f128 addiu a0, v0, 0x7804 | a0 = v0 + 0x7804;
| label_14:
0x0001f12c jalr t9 | t9 ();
0x0001f130 nop |
0x0001f134 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f138 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x0001f13c lw a3, (s1) | a3 = *(s1);
0x0001f140 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f144 addiu a2, zero, 0x22 | a2 = 0x22;
0x0001f148 addiu a1, zero, 1 | a1 = 1;
0x0001f14c addiu a0, v0, 0x783c | a0 = v0 + 0x783c;
| label_11:
0x0001f150 jalr t9 | t9 ();
0x0001f154 nop |
0x0001f158 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f15c lw a3, (s1) | a3 = *(s1);
0x0001f160 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0001f164 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f168 addiu a2, zero, 0x2c | a2 = 0x2c;
0x0001f16c addiu a1, zero, 1 | a1 = 1;
0x0001f170 jalr t9 | t9 ();
0x0001f174 lw gp, 0x10(sp) | gp = *(var_10h_3);
| label_0:
0x0001f178 lw t9, -0x7a30(gp) | t9 = sym.imp.fflush;
0x0001f17c lw a0, (s1) | a0 = *(s1);
0x0001f180 jalr t9 | t9 ();
0x0001f184 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f188 lw a2, (s6) | a2 = *(s6);
0x0001f18c addiu a1, zero, 0x13aa | a1 = 0x13aa;
0x0001f190 lw t9, -0x7a4c(gp) | t9 = sym.imp.fgets;
0x0001f194 move a0, s7 | a0 = s7;
0x0001f198 jalr t9 | t9 ();
0x0001f19c lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f1a0 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (a3 == 0) {
0x0001f1a4 beqz a3, 0x1f1d8 | goto label_39;
| }
0x0001f1a8 addiu v0, zero, 0xa | v0 = 0xa;
0x0001f1ac addiu a0, zero, 1 | a0 = 1;
| if (a3 == v0) {
0x0001f1b0 beq a3, v0, 0x1f3a0 | goto label_40;
| }
0x0001f1b4 move v0, s7 | v0 = s7;
0x0001f1b8 subu a0, a0, s7 | __asm ("subu a0, a0, s7");
0x0001f1bc addiu a2, zero, 0xa | a2 = 0xa;
0x0001f1c0 b 0x1f1cc |
| while (v1 != 0) {
0x0001f1c4 addiu v0, v0, 1 | v0++;
| if (v1 == a2) {
0x0001f1c8 beq v1, a2, 0x1f3a4 | goto label_41;
| }
0x0001f1cc lb v1, 1(v0) | v1 = *((v0 + 1));
0x0001f1d0 addu a1, a0, v0 | a1 = a0 + v0;
0x0001f1d4 bnez v1, 0x1f1c4 |
| }
| do {
| label_39:
0x0001f1d8 lw v0, (fp) | v0 = *(fp);
0x0001f1dc sll v1, a3, 2 | v1 = a3 << 2;
0x0001f1e0 addiu a0, zero, 0x51 | a0 = 0x51;
0x0001f1e4 lwx v1, v1(v0) | __asm ("lwx v1, v1(v0)");
0x0001f1e8 addiu v0, zero, 9 | v0 = 9;
| if (v1 != a0) {
0x0001f1ec beq v1, a0, 0x1f2a4 |
0x0001f1f0 lw v0, -0x7e7c(gp) | v0 = *(gp);
0x0001f1f4 lw v0, (v0) | v0 = *(v0);
0x0001f1f8 addiu a0, v0, -1 | a0 = v0 + -1;
0x0001f1fc sltiu a0, a0, 2 | a0 = (a0 < 2) ? 1 : 0;
0x0001f200 addiu a0, zero, 0x53 | a0 = 0x53;
| if (a0 != 0) {
0x0001f204 bnez a0, 0x1f5b4 | goto label_42;
| }
0x0001f208 addiu a0, zero, 0x43 | a0 = 0x43;
| label_5:
0x0001f20c lw a0, -0x7f90(gp) | a0 = *(gp);
| if (v1 == a0) {
0x0001f210 beq v1, a0, 0x1f8a8 | goto label_43;
| }
0x0001f214 addiu a0, zero, 2 | a0 = 2;
0x0001f218 addiu a0, zero, 0x45 | a0 = 0x45;
| if (v0 == a0) {
0x0001f21c beq v0, a0, 0x1f62c | goto label_44;
| }
| label_8:
0x0001f220 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (a3 != 0) {
0x0001f224 bnez a3, 0x1f3d8 | goto label_22;
| }
0x0001f228 lw t9, -0x7b50(gp) | t9 = sym.imp.fopen64;
0x0001f22c addiu a1, a1, -0x1d48 | a1 += -0x1d48;
0x0001f230 move a0, s2 | a0 = s2;
0x0001f234 jalr t9 | t9 ();
0x0001f238 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0001f23c beqz v0, 0x1f570 | goto label_45;
| }
0x0001f240 lw t9, -0x7b48(gp) | t9 = sym.imp.fclose;
0x0001f244 move a0, v0 | a0 = v0;
0x0001f248 jalr t9 | t9 ();
0x0001f24c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f250 lw a0, (s1) | a0 = *(s1);
0x0001f254 move a3, s2 | a3 = s2;
0x0001f258 lw a2, -0x7f90(gp) | a2 = *(gp);
0x0001f25c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._nFound:___s_n */
0x0001f260 addiu a2, a2, 0x79b0 | a2 += 0x79b0;
0x0001f264 addiu a1, zero, 1 | a1 = 1;
0x0001f268 jalr t9 | t9 ();
0x0001f26c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f270 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f274 move a0, s4 | a0 = s4;
0x0001f278 jalr t9 | t9 ();
0x0001f27c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f280 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f284 move a0, s0 | a0 = s0;
0x0001f288 jalr t9 | t9 ();
0x0001f28c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f290 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f294 move a0, s5 | a0 = s5;
0x0001f298 jalr t9 | t9 ();
0x0001f29c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f2a0 move v0, zero | v0 = 0;
| }
| label_6:
0x0001f2a4 lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
| label_7:
0x0001f2a8 lw a0, 0x1464(sp) | a0 = *(var_1464h);
0x0001f2ac lw v1, (v1) | v1 = *(v1);
0x0001f2b0 lw ra, 0x148c(sp) | ra = *(var_148ch);
| if (a0 != v1) {
0x0001f2b4 bne a0, v1, 0x1f9e0 | goto label_46;
| }
0x0001f2b8 lw fp, 0x1488(sp) | fp = *(var_1488h);
0x0001f2bc lw s7, 0x1484(sp) | s7 = *(var_1484h);
0x0001f2c0 lw s6, 0x1480(sp) | s6 = *(var_1480h);
0x0001f2c4 lw s5, 0x147c(sp) | s5 = *(var_147ch);
0x0001f2c8 lw s4, 0x1478(sp) | s4 = *(var_1478h);
0x0001f2cc lw s3, 0x1474(sp) | s3 = *(var_1474h);
0x0001f2d0 lw s2, 0x1470(sp) | s2 = *(var_1470h);
0x0001f2d4 lw s1, 0x146c(sp) | s1 = *(var_146ch);
0x0001f2d8 lw s0, 0x1468(sp) | s0 = *(var_1468h);
0x0001f2dc addiu sp, sp, 0x1490 |
0x0001f2e0 jr ra | return v0;
| label_1:
0x0001f2e4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f2e8 lw t9, -0x7b50(gp) | t9 = sym.imp.fopen64;
0x0001f2ec sb zero, 1(v1) | *((v1 + 1)) = 0;
0x0001f2f0 addiu a1, a1, -0x1d48 | a1 += -0x1d48;
0x0001f2f4 move a0, s2 | a0 = s2;
0x0001f2f8 jalr t9 | t9 ();
0x0001f2fc lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0001f300 beqz v0, 0x1f570 | goto label_45;
| }
| label_3:
0x0001f304 lw t9, -0x7b48(gp) | t9 = sym.imp.fclose;
0x0001f308 move a0, v0 | a0 = v0;
0x0001f30c jalr t9 | t9 ();
0x0001f310 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f314 lw a0, (s1) | a0 = *(s1);
0x0001f318 move a3, s2 | a3 = s2;
0x0001f31c lw a2, -0x7f90(gp) | a2 = *(gp);
0x0001f320 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.Found:___s_n */
0x0001f324 addiu a2, a2, 0x79a4 | a2 += 0x79a4;
0x0001f328 addiu a1, zero, 1 | a1 = 1;
0x0001f32c jalr t9 | t9 ();
0x0001f330 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f334 lw a3, (s1) | a3 = *(s1);
| label_36:
0x0001f338 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001f33c lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f340 addiu a2, zero, 0x35 | a2 = 0x35;
0x0001f344 addiu a1, zero, 1 | a1 = 1;
0x0001f348 addiu a0, v0, 0x7804 | a0 = v0 + 0x7804;
0x0001f34c jalr t9 | t9 ();
0x0001f350 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f354 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x0001f358 lw a3, (s1) | a3 = *(s1);
0x0001f35c lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f360 addiu a2, zero, 0x22 | a2 = 0x22;
0x0001f364 addiu a1, zero, 1 | a1 = 1;
0x0001f368 addiu a0, v0, 0x783c | a0 = v0 + 0x783c;
0x0001f36c jalr t9 | t9 ();
0x0001f370 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f374 lw a3, (s1) | a3 = *(s1);
0x0001f378 addiu a2, zero, 0x28 | a2 = 0x28;
0x0001f37c lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001f380 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f384 addiu a1, zero, 1 | a1 = 1;
| /* str._n_or_ENTER___continue_with_this_split_:_ */
0x0001f388 addiu a0, a0, 0x7860 | a0 += 0x7860;
0x0001f38c jalr t9 | t9 ();
0x0001f390 addiu v0, zero, 1 | v0 = 1;
0x0001f394 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f398 sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x0001f39c b 0x1f178 | goto label_0;
| label_40:
0x0001f3a0 move a1, zero | a1 = 0;
| label_41:
0x0001f3a4 addiu v0, sp, 0x1468 | v0 = sp + 0x1468;
0x0001f3a8 addu a1, v0, a1 | a1 = v0 + a1;
0x0001f3ac sb zero, -0x1414(a1) | *((a1 - 5140)) = 0;
0x0001f3b0 lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f3b4 b 0x1f1d8 |
| } while (1);
| label_19:
0x0001f3b8 move a1, zero | a1 = 0;
| label_20:
0x0001f3bc addiu v0, sp, 0x1468 | v0 = sp + 0x1468;
0x0001f3c0 addu a1, v0, a1 | a1 = v0 + a1;
0x0001f3c4 sb zero, -0x1414(a1) | *((a1 - 5140)) = 0;
0x0001f3c8 lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f3cc lw t9, -0x7b1c(gp) | t9 = sym.imp.__strcpy_chk
| if (a3 == 0) {
0x0001f3d0 beqz a3, 0x1f970 | goto label_47;
| }
0x0001f3d4 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
| label_22:
0x0001f3d8 addiu v0, zero, 0x2e | v0 = 0x2e;
0x0001f3dc lb v0, 0x55(sp) | v0 = *(var_55h);
| if (a3 == v0) {
0x0001f3e0 beq a3, v0, 0x1f788 | goto label_48;
| }
| label_12:
0x0001f3e4 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
| label_13:
0x0001f3e8 move a0, s7 | a0 = s7;
0x0001f3ec jalr t9 | t9 ();
0x0001f3f0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f3f4 addu a0, s7, v0 | a0 = s7 + v0;
0x0001f3f8 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0001f3fc addiu a2, zero, 0x5c | a2 = 0x5c;
0x0001f400 addiu a3, zero, 0x3a | a3 = 0x3a;
0x0001f404 addiu t0, zero, -1 | t0 = -1;
| do {
0x0001f408 lb v1, (a0) | v1 = *(a0);
| if (v1 == a1) {
0x0001f40c beql v1, a1, 0x1f5d8 | goto label_49;
| }
0x0001f410 addiu v1, sp, 0x1468 | v1 = sp + 0x1468;
| if (v1 == a2) {
0x0001f414 beql v1, a2, 0x1f5d8 | goto label_49;
| }
0x0001f418 addiu v1, sp, 0x1468 | v1 = sp + 0x1468;
0x0001f41c addiu v1, sp, 0x1468 | v1 = sp + 0x1468;
| if (v1 == a3) {
0x0001f420 beq v1, a3, 0x1f5d8 | goto label_49;
| }
0x0001f424 addiu v0, v0, -1 | v0 += -1;
0x0001f428 addiu a0, a0, -1 | a0 += -1;
0x0001f42c bne v0, t0, 0x1f408 |
| } while (v0 != t0);
0x0001f430 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f434 lw a0, (s3) | a0 = *(s3);
0x0001f438 jalr t9 | t9 ();
0x0001f43c lw v0, 0x3c(sp) | v0 = *(var_3ch_2);
0x0001f440 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f444 addiu v0, v0, 0x76f4 | v0 += 0x76f4;
0x0001f448 lw a3, 0x40(sp) | a3 = *(var_40h_2);
0x0001f44c lw a2, 4(v0) | a2 = *((v0 + 1));
0x0001f450 lw a1, 8(v0) | a1 = *((v0 + 2));
0x0001f454 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x0001f458 lw v0, 0x10(v0) | v0 = *((v0 + 4));
0x0001f45c lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f460 sw a2, 4(s7) | *((s7 + 1)) = a2;
0x0001f464 move a0, s4 | a0 = s4;
0x0001f468 sw a3, (s7) | *(s7) = a3;
0x0001f46c sw a1, 8(s7) | *((s7 + 2)) = a1;
0x0001f470 sw v1, 0xc(s7) | *((s7 + 3)) = v1;
0x0001f474 sw v0, 0x10(s7) | *((s7 + 4)) = v0;
0x0001f478 jalr t9 | t9 ();
0x0001f47c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f480 addiu a0, v0, 0x28 | a0 = v0 + 0x28;
0x0001f484 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001f488 sw v0, 0x38(sp) | *(var_38h_3) = v0;
0x0001f48c jalr t9 | t9 ();
0x0001f490 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f494 sw v0, (s3) | *(s3) = v0;
0x0001f498 lw a2, 0x38(sp) | a2 = *(var_38h_3);
| if (v0 == 0) {
0x0001f49c beqz v0, 0x1f9b8 | goto label_50;
| }
| label_26:
0x0001f4a0 lw t9, -0x7a40(gp) | t9 = sym.imp.memcpy;
0x0001f4a4 addiu a2, a2, 1 | a2++;
0x0001f4a8 move a1, s4 | a1 = s4;
0x0001f4ac move a0, v0 | a0 = v0;
0x0001f4b0 jalr t9 | t9 ();
0x0001f4b4 lw gp, 0x10(sp) | gp = *(var_10h_3);
| label_15:
0x0001f4b8 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f4bc move a0, s2 | a0 = s2;
0x0001f4c0 jalr t9 | t9 ();
0x0001f4c4 lw a1, 0x1490(sp) | a1 = *(var_1490h);
0x0001f4c8 lw t9, 0x30(sp) | t9 = *(var_30h_2);
0x0001f4cc lw a0, (s3) | a0 = *(s3);
0x0001f4d0 jalr t9 | t9 ();
0x0001f4d4 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f4d8 move a0, s0 | a0 = s0;
0x0001f4dc lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f4e0 move s2, v0 | s2 = v0;
0x0001f4e4 jalr t9 | t9 ();
0x0001f4e8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f4ec lw a1, (s3) | a1 = *(s3);
0x0001f4f0 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f4f4 move a0, a1 | a0 = a1;
0x0001f4f8 sw a1, 0x38(sp) | *(var_38h_3) = a1;
0x0001f4fc jalr t9 | t9 ();
0x0001f500 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f504 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001f508 addiu a0, v0, 0x28 | a0 = v0 + 0x28;
0x0001f50c jalr t9 | t9 ();
0x0001f510 move s0, v0 | s0 = v0;
0x0001f514 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f518 lw a1, 0x38(sp) | a1 = *(var_38h_3);
| if (v0 == 0) {
0x0001f51c beqz v0, 0x1f94c | goto label_51;
| }
| label_23:
0x0001f520 lw t9, -0x7a60(gp) | t9 = sym.imp.stpcpy;
0x0001f524 move a0, s0 | a0 = s0;
0x0001f528 jalr t9 | t9 ();
0x0001f52c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f530 subu v0, v0, s0 | __asm ("subu v0, v0, s0");
0x0001f534 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0001f538 addiu a2, zero, -1 | a2 = -1;
0x0001f53c addu v1, s0, v0 | v1 = s0 + v0;
| label_2:
0x0001f540 lb a0, (v1) | a0 = *(v1);
0x0001f544 addiu v0, v0, -1 | v0 += -1;
| if (a0 == a1) {
0x0001f548 beq a0, a1, 0x1f2e4 | goto label_1;
| }
0x0001f54c addu v1, s0, v0 | v1 = s0 + v0;
| if (v0 != a2) {
0x0001f550 bne v0, a2, 0x1f540 | goto label_2;
| }
0x0001f554 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f558 lw t9, -0x7b50(gp) | t9 = sym.imp.fopen64;
0x0001f55c addiu a1, a1, -0x1d48 | a1 += -0x1d48;
0x0001f560 move a0, s2 | a0 = s2;
0x0001f564 jalr t9 | t9 ();
0x0001f568 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0001f56c bnez v0, 0x1f304 | goto label_3;
| }
| label_45:
0x0001f570 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001f574 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f578 lw a3, (s1) | a3 = *(s1);
0x0001f57c addiu a2, zero, 0x18 | a2 = 0x18;
0x0001f580 addiu a1, zero, 1 | a1 = 1;
| /* str._nCould_not_find_or_open_n */
0x0001f584 addiu a0, a0, 0x7988 | a0 += 0x7988;
0x0001f588 jalr t9 | t9 ();
0x0001f58c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f590 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0001f594 lw a0, (s1) | a0 = *(s1);
0x0001f598 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0001f59c move a3, s2 | a3 = s2;
0x0001f5a0 addiu a2, v0, 0x77b4 | a2 = v0 + 0x77b4;
0x0001f5a4 addiu a1, zero, 1 | a1 = 1;
0x0001f5a8 jalr t9 | t9 ();
0x0001f5ac lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f5b0 b 0x1f0f4 | goto label_4;
| label_42:
0x0001f5b4 addiu a0, zero, 0x43 | a0 = 0x43;
| if (v1 != a0) {
0x0001f5b8 bne v1, a0, 0x1f20c | goto label_5;
| }
0x0001f5bc lw v1, -0x7f94(gp) | v1 = *(gp);
0x0001f5c0 lw a0, -0x7d7c(gp) | a0 = *(gp);
0x0001f5c4 addiu v0, zero, 3 | v0 = 3;
0x0001f5c8 lw v1, (v1) | v1 = *(v1);
0x0001f5cc addiu v1, v1, 1 | v1++;
0x0001f5d0 sw v1, (a0) | *(a0) = v1;
0x0001f5d4 b 0x1f2a4 | goto label_6;
| label_49:
0x0001f5d8 addu v0, v1, v0 | v0 = v1 + v0;
0x0001f5dc lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f5e0 lw a0, (s3) | a0 = *(s3);
0x0001f5e4 sb zero, -0x1413(v0) | *((v0 - 5139)) = 0;
0x0001f5e8 jalr t9 | t9 ();
0x0001f5ec lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f5f0 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f5f4 move a0, s7 | a0 = s7;
0x0001f5f8 jalr t9 | t9 ();
0x0001f5fc lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f600 addu v1, s7, v0 | v1 = s7 + v0;
0x0001f604 addiu a1, zero, 0x2f | a1 = 0x2f;
0x0001f608 addiu a2, zero, -1 | a2 = -1;
| do {
0x0001f60c lb a0, (v1) | a0 = *(v1);
| if (a0 == a1) {
0x0001f610 beql a0, a1, 0x1f7d0 | goto label_52;
| }
0x0001f614 addiu v1, sp, 0x1468 | v1 = sp + 0x1468;
0x0001f618 addiu v0, v0, -1 | v0 += -1;
0x0001f61c addiu v1, v1, -1 | v1 += -1;
0x0001f620 bne v0, a2, 0x1f60c |
| } while (v0 != a2);
0x0001f624 sb zero, 0x54(sp) | *(var_54h) = 0;
0x0001f628 b 0x1f7d8 | goto label_53;
| if (v1 == a0) {
| label_44:
0x0001f62c beql v1, a0, 0x1f2a8 | goto label_7;
| }
0x0001f630 lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
0x0001f634 addiu v0, zero, 0x5a | v0 = 0x5a;
0x0001f638 lw v0, 0x1490(sp) | v0 = *(var_1490h);
| if (v1 != v0) {
0x0001f63c bne v1, v0, 0x1f220 | goto label_8;
| }
0x0001f640 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001f644 addiu v1, v0, 1 | v1 = v0 + 1;
0x0001f648 lw v0, -0x7dec(gp) | v0 = *(gp);
0x0001f64c move a0, s2 | a0 = s2;
0x0001f650 sw v1, (v0) | *(v0) = v1;
0x0001f654 jalr t9 | t9 ();
0x0001f658 lw a0, (s3) | a0 = *(s3);
0x0001f65c lw t9, 0x30(sp) | t9 = *(var_30h_2);
0x0001f660 lw a1, 0x1490(sp) | a1 = *(var_1490h);
0x0001f664 jalr t9 | t9 ();
0x0001f668 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f66c addiu a3, zero, 0x140e | a3 = 0x140e;
0x0001f670 addiu a2, zero, 0x13aa | a2 = 0x13aa;
0x0001f674 lw t9, -0x7b60(gp) | t9 = sym.imp.__strncat_chk;
0x0001f678 move a1, v0 | a1 = v0;
0x0001f67c move a0, s7 | a0 = s7;
0x0001f680 sb zero, 0x54(sp) | *(var_54h) = 0;
0x0001f684 move s2, v0 | s2 = v0;
0x0001f688 jalr t9 | t9 ();
0x0001f68c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f690 lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f694 b 0x1f220 | goto label_8;
| label_34:
0x0001f698 lw t9, -0x7a9c(gp) | t9 = sym.imp.strcpy
0x0001f69c addu a1, s2, s6 | a1 = s2 + s6;
0x0001f6a0 move a0, s5 | a0 = s5;
0x0001f6a4 jalr t9 | t9 ();
0x0001f6a8 addiu v0, zero, -1 | v0 = -1;
0x0001f6ac lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (fp != v0) {
0x0001f6b0 bne fp, v0, 0x1f048 | goto label_9;
| }
| label_35:
0x0001f6b4 lw v1, -0x7f90(gp) | v1 = *(gp);
| /* str._current_directory_ */
0x0001f6b8 addiu v0, v1, 0x76f4 | v0 = v1 + 0x76f4;
0x0001f6bc lw a2, 0x76f4(v1) | a2 = *((v1 + 7613));
0x0001f6c0 lw a1, 4(v0) | a1 = *((v0 + 1));
0x0001f6c4 lw a0, 8(v0) | a0 = *((v0 + 2));
0x0001f6c8 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x0001f6cc lw v0, 0x10(v0) | v0 = *((v0 + 4));
0x0001f6d0 sw a2, (s0) | *(s0) = a2;
0x0001f6d4 sw a1, 4(s0) | *((s0 + 1)) = a1;
0x0001f6d8 sw a0, 8(s0) | *((s0 + 2)) = a0;
0x0001f6dc sw v1, 0xc(s0) | *((s0 + 3)) = v1;
0x0001f6e0 sw v0, 0x10(s0) | *((s0 + 4)) = v0;
0x0001f6e4 b 0x1f048 | goto label_9;
| label_32:
0x0001f6e8 lw t9, -0x7a9c(gp) | t9 = sym.imp.strcpy
0x0001f6ec addu a1, s1, v0 | a1 = s1 + v0;
0x0001f6f0 move a0, s4 | a0 = s4;
0x0001f6f4 jalr t9 | t9 ();
0x0001f6f8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f6fc b 0x1f000 | goto label_10;
| label_38:
0x0001f700 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001f704 addiu a0, v0, 0x7804 | a0 = v0 + 0x7804;
0x0001f708 jalr t9 | t9 ();
0x0001f70c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f710 lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x0001f714 lw a3, (s1) | a3 = *(s1);
0x0001f718 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f71c addiu a2, zero, 0x1d | a2 = 0x1d;
0x0001f720 addiu a1, zero, 1 | a1 = 1;
0x0001f724 addiu a0, v0, 0x788c | a0 = v0 + 0x788c;
0x0001f728 jalr t9 | t9 ();
0x0001f72c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f730 lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x0001f734 lw a3, (s1) | a3 = *(s1);
0x0001f738 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f73c addiu a2, zero, 0x22 | a2 = 0x22;
0x0001f740 addiu a1, zero, 1 | a1 = 1;
0x0001f744 addiu a0, v0, 0x783c | a0 = v0 + 0x783c;
0x0001f748 jalr t9 | t9 ();
0x0001f74c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f750 lw a3, (s1) | a3 = *(s1);
0x0001f754 lw a0, 0x44(sp) | a0 = *(var_44h_2);
0x0001f758 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f75c addiu a2, zero, 0x2f | a2 = 0x2f;
0x0001f760 addiu a1, zero, 1 | a1 = 1;
0x0001f764 jalr t9 | t9 ();
0x0001f768 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f76c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001f770 lw a3, (s1) | a3 = *(s1);
0x0001f774 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f778 addiu a2, zero, 0x32 | a2 = 0x32;
0x0001f77c addiu a1, zero, 1 | a1 = 1;
0x0001f780 addiu a0, v0, 0x790c | a0 = v0 + 0x790c;
0x0001f784 b 0x1f150 | goto label_11;
| if (v0 == 0) {
| label_48:
0x0001f788 beql v0, zero, 0x1f3e4 | goto label_12;
| }
0x0001f78c sb zero, 0x54(sp) | *(var_54h) = 0;
0x0001f790 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f794 b 0x1f3e8 | goto label_13;
| label_37:
0x0001f798 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001f79c lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f7a0 addiu a2, zero, 0x35 | a2 = 0x35;
0x0001f7a4 addiu a1, zero, 1 | a1 = 1;
0x0001f7a8 addiu a0, v0, 0x7804 | a0 = v0 + 0x7804;
0x0001f7ac jalr t9 | t9 ();
0x0001f7b0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f7b4 lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x0001f7b8 lw a3, (s1) | a3 = *(s1);
0x0001f7bc lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f7c0 addiu a2, zero, 0x1d | a2 = 0x1d;
0x0001f7c4 addiu a1, zero, 1 | a1 = 1;
0x0001f7c8 addiu a0, v0, 0x788c | a0 = v0 + 0x788c;
0x0001f7cc b 0x1f12c | goto label_14;
| label_52:
0x0001f7d0 addu v0, v1, v0 | v0 = v1 + v0;
0x0001f7d4 sb zero, -0x1413(v0) | *((v0 - 5139)) = 0;
| label_53:
0x0001f7d8 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f7dc move a0, s7 | a0 = s7;
0x0001f7e0 jalr t9 | t9 ();
0x0001f7e4 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f7e8 move a0, s4 | a0 = s4;
0x0001f7ec lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001f7f0 sw v0, 0x38(sp) | *(var_38h_3) = v0;
0x0001f7f4 jalr t9 | t9 ();
0x0001f7f8 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f7fc lw v1, 0x38(sp) | v1 = *(var_38h_3);
0x0001f800 addu v0, v1, v0 | v0 = v1 + v0;
0x0001f804 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001f808 addiu a0, v0, 0x28 | a0 = v0 + 0x28;
0x0001f80c jalr t9 | t9 ();
0x0001f810 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f814 sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x0001f818 beqz v0, 0x1f998 | goto label_54;
| }
| label_25:
0x0001f81c lw t9, -0x7a9c(gp) | t9 = sym.imp.strcpy
0x0001f820 move a1, s7 | a1 = s7;
0x0001f824 move a0, v0 | a0 = v0;
0x0001f828 jalr t9 | t9 ();
0x0001f82c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f830 lw a0, (s3) | a0 = *(s3);
0x0001f834 lw t9, -0x7a94(gp) | t9 = sym.imp.strcat;
0x0001f838 move a1, s4 | a1 = s4;
0x0001f83c jalr t9 | t9 ();
0x0001f840 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f844 b 0x1f4b8 | goto label_15;
| label_31:
0x0001f848 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f84c lw t9, -0x7f28(gp) | t9 = sym.ziperr;
| /* str.split_path */
0x0001f850 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f854 addiu a0, zero, 4 | a0 = 4;
0x0001f858 bal 0xd694 | sym_ziperr ();
0x0001f85c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f860 lw s1, (s3) | s1 = *(s3);
0x0001f864 b 0x1efd0 | goto label_16;
| label_27:
0x0001f868 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f86c lw t9, -0x7f28(gp) | t9 = sym.ziperr;
| /* str.split_path */
0x0001f870 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f874 addiu a0, zero, 4 | a0 = 4;
0x0001f878 bal 0xd694 | sym_ziperr ();
0x0001f87c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f880 lw s1, (s3) | s1 = *(s3);
0x0001f884 b 0x1ef14 | goto label_17;
| label_33:
0x0001f888 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f88c lw t9, -0x7f28(gp) | t9 = sym.ziperr;
| /* str.split_path */
0x0001f890 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f894 addiu a0, zero, 4 | a0 = 4;
0x0001f898 bal 0xd694 | sym_ziperr ();
0x0001f89c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f8a0 lw s1, (s3) | s1 = *(s3);
0x0001f8a4 b 0x1f028 | goto label_18;
| label_43:
0x0001f8a8 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f8ac lw a3, (s1) | a3 = *(s1);
0x0001f8b0 addiu a2, zero, 0x43 | a2 = 0x43;
0x0001f8b4 addiu a1, zero, 1 | a1 = 1;
| /* str._nEnter_path_where_this_split_is__ENTER__same_dir__.__current_dir_ */
0x0001f8b8 addiu a0, a0, 0x7940 | a0 += 0x7940;
0x0001f8bc jalr t9 | t9 ();
0x0001f8c0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f8c4 lw a3, (s1) | a3 = *(s1);
0x0001f8c8 addiu a2, zero, 3 | a2 = 3;
0x0001f8cc lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001f8d0 lw t9, -0x7a84(gp) | t9 = sym.imp.fwrite;
0x0001f8d4 addiu a1, zero, 1 | a1 = 1;
| /* esilref: '
: ' */
0x0001f8d8 addiu a0, a0, 0x7984 | a0 += 0x7984;
0x0001f8dc jalr t9 | t9 ();
0x0001f8e0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f8e4 lw t9, -0x7a30(gp) | t9 = sym.imp.fflush;
0x0001f8e8 lw a0, (s1) | a0 = *(s1);
0x0001f8ec jalr t9 | t9 ();
0x0001f8f0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f8f4 lw a2, (s6) | a2 = *(s6);
0x0001f8f8 addiu a1, zero, 0x13aa | a1 = 0x13aa;
0x0001f8fc lw t9, -0x7a4c(gp) | t9 = sym.imp.fgets;
0x0001f900 move a0, s7 | a0 = s7;
0x0001f904 jalr t9 | t9 ();
0x0001f908 lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f90c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (a3 == 0) {
0x0001f910 beqz a3, 0x1f96c | goto label_55;
| }
0x0001f914 addiu v0, zero, 0xa | v0 = 0xa;
0x0001f918 addiu a0, zero, 1 | a0 = 1;
| if (a3 == v0) {
0x0001f91c beq a3, v0, 0x1f3b8 | goto label_19;
| }
0x0001f920 move v0, s7 | v0 = s7;
0x0001f924 subu a0, a0, s7 | __asm ("subu a0, a0, s7");
0x0001f928 addiu a2, zero, 0xa | a2 = 0xa;
0x0001f92c b 0x1f938 | goto label_56;
| label_21:
0x0001f930 addiu v0, v0, 1 | v0++;
| if (v1 == a2) {
0x0001f934 beq v1, a2, 0x1f3bc | goto label_20;
| }
| label_56:
0x0001f938 lb v1, 1(v0) | v1 = *((v0 + 1));
0x0001f93c addu a1, a0, v0 | a1 = a0 + v0;
| if (v1 != 0) {
0x0001f940 bnez v1, 0x1f930 | goto label_21;
| }
0x0001f944 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0001f948 b 0x1f3d8 | goto label_22;
| label_51:
0x0001f94c lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f950 lw t9, -0x7f28(gp) | t9 = sym.ziperr;
| /* str.split_path */
0x0001f954 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f958 addiu a0, zero, 4 | a0 = 4;
0x0001f95c bal 0xd694 | sym_ziperr ();
0x0001f960 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f964 lw a1, (s3) | a1 = *(s3);
0x0001f968 b 0x1f520 | goto label_23;
| label_55:
0x0001f96c lw t9, -0x7b1c(gp) | t9 = sym.imp.__strcpy_chk
| label_47:
0x0001f970 addiu a2, zero, 0x140e | a2 = 0x140e;
0x0001f974 move a1, s2 | a1 = s2;
0x0001f978 move a0, s7 | a0 = s7;
0x0001f97c jalr t9 | t9 ();
0x0001f980 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f984 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0001f988 lb a3, 0x54(sp) | a3 = *(var_54h);
0x0001f98c b 0x1f220 | goto label_8;
| label_29:
0x0001f990 move fp, v1 | fp = v1;
0x0001f994 b 0x1efa0 | goto label_24;
| label_54:
0x0001f998 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f99c lw t9, -0x7f28(gp) | t9 = sym.ziperr;
| /* str.split_path */
0x0001f9a0 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f9a4 addiu a0, zero, 4 | a0 = 4;
0x0001f9a8 bal 0xd694 | sym_ziperr ();
0x0001f9ac lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f9b0 lw v0, (s3) | v0 = *(s3);
0x0001f9b4 b 0x1f81c | goto label_25;
| label_50:
0x0001f9b8 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001f9bc lw t9, -0x7f28(gp) | t9 = sym.ziperr;
0x0001f9c0 sw a2, 0x38(sp) | *(var_38h_3) = a2;
| /* str.split_path */
0x0001f9c4 addiu a1, a1, 0x76e8 | a1 += 0x76e8;
0x0001f9c8 addiu a0, zero, 4 | a0 = 4;
0x0001f9cc bal 0xd694 | sym_ziperr ();
0x0001f9d0 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001f9d4 lw v0, (s3) | v0 = *(s3);
0x0001f9d8 lw a2, 0x38(sp) | a2 = *(var_38h_3);
0x0001f9dc b 0x1f4a0 | goto label_26;
| label_46:
0x0001f9e0 lw t9, -0x7a64(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001f9e4 jalr t9 | t9 ();
0x0001f9e8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/zip @ 0x1d32c */
| #include <stdint.h>
|
; (fcn) sym.check_dup () | void check_dup () {
0x0001d32c lui gp, 3 |
0x0001d330 addiu gp, gp, 0x4964 |
0x0001d334 addu gp, gp, t9 | gp += t9;
0x0001d338 addiu sp, sp, -0x1448 |
0x0001d33c sw s6, 0x1438(sp) | *(var_1438h) = s6;
0x0001d340 sw s4, 0x1430(sp) | *(var_1430h) = s4;
0x0001d344 lw s6, -0x7da8(gp) | s6 = *(gp);
0x0001d348 lw s4, -0x7a44(gp) | s4 = *((gp - 7825));
0x0001d34c sw s0, 0x1420(sp) | *(var_1420h) = s0;
0x0001d350 lw s0, (s6) | s0 = *(s6);
0x0001d354 lw v0, (s4) | v0 = *(s4);
0x0001d358 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001d35c sw ra, 0x1444(sp) | *(var_1444h) = ra;
0x0001d360 sw fp, 0x1440(sp) | *(var_1440h) = fp;
0x0001d364 sw s7, 0x143c(sp) | *(var_143ch) = s7;
0x0001d368 sw s5, 0x1434(sp) | *(var_1434h) = s5;
0x0001d36c sw s3, 0x142c(sp) | *(var_142ch) = s3;
0x0001d370 sw s2, 0x1428(sp) | *(var_1428h) = s2;
0x0001d374 sw s1, 0x1424(sp) | *(var_1424h) = s1;
0x0001d378 sw v0, 0x141c(sp) | *(var_141ch) = v0;
0x0001d37c move v0, zero | v0 = 0;
| if (s0 == 0) {
0x0001d380 beqz s0, 0x1d394 | goto label_1;
| }
0x0001d384 ext v0, s0, 0, 0x1e | __asm ("ext v0, s0, 0, 0x1e");
0x0001d388 lw t9, -0x7ab4(gp) | t9 = sym.imp.malloc;
0x0001d38c beq s0, v0, 0x1d3d0 |
| while (v0 == 0) {
0x0001d390 addiu v0, zero, 4 | v0 = 4;
| label_1:
0x0001d394 lw a0, 0x141c(sp) | a0 = *(var_141ch);
0x0001d398 lw v1, (s4) | v1 = *(s4);
0x0001d39c lw ra, 0x1444(sp) | ra = *(var_1444h);
| if (a0 != v1) {
0x0001d3a0 bne a0, v1, 0x1d7c8 | goto label_4;
| }
0x0001d3a4 lw fp, 0x1440(sp) | fp = *(var_1440h);
0x0001d3a8 lw s7, 0x143c(sp) | s7 = *(var_143ch);
0x0001d3ac lw s6, 0x1438(sp) | s6 = *(var_1438h);
0x0001d3b0 lw s5, 0x1434(sp) | s5 = *(var_1434h);
0x0001d3b4 lw s4, 0x1430(sp) | s4 = *(var_1430h);
0x0001d3b8 lw s3, 0x142c(sp) | s3 = *(var_142ch);
0x0001d3bc lw s2, 0x1428(sp) | s2 = *(var_1428h);
0x0001d3c0 lw s1, 0x1424(sp) | s1 = *(var_1424h);
0x0001d3c4 lw s0, 0x1420(sp) | s0 = *(var_1420h);
0x0001d3c8 addiu sp, sp, 0x1448 |
0x0001d3cc jr ra | return v1;
0x0001d3d0 sll a0, s0, 2 | a0 = s0 << 2;
0x0001d3d4 jalr t9 | t9 ();
0x0001d3d8 move s3, v0 | s3 = v0;
0x0001d3dc lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d3e0 beqz v0, 0x1d390 |
| }
0x0001d3e4 move v1, v0 | v1 = v0;
0x0001d3e8 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001d3ec lw v0, (v0) | v0 = *(v0);
0x0001d3f0 lw a3, -0x7ca8(gp) | a3 = *(gp);
| if (v0 == 0) {
0x0001d3f4 beqz v0, 0x1d40c | goto label_5;
| }
| do {
0x0001d3f8 sw v0, (v1) | *(v1) = v0;
0x0001d3fc lw v0, 0x24(v0) | v0 = *((v0 + 9));
0x0001d400 addiu v1, v1, 4 | v1 += 4;
0x0001d404 bnez v0, 0x1d3f8 |
| } while (v0 != 0);
0x0001d408 lw a3, -0x7ca8(gp) | a3 = *(gp);
| label_5:
0x0001d40c lw t9, -0x7b58(gp) | t9 = sym.imp.qsort;
0x0001d410 move a1, s0 | a1 = s0;
0x0001d414 addiu a3, a3, -0x34fc | a3 += -0x34fc;
0x0001d418 addiu a2, zero, 4 | a2 = 4;
0x0001d41c move a0, s3 | a0 = s3;
0x0001d420 jalr t9 | t9 ();
0x0001d424 lw s0, (s6) | s0 = *(s6);
0x0001d428 addiu s7, s0, -1 | s7 = s0 + -1;
0x0001d42c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s7 == 0) {
0x0001d430 beqz s7, 0x1d750 | goto label_6;
| }
0x0001d434 sll s0, s0, 2 | s0 <<= 2;
0x0001d438 addiu v0, s3, 4 | v0 = s3 + 4;
0x0001d43c addu s0, s3, s0 | s0 = s3 + s0;
0x0001d440 sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x0001d444 sll s5, s7, 2 | s5 = s7 << 2;
0x0001d448 b 0x1d468 |
| while (v0 != 0) {
0x0001d44c addiu s7, s7, -1 | s7 += -1;
0x0001d450 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001d454 sll s5, s7, 2 | s5 = s7 << 2;
0x0001d458 addiu s0, s0, -4 | s0 += -4;
0x0001d45c sw s1, (s2) | *(s2) = s1;
0x0001d460 addu s2, s3, s5 | s2 = s3 + s5;
| if (v0 == s0) {
0x0001d464 beq v0, s0, 0x1d528 | goto label_7;
| }
0x0001d468 lw s1, -4(s0) | s1 = *((s0 - 1));
| label_0:
0x0001d46c lw v0, -8(s0) | v0 = *((s0 - 2));
0x0001d470 lw t9, -0x7a1c(gp) | t9 = sym.imp.strcmp;
0x0001d474 lw fp, (s1) | fp = *(s1);
0x0001d478 lw a0, (v0) | a0 = *(v0);
0x0001d47c move a1, fp | a1 = fp;
0x0001d480 jalr t9 | t9 ();
0x0001d484 addu s2, s3, s5 | s2 = s3 + s5;
0x0001d488 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d48c bnez v0, 0x1d44c |
| }
0x0001d490 lw a0, 0x20(s1) | a0 = *((s1 + 8));
0x0001d494 lw v0, 0x24(s1) | v0 = *((s1 + 9));
0x0001d498 sw v0, (a0) | *(a0) = v0;
| if (v0 != 0) {
0x0001d49c beqz v0, 0x1d4a4 |
0x0001d4a0 sw a0, 0x20(v0) | *((v0 + 8)) = a0;
| }
0x0001d4a4 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001d4a8 move a0, fp | a0 = fp;
0x0001d4ac jalr t9 | t9 ();
0x0001d4b0 lw a0, 8(s1) | a0 = *((s1 + 2));
0x0001d4b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != 0) {
0x0001d4b8 beqz a0, 0x1d4cc |
0x0001d4bc lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001d4c0 jalr t9 | t9 ();
0x0001d4c4 nop |
0x0001d4c8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001d4cc lw a0, 4(s1) | a0 = *((s1 + 1));
0x0001d4d0 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
| if (a0 != 0) {
0x0001d4d4 beqz a0, 0x1d4e4 |
0x0001d4d8 jalr t9 | t9 ();
0x0001d4dc nop |
0x0001d4e0 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001d4e4 lw a0, 0x10(s1) | a0 = *((s1 + 4));
0x0001d4e8 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
| if (a0 != 0) {
0x0001d4ec beqz a0, 0x1d4fc |
0x0001d4f0 jalr t9 | t9 ();
0x0001d4f4 nop |
0x0001d4f8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001d4fc lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001d500 move a0, s1 | a0 = s1;
0x0001d504 jalr t9 | t9 ();
0x0001d508 lw v0, (s6) | v0 = *(s6);
0x0001d50c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d510 addiu v0, v0, -1 | v0 += -1;
0x0001d514 sw v0, (s6) | *(s6) = v0;
0x0001d518 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x0001d51c addiu s0, s0, -4 | s0 += -4;
0x0001d520 lw s1, -4(s0) | s1 = *((s0 - 1));
| if (v0 == s0) {
0x0001d524 bnel v0, s0, 0x1d46c | goto label_0;
| }
| label_7:
0x0001d528 lw a1, (s6) | a1 = *(s6);
| label_2:
0x0001d52c lw v0, (s3) | v0 = *(s3);
0x0001d530 lw a3, -0x7ca8(gp) | a3 = *(gp);
0x0001d534 lw t9, -0x7b58(gp) | t9 = sym.imp.qsort;
0x0001d538 sw v0, (s2) | *(s2) = v0;
0x0001d53c addiu a3, a3, -0x3520 | a3 += -aav.0x00003520;
0x0001d540 addiu a2, zero, 4 | a2 = 4;
0x0001d544 move a0, s2 | a0 = s2;
0x0001d548 jalr t9 | t9 ();
0x0001d54c lw s5, (s6) | s5 = *(s6);
0x0001d550 sltiu v0, s5, 2 | v0 = (s5 < 2) ? 1 : 0;
0x0001d554 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001d558 bnez v0, 0x1d738 | goto label_8;
| }
0x0001d55c addiu s0, s2, 4 | s0 = s2 + 4;
0x0001d560 addiu s1, zero, 1 | s1 = 1;
0x0001d564 b 0x1d574 |
| while (v0 != 0) {
0x0001d568 addiu s1, s1, 1 | s1++;
0x0001d56c addiu s0, s0, 4 | s0 += 4;
| if (s5 == s1) {
0x0001d570 beq s5, s1, 0x1d738 | goto label_8;
| }
0x0001d574 lw s2, -4(s0) | s2 = *((s0 - 1));
0x0001d578 lw v0, (s0) | v0 = *(s0);
0x0001d57c lw t9, -0x7a1c(gp) | t9 = sym.imp.strcmp;
0x0001d580 lw a0, 4(s2) | a0 = *((s2 + 1));
0x0001d584 lw a1, 4(v0) | a1 = *((v0 + 1));
0x0001d588 jalr t9 | t9 ();
0x0001d58c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d590 bnez v0, 0x1d568 |
| }
0x0001d594 lw v0, (s2) | v0 = *(s2);
0x0001d598 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001d59c lw t9, -0x7ba0(gp) | t9 = sym.imp.__sprintf_chk;
0x0001d5a0 lw a0, -0x7f10(gp) | a0 = *(gp);
| /* str.__first_full_name:__s_n */
0x0001d5a4 addiu a3, a3, 0x75b8 | a3 += 0x75b8;
0x0001d5a8 addiu a2, zero, 0x13f1 | a2 = 0x13f1;
0x0001d5ac addiu a1, zero, 1 | a1 = 1;
0x0001d5b0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0001d5b4 jalr t9 | t9 ();
0x0001d5b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d5bc lw v0, (s0) | v0 = *(s0);
0x0001d5c0 addiu s2, sp, 0x28 | s2 = sp + 0x28;
0x0001d5c4 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001d5c8 lw v0, (v0) | v0 = *(v0);
0x0001d5cc lw t9, -0x7ba0(gp) | t9 = sym.imp.__sprintf_chk;
| /* str._second_full_name:__s_n */
0x0001d5d0 addiu a3, a3, 0x75d0 | a3 += 0x75d0;
0x0001d5d4 addiu a2, zero, 0x13f1 | a2 = 0x13f1;
0x0001d5d8 addiu a1, zero, 1 | a1 = 1;
0x0001d5dc move a0, s2 | a0 = s2;
0x0001d5e0 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0001d5e4 jalr t9 | t9 ();
0x0001d5e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d5ec lw a0, -0x7f10(gp) | a0 = *(gp);
0x0001d5f0 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001d5f4 move s1, a0 | s1 = a0;
0x0001d5f8 jalr t9 | t9 ();
0x0001d5fc lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d600 addu v0, s1, v0 | v0 = s1 + v0;
0x0001d604 addiu a2, zero, 0x13f1 | a2 = 0x13f1;
0x0001d608 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0001d60c lw t9, -0x7b1c(gp) | t9 = sym.imp.__strcpy_chk
| /* str._____________________ */
0x0001d610 addiu v1, a0, 0x75e8 | v1 = a0 + 0x75e8;
0x0001d614 lw fp, 0x75e8(a0) | fp = *((a0 + 7546));
0x0001d618 lw s7, 4(v1) | s7 = *((v1 + 1));
0x0001d61c swl fp, 3(v0) | __asm ("swl fp, 3(v0)");
0x0001d620 swr fp, (v0) | __asm ("swr fp, (v0)");
0x0001d624 swl s7, 7(v0) | __asm ("swl s7, 7(v0)");
0x0001d628 lw s6, 8(v1) | s6 = *((v1 + 2));
0x0001d62c swr s7, 4(v0) | __asm ("swr s7, 4(v0)");
0x0001d630 swl s6, 0xb(v0) | __asm ("swl s6, 0xb(v0)");
0x0001d634 lw s5, 0xc(v1) | s5 = *((v1 + 3));
0x0001d638 swr s6, 8(v0) | __asm ("swr s6, 8(v0)");
0x0001d63c lw s3, 0x10(v1) | s3 = *((v1 + 4));
0x0001d640 swl s5, 0xf(v0) | __asm ("swl s5, 0xf(v0)");
0x0001d644 lbu t0, 0x14(v1) | t0 = *((v1 + 20));
0x0001d648 swr s5, 0xc(v0) | __asm ("swr s5, 0xc(v0)");
0x0001d64c swl s3, 0x13(v0) | __asm ("swl s3, 0x13(v0)");
0x0001d650 swr s3, 0x10(v0) | __asm ("swr s3, 0x10(v0)");
0x0001d654 sb t0, 0x14(v0) | *((v0 + 20)) = t0;
0x0001d658 lbu v1, 0x15(v1) | v1 = *((v1 + 21));
0x0001d65c sb t0, 0x27(sp) | *(var_27h) = t0;
0x0001d660 sb v1, 0x15(v0) | *((v0 + 21)) = v1;
0x0001d664 sb v1, 0x20(sp) | *(var_20h_2) = v1;
0x0001d668 move a1, s2 | a1 = s2;
0x0001d66c addiu a0, v0, 0x15 | a0 = v0 + 0x15;
0x0001d670 jalr t9 | t9 ();
0x0001d674 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d678 lw v0, (s0) | v0 = *(s0);
0x0001d67c addiu a2, zero, 0x13f1 | a2 = 0x13f1;
0x0001d680 lw a3, -0x7f90(gp) | a3 = *(gp);
0x0001d684 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0001d688 lw t9, -0x7ba0(gp) | t9 = sym.imp.__sprintf_chk;
| /* str.name_in_zip_file_repeated:__s */
0x0001d68c addiu a3, a3, 0x7600 | a3 += 0x7600;
0x0001d690 addiu a1, zero, 1 | a1 = 1;
0x0001d694 move a0, s2 | a0 = s2;
0x0001d698 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0001d69c jalr t9 | t9 ();
0x0001d6a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d6a4 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x0001d6a8 move a0, s1 | a0 = s1;
0x0001d6ac jalr t9 | t9 ();
0x0001d6b0 addu v0, s1, v0 | v0 = s1 + v0;
0x0001d6b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d6b8 swl fp, 3(v0) | __asm ("swl fp, 3(v0)");
0x0001d6bc swr fp, (v0) | __asm ("swr fp, (v0)");
0x0001d6c0 swl s7, 7(v0) | __asm ("swl s7, 7(v0)");
0x0001d6c4 swr s7, 4(v0) | __asm ("swr s7, 4(v0)");
0x0001d6c8 swl s6, 0xb(v0) | __asm ("swl s6, 0xb(v0)");
0x0001d6cc swr s6, 8(v0) | __asm ("swr s6, 8(v0)");
0x0001d6d0 swl s5, 0xf(v0) | __asm ("swl s5, 0xf(v0)");
0x0001d6d4 swr s5, 0xc(v0) | __asm ("swr s5, 0xc(v0)");
0x0001d6d8 lbu v1, 0x20(sp) | v1 = *(var_20h_2);
0x0001d6dc lbu t0, 0x27(sp) | t0 = *(var_27h);
0x0001d6e0 swl s3, 0x13(v0) | __asm ("swl s3, 0x13(v0)");
0x0001d6e4 lw t9, -0x7ae4(gp) | t9 = sym.imp.__stpcpy_chk;
0x0001d6e8 swr s3, 0x10(v0) | __asm ("swr s3, 0x10(v0)");
0x0001d6ec addiu a2, zero, 0x13f1 | a2 = 0x13f1;
0x0001d6f0 sb v1, 0x15(v0) | *((v0 + 21)) = v1;
0x0001d6f4 sb t0, 0x14(v0) | *((v0 + 20)) = t0;
0x0001d6f8 move a1, s2 | a1 = s2;
0x0001d6fc addiu a0, v0, 0x15 | a0 = v0 + 0x15;
0x0001d700 jalr t9 | t9 ();
0x0001d704 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d708 lw v1, -0x7e04(gp) | v1 = *(gp);
0x0001d70c lw v1, (v1) | v1 = *(v1);
0x0001d710 lw v1, -0x7f90(gp) | v1 = *(gp);
| if (v1 != 0) {
0x0001d714 beqz v1, 0x1d75c |
| label_3:
0x0001d718 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0001d71c lw t9, -0x7edc(gp) | t9 = sym.zipwarn;
0x0001d720 lw a0, -0x7f10(gp) | a0 = *(gp);
0x0001d724 addiu a1, a1, 0x66d4 | a1 += 0x66d4;
0x0001d728 bal 0xe4c4 | sym_zipwarn ();
0x0001d72c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d730 addiu v0, zero, 0x10 | v0 = 0x10;
0x0001d734 b 0x1d394 | goto label_1;
| label_8:
0x0001d738 lw t9, -0x7a3c(gp) | t9 = sym.imp.free;
0x0001d73c move a0, s3 | a0 = s3;
0x0001d740 jalr t9 | t9 ();
0x0001d744 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001d748 move v0, zero | v0 = 0;
0x0001d74c b 0x1d394 | goto label_1;
| label_6:
0x0001d750 move s2, s3 | s2 = s3;
0x0001d754 addiu a1, zero, 1 | a1 = 1;
0x0001d758 b 0x1d52c | goto label_2;
| }
| /* str._n_____________________this_may_be_a_result_of_using__j */
0x0001d75c addiu v1, v1, 0x7620 | v1 += 0x7620;
0x0001d760 addiu a2, v1, 0x30 | a2 = v1 + 0x30;
| do {
0x0001d764 lw a1, (v1) | a1 = *(v1);
0x0001d768 lw a0, 4(v1) | a0 = *((v1 + 1));
0x0001d76c swl a1, 3(v0) | __asm ("swl a1, 3(v0)");
0x0001d770 swr a1, (v0) | __asm ("swr a1, (v0)");
0x0001d774 swl a0, 7(v0) | __asm ("swl a0, 7(v0)");
0x0001d778 lw a1, 8(v1) | a1 = *((v1 + 2));
0x0001d77c swr a0, 4(v0) | __asm ("swr a0, 4(v0)");
0x0001d780 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x0001d784 lw a0, 0xc(v1) | a0 = *((v1 + 3));
0x0001d788 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x0001d78c swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x0001d790 addiu v1, v1, 0x10 | v1 += 0x10;
0x0001d794 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0001d798 addiu v0, v0, 0x10 | v0 += 0x10;
0x0001d79c bne v1, a2, 0x1d764 |
| } while (v1 != a2);
0x0001d7a0 lw a0, (v1) | a0 = *(v1);
0x0001d7a4 lbu a2, 4(v1) | a2 = *((v1 + 4));
0x0001d7a8 lbu a1, 5(v1) | a1 = *((v1 + 5));
0x0001d7ac lbu v1, 6(v1) | v1 = *((v1 + 6));
0x0001d7b0 swl a0, 3(v0) | __asm ("swl a0, 3(v0)");
0x0001d7b4 swr a0, (v0) | __asm ("swr a0, (v0)");
0x0001d7b8 sb a2, 4(v0) | *((v0 + 4)) = a2;
0x0001d7bc sb a1, 5(v0) | *((v0 + 5)) = a1;
0x0001d7c0 sb v1, 6(v0) | *((v0 + 6)) = v1;
0x0001d7c4 b 0x1d718 | goto label_3;
| label_4:
0x0001d7c8 lw t9, -0x7a64(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001d7cc jalr t9 | t9 ();
0x0001d7d0 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/zip @ 0x260e0 */
| #include <stdint.h>
|
; (fcn) sym.zip_fuzofft () | void zip_fuzofft () {
0x000260e0 lui gp, 3 |
0x000260e4 addiu gp, gp, -0x4450 |
0x000260e8 addu gp, gp, t9 | gp += t9;
0x000260ec addiu sp, sp, -0x38 |
0x000260f0 addiu v1, zero, -1 | v1 = -1;
0x000260f4 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x000260f8 lw s3, -0x7f7c(gp) | s3 = *((gp - 8159));
0x000260fc sw s2, 0x28(sp) | *(var_28h) = s2;
0x00026100 addiu s2, s3, -0x6690 | s2 = s3 + -0x6690;
0x00026104 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00026108 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0002610c sw s1, 0x24(sp) | *(var_24h) = s1;
0x00026110 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00026114 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00026118 move s0, a0 | s0 = a0;
0x0002611c move s1, a1 | s1 = a1;
0x00026120 move s4, a3 | s4 = a3;
0x00026124 sb zero, 1(s2) | *((s2 + 1)) = 0;
| if (a2 == v1) {
0x00026128 beq a2, v1, 0x26240 | goto label_1;
| }
0x0002612c addiu v1, zero, -2 | v1 = -2;
0x00026130 move v0, a2 | v0 = a2;
| if (a2 == v1) {
0x00026134 beq a2, v1, 0x26260 | goto label_2;
| }
0x00026138 lw t9, -0x7a10(gp) | t9 = sym.imp.__strcat_chk;
| if (a2 != 0) {
0x0002613c beqz a2, 0x26154 |
0x00026140 addiu a2, zero, 0x10 | a2 = 0x10;
0x00026144 move a1, v0 | a1 = v0;
0x00026148 move a0, s2 | a0 = s2;
0x0002614c jalr t9 | t9 ();
0x00026150 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_0:
0x00026154 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x00026158 addiu a0, s3, -0x6690 | a0 = s3 + -0x6690;
0x0002615c jalr t9 | t9 ();
0x00026160 addu v0, s2, v0 | v0 = s2 + v0;
0x00026164 addiu v1, zero, 0x6c | v1 = 0x6c;
0x00026168 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002616c sb v1, (v0) | *(v0) = v1;
0x00026170 sb v1, 1(v0) | *((v0 + 1)) = v1;
0x00026174 sb zero, 2(v0) | *((v0 + 2)) = 0;
0x00026178 addiu a0, v0, 2 | a0 = v0 + 2;
| if (s4 == 0) {
0x0002617c beqz s4, 0x26230 | goto label_3;
| }
0x00026180 lw t9, -0x7b1c(gp) | t9 = sym.imp.__strcpy_chk
0x00026184 addiu a2, zero, 0x10 | a2 = 0x10;
0x00026188 move a1, s4 | a1 = s4;
0x0002618c jalr t9 | t9 ();
0x00026190 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00026194 lw s4, -0x7f7c(gp) | s4 = *((gp - 8159));
0x00026198 lui v0, 0x8000 | v0 = 0x80000003;
0x0002619c addiu v0, v0, 3 |
0x000261a0 lw v1, -0x3fe0(s4) | v1 = *((s4 - 4088));
0x000261a4 addiu v1, v1, 1 | v1++;
0x000261a8 and v1, v1, v0 | v1 &= v0;
0x000261ac sll a0, v1, 1 | a0 = v1 << 1;
| if (v1 < 0) {
0x000261b0 bgez v1, 0x261c8 |
0x000261b4 addiu v1, v1, -1 | v1 += -1;
0x000261b8 addiu v0, zero, -4 | v0 = -4;
0x000261bc or v1, v1, v0 | v1 |= v0;
0x000261c0 addiu v1, v1, 1 | v1++;
0x000261c4 sll a0, v1, 1 | a0 = v1 << 1;
| }
0x000261c8 lw s2, -0x7f7c(gp) | s2 = *((gp - 8159));
0x000261cc addu a0, a0, v1 | a0 += v1;
0x000261d0 addiu s2, s2, -0x4040 | s2 += -0x4040;
0x000261d4 lw t9, -0x7ba0(gp) | t9 = sym.imp.__sprintf_chk;
0x000261d8 sll a0, a0, 3 | a0 <<= 3;
0x000261dc sw s0, 0x10(sp) | *(var_10h) = s0;
0x000261e0 sw s1, 0x14(sp) | *(var_14h) = s1;
0x000261e4 addiu a3, s3, -0x6690 | a3 = s3 + -0x6690;
0x000261e8 addu a0, s2, a0 | a0 = s2 + a0;
0x000261ec sw v1, -0x3fe0(s4) | *((s4 - 4088)) = v1;
0x000261f0 addiu a2, zero, -1 | a2 = -1;
0x000261f4 addiu a1, zero, 1 | a1 = 1;
0x000261f8 jalr t9 | t9 ();
0x000261fc lw v1, -0x3fe0(s4) | v1 = *((s4 - 4088));
0x00026200 lw ra, 0x34(sp) | ra = *(var_34h);
0x00026204 sll v0, v1, 1 | v0 = v1 << 1;
0x00026208 addu v0, v0, v1 | v0 += v1;
0x0002620c sll v0, v0, 3 | v0 <<= 3;
0x00026210 addu v0, s2, v0 | v0 = s2 + v0;
0x00026214 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00026218 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0002621c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00026220 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00026224 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00026228 addiu sp, sp, 0x38 |
0x0002622c jr ra | return v0;
| label_3:
0x00026230 addiu v1, zero, 0x75 | v1 = 0x75;
0x00026234 sb v1, 2(v0) | *((v0 + 2)) = v1;
0x00026238 sb zero, 1(a0) | *((a0 + 1)) = 0;
0x0002623c b 0x26194 |
| } while (1);
| label_1:
0x00026240 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00026244 lw t9, -0x7a10(gp) | t9 = sym.imp.__strcat_chk;
0x00026248 addiu a2, zero, 0x10 | a2 = 0x10;
| /* esilref: '16' */
0x0002624c addiu a1, a1, 0x7cb0 | a1 += 0x7cb0;
0x00026250 move a0, s2 | a0 = s2;
0x00026254 jalr t9 | t9 ();
0x00026258 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002625c b 0x26154 | goto label_0;
| label_2:
0x00026260 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x00026264 move a0, s2 | a0 = s2;
0x00026268 jalr t9 | t9 ();
0x0002626c addu v0, s2, v0 | v0 = s2 + v0;
0x00026270 addiu a0, zero, 0x2e | a0 = 0x2e;
0x00026274 lw gp, 0x18(sp) | gp = *(var_18h);
0x00026278 addiu v1, v0, 1 | v1 = v0 + 1;
0x0002627c sb a0, (v0) | *(v0) = a0;
0x00026280 addiu a0, zero, 0x31 | a0 = 0x31;
0x00026284 sb a0, 1(v0) | *((v0 + 1)) = a0;
0x00026288 addiu v0, zero, 0x36 | v0 = 0x36;
0x0002628c sb v0, 1(v1) | *((v1 + 1)) = v0;
0x00026290 sb zero, 2(v1) | *((v1 + 2)) = 0;
0x00026294 b 0x26154 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/zip @ 0x25f28 */
| #include <stdint.h>
|
; (fcn) sym.zip_fzofft () | void zip_fzofft () {
0x00025f28 lui gp, 3 |
0x00025f2c addiu gp, gp, -0x4298 |
0x00025f30 addu gp, gp, t9 | gp += t9;
0x00025f34 addiu sp, sp, -0x38 |
0x00025f38 addiu v1, zero, -1 | v1 = -1;
0x00025f3c sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00025f40 lw s3, -0x7f7c(gp) | s3 = *((gp - 8159));
0x00025f44 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00025f48 addiu s2, s3, -0x6680 | s2 = s3 + -0x6680;
0x00025f4c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00025f50 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00025f54 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00025f58 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00025f5c sw ra, 0x34(sp) | *(var_34h) = ra;
0x00025f60 move s0, a0 | s0 = a0;
0x00025f64 move s1, a1 | s1 = a1;
0x00025f68 move s4, a3 | s4 = a3;
0x00025f6c sb zero, 1(s2) | *((s2 + 1)) = 0;
| if (a2 == v1) {
0x00025f70 beq a2, v1, 0x26088 | goto label_1;
| }
0x00025f74 addiu v1, zero, -2 | v1 = -2;
0x00025f78 move v0, a2 | v0 = a2;
| if (a2 == v1) {
0x00025f7c beq a2, v1, 0x260a8 | goto label_2;
| }
0x00025f80 lw t9, -0x7a10(gp) | t9 = sym.imp.__strcat_chk;
| if (a2 != 0) {
0x00025f84 beqz a2, 0x25f9c |
0x00025f88 addiu a2, zero, 0x10 | a2 = 0x10;
0x00025f8c move a1, v0 | a1 = v0;
0x00025f90 move a0, s2 | a0 = s2;
0x00025f94 jalr t9 | t9 ();
0x00025f98 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_0:
0x00025f9c lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x00025fa0 addiu a0, s3, -0x6680 | a0 = s3 + -0x6680;
0x00025fa4 jalr t9 | t9 ();
0x00025fa8 addu v0, s2, v0 | v0 = s2 + v0;
0x00025fac addiu v1, zero, 0x6c | v1 = 0x6c;
0x00025fb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00025fb4 sb v1, (v0) | *(v0) = v1;
0x00025fb8 sb v1, 1(v0) | *((v0 + 1)) = v1;
0x00025fbc sb zero, 2(v0) | *((v0 + 2)) = 0;
0x00025fc0 addiu a0, v0, 2 | a0 = v0 + 2;
| if (s4 == 0) {
0x00025fc4 beqz s4, 0x26078 | goto label_3;
| }
0x00025fc8 lw t9, -0x7b1c(gp) | t9 = sym.imp.__strcpy_chk
0x00025fcc addiu a2, zero, 0x10 | a2 = 0x10;
0x00025fd0 move a1, s4 | a1 = s4;
0x00025fd4 jalr t9 | t9 ();
0x00025fd8 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00025fdc lw s4, -0x7f7c(gp) | s4 = *((gp - 8159));
0x00025fe0 lui v0, 0x8000 | v0 = 0x80000003;
0x00025fe4 addiu v0, v0, 3 |
0x00025fe8 lw v1, -0x3f7c(s4) | v1 = *((s4 - 4063));
0x00025fec addiu v1, v1, 1 | v1++;
0x00025ff0 and v1, v1, v0 | v1 &= v0;
0x00025ff4 sll a0, v1, 1 | a0 = v1 << 1;
| if (v1 < 0) {
0x00025ff8 bgez v1, 0x26010 |
0x00025ffc addiu v1, v1, -1 | v1 += -1;
0x00026000 addiu v0, zero, -4 | v0 = -4;
0x00026004 or v1, v1, v0 | v1 |= v0;
0x00026008 addiu v1, v1, 1 | v1++;
0x0002600c sll a0, v1, 1 | a0 = v1 << 1;
| }
0x00026010 lw s2, -0x7f7c(gp) | s2 = *((gp - 8159));
0x00026014 addu a0, a0, v1 | a0 += v1;
0x00026018 addiu s2, s2, -0x3fdc | s2 += -0x3fdc;
0x0002601c lw t9, -0x7ba0(gp) | t9 = sym.imp.__sprintf_chk;
0x00026020 sll a0, a0, 3 | a0 <<= 3;
0x00026024 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00026028 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0002602c addiu a3, s3, -0x6680 | a3 = s3 + -0x6680;
0x00026030 addu a0, s2, a0 | a0 = s2 + a0;
0x00026034 sw v1, -0x3f7c(s4) | *((s4 - 4063)) = v1;
0x00026038 addiu a2, zero, -1 | a2 = -1;
0x0002603c addiu a1, zero, 1 | a1 = 1;
0x00026040 jalr t9 | t9 ();
0x00026044 lw v1, -0x3f7c(s4) | v1 = *((s4 - 4063));
0x00026048 lw ra, 0x34(sp) | ra = *(var_34h);
0x0002604c sll v0, v1, 1 | v0 = v1 << 1;
0x00026050 addu v0, v0, v1 | v0 += v1;
0x00026054 sll v0, v0, 3 | v0 <<= 3;
0x00026058 addu v0, s2, v0 | v0 = s2 + v0;
0x0002605c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00026060 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00026064 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00026068 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0002606c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00026070 addiu sp, sp, 0x38 |
0x00026074 jr ra | return v0;
| label_3:
0x00026078 addiu v1, zero, 0x64 | v1 = 0x64;
0x0002607c sb v1, 2(v0) | *((v0 + 2)) = v1;
0x00026080 sb zero, 1(a0) | *((a0 + 1)) = 0;
0x00026084 b 0x25fdc |
| } while (1);
| label_1:
0x00026088 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0002608c lw t9, -0x7a10(gp) | t9 = sym.imp.__strcat_chk;
0x00026090 addiu a2, zero, 0x10 | a2 = 0x10;
| /* esilref: '16' */
0x00026094 addiu a1, a1, 0x7cb0 | a1 += 0x7cb0;
0x00026098 move a0, s2 | a0 = s2;
0x0002609c jalr t9 | t9 ();
0x000260a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000260a4 b 0x25f9c | goto label_0;
| label_2:
0x000260a8 lw t9, -0x7ae0(gp) | t9 = sym.imp.strlen;
0x000260ac move a0, s2 | a0 = s2;
0x000260b0 jalr t9 | t9 ();
0x000260b4 addu v0, s2, v0 | v0 = s2 + v0;
0x000260b8 addiu a0, zero, 0x2e | a0 = 0x2e;
0x000260bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000260c0 addiu v1, v0, 1 | v1 = v0 + 1;
0x000260c4 sb a0, (v0) | *(v0) = a0;
0x000260c8 addiu a0, zero, 0x31 | a0 = 0x31;
0x000260cc sb a0, 1(v0) | *((v0 + 1)) = a0;
0x000260d0 addiu v0, zero, 0x36 | v0 = 0x36;
0x000260d4 sb v0, 1(v1) | *((v1 + 1)) = v0;
0x000260d8 sb zero, 2(v1) | *((v1 + 2)) = 0;
0x000260dc b 0x25f9c | goto label_0;
| }
[*] Function strcpy used 9 times zip