[*] Binary protection state of formData
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of formData
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/formData @ 0x4026e0 */
| #include <stdint.h>
|
; (fcn) sym.saveUntilNext_std::string__std::string_ () | void saveUntilNext_std::string_std::string_ () {
| /* saveUntilNext(std::string, std::string&) */
0x004026e0 lui gp, 2 |
0x004026e4 addiu gp, gp, -0x56c0 |
0x004026e8 addu gp, gp, t9 | gp += t9;
0x004026ec addiu sp, sp, -0x78 |
0x004026f0 sw ra, 0x74(sp) | *(var_74h) = ra;
0x004026f4 sw fp, 0x70(sp) | *(var_70h) = fp;
0x004026f8 sw s0, 0x6c(sp) | *(var_6ch) = s0;
0x004026fc move fp, sp | fp = sp;
0x00402700 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00402704 sw a0, 0x24(fp) | *(arg_24h) = a0;
0x00402708 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x0040270c sw a2, 0x1c(fp) | *(arg_1ch) = a2;
0x00402710 lw t8, -0x7ea8(gp) | t8 = *((gp - 8106));
0x00402714 lw t8, (t8) | t8 = *(t8);
0x00402718 sw t8, 0x64(fp) | *(arg_64h) = t8;
0x0040271c addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402720 move a0, t8 | a0 = t8;
0x00402724 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* esilref: '
' */
0x00402728 addiu a1, t8, 0x450c | a1 = t8 + 0x450c;
0x0040272c lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00402730 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402734 move t9, t8 | t9 = t8;
0x00402738 jalr t9 | t9 ();
0x0040273c nop |
0x00402740 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402744 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402748 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x0040274c move a1, t8 | a1 = t8;
0x00402750 lw t8, -0x7f80(gp) | t8 = *(gp);
0x00402754 move t9, t8 | t9 = t8;
0x00402758 jalr t9 | t9 ();
0x0040275c nop |
0x00402760 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402764 addiu t8, fp, 0x38 | t8 = fp + 0x38;
0x00402768 move a0, t8 | a0 = t8;
0x0040276c lw t8, -0x7ef0(gp) | t8 = *(gp);
0x00402770 move t9, t8 | t9 = t8;
0x00402774 jalr t9 | t9 ();
0x00402778 nop |
0x0040277c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402780 addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x00402784 move a0, t8 | a0 = t8;
0x00402788 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._tmp_ */
0x0040278c addiu a1, t8, 0x4510 | a1 = t8 + 0x4510;
0x00402790 lw a2, 0x1c(fp) | a2 = *(arg_1ch);
0x00402794 lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00402798 move t9, t8 | t9 = t8;
0x0040279c jalr t9 | t9 ();
0x004027a0 nop |
0x004027a4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004027a8 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x004027ac addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x004027b0 move a0, v0 | a0 = v0;
0x004027b4 move a1, t8 | a1 = t8;
0x004027b8 lw t8, -0x7f7c(gp) | t8 = *(gp);
0x004027bc move t9, t8 | t9 = t8;
0x004027c0 jalr t9 | t9 ();
0x004027c4 nop |
0x004027c8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004027cc addiu v0, fp, 0x38 | v0 = fp + 0x38;
0x004027d0 addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x004027d4 move a0, v0 | a0 = v0;
0x004027d8 move a1, t8 | a1 = t8;
0x004027dc lw t8, -0x7f0c(gp) | t8 = *(gp);
0x004027e0 move t9, t8 | t9 = t8;
0x004027e4 jalr t9 | t9 ();
0x004027e8 nop |
0x004027ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004027f0 addiu t8, zero, 0x20 | t8 = 0x20;
0x004027f4 sb t8, 0x2b(fp) | *(arg_2bh) = t8;
0x004027f8 addiu t8, zero, 0x5f | t8 = 0x5f;
0x004027fc sb t8, 0x2c(fp) | *(arg_2ch) = t8;
0x00402800 addiu v0, fp, 0x2b | v0 = fp + 0x2b;
0x00402804 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00402808 lw a0, 0x34(fp) | a0 = *(arg_34h);
0x0040280c lw a1, 0x38(fp) | a1 = *(arg_38h);
0x00402810 move a2, v0 | a2 = v0;
0x00402814 move a3, t8 | a3 = t8;
0x00402818 lw t8, -0x7fd0(gp) | t8 = *(gp);
0x0040281c move t9, t8 | t9 = t8;
0x00402820 jalr t9 | t9 ();
0x00402824 nop |
0x00402828 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040282c addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x00402830 move a0, t8 | a0 = t8;
0x00402834 lw t8, -0x7eb0(gp) | t8 = *(gp);
0x00402838 move t9, t8 | t9 = t8;
0x0040283c jalr t9 | t9 ();
0x00402840 nop |
0x00402844 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402848 move t8, v0 | t8 = v0;
0x0040284c move a0, t8 | a0 = t8;
0x00402850 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* esilref: 'wb' */
0x00402854 addiu a1, t8, 0x4518 | a1 = t8 + 0x4518;
0x00402858 lw t8, -0x7f14(gp) | t8 = sym.imp.fopen;
0x0040285c move t9, t8 | t9 = t8;
0x00402860 jalr t9 | t9 ();
0x00402864 nop |
0x00402868 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040286c move t8, v0 | t8 = v0;
0x00402870 sw t8, 0x48(fp) | *(arg_48h) = t8;
0x00402874 lw t8, 0x48(fp) | t8 = *(arg_48h);
| if (t8 == 0) {
0x00402878 bnez t8, 0x402904 |
0x0040287c nop |
0x00402880 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.fopen_failed */
0x00402884 addiu a0, t8, 0x451c | a0 = t8 + 0x451c;
0x00402888 lw t8, -0x7f40(gp) | t8 = sym.imp.perror;
0x0040288c move t9, t8 | t9 = t8;
0x00402890 jalr t9 | t9 ();
0x00402894 nop |
0x00402898 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040289c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004028a0 move a0, t8 | a0 = t8;
0x004028a4 lw t8, -0x7f74(gp) | t8 = *(gp);
0x004028a8 move t9, t8 | t9 = t8;
0x004028ac jalr t9 | t9 ();
0x004028b0 nop |
0x004028b4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004028b8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004028bc lw a0, 0x24(fp) | a0 = *(arg_24h);
0x004028c0 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x004028c4 addiu a1, v0, 0x44d4 | a1 = v0 + 0x44d4;
0x004028c8 move a2, t8 | a2 = t8;
0x004028cc lw t8, -0x7f24(gp) | t8 = *(gp);
0x004028d0 move t9, t8 | t9 = t8;
0x004028d4 jalr t9 | t9 ();
0x004028d8 nop |
0x004028dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004028e0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004028e4 move a0, t8 | a0 = t8;
0x004028e8 lw t8, -0x7f4c(gp) | t8 = *(gp);
0x004028ec move t9, t8 | t9 = t8;
0x004028f0 jalr t9 | t9 ();
0x004028f4 nop |
0x004028f8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004028fc b 0x4030a4 | goto label_1;
0x00402900 nop |
| }
0x00402904 addiu t8, zero, 1 | t8 = 1;
0x00402908 sb t8, 0x2f(fp) | *(arg_2fh) = t8;
0x0040290c addiu t8, zero, -1 | t8 = -1;
0x00402910 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00402914 sw zero, 0x40(fp) | *(arg_40h) = 0;
0x00402918 b 0x402da4 | goto label_2;
0x0040291c nop |
| label_0:
0x00402920 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402924 addiu t8, zero, -1 | t8 = -1;
| if (v0 == t8) {
0x00402928 bne v0, t8, 0x4029d0 |
0x0040292c nop |
0x00402930 lw t8, -0x7f54(gp) | t8 = *((gp - 8149));
0x00402934 lw t8, (t8) | t8 = *(t8);
0x00402938 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x0040293c lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402940 lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00402944 beqz t8, 0x4029ac |
0x00402948 nop |
0x0040294c lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402950 lw v0, 0x10(t8) | v0 = *((t8 + 4));
0x00402954 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00402958 lw t8, 0x18(t8) | t8 = *((t8 + 6));
0x0040295c sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00402960 beqz t8, 0x402988 |
0x00402964 nop |
0x00402968 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x0040296c lw t8, 0x10(t8) | t8 = *((t8 + 4));
0x00402970 addiu v1, t8, 1 | v1 = t8 + 1;
0x00402974 lw v0, 0x4c(fp) | v0 = *(arg_4ch);
0x00402978 sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x0040297c lbu t8, (t8) | t8 = *(t8);
0x00402980 b 0x4029c8 | goto label_3;
0x00402984 nop |
| }
0x00402988 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x0040298c lw t8, -0x7f08(gp) | t8 = sym.imp.__fgetc_unlocked;
0x00402990 move t9, t8 | t9 = t8;
0x00402994 jalr t9 | t9 ();
0x00402998 nop |
0x0040299c lw gp, 0x10(fp) | gp = *(arg_10h);
0x004029a0 move t8, v0 | t8 = v0;
0x004029a4 b 0x4029d4 | goto label_4;
0x004029a8 nop |
| }
0x004029ac lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x004029b0 lw t8, -0x7f1c(gp) | t8 = sym.imp.fgetc;
0x004029b4 move t9, t8 | t9 = t8;
0x004029b8 jalr t9 | t9 ();
0x004029bc nop |
0x004029c0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004029c4 move t8, v0 | t8 = v0;
| label_3:
0x004029c8 b 0x4029d4 | goto label_4;
0x004029cc nop |
| }
0x004029d0 lw t8, 0x3c(fp) | t8 = *(arg_3ch);
| label_4:
0x004029d4 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x004029d8 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x004029dc addiu t8, zero, -1 | t8 = -1;
| if (v0 == t8) {
0x004029e0 bne v0, t8, 0x402a6c |
0x004029e4 nop |
0x004029e8 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.getc_failed */
0x004029ec addiu a0, t8, 0x452c | a0 = t8 + 0x452c;
0x004029f0 lw t8, -0x7f40(gp) | t8 = sym.imp.perror;
0x004029f4 move t9, t8 | t9 = t8;
0x004029f8 jalr t9 | t9 ();
0x004029fc nop |
0x00402a00 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a04 lw t8, -0x7f20(gp) | t8 = *((gp - 8136));
0x00402a08 lw t8, (t8) | t8 = *(t8);
0x00402a0c move a0, t8 | a0 = t8;
0x00402a10 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.i:__d_n */
0x00402a14 addiu a1, t8, 0x4538 | a1 = t8 + 0x4538;
0x00402a18 lw a2, 0x40(fp) | a2 = *(arg_40h);
0x00402a1c lw t8, -0x7f44(gp) | t8 = sym.imp.fprintf
0x00402a20 move t9, t8 | t9 = t8;
0x00402a24 jalr t9 | t9 ();
0x00402a28 nop |
0x00402a2c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a30 addiu a0, zero, 1 | a0 = 1;
0x00402a34 lw t8, -0x7f48(gp) | t8 = sym.imp.__cxa_allocate_exception;
0x00402a38 move t9, t8 | t9 = t8;
0x00402a3c jalr t9 | t9 ();
0x00402a40 nop |
0x00402a44 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a48 move t8, v0 | t8 = v0;
0x00402a4c sb zero, (t8) | *(t8) = 0;
0x00402a50 move a0, t8 | a0 = t8;
0x00402a54 lw a1, -0x7eb8(gp) | a1 = *((gp - 8110));
0x00402a58 move a2, zero | a2 = 0;
0x00402a5c lw t8, -0x7f5c(gp) | t8 = sym.imp.__cxa_throw;
0x00402a60 move t9, t8 | t9 = t8;
0x00402a64 jalr t9 | t9 ();
0x00402a68 nop |
| }
0x00402a6c lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00402a70 lw a1, 0x40(fp) | a1 = *(arg_40h);
0x00402a74 lw t8, -0x7eb4(gp) | t8 = *(gp);
0x00402a78 move t9, t8 | t9 = t8;
0x00402a7c jalr t9 | t9 ();
0x00402a80 nop |
0x00402a84 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402a88 move t8, v0 | t8 = v0;
0x00402a8c lb t8, (t8) | t8 = *(t8);
0x00402a90 move v0, t8 | v0 = t8;
0x00402a94 lw t8, 0x3c(fp) | t8 = *(arg_3ch);
0x00402a98 xor t8, v0, t8 | t8 = v0 ^ t8;
0x00402a9c sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00402aa0 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402aa4 beqz t8, 0x402ac8 |
0x00402aa8 nop |
0x00402aac lw t8, 0x40(fp) | t8 = *(arg_40h);
0x00402ab0 addiu t8, t8, 1 | t8++;
0x00402ab4 sw t8, 0x40(fp) | *(arg_40h) = t8;
0x00402ab8 addiu t8, zero, -1 | t8 = -1;
0x00402abc sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00402ac0 b 0x402da4 | goto label_2;
0x00402ac4 nop |
| }
0x00402ac8 lw t8, 0x40(fp) | t8 = *(arg_40h);
| if (t8 == 0) {
0x00402acc beqz t8, 0x402c88 | goto label_5;
| }
0x00402ad0 nop |
0x00402ad4 sw zero, 0x44(fp) | *(arg_44h) = 0;
0x00402ad8 b 0x402c68 | goto label_6;
0x00402adc nop |
| do {
0x00402ae0 lw t8, 0x48(fp) | t8 = *(arg_48h);
0x00402ae4 sw t8, 0x50(fp) | *(arg_50h) = t8;
0x00402ae8 lw t8, 0x50(fp) | t8 = *(arg_50h);
0x00402aec lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00402af0 beqz t8, 0x402bac |
0x00402af4 nop |
0x00402af8 lw t8, 0x50(fp) | t8 = *(arg_50h);
0x00402afc lw v0, 0x10(t8) | v0 = *((t8 + 4));
0x00402b00 lw t8, 0x50(fp) | t8 = *(arg_50h);
0x00402b04 lw t8, 0x1c(t8) | t8 = *((t8 + 7));
0x00402b08 sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00402b0c beqz t8, 0x402b60 |
0x00402b10 nop |
0x00402b14 lw t8, 0x50(fp) | t8 = *(arg_50h);
0x00402b18 lw s0, 0x10(t8) | s0 = *((t8 + 4));
0x00402b1c addiu v0, s0, 1 | v0 = s0 + 1;
0x00402b20 lw t8, 0x50(fp) | t8 = *(arg_50h);
0x00402b24 sw v0, 0x10(t8) | *((t8 + 16)) = v0;
0x00402b28 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00402b2c lw a1, 0x44(fp) | a1 = *(arg_44h);
0x00402b30 lw t8, -0x7eb4(gp) | t8 = *(gp);
0x00402b34 move t9, t8 | t9 = t8;
0x00402b38 jalr t9 | t9 ();
0x00402b3c nop |
0x00402b40 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b44 move t8, v0 | t8 = v0;
0x00402b48 lb t8, (t8) | t8 = *(t8);
0x00402b4c andi t8, t8, 0xff | t8 &= 0xff;
0x00402b50 sb t8, (s0) | *(s0) = t8;
0x00402b54 lbu t8, (s0) | t8 = *(s0);
0x00402b58 b 0x402bf0 | goto label_7;
0x00402b5c nop |
| }
0x00402b60 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00402b64 lw a1, 0x44(fp) | a1 = *(arg_44h);
0x00402b68 lw t8, -0x7eb4(gp) | t8 = *(gp);
0x00402b6c move t9, t8 | t9 = t8;
0x00402b70 jalr t9 | t9 ();
0x00402b74 nop |
0x00402b78 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402b7c move t8, v0 | t8 = v0;
0x00402b80 lb t8, (t8) | t8 = *(t8);
0x00402b84 move a0, t8 | a0 = t8;
0x00402b88 lw a1, 0x50(fp) | a1 = *(arg_50h);
0x00402b8c lw t8, -0x7ef8(gp) | t8 = sym.imp.__fputc_unlocked;
0x00402b90 move t9, t8 | t9 = t8;
0x00402b94 jalr t9 | t9 ();
0x00402b98 nop |
0x00402b9c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402ba0 move t8, v0 | t8 = v0;
0x00402ba4 b 0x402bf0 | goto label_7;
0x00402ba8 nop |
| }
0x00402bac lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00402bb0 lw a1, 0x44(fp) | a1 = *(arg_44h);
0x00402bb4 lw t8, -0x7eb4(gp) | t8 = *(gp);
0x00402bb8 move t9, t8 | t9 = t8;
0x00402bbc jalr t9 | t9 ();
0x00402bc0 nop |
0x00402bc4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402bc8 move t8, v0 | t8 = v0;
0x00402bcc lb t8, (t8) | t8 = *(t8);
0x00402bd0 move a0, t8 | a0 = t8;
0x00402bd4 lw a1, 0x50(fp) | a1 = *(arg_50h);
0x00402bd8 lw t8, -0x7f2c(gp) | t8 = sym.imp.fputc;
0x00402bdc move t9, t8 | t9 = t8;
0x00402be0 jalr t9 | t9 ();
0x00402be4 nop |
0x00402be8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402bec move t8, v0 | t8 = v0;
| label_7:
0x00402bf0 addiu t8, t8, 1 | t8++;
0x00402bf4 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00402bf8 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402bfc beqz t8, 0x402c5c |
0x00402c00 nop |
0x00402c04 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.putc_failed */
0x00402c08 addiu a0, t8, 0x4540 | a0 = t8 + 0x4540;
0x00402c0c lw t8, -0x7f40(gp) | t8 = sym.imp.perror;
0x00402c10 move t9, t8 | t9 = t8;
0x00402c14 jalr t9 | t9 ();
0x00402c18 nop |
0x00402c1c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402c20 addiu a0, zero, 1 | a0 = 1;
0x00402c24 lw t8, -0x7f48(gp) | t8 = sym.imp.__cxa_allocate_exception;
0x00402c28 move t9, t8 | t9 = t8;
0x00402c2c jalr t9 | t9 ();
0x00402c30 nop |
0x00402c34 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402c38 move t8, v0 | t8 = v0;
0x00402c3c sb zero, (t8) | *(t8) = 0;
0x00402c40 move a0, t8 | a0 = t8;
0x00402c44 lw a1, -0x7eb8(gp) | a1 = *((gp - 8110));
0x00402c48 move a2, zero | a2 = 0;
0x00402c4c lw t8, -0x7f5c(gp) | t8 = sym.imp.__cxa_throw;
0x00402c50 move t9, t8 | t9 = t8;
0x00402c54 jalr t9 | t9 ();
0x00402c58 nop |
| }
0x00402c5c lw t8, 0x44(fp) | t8 = *(arg_44h);
0x00402c60 addiu t8, t8, 1 | t8++;
0x00402c64 sw t8, 0x44(fp) | *(arg_44h) = t8;
| label_6:
0x00402c68 lw v0, 0x44(fp) | v0 = *(arg_44h);
0x00402c6c lw t8, 0x40(fp) | t8 = *(arg_40h);
0x00402c70 sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
0x00402c74 bnez t8, 0x402ae0 |
| } while (t8 != 0);
0x00402c78 nop |
0x00402c7c sw zero, 0x40(fp) | *(arg_40h) = 0;
0x00402c80 b 0x402da4 | goto label_2;
0x00402c84 nop |
| label_5:
0x00402c88 lw t8, 0x48(fp) | t8 = *(arg_48h);
0x00402c8c sw t8, 0x54(fp) | *(arg_54h) = t8;
0x00402c90 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00402c94 lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00402c98 beqz t8, 0x402d10 |
0x00402c9c nop |
0x00402ca0 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00402ca4 lw v0, 0x10(t8) | v0 = *((t8 + 4));
0x00402ca8 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00402cac lw t8, 0x1c(t8) | t8 = *((t8 + 7));
0x00402cb0 sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00402cb4 beqz t8, 0x402ce8 |
0x00402cb8 nop |
0x00402cbc lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00402cc0 lw t8, 0x10(t8) | t8 = *((t8 + 4));
0x00402cc4 addiu v1, t8, 1 | v1 = t8 + 1;
0x00402cc8 lw v0, 0x54(fp) | v0 = *(arg_54h);
0x00402ccc sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x00402cd0 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402cd4 andi v0, v0, 0xff | v0 &= 0xff;
0x00402cd8 sb v0, (t8) | *(t8) = v0;
0x00402cdc lbu t8, (t8) | t8 = *(t8);
0x00402ce0 b 0x402d30 | goto label_8;
0x00402ce4 nop |
| }
0x00402ce8 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x00402cec lw a1, 0x54(fp) | a1 = *(arg_54h);
0x00402cf0 lw t8, -0x7ef8(gp) | t8 = sym.imp.__fputc_unlocked;
0x00402cf4 move t9, t8 | t9 = t8;
0x00402cf8 jalr t9 | t9 ();
0x00402cfc nop |
0x00402d00 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402d04 move t8, v0 | t8 = v0;
0x00402d08 b 0x402d30 | goto label_8;
0x00402d0c nop |
| }
0x00402d10 lw a0, 0x3c(fp) | a0 = *(arg_3ch);
0x00402d14 lw a1, 0x54(fp) | a1 = *(arg_54h);
0x00402d18 lw t8, -0x7f2c(gp) | t8 = sym.imp.fputc;
0x00402d1c move t9, t8 | t9 = t8;
0x00402d20 jalr t9 | t9 ();
0x00402d24 nop |
0x00402d28 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402d2c move t8, v0 | t8 = v0;
| label_8:
0x00402d30 addiu t8, t8, 1 | t8++;
0x00402d34 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00402d38 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402d3c beqz t8, 0x402d9c |
0x00402d40 nop |
0x00402d44 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.putc_failed */
0x00402d48 addiu a0, t8, 0x4540 | a0 = t8 + 0x4540;
0x00402d4c lw t8, -0x7f40(gp) | t8 = sym.imp.perror;
0x00402d50 move t9, t8 | t9 = t8;
0x00402d54 jalr t9 | t9 ();
0x00402d58 nop |
0x00402d5c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402d60 addiu a0, zero, 1 | a0 = 1;
0x00402d64 lw t8, -0x7f48(gp) | t8 = sym.imp.__cxa_allocate_exception;
0x00402d68 move t9, t8 | t9 = t8;
0x00402d6c jalr t9 | t9 ();
0x00402d70 nop |
0x00402d74 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402d78 move t8, v0 | t8 = v0;
0x00402d7c sb zero, (t8) | *(t8) = 0;
0x00402d80 move a0, t8 | a0 = t8;
0x00402d84 lw a1, -0x7eb8(gp) | a1 = *((gp - 8110));
0x00402d88 move a2, zero | a2 = 0;
0x00402d8c lw t8, -0x7f5c(gp) | t8 = sym.imp.__cxa_throw;
0x00402d90 move t9, t8 | t9 = t8;
0x00402d94 jalr t9 | t9 ();
0x00402d98 nop |
| }
0x00402d9c addiu t8, zero, -1 | t8 = -1;
0x00402da0 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
| label_2:
0x00402da4 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00402da8 lw t8, -0x7ed8(gp) | t8 = *(gp);
0x00402dac move t9, t8 | t9 = t8;
0x00402db0 jalr t9 | t9 ();
0x00402db4 nop |
0x00402db8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402dbc lw t8, 0x40(fp) | t8 = *(arg_40h);
0x00402dc0 sltu t8, t8, v0 | t8 = (t8 < v0) ? 1 : 0;
0x00402dc4 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00402dc8 bnez t8, 0x402920 | goto label_0;
| }
0x00402dcc nop |
0x00402dd0 lw t8, -0x7f54(gp) | t8 = *((gp - 8149));
0x00402dd4 lw t8, (t8) | t8 = *(t8);
0x00402dd8 sw t8, 0x58(fp) | *(arg_58h) = t8;
0x00402ddc lw t8, 0x58(fp) | t8 = *(arg_58h);
0x00402de0 lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00402de4 beqz t8, 0x402e4c |
0x00402de8 nop |
0x00402dec lw t8, 0x58(fp) | t8 = *(arg_58h);
0x00402df0 lw v0, 0x10(t8) | v0 = *((t8 + 4));
0x00402df4 lw t8, 0x58(fp) | t8 = *(arg_58h);
0x00402df8 lw t8, 0x18(t8) | t8 = *((t8 + 6));
0x00402dfc sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00402e00 beqz t8, 0x402e28 |
0x00402e04 nop |
0x00402e08 lw t8, 0x58(fp) | t8 = *(arg_58h);
0x00402e0c lw t8, 0x10(t8) | t8 = *((t8 + 4));
0x00402e10 addiu v1, t8, 1 | v1 = t8 + 1;
0x00402e14 lw v0, 0x58(fp) | v0 = *(arg_58h);
0x00402e18 sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x00402e1c lbu t8, (t8) | t8 = *(t8);
0x00402e20 b 0x402e68 | goto label_9;
0x00402e24 nop |
| }
0x00402e28 lw a0, 0x58(fp) | a0 = *(arg_58h);
0x00402e2c lw t8, -0x7f08(gp) | t8 = sym.imp.__fgetc_unlocked;
0x00402e30 move t9, t8 | t9 = t8;
0x00402e34 jalr t9 | t9 ();
0x00402e38 nop |
0x00402e3c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402e40 move t8, v0 | t8 = v0;
0x00402e44 b 0x402e68 | goto label_9;
0x00402e48 nop |
| }
0x00402e4c lw a0, 0x58(fp) | a0 = *(arg_58h);
0x00402e50 lw t8, -0x7f1c(gp) | t8 = sym.imp.fgetc;
0x00402e54 move t9, t8 | t9 = t8;
0x00402e58 jalr t9 | t9 ();
0x00402e5c nop |
0x00402e60 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402e64 move t8, v0 | t8 = v0;
| label_9:
0x00402e68 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00402e6c lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402e70 addiu t8, zero, 0xd | t8 = 0xd;
| if (v0 != t8) {
0x00402e74 beq v0, t8, 0x402ec8 |
0x00402e78 nop |
0x00402e7c lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402e80 addiu t8, zero, 0x2d | t8 = 0x2d;
| if (v0 == t8) {
0x00402e84 beq v0, t8, 0x402ec8 | goto label_10;
| }
0x00402e88 nop |
0x00402e8c addiu a0, zero, 1 | a0 = 1;
0x00402e90 lw t8, -0x7f48(gp) | t8 = sym.imp.__cxa_allocate_exception;
0x00402e94 move t9, t8 | t9 = t8;
0x00402e98 jalr t9 | t9 ();
0x00402e9c nop |
0x00402ea0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402ea4 move t8, v0 | t8 = v0;
0x00402ea8 sb zero, (t8) | *(t8) = 0;
0x00402eac move a0, t8 | a0 = t8;
0x00402eb0 lw a1, -0x7eb8(gp) | a1 = *((gp - 8110));
0x00402eb4 move a2, zero | a2 = 0;
0x00402eb8 lw t8, -0x7f5c(gp) | t8 = sym.imp.__cxa_throw;
0x00402ebc move t9, t8 | t9 = t8;
0x00402ec0 jalr t9 | t9 ();
0x00402ec4 nop |
| }
| label_10:
0x00402ec8 lw t8, -0x7f54(gp) | t8 = *((gp - 8149));
0x00402ecc lw t8, (t8) | t8 = *(t8);
0x00402ed0 sw t8, 0x5c(fp) | *(arg_5ch) = t8;
0x00402ed4 lw t8, 0x5c(fp) | t8 = *(arg_5ch);
0x00402ed8 lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00402edc beqz t8, 0x402f44 |
0x00402ee0 nop |
0x00402ee4 lw t8, 0x5c(fp) | t8 = *(arg_5ch);
0x00402ee8 lw v0, 0x10(t8) | v0 = *((t8 + 4));
0x00402eec lw t8, 0x5c(fp) | t8 = *(arg_5ch);
0x00402ef0 lw t8, 0x18(t8) | t8 = *((t8 + 6));
0x00402ef4 sltu t8, v0, t8 | t8 = (v0 < t8) ? 1 : 0;
| if (t8 != 0) {
0x00402ef8 beqz t8, 0x402f20 |
0x00402efc nop |
0x00402f00 lw t8, 0x5c(fp) | t8 = *(arg_5ch);
0x00402f04 lw t8, 0x10(t8) | t8 = *((t8 + 4));
0x00402f08 addiu v1, t8, 1 | v1 = t8 + 1;
0x00402f0c lw v0, 0x5c(fp) | v0 = *(arg_5ch);
0x00402f10 sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x00402f14 lbu t8, (t8) | t8 = *(t8);
0x00402f18 b 0x402f60 | goto label_11;
0x00402f1c nop |
| }
0x00402f20 lw a0, 0x5c(fp) | a0 = *(arg_5ch);
0x00402f24 lw t8, -0x7f08(gp) | t8 = sym.imp.__fgetc_unlocked;
0x00402f28 move t9, t8 | t9 = t8;
0x00402f2c jalr t9 | t9 ();
0x00402f30 nop |
0x00402f34 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402f38 move t8, v0 | t8 = v0;
0x00402f3c b 0x402f60 | goto label_11;
0x00402f40 nop |
| }
0x00402f44 lw a0, 0x5c(fp) | a0 = *(arg_5ch);
0x00402f48 lw t8, -0x7f1c(gp) | t8 = sym.imp.fgetc;
0x00402f4c move t9, t8 | t9 = t8;
0x00402f50 jalr t9 | t9 ();
0x00402f54 nop |
0x00402f58 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402f5c move t8, v0 | t8 = v0;
| label_11:
0x00402f60 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00402f64 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402f68 addiu t8, zero, 0xa | t8 = 0xa;
| if (v0 != t8) {
0x00402f6c beq v0, t8, 0x402fc0 |
0x00402f70 nop |
0x00402f74 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00402f78 addiu t8, zero, 0x2d | t8 = 0x2d;
| if (v0 == t8) {
0x00402f7c beq v0, t8, 0x402fc0 | goto label_12;
| }
0x00402f80 nop |
0x00402f84 addiu a0, zero, 1 | a0 = 1;
0x00402f88 lw t8, -0x7f48(gp) | t8 = sym.imp.__cxa_allocate_exception;
0x00402f8c move t9, t8 | t9 = t8;
0x00402f90 jalr t9 | t9 ();
0x00402f94 nop |
0x00402f98 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402f9c move t8, v0 | t8 = v0;
0x00402fa0 sb zero, (t8) | *(t8) = 0;
0x00402fa4 move a0, t8 | a0 = t8;
0x00402fa8 lw a1, -0x7eb8(gp) | a1 = *((gp - 8110));
0x00402fac move a2, zero | a2 = 0;
0x00402fb0 lw t8, -0x7f5c(gp) | t8 = sym.imp.__cxa_throw;
0x00402fb4 move t9, t8 | t9 = t8;
0x00402fb8 jalr t9 | t9 ();
0x00402fbc nop |
| }
| label_12:
0x00402fc0 lw a0, 0x48(fp) | a0 = *(arg_48h);
0x00402fc4 lw t8, -0x7f10(gp) | t8 = sym.imp.fclose;
0x00402fc8 move t9, t8 | t9 = t8;
0x00402fcc jalr t9 | t9 ();
0x00402fd0 nop |
0x00402fd4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00402fd8 lbu t8, 0x2f(fp) | t8 = *(arg_2fh);
| if (t8 != 0) {
0x00402fdc beqz t8, 0x40300c |
0x00402fe0 nop |
0x00402fe4 addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x00402fe8 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00402fec move a1, t8 | a1 = t8;
0x00402ff0 lw t8, -0x7ed0(gp) | t8 = *(gp);
0x00402ff4 move t9, t8 | t9 = t8;
0x00402ff8 jalr t9 | t9 ();
0x00402ffc nop |
0x00403000 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403004 b 0x4030a4 | goto label_1;
0x00403008 nop |
| }
0x0040300c addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x00403010 move a0, t8 | a0 = t8;
0x00403014 lw t8, -0x7eb0(gp) | t8 = *(gp);
0x00403018 move t9, t8 | t9 = t8;
0x0040301c jalr t9 | t9 ();
0x00403020 nop |
0x00403024 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403028 move t8, v0 | t8 = v0;
0x0040302c move a0, t8 | a0 = t8;
0x00403030 lw t8, -0x7f38(gp) | t8 = sym.imp.unlink;
0x00403034 move t9, t8 | t9 = t8;
0x00403038 jalr t9 | t9 ();
0x0040303c nop |
0x00403040 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403044 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00403048 move a0, t8 | a0 = t8;
0x0040304c lw t8, -0x7f74(gp) | t8 = *(gp);
0x00403050 move t9, t8 | t9 = t8;
0x00403054 jalr t9 | t9 ();
0x00403058 nop |
0x0040305c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403060 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00403064 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00403068 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0040306c addiu a1, v0, 0x44d4 | a1 = v0 + 0x44d4;
0x00403070 move a2, t8 | a2 = t8;
0x00403074 lw t8, -0x7f24(gp) | t8 = *(gp);
0x00403078 move t9, t8 | t9 = t8;
0x0040307c jalr t9 | t9 ();
0x00403080 nop |
0x00403084 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00403088 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040308c move a0, t8 | a0 = t8;
0x00403090 lw t8, -0x7f4c(gp) | t8 = *(gp);
0x00403094 move t9, t8 | t9 = t8;
0x00403098 jalr t9 | t9 ();
0x0040309c nop |
0x004030a0 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_1:
0x004030a4 addiu t8, fp, 0x30 | t8 = fp + 0x30;
0x004030a8 move a0, t8 | a0 = t8;
0x004030ac lw t8, -0x7ef0(gp) | t8 = *(gp);
0x004030b0 move t9, t8 | t9 = t8;
0x004030b4 jalr t9 | t9 ();
0x004030b8 nop |
0x004030bc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004030c0 lw v0, 0x24(fp) | v0 = *(arg_24h);
0x004030c4 lw t8, -0x7ea8(gp) | t8 = *((gp - 8106));
0x004030c8 lw v1, 0x64(fp) | v1 = *(arg_64h);
0x004030cc lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x004030d0 beq v1, t8, 0x403230 |
0x004030d4 nop |
0x004030d8 b 0x403220 | goto label_13;
0x004030dc nop |
| label_13:
0x00403220 lw t8, -0x7f18(gp) | t8 = sym.imp.__stack_chk_fail;
0x00403224 move t9, t8 | t9 = t8;
0x00403228 jalr t9 | t9 ();
0x0040322c nop |
| }
0x00403230 move sp, fp |
0x00403234 lw ra, 0x74(sp) | ra = *(var_74h);
0x00403238 lw fp, 0x70(sp) | fp = *(var_70h);
0x0040323c lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x00403240 addiu sp, sp, 0x78 |
0x00403244 jr ra | return v1;
0x00403248 nop |
| }
[*] Function printf used 2 times formData