[*] Binary protection state of overlayimage.cgi
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of overlayimage.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/overlayimage.cgi @ 0x2864 */
| #include <stdint.h>
|
; (fcn) sym.backend_store_image () | void backend_store_image () {
0x00002864 lui gp, 2 |
0x00002868 addiu gp, gp, -0x3854 |
0x0000286c addu gp, gp, t9 | gp += t9;
0x00002870 addiu sp, sp, -0x198 |
0x00002874 lw t9, -0x7e2c(gp) | t9 = sym.imp.statfs;
0x00002878 sw s2, 0x178(sp) | *(var_178h) = s2;
0x0000287c lw s2, -0x7efc(gp) | s2 = *((gp - 8127));
0x00002880 lw v1, 0x1a8(sp) | v1 = *(arg_1a8h);
0x00002884 sw s1, 0x174(sp) | *(var_174h) = s1;
0x00002888 lw v0, (s2) | v0 = *(s2);
0x0000288c lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00002890 sw v1, 0x28(sp) | *(var_28h) = v1;
0x00002894 lw v1, 0x1ac(sp) | v1 = *(arg_1ach);
0x00002898 sw s3, 0x17c(sp) | *(var_17ch) = s3;
0x0000289c addiu s3, sp, 0x5c | s3 = sp + 0x5c;
0x000028a0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000028a4 sw s5, 0x184(sp) | *(var_184h) = s5;
0x000028a8 sw s4, 0x180(sp) | *(var_180h) = s4;
0x000028ac sw s0, 0x170(sp) | *(var_170h) = s0;
0x000028b0 sw ra, 0x194(sp) | *(var_194h) = ra;
0x000028b4 sw fp, 0x190(sp) | *(var_190h) = fp;
0x000028b8 sw s7, 0x18c(sp) | *(var_18ch) = s7;
0x000028bc sw s6, 0x188(sp) | *(var_188h) = s6;
0x000028c0 move s4, a0 | s4 = a0;
0x000028c4 move s0, a1 | s0 = a1;
0x000028c8 addiu a0, s1, 0x60e4 | a0 = s1 + str._tmp;
0x000028cc move a1, s3 | a1 = s3;
0x000028d0 sw a3, 0x1a4(sp) | *(arg_1a4h) = a3;
0x000028d4 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x000028d8 sw v0, 0x16c(sp) | *(var_16ch) = v0;
0x000028dc move s5, a2 | s5 = a2;
0x000028e0 jalr t9 | t9 ();
0x000028e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000028e8 bltz v0, 0x2a48 | goto label_20;
| }
0x000028ec lw v1, 0x60(sp) | v1 = *(var_60h);
0x000028f0 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x000028f4 mul v0, v0, v1 | __asm ("mul v0, v0, v1");
0x000028f8 lui v1, 1 | v1 = 0x19000;
0x000028fc ori v1, v1, 0x9000 |
0x00002900 subu v0, v0, s0 | __asm ("subu v0, v0, s0");
0x00002904 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x00002908 lw s7, -0x7fdc(gp) | s7 = *((gp - 8183));
| if (v0 != 0) {
0x0000290c bnez v0, 0x2a48 | goto label_20;
| }
0x00002910 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00002914 addiu a1, s1, 0x60e4 | a1 = s1 + str._tmp;
0x00002918 move a2, s5 | a2 = s5;
0x0000291c addiu a0, s7, 0x60ec | a0 = s7 + str._s__s;
0x00002920 jalr t9 | t9 ();
0x00002924 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002928 move a0, v0 | a0 = v0;
0x0000292c move s1, v0 | s1 = v0;
0x00002930 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002934 lw t9, -0x7f3c(gp) | t9 = sym.imp.fopen;
0x00002938 addiu a1, a1, 0x60f4 | a1 += 0x60f4;
0x0000293c jalr t9 | t9 ();
0x00002940 move s6, v0 | s6 = v0;
0x00002944 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00002948 beqz v0, 0x3030 | goto label_21;
| }
0x0000294c lw t9, -0x7f18(gp) | t9 = sym.imp.fwrite;
0x00002950 move a3, v0 | a3 = v0;
0x00002954 move a2, s0 | a2 = s0;
0x00002958 addiu a1, zero, 1 | a1 = 1;
0x0000295c move a0, s4 | a0 = s4;
0x00002960 jalr t9 | t9 ();
0x00002964 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == v0) {
0x00002968 beq s0, v0, 0x2a50 | goto label_22;
| }
0x0000296c lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x00002970 move a0, s1 | a0 = s1;
0x00002974 jalr t9 | t9 ();
0x00002978 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000297c move a0, s6 | a0 = s6;
0x00002980 lw t9, -0x7ec8(gp) | t9 = sym.imp.fclose;
0x00002984 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00002988 jalr t9 | t9 ();
0x0000298c lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_19:
0x00002990 move s4, zero | s4 = 0;
| label_7:
0x00002994 move s6, zero | s6 = 0;
0x00002998 move fp, zero | fp = 0;
0x0000299c move s5, zero | s5 = 0;
0x000029a0 move s7, zero | s7 = 0;
0x000029a4 move s1, zero | s1 = 0;
| label_0:
0x000029a8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029ac move a0, s6 | a0 = s6;
0x000029b0 jalr t9 | t9 ();
0x000029b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000029b8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029bc move a0, s7 | a0 = s7;
0x000029c0 jalr t9 | t9 ();
0x000029c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000029c8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029cc move a0, s5 | a0 = s5;
0x000029d0 jalr t9 | t9 ();
0x000029d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000029d8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029dc move a0, s1 | a0 = s1;
0x000029e0 jalr t9 | t9 ();
0x000029e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000029e8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029ec move a0, s4 | a0 = s4;
0x000029f0 jalr t9 | t9 ();
0x000029f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000029f8 lw t9, -0x7e0c(gp) | t9 = sym.imp.g_free;
0x000029fc move a0, fp | a0 = fp;
0x00002a00 jalr t9 | t9 ();
0x00002a04 lw a0, 0x16c(sp) | a0 = *(var_16ch);
0x00002a08 lw v1, (s2) | v1 = *(s2);
0x00002a0c lw gp, 0x20(sp) | gp = *(var_20h);
0x00002a10 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00002a14 bne a0, v1, 0x3474 | goto label_23;
| }
0x00002a18 lw ra, 0x194(sp) | ra = *(var_194h);
0x00002a1c lw fp, 0x190(sp) | fp = *(var_190h);
0x00002a20 lw s7, 0x18c(sp) | s7 = *(var_18ch);
0x00002a24 lw s6, 0x188(sp) | s6 = *(var_188h);
0x00002a28 lw s5, 0x184(sp) | s5 = *(var_184h);
0x00002a2c lw s4, 0x180(sp) | s4 = *(var_180h);
0x00002a30 lw s3, 0x17c(sp) | s3 = *(var_17ch);
0x00002a34 lw s2, 0x178(sp) | s2 = *(var_178h);
0x00002a38 lw s1, 0x174(sp) | s1 = *(var_174h);
0x00002a3c lw s0, 0x170(sp) | s0 = *(var_170h);
0x00002a40 addiu sp, sp, 0x198 |
0x00002a44 jr ra | return v0;
| label_20:
0x00002a48 addiu s0, zero, -0x3ef | s0 = -0x3ef;
0x00002a4c b 0x2990 |
| } while (1);
| label_22:
0x00002a50 lw t9, -0x7ec8(gp) | t9 = sym.imp.fclose;
0x00002a54 move a0, s6 | a0 = s6;
0x00002a58 jalr t9 | t9 ();
0x00002a5c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s1 == 0) {
0x00002a60 beqz s1, 0x3578 | goto label_24;
| }
0x00002a64 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00002a68 addiu t9, t9, 0x1fb0 | t9 += fcn.00001fb0;
0x00002a6c bal 0x1fb0 | fcn_00001fb0 ();
0x00002a70 nop |
0x00002a74 move fp, v0 | fp = v0;
0x00002a78 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002a7c beqz v0, 0x2a9c |
0x00002a80 addiu v0, zero, 3 | v0 = 3;
0x00002a84 lw s4, -0x7fdc(gp) | s4 = *((gp - 8183));
| if (fp != v0) {
0x00002a88 beq fp, v0, 0x2a9c |
0x00002a8c lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00002a90 addiu s4, s4, 0x60b0 | s4 += str.__dump_palette;
0x00002a94 addiu s0, s0, 0x60c0 | s0 += str._usr_bin_bmp2overlay;
0x00002a98 b 0x2aac |
| }
| } else {
0x00002a9c lw s4, -0x7fdc(gp) | s4 = *((gp - 8183));
0x00002aa0 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00002aa4 addiu s4, s4, 0x6098 | s4 += 0x6098;
0x00002aa8 addiu s0, s0, 0x609c | s0 += str._usr_bin_image2ovl;
| }
0x00002aac lw t9, -0x7f64(gp) | t9 = sym.imp.pipe;
0x00002ab0 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x00002ab4 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00002ab8 move a0, v0 | a0 = v0;
0x00002abc jalr t9 | t9 ();
0x00002ac0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00002ac4 bltz v0, 0x2b88 |
0x00002ac8 lw t9, -0x7f64(gp) | t9 = sym.imp.pipe;
0x00002acc move a0, s3 | a0 = s3;
0x00002ad0 jalr t9 | t9 ();
0x00002ad4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002ad8 bltz v0, 0x33bc | goto label_25;
| }
0x00002adc lw t9, -0x7f4c(gp) | t9 = sym.imp.fork;
0x00002ae0 jalr t9 | t9 ();
0x00002ae4 nop |
0x00002ae8 move s6, v0 | s6 = v0;
0x00002aec lw gp, 0x20(sp) | gp = *(var_20h);
0x00002af0 lw a0, 0x54(sp) | a0 = *(var_54h);
| if (v0 == 0) {
0x00002af4 beqz v0, 0x3480 | goto label_26;
| }
0x00002af8 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00002afc addiu s4, sp, 0x108 | s4 = sp + 0x108;
0x00002b00 jalr t9 | t9 ();
0x00002b04 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002b08 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00002b0c lw a0, 0x60(sp) | a0 = *(var_60h);
0x00002b10 jalr t9 | t9 ();
0x00002b14 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002b18 addiu a2, zero, 0x64 | a2 = 0x64;
0x00002b1c move a1, zero | a1 = 0;
0x00002b20 lw t9, -0x7e6c(gp) | t9 = sym.imp.memset;
0x00002b24 move a0, s4 | a0 = s4;
0x00002b28 jalr t9 | t9 ();
0x00002b2c lw gp, 0x20(sp) | gp = *(var_20h);
0x00002b30 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00002b34 addiu a2, zero, 0x64 | a2 = 0x64;
0x00002b38 lw t9, -0x7e8c(gp) | t9 = sym.imp.read;
0x00002b3c move a1, s4 | a1 = s4;
0x00002b40 jalr t9 | t9 ();
0x00002b44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002b48 bltz v0, 0x2b88 | goto label_27;
| }
0x00002b4c lw t9, -0x7ef4(gp) | t9 = sym.imp.waitpid;
0x00002b50 addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x00002b54 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00002b58 move a2, zero | a2 = 0;
0x00002b5c move a1, v0 | a1 = v0;
0x00002b60 move a0, s6 | a0 = s6;
0x00002b64 jalr t9 | t9 ();
0x00002b68 lw s0, 0x50(sp) | s0 = *(var_50h);
0x00002b6c andi v0, s0, 0x7f | v0 = s0 & 0x7f;
0x00002b70 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002b74 bnez v0, 0x2bb4 | goto label_28;
| }
0x00002b78 ext s0, s0, 8, 8 | __asm ("ext s0, s0, 8, 8");
0x00002b7c slti v0, s0, 7 | v0 = (s0 < 7) ? 1 : 0;
0x00002b80 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002b84 bnez v0, 0x2e88 | goto label_29;
| }
| }
| label_27:
0x00002b88 move s7, zero | s7 = 0;
0x00002b8c move fp, zero | fp = 0;
0x00002b90 move s6, zero | s6 = 0;
0x00002b94 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00002b98 move s4, zero | s4 = 0;
0x00002b9c move s5, zero | s5 = 0;
| label_1:
0x00002ba0 lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
| label_8:
0x00002ba4 move a0, s1 | a0 = s1;
0x00002ba8 jalr t9 | t9 ();
0x00002bac lw gp, 0x20(sp) | gp = *(var_20h);
0x00002bb0 b 0x29a8 | goto label_0;
| do {
| label_28:
0x00002bb4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002bb8 lw t9, -0x7f24(gp) | t9 = sym.imp.strstr;
0x00002bbc addiu a1, a1, 0x60f8 | a1 += str.typefullcolor;
0x00002bc0 move a0, s4 | a0 = s4;
0x00002bc4 jalr t9 | t9 ();
0x00002bc8 addiu v1, zero, 2 | v1 = 2;
0x00002bcc lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp == v1) {
0x00002bd0 beq fp, v1, 0x2eb0 | goto label_30;
| }
| if (v0 == 0) {
0x00002bd4 beql v0, zero, 0x2ed8 | goto label_31;
| }
0x00002bd8 move s7, zero | s7 = 0;
| label_3:
0x00002bdc lw v0, 0x1a4(sp) | v0 = *(arg_1a4h);
| label_2:
0x00002be0 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 != 0) {
0x00002be4 beqz v0, 0x2c08 |
0x00002be8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002bec lw t9, -0x7f24(gp) | t9 = sym.imp.strstr;
0x00002bf0 addiu a1, a1, 0x611c | a1 += str.scalabletrue;
0x00002bf4 move a0, s4 | a0 = s4;
0x00002bf8 jalr t9 | t9 ();
0x00002bfc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00002c00 beqz v0, 0x3458 | goto label_32;
| }
0x00002c04 lw v0, 0x28(sp) | v0 = *(var_28h);
| }
0x00002c08 lw t9, -0x7f6c(gp) | t9 = sym.imp.strdup;
| if (v0 != 0) {
0x00002c0c beqz v0, 0x2c30 |
0x00002c10 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002c14 lw t9, -0x7f24(gp) | t9 = sym.imp.strstr;
0x00002c18 addiu a1, a1, 0x612c | a1 += str.transparencytrue;
0x00002c1c move a0, s4 | a0 = s4;
0x00002c20 jalr t9 | t9 ();
0x00002c24 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002c28 bnez v0, 0x33f8 | goto label_33;
| }
0x00002c2c lw t9, -0x7f6c(gp) | t9 = sym.imp.strdup;
| }
0x00002c30 move a0, s5 | a0 = s5;
0x00002c34 jalr t9 | t9 ();
0x00002c38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002c3c addiu a1, zero, 0x2e | a1 = 0x2e;
0x00002c40 move a0, v0 | a0 = v0;
0x00002c44 lw t9, -0x7e80(gp) | t9 = sym.imp.strrchr;
0x00002c48 move s6, v0 | s6 = v0;
0x00002c4c jalr t9 | t9 ();
0x00002c50 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002c54 beqz v0, 0x2c5c |
0x00002c58 sb zero, (v0) | *(v0) = 0;
| }
0x00002c5c lw v0, 0x1a4(sp) | v0 = *(arg_1a4h);
0x00002c60 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (v0 != 0) {
0x00002c64 bnez v0, 0x2f7c | goto label_34;
| }
0x00002c68 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00002c6c addiu a0, s7, 0x60ec | a0 = s7 + str._s__s;
0x00002c70 move a2, s6 | a2 = s6;
0x00002c74 addiu a1, a1, 0x6140 | a1 += str._etc_overlays;
0x00002c78 jalr t9 | t9 ();
0x00002c7c lw gp, 0x20(sp) | gp = *(var_20h);
0x00002c80 move s7, v0 | s7 = v0;
0x00002c84 move s5, zero | s5 = 0;
| label_5:
0x00002c88 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00002c8c lw t9, -0x7eb4(gp) | t9 = sym.imp.mkstemp;
0x00002c90 addiu v0, v1, 0x6184 | v0 = v1 + str._tmp_overlay_palette.XXXXXX;
0x00002c94 lw t1, 0x6184(v1) | t1 = *(v1);
0x00002c98 lw t0, 4(v0) | t0 = *((v0 + 1));
0x00002c9c lw a3, 8(v0) | a3 = *((v0 + 2));
0x00002ca0 lw a2, 0xc(v0) | a2 = *((v0 + 3));
0x00002ca4 lw a1, 0x10(v0) | a1 = *((v0 + 4));
0x00002ca8 lw v1, 0x14(v0) | v1 = *((v0 + 5));
0x00002cac lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x00002cb0 addiu a0, sp, 0xec | a0 = sp + 0xec;
0x00002cb4 sw a0, 0x38(sp) | *(var_38h) = a0;
0x00002cb8 sw t1, 0xec(sp) | *(var_ech) = t1;
0x00002cbc sw t0, 0xf0(sp) | *(var_f0h) = t0;
0x00002cc0 sw a3, 0xf4(sp) | *(var_f4h) = a3;
0x00002cc4 sw a2, 0xf8(sp) | *(var_f8h) = a2;
0x00002cc8 sw a1, 0xfc(sp) | *(var_fch) = a1;
0x00002ccc sw v1, 0x100(sp) | *(var_100h) = v1;
0x00002cd0 sw v0, 0x104(sp) | *(var_104h) = v0;
0x00002cd4 jalr t9 | t9 ();
0x00002cd8 move s0, v0 | s0 = v0;
0x00002cdc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00002ce0 bltz v0, 0x2e78 |
0x00002ce4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002ce8 lw t9, -0x7e44(gp) | t9 = sym.imp.fdopen;
0x00002cec addiu a1, a1, 0x616c | a1 += 0x616c;
0x00002cf0 move a0, v0 | a0 = v0;
0x00002cf4 jalr t9 | t9 ();
0x00002cf8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00002cfc beqz v0, 0x2e78 | goto label_35;
| }
0x00002d00 lw a3, 0x28(sp) | a3 = *(var_28h);
0x00002d04 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
| if (a3 == 0) {
0x00002d08 beqz a3, 0x3088 | goto label_36;
| }
0x00002d0c lw t9, -0x7e38(gp) | t9 = sym.imp.__fprintf_chk
0x00002d10 addiu a2, a2, 0x6178 | a2 += str.f__s;
0x00002d14 addiu a1, zero, 1 | a1 = 1;
0x00002d18 move a0, v0 | a0 = v0;
0x00002d1c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00002d20 jalr t9 | t9 ();
0x00002d24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002d28 lw v1, 0x28(sp) | v1 = *(var_28h);
| label_9:
0x00002d2c lw t9, -0x7ec8(gp) | t9 = sym.imp.fclose;
0x00002d30 move a0, v1 | a0 = v1;
0x00002d34 jalr t9 | t9 ();
0x00002d38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002d3c lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00002d40 move a0, s0 | a0 = s0;
0x00002d44 jalr t9 | t9 ();
0x00002d48 lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp == 0) {
0x00002d4c beqz fp, 0x3000 | goto label_37;
| }
0x00002d50 addiu v0, zero, 3 | v0 = 3;
0x00002d54 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (fp == v0) {
0x00002d58 beq fp, v0, 0x3328 | goto label_38;
| }
0x00002d5c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00002d60 sw s7, 0x44(sp) | *(var_44h) = s7;
0x00002d64 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00002d68 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002d6c sw s1, 0x40(sp) | *(var_40h) = s1;
0x00002d70 addiu v0, v0, 0x60c0 | v0 += str._usr_bin_bmp2overlay;
0x00002d74 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00002d78 sw zero, 0x48(sp) | *(var_48h) = 0;
0x00002d7c sw v0, 0x28(sp) | *(var_28h) = v0;
| label_6:
0x00002d80 lw t9, -0x7f64(gp) | t9 = sym.imp.pipe;
0x00002d84 lw a0, 0x30(sp) | a0 = *(var_30h);
0x00002d88 jalr t9 | t9 ();
0x00002d8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002d90 bltz v0, 0x2e78 | goto label_35;
| }
0x00002d94 lw t9, -0x7f64(gp) | t9 = sym.imp.pipe;
0x00002d98 move a0, s3 | a0 = s3;
0x00002d9c jalr t9 | t9 ();
0x00002da0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002da4 bltz v0, 0x342c | goto label_39;
| }
0x00002da8 lw t9, -0x7f4c(gp) | t9 = sym.imp.fork;
0x00002dac jalr t9 | t9 ();
0x00002db0 nop |
0x00002db4 move s0, v0 | s0 = v0;
0x00002db8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002dbc lw a0, 0x54(sp) | a0 = *(var_54h);
| if (v0 == 0) {
0x00002dc0 beqz v0, 0x34f0 | goto label_40;
| }
0x00002dc4 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00002dc8 jalr t9 | t9 ();
0x00002dcc nop |
0x00002dd0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002dd4 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00002dd8 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00002ddc jalr t9 | t9 ();
0x00002de0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002de4 addiu a2, zero, 0x64 | a2 = 0x64;
0x00002de8 move a1, zero | a1 = 0;
0x00002dec lw t9, -0x7e6c(gp) | t9 = sym.imp.memset;
0x00002df0 move a0, s4 | a0 = s4;
0x00002df4 jalr t9 | t9 ();
0x00002df8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002dfc lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00002e00 addiu a2, zero, 0x64 | a2 = 0x64;
0x00002e04 lw t9, -0x7e8c(gp) | t9 = sym.imp.read;
0x00002e08 move a1, s4 | a1 = s4;
0x00002e0c jalr t9 | t9 ();
0x00002e10 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002e14 bltz v0, 0x2e78 | goto label_35;
| }
0x00002e18 lw t9, -0x7e60(gp) | t9 = sym.imp.strchr;
0x00002e1c addiu a1, zero, 0xa | a1 = 0xa;
0x00002e20 move a0, s4 | a0 = s4;
0x00002e24 jalr t9 | t9 ();
0x00002e28 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002e2c beqz v0, 0x2e34 |
0x00002e30 sb zero, (v0) | *(v0) = 0;
| }
0x00002e34 lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
0x00002e38 lw a0, 0x38(sp) | a0 = *(var_38h);
0x00002e3c jalr t9 | t9 ();
0x00002e40 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002e44 lw a1, 0x34(sp) | a1 = *(var_34h);
0x00002e48 move a0, s0 | a0 = s0;
0x00002e4c lw t9, -0x7ef4(gp) | t9 = sym.imp.waitpid;
0x00002e50 move a2, zero | a2 = 0;
0x00002e54 jalr t9 | t9 ();
0x00002e58 lw s0, 0x50(sp) | s0 = *(var_50h);
0x00002e5c andi v0, s0, 0x7f | v0 = s0 & 0x7f;
0x00002e60 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002e64 bnez v0, 0x2f04 | goto label_41;
| }
0x00002e68 ext s0, s0, 8, 8 | __asm ("ext s0, s0, 8, 8");
0x00002e6c slti v0, s0, 7 | v0 = (s0 < 7) ? 1 : 0;
0x00002e70 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00002e74 bnez v0, 0x2ef0 | goto label_42;
| }
| }
| label_35:
0x00002e78 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00002e7c move s4, zero | s4 = 0;
| label_4:
0x00002e80 move fp, zero | fp = 0;
0x00002e84 b 0x306c | goto label_43;
| label_29:
0x00002e88 sll s0, s0, 2 | s0 <<= 2;
0x00002e8c addiu v0, v0, 0x6350 | v0 += 0x6350;
0x00002e90 lwx s0, s0(v0) | __asm ("lwx s0, s0(v0)");
0x00002e94 move s6, zero | s6 = 0;
0x00002e98 bgez s0, 0x2bb4 |
| } while (s0 >= 0);
0x00002e9c move s7, zero | s7 = 0;
0x00002ea0 move fp, zero | fp = 0;
0x00002ea4 move s4, zero | s4 = 0;
0x00002ea8 move s5, zero | s5 = 0;
0x00002eac b 0x2ba0 | goto label_1;
| label_30:
0x00002eb0 lw v0, 0x1a4(sp) | v0 = *(arg_1a4h);
| if (v0 != 0) {
0x00002eb4 bnez v0, 0x2be0 | goto label_2;
| }
0x00002eb8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002ebc lw t9, -0x7f24(gp) | t9 = sym.imp.strstr;
0x00002ec0 addiu a1, a1, 0x6108 | a1 += str.typewin_eight_bits;
0x00002ec4 move a0, s4 | a0 = s4;
0x00002ec8 jalr t9 | t9 ();
0x00002ecc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002ed0 bnez v0, 0x2bdc | goto label_3;
| }
0x00002ed4 move s7, zero | s7 = 0;
| label_31:
0x00002ed8 move fp, zero | fp = 0;
0x00002edc move s6, zero | s6 = 0;
0x00002ee0 addiu s0, zero, -0x3ee | s0 = -0x3ee;
0x00002ee4 move s4, zero | s4 = 0;
0x00002ee8 move s5, zero | s5 = 0;
0x00002eec b 0x2ba0 | goto label_1;
| label_42:
0x00002ef0 sll s0, s0, 2 | s0 <<= 2;
0x00002ef4 addiu v0, v0, 0x6350 | v0 += 0x6350;
0x00002ef8 lwx s0, s0(v0) | __asm ("lwx s0, s0(v0)");
| if (s0 < 0) {
0x00002efc bltzl s0, 0x2e80 | goto label_4;
| }
0x00002f00 move s4, zero | s4 = 0;
| label_41:
0x00002f04 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00002f08 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00002f0c move a1, s4 | a1 = s4;
0x00002f10 addiu a0, a0, 0x6180 | a0 += 0x6180;
0x00002f14 jalr t9 | t9 ();
0x00002f18 move s4, v0 | s4 = v0;
0x00002f1c lw v0, 0x1a4(sp) | v0 = *(arg_1a4h);
0x00002f20 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00002f24 beqz v0, 0x2f30 |
0x00002f28 lw t9, -0x7e80(gp) | t9 = sym.imp.strrchr;
| if (fp == 0) {
0x00002f2c beqz fp, 0x30a8 | goto label_44;
| }
| }
| label_10:
0x00002f30 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00002f34 lw t9, -0x7e2c(gp) | t9 = sym.imp.statfs;
0x00002f38 move a1, s3 | a1 = s3;
0x00002f3c addiu a0, a0, 0x6170 | a0 += str._etc;
0x00002f40 jalr t9 | t9 ();
0x00002f44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00002f48 bltz v0, 0x303c |
0x00002f4c lw v1, 0x60(sp) | v1 = *(var_60h);
0x00002f50 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00002f54 mul v0, v0, v1 | __asm ("mul v0, v0, v1");
0x00002f58 lui v1, 1 | v1 = 0x10000;
0x00002f5c slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x00002f60 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x00002f64 bnez v0, 0x303c | goto label_45;
| }
0x00002f68 move s0, zero | s0 = 0;
0x00002f6c move fp, zero | fp = 0;
0x00002f70 sw s4, (v0) | *(v0) = s4;
0x00002f74 move s4, zero | s4 = 0;
0x00002f78 b 0x2ba0 | goto label_1;
| label_34:
0x00002f7c lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
| if (fp != 0) {
0x00002f80 bnez fp, 0x3114 | goto label_46;
| }
0x00002f84 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002f88 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00002f8c move a2, s6 | a2 = s6;
0x00002f90 addiu a1, a1, 0x6140 | a1 += str._etc_overlays;
0x00002f94 addiu a0, s0, 0x6150 | a0 = s0 + str._s__s.ovl;
0x00002f98 jalr t9 | t9 ();
0x00002f9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00002fa0 addiu a0, zero, 2 | a0 = 2;
0x00002fa4 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x00002fa8 move s5, v0 | s5 = v0;
0x00002fac jalr t9 | t9 ();
0x00002fb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002fb4 addiu a1, zero, 0x1fd | a1 = 0x1fd;
0x00002fb8 move a0, s5 | a0 = s5;
0x00002fbc lw t9, -0x7e18(gp) | t9 = sym.imp.mkdir;
0x00002fc0 move s7, v0 | s7 = v0;
0x00002fc4 jalr t9 | t9 ();
0x00002fc8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00002fcc bltz v0, 0x30c4 | goto label_47;
| }
0x00002fd0 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x00002fd4 move a0, s7 | a0 = s7;
0x00002fd8 jalr t9 | t9 ();
0x00002fdc lw gp, 0x20(sp) | gp = *(var_20h);
0x00002fe0 move a2, s6 | a2 = s6;
0x00002fe4 move a1, s5 | a1 = s5;
0x00002fe8 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00002fec addiu a0, s0, 0x6150 | a0 = s0 + str._s__s.ovl;
0x00002ff0 jalr t9 | t9 ();
0x00002ff4 move s7, v0 | s7 = v0;
0x00002ff8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00002ffc b 0x2c88 | goto label_5;
| label_37:
0x00003000 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00003004 sw s7, 0x48(sp) | *(var_48h) = s7;
0x00003008 sw s1, 0x44(sp) | *(var_44h) = s1;
0x0000300c sw zero, 0x4c(sp) | *(var_4ch) = 0;
| label_12:
0x00003010 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00003014 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003018 addiu v0, v0, 0x60d8 | v0 += 0x60d8;
0x0000301c sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00003020 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003024 addiu v0, v0, 0x609c | v0 += str._usr_bin_image2ovl;
0x00003028 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0000302c b 0x2d80 | goto label_6;
| label_21:
0x00003030 move s4, zero | s4 = 0;
0x00003034 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00003038 b 0x2994 | goto label_7;
| }
| label_45:
0x0000303c addiu s0, zero, -0x3ef | s0 = -0x3ef;
| label_15:
0x00003040 move fp, zero | fp = 0;
| if (s4 == 0) {
0x00003044 beqz s4, 0x2e80 | goto label_4;
| }
| label_14:
0x00003048 lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
0x0000304c move a0, s4 | a0 = s4;
0x00003050 jalr t9 | t9 ();
0x00003054 lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp != 0) {
0x00003058 beqz fp, 0x306c |
0x0000305c lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
0x00003060 move a0, fp | a0 = fp;
0x00003064 jalr t9 | t9 ();
0x00003068 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_43:
0x0000306c lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
| if (s5 == 0) {
0x00003070 beqz s5, 0x2ba4 | goto label_8;
| }
| label_11:
0x00003074 lw t9, -0x7f38(gp) | t9 = sym.imp.rmdir;
0x00003078 move a0, s5 | a0 = s5;
0x0000307c jalr t9 | t9 ();
0x00003080 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003084 b 0x2ba0 | goto label_1;
| label_36:
0x00003088 lw t9, -0x7f34(gp) | t9 = sym.imp.fputc;
0x0000308c move a1, v0 | a1 = v0;
0x00003090 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00003094 addiu a0, zero, 0x66 | a0 = 0x66;
0x00003098 jalr t9 | t9 ();
0x0000309c lw gp, 0x20(sp) | gp = *(var_20h);
0x000030a0 lw v1, 0x28(sp) | v1 = *(var_28h);
0x000030a4 b 0x2d2c | goto label_9;
| label_44:
0x000030a8 addiu a1, zero, 0x2f | a1 = 0x2f;
0x000030ac move a0, s4 | a0 = s4;
0x000030b0 jalr t9 | t9 ();
0x000030b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000030b8 beqz v0, 0x2f30 | goto label_10;
| }
0x000030bc sb zero, (v0) | *(v0) = 0;
0x000030c0 b 0x2f30 | goto label_10;
| label_47:
0x000030c4 lw t9, -0x7e08(gp) | t9 = sym.imp.__errno_location;
0x000030c8 jalr t9 | t9 ();
0x000030cc nop |
0x000030d0 lw s0, (v0) | s0 = *(v0);
0x000030d4 addiu v0, zero, 0x11 | v0 = 0x11;
0x000030d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == v0) {
0x000030dc beq s0, v0, 0x3384 | goto label_48;
| }
0x000030e0 xori s0, s0, 0x1c | s0 ^= 0x1c;
0x000030e4 addiu v1, zero, -0x3ef | v1 = -0x3ef;
0x000030e8 addiu v0, zero, -0x3e8 | v0 = -0x3e8;
| if (s0 != 0) {
0x000030ec movz v0, v1, s0 | v0 = v1;
| }
0x000030f0 move s0, v0 | s0 = v0;
| label_13:
0x000030f4 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x000030f8 move a0, s7 | a0 = s7;
0x000030fc jalr t9 | t9 ();
0x00003100 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x00003104 move s7, zero | s7 = 0;
0x00003108 move fp, zero | fp = 0;
0x0000310c move s4, zero | s4 = 0;
0x00003110 b 0x3074 | goto label_11;
| label_46:
0x00003114 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00003118 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000311c lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00003120 move a2, s6 | a2 = s6;
0x00003124 addiu a1, a1, 0x6140 | a1 += str._etc_overlays;
0x00003128 addiu a0, a0, 0x6150 | a0 += str._s__s.ovl;
0x0000312c jalr t9 | t9 ();
0x00003130 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003134 addiu a0, zero, 2 | a0 = 2;
0x00003138 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x0000313c move s5, v0 | s5 = v0;
0x00003140 jalr t9 | t9 ();
0x00003144 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003148 addiu a1, zero, 0x1fd | a1 = 0x1fd;
0x0000314c move a0, s5 | a0 = s5;
0x00003150 lw t9, -0x7e18(gp) | t9 = sym.imp.mkdir;
0x00003154 move s4, v0 | s4 = v0;
0x00003158 jalr t9 | t9 ();
0x0000315c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 >= 0) {
0x00003160 bltz v0, 0x3344 |
0x00003164 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x00003168 move a0, s4 | a0 = s4;
0x0000316c jalr t9 | t9 ();
0x00003170 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003174 move a1, s5 | a1 = s5;
0x00003178 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000317c lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
0x00003180 addiu a0, a0, 0x615c | a0 += str._s_bmp;
0x00003184 jalr t9 | t9 ();
0x00003188 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000318c move a2, s3 | a2 = s3;
0x00003190 move a1, s1 | a1 = s1;
0x00003194 lw t9, -0x7e3c(gp) | t9 = sym.imp.__xstat;
0x00003198 addiu a0, zero, 3 | a0 = 3;
0x0000319c move s4, v0 | s4 = v0;
0x000031a0 jalr t9 | t9 ();
0x000031a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000031a8 bltz v0, 0x3398 | goto label_49;
| }
0x000031ac lw t9, -0x7e10(gp) | t9 = sym.imp.open;
0x000031b0 move a1, zero | a1 = 0;
0x000031b4 move a0, s1 | a0 = s1;
0x000031b8 jalr t9 | t9 ();
0x000031bc move s7, v0 | s7 = v0;
0x000031c0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000031c4 bltz v0, 0x3398 | goto label_49;
| }
0x000031c8 lw t9, -0x7e10(gp) | t9 = sym.imp.open;
0x000031cc addiu a2, zero, 0x1a4 | a2 = 0x1a4;
0x000031d0 addiu a1, zero, 0x101 | a1 = 0x101;
0x000031d4 move a0, s4 | a0 = s4;
0x000031d8 jalr t9 | t9 ();
0x000031dc move fp, v0 | fp = v0;
0x000031e0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000031e4 bltz v0, 0x33ac | goto label_50;
| }
0x000031e8 lw t9, -0x7f58(gp) | t9 = sym.imp.sendfile;
0x000031ec lw a3, 0x8c(sp) | a3 = *(var_8ch);
0x000031f0 move a2, zero | a2 = 0;
0x000031f4 move a1, s7 | a1 = s7;
0x000031f8 move a0, v0 | a0 = v0;
0x000031fc jalr t9 | t9 ();
0x00003200 lw v1, 0x8c(sp) | v1 = *(var_8ch);
0x00003204 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x00003208 beq v0, v1, 0x3414 | goto label_51;
| }
0x0000320c lw t9, -0x7e08(gp) | t9 = sym.imp.__errno_location;
0x00003210 jalr t9 | t9 ();
0x00003214 nop |
0x00003218 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000321c lw s0, (v0) | s0 = *(v0);
0x00003220 addiu v1, zero, -0x3ef | v1 = -0x3ef;
0x00003224 lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
0x00003228 xori s0, s0, 0xb | s0 ^= 0xb;
0x0000322c addiu v0, zero, -0x3e8 | v0 = -0x3e8;
| if (s0 != 0) {
0x00003230 movz v0, v1, s0 | v0 = v1;
| }
0x00003234 move a0, s4 | a0 = s4;
0x00003238 move s0, v0 | s0 = v0;
0x0000323c jalr t9 | t9 ();
0x00003240 lw gp, 0x20(sp) | gp = *(var_20h);
| label_17:
0x00003244 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
| if (s7 != 0) {
0x00003248 beqz s7, 0x3258 |
0x0000324c move a0, s7 | a0 = s7;
0x00003250 jalr t9 | t9 ();
0x00003254 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00003258 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
| if (fp > 0) {
0x0000325c blez fp, 0x326c |
0x00003260 move a0, s7 | a0 = s7;
0x00003264 jalr t9 | t9 ();
0x00003268 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0000326c lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
| if (s0 != 0) {
0x00003270 bnez s0, 0x358c | goto label_52;
| }
0x00003274 lw s7, 0x28(sp) | s7 = *(var_28h);
0x00003278 lw t9, -0x7eac(gp) | t9 = sym.imp.g_strdup_printf;
| if (s7 == 0) {
0x0000327c beqz s7, 0x33b4 | goto label_53;
| }
0x00003280 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00003284 move a1, s5 | a1 = s5;
0x00003288 addiu a0, a0, 0x6164 | a0 += str._s_pal;
0x0000328c jalr t9 | t9 ();
0x00003290 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003294 move a0, v0 | a0 = v0;
0x00003298 move fp, v0 | fp = v0;
0x0000329c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000032a0 lw t9, -0x7f3c(gp) | t9 = sym.imp.fopen;
0x000032a4 addiu a1, a1, 0x616c | a1 += 0x616c;
0x000032a8 jalr t9 | t9 ();
0x000032ac move s0, v0 | s0 = v0;
0x000032b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000032b4 beqz v0, 0x3580 | goto label_54;
| }
0x000032b8 lw t9, -0x7e04(gp) | t9 = sym.imp.fputs;
0x000032bc move a1, v0 | a1 = v0;
0x000032c0 move a0, s7 | a0 = s7;
0x000032c4 jalr t9 | t9 ();
0x000032c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000032cc lw t9, -0x7ec8(gp) | t9 = sym.imp.fclose;
0x000032d0 move a0, s0 | a0 = s0;
0x000032d4 jalr t9 | t9 ();
0x000032d8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_18:
0x000032dc lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000032e0 lw t9, -0x7e2c(gp) | t9 = sym.imp.statfs;
0x000032e4 move a1, s3 | a1 = s3;
0x000032e8 addiu a0, a0, 0x6170 | a0 += str._etc;
0x000032ec jalr t9 | t9 ();
0x000032f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x000032f4 bltz v0, 0x338c | goto label_55;
| }
0x000032f8 lw v1, 0x60(sp) | v1 = *(var_60h);
0x000032fc lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00003300 mul v0, v0, v1 | __asm ("mul v0, v0, v1");
0x00003304 lui v1, 1 | v1 = 0x10000;
0x00003308 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x0000330c lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x00003310 bnez v0, 0x338c | goto label_55;
| }
0x00003314 move s0, zero | s0 = 0;
0x00003318 move s7, zero | s7 = 0;
0x0000331c sw s5, (v0) | *(v0) = s5;
0x00003320 move s5, zero | s5 = 0;
0x00003324 b 0x2ba0 | goto label_1;
| label_38:
0x00003328 sw s7, 0x48(sp) | *(var_48h) = s7;
0x0000332c addiu v0, v0, 0x60dc | v0 += str.argb16;
0x00003330 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00003334 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00003338 sw s1, 0x44(sp) | *(var_44h) = s1;
0x0000333c addiu v0, v0, 0x63ac | v0 += 0x63ac;
0x00003340 b 0x3010 | goto label_12;
| }
0x00003344 lw t9, -0x7e08(gp) | t9 = sym.imp.__errno_location;
0x00003348 jalr t9 | t9 ();
0x0000334c nop |
0x00003350 lw v0, (v0) | v0 = *(v0);
0x00003354 addiu v1, zero, 0x11 | v1 = 0x11;
0x00003358 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0000335c beq v0, v1, 0x33a4 | goto label_56;
| }
0x00003360 xori v0, v0, 0x1c | v0 ^= 0x1c;
0x00003364 addiu v1, zero, -0x3ef | v1 = -0x3ef;
0x00003368 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
| if (v0 != 0) {
0x0000336c movz s0, v1, v0 | s0 = v1;
| }
| label_16:
0x00003370 lw t9, -0x7ec4(gp) | t9 = sym.imp.umask;
0x00003374 move a0, s4 | a0 = s4;
0x00003378 jalr t9 | t9 ();
0x0000337c lw gp, 0x20(sp) | gp = *(var_20h);
0x00003380 b 0x3104 |
| } while (1);
| label_48:
0x00003384 addiu s0, zero, -0x3f2 | s0 = -0x3f2;
0x00003388 b 0x30f4 | goto label_13;
| label_55:
0x0000338c addiu s0, zero, -0x3ef | s0 = -0x3ef;
0x00003390 move s7, zero | s7 = 0;
0x00003394 b 0x3048 | goto label_14;
| label_49:
0x00003398 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x0000339c move s7, zero | s7 = 0;
0x000033a0 b 0x3040 | goto label_15;
| label_56:
0x000033a4 addiu s0, zero, -0x3f2 | s0 = -0x3f2;
0x000033a8 b 0x3370 | goto label_16;
| label_50:
0x000033ac addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x000033b0 b 0x3244 | goto label_17;
| label_53:
0x000033b4 move fp, zero | fp = 0;
0x000033b8 b 0x32dc | goto label_18;
| label_25:
0x000033bc lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x000033c0 lw a0, 0x54(sp) | a0 = *(var_54h);
0x000033c4 move s7, zero | s7 = 0;
0x000033c8 jalr t9 | t9 ();
0x000033cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000033d0 lw a0, 0x58(sp) | a0 = *(var_58h);
0x000033d4 move fp, zero | fp = 0;
0x000033d8 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x000033dc move s6, zero | s6 = 0;
0x000033e0 jalr t9 | t9 ();
0x000033e4 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x000033e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000033ec move s4, zero | s4 = 0;
0x000033f0 move s5, zero | s5 = 0;
0x000033f4 b 0x2ba0 | goto label_1;
| label_33:
0x000033f8 move s7, zero | s7 = 0;
0x000033fc move fp, zero | fp = 0;
0x00003400 move s6, zero | s6 = 0;
0x00003404 addiu s0, zero, -0x3f0 | s0 = -0x3f0;
0x00003408 move s4, zero | s4 = 0;
0x0000340c move s5, zero | s5 = 0;
0x00003410 b 0x2ba0 | goto label_1;
| label_51:
0x00003414 lw t9, -0x7ee0(gp) | t9 = sym.imp.unlink;
0x00003418 move a0, s1 | a0 = s1;
0x0000341c jalr t9 | t9 ();
0x00003420 move s0, zero | s0 = 0;
0x00003424 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003428 b 0x3244 | goto label_17;
| label_39:
0x0000342c lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00003430 lw a0, 0x54(sp) | a0 = *(var_54h);
0x00003434 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00003438 jalr t9 | t9 ();
0x0000343c lw gp, 0x20(sp) | gp = *(var_20h);
0x00003440 lw a0, 0x58(sp) | a0 = *(var_58h);
0x00003444 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00003448 move s4, zero | s4 = 0;
0x0000344c jalr t9 | t9 ();
0x00003450 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003454 b 0x2e80 | goto label_4;
| label_32:
0x00003458 move s7, zero | s7 = 0;
0x0000345c move fp, zero | fp = 0;
0x00003460 move s6, zero | s6 = 0;
0x00003464 addiu s0, zero, -0x3f1 | s0 = -0x3f1;
0x00003468 move s4, zero | s4 = 0;
0x0000346c move s5, zero | s5 = 0;
0x00003470 b 0x2ba0 | goto label_1;
| label_23:
0x00003474 lw t9, -0x7f2c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003478 jalr t9 | t9 ();
0x0000347c nop |
| label_26:
0x00003480 lw t9, -0x7ec0(gp) | t9 = sym.imp.dup2;
0x00003484 move a1, zero | a1 = 0;
0x00003488 jalr t9 | t9 ();
0x0000348c lw gp, 0x20(sp) | gp = *(var_20h);
0x00003490 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00003494 lw t9, -0x7ec0(gp) | t9 = sym.imp.dup2;
0x00003498 addiu a1, zero, 1 | a1 = 1;
0x0000349c jalr t9 | t9 ();
0x000034a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000034a4 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x000034a8 lw a0, 0x58(sp) | a0 = *(var_58h);
0x000034ac jalr t9 | t9 ();
0x000034b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000034b4 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x000034b8 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x000034bc jalr t9 | t9 ();
0x000034c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000034c4 move a0, s0 | a0 = s0;
0x000034c8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000034cc lw t9, -0x7e78(gp) | t9 = sym.imp.execl;
0x000034d0 move a3, s1 | a3 = s1;
0x000034d4 move a2, s4 | a2 = s4;
0x000034d8 move a1, s0 | a1 = s0;
0x000034dc jalr t9 | t9 ();
0x000034e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000034e4 lw t9, -0x7f7c(gp) | t9 = sym.imp.exit;
0x000034e8 move a0, v0 | a0 = v0;
0x000034ec jalr t9 | t9 ();
| label_40:
0x000034f0 lw t9, -0x7ec0(gp) | t9 = sym.imp.dup2;
0x000034f4 move a1, zero | a1 = 0;
0x000034f8 jalr t9 | t9 ();
0x000034fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00003500 lw a0, 0x60(sp) | a0 = *(var_60h);
0x00003504 lw t9, -0x7ec0(gp) | t9 = sym.imp.dup2;
0x00003508 addiu a1, zero, 1 | a1 = 1;
0x0000350c jalr t9 | t9 ();
0x00003510 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003514 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00003518 lw a0, 0x58(sp) | a0 = *(var_58h);
0x0000351c jalr t9 | t9 ();
0x00003520 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003524 lw t9, -0x7f10(gp) | t9 = sym.imp.close;
0x00003528 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x0000352c jalr t9 | t9 ();
0x00003530 lw gp, 0x20(sp) | gp = *(var_20h);
0x00003534 addiu v0, zero, 3 | v0 = 3;
0x00003538 lw t9, -0x7e78(gp) | t9 = sym.imp.execl;
| if (fp == v0) {
0x0000353c beq fp, v0, 0x35a4 | goto label_57;
| }
0x00003540 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00003544 lw a1, 0x28(sp) | a1 = *(var_28h);
0x00003548 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000354c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00003550 lw a3, 0x40(sp) | a3 = *(var_40h);
0x00003554 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x00003558 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0000355c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003560 move a0, a1 | a0 = a1;
0x00003564 jalr t9 | t9 ();
0x00003568 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x0000356c lw t9, -0x7f7c(gp) | t9 = sym.imp.exit;
0x00003570 move a0, v0 | a0 = v0;
0x00003574 jalr t9 | t9 ();
| label_24:
0x00003578 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x0000357c b 0x2990 | goto label_19;
| label_54:
0x00003580 addiu s0, zero, -0x3e8 | s0 = -0x3e8;
0x00003584 move s7, zero | s7 = 0;
0x00003588 b 0x3048 | goto label_14;
| label_52:
0x0000358c move a0, s4 | a0 = s4;
0x00003590 jalr t9 | t9 ();
0x00003594 move s7, zero | s7 = 0;
0x00003598 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000359c move fp, zero | fp = 0;
0x000035a0 b 0x3074 | goto label_11;
| label_57:
0x000035a4 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x000035a8 lw a1, 0x28(sp) | a1 = *(var_28h);
0x000035ac sw v0, 0x18(sp) | *(var_18h) = v0;
0x000035b0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x000035b4 lw a3, 0x40(sp) | a3 = *(var_40h);
0x000035b8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000035bc lw v0, 0x44(sp) | v0 = *(var_44h);
0x000035c0 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x000035c4 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x000035c8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000035cc move a0, a1 | a0 = a1;
0x000035d0 jalr t9 | t9 ();
0x000035d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000035d8 b 0x356c |
| } while (1);
| }
[*] Function fprintf used 2 times overlayimage.cgi