[*] Binary protection state of tz_dst
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of tz_dst
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/tz_dst @ 0x401d9c */
| #include <stdint.h>
|
; (fcn) aav.0x00401d9c () | void aav_0x00401d9c () {
0x00401d9c lui gp, 2 |
0x00401da0 addiu gp, gp, 0x3284 |
0x00401da4 addu gp, gp, t9 | gp += t9;
0x00401da8 addiu sp, sp, -0x48 |
0x00401dac sw ra, 0x44(sp) | *(var_44h) = ra;
0x00401db0 sw fp, 0x40(sp) | *(var_40h) = fp;
0x00401db4 move fp, sp | fp = sp;
0x00401db8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00401dbc sw a0, 0x24(fp) | *(arg_24h) = a0;
0x00401dc0 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x00401dc4 sw a2, 0x1c(fp) | *(arg_1ch) = a2;
0x00401dc8 lw t8, -0x7ec0(gp) | t8 = *((gp - 8112));
0x00401dcc lw t8, (t8) | t8 = *(t8);
0x00401dd0 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00401dd4 addiu t8, zero, 3 | t8 = 3;
0x00401dd8 sw t8, 0x34(fp) | *(arg_34h) = t8;
0x00401ddc sb zero, 0x2b(fp) | *(arg_2bh) = 0;
0x00401de0 lw t8, -0x7fd0(gp) | t8 = sym.getYear__;
0x00401de4 move t9, t8 | t9 = t8;
0x00401de8 jalr t9 | t9 ();
0x00401dec nop |
0x00401df0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00401df4 move t8, v0 | t8 = v0;
0x00401df8 sw t8, 0x38(fp) | *(arg_38h) = t8;
0x00401dfc sw zero, 0x2c(fp) | *(arg_2ch) = 0;
0x00401e00 b 0x401f64 | goto label_1;
0x00401e04 nop |
| label_0:
0x00401e08 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00401e0c lw v1, 0x2c(fp) | v1 = *(arg_2ch);
0x00401e10 addiu v0, zero, 0x190 | v0 = 0x190;
0x00401e14 mult v1, v0 | __asm ("mult v1, v0");
0x00401e18 addiu t8, t8, -0x50bc | t8 += -0x50bc;
0x00401e1c mflo v0 | __asm ("mflo v0");
0x00401e20 addu t8, v0, t8 | t8 = v0 + t8;
0x00401e24 lw v0, (t8) | v0 = *(t8);
0x00401e28 lw t8, 0x24(fp) | t8 = *(arg_24h);
| if (v0 != t8) {
0x00401e2c bne v0, t8, 0x401f58 | goto label_2;
| }
0x00401e30 nop |
0x00401e34 sw zero, 0x30(fp) | *(arg_30h) = 0;
0x00401e38 b 0x401f40 | goto label_3;
0x00401e3c nop |
| do {
0x00401e40 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00401e44 lw v1, 0x30(fp) | v1 = *(arg_30h);
0x00401e48 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00401e4c addiu v0, t8, -0x50bc | v0 = t8 + -0x50bc;
0x00401e50 addiu t8, zero, 0x2c | t8 = 0x2c;
0x00401e54 mult v1, t8 | __asm ("mult v1, t8");
0x00401e58 mflo t8 | __asm ("mflo t8");
0x00401e5c addiu v1, zero, 0x190 | v1 = 0x190;
0x00401e60 mult a0, v1 | __asm ("mult a0, v1");
0x00401e64 mflo v1 | __asm ("mflo v1");
0x00401e68 addu t8, t8, v1 | t8 += v1;
0x00401e6c addu t8, v0, t8 | t8 = v0 + t8;
0x00401e70 lw v0, 4(t8) | v0 = *((t8 + 1));
0x00401e74 lw t8, 0x38(fp) | t8 = *(arg_38h);
| if (v0 == t8) {
0x00401e78 bne v0, t8, 0x401f34 |
0x00401e7c nop |
0x00401e80 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00401e84 addiu t8, zero, 0x2c | t8 = 0x2c;
0x00401e88 mult v0, t8 | __asm ("mult v0, t8");
0x00401e8c mflo t8 | __asm ("mflo t8");
0x00401e90 lw v1, 0x2c(fp) | v1 = *(arg_2ch);
0x00401e94 addiu v0, zero, 0x190 | v0 = 0x190;
0x00401e98 mult v1, v0 | __asm ("mult v1, v0");
0x00401e9c mflo v1 | __asm ("mflo v1");
0x00401ea0 addu v0, t8, v1 | v0 = t8 + v1;
0x00401ea4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00401ea8 addiu t8, t8, -0x50bc | t8 += -0x50bc;
0x00401eac addu t8, v0, t8 | t8 = v0 + t8;
0x00401eb0 addiu t8, t8, 8 | t8 += 8;
0x00401eb4 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00401eb8 move a1, t8 | a1 = t8;
0x00401ebc lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00401ec0 move t9, t8 | t9 = t8;
0x00401ec4 jalr t9 | t9 ();
0x00401ec8 nop |
0x00401ecc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00401ed0 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00401ed4 addiu t8, zero, 0x2c | t8 = 0x2c;
0x00401ed8 mult v0, t8 | __asm ("mult v0, t8");
0x00401edc mflo t8 | __asm ("mflo t8");
0x00401ee0 lw v1, 0x2c(fp) | v1 = *(arg_2ch);
0x00401ee4 addiu v0, zero, 0x190 | v0 = 0x190;
0x00401ee8 mult v1, v0 | __asm ("mult v1, v0");
0x00401eec mflo v0 | __asm ("mflo v0");
0x00401ef0 addu t8, t8, v0 | t8 += v0;
0x00401ef4 addiu v0, t8, 0x18 | v0 = t8 + 0x18;
0x00401ef8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00401efc addiu t8, t8, -0x50bc | t8 += -0x50bc;
0x00401f00 addu t8, v0, t8 | t8 = v0 + t8;
0x00401f04 addiu t8, t8, 4 | t8 += 4;
0x00401f08 lw a0, 0x1c(fp) | a0 = *(arg_1ch);
0x00401f0c move a1, t8 | a1 = t8;
0x00401f10 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00401f14 move t9, t8 | t9 = t8;
0x00401f18 jalr t9 | t9 ();
0x00401f1c nop |
0x00401f20 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00401f24 addiu t8, zero, 1 | t8 = 1;
0x00401f28 sb t8, 0x2b(fp) | *(arg_2bh) = t8;
0x00401f2c b 0x401f50 | goto label_4;
0x00401f30 nop |
| }
0x00401f34 lw t8, 0x30(fp) | t8 = *(arg_30h);
0x00401f38 addiu t8, t8, 1 | t8++;
0x00401f3c sw t8, 0x30(fp) | *(arg_30h) = t8;
| label_3:
0x00401f40 lw t8, 0x30(fp) | t8 = *(arg_30h);
0x00401f44 sltiu t8, t8, 9 | t8 = (t8 < 9) ? 1 : 0;
0x00401f48 bnez t8, 0x401e40 |
| } while (t8 != 0);
0x00401f4c nop |
| label_4:
0x00401f50 b 0x401f78 | goto label_5;
0x00401f54 nop |
| label_2:
0x00401f58 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00401f5c addiu t8, t8, 1 | t8++;
0x00401f60 sw t8, 0x2c(fp) | *(arg_2ch) = t8;
| label_1:
0x00401f64 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00401f68 lw t8, 0x34(fp) | t8 = *(arg_34h);
0x00401f6c sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00401f70 bnez t8, 0x401e08 | goto label_0;
| }
0x00401f74 nop |
| label_5:
0x00401f78 lbu t8, 0x2b(fp) | t8 = *(arg_2bh);
0x00401f7c move v0, t8 | v0 = t8;
0x00401f80 lw t8, -0x7ec0(gp) | t8 = *((gp - 8112));
0x00401f84 lw v1, 0x3c(fp) | v1 = *(arg_3ch);
0x00401f88 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00401f8c beq v1, t8, 0x401fa4 |
0x00401f90 nop |
0x00401f94 lw t8, -0x7f08(gp) | t8 = sym.imp.__stack_chk_fail;
0x00401f98 move t9, t8 | t9 = t8;
0x00401f9c jalr t9 | t9 ();
0x00401fa0 nop |
| }
0x00401fa4 move sp, fp |
0x00401fa8 lw ra, 0x44(sp) | ra = *(var_44h);
0x00401fac lw fp, 0x40(sp) | fp = *(var_40h);
0x00401fb0 addiu sp, sp, 0x48 |
0x00401fb4 jr ra | return v1;
0x00401fb8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/tz_dst @ 0x402938 */
| #include <stdint.h>
|
; (fcn) aav.0x00402938 () | void aav_0x00402938 () {
0x00402938 lui gp, 2 |
0x0040293c addiu gp, gp, 0x26e8 |
0x00402940 addu gp, gp, t9 | gp += t9;
0x00402944 addiu sp, sp, -0xf0 |
0x00402948 sw ra, 0xec(sp) | *(var_ech) = ra;
0x0040294c sw fp, 0xe8(sp) | *(var_e8h) = fp;
0x00402950 move fp, sp | fp = sp;
0x00402954 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00402958 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x0040295c lw t8, -0x7ec0(gp) | t8 = *((gp - 8112));
0x00402960 lw t8, (t8) | t8 = *(t8);
0x00402964 sw t8, 0xe4(fp) | *(arg_e4h) = t8;
0x00402968 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x0040296c move a0, t8 | a0 = t8;
0x00402970 lw t8, -0x7ec4(gp) | t8 = sym.imp.cam_get_tzone2__tzone_setting2_;
0x00402974 move t9, t8 | t9 = t8;
0x00402978 jalr t9 | t9 ();
0x0040297c nop |
0x00402980 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402984 move t8, v0 | t8 = v0;
0x00402988 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x0040298c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402990 beqz t8, 0x4029a4 |
0x00402994 nop |
0x00402998 move t8, zero | t8 = 0;
0x0040299c b 0x403278 | goto label_0;
0x004029a0 nop |
| }
0x004029a4 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x004029a8 lw v0, (t8) | v0 = *(t8);
0x004029ac lbu t8, 0x28(fp) | t8 = *(arg_28h);
0x004029b0 move a0, v0 | a0 = v0;
0x004029b4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.auto_tz:__d_n */
0x004029b8 addiu a1, v0, -0x6d30 | a1 = v0 + -0x6d30;
0x004029bc move a2, t8 | a2 = t8;
0x004029c0 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x004029c4 move t9, t8 | t9 = t8;
0x004029c8 jalr t9 | t9 ();
0x004029cc nop |
0x004029d0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004029d4 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x004029d8 lw v0, (t8) | v0 = *(t8);
0x004029dc addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x004029e0 addiu t8, t8, 1 | t8++;
0x004029e4 move a0, v0 | a0 = v0;
0x004029e8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.std_code:__s_n */
0x004029ec addiu a1, v0, -0x6d20 | a1 = v0 + -0x6d20;
0x004029f0 move a2, t8 | a2 = t8;
0x004029f4 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x004029f8 move t9, t8 | t9 = t8;
0x004029fc jalr t9 | t9 ();
0x00402a00 nop |
0x00402a04 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a08 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402a0c lw v0, (t8) | v0 = *(t8);
0x00402a10 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402a14 addiu t8, t8, 0x11 | t8 += 0x11;
0x00402a18 move a0, v0 | a0 = v0;
0x00402a1c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.std_offset:__s_n */
0x00402a20 addiu a1, v0, -0x6d10 | a1 = v0 + -0x6d10;
0x00402a24 move a2, t8 | a2 = t8;
0x00402a28 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402a2c move t9, t8 | t9 = t8;
0x00402a30 jalr t9 | t9 ();
0x00402a34 nop |
0x00402a38 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a3c lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402a40 lw v0, (t8) | v0 = *(t8);
0x00402a44 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402a48 move a0, v0 | a0 = v0;
0x00402a4c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.index:__d_n */
0x00402a50 addiu a1, v0, -0x6d00 | a1 = v0 + -0x6d00;
0x00402a54 move a2, t8 | a2 = t8;
0x00402a58 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402a5c move t9, t8 | t9 = t8;
0x00402a60 jalr t9 | t9 ();
0x00402a64 nop |
0x00402a68 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a6c lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402a70 lw v0, (t8) | v0 = *(t8);
0x00402a74 lbu t8, 0x50(fp) | t8 = *(arg_50h);
0x00402a78 move a0, v0 | a0 = v0;
0x00402a7c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.enable_dst:__d_n */
0x00402a80 addiu a1, v0, -0x6cf4 | a1 = v0 + -0x6cf4;
0x00402a84 move a2, t8 | a2 = t8;
0x00402a88 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402a8c move t9, t8 | t9 = t8;
0x00402a90 jalr t9 | t9 ();
0x00402a94 nop |
0x00402a98 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a9c lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402aa0 lw v0, (t8) | v0 = *(t8);
0x00402aa4 lbu t8, 0x51(fp) | t8 = *(arg_51h);
0x00402aa8 move a0, v0 | a0 = v0;
0x00402aac lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.auto_dst:__d_n */
0x00402ab0 addiu a1, v0, -0x6ce4 | a1 = v0 + -0x6ce4;
0x00402ab4 move a2, t8 | a2 = t8;
0x00402ab8 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402abc move t9, t8 | t9 = t8;
0x00402ac0 jalr t9 | t9 ();
0x00402ac4 nop |
0x00402ac8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402acc lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402ad0 lw v0, (t8) | v0 = *(t8);
0x00402ad4 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402ad8 addiu t8, t8, 0x2a | t8 += 0x2a;
0x00402adc move a0, v0 | a0 = v0;
0x00402ae0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_code:__s_n */
0x00402ae4 addiu a1, v0, -0x6cd4 | a1 = v0 + -0x6cd4;
0x00402ae8 move a2, t8 | a2 = t8;
0x00402aec lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402af0 move t9, t8 | t9 = t8;
0x00402af4 jalr t9 | t9 ();
0x00402af8 nop |
0x00402afc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b00 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402b04 lw v0, (t8) | v0 = *(t8);
0x00402b08 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402b0c addiu t8, t8, 0x3a | t8 += 0x3a;
0x00402b10 move a0, v0 | a0 = v0;
0x00402b14 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_offset:__s_n */
0x00402b18 addiu a1, v0, -0x6cc4 | a1 = v0 + -0x6cc4;
0x00402b1c move a2, t8 | a2 = t8;
0x00402b20 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402b24 move t9, t8 | t9 = t8;
0x00402b28 jalr t9 | t9 ();
0x00402b2c nop |
0x00402b30 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b34 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402b38 lw v0, (t8) | v0 = *(t8);
0x00402b3c addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402b40 addiu t8, t8, 0x5a | t8 += 0x5a;
0x00402b44 move a0, v0 | a0 = v0;
0x00402b48 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_start:__s_n */
0x00402b4c addiu a1, v0, -0x6cb4 | a1 = v0 + -0x6cb4;
0x00402b50 move a2, t8 | a2 = t8;
0x00402b54 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402b58 move t9, t8 | t9 = t8;
0x00402b5c jalr t9 | t9 ();
0x00402b60 nop |
0x00402b64 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b68 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00402b6c lw v0, (t8) | v0 = *(t8);
0x00402b70 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402b74 addiu t8, t8, 0x7a | t8 += 0x7a;
0x00402b78 move a0, v0 | a0 = v0;
0x00402b7c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_end:__s_n */
0x00402b80 addiu a1, v0, -0x6ca4 | a1 = v0 + -0x6ca4;
0x00402b84 move a2, t8 | a2 = t8;
0x00402b88 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00402b8c move t9, t8 | t9 = t8;
0x00402b90 jalr t9 | t9 ();
0x00402b94 nop |
0x00402b98 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b9c addiu t8, zero, 0x5e | t8 = 0x5e;
0x00402ba0 sb t8, 0x23(fp) | *(arg_23h) = t8;
0x00402ba4 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
| if (t8 > 0) {
0x00402ba8 blez t8, 0x402bc0 |
0x00402bac nop |
0x00402bb0 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402bb4 slti t8, t8, 0x5f | t8 = (t8 < 0x5f) ? 1 : 0;
| if (t8 != 0) {
0x00402bb8 bnez t8, 0x402bcc | goto label_1;
| }
0x00402bbc nop |
| }
0x00402bc0 move t8, zero | t8 = 0;
0x00402bc4 b 0x403278 | goto label_0;
0x00402bc8 nop |
| label_1:
0x00402bcc lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402bd0 addiu t8, t8, -1 | t8 += -1;
0x00402bd4 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00402bd8 lbu t8, 0x28(fp) | t8 = *(arg_28h);
| if (t8 != 0) {
0x00402bdc beqz t8, 0x402c60 |
0x00402be0 nop |
0x00402be4 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402be8 addiu v0, t8, 1 | v0 = t8 + 1;
0x00402bec lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402bf0 sll v1, t8, 6 | v1 = t8 << 6;
0x00402bf4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402bf8 addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402bfc addu t8, v1, t8 | t8 = v1 + t8;
0x00402c00 move a0, v0 | a0 = v0;
0x00402c04 move a1, t8 | a1 = t8;
0x00402c08 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402c0c move t9, t8 | t9 = t8;
0x00402c10 jalr t9 | t9 ();
0x00402c14 nop |
0x00402c18 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402c1c lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402c20 addiu v0, t8, 0x11 | v0 = t8 + 0x11;
0x00402c24 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402c28 sll t8, t8, 6 | t8 <<= 6;
0x00402c2c addiu v1, t8, 8 | v1 = t8 + 8;
0x00402c30 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402c34 addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402c38 addu t8, v1, t8 | t8 = v1 + t8;
0x00402c3c move a0, v0 | a0 = v0;
0x00402c40 move a1, t8 | a1 = t8;
0x00402c44 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402c48 move t9, t8 | t9 = t8;
0x00402c4c jalr t9 | t9 ();
0x00402c50 nop |
0x00402c54 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402c58 b 0x402cdc | goto label_2;
0x00402c5c nop |
| }
0x00402c60 lb t8, 0x29(fp) | t8 = *(arg_29h);
| if (t8 != 0) {
0x00402c64 beqz t8, 0x402c78 |
0x00402c68 nop |
0x00402c6c lb t8, 0x39(fp) | t8 = *(arg_39h);
| if (t8 != 0) {
0x00402c70 bnez t8, 0x402c84 | goto label_3;
| }
0x00402c74 nop |
| }
0x00402c78 move t8, zero | t8 = 0;
0x00402c7c b 0x403278 | goto label_0;
0x00402c80 nop |
| label_3:
0x00402c84 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402c88 addiu v0, t8, 1 | v0 = t8 + 1;
0x00402c8c addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402c90 addiu t8, t8, 1 | t8++;
0x00402c94 move a0, v0 | a0 = v0;
0x00402c98 move a1, t8 | a1 = t8;
0x00402c9c lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402ca0 move t9, t8 | t9 = t8;
0x00402ca4 jalr t9 | t9 ();
0x00402ca8 nop |
0x00402cac lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402cb0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402cb4 addiu v0, t8, 0x11 | v0 = t8 + 0x11;
0x00402cb8 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402cbc addiu t8, t8, 0x11 | t8 += 0x11;
0x00402cc0 move a0, v0 | a0 = v0;
0x00402cc4 move a1, t8 | a1 = t8;
0x00402cc8 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402ccc move t9, t8 | t9 = t8;
0x00402cd0 jalr t9 | t9 ();
0x00402cd4 nop |
0x00402cd8 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_2:
0x00402cdc lbu t8, 0x50(fp) | t8 = *(arg_50h);
0x00402ce0 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x00402ce4 andi v0, t8, 0xff | v0 = t8 & 0xff;
0x00402ce8 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402cec sb v0, (t8) | *(t8) = v0;
0x00402cf0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402cf4 lbu t8, (t8) | t8 = *(t8);
| if (t8 != 0) {
0x00402cf8 beqz t8, 0x403108 |
0x00402cfc nop |
0x00402d00 lbu t8, 0x51(fp) | t8 = *(arg_51h);
| if (t8 != 0) {
0x00402d04 beqz t8, 0x402e78 |
0x00402d08 nop |
0x00402d0c lw v0, 0x4c(fp) | v0 = *(arg_4ch);
0x00402d10 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00402d14 sll v0, v0, 6 | v0 <<= 6;
| /* esilref: 'DST' */
0x00402d18 addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402d1c addu t8, v0, t8 | t8 = v0 + t8;
0x00402d20 lb t8, 0x10(t8) | t8 = *((t8 + 16));
| if (t8 == 0) {
0x00402d24 bnez t8, 0x402d3c |
0x00402d28 nop |
0x00402d2c lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402d30 sb zero, (t8) | *(t8) = 0;
0x00402d34 b 0x403098 | goto label_4;
0x00402d38 nop |
| }
0x00402d3c lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402d40 addiu v0, t8, 0x31 | v0 = t8 + 0x31;
0x00402d44 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402d48 sll t8, t8, 6 | t8 <<= 6;
0x00402d4c addiu v1, t8, 0x10 | v1 = t8 + 0x10;
0x00402d50 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402d54 addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402d58 addu t8, v1, t8 | t8 = v1 + t8;
0x00402d5c move a0, v0 | a0 = v0;
0x00402d60 move a1, t8 | a1 = t8;
0x00402d64 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402d68 move t9, t8 | t9 = t8;
0x00402d6c jalr t9 | t9 ();
0x00402d70 nop |
0x00402d74 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402d78 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402d7c addiu t8, t8, 0x41 | t8 += 0x41;
0x00402d80 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00402d84 lw v1, -0x6c94(v0) | v1 = *((v0 - 6949));
0x00402d88 swl v1, 3(t8) | __asm ("swl v1, 3(t8)");
0x00402d8c swr v1, (t8) | __asm ("swr v1, (t8)");
| /* esilref: '01:00' */
0x00402d90 addiu v0, v0, -0x6c94 | v0 += -0x6c94;
0x00402d94 lbu v1, 4(v0) | v1 = *((v0 + 4));
0x00402d98 sb v1, 4(t8) | *((t8 + 4)) = v1;
0x00402d9c lbu v0, 5(v0) | v0 = *((v0 + 5));
0x00402da0 sb v0, 5(t8) | *((t8 + 5)) = v0;
0x00402da4 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402da8 move v1, t8 | v1 = t8;
0x00402dac lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402db0 addiu v0, t8, 0x61 | v0 = t8 + 0x61;
0x00402db4 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402db8 addiu t8, t8, 0x81 | t8 += 0x81;
0x00402dbc move a0, v1 | a0 = v1;
0x00402dc0 move a1, v0 | a1 = v0;
0x00402dc4 move a2, t8 | a2 = t8;
0x00402dc8 lw t8, -0x7fc0(gp) | t8 = *(gp);
| /* aav.0x00401d9c */
0x00402dcc addiu t8, t8, 0x1d9c | t8 += 0x1d9c;
0x00402dd0 move t9, t8 | t9 = t8;
0x00402dd4 jalr t9 | t9 ();
0x00402dd8 nop |
0x00402ddc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402de0 move t8, v0 | t8 = v0;
0x00402de4 xori t8, t8, 1 | t8 ^= 1;
0x00402de8 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 == 0) {
0x00402dec beqz t8, 0x403098 | goto label_4;
| }
0x00402df0 nop |
0x00402df4 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402df8 addiu v0, t8, 0x61 | v0 = t8 + 0x61;
0x00402dfc lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402e00 sll t8, t8, 6 | t8 <<= 6;
0x00402e04 addiu v1, t8, 0x18 | v1 = t8 + 0x18;
0x00402e08 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402e0c addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402e10 addu t8, v1, t8 | t8 = v1 + t8;
0x00402e14 move a0, v0 | a0 = v0;
0x00402e18 move a1, t8 | a1 = t8;
0x00402e1c lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402e20 move t9, t8 | t9 = t8;
0x00402e24 jalr t9 | t9 ();
0x00402e28 nop |
0x00402e2c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402e30 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402e34 addiu v0, t8, 0x81 | v0 = t8 + 0x81;
0x00402e38 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402e3c sll t8, t8, 6 | t8 <<= 6;
0x00402e40 addiu v1, t8, 0x28 | v1 = t8 + 0x28;
0x00402e44 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402e48 addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402e4c addu t8, v1, t8 | t8 = v1 + t8;
0x00402e50 addiu t8, t8, 4 | t8 += 4;
0x00402e54 move a0, v0 | a0 = v0;
0x00402e58 move a1, t8 | a1 = t8;
0x00402e5c lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402e60 move t9, t8 | t9 = t8;
0x00402e64 jalr t9 | t9 ();
0x00402e68 nop |
0x00402e6c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402e70 b 0x403098 | goto label_4;
0x00402e74 nop |
| }
0x00402e78 lbu t8, 0x28(fp) | t8 = *(arg_28h);
| if (t8 == 0) {
0x00402e7c bnez t8, 0x402e90 |
0x00402e80 nop |
0x00402e84 lb t8, 0x52(fp) | t8 = *(arg_52h);
| if (t8 != 0) {
0x00402e88 bnez t8, 0x402fb8 | goto label_5;
| }
0x00402e8c nop |
| }
0x00402e90 lw v0, 0x4c(fp) | v0 = *(arg_4ch);
0x00402e94 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00402e98 sll v0, v0, 6 | v0 <<= 6;
| /* esilref: 'DST' */
0x00402e9c addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402ea0 addu t8, v0, t8 | t8 = v0 + t8;
0x00402ea4 lb t8, 0x10(t8) | t8 = *((t8 + 16));
| if (t8 == 0) {
0x00402ea8 bnez t8, 0x402f74 |
0x00402eac nop |
0x00402eb0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402eb4 addiu v0, t8, 0x31 | v0 = t8 + 0x31;
0x00402eb8 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402ebc addiu t8, t8, 1 | t8++;
0x00402ec0 move a0, v0 | a0 = v0;
0x00402ec4 move a1, t8 | a1 = t8;
0x00402ec8 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402ecc move t9, t8 | t9 = t8;
0x00402ed0 jalr t9 | t9 ();
0x00402ed4 nop |
0x00402ed8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402edc lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402ee0 addiu t8, t8, 0x31 | t8 += 0x31;
0x00402ee4 move a0, t8 | a0 = t8;
0x00402ee8 lw t8, -0x7ee4(gp) | t8 = sym.imp.strlen;
0x00402eec move t9, t8 | t9 = t8;
0x00402ef0 jalr t9 | t9 ();
0x00402ef4 nop |
0x00402ef8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402efc move t8, v0 | t8 = v0;
0x00402f00 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00402f04 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00402f08 slti t8, t8, 2 | t8 = (t8 < 2) ? 1 : 0;
| if (t8 == 0) {
0x00402f0c bnez t8, 0x402f6c |
0x00402f10 nop |
0x00402f14 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00402f18 addiu t8, t8, -2 | t8 += -2;
0x00402f1c lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00402f20 addu t8, v0, t8 | t8 = v0 + t8;
0x00402f24 lb v0, 0x31(t8) | v0 = *((t8 + 49));
0x00402f28 addiu t8, zero, 0x53 | t8 = 0x53;
| if (v0 != t8) {
0x00402f2c bne v0, t8, 0x402f6c | goto label_6;
| }
0x00402f30 nop |
0x00402f34 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00402f38 addiu t8, t8, -1 | t8 += -1;
0x00402f3c lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00402f40 addu t8, v0, t8 | t8 = v0 + t8;
0x00402f44 lb v0, 0x31(t8) | v0 = *((t8 + 49));
0x00402f48 addiu t8, zero, 0x54 | t8 = 0x54;
| if (v0 != t8) {
0x00402f4c bne v0, t8, 0x402f6c | goto label_6;
| }
0x00402f50 nop |
0x00402f54 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00402f58 addiu t8, t8, -2 | t8 += -2;
0x00402f5c lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00402f60 addu t8, v0, t8 | t8 = v0 + t8;
0x00402f64 addiu v0, zero, 0x44 | v0 = 0x44;
0x00402f68 sb v0, 0x31(t8) | *((t8 + 49)) = v0;
| }
| label_6:
0x00402f6c b 0x402fe4 | goto label_7;
0x00402f70 nop |
| }
0x00402f74 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402f78 addiu v0, t8, 0x31 | v0 = t8 + 0x31;
0x00402f7c lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402f80 sll t8, t8, 6 | t8 <<= 6;
0x00402f84 addiu v1, t8, 0x10 | v1 = t8 + 0x10;
0x00402f88 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'DST' */
0x00402f8c addiu t8, t8, -0x683c | t8 += -0x683c;
0x00402f90 addu t8, v1, t8 | t8 = v1 + t8;
0x00402f94 move a0, v0 | a0 = v0;
0x00402f98 move a1, t8 | a1 = t8;
0x00402f9c lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402fa0 move t9, t8 | t9 = t8;
0x00402fa4 jalr t9 | t9 ();
0x00402fa8 nop |
0x00402fac lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402fb0 b 0x402fe4 | goto label_7;
0x00402fb4 nop |
| label_5:
0x00402fb8 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00402fbc addiu v0, t8, 0x31 | v0 = t8 + 0x31;
0x00402fc0 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00402fc4 addiu t8, t8, 0x2a | t8 += 0x2a;
0x00402fc8 move a0, v0 | a0 = v0;
0x00402fcc move a1, t8 | a1 = t8;
0x00402fd0 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00402fd4 move t9, t8 | t9 = t8;
0x00402fd8 jalr t9 | t9 ();
0x00402fdc nop |
0x00402fe0 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_7:
0x00402fe4 lb t8, 0x62(fp) | t8 = *(arg_62h);
| if (t8 != 0) {
0x00402fe8 beqz t8, 0x403008 |
0x00402fec nop |
0x00402ff0 lb t8, 0x82(fp) | t8 = *(arg_82h);
| if (t8 == 0) {
0x00402ff4 beqz t8, 0x403008 | goto label_8;
| }
0x00402ff8 nop |
0x00402ffc lb t8, 0xa2(fp) | t8 = *(arg_a2h);
| if (t8 != 0) {
0x00403000 bnez t8, 0x403014 | goto label_9;
| }
0x00403004 nop |
| }
| label_8:
0x00403008 move t8, zero | t8 = 0;
0x0040300c b 0x403278 | goto label_0;
0x00403010 nop |
| label_9:
0x00403014 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403018 addiu v0, t8, 0x41 | v0 = t8 + 0x41;
0x0040301c addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00403020 addiu t8, t8, 0x3a | t8 += 0x3a;
0x00403024 move a0, v0 | a0 = v0;
0x00403028 move a1, t8 | a1 = t8;
0x0040302c lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00403030 move t9, t8 | t9 = t8;
0x00403034 jalr t9 | t9 ();
0x00403038 nop |
0x0040303c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403040 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403044 addiu v0, t8, 0x61 | v0 = t8 + 0x61;
0x00403048 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x0040304c addiu t8, t8, 0x5a | t8 += 0x5a;
0x00403050 move a0, v0 | a0 = v0;
0x00403054 move a1, t8 | a1 = t8;
0x00403058 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x0040305c move t9, t8 | t9 = t8;
0x00403060 jalr t9 | t9 ();
0x00403064 nop |
0x00403068 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040306c lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403070 addiu v0, t8, 0x81 | v0 = t8 + 0x81;
0x00403074 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00403078 addiu t8, t8, 0x7a | t8 += 0x7a;
0x0040307c move a0, v0 | a0 = v0;
0x00403080 move a1, t8 | a1 = t8;
0x00403084 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x00403088 move t9, t8 | t9 = t8;
0x0040308c jalr t9 | t9 ();
0x00403090 nop |
0x00403094 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_4:
0x00403098 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x0040309c lbu t8, (t8) | t8 = *(t8);
| if (t8 == 0) {
0x004030a0 beqz t8, 0x403108 | goto label_10;
| }
0x004030a4 nop |
0x004030a8 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x004030ac addiu v0, t8, 0x11 | v0 = t8 + 0x11;
0x004030b0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x004030b4 addiu t8, t8, 0x41 | t8 += 0x41;
0x004030b8 addiu v1, fp, 0xc4 | v1 = fp + 0xc4;
0x004030bc move a0, v1 | a0 = v1;
0x004030c0 move a1, v0 | a1 = v0;
0x004030c4 move a2, t8 | a2 = t8;
0x004030c8 lw t8, -0x7fc0(gp) | t8 = *(gp);
| /* aav.0x00401fbc */
0x004030cc addiu t8, t8, 0x1fbc | t8 += 0x1fbc;
0x004030d0 move t9, t8 | t9 = t8;
0x004030d4 jalr t9 | t9 ();
0x004030d8 nop |
0x004030dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004030e0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x004030e4 addiu v0, t8, 0x41 | v0 = t8 + 0x41;
0x004030e8 addiu t8, fp, 0xc4 | t8 = fp + 0xc4;
0x004030ec move a0, v0 | a0 = v0;
0x004030f0 move a1, t8 | a1 = t8;
0x004030f4 lw t8, -0x7f60(gp) | t8 = sym.imp.strcpy
0x004030f8 move t9, t8 | t9 = t8;
0x004030fc jalr t9 | t9 ();
0x00403100 nop |
0x00403104 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
| label_10:
0x00403108 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x0040310c lw v0, (t8) | v0 = *(t8);
0x00403110 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403114 lbu t8, (t8) | t8 = *(t8);
0x00403118 move a0, v0 | a0 = v0;
0x0040311c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._n_nenable_dst:__d_n */
0x00403120 addiu a1, v0, -0x6c8c | a1 = v0 + -0x6c8c;
0x00403124 move a2, t8 | a2 = t8;
0x00403128 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x0040312c move t9, t8 | t9 = t8;
0x00403130 jalr t9 | t9 ();
0x00403134 nop |
0x00403138 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040313c lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00403140 lw v0, (t8) | v0 = *(t8);
0x00403144 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403148 addiu t8, t8, 1 | t8++;
0x0040314c move a0, v0 | a0 = v0;
0x00403150 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.std_code:__s_n */
0x00403154 addiu a1, v0, -0x6d20 | a1 = v0 + -0x6d20;
0x00403158 move a2, t8 | a2 = t8;
0x0040315c lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00403160 move t9, t8 | t9 = t8;
0x00403164 jalr t9 | t9 ();
0x00403168 nop |
0x0040316c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403170 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00403174 lw v0, (t8) | v0 = *(t8);
0x00403178 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x0040317c addiu t8, t8, 0x11 | t8 += 0x11;
0x00403180 move a0, v0 | a0 = v0;
0x00403184 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.std_offset:__s_n */
0x00403188 addiu a1, v0, -0x6d10 | a1 = v0 + -0x6d10;
0x0040318c move a2, t8 | a2 = t8;
0x00403190 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00403194 move t9, t8 | t9 = t8;
0x00403198 jalr t9 | t9 ();
0x0040319c nop |
0x004031a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004031a4 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x004031a8 lw v0, (t8) | v0 = *(t8);
0x004031ac lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x004031b0 addiu t8, t8, 0x31 | t8 += 0x31;
0x004031b4 move a0, v0 | a0 = v0;
0x004031b8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_code:__s_n */
0x004031bc addiu a1, v0, -0x6cd4 | a1 = v0 + -0x6cd4;
0x004031c0 move a2, t8 | a2 = t8;
0x004031c4 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x004031c8 move t9, t8 | t9 = t8;
0x004031cc jalr t9 | t9 ();
0x004031d0 nop |
0x004031d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004031d8 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x004031dc lw v0, (t8) | v0 = *(t8);
0x004031e0 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x004031e4 addiu t8, t8, 0x41 | t8 += 0x41;
0x004031e8 move a0, v0 | a0 = v0;
0x004031ec lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_offset:__s_n */
0x004031f0 addiu a1, v0, -0x6cc4 | a1 = v0 + -0x6cc4;
0x004031f4 move a2, t8 | a2 = t8;
0x004031f8 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x004031fc move t9, t8 | t9 = t8;
0x00403200 jalr t9 | t9 ();
0x00403204 nop |
0x00403208 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040320c lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00403210 lw v0, (t8) | v0 = *(t8);
0x00403214 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00403218 addiu t8, t8, 0x61 | t8 += 0x61;
0x0040321c move a0, v0 | a0 = v0;
0x00403220 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_start:__s_n */
0x00403224 addiu a1, v0, -0x6cb4 | a1 = v0 + -0x6cb4;
0x00403228 move a2, t8 | a2 = t8;
0x0040322c lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00403230 move t9, t8 | t9 = t8;
0x00403234 jalr t9 | t9 ();
0x00403238 nop |
0x0040323c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403240 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00403244 lw v0, (t8) | v0 = *(t8);
0x00403248 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x0040324c addiu t8, t8, 0x81 | t8 += 0x81;
0x00403250 move a0, v0 | a0 = v0;
0x00403254 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.dst_end:__s_n */
0x00403258 addiu a1, v0, -0x6ca4 | a1 = v0 + -0x6ca4;
0x0040325c move a2, t8 | a2 = t8;
0x00403260 lw t8, -0x7f34(gp) | t8 = sym.imp.fprintf;
0x00403264 move t9, t8 | t9 = t8;
0x00403268 jalr t9 | t9 ();
0x0040326c nop |
0x00403270 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403274 addiu t8, zero, 1 | t8 = 1;
| label_0:
0x00403278 move v0, t8 | v0 = t8;
0x0040327c lw t8, -0x7ec0(gp) | t8 = *((gp - 8112));
0x00403280 lw v1, 0xe4(fp) | v1 = *(arg_e4h);
0x00403284 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00403288 beq v1, t8, 0x4032a0 |
0x0040328c nop |
0x00403290 lw t8, -0x7f08(gp) | t8 = sym.imp.__stack_chk_fail;
0x00403294 move t9, t8 | t9 = t8;
0x00403298 jalr t9 | t9 ();
0x0040329c nop |
| }
0x004032a0 move sp, fp |
0x004032a4 lw ra, 0xec(sp) | ra = *(var_ech);
0x004032a8 lw fp, 0xe8(sp) | fp = *(var_e8h);
0x004032ac addiu sp, sp, 0xf0 |
0x004032b0 jr ra | return v1;
0x004032b4 nop |
| }
[*] Function strcpy used 17 times tz_dst