[*] Binary protection state of parhand
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of parhand
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x4858 */
| #include <stdint.h>
|
; (fcn) fcn.00004858 () | void fcn_00004858 () {
0x00004858 lui gp, 4 |
0x0000485c addiu gp, gp, -0x1508 |
0x00004860 addu gp, gp, t9 | gp += t9;
0x00004864 addiu sp, sp, -0x38 |
0x00004868 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0000486c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00004870 sw s3, 0x30(sp) | *(var_30h) = s3;
0x00004874 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00004878 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0000487c move s3, a0 | s3 = a0;
0x00004880 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00004884 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00004888 addiu a0, zero, 0x3c | a0 = 0x3c;
0x0000488c move s1, a1 | s1 = a1;
0x00004890 move s2, a2 | s2 = a2;
0x00004894 jalr t9 | t9 ();
0x00004898 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000489c sw v0, (s3) | *(s3) = v0;
| if (v0 == 0) {
0x000048a0 beqz v0, 0x49c8 | goto label_1;
| }
0x000048a4 lw t9, -0x7b88(gp) | t9 = sym.imp.strncpy;
0x000048a8 move s0, v0 | s0 = v0;
0x000048ac sw zero, (v0) | *(v0) = 0;
0x000048b0 sw zero, 0x38(v0) | *((v0 + 14)) = 0;
0x000048b4 sw zero, 8(v0) | *((v0 + 2)) = 0;
0x000048b8 sw zero, 4(v0) | *((v0 + 1)) = 0;
0x000048bc sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x000048c0 sb zero, 0x10(v0) | *((v0 + 16)) = 0;
0x000048c4 addiu a2, zero, 0x20 | a2 = 0x20;
0x000048c8 move a1, s1 | a1 = s1;
0x000048cc addiu a0, v0, 0x11 | a0 = v0 + 0x11;
0x000048d0 jalr t9 | t9 ();
0x000048d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000048d8 sb zero, 0x31(s0) | *((s0 + 49)) = 0;
| if (s2 == 0) {
0x000048dc beqz s2, 0x4968 | goto label_2;
| }
0x000048e0 lw s3, 0x34(s2) | s3 = *((s2 + 13));
0x000048e4 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000048e8 move a0, s3 | a0 = s3;
0x000048ec jalr t9 | t9 ();
0x000048f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000048f4 move a0, s1 | a0 = s1;
0x000048f8 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000048fc move s2, v0 | s2 = v0;
0x00004900 jalr t9 | t9 ();
0x00004904 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004908 addu v0, s2, v0 | v0 = s2 + v0;
0x0000490c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00004910 addiu a0, v0, 2 | a0 = v0 + 2;
0x00004914 jalr t9 | t9 ();
0x00004918 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000491c sw v0, 0x34(s0) | *((s0 + 13)) = v0;
| if (v0 == 0) {
0x00004920 beqz v0, 0x49d0 | goto label_3;
| }
0x00004924 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x00004928 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0000492c sw s1, 0x14(sp) | *(var_14h) = s1;
0x00004930 sw s3, 0x10(sp) | *(var_10h) = s3;
| /* str._s._s */
0x00004934 addiu a3, a3, 0x61b4 | a3 += 0x61b4;
0x00004938 addiu a2, zero, -1 | a2 = -1;
0x0000493c addiu a1, zero, 1 | a1 = 1;
0x00004940 move a0, v0 | a0 = v0;
0x00004944 jalr t9 | t9 ();
0x00004948 move v0, zero | v0 = 0;
| do {
| label_0:
0x0000494c lw ra, 0x34(sp) | ra = *(var_34h);
0x00004950 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00004954 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00004958 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0000495c lw s0, 0x24(sp) | s0 = *(var_24h);
0x00004960 addiu sp, sp, 0x38 |
0x00004964 jr ra | return v0;
| label_2:
0x00004968 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0000496c move a0, s1 | a0 = s1;
0x00004970 jalr t9 | t9 ();
0x00004974 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004978 addiu s2, v0, 1 | s2 = v0 + 1;
0x0000497c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00004980 move a0, s2 | a0 = s2;
0x00004984 jalr t9 | t9 ();
0x00004988 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000498c sw v0, 0x34(s0) | *((s0 + 13)) = v0;
| if (v0 == 0) {
0x00004990 beqz v0, 0x49d0 | goto label_3;
| }
0x00004994 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x00004998 move a2, s2 | a2 = s2;
0x0000499c move a1, s1 | a1 = s1;
0x000049a0 move a0, v0 | a0 = v0;
0x000049a4 jalr t9 | t9 ();
0x000049a8 lw ra, 0x34(sp) | ra = *(var_34h);
0x000049ac lw s3, 0x30(sp) | s3 = *(var_30h);
0x000049b0 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x000049b4 lw s1, 0x28(sp) | s1 = *(var_28h);
0x000049b8 lw s0, 0x24(sp) | s0 = *(var_24h);
0x000049bc move v0, zero | v0 = 0;
0x000049c0 addiu sp, sp, 0x38 |
0x000049c4 jr ra | return v0;
| label_1:
0x000049c8 addiu v0, zero, -2 | v0 = -2;
0x000049cc b 0x494c |
| } while (1);
| label_3:
0x000049d0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000049d4 move a0, s0 | a0 = s0;
0x000049d8 jalr t9 | t9 ();
0x000049dc addiu v0, zero, -2 | v0 = -2;
0x000049e0 b 0x494c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x50f4 */
| #include <stdint.h>
|
; (fcn) fcn.000050f4 () | void fcn_000050f4 () {
0x000050f4 lui gp, 4 |
0x000050f8 addiu gp, gp, -0x1da4 |
0x000050fc addu gp, gp, t9 | gp += t9;
0x00005100 addiu sp, sp, -0x120 |
0x00005104 sw s5, 0x10c(sp) | *(var_10ch) = s5;
0x00005108 lw s5, -0x7c68(gp) | s5 = *((gp - 7962));
0x0000510c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00005110 sw ra, 0x11c(sp) | *(var_11ch) = ra;
0x00005114 sw fp, 0x118(sp) | *(var_118h) = fp;
0x00005118 sw s7, 0x114(sp) | *(var_114h) = s7;
0x0000511c sw s6, 0x110(sp) | *(var_110h) = s6;
0x00005120 sw s4, 0x108(sp) | *(var_108h) = s4;
0x00005124 sw s3, 0x104(sp) | *(var_104h) = s3;
0x00005128 sw s2, 0x100(sp) | *(var_100h) = s2;
0x0000512c sw s1, 0xfc(sp) | *(var_fch) = s1;
0x00005130 sw s0, 0xf8(sp) | *(var_f8h) = s0;
0x00005134 lw v1, (s5) | v1 = *(s5);
0x00005138 lb v0, (a0) | v0 = *(a0);
0x0000513c sw v1, 0xf4(sp) | *(var_f4h) = v1;
0x00005140 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| if (v0 == 0) {
0x00005144 bnez v0, 0x5184 |
| label_10:
0x00005148 lw v1, 0xf4(sp) | v1 = *(var_f4h);
0x0000514c lw v0, (s5) | v0 = *(s5);
0x00005150 lw ra, 0x11c(sp) | ra = *(var_11ch);
| if (v1 != v0) {
0x00005154 bne v1, v0, 0x5754 | goto label_12;
| }
0x00005158 lw fp, 0x118(sp) | fp = *(var_118h);
0x0000515c lw s7, 0x114(sp) | s7 = *(var_114h);
0x00005160 lw s6, 0x110(sp) | s6 = *(var_110h);
0x00005164 lw s5, 0x10c(sp) | s5 = *(var_10ch);
0x00005168 lw s4, 0x108(sp) | s4 = *(var_108h);
0x0000516c lw s3, 0x104(sp) | s3 = *(var_104h);
0x00005170 lw s2, 0x100(sp) | s2 = *(var_100h);
0x00005174 lw s1, 0xfc(sp) | s1 = *(var_fch);
0x00005178 lw s0, 0xf8(sp) | s0 = *(var_f8h);
0x0000517c addiu sp, sp, 0x120 |
0x00005180 jr ra | return v0;
| }
0x00005184 move s0, a0 | s0 = a0;
0x00005188 move s7, a1 | s7 = a1;
0x0000518c jalr t9 | t9 ();
0x00005190 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005194 srl v0, v0, 1 | v0 >>= 1;
0x00005198 addiu a0, v0, 1 | a0 = v0 + 1;
0x0000519c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000051a0 sll a0, a0, 3 | a0 <<= 3;
0x000051a4 jalr t9 | t9 ();
0x000051a8 sw v0, 0x24(sp) | *(var_24h) = v0;
0x000051ac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000051b0 beqz v0, 0x569c | goto label_13;
| }
0x000051b4 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x000051b8 move a0, s0 | a0 = s0;
0x000051bc jalr t9 | t9 ();
0x000051c0 sw v0, 0x34(sp) | *(var_34h_2) = v0;
0x000051c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000051c8 beqz v0, 0x568c | goto label_14;
| }
0x000051cc lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x000051d0 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x000051d4 sw v0, 0x44(sp) | *(var_44h_2) = v0;
0x000051d8 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000051dc lw t9, -0x7b64(gp) | t9 = sym.imp.strsep;
0x000051e0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000051e4 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000051e8 addiu s6, sp, 0x44 | s6 = sp + 0x44;
| /* esilref: 'IO' */
0x000051ec addiu v0, v0, 0x62b0 | v0 += 0x62b0;
| /* esilref: '
' */
0x000051f0 addiu s2, s2, 0x62b4 | s2 += 0x62b4;
0x000051f4 lw s3, -0x7fc4(gp) | s3 = *(gp);
0x000051f8 lw s4, -0x7fc4(gp) | s4 = *(gp);
0x000051fc sw v0, 0x28(sp) | *(var_28h_2) = v0;
0x00005200 move a1, s2 | a1 = s2;
0x00005204 move a0, s6 | a0 = s6;
0x00005208 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0000520c jalr t9 | t9 ();
0x00005210 move s1, zero | s1 = 0;
| /* str.USR1 */
0x00005214 addiu s3, s3, 0x629c | s3 += 0x629c;
| /* str.USR2 */
0x00005218 addiu s4, s4, 0x62a4 | s4 += 0x62a4;
0x0000521c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005220 move fp, v0 | fp = v0;
| if (v0 == 0) {
0x00005224 beqz v0, 0x528c | goto label_15;
| }
| label_0:
0x00005228 lw t9, -0x7c14(gp) | t9 = sym.imp.__ctype_b_loc;
0x0000522c jalr t9 | t9 ();
0x00005230 nop |
0x00005234 lw a0, (v0) | a0 = *(v0);
0x00005238 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x0000523c lb v0, (fp) | v0 = *(fp);
0x00005240 sll v0, v0, 1 | v0 <<= 1;
0x00005244 addu v0, a0, v0 | v0 = a0 + v0;
0x00005248 lhu v0, (v0) | v0 = *(v0);
0x0000524c andi v0, v0, 0x2000 | v0 &= 0x2000;
0x00005250 addiu fp, fp, 1 | fp++;
0x00005254 bnel v0, zero, 0x523c |
| } while (v0 == 0);
0x00005258 sw fp, (s0) | *(s0) = fp;
| if (s7 != 0) {
0x0000525c bnez s7, 0x5460 | goto label_16;
| }
0x00005260 lw v0, -4(s0) | v0 = *((s0 - 1));
0x00005264 sw v0, 4(s0) | *((s0 + 1)) = v0;
| label_6:
0x00005268 addiu s1, s1, 1 | s1++;
0x0000526c addiu s0, s0, 8 | s0 += 8;
| label_7:
0x00005270 lw t9, -0x7b64(gp) | t9 = sym.imp.strsep;
0x00005274 move a1, s2 | a1 = s2;
0x00005278 move a0, s6 | a0 = s6;
0x0000527c jalr t9 | t9 ();
0x00005280 move fp, v0 | fp = v0;
0x00005284 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00005288 bnez v0, 0x5228 | goto label_0;
| }
| label_15:
0x0000528c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005290 lw t9, -0x7c04(gp) | t9 = sym.imp.opendir;
| /* str._proc */
0x00005294 addiu a0, a0, 0x62b8 | a0 += 0x62b8;
0x00005298 jalr t9 | t9 ();
0x0000529c move s4, v0 | s4 = v0;
0x000052a0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000052a4 beqz v0, 0x5714 | goto label_17;
| }
0x000052a8 lw v0, 0x24(sp) | v0 = *(var_24h);
0x000052ac sll s3, s1, 3 | s3 = s1 << 3;
0x000052b0 addu s3, v0, s3 | s3 = v0 + s3;
0x000052b4 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000052b8 lw s6, -0x7fc4(gp) | s6 = *(gp);
| /* str._proc__u_cmdline */
0x000052bc addiu v0, v0, 0x62dc | v0 += 0x62dc;
0x000052c0 sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x000052c4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000052c8 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x000052cc lw v0, -0x7fc4(gp) | v0 = *(gp);
| /* str.Out_of_memory_in_addPidSignal_ */
0x000052d0 addiu v0, v0, 0x62f0 | v0 += 0x62f0;
0x000052d4 sw v0, 0x38(sp) | *(var_38h_2) = v0;
0x000052d8 lw v0, -0x7fc4(gp) | v0 = *(gp);
| /* str.axismapping.c */
0x000052dc addiu v0, v0, 0x61a4 | v0 += 0x61a4;
0x000052e0 sw v0, 0x3c(sp) | *(var_3ch_2) = v0;
| do {
| label_1:
0x000052e4 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
| label_3:
0x000052e8 move a0, s4 | a0 = s4;
0x000052ec jalr t9 | t9 ();
0x000052f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000052f4 beqz v0, 0x55b0 | goto label_18;
| }
0x000052f8 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
0x000052fc addiu a2, sp, 0x48 | a2 = sp + 0x48;
| /* esilref: '&u' */
0x00005300 addiu a1, s6, 0x62d8 | a1 = s6 + 0x62d8;
0x00005304 addiu a0, v0, 0xb | a0 = v0 + 0xb;
0x00005308 jalr t9 | t9 ();
0x0000530c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005310 beqz v0, 0x52e4 |
| } while (v0 == 0);
0x00005314 lw v0, 0x48(sp) | v0 = *(var_48h_2);
0x00005318 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0000531c addiu s0, sp, 0x4c | s0 = sp + 0x4c;
0x00005320 lw a3, 0x2c(sp) | a3 = *(var_2ch_2);
0x00005324 move a0, s0 | a0 = s0;
0x00005328 addiu a2, zero, 0x1e | a2 = 0x1e;
0x0000532c addiu a1, zero, 1 | a1 = 1;
0x00005330 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00005334 jalr t9 | t9 ();
0x00005338 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000533c lw v0, 0x30(sp) | v0 = *(var_30h_2);
0x00005340 move a0, s0 | a0 = s0;
0x00005344 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x00005348 addiu a1, v0, -0x6754 | a1 = v0 + -0x6754;
0x0000534c jalr t9 | t9 ();
0x00005350 move s0, v0 | s0 = v0;
0x00005354 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00005358 beqz v0, 0x52e4 | goto label_1;
| }
0x0000535c lw t9, -0x7d20(gp) | t9 = sym.imp.fread;
0x00005360 addiu s2, sp, 0x6c | s2 = sp + 0x6c;
0x00005364 move a3, v0 | a3 = v0;
0x00005368 addiu a2, zero, 0x84 | a2 = 0x84;
0x0000536c addiu a1, zero, 1 | a1 = 1;
0x00005370 move a0, s2 | a0 = s2;
0x00005374 jalr t9 | t9 ();
0x00005378 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000537c move a0, s0 | a0 = s0;
0x00005380 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00005384 move s7, v0 | s7 = v0;
0x00005388 jalr t9 | t9 ();
0x0000538c addiu v0, sp, 0xf8 | v0 = sp + 0xf8;
0x00005390 addu s7, v0, s7 | s7 = v0 + s7;
0x00005394 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005398 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0000539c sb zero, -0x8c(s7) | *((s7 - 140)) = 0;
| if (s1 == 0) {
0x000053a0 beqz s1, 0x52e4 | goto label_1;
| }
0x000053a4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000053a8 lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
0x000053ac addiu a1, zero, 0x2f | a1 = 0x2f;
0x000053b0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000053b4 move a0, s2 | a0 = s2;
0x000053b8 jalr t9 | t9 ();
0x000053bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000053c0 lw a1, (s0) | a1 = *(s0);
| if (v0 == 0) {
0x000053c4 beqz v0, 0x5458 | goto label_19;
| }
| label_4:
0x000053c8 addiu a0, v0, 1 | a0 = v0 + 1;
| label_5:
0x000053cc lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x000053d0 jalr t9 | t9 ();
0x000053d4 nop |
0x000053d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000053dc bnez v0, 0x5430 | goto label_20;
| }
0x000053e0 lw v0, 0x20(sp) | v0 = *(var_20h);
0x000053e4 lw t1, 4(s0) | t1 = *((s0 + 1));
0x000053e8 addiu fp, zero, 1 | fp = 1;
0x000053ec lw a3, -0x476c(v0) | a3 = *((v0 - 4571));
0x000053f0 sltiu v0, t1, 0x20 | v0 = (t1 < 0x20) ? 1 : 0;
| if (v0 != 0) {
0x000053f4 movz t1, fp, v0 | t1 = fp;
| }
0x000053f8 lw s7, 0x48(sp) | s7 = *(var_48h_2);
| if (a3 == 0) {
0x000053fc beqz a3, 0x56bc | goto label_21;
| }
0x00005400 sllv fp, fp, t1 | fp <<= t1;
0x00005404 move v0, a3 | v0 = a3;
0x00005408 b 0x5414 |
| while (s7 == v1) {
| label_2:
0x0000540c lw t9, -0x7d2c(gp) | t9 = sym.imp.kill;
| if (v0 == 0) {
0x00005410 beqz v0, 0x551c | goto label_22;
| }
0x00005414 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00005418 lw v0, (v0) | v0 = *(v0);
0x0000541c bnel s7, v1, 0x540c |
| }
0x00005420 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00005424 and v1, fp, v1 | v1 = fp & v1;
| if (v1 == 0) {
0x00005428 beql v1, zero, 0x540c | goto label_2;
| }
0x0000542c lw v0, (v0) | v0 = *(v0);
| label_20:
0x00005430 addiu s0, s0, 8 | s0 += 8;
0x00005434 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
| if (s3 == s0) {
0x00005438 beq s3, s0, 0x52e8 | goto label_3;
| }
| label_9:
0x0000543c lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
0x00005440 addiu a1, zero, 0x2f | a1 = 0x2f;
0x00005444 move a0, s2 | a0 = s2;
0x00005448 jalr t9 | t9 ();
0x0000544c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005450 lw a1, (s0) | a1 = *(s0);
| if (v0 != 0) {
0x00005454 bnez v0, 0x53c8 | goto label_4;
| }
| label_19:
0x00005458 move a0, s2 | a0 = s2;
0x0000545c b 0x53cc | goto label_5;
| do {
| label_16:
0x00005460 lb v0, (s7) | v0 = *(s7);
0x00005464 sll v0, v0, 1 | v0 <<= 1;
0x00005468 addu v0, a0, v0 | v0 = a0 + v0;
0x0000546c lhu v0, (v0) | v0 = *(v0);
0x00005470 andi v1, v0, 0x2000 | v1 = v0 & 0x2000;
0x00005474 addiu s7, s7, 1 | s7++;
0x00005478 bnel v1, zero, 0x5460 |
| } while (v1 == 0);
0x0000547c andi v0, v0, 0x800 | v0 &= 0x800;
0x00005480 lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
| if (v0 != 0) {
0x00005484 bnez v0, 0x54fc | goto label_23;
| }
0x00005488 addiu a2, zero, 4 | a2 = 4;
0x0000548c move a1, s3 | a1 = s3;
0x00005490 move a0, s7 | a0 = s7;
0x00005494 jalr t9 | t9 ();
0x00005498 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000549c bnez v0, 0x54d4 | goto label_24;
| }
0x000054a0 addiu v0, zero, 0x10 | v0 = 0x10;
0x000054a4 sw v0, 4(s0) | *((s0 + 1)) = v0;
| label_8:
0x000054a8 lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x000054ac move a0, s7 | a0 = s7;
0x000054b0 addiu a1, zero, 0x2c | a1 = 0x2c;
0x000054b4 jalr t9 | t9 ();
0x000054b8 move s7, v0 | s7 = v0;
0x000054bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000054c0 beqz v0, 0x5268 | goto label_6;
| }
0x000054c4 addiu s7, v0, 1 | s7 = v0 + 1;
0x000054c8 addiu s1, s1, 1 | s1++;
0x000054cc addiu s0, s0, 8 | s0 += 8;
0x000054d0 b 0x5270 | goto label_7;
| label_24:
0x000054d4 lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
0x000054d8 addiu a2, zero, 4 | a2 = 4;
0x000054dc move a1, s4 | a1 = s4;
0x000054e0 move a0, s7 | a0 = s7;
0x000054e4 jalr t9 | t9 ();
0x000054e8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000054ec bnez v0, 0x5614 | goto label_25;
| }
0x000054f0 addiu v0, zero, 0x11 | v0 = 0x11;
0x000054f4 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x000054f8 b 0x54a8 | goto label_8;
| label_23:
0x000054fc lw t9, -0x7be4(gp) | t9 = sym.imp.strtol;
0x00005500 addiu a2, zero, 0xa | a2 = 0xa;
0x00005504 move a1, zero | a1 = 0;
0x00005508 move a0, s7 | a0 = s7;
0x0000550c jalr t9 | t9 ();
0x00005510 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005514 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00005518 b 0x54a8 | goto label_8;
| label_22:
0x0000551c sw a3, 0x28(sp) | *(var_28h_2) = a3;
0x00005520 move a1, t1 | a1 = t1;
0x00005524 move a0, s7 | a0 = s7;
0x00005528 jalr t9 | t9 ();
0x0000552c lw a3, 0x28(sp) | a3 = *(var_28h_2);
0x00005530 lw v0, 4(a3) | v0 = *((a3 + 1));
0x00005534 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s7 != v0) {
0x00005538 bne s7, v0, 0x554c | goto label_26;
| }
0x0000553c move v0, a3 | v0 = a3;
0x00005540 b 0x5594 | goto label_27;
| do {
0x00005544 move a3, v0 | a3 = v0;
| if (s7 == v1) {
0x00005548 beq s7, v1, 0x5594 | goto label_27;
| }
| label_26:
0x0000554c lw v0, (a3) | v0 = *(a3);
0x00005550 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00005554 bnel v0, zero, 0x5544 |
| } while (v0 == 0);
0x00005558 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0000555c sw a3, 0x28(sp) | *(var_28h_2) = a3;
0x00005560 addiu a0, zero, 0xc | a0 = 0xc;
0x00005564 jalr t9 | t9 ();
0x00005568 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000556c lw a3, 0x28(sp) | a3 = *(var_28h_2);
| if (v0 == 0) {
0x00005570 beqz v0, 0x5668 | goto label_11;
| }
0x00005574 addiu s0, s0, 8 | s0 += 8;
0x00005578 sw zero, (v0) | *(v0) = 0;
0x0000557c sw s7, 4(v0) | *((v0 + 1)) = s7;
0x00005580 sw fp, 8(v0) | *((v0 + 2)) = fp;
0x00005584 sw v0, (a3) | *(a3) = v0;
| if (s3 != s0) {
0x00005588 bne s3, s0, 0x543c | goto label_9;
| }
0x0000558c lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
0x00005590 b 0x52e8 | goto label_3;
| label_27:
0x00005594 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00005598 addiu s0, s0, 8 | s0 += 8;
0x0000559c or t0, v1, fp | t0 = v1 | fp;
0x000055a0 sw t0, 8(v0) | *((v0 + 2)) = t0;
| if (s3 != s0) {
0x000055a4 bne s3, s0, 0x543c | goto label_9;
| }
0x000055a8 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
0x000055ac b 0x52e8 | goto label_3;
| label_18:
0x000055b0 lw t9, -0x7c8c(gp) | t9 = sym.imp.closedir;
0x000055b4 move a0, s4 | a0 = s4;
0x000055b8 jalr t9 | t9 ();
0x000055bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000055c0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000055c4 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x000055c8 jalr t9 | t9 ();
0x000055cc lw v1, 0xf4(sp) | v1 = *(var_f4h);
0x000055d0 lw v0, (s5) | v0 = *(s5);
0x000055d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != v0) {
0x000055d8 bne v1, v0, 0x5754 | goto label_12;
| }
0x000055dc lw a0, 0x24(sp) | a0 = *(var_24h);
0x000055e0 lw ra, 0x11c(sp) | ra = *(var_11ch);
0x000055e4 lw fp, 0x118(sp) | fp = *(var_118h);
0x000055e8 lw s7, 0x114(sp) | s7 = *(var_114h);
0x000055ec lw s6, 0x110(sp) | s6 = *(var_110h);
0x000055f0 lw s5, 0x10c(sp) | s5 = *(var_10ch);
0x000055f4 lw s4, 0x108(sp) | s4 = *(var_108h);
0x000055f8 lw s3, 0x104(sp) | s3 = *(var_104h);
0x000055fc lw s2, 0x100(sp) | s2 = *(var_100h);
0x00005600 lw s1, 0xfc(sp) | s1 = *(var_fch);
0x00005604 lw s0, 0xf8(sp) | s0 = *(var_f8h);
0x00005608 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0000560c addiu sp, sp, 0x120 |
0x00005610 jr t9 | t9 ();
| label_25:
0x00005614 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00005618 lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
0x0000561c addiu a2, zero, 3 | a2 = 3;
0x00005620 addiu a1, v0, 0x62ac | a1 = v0 + 0x62ac;
0x00005624 move a0, s7 | a0 = s7;
0x00005628 jalr t9 | t9 ();
0x0000562c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00005630 beqz v0, 0x565c | goto label_28;
| }
0x00005634 lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
0x00005638 lw a1, 0x28(sp) | a1 = *(var_28h_2);
0x0000563c addiu a2, zero, 2 | a2 = 2;
0x00005640 move a0, s7 | a0 = s7;
0x00005644 jalr t9 | t9 ();
0x00005648 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000564c bnez v0, 0x54a8 | goto label_8;
| }
0x00005650 addiu v0, zero, 0x16 | v0 = 0x16;
0x00005654 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00005658 b 0x54a8 | goto label_8;
| label_28:
0x0000565c addiu v0, zero, 1 | v0 = 1;
0x00005660 sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00005664 b 0x54a8 | goto label_8;
| label_11:
0x00005668 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0000566c lw a1, 0x38(sp) | a1 = *(var_38h_2);
0x00005670 lw a0, 0x3c(sp) | a0 = *(var_3ch_2);
0x00005674 addiu s0, s0, 8 | s0 += 8;
0x00005678 bal 0x199c0 | sym_fatald ();
0x0000567c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s3 != s0) {
0x00005680 bne s3, s0, 0x543c | goto label_9;
| }
0x00005684 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
0x00005688 b 0x52e8 | goto label_3;
| label_14:
0x0000568c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005690 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00005694 jalr t9 | t9 ();
0x00005698 lw gp, 0x18(sp) | gp = *(var_18h);
| label_13:
0x0000569c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000056a0 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x000056a4 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Out_of_memory_in_update_sendSignal_ */
0x000056a8 addiu a1, a1, 0x6278 | a1 += 0x6278;
| /* str.axismapping.c */
0x000056ac addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x000056b0 bal 0x199c0 | sym_fatald ();
0x000056b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000056b8 b 0x5148 | goto label_10;
| label_21:
0x000056bc lw t9, -0x7d2c(gp) | t9 = sym.imp.kill;
0x000056c0 move a1, t1 | a1 = t1;
0x000056c4 sw t1, 0x28(sp) | *(var_28h_2) = t1;
0x000056c8 move a0, s7 | a0 = s7;
0x000056cc jalr t9 | t9 ();
0x000056d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000056d4 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000056d8 addiu a0, zero, 0xc | a0 = 0xc;
0x000056dc jalr t9 | t9 ();
0x000056e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000056e4 lw t1, 0x28(sp) | t1 = *(var_28h_2);
| if (v0 == 0) {
0x000056e8 beqz v0, 0x5668 | goto label_11;
| }
0x000056ec lw v1, 0x20(sp) | v1 = *(var_20h);
0x000056f0 sllv t0, fp, t1 | t0 = fp << t1;
0x000056f4 addiu s0, s0, 8 | s0 += 8;
0x000056f8 sw zero, (v0) | *(v0) = 0;
0x000056fc sw s7, 4(v0) | *((v0 + 1)) = s7;
0x00005700 sw t0, 8(v0) | *((v0 + 2)) = t0;
0x00005704 sw v0, -0x476c(v1) | *((v1 - 4571)) = v0;
| if (s3 != s0) {
0x00005708 bne s3, s0, 0x543c | goto label_9;
| }
0x0000570c lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
0x00005710 b 0x52e8 | goto label_3;
| label_17:
0x00005714 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005718 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0000571c jalr t9 | t9 ();
0x00005720 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005724 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005728 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0000572c jalr t9 | t9 ();
0x00005730 lw gp, 0x18(sp) | gp = *(var_18h);
0x00005734 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00005738 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000573c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_open__proc_ */
0x00005740 addiu a1, a1, 0x62c0 | a1 += 0x62c0;
| /* str.axismapping.c */
0x00005744 addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00005748 bal 0x199c0 | sym_fatald ();
0x0000574c lw gp, 0x18(sp) | gp = *(var_18h);
0x00005750 b 0x5148 | goto label_10;
| label_12:
0x00005754 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00005758 jalr t9 | t9 ();
0x0000575c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x5760 */
| #include <stdint.h>
|
; (fcn) fcn.00005760 () | void fcn_00005760 () {
0x00005760 lui gp, 4 |
0x00005764 addiu gp, gp, -0x2410 |
0x00005768 addu gp, gp, t9 | gp += t9;
0x0000576c addiu sp, sp, -0x58 |
0x00005770 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00005774 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00005778 sw s0, 0x30(sp) | *(var_30h) = s0;
0x0000577c sw ra, 0x54(sp) | *(var_54h) = ra;
0x00005780 sw fp, 0x50(sp) | *(var_50h) = fp;
0x00005784 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x00005788 sw s6, 0x48(sp) | *(var_48h) = s6;
0x0000578c sw s4, 0x40(sp) | *(var_40h) = s4;
0x00005790 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00005794 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00005798 sw s1, 0x34(sp) | *(var_34h) = s1;
0x0000579c move s0, a0 | s0 = a0;
0x000057a0 move s5, a2 | s5 = a2;
| if (a3 == 0) {
0x000057a4 bnez a3, 0x57c0 |
0x000057a8 lw v0, 0x38(a0) | v0 = *((a0 + 14));
| if (v0 == 0) {
0x000057ac beqz v0, 0x595c | goto label_14;
| }
0x000057b0 nop |
0x000057b4 lw v0, 0x40(s0) | v0 = *((s0 + 16));
| if (v0 == 0) {
0x000057b8 beql v0, zero, 0x5980 | goto label_15;
| }
0x000057bc lw v0, 0x44(s0) | v0 = *((s0 + 17));
| }
0x000057c0 lw s3, 0x2c(s0) | s3 = *((s0 + 11));
| label_3:
0x000057c4 sw zero, 0x44(s0) | *((s0 + 17)) = 0;
0x000057c8 move s1, s3 | s1 = s3;
| if (s3 == 0) {
0x000057cc beqz s3, 0x58f4 | goto label_16;
| }
0x000057d0 lw s4, -0x7fc4(gp) | s4 = *(gp);
0x000057d4 move s2, s3 | s2 = s3;
| /* str.dbus */
0x000057d8 addiu s4, s4, 0x6310 | s4 += 0x6310;
0x000057dc b 0x57ec |
| while (v0 != 0) {
0x000057e0 lw s2, (s2) | s2 = *(s2);
| if (s2 == 0) {
0x000057e4 beql s2, zero, 0x5810 | goto label_0;
| }
0x000057e8 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x000057ec lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x000057f0 lw a0, 4(s2) | a0 = *((s2 + 1));
0x000057f4 move a1, s4 | a1 = s4;
0x000057f8 jalr t9 | t9 ();
0x000057fc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005800 bnez v0, 0x57e0 |
| }
| if (s5 == 0) {
0x00005804 beql s5, zero, 0x5928 | goto label_17;
| }
0x00005808 lw v0, 0x40(s0) | v0 = *((s0 + 16));
| label_1:
0x0000580c lw s2, -0x7fc4(gp) | s2 = *(gp);
| /* str.setter */
| label_0:
0x00005810 addiu s2, s2, 0x6318 | s2 += 0x6318;
0x00005814 b 0x5824 |
| while (v0 != 0) {
0x00005818 lw s1, (s1) | s1 = *(s1);
| if (s1 == 0) {
0x0000581c beql s1, zero, 0x587c | goto label_8;
| }
0x00005820 move s2, s3 | s2 = s3;
0x00005824 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x00005828 lw a0, 4(s1) | a0 = *((s1 + 1));
0x0000582c move a1, s2 | a1 = s2;
0x00005830 jalr t9 | t9 ();
0x00005834 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005838 bnez v0, 0x5818 |
| }
0x0000583c lw v0, -0x7fb4(gp) | v0 = *(gp);
0x00005840 lw v0, (v0) | v0 = *(v0);
0x00005844 move s2, s3 | s2 = s3;
| if (v0 != 0) {
0x00005848 bnel v0, zero, 0x587c |
0x0000584c lw s1, 8(s1) | s1 = *((s1 + 2));
0x00005850 lb v0, (s1) | v0 = *(s1);
0x00005854 lw a1, -0x7fc4(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00005858 beqz v0, 0x5878 |
0x0000585c lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
0x00005860 addiu a2, zero, 8 | a2 = 8;
| /* str.disabled */
0x00005864 addiu a1, a1, 0x6320 | a1 += 0x6320;
0x00005868 move a0, s1 | a0 = s1;
0x0000586c jalr t9 | t9 ();
0x00005870 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x00005874 bnez v0, 0x59e4 | goto label_18;
| }
| }
0x00005878 move s2, s3 | s2 = s3;
| }
| label_8:
0x0000587c lw s3, -0x7fc4(gp) | s3 = *(gp);
0x00005880 move s1, s2 | s1 = s2;
| /* str.daemon */
0x00005884 addiu s3, s3, 0x63f4 | s3 += 0x63f4;
0x00005888 b 0x5898 |
| while (v0 != 0) {
0x0000588c lw s1, (s1) | s1 = *(s1);
| if (s1 == 0) {
0x00005890 beql s1, zero, 0x58f8 | goto label_2;
| }
0x00005894 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x00005898 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x0000589c lw a0, 4(s1) | a0 = *((s1 + 1));
0x000058a0 move a1, s3 | a1 = s3;
0x000058a4 jalr t9 | t9 ();
0x000058a8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000058ac bnez v0, 0x588c |
| }
0x000058b0 lw s3, -0x7fc4(gp) | s3 = *(gp);
| /* str.signal */
0x000058b4 addiu s3, s3, 0x63fc | s3 += 0x63fc;
0x000058b8 b 0x58c8 |
| while (v0 != 0) {
0x000058bc lw s2, (s2) | s2 = *(s2);
0x000058c0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
| if (s2 == 0) {
0x000058c4 beqz s2, 0x5978 | goto label_19;
| }
0x000058c8 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x000058cc lw a0, 4(s2) | a0 = *((s2 + 1));
0x000058d0 move a1, s3 | a1 = s3;
0x000058d4 jalr t9 | t9 ();
0x000058d8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000058dc bnez v0, 0x58bc |
| }
0x000058e0 lw a1, 8(s2) | a1 = *((s2 + 2));
| label_4:
0x000058e4 lw t9, -0x7fcc(gp) | t9 = *((gp - 8179));
0x000058e8 addiu t9, t9, 0x50f4 | t9 += fcn.000050f4;
0x000058ec lw a0, 8(s1) | a0 = *((s1 + 2));
0x000058f0 bal 0x50f4 | fcn_000050f4 ();
| label_16:
0x000058f4 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
| label_2:
0x000058f8 lw ra, 0x54(sp) | ra = *(var_54h);
| label_5:
0x000058fc lw fp, 0x50(sp) | fp = *(var_50h);
| label_6:
0x00005900 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00005904 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00005908 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0000590c lw s4, 0x40(sp) | s4 = *(var_40h);
0x00005910 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00005914 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00005918 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0000591c lw s0, 0x30(sp) | s0 = *(var_30h);
0x00005920 addiu sp, sp, 0x58 |
0x00005924 jr ra | return v0;
| if (v0 == 0) {
| label_17:
0x00005928 beql v0, zero, 0x5810 | goto label_0;
| }
0x0000592c lw s2, -0x7fc4(gp) | s2 = *(gp);
0x00005930 lw t9, -0x7fcc(gp) | t9 = *((gp - 8179));
0x00005934 lw a0, 8(s2) | a0 = *((s2 + 2));
0x00005938 addiu t9, t9, 0x4b44 | t9 += fcn.00004b44;
0x0000593c move a1, s0 | a1 = s0;
0x00005940 bal 0x4b44 | fcn_00004b44 ();
0x00005944 lw s3, 0x2c(s0) | s3 = *((s0 + 11));
0x00005948 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0000594c move s1, s3 | s1 = s3;
| if (s3 != 0) {
0x00005950 bnez s3, 0x580c | goto label_1;
| }
0x00005954 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x00005958 b 0x58f8 | goto label_2;
| label_14:
0x0000595c lw s3, 0x2c(s0) | s3 = *((s0 + 11));
| if (a1 == 0) {
0x00005960 bnel a1, zero, 0x57c4 | goto label_3;
| }
0x00005964 lw v0, 0x40(s0) | v0 = *((s0 + 16));
0x00005968 lw s3, 0x2c(s0) | s3 = *((s0 + 11));
| if (v0 == 0) {
0x0000596c bnel v0, zero, 0x57c4 | goto label_3;
| }
0x00005970 lw v0, 0x44(s0) | v0 = *((s0 + 17));
0x00005974 b 0x5980 | goto label_15;
| label_19:
0x00005978 addiu a1, a1, -0x74c8 | a1 += -0x74c8;
0x0000597c b 0x58e4 | goto label_4;
| label_15:
0x00005980 lw ra, 0x54(sp) | ra = *(var_54h);
| if (v0 == 0) {
0x00005984 beqz v0, 0x58fc | goto label_5;
| }
0x00005988 lw fp, 0x50(sp) | fp = *(var_50h);
| if (s5 != 0) {
0x0000598c bnez s5, 0x5900 | goto label_6;
| }
0x00005990 lw s1, 0x2c(s0) | s1 = *((s0 + 11));
0x00005994 lw s4, -0x7fc4(gp) | s4 = *(gp);
| if (s1 == 0) {
0x00005998 beqz s1, 0x59dc | goto label_20;
| }
| /* str.dbus */
0x0000599c addiu s4, s4, 0x6310 | s4 += 0x6310;
0x000059a0 b 0x59b0 | goto label_21;
| label_7:
0x000059a4 lw s1, (s1) | s1 = *(s1);
| if (s1 == 0) {
0x000059a8 beql s1, zero, 0x58f8 | goto label_2;
| }
0x000059ac sw zero, 0x44(s0) | *((s0 + 17)) = 0;
| label_21:
0x000059b0 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x000059b4 lw a0, 4(s1) | a0 = *((s1 + 1));
0x000059b8 move a1, s4 | a1 = s4;
0x000059bc jalr t9 | t9 ();
0x000059c0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x000059c4 bnez v0, 0x59a4 | goto label_7;
| }
0x000059c8 lw t9, -0x7fcc(gp) | t9 = *((gp - 8179));
0x000059cc lw a0, 8(s1) | a0 = *((s1 + 2));
0x000059d0 addiu t9, t9, 0x4b44 | t9 += fcn.00004b44;
0x000059d4 move a1, s0 | a1 = s0;
0x000059d8 bal 0x4b44 | fcn_00004b44 ();
| label_20:
0x000059dc sw zero, 0x44(s0) | *((s0 + 17)) = 0;
0x000059e0 b 0x58f8 | goto label_2;
| label_18:
0x000059e4 lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
0x000059e8 lw s2, -0x4770(s4) | s2 = *((s4 - 4572));
0x000059ec lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (s2 == 0) {
0x000059f0 bnel s2, zero, 0x5a08 | goto label_22;
| }
0x000059f4 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000059f8 b 0x5a28 | goto label_23;
| do {
0x000059fc lw s2, (s2) | s2 = *(s2);
0x00005a00 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (s2 == 0) {
0x00005a04 beqz s2, 0x5a24 | goto label_24;
| }
| label_22:
0x00005a08 lw a1, 4(s2) | a1 = *((s2 + 1));
0x00005a0c move a0, s1 | a0 = s1;
0x00005a10 jalr t9 | t9 ();
0x00005a14 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005a18 bnez v0, 0x59fc |
| } while (v0 != 0);
0x00005a1c move s2, s3 | s2 = s3;
0x00005a20 b 0x587c | goto label_8;
| label_24:
0x00005a24 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| label_23:
0x00005a28 move a0, s1 | a0 = s1;
0x00005a2c jalr t9 | t9 ();
0x00005a30 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005a34 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00005a38 addiu a0, v0, 2 | a0 = v0 + 2;
0x00005a3c jalr t9 | t9 ();
0x00005a40 move s3, v0 | s3 = v0;
0x00005a44 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00005a48 beqz v0, 0x5c2c | goto label_25;
| }
| label_12:
0x00005a4c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00005a50 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x00005a54 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x00005a58 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00005a5c addiu v0, v0, 0x635c | v0 += 0x635c;
0x00005a60 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00005a64 sw s1, 0x10(sp) | *(var_10h) = s1;
| /* str._s_s */
0x00005a68 addiu a3, a3, 0x6354 | a3 += 0x6354;
0x00005a6c addiu a2, zero, -1 | a2 = -1;
0x00005a70 addiu a1, zero, 1 | a1 = 1;
0x00005a74 move a0, s3 | a0 = s3;
0x00005a78 jalr t9 | t9 ();
0x00005a7c lw fp, -0x477c(s6) | fp = *((s6 - 4575));
0x00005a80 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (fp == 0) {
0x00005a84 beqz fp, 0x5b94 | goto label_26;
| }
0x00005a88 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00005a8c lw s5, -0x7fc4(gp) | s5 = *(gp);
0x00005a90 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00005a94 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00005a98 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x00005a9c addiu v0, v0, 0x7fb8 | v0 += 0x7fb8;
0x00005aa0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00005aa4 lw v0, -0x7fc4(gp) | v0 = *(gp);
| /* str.Failed_to_set_environment_variable__s_to__s */
0x00005aa8 addiu s5, s5, 0x63a8 | s5 += 0x63a8;
| /* str.axismapping.c */
0x00005aac addiu s2, s2, 0x61a4 | s2 += 0x61a4;
0x00005ab0 sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x00005ab4 b 0x5ad4 |
| while (v0 >= 0) {
| label_9:
0x00005ab8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005abc move a0, s7 | a0 = s7;
0x00005ac0 jalr t9 | t9 ();
0x00005ac4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| label_10:
0x00005ac8 lw fp, (fp) | fp = *(fp);
0x00005acc lw t9, -0x7b84(gp) | t9 = sym.imp.system;
| if (fp == 0) {
0x00005ad0 beqz fp, 0x5b98 | goto label_27;
| }
0x00005ad4 lw v0, 8(fp) | v0 = *(arg_8h);
0x00005ad8 lw t9, -0x7fc0(gp) | t9 = sym.legacy_drep_getStringFromCustom;
0x00005adc move a1, zero | a1 = 0;
| if (v0 == 0) {
0x00005ae0 beqz v0, 0x5b38 | goto label_28;
| }
0x00005ae4 lw v0, 4(fp) | v0 = *(arg_4h);
0x00005ae8 lw a0, 0x6c(v0) | a0 = *((v0 + 27));
0x00005aec bal 0xe404 | sym_legacy_drep_getStringFromCustom ();
0x00005af0 move s7, v0 | s7 = v0;
0x00005af4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00005af8 beqz v0, 0x5b5c | goto label_29;
| }
| label_11:
0x00005afc lw t9, -0x7d44(gp) | t9 = sym.imp.setenv;
0x00005b00 lw a0, 8(fp) | a0 = *(arg_8h);
0x00005b04 addiu a2, zero, 1 | a2 = 1;
0x00005b08 move a1, s7 | a1 = s7;
0x00005b0c jalr t9 | t9 ();
0x00005b10 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005b14 bgez v0, 0x5ab8 |
| }
0x00005b18 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00005b1c lw a2, 8(fp) | a2 = *(arg_8h);
0x00005b20 move a3, s7 | a3 = s7;
0x00005b24 move a1, s5 | a1 = s5;
0x00005b28 move a0, s2 | a0 = s2;
0x00005b2c bal 0x19b80 | sym_logerr ();
0x00005b30 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005b34 b 0x5ab8 | goto label_9;
| label_28:
0x00005b38 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00005b3c lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x00005b40 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00005b44 addiu a2, v0, 0x67f8 | a2 = v0 + 0x67f8;
| /* str.Parameter_path_in__s_was_NULL_ */
0x00005b48 addiu a1, a1, 0x6360 | a1 += 0x6360;
0x00005b4c move a0, s2 | a0 = s2;
0x00005b50 bal 0x19b80 | sym_logerr ();
0x00005b54 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005b58 b 0x5ac8 | goto label_10;
| label_29:
0x00005b5c lw v0, 4(fp) | v0 = *(arg_4h);
0x00005b60 lw v1, 0x28(sp) | v1 = *(var_28h);
0x00005b64 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00005b68 lw a2, 0x28(v0) | a2 = *((v0 + 10));
0x00005b6c addiu a1, v1, 0x6380 | a1 = v1 + 0x6380;
0x00005b70 move a0, s2 | a0 = s2;
0x00005b74 bal 0x19b80 | sym_logerr ();
0x00005b78 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005b7c lw t9, -0x7b70(gp) | t9 = sym.imp.g_strdup;
0x00005b80 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00005b84 jalr t9 | t9 ();
0x00005b88 move s7, v0 | s7 = v0;
0x00005b8c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005b90 b 0x5afc | goto label_11;
| label_26:
0x00005b94 lw t9, -0x7b84(gp) | t9 = sym.imp.system;
| label_27:
0x00005b98 move a0, s3 | a0 = s3;
0x00005b9c jalr t9 | t9 ();
0x00005ba0 lw s2, -0x477c(s6) | s2 = *((s6 - 4575));
0x00005ba4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (s2 == 0) {
0x00005ba8 beqz s2, 0x5bd0 | goto label_30;
| }
0x00005bac lw a0, 8(s2) | a0 = *((s2 + 2));
| do {
0x00005bb0 lw t9, -0x7b6c(gp) | t9 = sym.imp.unsetenv;
| if (a0 != 0) {
0x00005bb4 beqz a0, 0x5bc4 |
0x00005bb8 jalr t9 | t9 ();
0x00005bbc nop |
0x00005bc0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| }
0x00005bc4 lw s2, (s2) | s2 = *(s2);
0x00005bc8 lw a0, 8(s2) | a0 = *((s2 + 2));
0x00005bcc bnel s2, zero, 0x5bb0 |
| } while (s2 == 0);
| label_30:
0x00005bd0 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00005bd4 addiu a0, zero, 8 | a0 = 8;
0x00005bd8 jalr t9 | t9 ();
0x00005bdc move s2, v0 | s2 = v0;
0x00005be0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00005be4 beqz v0, 0x5c4c | goto label_31;
| }
0x00005be8 lw v0, -0x4770(s4) | v0 = *((s4 - 4572));
0x00005bec lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x00005bf0 sw v0, (s2) | *(s2) = v0;
0x00005bf4 move a0, s1 | a0 = s1;
0x00005bf8 jalr t9 | t9 ();
0x00005bfc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005c00 sw v0, 4(s2) | *((s2 + 1)) = v0;
| if (v0 == 0) {
0x00005c04 beqz v0, 0x5c6c | goto label_32;
| }
0x00005c08 sw s2, -0x4770(s4) | *((s4 - 4572)) = s2;
| label_13:
0x00005c0c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005c10 move a0, s3 | a0 = s3;
0x00005c14 jalr t9 | t9 ();
0x00005c18 lw s2, 0x2c(s0) | s2 = *((s0 + 11));
0x00005c1c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (s2 != 0) {
0x00005c20 bnez s2, 0x587c | goto label_8;
| }
0x00005c24 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x00005c28 b 0x58f8 | goto label_2;
| label_25:
0x00005c2c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00005c30 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005c34 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Out_of_memory_in_update_runSetter___ */
0x00005c38 addiu a1, a1, 0x632c | a1 += 0x632c;
| /* str.axismapping.c */
0x00005c3c addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00005c40 bal 0x199c0 | sym_fatald ();
0x00005c44 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005c48 b 0x5a4c | goto label_12;
| label_31:
0x00005c4c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00005c50 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005c54 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Out_of_memory_in_addSetter___ */
0x00005c58 addiu a1, a1, 0x63d4 | a1 += 0x63d4;
| /* str.axismapping.c */
0x00005c5c addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00005c60 bal 0x199c0 | sym_fatald ();
0x00005c64 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005c68 b 0x5c0c | goto label_13;
| label_32:
0x00005c6c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00005c70 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00005c74 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Out_of_memory_in_addSetter___ */
0x00005c78 addiu a1, a1, 0x63d4 | a1 += 0x63d4;
| /* str.axismapping.c */
0x00005c7c addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00005c80 bal 0x199c0 | sym_fatald ();
0x00005c84 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005c88 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00005c8c move a0, s2 | a0 = s2;
0x00005c90 jalr t9 | t9 ();
0x00005c94 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00005c98 b 0x5c0c | goto label_13;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x8688 */
| #include <stdint.h>
|
; (fcn) fcn.00008688 () | void fcn_00008688 () {
0x00008688 lui gp, 4 |
0x0000868c addiu gp, gp, -0x5338 |
0x00008690 addu gp, gp, t9 | gp += t9;
0x00008694 addiu sp, sp, -0x80 |
0x00008698 sw s3, 0x64(sp) | *(var_64h) = s3;
0x0000869c lw s3, -0x7c68(gp) | s3 = *((gp - 7962));
0x000086a0 sw s7, 0x74(sp) | *(var_74h) = s7;
0x000086a4 lw s7, 8(a0) | s7 = *((a0 + 2));
0x000086a8 lw v0, (s3) | v0 = *(s3);
0x000086ac sw gp, 0x18(sp) | *(var_18h) = gp;
0x000086b0 sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x000086b4 sw fp, 0x78(sp) | *(var_78h) = fp;
0x000086b8 sw s6, 0x70(sp) | *(var_70h) = s6;
0x000086bc sw s5, 0x6c(sp) | *(var_6ch) = s5;
0x000086c0 sw s4, 0x68(sp) | *(var_68h) = s4;
0x000086c4 sw s2, 0x60(sp) | *(var_60h) = s2;
0x000086c8 sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x000086cc sw s0, 0x58(sp) | *(var_58h) = s0;
0x000086d0 sw a1, 0x84(sp) | *(arg_84h) = a1;
0x000086d4 sw v0, 0x54(sp) | *(var_54h) = v0;
0x000086d8 lw v0, -0x7fc4(gp) | v0 = *(gp);
| if (s7 == 0) {
0x000086dc beqz s7, 0x87b0 | goto label_10;
| }
0x000086e0 lw s0, -0x7fc4(gp) | s0 = *(gp);
0x000086e4 lw s1, -0x7fc4(gp) | s1 = *(gp);
0x000086e8 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x000086ec move s4, a0 | s4 = a0;
0x000086f0 lw s5, -0x7fc4(gp) | s5 = *(gp);
0x000086f4 sw v0, 0x24(sp) | *(var_24h) = v0;
| /* str.dbus */
0x000086f8 addiu s0, s0, 0x6310 | s0 += 0x6310;
| /* esilref: 'type' */
0x000086fc addiu s1, s1, 0x658c | s1 += 0x658c;
| /* str.dbustype */
0x00008700 addiu s2, s2, 0x6588 | s2 += 0x6588;
0x00008704 b 0x8748 |
| while (v0 == 0) {
0x00008708 lw v0, 0x38(s7) | v0 = *((s7 + 14));
0x0000870c addiu a0, zero, 1 | a0 = 1;
0x00008710 addiu a0, zero, 3 | a0 = 3;
| if (v0 == a0) {
0x00008714 beq v0, a0, 0x8760 | goto label_11;
| }
| if (v0 == a0) {
0x00008718 beq v0, a0, 0x879c | goto label_2;
| }
0x0000871c nop |
0x00008720 addiu a0, zero, 2 | a0 = 2;
| if (s6 == 0) {
0x00008724 beqz s6, 0x87ec | goto label_12;
| }
| if (v0 == a0) {
0x00008728 beql v0, a0, 0x882c | goto label_13;
| }
0x0000872c lw fp, 0x2c(s7) | fp = *((s7 + 11));
0x00008730 addiu v0, zero, 3 | v0 = 3;
| label_0:
0x00008734 sw zero, 0x3c(s7) | *((s7 + 15)) = 0;
0x00008738 sw v0, 0x38(s7) | *((s7 + 14)) = v0;
0x0000873c lw s7, (s7) | s7 = *(s7);
| if (s7 == 0) {
| label_3:
0x00008740 beqz s7, 0x87b0 | goto label_10;
| }
0x00008744 nop |
0x00008748 lw v0, 0x6c(s7) | v0 = *((s7 + 27));
| label_1:
0x0000874c sw zero, 0x1c(v0) | *((v0 + 7)) = 0;
| if (v0 != 0) {
0x00008750 bnel v0, zero, 0x8754 |
| }
0x00008754 lw v0, 0x30(s7) | v0 = *((s7 + 12));
0x00008758 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x0000875c beqz v0, 0x8708 |
| }
| label_11:
0x00008760 lw fp, 0x2c(s7) | fp = *((s7 + 11));
0x00008764 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (fp != 0) {
0x00008768 bnez fp, 0x8780 | goto label_14;
| }
0x0000876c b 0x879c | goto label_2;
0x00008770 nop |
| do {
0x00008774 lw fp, (fp) | fp = *(fp);
0x00008778 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (fp == 0) {
0x0000877c beqz fp, 0x879c | goto label_2;
| }
| label_14:
0x00008780 lw a0, 4(fp) | a0 = *(arg_84h);
0x00008784 move a1, s0 | a1 = s0;
0x00008788 jalr t9 | t9 ();
0x0000878c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008790 bnez v0, 0x8774 |
| } while (v0 != 0);
0x00008794 addiu v0, zero, 1 | v0 = 1;
0x00008798 sw v0, 0x40(s7) | *((s7 + 16)) = v0;
| label_2:
0x0000879c addiu v0, zero, 3 | v0 = 3;
| if (s6 != 0) {
0x000087a0 bnez s6, 0x8734 | goto label_0;
| }
0x000087a4 lw s7, (s7) | s7 = *(s7);
0x000087a8 lw v0, 0x6c(s7) | v0 = *((s7 + 27));
| if (s7 == 0) {
0x000087ac bnel s7, zero, 0x874c | goto label_1;
| }
| label_10:
0x000087b0 lw v1, 0x54(sp) | v1 = *(var_54h);
0x000087b4 lw v0, (s3) | v0 = *(s3);
0x000087b8 lw ra, 0x7c(sp) | ra = *(var_7ch);
| if (v1 != v0) {
0x000087bc bne v1, v0, 0x8b54 | goto label_15;
| }
0x000087c0 lw fp, 0x78(sp) | fp = *(var_78h);
0x000087c4 lw s7, 0x74(sp) | s7 = *(var_74h);
0x000087c8 lw s6, 0x70(sp) | s6 = *(var_70h);
0x000087cc lw s5, 0x6c(sp) | s5 = *(var_6ch);
0x000087d0 lw s4, 0x68(sp) | s4 = *(var_68h);
0x000087d4 lw s3, 0x64(sp) | s3 = *(var_64h);
0x000087d8 lw s2, 0x60(sp) | s2 = *(var_60h);
0x000087dc lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x000087e0 lw s0, 0x58(sp) | s0 = *(var_58h);
0x000087e4 addiu sp, sp, 0x80 |
0x000087e8 jr ra | return v0;
| label_12:
0x000087ec lw v0, -0x7fa8(gp) | v0 = *(gp);
0x000087f0 lw t9, -0x7f5c(gp) | t9 = sym.parser_invokeForParam;
0x000087f4 lw a1, 0x34(s4) | a1 = *((s4 + 13));
0x000087f8 lw a2, (v0) | a2 = *(v0);
0x000087fc move a0, s7 | a0 = s7;
0x00008800 sltiu a2, a2, 1 | a2 = (a2 < 1) ? 1 : 0;
0x00008804 bal 0x95a4 | sym_parser_invokeForParam ();
0x00008808 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000880c bnez v0, 0x8954 | goto label_16;
| }
0x00008810 lw a0, 0x38(s7) | a0 = *((s7 + 14));
0x00008814 addiu v0, zero, 2 | v0 = 2;
0x00008818 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
| if (a0 != v0) {
0x0000881c bne a0, v0, 0x879c | goto label_2;
| }
| if (s6 == 0) {
0x00008820 beql s6, zero, 0x8740 | goto label_3;
| }
0x00008824 lw s7, (s7) | s7 = *(s7);
0x00008828 lw fp, 0x2c(s7) | fp = *((s7 + 11));
| label_13:
0x0000882c move s6, fp | s6 = fp;
| if (fp != 0) {
0x00008830 bnez fp, 0x8848 | goto label_17;
| }
0x00008834 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008838 b 0x879c | goto label_2;
| do {
0x0000883c lw s6, (s6) | s6 = *(s6);
0x00008840 lw v0, 0x84(sp) | v0 = *(arg_84h);
| if (s6 == 0) {
0x00008844 beqz s6, 0x896c | goto label_18;
| }
| label_17:
0x00008848 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x0000884c lw a0, 4(s6) | a0 = *((s6 + 1));
0x00008850 move a1, s1 | a1 = s1;
0x00008854 jalr t9 | t9 ();
0x00008858 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000885c bnez v0, 0x883c |
| } while (v0 != 0);
0x00008860 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x00008864 lw a0, 8(s6) | a0 = *((s6 + 2));
| /* str.int: */
0x00008868 addiu a1, s5, 0x661c | a1 = s5 + 0x661c;
0x0000886c jalr t9 | t9 ();
0x00008870 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008874 move s6, v0 | s6 = v0;
0x00008878 move fp, zero | fp = 0;
| if (s6 == 0) {
| label_7:
0x0000887c beql s6, zero, 0x879c | goto label_2;
| }
0x00008880 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008884 lw a0, 0x6c(s7) | a0 = *((s7 + 27));
0x00008888 addiu a1, zero, 1 | a1 = 1;
0x0000888c lw v0, 8(a0) | v0 = *((a0 + 2));
0x00008890 addiu a1, zero, 2 | a1 = 2;
| if (v0 == a1) {
0x00008894 beq v0, a1, 0x8aa8 | goto label_19;
| }
0x00008898 lw t9, -0x7f58(gp) | t9 = sym.legacy_drep_getString;
| if (v0 == a1) {
0x0000889c beq v0, a1, 0x8ac0 | goto label_20;
| }
0x000088a0 addiu a1, zero, 3 | a1 = 3;
0x000088a4 lw a1, -0x7fc4(gp) | a1 = *(gp);
| if (v0 != a1) {
0x000088a8 bne v0, a1, 0x891c | goto label_21;
| }
0x000088ac lw t9, -0x7f54(gp) | t9 = sym.legacy_drep_getStringFromCustomToBuf;
0x000088b0 addiu t0, sp, 0x40 | t0 = sp + 0x40;
0x000088b4 addiu a2, zero, 0x14 | a2 = 0x14;
0x000088b8 move a1, t0 | a1 = t0;
0x000088bc sw t0, 0x28(sp) | *(var_28h) = t0;
0x000088c0 bal 0xe4e8 | sym_legacy_drep_getStringFromCustomToBuf ();
0x000088c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000088c8 bltz v0, 0x8918 | goto label_22;
| }
0x000088cc lw t0, 0x28(sp) | t0 = *(var_28h);
0x000088d0 lw t9, -0x7be4(gp) | t9 = sym.imp.strtol;
0x000088d4 addiu a2, zero, 0xa | a2 = 0xa;
0x000088d8 move a1, zero | a1 = 0;
0x000088dc move a0, t0 | a0 = t0;
0x000088e0 jalr t9 | t9 ();
0x000088e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000088e8 sw v0, 0x30(sp) | *(var_30h) = v0;
| label_8:
0x000088ec lw t9, -0x7f50(gp) | t9 = sym.legacy_drep_verifyIntSetting;
0x000088f0 move a0, s6 | a0 = s6;
0x000088f4 addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x000088f8 bal 0xe974 | sym_legacy_drep_verifyIntSetting ();
0x000088fc addiu a0, zero, -1 | a0 = -1;
0x00008900 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == a0) {
0x00008904 beq v0, a0, 0x8aec | goto label_23;
| }
| label_9:
0x00008908 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| if (fp != 0) {
0x0000890c bnez fp, 0x8940 | goto label_24;
| }
| do {
| label_4:
0x00008910 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008914 b 0x879c | goto label_2;
| label_22:
0x00008918 lw a1, -0x7fc4(gp) | a1 = *(gp);
| label_21:
0x0000891c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00008920 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
0x00008924 addiu a2, s7, 4 | a2 = s7 + 4;
| /* str._s_was_supposed_to_be_an_int__but_wasnt._Value_check_has_been_ignored. */
0x00008928 addiu a1, a1, 0x659c | a1 += 0x659c;
| /* str.axismapping.c */
0x0000892c addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00008930 bal 0x19b04 | sym_loginfo ();
0x00008934 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008938 beqz fp, 0x8910 |
| } while (fp == 0);
| label_6:
0x0000893c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_24:
0x00008940 move a0, fp | a0 = fp;
0x00008944 jalr t9 | t9 ();
0x00008948 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000894c lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008950 b 0x879c | goto label_2;
| label_16:
0x00008954 lw t9, -0x7f4c(gp) | t9 = sym.mif_cleanup;
0x00008958 bal 0xcdd8 | sym_mif_cleanup ();
0x0000895c nop |
0x00008960 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008964 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008968 b 0x879c | goto label_2;
| label_18:
0x0000896c lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (v0 == 0) {
0x00008970 beqz v0, 0x8988 | goto label_25;
| }
0x00008974 lw s6, 0x3c(s7) | s6 = *((s7 + 15));
0x00008978 b 0x879c | goto label_2;
| label_5:
0x0000897c lw fp, (fp) | fp = *(fp);
0x00008980 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| if (fp == 0) {
0x00008984 beqz fp, 0x8910 | goto label_4;
| }
| label_25:
0x00008988 lw a0, 4(fp) | a0 = *(arg_84h);
0x0000898c move a1, s2 | a1 = s2;
0x00008990 jalr t9 | t9 ();
0x00008994 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00008998 bnez v0, 0x897c | goto label_5;
| }
0x0000899c lw s6, 8(fp) | s6 = *(arg_8h);
0x000089a0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000089a4 move a0, s6 | a0 = s6;
0x000089a8 jalr t9 | t9 ();
0x000089ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000089b0 addiu a2, v0, 1 | a2 = v0 + 1;
0x000089b4 move a0, a2 | a0 = a2;
0x000089b8 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000089bc sw a2, 0x28(sp) | *(var_28h) = a2;
0x000089c0 jalr t9 | t9 ();
0x000089c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089c8 lw a2, 0x28(sp) | a2 = *(var_28h);
0x000089cc move a1, s6 | a1 = s6;
0x000089d0 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x000089d4 move a0, v0 | a0 = v0;
0x000089d8 move fp, v0 | fp = v0;
0x000089dc jalr t9 | t9 ();
0x000089e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000089e4 move a0, fp | a0 = fp;
0x000089e8 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000089ec lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
| /* str._MIN: */
0x000089f0 addiu a1, a1, 0x6614 | a1 += 0x6614;
0x000089f4 jalr t9 | t9 ();
0x000089f8 move s6, v0 | s6 = v0;
0x000089fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008a00 beqz v0, 0x893c | goto label_6;
| }
0x00008a04 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00008a08 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
| /* str._MAX: */
0x00008a0c addiu a1, a1, 0x6594 | a1 += 0x6594;
0x00008a10 move a0, fp | a0 = fp;
0x00008a14 jalr t9 | t9 ();
0x00008a18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008a1c beqz v0, 0x893c | goto label_6;
| }
0x00008a20 lw t9, -0x7f48(gp) | t9 = sym.send_dbus_get_returned;
0x00008a24 addiu a0, s6, 5 | a0 = s6 + 5;
0x00008a28 sw t9, 0x28(sp) | *(var_28h) = t9;
0x00008a2c sb zero, (v0) | *(v0) = 0;
0x00008a30 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00008a34 bal 0x83d0 | sym_send_dbus_get_returned ();
0x00008a38 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00008a3c lw t9, 0x28(sp) | t9 = *(var_28h);
0x00008a40 addiu a0, a1, 5 | a0 = a1 + 5;
0x00008a44 move s6, v0 | s6 = v0;
0x00008a48 jalr t9 | t9 ();
0x00008a4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a50 move a1, v0 | a1 = v0;
0x00008a54 move a0, s6 | a0 = s6;
0x00008a58 lw t9, -0x7f44(gp) | t9 = sym.convert_dbustype;
0x00008a5c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00008a60 bal 0x8500 | sym_convert_dbustype ();
0x00008a64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a68 move a0, s6 | a0 = s6;
0x00008a6c lw t9, -0x7c88(gp) | t9 = sym.imp.dbus_send_free_string;
0x00008a70 move s6, v0 | s6 = v0;
0x00008a74 jalr t9 | t9 ();
0x00008a78 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a7c lw a2, 0x28(sp) | a2 = *(var_28h);
0x00008a80 lw t9, -0x7c88(gp) | t9 = sym.imp.dbus_send_free_string;
0x00008a84 move a0, a2 | a0 = a2;
0x00008a88 jalr t9 | t9 ();
0x00008a8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a90 move a0, fp | a0 = fp;
0x00008a94 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00008a98 move fp, s6 | fp = s6;
0x00008a9c jalr t9 | t9 ();
0x00008aa0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008aa4 b 0x887c | goto label_7;
| label_19:
0x00008aa8 lw t9, -0x7f40(gp) | t9 = sym.legacy_drep_getInt;
0x00008aac bal 0xe254 | sym_legacy_drep_getInt ();
0x00008ab0 nop |
0x00008ab4 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00008ab8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008abc b 0x88ec | goto label_8;
| label_20:
0x00008ac0 bal 0xe5c8 | sym_legacy_drep_getString ();
0x00008ac4 nop |
0x00008ac8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008acc addiu a2, zero, 0xa | a2 = 0xa;
0x00008ad0 move a1, zero | a1 = 0;
0x00008ad4 lw t9, -0x7be4(gp) | t9 = sym.imp.strtol;
0x00008ad8 move a0, v0 | a0 = v0;
0x00008adc jalr t9 | t9 ();
0x00008ae0 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00008ae4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008ae8 b 0x88ec | goto label_8;
| label_23:
0x00008aec lw v0, 0x24(sp) | v0 = *(var_24h);
0x00008af0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00008af4 addiu a3, v0, 0x7b0c | a3 = v0 + 0x7b0c;
0x00008af8 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00008afc addiu s6, sp, 0x34 | s6 = sp + 0x34;
0x00008b00 addiu a2, zero, 0xc | a2 = 0xc;
0x00008b04 addiu a1, zero, 1 | a1 = 1;
0x00008b08 move a0, s6 | a0 = s6;
0x00008b0c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00008b10 jalr t9 | t9 ();
0x00008b14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008b18 addiu a2, s7, 4 | a2 = s7 + 4;
0x00008b1c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00008b20 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00008b24 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
| /* str._s_received_a_value_out_of_range_when_defined. */
0x00008b28 addiu a1, a1, 0x65e4 | a1 += 0x65e4;
| /* str.axismapping.c */
0x00008b2c addiu a0, a0, 0x61a4 | a0 += 0x61a4;
0x00008b30 bal 0x19b04 | sym_loginfo ();
0x00008b34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008b38 lw a0, 0x6c(s7) | a0 = *((s7 + 27));
0x00008b3c move a2, zero | a2 = 0;
0x00008b40 lw t9, -0x7f3c(gp) | t9 = sym.legacy_drep_assignStringToCustom;
0x00008b44 move a1, s6 | a1 = s6;
0x00008b48 bal 0xe330 | sym_legacy_drep_assignStringToCustom ();
0x00008b4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00008b50 b 0x8908 | goto label_9;
| label_15:
0x00008b54 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008b58 jalr t9 | t9 ();
0x00008b5c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x1870c */
| #include <stdint.h>
|
; (fcn) fcn.0001870c () | void fcn_0001870c () {
0x0001870c lui gp, 3 |
0x00018710 addiu gp, gp, -0x53bc |
0x00018714 addu gp, gp, t9 | gp += t9;
0x00018718 addiu sp, sp, -0x40 |
0x0001871c lw v0, (a0) | v0 = *(a0);
0x00018720 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00018724 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00018728 sw s1, 0x34(sp) | *(var_34h) = s1;
0x0001872c sw s0, 0x30(sp) | *(var_30h) = s0;
0x00018730 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00018734 lbu v1, 5(v0) | v1 = *((v0 + 5));
0x00018738 move s1, a3 | s1 = a3;
0x0001873c sw v1, 0x24(sp) | *(var_24h) = v1;
0x00018740 lbu v1, 4(v0) | v1 = *((v0 + 4));
0x00018744 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00018748 sw v1, 0x20(sp) | *(var_20h) = v1;
0x0001874c lbu v1, 3(v0) | v1 = *((v0 + 3));
0x00018750 move s0, a2 | s0 = a2;
0x00018754 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00018758 lbu v1, 2(v0) | v1 = *((v0 + 2));
0x0001875c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00018760 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00018764 lbu v1, 1(v0) | v1 = *((v0 + 1));
0x00018768 move s2, a1 | s2 = a1;
0x0001876c sw v1, 0x14(sp) | *(var_14h) = v1;
0x00018770 lbu v0, (v0) | v0 = *(v0);
| /* str._02x:_02x:_02x:_02x:_02x:_02x */
0x00018774 addiu a3, a3, -0x7878 | a3 += -0x7878;
0x00018778 addiu a2, zero, -1 | a2 = -1;
0x0001877c addiu a1, zero, 1 | a1 = 1;
0x00018780 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00018784 move a0, s0 | a0 = s0;
0x00018788 jalr t9 | t9 ();
0x0001878c lw gp, 0x28(sp) | gp = *(var_28h);
0x00018790 move a0, s0 | a0 = s0;
0x00018794 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00018798 sw zero, (s2) | *(s2) = 0;
0x0001879c jalr t9 | t9 ();
0x000187a0 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000187a4 sw v0, (s1) | *(s1) = v0;
0x000187a8 lw s2, 0x38(sp) | s2 = *(var_38h);
0x000187ac lw s1, 0x34(sp) | s1 = *(var_34h);
0x000187b0 lw s0, 0x30(sp) | s0 = *(var_30h);
0x000187b4 addiu sp, sp, 0x40 |
0x000187b8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x187f8 */
| #include <stdint.h>
|
; (fcn) fcn.000187f8 () | void fcn_000187f8 () {
0x000187f8 lui gp, 3 |
0x000187fc addiu gp, gp, -0x54a8 |
0x00018800 addu gp, gp, t9 | gp += t9;
0x00018804 addiu sp, sp, -0x38 |
0x00018808 lw v0, (a0) | v0 = *(a0);
0x0001880c sw ra, 0x34(sp) | *(var_34h) = ra;
0x00018810 sw s2, 0x30(sp) | *(var_30h) = s2;
0x00018814 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00018818 sw s0, 0x28(sp) | *(var_28h) = s0;
0x0001881c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00018820 lbu v1, 3(v0) | v1 = *((v0 + 3));
0x00018824 move s2, a3 | s2 = a3;
0x00018828 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0001882c lbu v1, 2(v0) | v1 = *((v0 + 2));
0x00018830 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00018834 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00018838 lbu v1, 1(v0) | v1 = *((v0 + 1));
0x0001883c move s0, a2 | s0 = a2;
0x00018840 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00018844 lbu v0, (v0) | v0 = *(v0);
0x00018848 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001884c move s1, a1 | s1 = a1;
| /* str._d._d._d._d */
0x00018850 addiu a3, a3, -0x7890 | a3 += -0x7890;
0x00018854 addiu a2, zero, -1 | a2 = -1;
0x00018858 addiu a1, zero, 1 | a1 = 1;
0x0001885c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00018860 move a0, s0 | a0 = s0;
0x00018864 jalr t9 | t9 ();
0x00018868 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001886c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00018870 move a0, s0 | a0 = s0;
0x00018874 jalr t9 | t9 ();
0x00018878 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001887c sw v0, (s2) | *(s2) = v0;
0x00018880 lw s0, 0x28(sp) | s0 = *(var_28h);
0x00018884 sw zero, (s1) | *(s1) = 0;
0x00018888 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001888c lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00018890 addiu sp, sp, 0x38 |
0x00018894 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x1d93c */
| #include <stdint.h>
|
; (fcn) fcn.0001d93c () | void fcn_0001d93c () {
0x0001d93c lui gp, 2 |
0x0001d940 addiu gp, gp, 0x5a14 |
0x0001d944 addu gp, gp, t9 | gp += t9;
0x0001d948 addiu sp, sp, -0x70 |
0x0001d94c sw s2, 0x50(sp) | *(var_50h) = s2;
0x0001d950 lw s2, -0x7c68(gp) | s2 = *((gp - 7962));
0x0001d954 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x0001d958 sw ra, 0x6c(sp) | *(var_6ch_2) = ra;
0x0001d95c lw v0, (s2) | v0 = *(s2);
0x0001d960 sw fp, 0x68(sp) | *(var_68h_2) = fp;
0x0001d964 sw s7, 0x64(sp) | *(var_64h_2) = s7;
0x0001d968 sw s6, 0x60(sp) | *(var_60h_2) = s6;
0x0001d96c sw s5, 0x5c(sp) | *(var_5ch_2) = s5;
0x0001d970 sw s4, 0x58(sp) | *(var_58h) = s4;
0x0001d974 sw s3, 0x54(sp) | *(var_54h) = s3;
0x0001d978 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x0001d97c sw s0, 0x48(sp) | *(var_48h) = s0;
0x0001d980 sw v0, 0x44(sp) | *(var_44h_2) = v0;
0x0001d984 sw zero, (a1) | *(a1) = 0;
| if (a0 == 0) {
0x0001d988 beqz a0, 0x1dc2c | goto label_4;
| }
0x0001d98c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0001d990 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001d994 move s1, a0 | s1 = a0;
0x0001d998 lw s5, -0x451c(v0) | s5 = *((v0 - 4423));
0x0001d99c move s3, a1 | s3 = a1;
0x0001d9a0 move a0, s5 | a0 = s5;
0x0001d9a4 move s6, a2 | s6 = a2;
0x0001d9a8 move s7, a3 | s7 = a3;
0x0001d9ac jalr t9 | t9 ();
0x0001d9b0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001d9b4 move s0, v0 | s0 = v0;
0x0001d9b8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0001d9bc lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001d9c0 lw s4, -0x4520(v0) | s4 = *((v0 - 4424));
0x0001d9c4 move a0, s4 | a0 = s4;
0x0001d9c8 jalr t9 | t9 ();
0x0001d9cc sltu v1, v0, s0 | v1 = (v0 < s0) ? 1 : 0;
0x0001d9d0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v1 != 0) {
0x0001d9d4 bnez v1, 0x1dad8 | goto label_5;
| }
0x0001d9d8 addiu s0, v0, 1 | s0 = v0 + 1;
| do {
0x0001d9dc lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001d9e0 move a0, s1 | a0 = s1;
0x0001d9e4 jalr t9 | t9 ();
0x0001d9e8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001d9ec addu s0, v0, s0 | s0 = v0 + s0;
0x0001d9f0 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001d9f4 addiu a0, s0, 6 | a0 = s0 + 6;
0x0001d9f8 jalr t9 | t9 ();
0x0001d9fc move fp, v0 | fp = v0;
0x0001da00 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x0001da04 beqz v0, 0x1dc34 | goto label_6;
| }
0x0001da08 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001da0c addiu a0, s0, 0xa | a0 = s0 + 0xa;
0x0001da10 jalr t9 | t9 ();
0x0001da14 move s0, v0 | s0 = v0;
0x0001da18 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x0001da1c beqz v0, 0x1dc60 | goto label_7;
| }
0x0001da20 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001da24 sw s1, 0x14(sp) | *(var_14h) = s1;
| if (s6 != 0) {
0x0001da28 bnez s6, 0x1dae0 | goto label_8;
| }
0x0001da2c sw s5, 0x10(sp) | *(var_10h) = s5;
| label_0:
0x0001da30 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x0001da34 addiu a2, zero, -1 | a2 = -1;
| /* str._s__s.conf */
0x0001da38 addiu a3, a3, -0x7390 | a3 += -0x7390;
0x0001da3c addiu a1, zero, 1 | a1 = 1;
0x0001da40 move a0, fp | a0 = fp;
0x0001da44 jalr t9 | t9 ();
0x0001da48 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001da4c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0001da50 lw s1, -0x7fbc(gp) | s1 = *((gp - 8175));
| /* fcn.0001d0dc */
0x0001da54 addiu t9, t9, -0x2f24 | t9 += -0x2f24;
0x0001da58 move a0, fp | a0 = fp;
0x0001da5c bal 0x1d0dc | fcn_0001d0dc ();
0x0001da60 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001da64 addiu a1, s1, -0x6754 | a1 = s1 + -0x6754;
0x0001da68 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001da6c move a0, fp | a0 = fp;
0x0001da70 jalr t9 | t9 ();
0x0001da74 sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x0001da78 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x0001da7c beqz v0, 0x1dae8 | goto label_9;
| }
| label_2:
0x0001da80 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_1:
0x0001da84 sw v0, 0x24(sp) | *(var_24h_3) = v0;
0x0001da88 sw fp, (s3) | *(s3) = fp;
0x0001da8c move a0, s0 | a0 = s0;
0x0001da90 jalr t9 | t9 ();
0x0001da94 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001da98 lw v0, 0x24(sp) | v0 = *(var_24h_3);
| label_3:
0x0001da9c lw a0, 0x44(sp) | a0 = *(var_44h_2);
0x0001daa0 lw v1, (s2) | v1 = *(s2);
0x0001daa4 lw ra, 0x6c(sp) | ra = *(var_6ch_2);
| if (a0 != v1) {
0x0001daa8 bne a0, v1, 0x1dc9c | goto label_10;
| }
0x0001daac lw fp, 0x68(sp) | fp = *(var_68h_2);
0x0001dab0 lw s7, 0x64(sp) | s7 = *(var_64h_2);
0x0001dab4 lw s6, 0x60(sp) | s6 = *(var_60h_2);
0x0001dab8 lw s5, 0x5c(sp) | s5 = *(var_5ch_2);
0x0001dabc lw s4, 0x58(sp) | s4 = *(var_58h);
0x0001dac0 lw s3, 0x54(sp) | s3 = *(var_54h);
0x0001dac4 lw s2, 0x50(sp) | s2 = *(var_50h);
0x0001dac8 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x0001dacc lw s0, 0x48(sp) | s0 = *(var_48h);
0x0001dad0 addiu sp, sp, 0x70 |
0x0001dad4 jr ra | return v0;
| label_5:
0x0001dad8 addiu s0, s0, 1 | s0++;
0x0001dadc b 0x1d9dc |
| } while (1);
| label_8:
0x0001dae0 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001dae4 b 0x1da30 | goto label_0;
| label_9:
0x0001dae8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| if (s7 != 0) {
0x0001daec bnez s7, 0x1da84 | goto label_1;
| }
0x0001daf0 lw t9, -0x7bb8(gp) | t9 = sym.imp.stpcpy;
0x0001daf4 move a1, fp | a1 = fp;
0x0001daf8 move a0, s0 | a0 = s0;
0x0001dafc jalr t9 | t9 ();
0x0001db00 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001db04 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
0x0001db08 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
| /* str..tmp */
0x0001db0c addiu a0, v1, -0x7384 | a0 = v1 + -0x7384;
0x0001db10 lw v1, -0x7384(v1) | v1 = *((v1 - 7393));
0x0001db14 lbu a1, 4(a0) | a1 = *((a0 + 4));
0x0001db18 swl v1, 3(v0) | __asm ("swl v1, 3(v0)");
0x0001db1c swr v1, (v0) | __asm ("swr v1, (v0)");
0x0001db20 move a0, s0 | a0 = s0;
0x0001db24 sb a1, 4(v0) | *((v0 + 4)) = a1;
0x0001db28 jalr t9 | t9 ();
0x0001db2c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001db30 move a0, s0 | a0 = s0;
0x0001db34 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001db38 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001db3c addiu a1, a1, 0x68e0 | a1 += 0x68e0;
0x0001db40 jalr t9 | t9 ();
0x0001db44 sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x0001db48 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x0001db4c beqz v0, 0x1dbcc |
0x0001db50 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001db54 lw t9, -0x7c94(gp) | t9 = sym.imp.fwrite;
| /* str.Created_by_parhand_n */
0x0001db58 addiu v1, a0, -0x7358 | v1 = a0 + -0x7358;
0x0001db5c lw t4, -0x7358(a0) | t4 = *((a0 - 7382));
0x0001db60 lw t3, 4(v1) | t3 = *((v1 + 1));
0x0001db64 lw t2, 8(v1) | t2 = *((v1 + 2));
0x0001db68 lw t1, 0xc(v1) | t1 = *((v1 + 3));
0x0001db6c lw t0, 0x10(v1) | t0 = *((v1 + 4));
0x0001db70 lbu v1, 0x14(v1) | v1 = *((v1 + 20));
0x0001db74 move a3, v0 | a3 = v0;
0x0001db78 addiu a2, zero, 0x14 | a2 = 0x14;
0x0001db7c sw t4, 0x2c(sp) | *(var_2ch_3) = t4;
0x0001db80 sw t3, 0x30(sp) | *(var_30h_2) = t3;
0x0001db84 sw t2, 0x34(sp) | *(var_34h_3) = t2;
0x0001db88 sw t1, 0x38(sp) | *(var_38h_2) = t1;
0x0001db8c sw t0, 0x3c(sp) | *(var_3ch_2) = t0;
0x0001db90 sb v1, 0x40(sp) | *(var_40h) = v1;
0x0001db94 addiu a1, zero, 1 | a1 = 1;
0x0001db98 addiu a0, sp, 0x2c | a0 = sp + 0x2c;
0x0001db9c jalr t9 | t9 ();
0x0001dba0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dba4 move a1, s0 | a1 = s0;
0x0001dba8 lw t9, -0x7f1c(gp) | t9 = sym.safe_close_file;
0x0001dbac addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x0001dbb0 bal 0x22928 | sym_safe_close_file ();
0x0001dbb4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dbb8 move a1, fp | a1 = fp;
0x0001dbbc lw t9, -0x7f18(gp) | t9 = sym.move_file;
0x0001dbc0 move a0, s0 | a0 = s0;
0x0001dbc4 bal 0x22d4c | sym_move_file ();
0x0001dbc8 lw gp, 0x18(sp) | gp = *(var_18h_2);
| }
0x0001dbcc lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001dbd0 addiu a1, s1, -0x6754 | a1 = s1 + -0x6754;
0x0001dbd4 move a0, fp | a0 = fp;
0x0001dbd8 jalr t9 | t9 ();
0x0001dbdc sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x0001dbe0 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x0001dbe4 bnez v0, 0x1da80 | goto label_2;
| }
0x0001dbe8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001dbec lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001dbf0 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001dbf4 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001dbf8 move a3, fp | a3 = fp;
| /* str.get_file */
0x0001dbfc addiu a2, a2, -0x6ddc | a2 += -0x6ddc;
| /* str._s__Couldnt_open_file:__s____m_ */
0x0001dc00 addiu a1, a1, -0x737c | a1 += -0x737c;
| /* str.dynamic.c */
0x0001dc04 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001dc08 bal 0x19b80 | sym_logerr ();
0x0001dc0c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dc10 move a0, fp | a0 = fp;
0x0001dc14 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001dc18 move fp, zero | fp = 0;
0x0001dc1c jalr t9 | t9 ();
0x0001dc20 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dc24 lw v0, 0x28(sp) | v0 = *(var_28h_3);
0x0001dc28 b 0x1da80 | goto label_2;
| label_4:
0x0001dc2c move v0, zero | v0 = 0;
0x0001dc30 b 0x1da9c | goto label_3;
| label_6:
0x0001dc34 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001dc38 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001dc3c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001dc40 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.get_file */
0x0001dc44 addiu a2, a2, -0x6ddc | a2 += -0x6ddc;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001dc48 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001dc4c addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001dc50 bal 0x199c0 | sym_fatald ();
0x0001dc54 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dc58 move v0, zero | v0 = 0;
0x0001dc5c b 0x1da9c | goto label_3;
| label_7:
0x0001dc60 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001dc64 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001dc68 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001dc6c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.get_file */
0x0001dc70 addiu a2, a2, -0x6ddc | a2 += -0x6ddc;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001dc74 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001dc78 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001dc7c bal 0x199c0 | sym_fatald ();
0x0001dc80 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dc84 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001dc88 move a0, fp | a0 = fp;
0x0001dc8c jalr t9 | t9 ();
0x0001dc90 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001dc94 move v0, zero | v0 = 0;
0x0001dc98 b 0x1da9c | goto label_3;
| label_10:
0x0001dc9c lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001dca0 jalr t9 | t9 ();
0x0001dca4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x1dca8 */
| #include <stdint.h>
|
; (fcn) fcn.0001dca8 () | void fcn_0001dca8 () {
0x0001dca8 lui gp, 2 |
0x0001dcac addiu gp, gp, 0x56a8 |
0x0001dcb0 addu gp, gp, t9 | gp += t9;
0x0001dcb4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0001dcb8 addiu sp, sp, -0x38 |
0x0001dcbc sw s0, 0x24(sp) | *(var_24h) = s0;
0x0001dcc0 lw s0, -0x452c(v0) | s0 = *((v0 - 4427));
0x0001dcc4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001dcc8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0001dccc sw s3, 0x30(sp) | *(var_30h) = s3;
0x0001dcd0 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0001dcd4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0001dcd8 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
| if (s0 == 0) {
0x0001dcdc beqz s0, 0x1dd48 | goto label_1;
| }
0x0001dce0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncasecmp;
0x0001dce4 addiu a2, zero, 5 | a2 = 5;
| /* str.root. */
0x0001dce8 addiu a1, a1, -0x7340 | a1 += -0x7340;
0x0001dcec move s1, a0 | s1 = a0;
0x0001dcf0 jalr t9 | t9 ();
0x0001dcf4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001dcf8 bnez v0, 0x1dd68 | goto label_2;
| }
0x0001dcfc move s3, zero | s3 = 0;
| label_0:
0x0001dd00 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0001dd04 lw s2, (v0) | s2 = *(v0);
0x0001dd08 b 0x1dd18 |
| while (v0 != 0) {
0x0001dd0c lw s0, (s0) | s0 = *(s0);
| if (s0 == 0) {
0x0001dd10 beqz s0, 0x1dd40 | goto label_3;
| }
0x0001dd14 nop |
0x0001dd18 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x0001dd1c lw v0, -0x7c78(gp) | v0 = sym.imp.strcasecmp;
0x0001dd20 move a1, s1 | a1 = s1;
0x0001dd24 lw a0, 4(s0) | a0 = *((s0 + 1));
| if (s2 == 0) {
0x0001dd28 bnez s2, 0x1dd30 |
0x0001dd2c move t9, v0 | t9 = v0;
| }
0x0001dd30 jalr t9 | t9 ();
0x0001dd34 nop |
0x0001dd38 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dd3c bnez v0, 0x1dd0c |
| }
| label_3:
0x0001dd40 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001dd44 bnez s3, 0x1ddc0 |
| while (1) {
| label_1:
0x0001dd48 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001dd4c move v0, s0 | v0 = s0;
0x0001dd50 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0001dd54 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0001dd58 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0001dd5c lw s0, 0x24(sp) | s0 = *(var_24h);
0x0001dd60 addiu sp, sp, 0x38 |
0x0001dd64 jr ra | return v0;
| label_2:
0x0001dd68 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001dd6c move a0, s1 | a0 = s1;
0x0001dd70 jalr t9 | t9 ();
0x0001dd74 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dd78 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001dd7c addiu a0, v0, 6 | a0 = v0 + 6;
0x0001dd80 jalr t9 | t9 ();
0x0001dd84 move s2, v0 | s2 = v0;
0x0001dd88 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001dd8c beqz v0, 0x1dde8 |
0x0001dd90 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x0001dd94 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001dd98 sw s1, 0x10(sp) | *(var_10h) = s1;
| /* str.root._s */
0x0001dd9c addiu a3, a3, -0x7338 | a3 += -0x7338;
0x0001dda0 addiu a2, zero, -1 | a2 = -1;
0x0001dda4 addiu a1, zero, 1 | a1 = 1;
0x0001dda8 move a0, v0 | a0 = v0;
0x0001ddac jalr t9 | t9 ();
0x0001ddb0 move s1, s2 | s1 = s2;
0x0001ddb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001ddb8 addiu s3, zero, 1 | s3 = 1;
0x0001ddbc b 0x1dd00 | goto label_0;
0x0001ddc0 move a0, s1 | a0 = s1;
0x0001ddc4 jalr t9 | t9 ();
0x0001ddc8 lw ra, 0x34(sp) | ra = *(var_34h);
0x0001ddcc move v0, s0 | v0 = s0;
0x0001ddd0 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0001ddd4 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0001ddd8 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0001dddc lw s0, 0x24(sp) | s0 = *(var_24h);
0x0001dde0 addiu sp, sp, 0x38 |
0x0001dde4 jr ra | return v0;
| }
0x0001dde8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001ddec lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001ddf0 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001ddf4 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.get_tmplist */
0x0001ddf8 addiu a2, a2, -0x6e40 | a2 += -0x6e40;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001ddfc addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001de00 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001de04 bal 0x199c0 | sym_fatald ();
0x0001de08 move s0, zero | s0 = 0;
0x0001de0c b 0x1dd48 |
| }
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x1de10 */
| #include <stdint.h>
|
; (fcn) fcn.0001de10 () | void fcn_0001de10 () {
0x0001de10 lui gp, 2 |
0x0001de14 addiu gp, gp, 0x5540 |
0x0001de18 addu gp, gp, t9 | gp += t9;
0x0001de1c addiu sp, sp, -0x40 |
0x0001de20 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001de24 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001de28 sw s6, 0x38(sp) | *(var_38h) = s6;
0x0001de2c sw s5, 0x34(sp) | *(var_34h) = s5;
0x0001de30 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0001de34 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0001de38 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0001de3c sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0001de40 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0001de44 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0001de48 move s1, a0 | s1 = a0;
0x0001de4c addiu a0, zero, 0x18 | a0 = 0x18;
0x0001de50 move s5, a1 | s5 = a1;
0x0001de54 move s4, a2 | s4 = a2;
0x0001de58 move s6, a3 | s6 = a3;
0x0001de5c jalr t9 | t9 ();
0x0001de60 move s0, v0 | s0 = v0;
0x0001de64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001de68 beqz v0, 0x1df54 | goto label_1;
| }
0x0001de6c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001de70 move a0, s1 | a0 = s1;
0x0001de74 jalr t9 | t9 ();
0x0001de78 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001de7c addiu a0, v0, 6 | a0 = v0 + 6;
0x0001de80 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001de84 move s3, v0 | s3 = v0;
0x0001de88 jalr t9 | t9 ();
0x0001de8c move s2, v0 | s2 = v0;
0x0001de90 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001de94 beqz v0, 0x1df7c | goto label_2;
| }
0x0001de98 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001de9c lw t9, -0x7cd8(gp) | t9 = sym.imp.strncasecmp;
0x0001dea0 addiu a2, zero, 5 | a2 = 5;
| /* str.root. */
0x0001dea4 addiu a1, a1, -0x7340 | a1 += -0x7340;
0x0001dea8 move a0, s1 | a0 = s1;
0x0001deac jalr t9 | t9 ();
0x0001deb0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0001deb4 beqz v0, 0x1df38 | goto label_3;
| }
0x0001deb8 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x0001debc lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001dec0 sw s1, 0x10(sp) | *(var_10h) = s1;
| /* str.root._s */
0x0001dec4 addiu a3, a3, -0x7338 | a3 += -0x7338;
0x0001dec8 addiu a2, zero, -1 | a2 = -1;
0x0001decc addiu a1, zero, 1 | a1 = 1;
0x0001ded0 move a0, s2 | a0 = s2;
0x0001ded4 jalr t9 | t9 ();
0x0001ded8 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x0001dedc lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0001dee0 lw a0, 0x50(sp) | a0 = *(arg_50h);
0x0001dee4 sw zero, (s0) | *(s0) = 0;
0x0001dee8 lw v1, -0x452c(v0) | v1 = *((v0 - 4427));
0x0001deec sw s2, 4(s0) | *((s0 + 1)) = s2;
0x0001def0 sw s6, 8(s0) | *((s0 + 2)) = s6;
0x0001def4 sw a0, 0xc(s0) | *((s0 + 3)) = a0;
0x0001def8 sw s5, 0x10(s0) | *((s0 + 4)) = s5;
0x0001defc sw s4, 0x14(s0) | *((s0 + 5)) = s4;
| if (v1 != 0) {
0x0001df00 beqz v1, 0x1df08 |
0x0001df04 sw v1, (s0) | *(s0) = v1;
| }
0x0001df08 sw s0, -0x452c(v0) | *((v0 - 4427)) = s0;
0x0001df0c lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_0:
0x0001df10 move v0, s0 | v0 = s0;
0x0001df14 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0001df18 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0001df1c lw s4, 0x30(sp) | s4 = *(var_30h);
0x0001df20 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0001df24 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0001df28 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0001df2c lw s0, 0x20(sp) | s0 = *(var_20h);
0x0001df30 addiu sp, sp, 0x40 |
0x0001df34 jr ra | return v0;
| label_3:
0x0001df38 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x0001df3c addiu a2, s3, 1 | a2 = s3 + 1;
0x0001df40 move a1, s1 | a1 = s1;
0x0001df44 move a0, s2 | a0 = s2;
0x0001df48 jalr t9 | t9 ();
0x0001df4c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001df50 b 0x1dedc |
| } while (1);
| label_1:
0x0001df54 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001df58 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001df5c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001df60 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.add_tmplist */
0x0001df64 addiu a2, a2, -0x6e4c | a2 += -0x6e4c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001df68 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001df6c addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001df70 bal 0x199c0 | sym_fatald ();
0x0001df74 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001df78 b 0x1df10 | goto label_0;
| label_2:
0x0001df7c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001df80 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001df84 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001df88 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.add_tmplist */
0x0001df8c addiu a2, a2, -0x6e4c | a2 += -0x6e4c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001df90 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001df94 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001df98 bal 0x199c0 | sym_fatald ();
0x0001df9c lw gp, 0x18(sp) | gp = *(var_18h);
0x0001dfa0 move a0, s0 | a0 = s0;
0x0001dfa4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001dfa8 move s0, zero | s0 = 0;
0x0001dfac jalr t9 | t9 ();
0x0001dfb0 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0001dfb4 b 0x1df10 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x22080 */
| #include <stdint.h>
|
; (fcn) fcn.00022080 () | void fcn_00022080 () {
0x00022080 lui gp, 2 |
0x00022084 addiu gp, gp, 0x12d0 |
0x00022088 addu gp, gp, t9 | gp += t9;
| if (a0 == 0) {
0x0002208c beqz a0, 0x222d4 | goto label_1;
| }
0x00022090 nop |
| if (a1 == 0) {
0x00022094 beqz a1, 0x222cc | goto label_2;
| }
0x00022098 nop |
0x0002209c addiu sp, sp, -0x38 |
0x000220a0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000220a4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000220a8 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x000220ac sw s2, 0x28(sp) | *(var_28h) = s2;
0x000220b0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x000220b4 sw s0, 0x20(sp) | *(var_20h) = s0;
0x000220b8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x000220bc sw s4, 0x30(sp) | *(var_30h) = s4;
0x000220c0 move s0, a0 | s0 = a0;
0x000220c4 move s3, a2 | s3 = a2;
0x000220c8 move s2, a1 | s2 = a1;
0x000220cc jalr t9 | t9 ();
0x000220d0 move s1, v0 | s1 = v0;
0x000220d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000220d8 beqz v0, 0x22114 | goto label_3;
| }
0x000220dc addu v1, s0, v0 | v1 = s0 + v0;
0x000220e0 addiu a0, zero, 0x2f | a0 = 0x2f;
0x000220e4 lb v1, -1(v1) | v1 = *((v1 - 1));
0x000220e8 addiu v0, v0, -1 | v0 += -1;
| if (v1 == a0) {
0x000220ec beq v1, a0, 0x22108 | goto label_4;
| }
0x000220f0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000220f4 b 0x22118 | goto label_5;
| do {
0x000220f8 lb v1, -1(v1) | v1 = *((v1 - 1));
0x000220fc move s1, v0 | s1 = v0;
| if (v1 != a0) {
0x00022100 bne v1, a0, 0x22114 | goto label_3;
| }
0x00022104 addiu v0, v0, -1 | v0 += -1;
| label_4:
0x00022108 addu v1, s0, v0 | v1 = s0 + v0;
0x0002210c bnez v0, 0x220f8 |
| } while (v0 != 0);
0x00022110 move s1, zero | s1 = 0;
| label_3:
0x00022114 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| label_5:
0x00022118 move a0, s2 | a0 = s2;
0x0002211c jalr t9 | t9 ();
0x00022120 lw gp, 0x18(sp) | gp = *(var_18h);
0x00022124 addu v0, v0, s1 | v0 += s1;
0x00022128 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0002212c addiu a0, v0, 7 | a0 = v0 + 7;
0x00022130 jalr t9 | t9 ();
0x00022134 move s4, v0 | s4 = v0;
0x00022138 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0002213c beqz v0, 0x222ac | goto label_6;
| }
0x00022140 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x00022144 move a2, s1 | a2 = s1;
0x00022148 move a1, s0 | a1 = s0;
0x0002214c move a0, v0 | a0 = v0;
0x00022150 jalr t9 | t9 ();
0x00022154 lw gp, 0x18(sp) | gp = *(var_18h);
0x00022158 addiu a2, zero, -1 | a2 = -1;
0x0002215c addiu a1, zero, 1 | a1 = 1;
0x00022160 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00022164 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str.__s.temp */
0x00022168 addiu a3, a3, -0x6ce0 | a3 += -0x6ce0;
0x0002216c addu a0, s4, s1 | a0 = s4 + s1;
0x00022170 sw s2, 0x10(sp) | *(var_10h) = s2;
0x00022174 jalr t9 | t9 ();
0x00022178 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002217c lw t9, -0x7c48(gp) | t9 = sym.imp.unlink;
0x00022180 move a0, s4 | a0 = s4;
0x00022184 jalr t9 | t9 ();
0x00022188 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0002218c beqz v0, 0x221ec | goto label_7;
| }
0x00022190 lw t9, -0x7b00(gp) | t9 = sym.imp.__errno_location;
0x00022194 jalr t9 | t9 ();
0x00022198 nop |
0x0002219c lw a0, (v0) | a0 = *(v0);
0x000221a0 addiu v0, zero, 2 | v0 = 2;
0x000221a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 != v0) {
0x000221a8 bne a0, v0, 0x2225c | goto label_8;
| }
0x000221ac lw t9, -0x7b0c(gp) | t9 = sym.imp.open;
0x000221b0 addiu a2, zero, 0x180 | a2 = aav.0x00000180;
0x000221b4 addiu a1, zero, 0x502 | a1 = 0x502;
0x000221b8 move a0, s4 | a0 = s4;
0x000221bc jalr t9 | t9 ();
0x000221c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000221c4 bltz v0, 0x22230 | goto label_9;
| }
| do {
0x000221c8 sw s4, (s3) | *(s3) = s4;
| label_0:
0x000221cc lw ra, 0x34(sp) | ra = *(var_34h);
0x000221d0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x000221d4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x000221d8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x000221dc lw s1, 0x24(sp) | s1 = *(var_24h);
0x000221e0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x000221e4 addiu sp, sp, 0x38 |
0x000221e8 jr ra | return v0;
| label_7:
0x000221ec lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000221f0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000221f4 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x000221f8 lw t9, -0x7e88(gp) | t9 = sym.logwarn;
0x000221fc move a3, s4 | a3 = s4;
| /* str.create_tmp_file */
0x00022200 addiu a2, a2, -0x67ac | a2 += -0x67ac;
| /* str._s__Deleted_stray_temporary_file__s */
0x00022204 addiu a1, a1, -0x6ca0 | a1 += -0x6ca0;
| /* str.movefile.c */
0x00022208 addiu a0, a0, -0x6cec | a0 += -0x6cec;
0x0002220c bal 0x19bfc | sym_logwarn ();
0x00022210 lw gp, 0x18(sp) | gp = *(var_18h);
0x00022214 addiu a2, zero, 0x180 | a2 = aav.0x00000180;
0x00022218 addiu a1, zero, 0x502 | a1 = 0x502;
0x0002221c lw t9, -0x7b0c(gp) | t9 = sym.imp.open;
0x00022220 move a0, s4 | a0 = s4;
0x00022224 jalr t9 | t9 ();
0x00022228 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002222c bgez v0, 0x221c8 |
| } while (v0 >= 0);
| label_9:
0x00022230 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00022234 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00022238 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0002223c lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00022240 move a3, s4 | a3 = s4;
| /* str.create_tmp_file */
0x00022244 addiu a2, a2, -0x67ac | a2 += -0x67ac;
| /* str._s:_Couldnt_create_temporary_file__s___m_n */
0x00022248 addiu a1, a1, -0x6c78 | a1 += -0x6c78;
| /* str.movefile.c */
0x0002224c addiu a0, a0, -0x6cec | a0 += -0x6cec;
0x00022250 bal 0x19b80 | sym_logerr ();
0x00022254 lw gp, 0x18(sp) | gp = *(var_18h);
0x00022258 b 0x22298 | goto label_10;
| label_8:
0x0002225c lw t9, -0x7b24(gp) | t9 = sym.imp.strerror;
0x00022260 jalr t9 | t9 ();
0x00022264 nop |
0x00022268 lw gp, 0x18(sp) | gp = *(var_18h);
0x0002226c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00022270 move a3, s4 | a3 = s4;
0x00022274 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00022278 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0002227c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00022280 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
| /* str.create_tmp_file */
0x00022284 addiu a2, a2, -0x67ac | a2 += -0x67ac;
| /* str._s__Could_not_clean_up_old_temporary_file__s:__s */
0x00022288 addiu a1, a1, -0x6cd4 | a1 += -0x6cd4;
| /* str.movefile.c */
0x0002228c addiu a0, a0, -0x6cec | a0 += -0x6cec;
0x00022290 bal 0x19b80 | sym_logerr ();
0x00022294 lw gp, 0x18(sp) | gp = *(var_18h);
| label_10:
0x00022298 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002229c move a0, s4 | a0 = s4;
0x000222a0 jalr t9 | t9 ();
0x000222a4 addiu v0, zero, -1 | v0 = -1;
0x000222a8 b 0x221cc | goto label_0;
| label_6:
0x000222ac lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000222b0 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x000222b4 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Out_of_memory_in_create_tmp_file_ */
0x000222b8 addiu a1, a1, -0x6d10 | a1 += -0x6d10;
| /* str.movefile.c */
0x000222bc addiu a0, a0, -0x6cec | a0 += -0x6cec;
0x000222c0 bal 0x199c0 | sym_fatald ();
0x000222c4 addiu v0, zero, -1 | v0 = -1;
0x000222c8 b 0x221cc | goto label_0;
| label_2:
0x000222cc addiu v0, zero, -1 | v0 = -1;
0x000222d0 jr ra | return v0;
| label_1:
0x000222d4 addiu v0, zero, -1 | v0 = -1;
0x000222d8 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x8500 */
| #include <stdint.h>
|
; (fcn) sym.convert_dbustype () | void convert_dbustype () {
0x00008500 lui gp, 4 |
0x00008504 addiu gp, gp, -0x51b0 |
0x00008508 addu gp, gp, t9 | gp += t9;
0x0000850c addiu sp, sp, -0x50 |
0x00008510 sw s0, 0x3c(sp) | *(var_3ch_3) = s0;
0x00008514 lw s0, -0x7c68(gp) | s0 = *((gp - 7962));
0x00008518 sw gp, 0x20(sp) | *(var_20h_3) = gp;
0x0000851c sw ra, 0x4c(sp) | *(var_4ch_2) = ra;
0x00008520 lw v0, (s0) | v0 = *(s0);
0x00008524 sw s3, 0x48(sp) | *(var_48h_2) = s3;
0x00008528 sw s2, 0x44(sp) | *(var_44h_2) = s2;
0x0000852c sw s1, 0x40(sp) | *(var_40h_2) = s1;
0x00008530 sw v0, 0x34(sp) | *(var_34h_3) = v0;
| if (a0 != 0) {
0x00008534 beql a0, zero, 0x8650 |
0x00008538 move s1, zero | s1 = 0;
0x0000853c move s1, a1 | s1 = a1;
| if (a1 != 0) {
0x00008540 beqz a1, 0x864c |
0x00008544 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x00008548 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
0x0000854c addiu a2, sp, 0x2c | a2 = sp + 0x2c;
| /* esilref: '&i' */
0x00008550 addiu a1, s2, 0x6584 | a1 = s2 + 0x6584;
0x00008554 jalr t9 | t9 ();
0x00008558 move s3, v0 | s3 = v0;
0x0000855c addiu v0, zero, 1 | v0 = 1;
0x00008560 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (s3 == v0) {
0x00008564 bne s3, v0, 0x864c |
0x00008568 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
0x0000856c addiu a2, sp, 0x30 | a2 = sp + 0x30;
| /* esilref: '&i' */
0x00008570 addiu a1, s2, 0x6584 | a1 = s2 + 0x6584;
0x00008574 move a0, s1 | a0 = s1;
0x00008578 jalr t9 | t9 ();
0x0000857c lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 != s3) {
0x00008580 bne v0, s3, 0x864c | goto label_0;
| }
0x00008584 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00008588 addiu a0, zero, 0x44 | a0 = 0x44;
0x0000858c jalr t9 | t9 ();
0x00008590 move s1, v0 | s1 = v0;
0x00008594 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v0 == 0) {
0x00008598 beqz v0, 0x8650 | goto label_1;
| }
0x0000859c move a0, v0 | a0 = v0;
0x000085a0 lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x000085a4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* esilref: '&i' */
0x000085a8 addiu a3, s2, 0x6584 | a3 = s2 + 0x6584;
0x000085ac addiu a2, zero, 0x44 | a2 = 0x44;
0x000085b0 addiu a1, zero, 1 | a1 = 1;
0x000085b4 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x000085b8 jalr t9 | t9 ();
0x000085bc lw gp, 0x20(sp) | gp = *(var_20h_3);
0x000085c0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000085c4 move a0, s1 | a0 = s1;
0x000085c8 jalr t9 | t9 ();
0x000085cc lw gp, 0x20(sp) | gp = *(var_20h_3);
0x000085d0 lw v1, 0x30(sp) | v1 = *(var_30h_3);
| /* esilref: '&i' */
0x000085d4 addiu a3, s2, 0x6584 | a3 = s2 + 0x6584;
0x000085d8 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x000085dc addiu a2, zero, 0x44 | a2 = 0x44;
0x000085e0 addiu a1, zero, 1 | a1 = 1;
0x000085e4 sw v1, 0x10(sp) | *(var_10h_3) = v1;
0x000085e8 move a0, s1 | a0 = s1;
0x000085ec move s2, v0 | s2 = v0;
0x000085f0 jalr t9 | t9 ();
0x000085f4 lw gp, 0x20(sp) | gp = *(var_20h_3);
0x000085f8 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000085fc move a0, s1 | a0 = s1;
0x00008600 jalr t9 | t9 ();
0x00008604 sltu v1, s2, v0 | v1 = (s2 < v0) ? 1 : 0;
0x00008608 lw gp, 0x20(sp) | gp = *(var_20h_3);
| if (v1 != 0) {
0x0000860c movz v0, s2, v1 | v0 = s2;
| }
0x00008610 move v1, v0 | v1 = v0;
0x00008614 lw v0, 0x30(sp) | v0 = *(var_30h_3);
0x00008618 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x0000861c sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00008620 lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x00008624 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00008628 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000862c sw v1, 0x10(sp) | *(var_10h_3) = v1;
| /* str.int:maxlength_i_min_i_max_i */
0x00008630 addiu a3, a3, 0x6568 | a3 += 0x6568;
0x00008634 addiu a2, zero, 0x44 | a2 = 0x44;
0x00008638 addiu a1, zero, 1 | a1 = 1;
0x0000863c move a0, s1 | a0 = s1;
0x00008640 jalr t9 | t9 ();
0x00008644 lw gp, 0x20(sp) | gp = *(var_20h_3);
0x00008648 b 0x8650 |
| }
| } else {
| label_0:
0x0000864c move s1, zero | s1 = 0;
| }
| }
| label_1:
0x00008650 lw a0, 0x34(sp) | a0 = *(var_34h_3);
0x00008654 lw v1, (s0) | v1 = *(s0);
0x00008658 move v0, s1 | v0 = s1;
| if (a0 == v1) {
0x0000865c bne a0, v1, 0x867c |
0x00008660 lw ra, 0x4c(sp) | ra = *(var_4ch_2);
0x00008664 lw s3, 0x48(sp) | s3 = *(var_48h_2);
0x00008668 lw s2, 0x44(sp) | s2 = *(var_44h_2);
0x0000866c lw s1, 0x40(sp) | s1 = *(var_40h_2);
0x00008670 lw s0, 0x3c(sp) | s0 = *(var_3ch_3);
0x00008674 addiu sp, sp, 0x50 |
0x00008678 jr ra | return v0;
| }
0x0000867c lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008680 jalr t9 | t9 ();
0x00008684 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x2063c */
| #include <stdint.h>
|
; (fcn) sym.delete_group () | void delete_group () {
0x0002063c lui gp, 2 |
0x00020640 addiu gp, gp, 0x2d14 |
0x00020644 addu gp, gp, t9 | gp += t9;
0x00020648 lw v0, -0x7c68(gp) | v0 = *((gp - 7962));
0x0002064c addiu sp, sp, -0x1c0 |
0x00020650 lw t9, -0x7e80(gp) | t9 = sym.map_getGroupByPath;
0x00020654 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00020658 lw v0, (v0) | v0 = *(v0);
0x0002065c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00020660 sw s0, 0x198(sp) | *(var_198h) = s0;
0x00020664 sw ra, 0x1bc(sp) | *(var_1bch) = ra;
0x00020668 sw fp, 0x1b8(sp) | *(var_1b8h) = fp;
0x0002066c sw s7, 0x1b4(sp) | *(var_1b4h) = s7;
0x00020670 sw s6, 0x1b0(sp) | *(var_1b0h) = s6;
0x00020674 sw s5, 0x1ac(sp) | *(var_1ach) = s5;
0x00020678 sw s4, 0x1a8(sp) | *(var_1a8h) = s4;
0x0002067c sw s3, 0x1a4(sp) | *(var_1a4h) = s3;
0x00020680 sw s2, 0x1a0(sp) | *(var_1a0h) = s2;
0x00020684 sw s1, 0x19c(sp) | *(var_19ch) = s1;
0x00020688 sw a0, 0x34(sp) | *(var_34h) = a0;
0x0002068c sw a1, 0x1c4(sp) | *(arg_1c4h) = a1;
0x00020690 sw v0, 0x194(sp) | *(var_194h) = v0;
0x00020694 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00020698 move s0, a0 | s0 = a0;
0x0002069c bal 0x7978 | sym_map_getGroupByPath ();
0x000206a0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000206a4 beqz v0, 0x21764 | goto label_36;
| }
0x000206a8 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x000206ac move a0, s0 | a0 = s0;
0x000206b0 jalr t9 | t9 ();
0x000206b4 sw v0, 0x30(sp) | *(var_30h) = v0;
0x000206b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000206bc beqz v0, 0x21778 | goto label_37;
| }
0x000206c0 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x000206c4 lw a0, 0x30(sp) | a0 = *(var_30h);
| /* fcn.0001cf08 */
0x000206c8 addiu t9, t9, -0x30f8 | t9 += -0x30f8;
0x000206cc addiu a1, sp, 0x68 | a1 = sp + 0x68;
0x000206d0 bal 0x1cf08 | fcn_0001cf08 ();
0x000206d4 lw s1, 0x68(sp) | s1 = *(var_68h);
0x000206d8 lw a0, (s1) | a0 = *(s1);
0x000206dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 == 0) {
0x000206e0 beqz a0, 0x21888 | goto label_38;
| }
0x000206e4 lw v0, 4(s1) | v0 = *((s1 + 1));
0x000206e8 sw v0, 0x2c(sp) | *(var_2ch) = v0;
| if (v0 == 0) {
0x000206ec beqz v0, 0x20c84 | goto label_39;
| }
0x000206f0 addiu s0, s1, 4 | s0 = s1 + 4;
0x000206f4 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x000206f8 sw zero, 0x70(sp) | *(var_70h) = 0;
0x000206fc sw zero, 0x74(sp) | *(var_74h) = 0;
0x00020700 move s3, s0 | s3 = s0;
0x00020704 move s2, zero | s2 = 0;
| do {
0x00020708 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0002070c addiu s3, s3, 4 | s3 += 4;
0x00020710 jalr t9 | t9 ();
0x00020714 lw a0, -4(s3) | a0 = *((s3 - 1));
0x00020718 addiu s2, s2, 1 | s2++;
0x0002071c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020720 addu s2, s2, v0 | s2 += v0;
0x00020724 bnez a0, 0x20708 |
| } while (a0 != 0);
0x00020728 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0002072c move a0, s2 | a0 = s2;
0x00020730 jalr t9 | t9 ();
0x00020734 move s7, v0 | s7 = v0;
0x00020738 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0002073c beqz v0, 0x21858 | goto label_40;
| }
0x00020740 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00020744 addiu a0, zero, 0xe | a0 = 0xe;
0x00020748 jalr t9 | t9 ();
0x0002074c sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00020750 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020754 beqz v0, 0x21818 | goto label_41;
| }
0x00020758 lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
0x0002075c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00020760 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x00020764 lw fp, -0x7fbc(gp) | fp = *((gp - 8175));
0x00020768 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0002076c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._tmp */
0x00020770 addiu v0, v0, -0x6d4c | v0 += -0x6d4c;
| /* str.temp_grp */
0x00020774 addiu s4, s4, -0x6d58 | s4 += -0x6d58;
| /* str._s__s */
0x00020778 addiu a3, fp, -0x7280 | a3 = fp + -0x7280;
0x0002077c addiu a2, zero, 0xe | a2 = 0xe;
0x00020780 addiu a1, zero, 1 | a1 = 1;
0x00020784 move a0, s3 | a0 = s3;
0x00020788 sw s2, 0x54(sp) | *(var_54h) = s2;
0x0002078c sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00020790 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00020794 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00020798 jalr t9 | t9 ();
0x0002079c lw gp, 0x20(sp) | gp = *(var_20h);
0x000207a0 addiu a1, s2, 0x68e0 | a1 = s2 + 0x68e0;
0x000207a4 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x000207a8 move a0, s3 | a0 = s3;
0x000207ac jalr t9 | t9 ();
0x000207b0 move s2, v0 | s2 = v0;
0x000207b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000207b8 beqz v0, 0x21918 | goto label_42;
| }
0x000207bc sb zero, (s7) | *(s7) = 0;
0x000207c0 lw s6, (s1) | s6 = *(s1);
0x000207c4 move s3, zero | s3 = 0;
0x000207c8 addiu s5, zero, 0x2e | s5 = 0x2e;
| if (s6 != 0) {
0x000207cc bnez s6, 0x20c68 | goto label_43;
| }
| label_1:
0x000207d0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x000207d4 move a0, s7 | a0 = s7;
| /* fcn.0001dca8 */
0x000207d8 addiu t9, v0, -0x2358 | t9 = v0 + -0x2358;
0x000207dc sw t9, 0x50(sp) | *(var_50h) = t9;
0x000207e0 bal 0x1dca8 | fcn_0001dca8 ();
0x000207e4 move s0, v0 | s0 = v0;
0x000207e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000207ec beqz v0, 0x21310 | goto label_44;
| }
0x000207f0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000207f4 sw zero, 0x78(sp) | *(var_78h) = 0;
0x000207f8 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x000207fc lw a0, 8(v0) | a0 = *((v0 + 2));
0x00020800 addiu a1, a1, -0x6754 | a1 += -0x6754;
0x00020804 jalr t9 | t9 ();
0x00020808 move s3, v0 | s3 = v0;
0x0002080c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020810 beqz v0, 0x21468 | goto label_45;
| }
0x00020814 lw v0, 8(s0) | v0 = *((s0 + 2));
0x00020818 sw v0, 0x58(sp) | *(var_58h) = v0;
| label_15:
0x0002081c lw v0, 0x78(sp) | v0 = *(var_78h);
0x00020820 move s0, zero | s0 = 0;
0x00020824 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00020828 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0002082c lw s6, -0x7fc4(gp) | s6 = *(gp);
| /* fcn.0001d1d8 */
0x00020830 addiu v0, v0, -0x2e28 | v0 += -0x2e28;
0x00020834 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00020838 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0002083c sw zero, 0x74(sp) | *(var_74h) = 0;
0x00020840 addiu v0, v0, -0x2fd4 | v0 += -0x2fd4;
0x00020844 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00020848 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0002084c sw zero, 0x70(sp) | *(var_70h) = 0;
0x00020850 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00020854 move v0, s0 | v0 = s0;
0x00020858 move s4, zero | s4 = 0;
0x0002085c move s0, s1 | s0 = s1;
0x00020860 sw zero, 0x44(sp) | *(var_44h) = 0;
0x00020864 addiu s5, sp, 0x6c | s5 = sp + 0x6c;
| /* str.group */
0x00020868 addiu s6, s6, 0x6e58 | s6 += 0x6e58;
0x0002086c move s1, v0 | s1 = v0;
0x00020870 b 0x20908 |
| while (v0 != 0) {
0x00020874 lw a0, 0x70(sp) | a0 = *(var_70h);
0x00020878 lw v0, 0x74(sp) | v0 = *(var_74h);
0x0002087c lw t9, 0x38(sp) | t9 = *(var_38h);
| if (a0 == v0) {
0x00020880 bne a0, v0, 0x208d8 |
0x00020884 addiu a2, sp, 0x74 | a2 = sp + 0x74;
| if (s4 != 0) {
0x00020888 bnez s4, 0x208dc | goto label_46;
| }
0x0002088c lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x00020890 move a1, s6 | a1 = s6;
0x00020894 move a0, s1 | a0 = s1;
0x00020898 jalr t9 | t9 ();
0x0002089c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000208a0 beqz v0, 0x208d4 |
0x000208a4 addiu v1, sp, 0x154 | v1 = sp + 0x154;
0x000208a8 sw v1, 0x48(sp) | *(var_48h) = v1;
0x000208ac move a3, v1 | a3 = v1;
0x000208b0 lw v1, 0x40(sp) | v1 = *(var_40h);
0x000208b4 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
0x000208b8 move a0, v0 | a0 = v0;
0x000208bc addiu a2, sp, 0x114 | a2 = sp + aav.0x00000114;
0x000208c0 addiu a1, v1, -0x7278 | a1 = v1 + -0x7278;
0x000208c4 jalr t9 | t9 ();
0x000208c8 addiu a0, zero, 2 | a0 = 2;
0x000208cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == a0) {
0x000208d0 beq v0, a0, 0x212b4 | goto label_47;
| }
| }
| label_14:
0x000208d4 lw t9, 0x38(sp) | t9 = *(var_38h);
| }
0x000208d8 addiu a2, sp, 0x74 | a2 = sp + 0x74;
| label_46:
0x000208dc addiu a1, sp, 0x70 | a1 = sp + 0x70;
0x000208e0 move a0, s1 | a0 = s1;
0x000208e4 jalr t9 | t9 ();
0x000208e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000208ec move a0, s1 | a0 = s1;
0x000208f0 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
0x000208f4 move a1, s2 | a1 = s2;
0x000208f8 jalr t9 | t9 ();
0x000208fc addiu a0, zero, -1 | a0 = -1;
0x00020900 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == a0) {
0x00020904 beq v0, a0, 0x211e4 | goto label_48;
| }
0x00020908 lw t9, 0x28(sp) | t9 = *(var_28h);
| label_33:
0x0002090c move a1, s1 | a1 = s1;
0x00020910 move a2, s5 | a2 = s5;
0x00020914 move a0, s3 | a0 = s3;
0x00020918 jalr t9 | t9 ();
0x0002091c move s1, v0 | s1 = v0;
0x00020920 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020924 bnez v0, 0x20874 |
| }
0x00020928 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002092c move a0, s7 | a0 = s7;
0x00020930 move s0, v0 | s0 = v0;
0x00020934 jalr t9 | t9 ();
0x00020938 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002093c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020940 move a0, s3 | a0 = s3;
0x00020944 jalr t9 | t9 ();
0x00020948 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002094c lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x00020950 move a0, s2 | a0 = s2;
0x00020954 jalr t9 | t9 ();
0x00020958 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002095c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020960 move a0, s2 | a0 = s2;
0x00020964 jalr t9 | t9 ();
0x00020968 lw s4, 0x68(sp) | s4 = *(var_68h);
0x0002096c sw zero, 0x78(sp) | *(var_78h) = 0;
0x00020970 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020974 lw a0, (s4) | a0 = *(s4);
0x00020978 sw zero, 0x74(sp) | *(var_74h) = 0;
0x0002097c addiu v0, zero, 1 | v0 = 1;
| if (a0 == 0) {
0x00020980 beqz a0, 0x209b0 | goto label_49;
| }
0x00020984 addiu s3, s4, 4 | s3 = s4 + 4;
0x00020988 addiu s1, zero, 1 | s1 = 1;
| do {
0x0002098c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020990 addiu s3, s3, 4 | s3 += 4;
0x00020994 jalr t9 | t9 ();
0x00020998 addiu s1, s1, 1 | s1++;
0x0002099c lw a0, -4(s3) | a0 = *((s3 - 1));
0x000209a0 addu s1, s1, v0 | s1 += v0;
0x000209a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000209a8 move v0, s1 | v0 = s1;
0x000209ac bnez a0, 0x2098c |
| } while (a0 != 0);
| label_49:
0x000209b0 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000209b4 move a0, v0 | a0 = v0;
0x000209b8 jalr t9 | t9 ();
0x000209bc move s1, v0 | s1 = v0;
0x000209c0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000209c4 beqz v0, 0x218cc | goto label_50;
| }
0x000209c8 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000209cc addiu a0, zero, 0xe | a0 = 0xe;
0x000209d0 jalr t9 | t9 ();
0x000209d4 move s7, v0 | s7 = v0;
0x000209d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000209dc beqz v0, 0x2194c | goto label_51;
| }
0x000209e0 lw s6, -0x7fbc(gp) | s6 = *((gp - 8175));
0x000209e4 move a0, v0 | a0 = v0;
0x000209e8 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x000209ec lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str.temp_par */
0x000209f0 addiu s6, s6, -0x6d64 | s6 += -0x6d64;
| /* str._s__s */
0x000209f4 addiu a3, fp, -0x7280 | a3 = fp + -0x7280;
0x000209f8 addiu a2, zero, 0xe | a2 = 0xe;
0x000209fc addiu a1, zero, 1 | a1 = 1;
0x00020a00 sw s6, 0x14(sp) | *(var_14h) = s6;
0x00020a04 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00020a08 jalr t9 | t9 ();
0x00020a0c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020a10 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00020a14 move a0, s7 | a0 = s7;
0x00020a18 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x00020a1c addiu a1, v0, 0x68e0 | a1 = v0 + 0x68e0;
0x00020a20 jalr t9 | t9 ();
0x00020a24 move s5, v0 | s5 = v0;
0x00020a28 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020a2c beqz v0, 0x2199c | goto label_52;
| }
0x00020a30 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00020a34 lw v0, (s4) | v0 = *(s4);
0x00020a38 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00020a3c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* esilref: '[&s' */
0x00020a40 addiu a3, a3, -0x6f94 | a3 += -0x6f94;
0x00020a44 addiu a2, zero, -1 | a2 = -1;
0x00020a48 addiu a1, zero, 1 | a1 = 1;
0x00020a4c move a0, s1 | a0 = s1;
0x00020a50 jalr t9 | t9 ();
0x00020a54 lw fp, 4(s4) | fp = *((s4 + 1));
0x00020a58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp == 0) {
0x00020a5c beqz fp, 0x2175c | goto label_53;
| }
0x00020a60 addiu s4, s4, 8 | s4 += 8;
0x00020a64 move s3, zero | s3 = 0;
0x00020a68 addiu s2, zero, 0x2e | s2 = 0x2e;
0x00020a6c b 0x20aa8 |
| while (v0 != 0) {
0x00020a70 move a0, s1 | a0 = s1;
0x00020a74 jalr t9 | t9 ();
0x00020a78 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020a7c addu v1, s1, v0 | v1 = s1 + v0;
0x00020a80 addiu v0, v0, 1 | v0++;
0x00020a84 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x00020a88 addiu s4, s4, 4 | s4 += 4;
0x00020a8c move a1, fp | a1 = fp;
0x00020a90 sb s2, (v1) | *(v1) = s2;
0x00020a94 addu a0, s1, v0 | a0 = s1 + v0;
0x00020a98 jalr t9 | t9 ();
0x00020a9c lw fp, -4(s4) | fp = *((s4 - 1));
0x00020aa0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp == 0) {
0x00020aa4 beqz fp, 0x20ac8 | goto label_29;
| }
0x00020aa8 lw v0, (s4) | v0 = *(s4);
| label_0:
0x00020aac lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020ab0 bnez v0, 0x20a70 |
| }
0x00020ab4 addiu s4, s4, 4 | s4 += 4;
0x00020ab8 move s3, fp | s3 = fp;
0x00020abc lw fp, -4(s4) | fp = *((s4 - 1));
0x00020ac0 lw v0, (s4) | v0 = *(s4);
| if (fp == 0) {
0x00020ac4 bnel fp, zero, 0x20aac | goto label_0;
| }
| label_29:
0x00020ac8 addiu s4, s1, 1 | s4 = s1 + 1;
0x00020acc lw t9, 0x50(sp) | t9 = *(var_50h);
0x00020ad0 move a0, s4 | a0 = s4;
0x00020ad4 jalr t9 | t9 ();
0x00020ad8 move fp, v0 | fp = v0;
0x00020adc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020ae0 beqz v0, 0x21594 | goto label_54;
| }
0x00020ae4 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00020ae8 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00020aec lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x00020af0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x00020af4 addiu a1, a1, -0x6754 | a1 += -0x6754;
0x00020af8 jalr t9 | t9 ();
0x00020afc move s2, v0 | s2 = v0;
0x00020b00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020b04 beqz v0, 0x21630 | goto label_55;
| }
0x00020b08 lw v0, 0xc(fp) | v0 = *(arg_ch);
0x00020b0c sw v0, 0x38(sp) | *(var_38h) = v0;
| label_26:
0x00020b10 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020b14 move a0, s1 | a0 = s1;
0x00020b18 jalr t9 | t9 ();
0x00020b1c addu v1, s1, v0 | v1 = s1 + v0;
0x00020b20 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020b24 addiu v0, v0, 1 | v0++;
0x00020b28 addiu a0, zero, 0x2e | a0 = 0x2e;
0x00020b2c sb a0, (v1) | *(v1) = a0;
0x00020b30 addu a0, s1, v0 | a0 = s1 + v0;
0x00020b34 lw v0, 0x78(sp) | v0 = *(var_78h);
0x00020b38 lw t9, -0x7bb8(gp) | t9 = sym.imp.stpcpy;
0x00020b3c move a1, s3 | a1 = s3;
0x00020b40 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00020b44 jalr t9 | t9 ();
0x00020b48 subu s4, v0, s1 | __asm ("subu s4, v0, s1");
0x00020b4c addiu fp, sp, 0x74 | fp = sp + 0x74;
0x00020b50 addiu s3, zero, 0x5d | s3 = 0x5d;
| do {
| label_16:
0x00020b54 lw t9, 0x28(sp) | t9 = *(var_28h);
0x00020b58 move a1, s0 | a1 = s0;
0x00020b5c move a2, fp | a2 = fp;
0x00020b60 move a0, s2 | a0 = s2;
0x00020b64 jalr t9 | t9 ();
0x00020b68 move s0, v0 | s0 = v0;
0x00020b6c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020b70 beqz v0, 0x214d0 | goto label_56;
| }
0x00020b74 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x00020b78 move a1, s1 | a1 = s1;
0x00020b7c move a0, s0 | a0 = s0;
0x00020b80 jalr t9 | t9 ();
0x00020b84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00020b88 beqz v0, 0x20ba4 |
0x00020b8c addu v0, v0, s4 | v0 += s4;
0x00020b90 lb v0, (v0) | v0 = *(v0);
0x00020b94 addiu v1, zero, 0x2e | v1 = 0x2e;
| if (v0 == s3) {
0x00020b98 beq v0, s3, 0x213cc | goto label_57;
| }
| if (v0 == v1) {
0x00020b9c beql v0, v1, 0x213d0 | goto label_58;
| }
0x00020ba0 addiu s6, zero, 0x2e | s6 = 0x2e;
| }
| label_18:
0x00020ba4 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| label_20:
0x00020ba8 move a1, s5 | a1 = s5;
0x00020bac move a0, s0 | a0 = s0;
0x00020bb0 jalr t9 | t9 ();
0x00020bb4 addiu v1, zero, -1 | v1 = -1;
0x00020bb8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020bbc bne v0, v1, 0x20b54 |
| } while (v0 != v1);
0x00020bc0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020bc4 move a0, s2 | a0 = s2;
0x00020bc8 jalr t9 | t9 ();
0x00020bcc lw gp, 0x20(sp) | gp = *(var_20h);
0x00020bd0 lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x00020bd4 move a0, s5 | a0 = s5;
0x00020bd8 jalr t9 | t9 ();
0x00020bdc lw gp, 0x20(sp) | gp = *(var_20h);
0x00020be0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020be4 move a0, s5 | a0 = s5;
0x00020be8 jalr t9 | t9 ();
0x00020bec lw gp, 0x20(sp) | gp = *(var_20h);
0x00020bf0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020bf4 move a0, s1 | a0 = s1;
0x00020bf8 jalr t9 | t9 ();
0x00020bfc lw gp, 0x20(sp) | gp = *(var_20h);
0x00020c00 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00020c04 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00020c08 jalr t9 | t9 ();
0x00020c0c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020c10 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00020c14 move a0, s7 | a0 = s7;
0x00020c18 jalr t9 | t9 ();
0x00020c1c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020c20 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00020c24 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00020c28 b 0x2127c | goto label_27;
| label_4:
0x00020c2c move a0, s7 | a0 = s7;
0x00020c30 jalr t9 | t9 ();
0x00020c34 addu v0, s7, v0 | v0 = s7 + v0;
0x00020c38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020c3c sb s5, (v0) | *(v0) = s5;
0x00020c40 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00020c44 lw t9, -0x7ce0(gp) | t9 = sym.imp.strcat;
| label_3:
0x00020c48 move a1, s6 | a1 = s6;
0x00020c4c move a0, s7 | a0 = s7;
0x00020c50 jalr t9 | t9 ();
0x00020c54 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020c58 addiu s0, s0, 4 | s0 += 4;
| label_2:
0x00020c5c lw s6, -4(s0) | s6 = *((s0 - 1));
0x00020c60 addiu s3, s3, 1 | s3++;
| if (s6 == 0) {
0x00020c64 beqz s6, 0x207d0 | goto label_1;
| }
| label_43:
0x00020c68 lw v0, (s0) | v0 = *(s0);
| if (v0 == 0) {
0x00020c6c beql v0, zero, 0x20c5c | goto label_2;
| }
0x00020c70 addiu s0, s0, 4 | s0 += 4;
| if (s3 == 0) {
0x00020c74 beql s3, zero, 0x20c48 | goto label_3;
| }
0x00020c78 lw t9, -0x7ce0(gp) | t9 = sym.imp.strcat;
0x00020c7c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020c80 b 0x20c2c | goto label_4;
| label_39:
0x00020c84 addiu v0, zero, 1 | v0 = 1;
0x00020c88 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00020c8c sw v0, 0x80(sp) | *(var_80h) = v0;
0x00020c90 move s7, zero | s7 = 0;
| label_23:
0x00020c94 addiu s0, s1, 4 | s0 = s1 + 4;
0x00020c98 move s2, zero | s2 = 0;
| do {
0x00020c9c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020ca0 addiu s0, s0, 4 | s0 += 4;
0x00020ca4 jalr t9 | t9 ();
0x00020ca8 lw a0, -4(s0) | a0 = *((s0 - 1));
0x00020cac addiu v0, v0, 1 | v0++;
0x00020cb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020cb4 addu s2, s2, v0 | s2 += v0;
0x00020cb8 bnez a0, 0x20c9c |
| } while (a0 != 0);
| label_24:
0x00020cbc lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00020cc0 move a0, s2 | a0 = s2;
0x00020cc4 jalr t9 | t9 ();
0x00020cc8 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00020ccc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020cd0 beqz v0, 0x218ec | goto label_59;
| }
0x00020cd4 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00020cd8 sb zero, (s3) | *(s3) = 0;
0x00020cdc lw s2, (s1) | s2 = *(s1);
0x00020ce0 addiu s1, s1, 4 | s1 += 4;
| if (s2 == 0) {
0x00020ce4 beqz s2, 0x21460 | goto label_60;
| }
0x00020ce8 addiu s0, zero, 0x2e | s0 = 0x2e;
0x00020cec lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| do {
0x00020cf0 move a0, s3 | a0 = s3;
0x00020cf4 jalr t9 | t9 ();
0x00020cf8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020cfc move a1, s2 | a1 = s2;
0x00020d00 lw t9, -0x7bb8(gp) | t9 = sym.imp.stpcpy;
0x00020d04 addu a0, s3, v0 | a0 = s3 + v0;
0x00020d08 jalr t9 | t9 ();
0x00020d0c lw s2, (s1) | s2 = *(s1);
0x00020d10 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 == 0) {
0x00020d14 beqz s2, 0x21460 | goto label_60;
| }
0x00020d18 addiu s1, s1, 4 | s1 += 4;
0x00020d1c lw v1, (s1) | v1 = *(s1);
0x00020d20 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| if (v1 == 0) {
0x00020d24 beqz v1, 0x20d34 | goto label_61;
| }
0x00020d28 sb s0, (v0) | *(v0) = s0;
0x00020d2c sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00020d30 b 0x20cf0 |
| } while (1);
| label_61:
0x00020d34 move a0, s2 | a0 = s2;
0x00020d38 jalr t9 | t9 ();
0x00020d3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020d40 move a0, v0 | a0 = v0;
| label_22:
0x00020d44 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00020d48 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
| /* fcn.0001d93c */
0x00020d4c addiu v0, v0, -0x26c4 | v0 += -0x26c4;
0x00020d50 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00020d54 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00020d58 sw v1, 0x38(sp) | *(var_38h) = v1;
| /* str..conf */
0x00020d5c addiu v0, v0, -0x6f50 | v0 += -0x6f50;
0x00020d60 sw v0, 0x50(sp) | *(var_50h) = v0;
0x00020d64 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00020d68 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
| /* fcn.0001d0dc */
0x00020d6c addiu v0, v0, -0x2f24 | v0 += -0x2f24;
0x00020d70 sw v1, 0x48(sp) | *(var_48h) = v1;
0x00020d74 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00020d78 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
0x00020d7c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00020d80 sw v1, 0x64(sp) | *(var_64h) = v1;
0x00020d84 addiu s6, sp, 0x78 | s6 = sp + 0x78;
0x00020d88 addiu v1, sp, 0x7c | v1 = sp + 0x7c;
| /* esilref: '..' */
0x00020d8c addiu v0, v0, -0x6f44 | v0 += -0x6f44;
0x00020d90 sw s7, 0x60(sp) | *(var_60h) = s7;
0x00020d94 addiu s3, sp, 0x84 | s3 = sp + 0x84;
0x00020d98 move a2, zero | a2 = 0;
0x00020d9c sw v0, 0x58(sp) | *(var_58h) = v0;
0x00020da0 move s7, v1 | s7 = v1;
0x00020da4 move fp, a0 | fp = a0;
0x00020da8 sw s6, 0x5c(sp) | *(var_5ch) = s6;
| label_8:
0x00020dac lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00020db0 lw a0, 0x28(sp) | a0 = *(var_28h);
0x00020db4 lw t9, 0x4c(sp) | t9 = *(var_4ch);
0x00020db8 addiu a3, zero, 1 | a3 = 1;
0x00020dbc sw zero, 0x78(sp) | *(var_78h) = 0;
0x00020dc0 jalr t9 | t9 ();
0x00020dc4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00020dc8 beqz v0, 0x20ddc |
0x00020dcc lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020dd0 move a0, v0 | a0 = v0;
0x00020dd4 jalr t9 | t9 ();
0x00020dd8 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00020ddc lw s0, 0x78(sp) | s0 = *(var_78h);
0x00020de0 lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
0x00020de4 addiu a1, zero, 0x2f | a1 = 0x2f;
0x00020de8 move a0, s0 | a0 = s0;
0x00020dec jalr t9 | t9 ();
0x00020df0 addiu fp, fp, 1 | fp++;
0x00020df4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020df8 beqz v0, 0x21168 | goto label_62;
| }
0x00020dfc lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020e00 addiu s0, v0, 1 | s0 = v0 + 1;
0x00020e04 move a0, s0 | a0 = s0;
0x00020e08 sb zero, (v0) | *(v0) = 0;
0x00020e0c jalr t9 | t9 ();
0x00020e10 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020e14 addu a0, v0, fp | a0 = v0 + fp;
0x00020e18 move s5, v0 | s5 = v0;
0x00020e1c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00020e20 lw s4, 0x78(sp) | s4 = *(var_78h);
0x00020e24 jalr t9 | t9 ();
0x00020e28 move s1, v0 | s1 = v0;
0x00020e2c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020e30 beqz v0, 0x216bc | goto label_63;
| }
0x00020e34 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x00020e38 addiu a2, s5, 1 | a2 = s5 + 1;
0x00020e3c move a1, s0 | a1 = s0;
0x00020e40 move a0, v0 | a0 = v0;
0x00020e44 jalr t9 | t9 ();
0x00020e48 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020e4c lw t9, -0x7c04(gp) | t9 = sym.imp.opendir;
0x00020e50 move a0, s4 | a0 = s4;
0x00020e54 jalr t9 | t9 ();
0x00020e58 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020e5c move s5, v0 | s5 = v0;
| label_10:
0x00020e60 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
| if (s5 == 0) {
0x00020e64 beqz s5, 0x216f8 | goto label_64;
| }
0x00020e68 lw a1, 0x50(sp) | a1 = *(var_50h);
0x00020e6c move a0, s1 | a0 = s1;
0x00020e70 jalr t9 | t9 ();
0x00020e74 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020e78 beqz v0, 0x21744 | goto label_65;
| }
0x00020e7c lw v1, 0x64(sp) | v1 = *(var_64h);
| if (s2 == 0) {
0x00020e80 beqz s2, 0x21160 | goto label_66;
| }
0x00020e84 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00020e88 sw s2, 0x10(sp) | *(var_10h) = s2;
0x00020e8c addiu a3, v1, -0x6f48 | a3 = v1 + -0x6f48;
0x00020e90 addiu a2, zero, -1 | a2 = -1;
0x00020e94 addiu a1, zero, 1 | a1 = 1;
0x00020e98 move a0, v0 | a0 = v0;
0x00020e9c jalr t9 | t9 ();
| label_9:
0x00020ea0 lw t9, 0x54(sp) | t9 = *(var_54h);
0x00020ea4 move a0, s1 | a0 = s1;
0x00020ea8 jalr t9 | t9 ();
0x00020eac lw gp, 0x20(sp) | gp = *(var_20h);
0x00020eb0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020eb4 move a0, s1 | a0 = s1;
0x00020eb8 jalr t9 | t9 ();
0x00020ebc move fp, v0 | fp = v0;
0x00020ec0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020ec4 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00020ec8 addiu v0, v0, -0x6f34 | v0 += -0x6f34;
0x00020ecc sw v0, 0x40(sp) | *(var_40h) = v0;
0x00020ed0 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00020ed4 sw v0, 0x44(sp) | *(var_44h) = v0;
| do {
| label_5:
0x00020ed8 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
| label_7:
0x00020edc move a0, s5 | a0 = s5;
0x00020ee0 jalr t9 | t9 ();
0x00020ee4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020ee8 beqz v0, 0x20ffc | goto label_21;
| }
| label_6:
0x00020eec lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x00020ef0 addiu s0, v0, 0xb | s0 = v0 + 0xb;
0x00020ef4 lw a1, 0x40(sp) | a1 = *(var_40h);
0x00020ef8 move a0, s0 | a0 = s0;
0x00020efc jalr t9 | t9 ();
0x00020f00 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020f04 beqz v0, 0x20ed8 |
| } while (v0 == 0);
0x00020f08 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x00020f0c lw a1, 0x58(sp) | a1 = *(var_58h);
0x00020f10 move a0, s0 | a0 = s0;
0x00020f14 jalr t9 | t9 ();
0x00020f18 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020f1c beqz v0, 0x20ed8 | goto label_5;
| }
0x00020f20 lw t9, -0x7d04(gp) | t9 = sym.imp.strncmp;
0x00020f24 move a2, fp | a2 = fp;
0x00020f28 move a1, s0 | a1 = s0;
0x00020f2c move a0, s1 | a0 = s1;
0x00020f30 jalr t9 | t9 ();
0x00020f34 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00020f38 bnez v0, 0x20ed8 | goto label_5;
| }
0x00020f3c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| if (s4 == 0) {
0x00020f40 beqz s4, 0x21114 | goto label_67;
| }
0x00020f44 move a0, s4 | a0 = s4;
0x00020f48 jalr t9 | t9 ();
0x00020f4c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020f50 move a0, s0 | a0 = s0;
0x00020f54 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00020f58 move s6, v0 | s6 = v0;
0x00020f5c jalr t9 | t9 ();
0x00020f60 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020f64 addu v0, s6, v0 | v0 = s6 + v0;
0x00020f68 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00020f6c addiu a0, v0, 2 | a0 = v0 + 2;
0x00020f70 jalr t9 | t9 ();
0x00020f74 move s6, v0 | s6 = v0;
0x00020f78 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020f7c beqz v0, 0x21438 | goto label_68;
| }
0x00020f80 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00020f84 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00020f88 addiu a3, v0, -0x7280 | a3 = v0 + -0x7280;
0x00020f8c addiu a2, zero, -1 | a2 = -1;
0x00020f90 addiu a1, zero, 1 | a1 = 1;
0x00020f94 move a0, s6 | a0 = s6;
0x00020f98 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00020f9c sw s4, 0x10(sp) | *(var_10h) = s4;
0x00020fa0 jalr t9 | t9 ();
0x00020fa4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020fa8 move a2, s3 | a2 = s3;
0x00020fac move a1, s6 | a1 = s6;
0x00020fb0 lw t9, -0x7b50(gp) | t9 = sym.imp.__xstat;
0x00020fb4 addiu a0, zero, 3 | a0 = 3;
0x00020fb8 jalr t9 | t9 ();
0x00020fbc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00020fc0 bnez v0, 0x20fd8 |
0x00020fc4 lw v0, 0x98(sp) | v0 = *(var_98h);
0x00020fc8 ori v1, zero, 0x8000 | v1 = 0x8000;
0x00020fcc andi v0, v0, 0xf000 | v0 &= 0xf000;
0x00020fd0 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
| if (v0 == v1) {
0x00020fd4 beq v0, v1, 0x212a4 | goto label_69;
| }
| }
| label_13:
0x00020fd8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020fdc move a0, s6 | a0 = s6;
0x00020fe0 jalr t9 | t9 ();
0x00020fe4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020fe8 lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
0x00020fec move a0, s5 | a0 = s5;
0x00020ff0 jalr t9 | t9 ();
0x00020ff4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00020ff8 bnez v0, 0x20eec | goto label_6;
| }
| label_21:
0x00020ffc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021000 lw a0, 0x78(sp) | a0 = *(var_78h);
0x00021004 addiu s7, s7, 4 | s7 += 4;
0x00021008 jalr t9 | t9 ();
0x0002100c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021010 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021014 move a0, s1 | a0 = s1;
0x00021018 jalr t9 | t9 ();
0x0002101c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021020 lw t9, -0x7c8c(gp) | t9 = sym.imp.closedir;
0x00021024 move a0, s5 | a0 = s5;
0x00021028 jalr t9 | t9 ();
0x0002102c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 != s7) {
0x00021030 bne s3, s7, 0x21158 | goto label_70;
| }
0x00021034 lw s7, 0x60(sp) | s7 = *(var_60h);
| label_28:
0x00021038 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002103c lw a0, 0x28(sp) | a0 = *(var_28h);
0x00021040 jalr t9 | t9 ();
0x00021044 lw gp, 0x20(sp) | gp = *(var_20h);
| label_34:
0x00021048 lw v0, 0x1c4(sp) | v0 = *(arg_1c4h);
0x0002104c sltiu v0, v0, 9 | v0 = (v0 < 9) ? 1 : 0;
0x00021050 lw t9, -0x7da0(gp) | t9 = sym.map_removeGroupByPath;
| if (v0 != 0) {
0x00021054 bnez v0, 0x211cc | goto label_71;
| }
0x00021058 lw a2, 0x1c4(sp) | a2 = *(arg_1c4h);
0x0002105c lw a0, 0x34(sp) | a0 = *(var_34h);
0x00021060 addiu a1, zero, 1 | a1 = 1;
0x00021064 bal 0x8250 | sym_map_removeGroupByPath ();
0x00021068 lw gp, 0x20(sp) | gp = *(var_20h);
| label_11:
0x0002106c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00021070 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00021074 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
0x00021078 lw a2, 0x34(sp) | a2 = *(var_34h);
| /* str.Deleted__s. */
0x0002107c addiu a1, a1, -0x6f40 | a1 += -0x6f40;
0x00021080 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021084 bal 0x19b04 | sym_loginfo ();
0x00021088 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002108c move s0, zero | s0 = 0;
| label_12:
0x00021090 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021094 lw a0, 0x68(sp) | a0 = *(var_68h);
0x00021098 jalr t9 | t9 ();
0x0002109c lw gp, 0x20(sp) | gp = *(var_20h);
0x000210a0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000210a4 lw a0, 0x30(sp) | a0 = *(var_30h);
0x000210a8 jalr t9 | t9 ();
0x000210ac lw gp, 0x20(sp) | gp = *(var_20h);
0x000210b0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000210b4 move a0, s7 | a0 = s7;
0x000210b8 jalr t9 | t9 ();
0x000210bc lw gp, 0x20(sp) | gp = *(var_20h);
0x000210c0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000210c4 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000210c8 jalr t9 | t9 ();
0x000210cc lw gp, 0x20(sp) | gp = *(var_20h);
| label_30:
0x000210d0 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000210d4 lw a0, 0x194(sp) | a0 = *(var_194h);
0x000210d8 lw v1, (v0) | v1 = *(v0);
0x000210dc move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x000210e0 bne a0, v1, 0x21a74 | goto label_72;
| }
0x000210e4 lw ra, 0x1bc(sp) | ra = *(var_1bch);
0x000210e8 lw fp, 0x1b8(sp) | fp = *(var_1b8h);
0x000210ec lw s7, 0x1b4(sp) | s7 = *(var_1b4h);
0x000210f0 lw s6, 0x1b0(sp) | s6 = *(var_1b0h);
0x000210f4 lw s5, 0x1ac(sp) | s5 = *(var_1ach);
0x000210f8 lw s4, 0x1a8(sp) | s4 = *(var_1a8h);
0x000210fc lw s3, 0x1a4(sp) | s3 = *(var_1a4h);
0x00021100 lw s2, 0x1a0(sp) | s2 = *(var_1a0h);
0x00021104 lw s1, 0x19c(sp) | s1 = *(var_19ch);
0x00021108 lw s0, 0x198(sp) | s0 = *(var_198h);
0x0002110c addiu sp, sp, 0x1c0 |
0x00021110 jr ra | return v0;
| label_67:
0x00021114 lw t9, -0x7b50(gp) | t9 = sym.imp.__xstat;
0x00021118 move a2, s3 | a2 = s3;
0x0002111c move a1, s0 | a1 = s0;
0x00021120 addiu a0, zero, 3 | a0 = 3;
0x00021124 jalr t9 | t9 ();
0x00021128 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0002112c bnez v0, 0x20ed8 | goto label_5;
| }
0x00021130 lw v0, 0x98(sp) | v0 = *(var_98h);
0x00021134 ori v1, zero, 0x8000 | v1 = 0x8000;
0x00021138 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0002113c lw t9, -0x7bdc(gp) | t9 = sym.imp.readdir;
| if (v0 != v1) {
0x00021140 bne v0, v1, 0x20edc | goto label_7;
| }
0x00021144 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00021148 move a0, s0 | a0 = s0;
0x0002114c jalr t9 | t9 ();
0x00021150 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021154 b 0x20ed8 | goto label_5;
| label_70:
0x00021158 lw a2, (s7) | a2 = *(s7);
0x0002115c b 0x20dac | goto label_8;
| label_66:
0x00021160 sb zero, (v0) | *(v0) = 0;
0x00021164 b 0x20ea0 | goto label_9;
| label_62:
0x00021168 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0002116c move a0, s0 | a0 = s0;
0x00021170 jalr t9 | t9 ();
0x00021174 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021178 addu a0, v0, fp | a0 = v0 + fp;
0x0002117c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00021180 move s4, v0 | s4 = v0;
0x00021184 jalr t9 | t9 ();
0x00021188 move s1, v0 | s1 = v0;
0x0002118c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021190 beqz v0, 0x216bc | goto label_63;
| }
0x00021194 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x00021198 addiu a2, s4, 1 | a2 = s4 + 1;
0x0002119c move a1, s0 | a1 = s0;
0x000211a0 move a0, v0 | a0 = v0;
0x000211a4 jalr t9 | t9 ();
0x000211a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000211ac lw v0, 0x48(sp) | v0 = *(var_48h);
0x000211b0 move s4, zero | s4 = 0;
0x000211b4 lw t9, -0x7c04(gp) | t9 = sym.imp.opendir;
0x000211b8 addiu a0, v0, -0x6f34 | a0 = v0 + -0x6f34;
0x000211bc jalr t9 | t9 ();
0x000211c0 move s5, v0 | s5 = v0;
0x000211c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000211c8 b 0x20e60 | goto label_10;
| label_71:
0x000211cc lw a0, 0x34(sp) | a0 = *(var_34h);
0x000211d0 addiu a2, zero, 0xa | a2 = 0xa;
0x000211d4 addiu a1, zero, 1 | a1 = 1;
0x000211d8 bal 0x8250 | sym_map_removeGroupByPath ();
0x000211dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000211e0 b 0x2106c | goto label_11;
| label_48:
0x000211e4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000211e8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000211ec lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000211f0 move s0, s1 | s0 = s1;
0x000211f4 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x000211f8 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x000211fc move a3, s1 | a3 = s1;
| /* str.remove_group_file */
0x00021200 addiu a2, a2, -0x6e8c | a2 += -0x6e8c;
| /* str._s__fputs___failed_to_put_line_in_file__s. */
0x00021204 addiu a1, a1, -0x6fc4 | a1 += -0x6fc4;
| /* str.dynamic.c */
0x00021208 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0002120c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00021210 bal 0x19b80 | sym_logerr ();
0x00021214 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021218 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002121c move a0, s0 | a0 = s0;
0x00021220 jalr t9 | t9 ();
0x00021224 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021228 move a0, s7 | a0 = s7;
0x0002122c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021230 move s7, zero | s7 = 0;
0x00021234 jalr t9 | t9 ();
0x00021238 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002123c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021240 move a0, s3 | a0 = s3;
0x00021244 jalr t9 | t9 ();
0x00021248 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002124c lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x00021250 move a0, s2 | a0 = s2;
0x00021254 jalr t9 | t9 ();
0x00021258 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002125c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021260 move a0, s2 | a0 = s2;
0x00021264 jalr t9 | t9 ();
0x00021268 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002126c lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00021270 move a0, s1 | a0 = s1;
0x00021274 jalr t9 | t9 ();
0x00021278 lw gp, 0x20(sp) | gp = *(var_20h);
| label_27:
0x0002127c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00021280 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00021284 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00021288 lw a2, 0x34(sp) | a2 = *(var_34h);
| /* str.delete_group__s_failed_ */
0x0002128c addiu a1, a1, -0x6f90 | a1 += -0x6f90;
0x00021290 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021294 bal 0x19b80 | sym_logerr ();
0x00021298 addiu s0, zero, -1 | s0 = -1;
0x0002129c lw gp, 0x20(sp) | gp = *(var_20h);
0x000212a0 b 0x21090 | goto label_12;
| label_69:
0x000212a4 move a0, s6 | a0 = s6;
0x000212a8 jalr t9 | t9 ();
0x000212ac lw gp, 0x20(sp) | gp = *(var_20h);
0x000212b0 b 0x20fd8 | goto label_13;
| label_47:
0x000212b4 lw v0, 0x44(sp) | v0 = *(var_44h);
0x000212b8 sll a2, v0, 2 | a2 = v0 << 2;
0x000212bc lw v0, -0x7fac(gp) | v0 = *(gp);
0x000212c0 addu a2, s0, a2 | a2 = s0 + a2;
0x000212c4 sw a2, 0x60(sp) | *(var_60h) = a2;
0x000212c8 lw v0, (v0) | v0 = *(v0);
0x000212cc lw a1, (a2) | a1 = *(a2);
| if (v0 == 0) {
0x000212d0 beqz v0, 0x213ac | goto label_73;
| }
0x000212d4 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x000212d8 lw a0, 0x48(sp) | a0 = *(var_48h);
0x000212dc jalr t9 | t9 ();
0x000212e0 sw zero, 0x74(sp) | *(var_74h) = 0;
| if (v0 == 0) {
0x000212e4 bnel v0, zero, 0x213c4 | goto label_74;
| }
0x000212e8 lw a2, 0x60(sp) | a2 = *(var_60h);
| do {
0x000212ec lw v1, 0x44(sp) | v1 = *(var_44h);
0x000212f0 lw v0, 4(a2) | v0 = *((a2 + 1));
0x000212f4 addiu v1, v1, 1 | v1++;
0x000212f8 sw v1, 0x44(sp) | *(var_44h) = v1;
| if (v0 == 0) {
0x000212fc beqz v0, 0x217a4 | goto label_75;
| }
0x00021300 addiu v0, zero, -1 | v0 = -1;
0x00021304 sw v0, 0x70(sp) | *(var_70h) = v0;
0x00021308 sw zero, 0x74(sp) | *(var_74h) = 0;
0x0002130c b 0x208d4 | goto label_14;
| label_44:
0x00021310 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00021314 addiu a3, zero, 1 | a3 = 1;
0x00021318 move a2, zero | a2 = 0;
0x0002131c addiu a1, sp, 0x78 | a1 = sp + 0x78;
| /* fcn.0001d93c */
0x00021320 addiu t9, v0, -0x26c4 | t9 = v0 + -0x26c4;
0x00021324 move a0, s7 | a0 = s7;
0x00021328 bal 0x1d93c | fcn_0001d93c ();
0x0002132c move s3, v0 | s3 = v0;
0x00021330 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021334 beqz v0, 0x21468 | goto label_45;
| }
0x00021338 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0002133c move a0, s7 | a0 = s7;
0x00021340 jalr t9 | t9 ();
0x00021344 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021348 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0002134c addiu a0, v0, 0xf | a0 = v0 + 0xf;
0x00021350 jalr t9 | t9 ();
0x00021354 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00021358 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0002135c beqz v0, 0x21a00 | goto label_76;
| }
0x00021360 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00021364 lw s0, 0x58(sp) | s0 = *(var_58h);
0x00021368 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0002136c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._s__s__s */
0x00021370 addiu a3, a3, -0x72c4 | a3 += -0x72c4;
0x00021374 addiu a2, zero, -1 | a2 = -1;
0x00021378 addiu a1, zero, 1 | a1 = 1;
0x0002137c move a0, s0 | a0 = s0;
0x00021380 sw s4, 0x18(sp) | *(var_18h) = s4;
0x00021384 sw s7, 0x14(sp) | *(var_14h) = s7;
0x00021388 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002138c jalr t9 | t9 ();
0x00021390 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021394 lw t9, -0x7fc4(gp) | t9 = *(gp);
| /* fcn.0001d0dc */
0x00021398 addiu t9, t9, -0x2f24 | t9 += -0x2f24;
0x0002139c move a0, s0 | a0 = s0;
0x000213a0 bal 0x1d0dc | fcn_0001d0dc ();
0x000213a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000213a8 b 0x2081c | goto label_15;
| label_73:
0x000213ac lw t9, -0x7c78(gp) | t9 = sym.imp.strcasecmp;
0x000213b0 lw a0, 0x48(sp) | a0 = *(var_48h);
0x000213b4 jalr t9 | t9 ();
0x000213b8 lw a2, 0x60(sp) | a2 = *(var_60h);
0x000213bc beqz v0, 0x212ec |
| } while (v0 == 0);
0x000213c0 sw zero, 0x74(sp) | *(var_74h) = 0;
| label_74:
0x000213c4 sw zero, 0x70(sp) | *(var_70h) = 0;
0x000213c8 b 0x208d4 | goto label_14;
| label_57:
0x000213cc addiu s6, zero, 0x2e | s6 = 0x2e;
| label_58:
0x000213d0 lw t9, 0x28(sp) | t9 = *(var_28h);
| label_17:
0x000213d4 move a1, s0 | a1 = s0;
| label_19:
0x000213d8 move a2, fp | a2 = fp;
0x000213dc move a0, s2 | a0 = s2;
0x000213e0 jalr t9 | t9 ();
0x000213e4 move s0, v0 | s0 = v0;
0x000213e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000213ec beqz v0, 0x20b54 | goto label_16;
| }
0x000213f0 lb v0, (s0) | v0 = *(s0);
0x000213f4 addiu v1, zero, 0x5b | v1 = 0x5b;
0x000213f8 lw t9, 0x28(sp) | t9 = *(var_28h);
| if (v0 != v1) {
0x000213fc bne v0, v1, 0x213d4 | goto label_17;
| }
0x00021400 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x00021404 move a1, s1 | a1 = s1;
0x00021408 move a0, s0 | a0 = s0;
0x0002140c jalr t9 | t9 ();
0x00021410 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021414 beqz v0, 0x20ba4 | goto label_18;
| }
0x00021418 addu v0, v0, s4 | v0 += s4;
0x0002141c lb v0, (v0) | v0 = *(v0);
0x00021420 lw t9, 0x28(sp) | t9 = *(var_28h);
| if (v0 == s3) {
0x00021424 beq v0, s3, 0x213d4 | goto label_17;
| }
0x00021428 move a1, s0 | a1 = s0;
| if (v0 == s6) {
0x0002142c beq v0, s6, 0x213d8 | goto label_19;
| }
0x00021430 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
0x00021434 b 0x20ba8 | goto label_20;
| label_68:
0x00021438 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0002143c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021440 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00021444 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.remove_dependant_files */
0x00021448 addiu a2, a2, -0x6eb8 | a2 += -0x6eb8;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0002144c addiu a1, a1, 0x6404 | a1 += 0x6404;
0x00021450 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021454 bal 0x199c0 | sym_fatald ();
0x00021458 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002145c b 0x20ffc | goto label_21;
| label_60:
0x00021460 move a0, zero | a0 = 0;
0x00021464 b 0x20d44 | goto label_22;
| label_45:
0x00021468 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002146c move a0, s7 | a0 = s7;
0x00021470 jalr t9 | t9 ();
0x00021474 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021478 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0002147c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021480 move s7, zero | s7 = 0;
0x00021484 jalr t9 | t9 ();
0x00021488 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002148c lw a0, 0x78(sp) | a0 = *(var_78h);
0x00021490 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021494 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00021498 jalr t9 | t9 ();
0x0002149c lw gp, 0x20(sp) | gp = *(var_20h);
0x000214a0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x000214a4 move a0, s2 | a0 = s2;
0x000214a8 jalr t9 | t9 ();
0x000214ac lw s1, 0x68(sp) | s1 = *(var_68h);
0x000214b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000214b4 lw a0, (s1) | a0 = *(s1);
| label_25:
0x000214b8 addiu v0, zero, 1 | v0 = 1;
0x000214bc sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x000214c0 sw v0, 0x80(sp) | *(var_80h) = v0;
| if (a0 != 0) {
0x000214c4 bnez a0, 0x20c94 | goto label_23;
| }
0x000214c8 move s2, zero | s2 = 0;
0x000214cc b 0x20cbc | goto label_24;
| label_56:
0x000214d0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x000214d4 move a0, s2 | a0 = s2;
0x000214d8 jalr t9 | t9 ();
0x000214dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000214e0 lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x000214e4 move a0, s5 | a0 = s5;
0x000214e8 jalr t9 | t9 ();
0x000214ec lw gp, 0x20(sp) | gp = *(var_20h);
0x000214f0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x000214f4 move a0, s5 | a0 = s5;
0x000214f8 jalr t9 | t9 ();
0x000214fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00021500 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021504 move a0, s1 | a0 = s1;
0x00021508 jalr t9 | t9 ();
0x0002150c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021510 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x00021514 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00021518 jalr t9 | t9 ();
0x0002151c move s0, v0 | s0 = v0;
0x00021520 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021524 beqz v0, 0x21a80 | goto label_77;
| }
0x00021528 lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
0x0002152c addiu a1, zero, 0x2e | a1 = 0x2e;
0x00021530 move a0, s0 | a0 = s0;
0x00021534 jalr t9 | t9 ();
0x00021538 lw t9, 0x50(sp) | t9 = *(var_50h);
0x0002153c sb zero, (v0) | *(v0) = 0;
0x00021540 move a0, s0 | a0 = s0;
0x00021544 jalr t9 | t9 ();
0x00021548 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002154c beqz v0, 0x21690 |
| while (1) {
0x00021550 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021554 move a0, s0 | a0 = s0;
0x00021558 jalr t9 | t9 ();
0x0002155c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021560 lw a1, 0x58(sp) | a1 = *(var_58h);
0x00021564 lw t9, -0x7f18(gp) | t9 = sym.move_file;
0x00021568 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0002156c bal 0x22d4c | sym_move_file ();
0x00021570 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021574 lw a1, 0x38(sp) | a1 = *(var_38h);
0x00021578 lw t9, -0x7f18(gp) | t9 = sym.move_file;
0x0002157c move a0, s7 | a0 = s7;
0x00021580 bal 0x22d4c | sym_move_file ();
0x00021584 lw s1, 0x68(sp) | s1 = *(var_68h);
0x00021588 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002158c lw a0, (s1) | a0 = *(s1);
0x00021590 b 0x214b8 | goto label_25;
| label_54:
0x00021594 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x00021598 addiu a3, zero, 1 | a3 = 1;
0x0002159c addiu a2, zero, 1 | a2 = 1;
0x000215a0 addiu a1, sp, 0x78 | a1 = sp + 0x78;
| /* fcn.0001d93c */
0x000215a4 addiu t9, v0, -0x26c4 | t9 = v0 + -0x26c4;
0x000215a8 move a0, s4 | a0 = s4;
0x000215ac bal 0x1d93c | fcn_0001d93c ();
0x000215b0 move s2, v0 | s2 = v0;
0x000215b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000215b8 beqz v0, 0x21630 |
0x000215bc lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x000215c0 move a0, s1 | a0 = s1;
0x000215c4 jalr t9 | t9 ();
0x000215c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000215cc lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000215d0 addiu a0, v0, 0xf | a0 = v0 + 0xf;
0x000215d4 jalr t9 | t9 ();
0x000215d8 sw v0, 0x38(sp) | *(var_38h) = v0;
0x000215dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000215e0 beqz v0, 0x21aa8 | goto label_78;
| }
0x000215e4 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x000215e8 lw fp, 0x38(sp) | fp = *(var_38h);
0x000215ec lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x000215f0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._s__s__s */
0x000215f4 addiu a3, a3, -0x72c4 | a3 += -0x72c4;
0x000215f8 addiu a2, zero, -1 | a2 = -1;
0x000215fc addiu a1, zero, 1 | a1 = 1;
0x00021600 move a0, fp | a0 = fp;
0x00021604 sw s6, 0x18(sp) | *(var_18h) = s6;
0x00021608 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0002160c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00021610 jalr t9 | t9 ();
0x00021614 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021618 lw t9, -0x7fc4(gp) | t9 = *(gp);
| /* fcn.0001d0dc */
0x0002161c addiu t9, t9, -0x2f24 | t9 += -0x2f24;
0x00021620 move a0, fp | a0 = fp;
0x00021624 bal 0x1d0dc | fcn_0001d0dc ();
0x00021628 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002162c b 0x20b10 | goto label_26;
| }
| label_55:
0x00021630 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021634 move a0, s5 | a0 = s5;
0x00021638 jalr t9 | t9 ();
0x0002163c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021640 move a0, s7 | a0 = s7;
0x00021644 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021648 move s7, zero | s7 = 0;
0x0002164c jalr t9 | t9 ();
0x00021650 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021654 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021658 move a0, s1 | a0 = s1;
0x0002165c jalr t9 | t9 ();
0x00021660 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021664 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021668 lw a0, 0x78(sp) | a0 = *(var_78h);
0x0002166c jalr t9 | t9 ();
0x00021670 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021674 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00021678 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0002167c jalr t9 | t9 ();
0x00021680 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021684 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00021688 sw v0, 0x38(sp) | *(var_38h) = v0;
0x0002168c b 0x2127c | goto label_27;
0x00021690 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00021694 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00021698 lw a3, 0x58(sp) | a3 = *(var_58h);
0x0002169c lw a2, 0x40(sp) | a2 = *(var_40h);
0x000216a0 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x000216a4 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* fcn.0001de10 */
0x000216a8 addiu t9, t9, -0x21f0 | t9 += -0x21f0;
0x000216ac move a0, s0 | a0 = s0;
0x000216b0 bal 0x1de10 | fcn_0001de10 ();
0x000216b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000216b8 b 0x21550 |
| }
| label_63:
0x000216bc lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000216c0 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000216c4 lw v0, 0x38(sp) | v0 = *(var_38h);
0x000216c8 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x000216cc addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.remove_dependant_files */
0x000216d0 addiu a2, a2, -0x6eb8 | a2 += -0x6eb8;
| /* str.Memory_allocation_failed__in_function__s_. */
0x000216d4 addiu a1, a1, 0x6404 | a1 += 0x6404;
0x000216d8 lw s7, 0x60(sp) | s7 = *(var_60h);
0x000216dc bal 0x199c0 | sym_fatald ();
0x000216e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000216e4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000216e8 lw a0, 0x78(sp) | a0 = *(var_78h);
0x000216ec jalr t9 | t9 ();
0x000216f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000216f4 b 0x21038 | goto label_28;
| label_64:
0x000216f8 lw s7, 0x60(sp) | s7 = *(var_60h);
| if (s4 == 0) {
0x000216fc beqz s4, 0x2176c | goto label_79;
| }
| label_31:
0x00021700 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00021704 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00021708 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0002170c move a2, s4 | a2 = s4;
| /* str.Opening_directory__s_failed:__m */
0x00021710 addiu a1, a1, -0x6f74 | a1 += -0x6f74;
0x00021714 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021718 bal 0x19b80 | sym_logerr ();
0x0002171c lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x00021720 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021724 lw a0, 0x78(sp) | a0 = *(var_78h);
0x00021728 jalr t9 | t9 ();
0x0002172c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021730 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021734 move a0, s1 | a0 = s1;
0x00021738 jalr t9 | t9 ();
0x0002173c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021740 b 0x21038 | goto label_28;
| label_65:
0x00021744 lw t9, -0x7c8c(gp) | t9 = sym.imp.closedir;
0x00021748 move a0, s5 | a0 = s5;
0x0002174c lw s7, 0x60(sp) | s7 = *(var_60h);
0x00021750 jalr t9 | t9 ();
0x00021754 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021758 b 0x21720 |
| } while (1);
| label_53:
0x0002175c move s3, zero | s3 = 0;
0x00021760 b 0x20ac8 | goto label_29;
| label_36:
0x00021764 addiu s0, zero, -1 | s0 = -1;
0x00021768 b 0x210d0 | goto label_30;
| label_79:
0x0002176c lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
| /* esilref: '(' */
0x00021770 addiu s4, s4, -0x6f34 | s4 += -0x6f34;
0x00021774 b 0x21700 | goto label_31;
| label_37:
0x00021778 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0002177c lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021780 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00021784 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.delete_group */
0x00021788 addiu a2, a2, -0x6e78 | a2 += -0x6e78;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0002178c addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021790 addiu a0, a0, -0x741c | a0 += -0x741c;
0x00021794 bal 0x199c0 | sym_fatald ();
0x00021798 addiu s0, zero, -1 | s0 = -1;
0x0002179c lw gp, 0x20(sp) | gp = *(var_20h);
0x000217a0 b 0x210d0 | goto label_30;
| label_75:
0x000217a4 addiu v0, sp, 0x70 | v0 = sp + 0x70;
0x000217a8 addiu s4, sp, 0x74 | s4 = sp + 0x74;
0x000217ac lw t9, 0x38(sp) | t9 = *(var_38h);
0x000217b0 sw v0, 0x48(sp) | *(var_48h) = v0;
0x000217b4 move a2, s4 | a2 = s4;
0x000217b8 move a1, v0 | a1 = v0;
0x000217bc move a0, s1 | a0 = s1;
0x000217c0 sw zero, 0x74(sp) | *(var_74h) = 0;
0x000217c4 sw zero, 0x70(sp) | *(var_70h) = 0;
0x000217c8 jalr t9 | t9 ();
0x000217cc lw t9, 0x28(sp) | t9 = *(var_28h);
| do {
0x000217d0 move a1, s1 | a1 = s1;
| label_32:
0x000217d4 move a2, s5 | a2 = s5;
0x000217d8 move a0, s3 | a0 = s3;
0x000217dc jalr t9 | t9 ();
0x000217e0 lw a1, 0x48(sp) | a1 = *(var_48h);
0x000217e4 lw t9, 0x38(sp) | t9 = *(var_38h);
0x000217e8 move a0, v0 | a0 = v0;
0x000217ec move a2, s4 | a2 = s4;
0x000217f0 move s1, v0 | s1 = v0;
0x000217f4 jalr t9 | t9 ();
0x000217f8 lw v0, 0x74(sp) | v0 = *(var_74h);
0x000217fc lw t9, 0x28(sp) | t9 = *(var_28h);
0x00021800 beqz v0, 0x217d0 |
| } while (v0 == 0);
0x00021804 lw v1, 0x70(sp) | v1 = *(var_70h);
0x00021808 move a1, s1 | a1 = s1;
| if (v0 != v1) {
0x0002180c bne v0, v1, 0x217d4 | goto label_32;
| }
0x00021810 addiu s4, zero, 1 | s4 = 1;
0x00021814 b 0x2090c | goto label_33;
| label_41:
0x00021818 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0002181c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021820 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021824 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.dynamic.c */
0x00021828 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0002182c sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_group_file */
0x00021830 addiu a2, a2, -0x6e8c | a2 += -0x6e8c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021834 addiu a1, a1, 0x6404 | a1 += 0x6404;
0x00021838 bal 0x199c0 | sym_fatald ();
0x0002183c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021840 move a0, s7 | a0 = s7;
0x00021844 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021848 move s7, zero | s7 = 0;
0x0002184c jalr t9 | t9 ();
0x00021850 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021854 b 0x2127c | goto label_27;
| label_40:
0x00021858 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0002185c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021860 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021864 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x00021868 sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_group_file */
0x0002186c addiu a2, a2, -0x6e8c | a2 += -0x6e8c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021870 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021874 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021878 bal 0x199c0 | sym_fatald ();
0x0002187c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021880 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00021884 b 0x2127c | goto label_27;
| label_38:
0x00021888 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0002188c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00021890 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
| /* str.Deleteing_root_is_FORBIDDEN_ */
0x00021894 addiu a1, a1, -0x6fe4 | a1 += -0x6fe4;
| /* str.dynamic.c */
0x00021898 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0002189c bal 0x19b04 | sym_loginfo ();
0x000218a0 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x000218a4 lw a0, 0x30(sp) | a0 = *(var_30h);
0x000218a8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000218ac addiu s0, zero, -1 | s0 = -1;
0x000218b0 jalr t9 | t9 ();
0x000218b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000218b8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000218bc lw a0, 0x68(sp) | a0 = *(var_68h);
0x000218c0 jalr t9 | t9 ();
0x000218c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000218c8 b 0x210d0 | goto label_30;
| label_50:
0x000218cc lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x000218d0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000218d4 move s7, zero | s7 = 0;
0x000218d8 jalr t9 | t9 ();
0x000218dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000218e0 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000218e4 sw v0, 0x38(sp) | *(var_38h) = v0;
0x000218e8 b 0x2127c | goto label_27;
| label_59:
0x000218ec lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000218f0 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000218f4 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x000218f8 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x000218fc sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_dependant_files */
0x00021900 addiu a2, a2, -0x6eb8 | a2 += -0x6eb8;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021904 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021908 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0002190c bal 0x199c0 | sym_fatald ();
0x00021910 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021914 b 0x21048 | goto label_34;
| label_42:
0x00021918 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002191c move a0, s7 | a0 = s7;
0x00021920 jalr t9 | t9 ();
0x00021924 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021928 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0002192c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021930 move s7, zero | s7 = 0;
0x00021934 jalr t9 | t9 ();
0x00021938 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002193c sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00021940 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00021944 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00021948 b 0x2127c | goto label_27;
| label_51:
0x0002194c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00021950 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021954 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021958 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.dynamic.c */
0x0002195c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021960 sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_param_file */
0x00021964 addiu a2, a2, -0x6ea0 | a2 += -0x6ea0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021968 addiu a1, a1, 0x6404 | a1 += 0x6404;
0x0002196c bal 0x199c0 | sym_fatald ();
0x00021970 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021974 move a0, s1 | a0 = s1;
0x00021978 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_35:
0x0002197c jalr t9 | t9 ();
0x00021980 nop |
0x00021984 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021988 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0002198c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00021990 jalr t9 | t9 ();
0x00021994 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021998 b 0x2127c | goto label_27;
| label_52:
0x0002199c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000219a0 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000219a4 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000219a8 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x000219ac move a3, s7 | a3 = s7;
| /* str.dynamic.c */
0x000219b0 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x000219b4 sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_param_file */
0x000219b8 addiu a2, a2, -0x6ea0 | a2 += -0x6ea0;
| /* str._s__fopen___failed_on__s:__m */
0x000219bc addiu a1, a1, -0x73ec | a1 += -0x73ec;
0x000219c0 bal 0x19b80 | sym_logerr ();
0x000219c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000219c8 move a0, s7 | a0 = s7;
0x000219cc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000219d0 move s7, zero | s7 = 0;
0x000219d4 jalr t9 | t9 ();
0x000219d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000219dc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000219e0 move a0, s1 | a0 = s1;
0x000219e4 jalr t9 | t9 ();
0x000219e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000219ec lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x000219f0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000219f4 jalr t9 | t9 ();
0x000219f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000219fc b 0x2127c | goto label_27;
| label_76:
0x00021a00 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00021a04 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021a08 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021a0c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.dynamic.c */
0x00021a10 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021a14 sw v0, 0x38(sp) | *(var_38h) = v0;
| /* str.remove_group_file */
0x00021a18 addiu a2, a2, -0x6e8c | a2 += -0x6e8c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021a1c addiu a1, a1, 0x6404 | a1 += 0x6404;
0x00021a20 bal 0x199c0 | sym_fatald ();
0x00021a24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021a28 move a0, s7 | a0 = s7;
0x00021a2c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021a30 move s7, zero | s7 = 0;
0x00021a34 jalr t9 | t9 ();
0x00021a38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021a3c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021a40 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00021a44 jalr t9 | t9 ();
0x00021a48 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021a4c lw a0, 0x78(sp) | a0 = *(var_78h);
0x00021a50 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021a54 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x00021a58 jalr t9 | t9 ();
0x00021a5c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021a60 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021a64 move a0, s2 | a0 = s2;
0x00021a68 jalr t9 | t9 ();
0x00021a6c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021a70 b 0x2127c | goto label_27;
| label_72:
0x00021a74 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00021a78 jalr t9 | t9 ();
0x00021a7c nop |
| label_77:
0x00021a80 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021a84 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021a88 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00021a8c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.delete_group */
0x00021a90 addiu a2, a2, -0x6e78 | a2 += -0x6e78;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021a94 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021a98 addiu a0, a0, -0x741c | a0 += -0x741c;
0x00021a9c bal 0x199c0 | sym_fatald ();
0x00021aa0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021aa4 b 0x218a4 |
| } while (1);
| label_78:
0x00021aa8 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x00021aac lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021ab0 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021ab4 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.remove_param_file */
0x00021ab8 addiu a2, a2, -0x6ea0 | a2 += -0x6ea0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021abc addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021ac0 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00021ac4 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00021ac8 bal 0x199c0 | sym_fatald ();
0x00021acc lw gp, 0x20(sp) | gp = *(var_20h);
0x00021ad0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021ad4 move a0, s5 | a0 = s5;
0x00021ad8 jalr t9 | t9 ();
0x00021adc lw gp, 0x20(sp) | gp = *(var_20h);
0x00021ae0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021ae4 move a0, s2 | a0 = s2;
0x00021ae8 jalr t9 | t9 ();
0x00021aec lw gp, 0x20(sp) | gp = *(var_20h);
0x00021af0 move a0, s7 | a0 = s7;
0x00021af4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021af8 move s7, zero | s7 = 0;
0x00021afc jalr t9 | t9 ();
0x00021b00 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021b04 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021b08 move a0, s1 | a0 = s1;
0x00021b0c jalr t9 | t9 ();
0x00021b10 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021b14 lw a0, 0x78(sp) | a0 = *(var_78h);
0x00021b18 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021b1c b 0x2197c | goto label_35;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x21b20 */
| #include <stdint.h>
|
; (fcn) sym.get_option_from_template () | void get_option_from_template () {
0x00021b20 lui gp, 2 |
0x00021b24 addiu gp, gp, 0x1830 |
0x00021b28 addu gp, gp, t9 | gp += t9;
0x00021b2c addiu sp, sp, -0x60 |
0x00021b30 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00021b34 sw s3, 0x44(sp) | *(var_44h) = s3;
0x00021b38 lw s3, -0x7c68(gp) | s3 = *((gp - 7962));
0x00021b3c sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00021b40 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00021b44 lw v0, (s3) | v0 = *(s3);
0x00021b48 sw s7, 0x54(sp) | *(var_54h) = s7;
0x00021b4c sw s6, 0x50(sp) | *(var_50h) = s6;
0x00021b50 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00021b54 sw s4, 0x48(sp) | *(var_48h) = s4;
0x00021b58 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00021b5c sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x00021b60 sw s0, 0x38(sp) | *(var_38h) = s0;
0x00021b64 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00021b68 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00021b6c sw zero, 0x30(sp) | *(var_30h) = 0;
0x00021b70 lw s1, -0x7fd4(gp) | s1 = *((gp - 8181));
0x00021b74 move s6, a1 | s6 = a1;
0x00021b78 move s4, a2 | s4 = a2;
0x00021b7c move s5, a0 | s5 = a0;
0x00021b80 jalr t9 | t9 ();
0x00021b84 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021b88 lw a0, -0x4528(s1) | a0 = *((s1 - 4426));
0x00021b8c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00021b90 addiu s0, v0, 0xb | s0 = v0 + 0xb;
0x00021b94 jalr t9 | t9 ();
0x00021b98 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021b9c move s7, v0 | s7 = v0;
0x00021ba0 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00021ba4 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00021ba8 lw s2, -0x4524(v0) | s2 = *((v0 - 4425));
0x00021bac move a0, s2 | a0 = s2;
0x00021bb0 jalr t9 | t9 ();
0x00021bb4 sltu v1, v0, s7 | v1 = (v0 < s7) ? 1 : 0;
0x00021bb8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x00021bbc beqz v1, 0x21d8c | goto label_5;
| }
0x00021bc0 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00021bc4 addu a0, s0, s7 | a0 = s0 + s7;
0x00021bc8 jalr t9 | t9 ();
0x00021bcc move s0, v0 | s0 = v0;
0x00021bd0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021bd4 beqz v0, 0x21da4 | goto label_6;
| }
| label_1:
0x00021bd8 lw s7, -0x7fbc(gp) | s7 = *((gp - 8175));
0x00021bdc lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
0x00021be0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._grp.conf */
0x00021be4 addiu s7, s7, -0x6d70 | s7 += -0x6d70;
| /* str._s__s_s */
0x00021be8 addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x00021bec sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x00021bf0 addiu a2, zero, -1 | a2 = -1;
0x00021bf4 addiu a1, zero, 1 | a1 = 1;
0x00021bf8 move a0, v0 | a0 = v0;
0x00021bfc sw s2, 0x10(sp) | *(var_10h) = s2;
0x00021c00 sw s7, 0x18(sp) | *(var_18h) = s7;
0x00021c04 lw fp, -0x7fbc(gp) | fp = *((gp - 8175));
0x00021c08 sw s5, 0x14(sp) | *(var_14h) = s5;
0x00021c0c jalr t9 | t9 ();
0x00021c10 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021c14 addiu a1, fp, -0x6754 | a1 = fp + -0x6754;
0x00021c18 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x00021c1c move a0, s0 | a0 = s0;
0x00021c20 jalr t9 | t9 ();
0x00021c24 move s2, v0 | s2 = v0;
0x00021c28 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021c2c lw v1, 0x2c(sp) | v1 = *(var_2ch);
| if (v0 == 0) {
0x00021c30 beqz v0, 0x21dd0 | goto label_7;
| }
| label_3:
0x00021c34 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021c38 move a0, s0 | a0 = s0;
0x00021c3c jalr t9 | t9 ();
0x00021c40 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021c44 move s0, zero | s0 = 0;
0x00021c48 addiu fp, sp, 0x30 | fp = sp + 0x30;
0x00021c4c lw s5, -0x7fc4(gp) | s5 = *(gp);
| /* fcn.0001d1d8 */
0x00021c50 addiu s5, s5, -0x2e28 | s5 += -0x2e28;
| do {
| label_0:
0x00021c54 move a1, s0 | a1 = s0;
0x00021c58 move a2, fp | a2 = fp;
0x00021c5c move t9, s5 | t9 = s5;
0x00021c60 move a0, s2 | a0 = s2;
0x00021c64 bal 0x1d1d8 | fcn_0001d1d8 ();
0x00021c68 move s0, v0 | s0 = v0;
0x00021c6c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021c70 beqz v0, 0x21e7c | goto label_8;
| }
0x00021c74 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x00021c78 move a1, s6 | a1 = s6;
0x00021c7c move a0, s0 | a0 = s0;
0x00021c80 jalr t9 | t9 ();
0x00021c84 move s1, v0 | s1 = v0;
0x00021c88 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021c8c beqz v0, 0x21c54 |
| } while (v0 == 0);
0x00021c90 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00021c94 move a0, s6 | a0 = s6;
0x00021c98 jalr t9 | t9 ();
0x00021c9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00021ca0 addiu a1, zero, 0x3d | a1 = 0x3d;
0x00021ca4 lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x00021ca8 addu a0, s1, v0 | a0 = s1 + v0;
0x00021cac jalr t9 | t9 ();
0x00021cb0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021cb4 beqz v0, 0x21c54 | goto label_0;
| }
0x00021cb8 lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x00021cbc addiu a1, zero, 0x22 | a1 = 0x22;
0x00021cc0 move a0, v0 | a0 = v0;
0x00021cc4 jalr t9 | t9 ();
0x00021cc8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021ccc beqz v0, 0x21c54 | goto label_0;
| }
0x00021cd0 lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x00021cd4 addiu s7, v0, 1 | s7 = v0 + 1;
0x00021cd8 addiu a1, zero, 0x22 | a1 = 0x22;
0x00021cdc move a0, s7 | a0 = s7;
0x00021ce0 jalr t9 | t9 ();
0x00021ce4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021ce8 beqz v0, 0x21c54 | goto label_0;
| }
0x00021cec lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00021cf0 subu s1, v0, s7 | __asm ("subu s1, v0, s7");
0x00021cf4 addiu a0, s1, 1 | a0 = s1 + 1;
0x00021cf8 jalr t9 | t9 ();
0x00021cfc move s5, v0 | s5 = v0;
0x00021d00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00021d04 beqz v0, 0x21e30 | goto label_9;
| }
0x00021d08 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x00021d0c move a2, s1 | a2 = s1;
0x00021d10 move a1, s7 | a1 = s7;
0x00021d14 move a0, v0 | a0 = v0;
0x00021d18 jalr t9 | t9 ();
0x00021d1c addu v0, s5, s1 | v0 = s5 + s1;
0x00021d20 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021d24 sb zero, (v0) | *(v0) = 0;
| label_4:
0x00021d28 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021d2c move a0, s0 | a0 = s0;
0x00021d30 jalr t9 | t9 ();
0x00021d34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021d38 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021d3c move a0, s2 | a0 = s2;
0x00021d40 jalr t9 | t9 ();
0x00021d44 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021d48 move v0, zero | v0 = 0;
0x00021d4c sw s5, (s4) | *(s4) = s5;
| label_2:
0x00021d50 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00021d54 lw v1, (s3) | v1 = *(s3);
0x00021d58 lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (a0 != v1) {
0x00021d5c bne a0, v1, 0x21e84 | goto label_10;
| }
0x00021d60 lw fp, 0x58(sp) | fp = *(var_58h);
0x00021d64 lw s7, 0x54(sp) | s7 = *(var_54h);
0x00021d68 lw s6, 0x50(sp) | s6 = *(var_50h);
0x00021d6c lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x00021d70 lw s4, 0x48(sp) | s4 = *(var_48h);
0x00021d74 lw s3, 0x44(sp) | s3 = *(var_44h);
0x00021d78 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00021d7c lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00021d80 lw s0, 0x38(sp) | s0 = *(var_38h);
0x00021d84 addiu sp, sp, 0x60 |
0x00021d88 jr ra | return v0;
| label_5:
0x00021d8c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x00021d90 addu a0, s0, v0 | a0 = s0 + v0;
0x00021d94 jalr t9 | t9 ();
0x00021d98 move s0, v0 | s0 = v0;
0x00021d9c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00021da0 bnez v0, 0x21bd8 | goto label_1;
| }
| label_6:
0x00021da4 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021da8 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021dac lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00021db0 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.get_option_from_template */
0x00021db4 addiu a2, a2, -0x6ed4 | a2 += -0x6ed4;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021db8 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021dbc addiu a0, a0, -0x741c | a0 += -0x741c;
0x00021dc0 bal 0x199c0 | sym_fatald ();
0x00021dc4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021dc8 addiu v0, zero, 1 | v0 = 1;
0x00021dcc b 0x21d50 | goto label_2;
| label_7:
0x00021dd0 lw v0, -0x4528(s1) | v0 = *((s1 - 4426));
0x00021dd4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00021dd8 addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x00021ddc addiu a2, zero, -1 | a2 = -1;
0x00021de0 addiu a1, zero, 1 | a1 = 1;
0x00021de4 move a0, s0 | a0 = s0;
0x00021de8 sw s7, 0x18(sp) | *(var_18h) = s7;
0x00021dec sw s5, 0x14(sp) | *(var_14h) = s5;
0x00021df0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00021df4 jalr t9 | t9 ();
0x00021df8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021dfc addiu a1, fp, -0x6754 | a1 = fp + -0x6754;
0x00021e00 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x00021e04 move a0, s0 | a0 = s0;
0x00021e08 jalr t9 | t9 ();
0x00021e0c move s2, v0 | s2 = v0;
0x00021e10 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00021e14 bnez v0, 0x21c34 | goto label_3;
| }
0x00021e18 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021e1c move a0, s0 | a0 = s0;
0x00021e20 jalr t9 | t9 ();
0x00021e24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021e28 addiu v0, zero, 2 | v0 = 2;
0x00021e2c b 0x21d50 | goto label_2;
| label_9:
0x00021e30 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00021e34 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x00021e38 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00021e3c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.get_option_from_template */
0x00021e40 addiu a2, a2, -0x6ed4 | a2 += -0x6ed4;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00021e44 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x00021e48 addiu a0, a0, -0x741c | a0 += -0x741c;
0x00021e4c bal 0x199c0 | sym_fatald ();
0x00021e50 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021e54 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00021e58 move a0, s0 | a0 = s0;
0x00021e5c jalr t9 | t9 ();
0x00021e60 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021e64 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00021e68 move a0, s2 | a0 = s2;
0x00021e6c jalr t9 | t9 ();
0x00021e70 lw gp, 0x20(sp) | gp = *(var_20h);
0x00021e74 addiu v0, zero, 1 | v0 = 1;
0x00021e78 b 0x21d50 | goto label_2;
| label_8:
0x00021e7c move s5, zero | s5 = 0;
0x00021e80 b 0x21d28 | goto label_4;
| label_10:
0x00021e84 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00021e88 jalr t9 | t9 ();
0x00021e8c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0xedc0 */
| #include <stdint.h>
|
; (fcn) sym.legacy_drep_intToByte () | void legacy_drep_intToByte () {
0x0000edc0 lui gp, 3 |
0x0000edc4 addiu gp, gp, 0x4590 |
0x0000edc8 addu gp, gp, t9 | gp += t9;
0x0000edcc addiu sp, sp, -0x40 |
0x0000edd0 sw s5, 0x38(sp) | *(var_38h_2) = s5;
0x0000edd4 sw s3, 0x30(sp) | *(var_30h_2) = s3;
0x0000edd8 sw s2, 0x2c(sp) | *(var_2ch_2) = s2;
0x0000eddc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000ede0 sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x0000ede4 sw s4, 0x34(sp) | *(var_34h_2) = s4;
0x0000ede8 sw s1, 0x28(sp) | *(var_28h_2) = s1;
0x0000edec sw s0, 0x24(sp) | *(var_24h_2) = s0;
0x0000edf0 lbu s1, 1(a1) | s1 = *((a1 + 1));
0x0000edf4 lbu v0, (a1) | v0 = *(a1);
0x0000edf8 sll s1, s1, 8 | s1 <<= 8;
0x0000edfc move s3, a1 | s3 = a1;
0x0000ee00 move s2, a2 | s2 = a2;
0x0000ee04 move s5, a0 | s5 = a0;
0x0000ee08 addu s1, s1, v0 | s1 += v0;
0x0000ee0c sw zero, (a2) | *(a2) = 0;
| if (a0 == 0) {
0x0000ee10 beqz a0, 0xef58 | goto label_1;
| }
0x0000ee14 lui a1, 0x6666 | a1 = 0x66660000;
0x0000ee18 move v0, a0 | v0 = a0;
0x0000ee1c addiu a1, a1, 0x6667 | a1 += 0x6667;
0x0000ee20 move a0, zero | a0 = 0;
0x0000ee24 b 0xee2c |
| while (v0 != 0) {
0x0000ee28 move a0, s0 | a0 = s0;
0x0000ee2c mult v0, a1 | __asm ("mult v0, a1");
0x0000ee30 mfhi v1 | __asm ("mfhi v1");
0x0000ee34 sra v0, v0, 0x1f | v0 >>= 0x1f;
0x0000ee38 sra v1, v1, 2 | v1 >>= 2;
0x0000ee3c subu v0, v1, v0 | __asm ("subu v0, v1, v0");
0x0000ee40 addiu s0, a0, 1 | s0 = a0 + 1;
0x0000ee44 bnez v0, 0xee28 |
| }
| if (s5 >= 0) {
0x0000ee48 bgezl s5, 0xee58 | goto label_2;
| }
0x0000ee4c addiu a0, a0, 2 | a0 += 2;
0x0000ee50 addiu s0, a0, 2 | s0 = a0 + 2;
0x0000ee54 addiu a0, a0, 3 | a0 += 3;
| do {
| label_2:
0x0000ee58 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0000ee5c jalr t9 | t9 ();
0x0000ee60 nop |
0x0000ee64 move s4, v0 | s4 = v0;
0x0000ee68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000ee6c beqz v0, 0xef10 |
0x0000ee70 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x0000ee74 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0000ee78 sw s5, 0x10(sp) | *(var_10h_2) = s5;
| /* esilref: '&d' */
0x0000ee7c addiu a3, a3, 0x7b0c | a3 += 0x7b0c;
0x0000ee80 addiu a2, zero, -1 | a2 = -1;
0x0000ee84 addiu a1, zero, 1 | a1 = 1;
0x0000ee88 move a0, v0 | a0 = v0;
0x0000ee8c slt s1, s1, s0 | s1 = (s1 < s0) ? 1 : 0;
0x0000ee90 jalr t9 | t9 ();
0x0000ee94 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != 0) {
0x0000ee98 beqz s1, 0xeeb8 |
0x0000ee9c lw t9, -0x7b60(gp) | t9 = sym.imp.realloc;
0x0000eea0 addiu a1, s0, 2 | a1 = s0 + 2;
0x0000eea4 move a0, s3 | a0 = s3;
0x0000eea8 jalr t9 | t9 ();
0x0000eeac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000eeb0 beqz v0, 0xef64 | goto label_3;
| }
0x0000eeb4 move s3, v0 | s3 = v0;
| }
0x0000eeb8 lw t9, -0x7c38(gp) | t9 = sym.imp.memcpy;
0x0000eebc sra v0, s0, 8 | v0 = s0 >> 8;
0x0000eec0 move a2, s0 | a2 = s0;
0x0000eec4 move a1, s4 | a1 = s4;
0x0000eec8 addiu a0, s3, 2 | a0 = s3 + 2;
0x0000eecc sb s0, (s3) | *(s3) = s0;
0x0000eed0 sb v0, 1(s3) | *((s3 + 1)) = v0;
0x0000eed4 jalr t9 | t9 ();
0x0000eed8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x0000eedc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0000eee0 move a0, s4 | a0 = s4;
0x0000eee4 jalr t9 | t9 ();
0x0000eee8 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x0000eeec move v0, s3 | v0 = s3;
0x0000eef0 lw s5, 0x38(sp) | s5 = *(var_38h_2);
0x0000eef4 lw s4, 0x34(sp) | s4 = *(var_34h_2);
0x0000eef8 lw s3, 0x30(sp) | s3 = *(var_30h_2);
0x0000eefc lw s2, 0x2c(sp) | s2 = *(var_2ch_2);
0x0000ef00 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0000ef04 lw s0, 0x24(sp) | s0 = *(var_24h_2);
0x0000ef08 addiu sp, sp, 0x40 |
0x0000ef0c jr ra | return v0;
| }
0x0000ef10 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000ef14 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000ef18 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Error:_Out_of_memory_in_legacy_drep_intToByte */
0x0000ef1c addiu a1, a1, 0x7a28 | a1 += 0x7a28;
| /* str.legacydatarep.c */
0x0000ef20 addiu a0, a0, 0x77bc | a0 += 0x77bc;
0x0000ef24 bal 0x199c0 | sym_fatald ();
0x0000ef28 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x0000ef2c addiu v0, zero, 1 | v0 = 1;
0x0000ef30 sw v0, (s2) | *(s2) = v0;
0x0000ef34 lw s5, 0x38(sp) | s5 = *(var_38h_2);
0x0000ef38 move v0, s3 | v0 = s3;
0x0000ef3c lw s4, 0x34(sp) | s4 = *(var_34h_2);
0x0000ef40 lw s3, 0x30(sp) | s3 = *(var_30h_2);
0x0000ef44 lw s2, 0x2c(sp) | s2 = *(var_2ch_2);
0x0000ef48 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0000ef4c lw s0, 0x24(sp) | s0 = *(var_24h_2);
0x0000ef50 addiu sp, sp, 0x40 |
0x0000ef54 jr ra | return v0;
| label_1:
0x0000ef58 addiu a0, zero, 2 | a0 = 2;
0x0000ef5c addiu s0, zero, 1 | s0 = 1;
0x0000ef60 b 0xee58 |
| } while (1);
| label_3:
0x0000ef64 lw a2, -0x7fc4(gp) | a2 = *(gp);
0x0000ef68 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000ef6c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000ef70 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0000ef74 addiu v0, zero, -1 | v0 = -1;
| /* str.legacy_drep_intToByte */
0x0000ef78 addiu a2, a2, 0x7c98 | a2 += 0x7c98;
| /* str.Memory_allocation_failed_in__s. */
0x0000ef7c addiu a1, a1, 0x7a58 | a1 += 0x7a58;
| /* str.legacydatarep.c */
0x0000ef80 addiu a0, a0, 0x77bc | a0 += 0x77bc;
0x0000ef84 sw v0, (s2) | *(s2) = v0;
0x0000ef88 bal 0x19b80 | sym_logerr ();
0x0000ef8c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ef90 b 0xeedc | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x19bfc */
| #include <stdint.h>
|
; (fcn) sym.logwarn () | void logwarn () {
0x00019bfc lui gp, 3 |
0x00019c00 addiu gp, gp, -0x68ac |
0x00019c04 addu gp, gp, t9 | gp += t9;
0x00019c08 addiu sp, sp, -0x28 |
0x00019c0c addiu v0, sp, 0x30 | v0 = sp + 0x30;
0x00019c10 sw s0, 0x20(sp) | *(var_20h_4) = s0;
0x00019c14 lw s0, -0x7c68(gp) | s0 = *((gp - 7962));
0x00019c18 lw t9, -0x7cb0(gp) | t9 = sym.imp.__vsyslog_chk;
0x00019c1c sw gp, 0x10(sp) | *(var_10h_5) = gp;
0x00019c20 lw v1, (s0) | v1 = *(s0);
0x00019c24 sw v0, 0x18(sp) | *(var_18h_5) = v0;
0x00019c28 sw a2, 0x30(sp) | *(var_30h_3) = a2;
0x00019c2c sw a3, 0x34(sp) | *(var_34h_3) = a3;
0x00019c30 move a2, a1 | a2 = a1;
0x00019c34 move a3, v0 | a3 = v0;
0x00019c38 sw v1, 0x1c(sp) | *(var_1ch_5) = v1;
0x00019c3c sw ra, 0x24(sp) | *(var_24h_5) = ra;
0x00019c40 addiu a1, zero, 1 | a1 = 1;
0x00019c44 addiu a0, zero, 4 | a0 = 4;
0x00019c48 jalr t9 | t9 ();
0x00019c4c lw v1, 0x1c(sp) | v1 = *(var_1ch_5);
0x00019c50 lw v0, (s0) | v0 = *(s0);
0x00019c54 lw gp, 0x10(sp) | gp = *(var_10h_5);
| if (v1 == v0) {
0x00019c58 bne v1, v0, 0x19c6c |
0x00019c5c lw ra, 0x24(sp) | ra = *(var_24h_5);
0x00019c60 lw s0, 0x20(sp) | s0 = *(var_20h_4);
0x00019c64 addiu sp, sp, 0x28 |
0x00019c68 jr ra | return v0;
| }
0x00019c6c lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019c70 jalr t9 | t9 ();
0x00019c74 nop |
0x00019c78 nop |
0x00019c7c nop |
| label_1:
0x00019c80 lui gp, 3 |
0x00019c84 addiu gp, gp, -0x6930 |
0x00019c88 addu gp, gp, t9 | gp += t9;
0x00019c8c addiu sp, sp, -0x90 |
0x00019c90 lw t9, -0x7e28(gp) | t9 = sym.mif_enterSection;
0x00019c94 sw s1, 0x84(sp) | *(var_84h) = s1;
0x00019c98 lw s1, -0x7c68(gp) | s1 = *((gp - 7962));
0x00019c9c sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x00019ca0 sw gp, 0x18(sp) | *(var_18h_6) = gp;
0x00019ca4 lw v0, (s1) | v0 = *(s1);
0x00019ca8 sw s0, 0x80(sp) | *(var_80h) = s0;
0x00019cac sw s2, 0x88(sp) | *(var_88h) = s2;
0x00019cb0 sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x00019cb4 bal 0xd340 | sym_mif_enterSection ();
0x00019cb8 nop |
0x00019cbc lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019cc0 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00019cc4 lw t9, -0x7e20(gp) | t9 = sym.mif_enterScalar;
| /* str.ipaddr */
0x00019cc8 addiu a0, a0, -0x77e0 | a0 += -0x77e0;
0x00019ccc bal 0xd764 | sym_mif_enterScalar ();
0x00019cd0 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019cd4 lw t9, -0x7e1c(gp) | t9 = sym.dif_customScalarGetAsString;
0x00019cd8 addiu a0, sp, 0x27 | a0 = sp + 0x27;
0x00019cdc bal 0xdeac | sym_dif_customScalarGetAsString ();
0x00019ce0 move s0, v0 | s0 = v0;
0x00019ce4 lb v0, (v0) | v0 = *(v0);
0x00019ce8 lw gp, 0x18(sp) | gp = *(var_18h_6);
| if (v0 == 0) {
0x00019cec beqz v0, 0x19d0c | goto label_2;
| }
0x00019cf0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x00019cf4 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| /* str.0.0.0.0 */
0x00019cf8 addiu a1, a1, -0x7724 | a1 += -0x7724;
0x00019cfc move a0, s0 | a0 = s0;
0x00019d00 jalr t9 | t9 ();
0x00019d04 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d08 bnez v0, 0x19d74 |
| while (1) {
| label_2:
0x00019d0c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00019d10 move a0, s0 | a0 = s0;
0x00019d14 jalr t9 | t9 ();
0x00019d18 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d1c lw t9, -0x7e14(gp) | t9 = sym.mif_leaveScalar;
0x00019d20 bal 0xd820 | sym_mif_leaveScalar ();
0x00019d24 nop |
0x00019d28 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d2c lw t9, -0x7e10(gp) | t9 = sym.mif_outputFinished;
0x00019d30 bal 0xdc70 | sym_mif_outputFinished ();
0x00019d34 nop |
0x00019d38 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d3c lw t9, -0x7e0c(gp) | t9 = sym.mif_leaveSection;
0x00019d40 bal 0xd6bc | sym_mif_leaveSection ();
0x00019d44 nop |
0x00019d48 lw a0, 0x7c(sp) | a0 = *(var_7ch);
0x00019d4c lw v1, (s1) | v1 = *(s1);
0x00019d50 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d54 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x00019d58 bne a0, v1, 0x19db0 | goto label_3;
| }
0x00019d5c lw ra, 0x8c(sp) | ra = *(var_8ch);
0x00019d60 lw s2, 0x88(sp) | s2 = *(var_88h);
0x00019d64 lw s1, 0x84(sp) | s1 = *(var_84h);
0x00019d68 lw s0, 0x80(sp) | s0 = *(var_80h);
0x00019d6c addiu sp, sp, 0x90 |
0x00019d70 jr ra | return v0;
0x00019d74 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00019d78 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00019d7c addiu s2, sp, 0x28 | s2 = sp + 0x28;
| /* str.nameserver__s_n */
0x00019d80 addiu a3, a3, -0x771c | a3 += -0x771c;
0x00019d84 addiu a2, zero, 0x51 | a2 = 0x51;
0x00019d88 addiu a1, zero, 1 | a1 = 1;
0x00019d8c move a0, s2 | a0 = s2;
0x00019d90 sw s0, 0x10(sp) | *(var_10h_8) = s0;
0x00019d94 jalr t9 | t9 ();
0x00019d98 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019d9c lw t9, -0x7e24(gp) | t9 = sym.pif_outputString;
0x00019da0 move a0, s2 | a0 = s2;
0x00019da4 bal 0xa428 | sym_pif_outputString ();
0x00019da8 lw gp, 0x18(sp) | gp = *(var_18h_6);
0x00019dac b 0x19d0c |
| }
| label_3:
0x00019db0 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019db4 jalr t9 | t9 ();
0x00019db8 nop |
| label_0:
0x00019dbc lui gp, 3 |
0x00019dc0 addiu gp, gp, -0x6a6c |
0x00019dc4 addu gp, gp, t9 | gp += t9;
0x00019dc8 addiu sp, sp, -0x90 |
0x00019dcc lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x00019dd0 sw s1, 0x84(sp) | *(var_84h_2) = s1;
0x00019dd4 lw s1, -0x7c68(gp) | s1 = *((gp - 7962));
0x00019dd8 lw t9, -0x7e28(gp) | t9 = sym.mif_enterSection;
0x00019ddc sw ra, 0x8c(sp) | *(var_8ch_2) = ra;
0x00019de0 lw v0, (s1) | v0 = *(s1);
0x00019de4 sw gp, 0x18(sp) | *(var_18h_7) = gp;
0x00019de8 sw s0, 0x80(sp) | *(var_80h_2) = s0;
| /* str.Search */
0x00019dec addiu a0, a0, -0x770c | a0 += -0x770c;
0x00019df0 sw s2, 0x88(sp) | *(var_88h_2) = s2;
0x00019df4 sw v0, 0x7c(sp) | *(var_7ch_2) = v0;
0x00019df8 bal 0xd340 | sym_mif_enterSection ();
0x00019dfc nop |
0x00019e00 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e04 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x00019e08 lw t9, -0x7e20(gp) | t9 = sym.mif_enterScalar;
| /* str.string */
0x00019e0c addiu a0, a0, 0x6464 | a0 += 0x6464;
0x00019e10 bal 0xd764 | sym_mif_enterScalar ();
0x00019e14 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e18 lw t9, -0x7e1c(gp) | t9 = sym.dif_customScalarGetAsString;
0x00019e1c addiu a0, sp, 0x27 | a0 = sp + 0x27;
0x00019e20 bal 0xdeac | sym_dif_customScalarGetAsString ();
0x00019e24 move s0, v0 | s0 = v0;
0x00019e28 lb v0, (v0) | v0 = *(v0);
0x00019e2c lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e30 bnez v0, 0x19e9c |
| while (1) {
0x00019e34 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00019e38 move a0, s0 | a0 = s0;
0x00019e3c jalr t9 | t9 ();
0x00019e40 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e44 lw t9, -0x7e10(gp) | t9 = sym.mif_outputFinished;
0x00019e48 bal 0xdc70 | sym_mif_outputFinished ();
0x00019e4c nop |
0x00019e50 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e54 lw t9, -0x7e14(gp) | t9 = sym.mif_leaveScalar;
0x00019e58 bal 0xd820 | sym_mif_leaveScalar ();
0x00019e5c nop |
0x00019e60 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e64 lw t9, -0x7e0c(gp) | t9 = sym.mif_leaveSection;
0x00019e68 bal 0xd6bc | sym_mif_leaveSection ();
0x00019e6c nop |
0x00019e70 lw a0, 0x7c(sp) | a0 = *(var_7ch_2);
0x00019e74 lw v1, (s1) | v1 = *(s1);
0x00019e78 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019e7c move v0, zero | v0 = 0;
| if (a0 != v1) {
0x00019e80 bne a0, v1, 0x19ed8 | goto label_4;
| }
0x00019e84 lw ra, 0x8c(sp) | ra = *(var_8ch_2);
0x00019e88 lw s2, 0x88(sp) | s2 = *(var_88h_2);
0x00019e8c lw s1, 0x84(sp) | s1 = *(var_84h_2);
0x00019e90 lw s0, 0x80(sp) | s0 = *(var_80h_2);
0x00019e94 addiu sp, sp, 0x90 |
0x00019e98 jr ra | return v0;
0x00019e9c lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x00019ea0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x00019ea4 addiu s2, sp, 0x28 | s2 = sp + 0x28;
| /* str.search__s_n */
0x00019ea8 addiu a3, a3, -0x7704 | a3 += -0x7704;
0x00019eac addiu a2, zero, 0x51 | a2 = 0x51;
0x00019eb0 addiu a1, zero, 1 | a1 = 1;
0x00019eb4 move a0, s2 | a0 = s2;
0x00019eb8 sw s0, 0x10(sp) | *(var_10h_6) = s0;
0x00019ebc jalr t9 | t9 ();
0x00019ec0 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019ec4 lw t9, -0x7e24(gp) | t9 = sym.pif_outputString;
0x00019ec8 move a0, s2 | a0 = s2;
0x00019ecc bal 0xa428 | sym_pif_outputString ();
0x00019ed0 lw gp, 0x18(sp) | gp = *(var_18h_7);
0x00019ed4 b 0x19e34 |
| }
| label_4:
0x00019ed8 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019edc jalr t9 | t9 ();
0x00019ee0 nop |
0x00019ee4 lui gp, 3 |
0x00019ee8 addiu gp, gp, -0x6b94 |
0x00019eec addu gp, gp, t9 | gp += t9;
0x00019ef0 addiu sp, sp, -0x20 |
0x00019ef4 lw t9, -0x7e08(gp) | t9 = sym.mif_enterRootSection;
0x00019ef8 sw s0, 0x18(sp) | *(var_18h_8) = s0;
0x00019efc lw s0, -0x7fbc(gp) | s0 = *((gp - 8175));
0x00019f00 sw ra, 0x1c(sp) | *(var_1ch_6) = ra;
0x00019f04 move a1, zero | a1 = 0;
0x00019f08 sw gp, 0x10(sp) | *(var_10h_7) = gp;
| /* str.Resolv */
0x00019f0c addiu a0, s0, -0x76f8 | a0 = s0 + -0x76f8;
0x00019f10 bal 0xd170 | sym_mif_enterRootSection ();
0x00019f14 lw gp, 0x10(sp) | gp = *(var_10h_7);
0x00019f18 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00019f1c addiu t9, t9, -0x6244 | t9 += -0x6244;
0x00019f20 move a0, zero | a0 = 0;
0x00019f24 bal 0x19dbc | fcn_19dbc ();
| goto label_0;
0x00019f28 lw gp, 0x10(sp) | gp = *(var_10h_7);
0x00019f2c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00019f30 addiu t9, t9, -0x6380 | t9 += -0x6380;
0x00019f34 move a0, zero | a0 = 0;
0x00019f38 bal 0x19c80 | fcn_19c80 ();
| goto label_1;
0x00019f3c lw gp, 0x10(sp) | gp = *(var_10h_7);
0x00019f40 lw t9, -0x7e00(gp) | t9 = sym.mif_leaveRootSection;
| /* str.Resolv */
0x00019f44 addiu a0, s0, -0x76f8 | a0 = s0 + -0x76f8;
0x00019f48 bal 0xd2b0 | sym_mif_leaveRootSection ();
0x00019f4c lw ra, 0x1c(sp) | ra = *(var_1ch_6);
0x00019f50 lw s0, 0x18(sp) | s0 = *(var_18h_8);
0x00019f54 move v0, zero | v0 = 0;
0x00019f58 addiu sp, sp, 0x20 |
0x00019f5c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x62e4 */
| #include <stdint.h>
|
; (fcn) sym.map_createParam () | void map_createParam () {
0x000062e4 lui gp, 4 |
0x000062e8 addiu gp, gp, -0x2f94 |
0x000062ec addu gp, gp, t9 | gp += t9;
0x000062f0 addiu sp, sp, -0x40 |
0x000062f4 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000062f8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000062fc sw s4, 0x34(sp) | *(var_34h) = s4;
0x00006300 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x00006304 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00006308 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0000630c sw s5, 0x38(sp) | *(var_38h) = s5;
0x00006310 sw s3, 0x30(sp) | *(var_30h) = s3;
0x00006314 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00006318 move s2, a0 | s2 = a0;
0x0000631c addiu a0, zero, 0x70 | a0 = 0x70;
0x00006320 move s1, a1 | s1 = a1;
0x00006324 move s4, a2 | s4 = a2;
0x00006328 jalr t9 | t9 ();
0x0000632c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00006330 beqz v0, 0x6474 | goto label_1;
| }
0x00006334 lw t9, -0x7b88(gp) | t9 = sym.imp.strncpy;
0x00006338 addiu a2, zero, 0x20 | a2 = 0x20;
0x0000633c move a1, s2 | a1 = s2;
0x00006340 addiu a0, v0, 4 | a0 = v0 + 4;
0x00006344 sw zero, (v0) | *(v0) = 0;
0x00006348 sw zero, 0x2c(v0) | *((v0 + 11)) = 0;
0x0000634c move s0, v0 | s0 = v0;
0x00006350 jalr t9 | t9 ();
0x00006354 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006358 addiu v0, zero, 2 | v0 = 2;
0x0000635c sb zero, 0x24(s0) | *((s0 + 36)) = 0;
0x00006360 lw t9, -0x7fa0(gp) | t9 = sym.legacy_drep_createData;
0x00006364 sw zero, 0x30(s0) | *((s0 + 12)) = 0;
0x00006368 sw v0, 0x38(s0) | *((s0 + 14)) = v0;
0x0000636c sw zero, 0x3c(s0) | *((s0 + 15)) = 0;
0x00006370 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x00006374 bal 0xdfb8 | sym_legacy_drep_createData ();
0x00006378 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000637c lw s5, 0x34(s1) | s5 = *((s1 + 13));
0x00006380 sw v0, 0x6c(s0) | *((s0 + 27)) = v0;
0x00006384 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x00006388 move a0, s5 | a0 = s5;
0x0000638c jalr t9 | t9 ();
0x00006390 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006394 move a0, s2 | a0 = s2;
0x00006398 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0000639c move s3, v0 | s3 = v0;
0x000063a0 jalr t9 | t9 ();
0x000063a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000063a8 addu v0, s3, v0 | v0 = s3 + v0;
0x000063ac lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x000063b0 addiu a0, v0, 2 | a0 = v0 + 2;
0x000063b4 jalr t9 | t9 ();
0x000063b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000063bc sw v0, 0x28(s0) | *((s0 + 10)) = v0;
| if (v0 == 0) {
0x000063c0 beqz v0, 0x647c | goto label_2;
| }
0x000063c4 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x000063c8 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x000063cc sw s2, 0x14(sp) | *(var_14h) = s2;
0x000063d0 sw s5, 0x10(sp) | *(var_10h) = s5;
| /* str._s._s */
0x000063d4 addiu a3, a3, 0x61b4 | a3 += 0x61b4;
0x000063d8 addiu a2, zero, -1 | a2 = -1;
0x000063dc addiu a1, zero, 1 | a1 = 1;
0x000063e0 move a0, v0 | a0 = v0;
0x000063e4 jalr t9 | t9 ();
0x000063e8 lw v1, 8(s1) | v1 = *((s1 + 2));
0x000063ec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x000063f0 bnez v1, 0x63fc | goto label_3;
| }
0x000063f4 sw s0, 8(s1) | *((s1 + 2)) = s0;
0x000063f8 b 0x646c | goto label_4;
| do {
| label_3:
0x000063fc lw v0, (v1) | v0 = *(v1);
0x00006400 move v1, v0 | v1 = v0;
0x00006404 bnel v0, zero, 0x63fc |
| } while (v0 == 0);
0x00006408 sw s0, (v1) | *(v1) = s0;
0x0000640c lw t9, -0x7fcc(gp) | t9 = *((gp - 8179));
| do {
0x00006410 lw a0, 0x38(s1) | a0 = *((s1 + 14));
0x00006414 addiu t9, t9, 0x469c | t9 += fcn.0000469c;
0x00006418 sw s0, (s4) | *(s4) = s0;
0x0000641c bal 0x469c | fcn_0000469c ();
0x00006420 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006424 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x00006428 addiu v0, zero, 1 | v0 = 1;
0x0000642c lw t9, -0x7c74(gp) | t9 = sym.imp.__strcpy_chk;
0x00006430 sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x00006434 addiu a2, zero, 0x21 | a2 = 0x21;
0x00006438 addiu a1, s1, 0x11 | a1 = s1 + 0x11;
0x0000643c addiu a0, s0, 0x48 | a0 = s0 + 0x48;
0x00006440 jalr t9 | t9 ();
0x00006444 move v0, zero | v0 = 0;
| label_0:
0x00006448 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000644c lw s5, 0x38(sp) | s5 = *(var_38h);
0x00006450 lw s4, 0x34(sp) | s4 = *(var_34h);
0x00006454 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00006458 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0000645c lw s1, 0x28(sp) | s1 = *(var_28h);
0x00006460 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00006464 addiu sp, sp, 0x40 |
0x00006468 jr ra | return v0;
| label_4:
0x0000646c lw t9, -0x7fcc(gp) | t9 = *((gp - 8179));
0x00006470 b 0x6410 |
| } while (1);
| label_1:
0x00006474 addiu v0, zero, -2 | v0 = -2;
0x00006478 b 0x6448 | goto label_0;
| label_2:
0x0000647c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00006480 move a0, s0 | a0 = s0;
0x00006484 jalr t9 | t9 ();
0x00006488 addiu v0, zero, -2 | v0 = -2;
0x0000648c b 0x6448 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0x1e190 */
| #include <stdint.h>
|
; (fcn) sym.new_group () | void new_group () {
0x0001e190 lui gp, 2 |
0x0001e194 addiu gp, gp, 0x51c0 |
0x0001e198 addu gp, gp, t9 | gp += t9;
0x0001e19c lw v0, -0x7c68(gp) | v0 = *((gp - 7962));
0x0001e1a0 addiu sp, sp, -0x170 |
0x0001e1a4 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001e1a8 lw v0, (v0) | v0 = *(v0);
0x0001e1ac sw gp, 0x20(sp) | *(var_20h) = gp;
0x0001e1b0 sw ra, 0x16c(sp) | *(var_16ch) = ra;
0x0001e1b4 sw fp, 0x168(sp) | *(var_168h) = fp;
0x0001e1b8 sw s7, 0x164(sp) | *(var_164h) = s7;
0x0001e1bc sw s6, 0x160(sp) | *(var_160h) = s6;
0x0001e1c0 sw s5, 0x15c(sp) | *(var_15ch) = s5;
0x0001e1c4 sw s4, 0x158(sp) | *(var_158h) = s4;
0x0001e1c8 sw s3, 0x154(sp) | *(var_154h) = s3;
0x0001e1cc sw s2, 0x150(sp) | *(var_150h) = s2;
0x0001e1d0 sw s1, 0x14c(sp) | *(var_14ch) = s1;
0x0001e1d4 sw s0, 0x148(sp) | *(var_148h) = s0;
0x0001e1d8 sw a0, 0x40(sp) | *(var_40h) = a0;
0x0001e1dc sw a1, 0x174(sp) | *(arg_174h) = a1;
0x0001e1e0 sw a3, 0x38(sp) | *(var_38h) = a3;
0x0001e1e4 sw v0, 0x144(sp) | *(var_144h) = v0;
0x0001e1e8 sw zero, 0x94(sp) | *(var_94h) = 0;
| if (a0 == 0) {
0x0001e1ec beqz a0, 0x1e2f0 | goto label_34;
| }
0x0001e1f0 move s5, a2 | s5 = a2;
| if (a2 == 0) {
0x0001e1f4 beqz a2, 0x1e2f0 | goto label_34;
| }
0x0001e1f8 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x0001e1fc jalr t9 | t9 ();
0x0001e200 nop |
0x0001e204 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0001e208 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e20c beqz v0, 0x1f790 | goto label_35;
| }
0x0001e210 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0001e214 lw a0, 0x3c(sp) | a0 = *(var_3ch);
| /* fcn.0001cf08 */
0x0001e218 addiu t9, t9, -0x30f8 | t9 += -0x30f8;
0x0001e21c addiu a1, sp, 0x94 | a1 = sp + 0x94;
0x0001e220 bal 0x1cf08 | fcn_0001cf08 ();
0x0001e224 lw s0, 0x94(sp) | s0 = *(var_94h);
0x0001e228 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x0001e22c beqz s0, 0x1f3f4 | goto label_36;
| }
0x0001e230 lw v0, (s0) | v0 = *(s0);
0x0001e234 lw v1, 0x38(sp) | v1 = *(var_38h);
| if (v0 == 0) {
0x0001e238 beqz v0, 0x1f3f4 | goto label_36;
| }
0x0001e23c sw zero, (v1) | *(v1) = 0;
0x0001e240 lb v0, (v0) | v0 = *(v0);
0x0001e244 addiu v0, s0, 4 | v0 = s0 + 4;
| if (v0 == 0) {
0x0001e248 beqz v0, 0x1fc44 | goto label_37;
| }
0x0001e24c lw v1, (v0) | v1 = *(v0);
0x0001e250 b 0x1e260 |
| while (v1 == 0) {
0x0001e254 addiu v0, v0, 4 | v0 += 4;
| if (v1 == 0) {
0x0001e258 beqz v1, 0x1fc44 | goto label_37;
| }
0x0001e25c lw v1, (v0) | v1 = *(v0);
0x0001e260 lb v1, (v1) | v1 = *(v1);
0x0001e264 bnel v1, zero, 0x1e254 |
| }
0x0001e268 lw t9, -0x7ee4(gp) | t9 = sym.map_getRootGroup;
0x0001e26c bal 0x708c | sym_map_getRootGroup ();
0x0001e270 nop |
0x0001e274 lw a0, (s0) | a0 = *(s0);
0x0001e278 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e27c move s1, v0 | s1 = v0;
| if (a0 == 0) {
0x0001e280 beqz a0, 0x1fac8 | goto label_38;
| }
0x0001e284 addiu fp, sp, 0xb8 | fp = sp + 0xb8;
0x0001e288 move s2, zero | s2 = 0;
0x0001e28c sw fp, 0x5c(sp) | *(var_5ch) = fp;
0x0001e290 addiu s6, zero, -2 | s6 = -2;
0x0001e294 addiu s4, zero, -1 | s4 = -1;
0x0001e298 addiu s3, zero, -3 | s3 = -3;
0x0001e29c addiu s7, zero, 1 | s7 = 1;
| do {
0x0001e2a0 lw t9, -0x7f08(gp) | t9 = sym.map_createGroup;
0x0001e2a4 move a2, fp | a2 = fp;
0x0001e2a8 move a1, s1 | a1 = s1;
0x0001e2ac bal 0x6ccc | sym_map_createGroup ();
0x0001e2b0 lw v1, 0x38(sp) | v1 = *(var_38h);
0x0001e2b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e2b8 sw v0, (v1) | *(v1) = v0;
| if (v0 == s6) {
0x0001e2bc beq v0, s6, 0x1f40c | goto label_22;
| }
0x0001e2c0 sll a0, s2, 2 | a0 = s2 << 2;
| if (v0 == s4) {
0x0001e2c4 beq v0, s4, 0x1f458 | goto label_39;
| }
0x0001e2c8 lw s1, 0xb8(sp) | s1 = *(var_b8h);
| if (v0 == s3) {
0x0001e2cc beq v0, s3, 0x1e338 | goto label_40;
| }
0x0001e2d0 sw s7, 0xc(s1) | *((s1 + 3)) = s7;
| label_8:
0x0001e2d4 addiu v0, s2, 1 | v0 = s2 + 1;
0x0001e2d8 sll a0, v0, 2 | a0 = v0 << 2;
0x0001e2dc lwx a0, a0(s0) | __asm ("lwx a0, a0(s0)");
| if (a0 == 0) {
0x0001e2e0 beql a0, zero, 0x1fad4 | goto label_41;
| }
0x0001e2e4 sll s2, s2, 2 | s2 <<= 2;
0x0001e2e8 move s2, v0 | s2 = v0;
0x0001e2ec b 0x1e2a0 |
| } while (1);
| label_34:
0x0001e2f0 sw zero, 0x2c(sp) | *(var_2ch) = 0;
| label_0:
0x0001e2f4 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001e2f8 lw a0, 0x144(sp) | a0 = *(var_144h);
0x0001e2fc lw v1, (v0) | v1 = *(v0);
0x0001e300 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (a0 != v1) {
0x0001e304 bne a0, v1, 0x203c8 | goto label_42;
| }
0x0001e308 lw ra, 0x16c(sp) | ra = *(var_16ch);
0x0001e30c lw fp, 0x168(sp) | fp = *(var_168h);
0x0001e310 lw s7, 0x164(sp) | s7 = *(var_164h);
0x0001e314 lw s6, 0x160(sp) | s6 = *(var_160h);
0x0001e318 lw s5, 0x15c(sp) | s5 = *(var_15ch);
0x0001e31c lw s4, 0x158(sp) | s4 = *(var_158h);
0x0001e320 lw s3, 0x154(sp) | s3 = *(var_154h);
0x0001e324 lw s2, 0x150(sp) | s2 = *(var_150h);
0x0001e328 lw s1, 0x14c(sp) | s1 = *(var_14ch);
0x0001e32c lw s0, 0x148(sp) | s0 = *(var_148h);
0x0001e330 addiu sp, sp, 0x170 |
0x0001e334 jr ra | return v0;
| label_40:
0x0001e338 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001e33c sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001e340 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0001e344 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| label_26:
0x0001e348 lw s0, 0x94(sp) | s0 = *(var_94h);
| if (v0 == 0) {
0x0001e34c beqz v0, 0x205e8 | goto label_43;
| }
| label_23:
0x0001e350 sw zero, 0xb4(sp) | *(var_b4h) = 0;
0x0001e354 sw zero, 0xb8(sp) | *(var_b8h) = 0;
| if (s0 == 0) {
0x0001e358 beqz s0, 0x1fe00 | goto label_44;
| }
0x0001e35c lw a0, (s0) | a0 = *(s0);
0x0001e360 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
| if (a0 == 0) {
0x0001e364 beqz a0, 0x1fe04 | goto label_45;
| }
0x0001e368 addiu s2, s0, 4 | s2 = s0 + 4;
0x0001e36c move s1, zero | s1 = 0;
| do {
0x0001e370 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e374 addiu s2, s2, 4 | s2 += 4;
0x0001e378 jalr t9 | t9 ();
0x0001e37c lw a0, -4(s2) | a0 = *((s2 - 1));
0x0001e380 addiu s1, s1, 1 | s1++;
0x0001e384 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e388 addu s1, s1, v0 | s1 += v0;
0x0001e38c bnez a0, 0x1e370 |
| } while (a0 != 0);
0x0001e390 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e394 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0001e398 jalr t9 | t9 ();
0x0001e39c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e3a0 addu v0, s1, v0 | v0 = s1 + v0;
0x0001e3a4 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e3a8 addiu a0, v0, 1 | a0 = v0 + 1;
0x0001e3ac jalr t9 | t9 ();
0x0001e3b0 move s1, v0 | s1 = v0;
0x0001e3b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e3b8 beqz v0, 0x1ffe4 | goto label_46;
| }
0x0001e3bc lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e3c0 addiu a0, zero, 0xe | a0 = 0xe;
0x0001e3c4 jalr t9 | t9 ();
0x0001e3c8 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0001e3cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e3d0 beqz v0, 0x1ff88 | goto label_47;
| }
0x0001e3d4 lw s7, -0x7fd4(gp) | s7 = *((gp - 8181));
0x0001e3d8 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e3dc lw s3, -0x4524(s7) | s3 = *((s7 - 4425));
0x0001e3e0 move a0, s3 | a0 = s3;
0x0001e3e4 jalr t9 | t9 ();
0x0001e3e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e3ec move a0, s5 | a0 = s5;
0x0001e3f0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e3f4 move s2, v0 | s2 = v0;
0x0001e3f8 jalr t9 | t9 ();
0x0001e3fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e400 addu s2, s2, v0 | s2 += v0;
0x0001e404 addiu s2, s2, 0xb | s2 += 0xb;
0x0001e408 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e40c move a0, s2 | a0 = s2;
0x0001e410 jalr t9 | t9 ();
0x0001e414 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0001e418 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e41c sw v0, 0xbc(sp) | *(var_bch) = v0;
| if (v0 == 0) {
0x0001e420 beqz v0, 0x1ff1c | goto label_48;
| }
0x0001e424 lw fp, -0x7fd4(gp) | fp = *((gp - 8181));
0x0001e428 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e42c lw a0, -0x4528(fp) | a0 = *(var_4528h);
0x0001e430 jalr t9 | t9 ();
0x0001e434 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e438 move a0, s3 | a0 = s3;
0x0001e43c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e440 move s6, v0 | s6 = v0;
0x0001e444 jalr t9 | t9 ();
0x0001e448 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e44c addu a0, s2, s6 | a0 = s2 + s6;
0x0001e450 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e454 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x0001e458 jalr t9 | t9 ();
0x0001e45c sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0001e460 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e464 sw v0, 0xc0(sp) | *(var_c0h) = v0;
| if (v0 == 0) {
0x0001e468 beqz v0, 0x1fea0 | goto label_49;
| }
0x0001e46c lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001e470 lw a1, (s0) | a1 = *(s0);
0x0001e474 move a0, s1 | a0 = s1;
0x0001e478 jalr t9 | t9 ();
0x0001e47c lw s3, 4(s0) | s3 = *((s0 + 1));
0x0001e480 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e484 addiu s0, s0, 8 | s0 += 8;
0x0001e488 addiu s2, zero, 0x2e | s2 = 0x2e;
| if (s3 == 0) {
0x0001e48c beqz s3, 0x1e4cc | goto label_50;
| }
| do {
0x0001e490 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e494 move a0, s1 | a0 = s1;
0x0001e498 jalr t9 | t9 ();
0x0001e49c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e4a0 addu v1, s1, v0 | v1 = s1 + v0;
0x0001e4a4 addiu v0, v0, 1 | v0++;
0x0001e4a8 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001e4ac addiu s0, s0, 4 | s0 += 4;
0x0001e4b0 move a1, s3 | a1 = s3;
0x0001e4b4 sb s2, (v1) | *(v1) = s2;
0x0001e4b8 addu a0, s1, v0 | a0 = s1 + v0;
0x0001e4bc jalr t9 | t9 ();
0x0001e4c0 lw s3, -4(s0) | s3 = *((s0 - 1));
0x0001e4c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e4c8 bnez s3, 0x1e490 |
| } while (s3 != 0);
| label_50:
0x0001e4cc lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0001e4d0 move a0, s1 | a0 = s1;
| /* fcn.0001dca8 */
0x0001e4d4 addiu t9, v0, -0x2358 | t9 = v0 + -0x2358;
0x0001e4d8 sw t9, 0x78(sp) | *(var_78h) = t9;
0x0001e4dc bal 0x1dca8 | fcn_0001dca8 ();
0x0001e4e0 move s0, v0 | s0 = v0;
0x0001e4e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e4e8 beqz v0, 0x1f474 | goto label_51;
| }
0x0001e4ec lw v0, 0x14(v0) | v0 = *((v0 + 5));
0x0001e4f0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001e4f4 sw v0, 0xb8(sp) | *(var_b8h) = v0;
0x0001e4f8 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001e4fc lw a0, 0xc(s0) | a0 = *((s0 + 3));
0x0001e500 addiu a1, a1, -0x6754 | a1 += -0x6754;
0x0001e504 jalr t9 | t9 ();
0x0001e508 move s3, v0 | s3 = v0;
0x0001e50c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e510 beqz v0, 0x200d8 | goto label_52;
| }
0x0001e514 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001e518 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
| /* str._tmp */
0x0001e51c addiu t0, v0, -0x6d4c | t0 = v0 + -0x6d4c;
0x0001e520 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001e524 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x0001e528 lw s4, 0x44(sp) | s4 = *(var_44h);
0x0001e52c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str.temp_par */
0x0001e530 addiu v0, v0, -0x6d64 | v0 += -0x6d64;
0x0001e534 sw v1, 0x64(sp) | *(var_64h) = v1;
0x0001e538 sw t0, 0x50(sp) | *(var_50h) = t0;
| /* str._s__s */
0x0001e53c addiu a3, v1, -0x7280 | a3 = v1 + -0x7280;
0x0001e540 addiu a2, zero, 0xe | a2 = 0xe;
0x0001e544 addiu a1, zero, 1 | a1 = 1;
0x0001e548 move a0, s4 | a0 = s4;
0x0001e54c sw t0, 0x10(sp) | *(var_10h) = t0;
0x0001e550 sw s2, 0x6c(sp) | *(var_6ch) = s2;
0x0001e554 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001e558 jalr t9 | t9 ();
0x0001e55c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e560 addiu a1, s2, 0x68e0 | a1 = s2 + 0x68e0;
0x0001e564 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001e568 move a0, s4 | a0 = s4;
0x0001e56c jalr t9 | t9 ();
0x0001e570 move s2, v0 | s2 = v0;
0x0001e574 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e578 beqz v0, 0x20370 | goto label_53;
| }
0x0001e57c lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001e580 sw v0, 0x68(sp) | *(var_68h) = v0;
| label_9:
0x0001e584 lw v0, 0xb8(sp) | v0 = *(var_b8h);
0x0001e588 move s0, zero | s0 = 0;
0x0001e58c sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0001e590 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0001e594 addiu s4, sp, 0xb4 | s4 = sp + 0xb4;
| /* fcn.0001d1d8 */
0x0001e598 addiu v0, v0, -0x2e28 | v0 += -0x2e28;
0x0001e59c sw v0, 0x30(sp) | *(var_30h) = v0;
0x0001e5a0 addiu s6, zero, -1 | s6 = -1;
0x0001e5a4 b 0x1e5c0 |
| while (v0 != 0) {
0x0001e5a8 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
0x0001e5ac move a1, s2 | a1 = s2;
0x0001e5b0 move a0, s0 | a0 = s0;
0x0001e5b4 jalr t9 | t9 ();
0x0001e5b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == s6) {
0x0001e5bc beq v0, s6, 0x1f35c | goto label_54;
| }
0x0001e5c0 lw t9, 0x30(sp) | t9 = *(var_30h);
0x0001e5c4 move a1, s0 | a1 = s0;
0x0001e5c8 move a2, s4 | a2 = s4;
0x0001e5cc move a0, s3 | a0 = s3;
0x0001e5d0 jalr t9 | t9 ();
0x0001e5d4 move s0, v0 | s0 = v0;
0x0001e5d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e5dc bnez v0, 0x1e5a8 |
| }
0x0001e5e0 lw s6, -0x7fbc(gp) | s6 = *((gp - 8175));
0x0001e5e4 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
0x0001e5e8 lw v0, -0x4524(s7) | v0 = *((s7 - 4425));
0x0001e5ec lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._par.conf */
0x0001e5f0 addiu s6, s6, -0x6d7c | s6 += -0x6d7c;
0x0001e5f4 lw a0, 0xbc(sp) | a0 = *(var_bch);
| /* str._s__s_s */
0x0001e5f8 addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x0001e5fc sw v1, 0x34(sp) | *(var_34h) = v1;
0x0001e600 addiu a2, zero, -1 | a2 = -1;
0x0001e604 addiu a1, zero, 1 | a1 = 1;
0x0001e608 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0001e60c sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001e610 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001e614 jalr t9 | t9 ();
0x0001e618 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e61c lw v1, 0x34(sp) | v1 = *(var_34h);
0x0001e620 lw v0, -0x4528(fp) | v0 = *(var_4528h);
0x0001e624 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001e628 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001e62c addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x0001e630 addiu a2, zero, -1 | a2 = -1;
0x0001e634 addiu a1, zero, 1 | a1 = 1;
0x0001e638 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0001e63c sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001e640 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001e644 jalr t9 | t9 ();
0x0001e648 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e64c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e650 move a0, s1 | a0 = s1;
0x0001e654 jalr t9 | t9 ();
0x0001e658 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e65c addu a2, s1, v0 | a2 = s1 + v0;
0x0001e660 addiu v0, v0, 1 | v0++;
0x0001e664 addu a0, s1, v0 | a0 = s1 + v0;
0x0001e668 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001e66c lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x0001e670 addiu v0, zero, 0x2e | v0 = 0x2e;
0x0001e674 sb v0, (a2) | *(a2) = v0;
0x0001e678 jalr t9 | t9 ();
0x0001e67c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e680 addiu v0, sp, 0xbc | v0 = sp + 0xbc;
0x0001e684 move a1, v0 | a1 = v0;
0x0001e688 sw v0, 0x80(sp) | *(var_80h) = v0;
0x0001e68c lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0001e690 move a3, zero | a3 = 0;
| /* fcn.0001d3e0 */
0x0001e694 addiu t9, v0, -0x2c20 | t9 = v0 + -0x2c20;
0x0001e698 move a2, s1 | a2 = s1;
0x0001e69c move a0, s2 | a0 = s2;
0x0001e6a0 sw t9, 0x84(sp) | *(var_84h) = t9;
0x0001e6a4 bal 0x1d3e0 | fcn_0001d3e0 ();
0x0001e6a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e6ac move a0, s3 | a0 = s3;
0x0001e6b0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001e6b4 move s3, v0 | s3 = v0;
0x0001e6b8 jalr t9 | t9 ();
0x0001e6bc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e6c0 lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x0001e6c4 move a0, s2 | a0 = s2;
0x0001e6c8 jalr t9 | t9 ();
0x0001e6cc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e6d0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001e6d4 move a0, s2 | a0 = s2;
0x0001e6d8 jalr t9 | t9 ();
0x0001e6dc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e6e0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e6e4 move a0, s1 | a0 = s1;
0x0001e6e8 jalr t9 | t9 ();
0x0001e6ec lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e6f0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e6f4 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001e6f8 jalr t9 | t9 ();
0x0001e6fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e700 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e704 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001e708 jalr t9 | t9 ();
0x0001e70c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s3 < 0) {
0x0001e710 bgez s3, 0x1e8a0 |
0x0001e714 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001e718 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001e71c move s1, zero | s1 = 0;
0x0001e720 jalr t9 | t9 ();
0x0001e724 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e728 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001e72c sw zero, 0x6c(sp) | *(var_6ch) = 0;
| label_2:
0x0001e730 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e734 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0001e738 jalr t9 | t9 ();
0x0001e73c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e740 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0001e744 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e748 move s0, v0 | s0 = v0;
0x0001e74c jalr t9 | t9 ();
0x0001e750 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e754 addu v0, s0, v0 | v0 = s0 + v0;
0x0001e758 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e75c addiu a0, v0, 2 | a0 = v0 + 2;
0x0001e760 jalr t9 | t9 ();
0x0001e764 move s0, v0 | s0 = v0;
0x0001e768 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e76c beqz v0, 0x1f764 | goto label_55;
| }
0x0001e770 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001e774 lw a3, -0x7fc4(gp) | a3 = *(gp);
0x0001e778 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001e77c lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001e780 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001e784 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s._s */
0x0001e788 addiu a3, a3, 0x61b4 | a3 += 0x61b4;
0x0001e78c addiu a2, zero, -1 | a2 = -1;
0x0001e790 addiu a1, zero, 1 | a1 = 1;
0x0001e794 move a0, s0 | a0 = s0;
0x0001e798 jalr t9 | t9 ();
0x0001e79c lw v0, 0x180(sp) | v0 = *(arg_180h);
0x0001e7a0 sltiu v0, v0, 9 | v0 = (v0 < 9) ? 1 : 0;
0x0001e7a4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001e7a8 bnez v0, 0x1f5bc | goto label_56;
| }
0x0001e7ac lw t9, -0x7da0(gp) | t9 = sym.map_removeGroupByPath;
0x0001e7b0 lw a2, 0x180(sp) | a2 = *(arg_180h);
0x0001e7b4 move a1, zero | a1 = 0;
0x0001e7b8 move a0, s0 | a0 = s0;
0x0001e7bc bal 0x8250 | sym_map_removeGroupByPath ();
0x0001e7c0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_12:
0x0001e7c4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e7c8 move a0, s0 | a0 = s0;
0x0001e7cc jalr t9 | t9 ();
0x0001e7d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e7d4 lw s0, 0x94(sp) | s0 = *(var_94h);
| label_7:
0x0001e7d8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e7dc lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0001e7e0 jalr t9 | t9 ();
0x0001e7e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e7e8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e7ec move a0, s0 | a0 = s0;
0x0001e7f0 jalr t9 | t9 ();
0x0001e7f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e7f8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e7fc lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001e800 jalr t9 | t9 ();
0x0001e804 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e808 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e80c lw a0, 0x54(sp) | a0 = *(var_54h);
0x0001e810 jalr t9 | t9 ();
0x0001e814 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e818 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e81c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0001e820 jalr t9 | t9 ();
0x0001e824 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e828 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e82c lw a0, 0x68(sp) | a0 = *(var_68h);
0x0001e830 jalr t9 | t9 ();
0x0001e834 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e838 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e83c move a0, s1 | a0 = s1;
0x0001e840 jalr t9 | t9 ();
0x0001e844 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e848 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e84c lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0001e850 jalr t9 | t9 ();
0x0001e854 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e858 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001e85c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0001e860 jalr t9 | t9 ();
0x0001e864 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0001e868 lw v1, (v0) | v1 = *(v0);
0x0001e86c addiu v0, zero, -1 | v0 = -1;
0x0001e870 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == v0) {
0x0001e874 beq v1, v0, 0x1f590 | goto label_57;
| }
0x0001e878 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001e87c lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001e880 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
0x0001e884 lw a2, 0x40(sp) | a2 = *(var_40h);
| /* str.Creating_group_for__s_failed_ */
0x0001e888 addiu a1, a1, -0x70b0 | a1 += -0x70b0;
0x0001e88c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001e890 bal 0x19b04 | sym_loginfo ();
0x0001e894 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e898 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001e89c b 0x1e2f4 | goto label_0;
| }
0x0001e8a0 lw v0, 0x94(sp) | v0 = *(var_94h);
0x0001e8a4 sw v0, 0x60(sp) | *(var_60h) = v0;
| if (v0 == 0) {
0x0001e8a8 beqz v0, 0x1fe90 | goto label_58;
| }
0x0001e8ac lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0001e8b0 lw v0, 0x60(sp) | v0 = *(var_60h);
| if (v0 == 0) {
0x0001e8b4 beqz v0, 0x1fe90 | goto label_58;
| }
0x0001e8b8 lw a0, (v0) | a0 = *(v0);
| if (a0 == 0) {
0x0001e8bc beql a0, zero, 0x1e8f0 | goto label_59;
| }
0x0001e8c0 move s3, zero | s3 = 0;
0x0001e8c4 addiu s2, v0, 4 | s2 = v0 + 4;
0x0001e8c8 move s1, zero | s1 = 0;
| do {
0x0001e8cc lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e8d0 addiu s2, s2, 4 | s2 += 4;
0x0001e8d4 jalr t9 | t9 ();
0x0001e8d8 addiu s1, s1, 1 | s1++;
0x0001e8dc lw a0, -4(s2) | a0 = *((s2 - 1));
0x0001e8e0 addu s1, s1, v0 | s1 += v0;
0x0001e8e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e8e8 move s3, s1 | s3 = s1;
0x0001e8ec bnez a0, 0x1e8cc |
| } while (a0 != 0);
| label_59:
0x0001e8f0 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e8f4 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0001e8f8 jalr t9 | t9 ();
0x0001e8fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e900 addu v0, v0, s3 | v0 += s3;
0x0001e904 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e908 addiu a0, v0, 1 | a0 = v0 + 1;
0x0001e90c jalr t9 | t9 ();
0x0001e910 move s3, v0 | s3 = v0;
0x0001e914 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e918 beqz v0, 0x20234 | goto label_60;
| }
0x0001e91c lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e920 addiu a0, zero, 0xe | a0 = 0xe;
0x0001e924 jalr t9 | t9 ();
0x0001e928 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0001e92c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e930 beqz v0, 0x201f4 | goto label_61;
| }
0x0001e934 lw s6, -0x4524(s7) | s6 = *((s7 - 4425));
0x0001e938 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e93c move a0, s6 | a0 = s6;
0x0001e940 jalr t9 | t9 ();
0x0001e944 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e948 move a0, s5 | a0 = s5;
0x0001e94c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e950 move s2, v0 | s2 = v0;
0x0001e954 jalr t9 | t9 ();
0x0001e958 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e95c addu s2, s2, v0 | s2 += v0;
0x0001e960 addiu s2, s2, 0xb | s2 += 0xb;
0x0001e964 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e968 move a0, s2 | a0 = s2;
0x0001e96c jalr t9 | t9 ();
0x0001e970 move s1, v0 | s1 = v0;
0x0001e974 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e978 sw v0, 0xbc(sp) | *(var_bch) = v0;
| if (v0 == 0) {
0x0001e97c beqz v0, 0x201a4 | goto label_62;
| }
0x0001e980 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e984 lw a0, -0x4528(fp) | a0 = *(var_4528h);
0x0001e988 jalr t9 | t9 ();
0x0001e98c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e990 move a0, s6 | a0 = s6;
0x0001e994 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e998 move s1, v0 | s1 = v0;
0x0001e99c jalr t9 | t9 ();
0x0001e9a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e9a4 addu a0, s2, s1 | a0 = s2 + s1;
0x0001e9a8 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001e9ac subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x0001e9b0 jalr t9 | t9 ();
0x0001e9b4 move s1, v0 | s1 = v0;
0x0001e9b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e9bc sw v0, 0xc0(sp) | *(var_c0h) = v0;
| if (v0 == 0) {
0x0001e9c0 beqz v0, 0x20144 | goto label_63;
| }
0x0001e9c4 lw s1, 0x60(sp) | s1 = *(var_60h);
0x0001e9c8 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001e9cc move a0, s3 | a0 = s3;
0x0001e9d0 lw a1, (s1) | a1 = *(s1);
0x0001e9d4 addiu s2, zero, 0x2e | s2 = 0x2e;
0x0001e9d8 jalr t9 | t9 ();
0x0001e9dc lw s6, 4(s1) | s6 = *((s1 + 1));
0x0001e9e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e9e4 addiu s1, s1, 8 | s1 += 8;
| if (s6 == 0) {
0x0001e9e8 beqz s6, 0x1ea28 | goto label_64;
| }
| do {
0x0001e9ec lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001e9f0 move a0, s3 | a0 = s3;
0x0001e9f4 jalr t9 | t9 ();
0x0001e9f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e9fc addu v1, s3, v0 | v1 = s3 + v0;
0x0001ea00 addiu v0, v0, 1 | v0++;
0x0001ea04 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001ea08 addiu s1, s1, 4 | s1 += 4;
0x0001ea0c move a1, s6 | a1 = s6;
0x0001ea10 sb s2, (v1) | *(v1) = s2;
0x0001ea14 addu a0, s3, v0 | a0 = s3 + v0;
0x0001ea18 jalr t9 | t9 ();
0x0001ea1c lw s6, -4(s1) | s6 = *((s1 - 1));
0x0001ea20 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ea24 bnez s6, 0x1e9ec |
| } while (s6 != 0);
| label_64:
0x0001ea28 lw t9, 0x78(sp) | t9 = *(var_78h);
0x0001ea2c move a0, s3 | a0 = s3;
0x0001ea30 jalr t9 | t9 ();
0x0001ea34 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ea38 beqz v0, 0x1f7bc | goto label_65;
| }
0x0001ea3c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001ea40 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001ea44 lw a0, 8(v0) | a0 = *((v0 + 2));
0x0001ea48 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0001ea4c addiu a1, a1, -0x6754 | a1 += -0x6754;
0x0001ea50 sw zero, 0x98(sp) | *(var_98h) = 0;
0x0001ea54 jalr t9 | t9 ();
0x0001ea58 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ea5c lw t0, 0x70(sp) | t0 = *(var_70h);
0x0001ea60 move s6, v0 | s6 = v0;
| label_16:
0x0001ea64 lw v0, 0x64(sp) | v0 = *(var_64h);
| if (s6 == 0) {
0x0001ea68 beqz s6, 0x20268 | goto label_66;
| }
0x0001ea6c lw s1, -0x7fbc(gp) | s1 = *((gp - 8175));
0x0001ea70 lw s2, 0x54(sp) | s2 = *(var_54h);
0x0001ea74 addiu a3, v0, -0x7280 | a3 = v0 + -0x7280;
0x0001ea78 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001ea7c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str.temp_grp */
0x0001ea80 addiu s1, s1, -0x6d58 | s1 += -0x6d58;
0x0001ea84 sw t0, 0x70(sp) | *(var_70h) = t0;
0x0001ea88 move a0, s2 | a0 = s2;
0x0001ea8c addiu a2, zero, 0xe | a2 = 0xe;
0x0001ea90 addiu a1, zero, 1 | a1 = 1;
0x0001ea94 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0001ea98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ea9c jalr t9 | t9 ();
0x0001eaa0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eaa4 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x0001eaa8 move a0, s2 | a0 = s2;
0x0001eaac lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001eab0 addiu a1, v0, 0x68e0 | a1 = v0 + 0x68e0;
0x0001eab4 jalr t9 | t9 ();
0x0001eab8 move s2, v0 | s2 = v0;
0x0001eabc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eac0 lw t0, 0x70(sp) | t0 = *(var_70h);
| if (v0 == 0) {
0x0001eac4 beqz v0, 0x203d4 | goto label_67;
| }
0x0001eac8 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
| if (t0 == 0) {
0x0001eacc beqz t0, 0x1fa3c | goto label_68;
| }
0x0001ead0 lw v0, 8(t0) | v0 = *((t0 + 2));
0x0001ead4 sw v0, 0x6c(sp) | *(var_6ch) = v0;
| label_21:
0x0001ead8 lw v0, -0x4524(s7) | v0 = *((s7 - 4425));
0x0001eadc lw s7, -0x7fbc(gp) | s7 = *((gp - 8175));
0x0001eae0 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0001eae4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._grp.conf */
0x0001eae8 addiu s7, s7, -0x6d70 | s7 += -0x6d70;
0x0001eaec lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001eaf0 addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x0001eaf4 addiu a2, zero, -1 | a2 = -1;
0x0001eaf8 addiu a1, zero, 1 | a1 = 1;
0x0001eafc sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001eb00 sw s7, 0x18(sp) | *(var_18h) = s7;
0x0001eb04 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001eb08 lw s1, 0x98(sp) | s1 = *(var_98h);
0x0001eb0c jalr t9 | t9 ();
0x0001eb10 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eb14 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0001eb18 lw v0, -0x4528(fp) | v0 = *(var_4528h);
0x0001eb1c lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001eb20 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001eb24 addiu a3, v1, -0x7288 | a3 = v1 + -0x7288;
0x0001eb28 addiu a2, zero, -1 | a2 = -1;
0x0001eb2c addiu a1, zero, 1 | a1 = 1;
0x0001eb30 sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001eb34 sw s7, 0x18(sp) | *(var_18h) = s7;
0x0001eb38 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001eb3c jalr t9 | t9 ();
0x0001eb40 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eb44 move a0, s3 | a0 = s3;
0x0001eb48 move s5, zero | s5 = 0;
0x0001eb4c lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001eb50 addiu fp, sp, 0x9c | fp = sp + 0x9c;
0x0001eb54 jalr t9 | t9 ();
0x0001eb58 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eb5c addu a0, s3, v0 | a0 = s3 + v0;
0x0001eb60 addiu a1, zero, 0x2e | a1 = 0x2e;
0x0001eb64 sb a1, (a0) | *(a0) = a1;
0x0001eb68 lw t9, -0x7c60(gp) | t9 = sym.map_getChildGroupByParentGroupAndNr;
0x0001eb6c addiu v0, v0, 1 | v0++;
0x0001eb70 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x0001eb74 addu a0, s3, v0 | a0 = s3 + v0;
0x0001eb78 jalr t9 | t9 ();
0x0001eb7c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eb80 sw zero, 0xa0(sp) | *(var_a0h) = 0;
0x0001eb84 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x0001eb88 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0001eb8c sw zero, 0x9c(sp) | *(var_9ch) = 0;
0x0001eb90 addiu v0, v0, -0x2fd4 | v0 += -0x2fd4;
0x0001eb94 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0001eb98 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001eb9c sw zero, 0x50(sp) | *(var_50h) = 0;
| /* str.group__s__n */
0x0001eba0 addiu v0, v0, -0x71e8 | v0 += -0x71e8;
0x0001eba4 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0001eba8 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0001ebac sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x0001ebb0 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0001ebb4 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001ebb8 sw v0, 0x74(sp) | *(var_74h) = v0;
0x0001ebbc lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| /* str._group__c_u_ */
0x0001ebc0 addiu v0, v0, -0x7240 | v0 += -0x7240;
0x0001ebc4 sw v0, 0x8c(sp) | *(var_8ch) = v0;
| do {
| label_1:
0x0001ebc8 lw t9, 0x30(sp) | t9 = *(var_30h);
| label_6:
0x0001ebcc move a1, s0 | a1 = s0;
0x0001ebd0 move a2, fp | a2 = fp;
0x0001ebd4 move a0, s6 | a0 = s6;
0x0001ebd8 jalr t9 | t9 ();
0x0001ebdc move s0, v0 | s0 = v0;
0x0001ebe0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ebe4 beqz v0, 0x1f578 | goto label_69;
| }
0x0001ebe8 lw t9, 0x34(sp) | t9 = *(var_34h);
0x0001ebec addiu a2, sp, 0xa0 | a2 = sp + 0xa0;
0x0001ebf0 addiu a1, sp, 0xa4 | a1 = sp + 0xa4;
0x0001ebf4 move a0, s0 | a0 = s0;
0x0001ebf8 jalr t9 | t9 ();
0x0001ebfc lw gp, 0x20(sp) | gp = *(var_20h);
| if (s5 != 0) {
0x0001ec00 bnez s5, 0x1f0a0 | goto label_70;
| }
0x0001ec04 lw v0, 0x64(sp) | v0 = *(var_64h);
0x0001ec08 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x0001ec0c addiu a1, v0, 0x6e58 | a1 = v0 + 0x6e58;
0x0001ec10 move a0, s0 | a0 = s0;
0x0001ec14 jalr t9 | t9 ();
0x0001ec18 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ec1c beqz v0, 0x1f0a0 | goto label_70;
| }
0x0001ec20 lw v1, 0x74(sp) | v1 = *(var_74h);
0x0001ec24 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
0x0001ec28 addiu s7, sp, 0x104 | s7 = sp + aav.0x00000104;
0x0001ec2c addiu a1, v1, -0x7278 | a1 = v1 + -0x7278;
0x0001ec30 move a3, s7 | a3 = s7;
0x0001ec34 addiu a2, sp, 0xc4 | a2 = sp + 0xc4;
0x0001ec38 move a0, v0 | a0 = v0;
0x0001ec3c jalr t9 | t9 ();
0x0001ec40 addiu v1, zero, 2 | v1 = 2;
0x0001ec44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001ec48 beq v0, v1, 0x1f2d0 | goto label_71;
| }
| label_18:
0x0001ec4c lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| label_5:
0x0001ec50 move a1, s2 | a1 = s2;
| label_15:
0x0001ec54 move a0, s0 | a0 = s0;
0x0001ec58 jalr t9 | t9 ();
0x0001ec5c addiu v1, zero, -1 | v1 = -1;
0x0001ec60 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ec64 bne v0, v1, 0x1ebc8 |
| } while (v0 != v1);
0x0001ec68 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001ec6c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001ec70 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001ec74 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001ec78 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.add_group */
0x0001ec7c addiu a2, a2, -0x6e18 | a2 += -0x6e18;
| /* str.s__putting_line_to_file_failed_ */
0x0001ec80 addiu a1, a1, -0x7008 | a1 += -0x7008;
0x0001ec84 bal 0x19b80 | sym_logerr ();
0x0001ec88 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ec8c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001ec90 move a0, s0 | a0 = s0;
0x0001ec94 jalr t9 | t9 ();
0x0001ec98 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001ec9c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001eca0 bnez v0, 0x1f11c | goto label_33;
| }
0x0001eca4 lw v0, 0x60(sp) | v0 = *(var_60h);
| label_10:
0x0001eca8 lw v0, (v0) | v0 = *(v0);
0x0001ecac lw v1, 0x60(sp) | v1 = *(var_60h);
| if (v0 == 0) {
0x0001ecb0 beqz v0, 0x1ed1c | goto label_72;
| }
0x0001ecb4 lw s5, -0x7fbc(gp) | s5 = *((gp - 8175));
0x0001ecb8 addiu s0, v1, 4 | s0 = v1 + 4;
0x0001ecbc addiu s7, sp, 0xc4 | s7 = sp + 0xc4;
| /* str.group__s__n */
0x0001ecc0 addiu s5, s5, -0x71e8 | s5 += -0x71e8;
| do {
0x0001ecc4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001ecc8 move a3, s5 | a3 = s5;
0x0001eccc addiu a2, zero, 0x40 | a2 = 0x40;
0x0001ecd0 addiu a1, zero, 1 | a1 = 1;
0x0001ecd4 move a0, s7 | a0 = s7;
0x0001ecd8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001ecdc jalr t9 | t9 ();
0x0001ece0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ece4 move a0, s7 | a0 = s7;
0x0001ece8 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001ecec addiu s0, s0, 4 | s0 += 4;
0x0001ecf0 jalr t9 | t9 ();
0x0001ecf4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ecf8 move a3, s2 | a3 = s2;
0x0001ecfc move a2, v0 | a2 = v0;
0x0001ed00 lw t9, -0x7c94(gp) | t9 = sym.imp.fwrite;
0x0001ed04 addiu a1, zero, 1 | a1 = 1;
0x0001ed08 move a0, s7 | a0 = s7;
0x0001ed0c jalr t9 | t9 ();
0x0001ed10 lw v0, -4(s0) | v0 = *((s0 - 1));
0x0001ed14 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ed18 bnez v0, 0x1ecc4 |
| } while (v0 != 0);
| label_72:
0x0001ed1c lw a3, 0x4c(sp) | a3 = *(var_4ch);
0x0001ed20 lw a1, 0x80(sp) | a1 = *(var_80h);
0x0001ed24 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0001ed28 move a0, s2 | a0 = s2;
0x0001ed2c move a2, s3 | a2 = s3;
0x0001ed30 jalr t9 | t9 ();
0x0001ed34 lw a0, 0x60(sp) | a0 = *(var_60h);
0x0001ed38 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ed3c sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001ed40 lw v1, (a0) | v1 = *(a0);
0x0001ed44 addiu s0, a0, 4 | s0 = a0 + 4;
| if (v1 == 0) {
0x0001ed48 beqz v1, 0x1ed80 | goto label_73;
| }
| do {
0x0001ed4c lw t9, -0x7cc0(gp) | t9 = sym.imp.fputc;
0x0001ed50 move a1, s2 | a1 = s2;
0x0001ed54 addiu a0, zero, 0x7d | a0 = 0x7d;
0x0001ed58 jalr t9 | t9 ();
0x0001ed5c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ed60 addiu s0, s0, 4 | s0 += 4;
0x0001ed64 move a1, s2 | a1 = s2;
0x0001ed68 lw t9, -0x7cc0(gp) | t9 = sym.imp.fputc;
0x0001ed6c addiu a0, zero, 0xa | a0 = 0xa;
0x0001ed70 jalr t9 | t9 ();
0x0001ed74 lw v0, -4(s0) | v0 = *((s0 - 1));
0x0001ed78 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ed7c bnez v0, 0x1ed4c |
| } while (v0 != 0);
| label_73:
0x0001ed80 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
| label_11:
0x0001ed84 move a0, s6 | a0 = s6;
0x0001ed88 jalr t9 | t9 ();
0x0001ed8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ed90 lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x0001ed94 move a0, s2 | a0 = s2;
0x0001ed98 jalr t9 | t9 ();
0x0001ed9c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001eda0 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001eda4 move a0, s2 | a0 = s2;
0x0001eda8 jalr t9 | t9 ();
0x0001edac lw gp, 0x20(sp) | gp = *(var_20h);
0x0001edb0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001edb4 move a0, s3 | a0 = s3;
0x0001edb8 jalr t9 | t9 ();
0x0001edbc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001edc0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001edc4 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001edc8 jalr t9 | t9 ();
0x0001edcc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001edd0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001edd4 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001edd8 jalr t9 | t9 ();
0x0001eddc lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001ede0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0001ede4 bltz v0, 0x1f180 | goto label_28;
| }
0x0001ede8 lw s2, 0x68(sp) | s2 = *(var_68h);
0x0001edec lw s0, 0x44(sp) | s0 = *(var_44h);
0x0001edf0 lw t9, -0x7f18(gp) | t9 = sym.move_file;
0x0001edf4 move a1, s2 | a1 = s2;
0x0001edf8 move a0, s0 | a0 = s0;
0x0001edfc bal 0x22d4c | sym_move_file ();
0x0001ee00 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0001ee04 bltz v0, 0x1f88c | goto label_74;
| }
0x0001ee08 lw s2, 0x6c(sp) | s2 = *(var_6ch);
0x0001ee0c lw s0, 0x54(sp) | s0 = *(var_54h);
0x0001ee10 lw t9, -0x7f18(gp) | t9 = sym.move_file;
0x0001ee14 move a1, s2 | a1 = s2;
0x0001ee18 move a0, s0 | a0 = s0;
0x0001ee1c bal 0x22d4c | sym_move_file ();
0x0001ee20 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0001ee24 bltz v0, 0x1f7fc | goto label_75;
| }
0x0001ee28 lw t9, 0x78(sp) | t9 = *(var_78h);
0x0001ee2c lw a0, 0x40(sp) | a0 = *(var_40h);
0x0001ee30 jalr t9 | t9 ();
0x0001ee34 move s5, v0 | s5 = v0;
0x0001ee38 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ee3c beqz v0, 0x1fc6c | goto label_76;
| }
| label_25:
0x0001ee40 lw t9, -0x7e80(gp) | t9 = sym.map_getGroupByPath;
0x0001ee44 lw a0, 0x40(sp) | a0 = *(var_40h);
0x0001ee48 bal 0x7978 | sym_map_getGroupByPath ();
0x0001ee4c move s3, v0 | s3 = v0;
0x0001ee50 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ee54 beqz v0, 0x1fe64 | goto label_77;
| }
0x0001ee58 lw s6, 4(v0) | s6 = *((v0 + 1));
0x0001ee5c lw v0, -0x7fac(gp) | v0 = *(gp);
| if (s6 == 0) {
0x0001ee60 beqz s6, 0x1fd40 | goto label_78;
| }
0x0001ee64 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x0001ee68 move s0, zero | s0 = 0;
0x0001ee6c lw s2, (v0) | s2 = *(v0);
0x0001ee70 addiu a1, s6, 0x11 | a1 = s6 + 0x11;
| if (s2 == 0) {
0x0001ee74 beqz s2, 0x1f834 | goto label_79;
| }
0x0001ee78 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x0001ee7c move a0, s4 | a0 = s4;
0x0001ee80 jalr t9 | t9 ();
0x0001ee84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001ee88 bnez v0, 0x1f848 | void (*0x1f848)() ();
| }
| label_70:
0x0001f0a0 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001f0a4 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| if (v0 != 0) {
0x0001f0a8 beqz v0, 0x1f0c8 |
0x0001f0ac lw v1, 0xa0(sp) | v1 = *(var_a0h);
0x0001f0b0 subu v0, v0, v1 | __asm ("subu v0, v0, v1");
0x0001f0b4 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0001f0b8 addiu v0, v0, 1 | v0++;
| if (v1 == v0) {
0x0001f0bc beq v1, v0, 0x1f1a8 | goto label_80;
| }
0x0001f0c0 nop |
| label_4:
0x0001f0c4 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| }
| label_3:
0x0001f0c8 move a1, s2 | a1 = s2;
0x0001f0cc move a0, s0 | a0 = s0;
0x0001f0d0 jalr t9 | t9 ();
0x0001f0d4 addiu v1, zero, -1 | v1 = -1;
0x0001f0d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != v1) {
0x0001f0dc bne v0, v1, 0x1ebc8 | goto label_1;
| }
0x0001f0e0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f0e4 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f0e8 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f0ec lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001f0f0 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.add_group */
0x0001f0f4 addiu a2, a2, -0x6e18 | a2 += -0x6e18;
| /* str._s__putting_line_to_file_failed_ */
0x0001f0f8 addiu a1, a1, -0x726c | a1 += -0x726c;
0x0001f0fc bal 0x19b80 | sym_logerr ();
0x0001f100 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f104 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f108 move a0, s0 | a0 = s0;
0x0001f10c jalr t9 | t9 ();
0x0001f110 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001f114 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f118 beqz v0, 0x1f7ec | goto label_81;
| }
| label_33:
0x0001f11c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
| label_17:
0x0001f120 move a0, s6 | a0 = s6;
0x0001f124 jalr t9 | t9 ();
0x0001f128 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f12c lw t9, -0x7bfc(gp) | t9 = sym.imp.fflush;
0x0001f130 move a0, s2 | a0 = s2;
0x0001f134 jalr t9 | t9 ();
0x0001f138 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f13c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001f140 move a0, s2 | a0 = s2;
0x0001f144 jalr t9 | t9 ();
0x0001f148 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f14c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f150 move a0, s3 | a0 = s3;
0x0001f154 jalr t9 | t9 ();
0x0001f158 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f15c lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001f160 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_32:
0x0001f164 jalr t9 | t9 ();
0x0001f168 nop |
0x0001f16c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f170 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f174 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001f178 jalr t9 | t9 ();
0x0001f17c lw gp, 0x20(sp) | gp = *(var_20h);
| label_28:
0x0001f180 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001f184 lw a0, 0x44(sp) | a0 = *(var_44h);
| label_19:
0x0001f188 jalr t9 | t9 ();
0x0001f18c nop |
0x0001f190 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f194 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001f198 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0001f19c jalr t9 | t9 ();
0x0001f1a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f1a4 b 0x1e730 | goto label_2;
| label_80:
0x0001f1a8 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| if (s5 != 0) {
0x0001f1ac bnez s5, 0x1f0c8 | goto label_3;
| }
0x0001f1b0 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0001f1b4 sll s7, v1, 2 | s7 = v1 << 2;
0x0001f1b8 addu s7, v0, s7 | s7 = v0 + s7;
0x0001f1bc lw v0, (s7) | v0 = *(s7);
0x0001f1c0 move s5, v1 | s5 = v1;
| if (v0 == 0) {
0x0001f1c4 beqz v0, 0x1fba4 | goto label_82;
| }
0x0001f1c8 move a0, s7 | a0 = s7;
0x0001f1cc move v1, s4 | v1 = s4;
0x0001f1d0 addiu s7, sp, 0xc4 | s7 = sp + 0xc4;
0x0001f1d4 sw s0, 0x7c(sp) | *(var_7ch) = s0;
0x0001f1d8 move s4, s1 | s4 = s1;
0x0001f1dc move s0, s7 | s0 = s7;
0x0001f1e0 move s1, s5 | s1 = s5;
0x0001f1e4 move s7, a0 | s7 = a0;
0x0001f1e8 move s5, v1 | s5 = v1;
0x0001f1ec b 0x1f1f4 |
| while (v0 != 0) {
0x0001f1f0 move s1, t0 | s1 = t0;
0x0001f1f4 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001f1f8 lw a3, 0x70(sp) | a3 = *(var_70h);
0x0001f1fc addiu a2, zero, 0x40 | a2 = 0x40;
0x0001f200 addiu a1, zero, 1 | a1 = 1;
0x0001f204 move a0, s0 | a0 = s0;
0x0001f208 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001f20c jalr t9 | t9 ();
0x0001f210 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f214 move a0, s0 | a0 = s0;
0x0001f218 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001f21c addiu s7, s7, 4 | s7 += 4;
0x0001f220 jalr t9 | t9 ();
0x0001f224 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f228 move a3, s2 | a3 = s2;
0x0001f22c move a2, v0 | a2 = v0;
0x0001f230 lw t9, -0x7c94(gp) | t9 = sym.imp.fwrite;
0x0001f234 addiu a1, zero, 1 | a1 = 1;
0x0001f238 move a0, s0 | a0 = s0;
0x0001f23c jalr t9 | t9 ();
0x0001f240 lw v0, (s7) | v0 = *(s7);
0x0001f244 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f248 addiu t0, s1, 1 | t0 = s1 + 1;
0x0001f24c bnez v0, 0x1f1f0 |
| }
0x0001f250 lw a3, 0x4c(sp) | a3 = *(var_4ch);
0x0001f254 lw a1, 0x80(sp) | a1 = *(var_80h);
0x0001f258 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0001f25c move v0, s5 | v0 = s5;
0x0001f260 sw t0, 0x88(sp) | *(var_88h) = t0;
0x0001f264 move a2, s3 | a2 = s3;
0x0001f268 move a0, s2 | a0 = s2;
0x0001f26c lw s0, 0x7c(sp) | s0 = *(var_7ch);
0x0001f270 move s5, s1 | s5 = s1;
0x0001f274 move s1, s4 | s1 = s4;
0x0001f278 move s4, v0 | s4 = v0;
0x0001f27c jalr t9 | t9 ();
0x0001f280 sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001f284 lw t0, 0x88(sp) | t0 = *(var_88h);
0x0001f288 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001f28c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == t0) {
0x0001f290 beq v0, t0, 0x1f2c8 | goto label_83;
| }
0x0001f294 addiu s7, v0, -1 | s7 = v0 + -1;
| do {
0x0001f298 lw t9, -0x7cc0(gp) | t9 = sym.imp.fputc;
0x0001f29c move a1, s2 | a1 = s2;
0x0001f2a0 addiu a0, zero, 0x7d | a0 = 0x7d;
0x0001f2a4 jalr t9 | t9 ();
0x0001f2a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f2ac move a1, s2 | a1 = s2;
0x0001f2b0 addiu a0, zero, 0xa | a0 = 0xa;
0x0001f2b4 lw t9, -0x7cc0(gp) | t9 = sym.imp.fputc;
0x0001f2b8 addiu s5, s5, -1 | s5 += -1;
0x0001f2bc jalr t9 | t9 ();
0x0001f2c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f2c4 bne s5, s7, 0x1f298 |
| } while (s5 != s7);
| label_83:
0x0001f2c8 addiu s5, zero, 1 | s5 = 1;
0x0001f2cc b 0x1f0c4 | goto label_4;
| label_71:
0x0001f2d0 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001f2d4 lw a0, 0x60(sp) | a0 = *(var_60h);
0x0001f2d8 sll v1, v0, 2 | v1 = v0 << 2;
0x0001f2dc lw v0, -0x7fac(gp) | v0 = *(gp);
0x0001f2e0 lwx a1, v1(a0) | __asm ("lwx a1, v1(a0)");
0x0001f2e4 sw v1, 0x88(sp) | *(var_88h) = v1;
0x0001f2e8 lw v0, (v0) | v0 = *(v0);
0x0001f2ec lw t9, -0x7c78(gp) | t9 = sym.imp.strcasecmp;
| if (v0 != 0) {
0x0001f2f0 beqz v0, 0x1f2f8 |
0x0001f2f4 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
| }
0x0001f2f8 move a0, s7 | a0 = s7;
0x0001f2fc jalr t9 | t9 ();
0x0001f300 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f304 lw v1, 0x88(sp) | v1 = *(var_88h);
| if (v0 != 0) {
0x0001f308 bnez v0, 0x1f6bc | goto label_84;
| }
0x0001f30c lw v0, 0x60(sp) | v0 = *(var_60h);
0x0001f310 addiu v1, v1, 4 | v1 += 4;
0x0001f314 addu s7, v0, v1 | s7 = v0 + v1;
0x0001f318 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001f31c addiu v0, v0, 1 | v0++;
0x0001f320 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0001f324 lw v0, (s7) | v0 = *(s7);
0x0001f328 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| if (v0 != 0) {
0x0001f32c bnez v0, 0x1ec50 | goto label_5;
| }
0x0001f330 move a1, s2 | a1 = s2;
0x0001f334 move a0, s0 | a0 = s0;
0x0001f338 jalr t9 | t9 ();
0x0001f33c addiu v1, zero, -1 | v1 = -1;
0x0001f340 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001f344 beq v0, v1, 0x20604 | goto label_85;
| }
0x0001f348 lw v0, (s7) | v0 = *(s7);
0x0001f34c addiu s5, zero, 1 | s5 = 1;
| if (v0 == 0) {
0x0001f350 beqz v0, 0x1f5d8 | goto label_86;
| }
0x0001f354 lw t9, 0x30(sp) | t9 = *(var_30h);
0x0001f358 b 0x1ebcc | goto label_6;
| label_54:
0x0001f35c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f360 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f364 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f368 lw a3, 0x68(sp) | a3 = *(var_68h);
0x0001f36c lw t9, -0x7fb0(gp) | t9 = sym.logerr;
| /* str.create_param_file */
0x0001f370 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str._s__fputs___failed_to_put_line_in__s____m_ */
0x0001f374 addiu a1, a1, -0x72b8 | a1 += -0x72b8;
0x0001f378 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f37c bal 0x19b80 | sym_logerr ();
0x0001f380 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f384 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001f388 move a0, s3 | a0 = s3;
0x0001f38c jalr t9 | t9 ();
0x0001f390 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f394 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001f398 move a0, s2 | a0 = s2;
0x0001f39c jalr t9 | t9 ();
0x0001f3a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f3a4 move a0, s1 | a0 = s1;
0x0001f3a8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f3ac move s1, zero | s1 = 0;
0x0001f3b0 jalr t9 | t9 ();
0x0001f3b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f3b8 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001f3bc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f3c0 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001f3c4 jalr t9 | t9 ();
0x0001f3c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f3cc lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0001f3d0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f3d4 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001f3d8 jalr t9 | t9 ();
0x0001f3dc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f3e0 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001f3e4 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001f3e8 jalr t9 | t9 ();
0x0001f3ec lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f3f0 b 0x1e730 | goto label_2;
| label_36:
0x0001f3f4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001f3f8 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x0001f3fc jalr t9 | t9 ();
0x0001f400 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f404 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001f408 b 0x1e2f4 | goto label_0;
| label_22:
0x0001f40c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| label_24:
0x0001f410 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f414 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001f418 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0001f41c sw v0, 0x58(sp) | *(var_58h) = v0;
| /* str.create_new_group */
0x0001f420 addiu a2, a2, -0x6dbc | a2 += -0x6dbc;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001f424 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001f428 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f42c bal 0x199c0 | sym_fatald ();
0x0001f430 move s1, zero | s1 = 0;
0x0001f434 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f438 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001f43c lw s0, 0x94(sp) | s0 = *(var_94h);
0x0001f440 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001f444 sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001f448 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001f44c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001f450 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001f454 b 0x1e7d8 | goto label_7;
| label_39:
0x0001f458 lw t9, -0x7f80(gp) | t9 = sym.map_getGroup;
0x0001f45c lwx a0, a0(s0) | __asm ("lwx a0, a0(s0)");
0x0001f460 move a1, s1 | a1 = s1;
0x0001f464 bal 0x6c34 | sym_map_getGroup ();
0x0001f468 move s1, v0 | s1 = v0;
0x0001f46c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f470 b 0x1e2d4 | goto label_8;
| label_51:
0x0001f474 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0001f478 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x0001f47c move a3, zero | a3 = 0;
0x0001f480 addiu a2, zero, 1 | a2 = 1;
| /* fcn.0001d93c */
0x0001f484 addiu t9, t9, -0x26c4 | t9 += -0x26c4;
0x0001f488 move a0, s1 | a0 = s1;
0x0001f48c bal 0x1d93c | fcn_0001d93c ();
0x0001f490 move s3, v0 | s3 = v0;
0x0001f494 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f498 beqz v0, 0x202f4 | goto label_87;
| }
0x0001f49c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001f4a0 lw s0, -0x7fbc(gp) | s0 = *((gp - 8175));
0x0001f4a4 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
0x0001f4a8 lw s2, -0x7fc4(gp) | s2 = *(gp);
0x0001f4ac lw s4, 0x44(sp) | s4 = *(var_44h);
0x0001f4b0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._tmp */
0x0001f4b4 addiu v0, v0, -0x6d4c | v0 += -0x6d4c;
| /* str.temp_par */
0x0001f4b8 addiu s0, s0, -0x6d64 | s0 += -0x6d64;
0x0001f4bc sw v1, 0x64(sp) | *(var_64h) = v1;
| /* str._s__s */
0x0001f4c0 addiu a3, v1, -0x7280 | a3 = v1 + -0x7280;
0x0001f4c4 addiu a2, zero, 0xe | a2 = 0xe;
0x0001f4c8 addiu a1, zero, 1 | a1 = 1;
0x0001f4cc move a0, s4 | a0 = s4;
0x0001f4d0 sw s2, 0x6c(sp) | *(var_6ch) = s2;
0x0001f4d4 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0001f4d8 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0001f4dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001f4e0 jalr t9 | t9 ();
0x0001f4e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f4e8 addiu a1, s2, 0x68e0 | a1 = s2 + 0x68e0;
0x0001f4ec lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0001f4f0 move a0, s4 | a0 = s4;
0x0001f4f4 jalr t9 | t9 ();
0x0001f4f8 move s2, v0 | s2 = v0;
0x0001f4fc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f500 beqz v0, 0x204d8 | goto label_88;
| }
0x0001f504 lw t9, -0x7c44(gp) | t9 = sym.imp.strlen;
0x0001f508 move a0, s1 | a0 = s1;
0x0001f50c jalr t9 | t9 ();
0x0001f510 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f514 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001f518 addiu a0, v0, 0xf | a0 = v0 + 0xf;
0x0001f51c jalr t9 | t9 ();
0x0001f520 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0001f524 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f528 beqz v0, 0x20440 | goto label_89;
| }
0x0001f52c lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x0001f530 lw s4, 0x68(sp) | s4 = *(var_68h);
0x0001f534 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001f538 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
| /* str._s__s__s */
0x0001f53c addiu a3, a3, -0x72c4 | a3 += -0x72c4;
0x0001f540 addiu a2, zero, -1 | a2 = -1;
0x0001f544 addiu a1, zero, 1 | a1 = 1;
0x0001f548 move a0, s4 | a0 = s4;
0x0001f54c sw s0, 0x18(sp) | *(var_18h) = s0;
0x0001f550 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0001f554 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001f558 jalr t9 | t9 ();
0x0001f55c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f560 lw t9, -0x7fc4(gp) | t9 = *(gp);
| /* fcn.0001d0dc */
0x0001f564 addiu t9, t9, -0x2f24 | t9 += -0x2f24;
0x0001f568 move a0, s4 | a0 = s4;
0x0001f56c bal 0x1d0dc | fcn_0001d0dc ();
0x0001f570 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f574 b 0x1e584 | goto label_9;
| label_69:
0x0001f578 lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001f57c or s5, s5, v0 | s5 |= v0;
0x0001f580 lw v0, 0x60(sp) | v0 = *(var_60h);
| if (s5 == 0) {
0x0001f584 beqz s5, 0x1eca8 | goto label_10;
| }
0x0001f588 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0001f58c b 0x1ed84 | goto label_11;
| label_57:
0x0001f590 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f594 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f598 lw t9, -0x7fb8(gp) | t9 = sym.loginfo;
0x0001f59c lw a3, 0x174(sp) | a3 = *(arg_174h);
0x0001f5a0 lw a2, 0x40(sp) | a2 = *(var_40h);
| /* str.Creating_group_for__s_with_number__d_failed___Already_exists_ */
0x0001f5a4 addiu a1, a1, -0x70f4 | a1 += -0x70f4;
0x0001f5a8 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f5ac bal 0x19b04 | sym_loginfo ();
0x0001f5b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f5b4 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001f5b8 b 0x1e2f4 | goto label_0;
| label_56:
0x0001f5bc lw t9, -0x7da0(gp) | t9 = sym.map_removeGroupByPath;
0x0001f5c0 addiu a2, zero, 0xa | a2 = 0xa;
0x0001f5c4 move a1, zero | a1 = 0;
0x0001f5c8 move a0, s0 | a0 = s0;
0x0001f5cc bal 0x8250 | sym_map_removeGroupByPath ();
0x0001f5d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f5d4 b 0x1e7c4 | goto label_12;
| label_86:
0x0001f5d8 lw v1, 0xa0(sp) | v1 = *(var_a0h);
0x0001f5dc lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x0001f5e0 lw a0, 0x50(sp) | a0 = *(var_50h);
0x0001f5e4 subu v0, v0, v1 | __asm ("subu v0, v0, v1");
0x0001f5e8 xor v1, a0, v0 | v1 = a0 ^ v0;
0x0001f5ec sltiu v1, v1, 1 | v1 = (v1 < 1) ? 1 : 0;
0x0001f5f0 sw zero, 0xac(sp) | *(var_ach) = 0;
0x0001f5f4 sw v1, 0xa8(sp) | *(var_a8h) = v1;
0x0001f5f8 sw zero, 0xb0(sp) | *(var_b0h) = 0;
| if (a0 == v0) {
0x0001f5fc beq a0, v0, 0x1f8c0 | goto label_90;
| }
0x0001f600 sw s1, 0x7c(sp) | *(var_7ch) = s1;
0x0001f604 addiu s7, sp, 0xa8 | s7 = sp + 0xa8;
0x0001f608 move s1, s0 | s1 = s0;
0x0001f60c addiu s5, zero, -1 | s5 = -1;
0x0001f610 lw s0, 0x5c(sp) | s0 = *(var_5ch);
0x0001f614 b 0x1f624 | goto label_91;
| label_13:
0x0001f618 lw v0, 0xa8(sp) | v0 = *(var_a8h);
0x0001f61c move s0, s1 | s0 = s1;
| if (v0 == 0) {
0x0001f620 bnel v0, zero, 0x1f8bc | void (*0x1f8bc)() ();
| }
| label_91:
0x0001f624 lw t9, 0x30(sp) | t9 = *(var_30h);
0x0001f628 move a1, s1 | a1 = s1;
0x0001f62c move a2, fp | a2 = fp;
0x0001f630 move a0, s6 | a0 = s6;
0x0001f634 sw zero, 0xb8(sp) | *(var_b8h) = 0;
0x0001f638 jalr t9 | t9 ();
0x0001f63c lw t9, 0x34(sp) | t9 = *(var_34h);
0x0001f640 move a0, v0 | a0 = v0;
0x0001f644 move a2, s0 | a2 = s0;
0x0001f648 move a1, s7 | a1 = s7;
0x0001f64c move s1, v0 | s1 = v0;
0x0001f650 jalr t9 | t9 ();
0x0001f654 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f658 move a1, s2 | a1 = s2;
0x0001f65c lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
0x0001f660 move a0, s1 | a0 = s1;
0x0001f664 jalr t9 | t9 ();
0x0001f668 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != s5) {
0x0001f66c bne v0, s5, 0x1f618 | goto label_13;
| }
0x0001f670 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f674 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f678 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f67c lw t9, -0x7fb0(gp) | t9 = sym.logerr;
| /* str.find_sorted_place_in_file */
0x0001f680 addiu a2, a2, -0x6e34 | a2 += -0x6e34;
| /* str._s__fputs___failed_ */
0x0001f684 addiu a1, a1, -0x73a4 | a1 += -0x73a4;
0x0001f688 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f68c move s0, s1 | s0 = s1;
0x0001f690 lw s1, 0x7c(sp) | s1 = *(var_7ch);
0x0001f694 bal 0x19b80 | sym_logerr ();
0x0001f698 lw a3, 0x4c(sp) | a3 = *(var_4ch);
| label_20:
0x0001f69c lw a1, 0x80(sp) | a1 = *(var_80h);
0x0001f6a0 lw t9, 0x84(sp) | t9 = *(var_84h);
0x0001f6a4 move a2, s3 | a2 = s3;
0x0001f6a8 move a0, s2 | a0 = s2;
0x0001f6ac jalr t9 | t9 ();
0x0001f6b0 sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001f6b4 addiu s5, zero, 1 | s5 = 1;
0x0001f6b8 b 0x1ebc8 | goto label_1;
| label_84:
0x0001f6bc lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0001f6c0 lw t9, 0x34(sp) | t9 = *(var_34h);
0x0001f6c4 move a0, s0 | a0 = s0;
0x0001f6c8 move a1, s4 | a1 = s4;
0x0001f6cc sw zero, 0xb4(sp) | *(var_b4h) = 0;
0x0001f6d0 sw zero, 0xb8(sp) | *(var_b8h) = 0;
0x0001f6d4 jalr t9 | t9 ();
0x0001f6d8 lw v1, 0xa4(sp) | v1 = *(var_a4h);
0x0001f6dc lw v0, 0xb4(sp) | v0 = *(var_b4h);
0x0001f6e0 lw a0, 0xb8(sp) | a0 = *(var_b8h);
0x0001f6e4 subu v1, v1, v0 | __asm ("subu v1, v1, v0");
0x0001f6e8 lw v0, 0xa0(sp) | v0 = *(var_a0h);
0x0001f6ec lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f6f0 subu v0, v0, a0 | __asm ("subu v0, v0, a0");
0x0001f6f4 sw v1, 0xa4(sp) | *(var_a4h) = v1;
0x0001f6f8 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x0001f6fc addiu s7, zero, -1 | s7 = -1;
| do {
0x0001f700 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| label_14:
0x0001f704 move a1, s2 | a1 = s2;
0x0001f708 move a0, s0 | a0 = s0;
0x0001f70c jalr t9 | t9 ();
0x0001f710 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == s7) {
0x0001f714 beq v0, s7, 0x1f85c | goto label_92;
| }
0x0001f718 lw t9, 0x30(sp) | t9 = *(var_30h);
0x0001f71c move a1, s0 | a1 = s0;
0x0001f720 move a2, fp | a2 = fp;
0x0001f724 move a0, s6 | a0 = s6;
0x0001f728 jalr t9 | t9 ();
0x0001f72c lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0001f730 lw t9, 0x34(sp) | t9 = *(var_34h);
0x0001f734 move a0, v0 | a0 = v0;
0x0001f738 move a1, s4 | a1 = s4;
0x0001f73c move s0, v0 | s0 = v0;
0x0001f740 jalr t9 | t9 ();
0x0001f744 lw v0, 0xb8(sp) | v0 = *(var_b8h);
0x0001f748 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f74c beqz v0, 0x1f700 |
| } while (v0 == 0);
0x0001f750 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x0001f754 lw t9, -0x7afc(gp) | t9 = sym.imp.fputs;
| if (v0 != v1) {
0x0001f758 bne v0, v1, 0x1f704 | goto label_14;
| }
0x0001f75c move a1, s2 | a1 = s2;
0x0001f760 b 0x1ec54 | goto label_15;
| label_55:
0x0001f764 lw s2, -0x7fbc(gp) | s2 = *((gp - 8175));
0x0001f768 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0001f76c lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f770 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.new_group */
0x0001f774 addiu a2, s2, -0x6d9c | a2 = s2 + -0x6d9c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001f778 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x0001f77c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f780 bal 0x199c0 | sym_fatald ();
0x0001f784 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f788 lw s0, 0x94(sp) | s0 = *(var_94h);
0x0001f78c b 0x1e7d8 | goto label_7;
| label_35:
0x0001f790 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f794 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0001f798 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0001f79c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.new_group */
0x0001f7a0 addiu a2, a2, -0x6d9c | a2 += -0x6d9c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001f7a4 addiu a1, a1, 0x6404 | a1 += 0x6404;
| /* str.dynamic.c */
0x0001f7a8 addiu a0, a0, -0x741c | a0 += -0x741c;
0x0001f7ac bal 0x199c0 | sym_fatald ();
0x0001f7b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f7b4 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001f7b8 b 0x1e2f4 | goto label_0;
| label_65:
0x0001f7bc lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0001f7c0 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0001f7c4 move a3, zero | a3 = 0;
0x0001f7c8 move a2, zero | a2 = 0;
0x0001f7cc addiu a1, sp, 0x98 | a1 = sp + 0x98;
| /* fcn.0001d93c */
0x0001f7d0 addiu t9, t9, -0x26c4 | t9 += -0x26c4;
0x0001f7d4 move a0, s3 | a0 = s3;
0x0001f7d8 bal 0x1d93c | fcn_0001d93c ();
0x0001f7dc move s6, v0 | s6 = v0;
0x0001f7e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f7e4 lw t0, 0x70(sp) | t0 = *(var_70h);
0x0001f7e8 b 0x1ea64 | goto label_16;
| label_81:
0x0001f7ec lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
| if (s5 != 0) {
0x0001f7f0 bnez s5, 0x1f120 | goto label_17;
| }
0x0001f7f4 lw v0, 0x60(sp) | v0 = *(var_60h);
0x0001f7f8 b 0x1eca8 | goto label_10;
| label_75:
0x0001f7fc lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f800 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f804 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001f808 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f80c move a3, s2 | a3 = s2;
0x0001f810 move a2, s0 | a2 = s0;
| /* str.Couldnt_rename_temporary_group_file__s_to__s:__m */
0x0001f814 addiu a1, a1, -0x71a4 | a1 += -0x71a4;
0x0001f818 bal 0x19b80 | sym_logerr ();
0x0001f81c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f820 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001f824 move a0, s0 | a0 = s0;
0x0001f828 jalr t9 | t9 ();
0x0001f82c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f830 b 0x1e730 | goto label_2;
| label_79:
0x0001f834 lw t9, -0x7c78(gp) | t9 = sym.imp.strcasecmp;
0x0001f838 move a0, s4 | a0 = s4;
0x0001f83c jalr t9 | t9 ();
0x0001f840 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f844 beqz v0, 0x1ee8c | void (*0x1ee8c)() ();
| }
| label_92:
0x0001f85c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001f860 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f864 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f868 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001f86c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.add_group */
0x0001f870 addiu a2, a2, -0x6e18 | a2 += -0x6e18;
| /* str._s__putting_line_to_file_failed_ */
0x0001f874 addiu a1, a1, -0x726c | a1 += -0x726c;
0x0001f878 bal 0x19b80 | sym_logerr ();
0x0001f87c addiu v0, zero, -1 | v0 = -1;
0x0001f880 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f884 sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001f888 b 0x1ec4c | goto label_18;
| label_74:
0x0001f88c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f890 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001f894 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001f898 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001f89c move a3, s2 | a3 = s2;
0x0001f8a0 move a2, s0 | a2 = s0;
| /* str.Couldnt_rename_temporary_param_file__s_to__s:__m */
0x0001f8a4 addiu a1, a1, -0x71dc | a1 += -0x71dc;
0x0001f8a8 bal 0x19b80 | sym_logerr ();
0x0001f8ac lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f8b0 move a0, s0 | a0 = s0;
0x0001f8b4 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001f8b8 b 0x1f188 | goto label_19;
| label_90:
0x0001f8c0 lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
0x0001f8c4 addiu a1, zero, 0x2e | a1 = 0x2e;
0x0001f8c8 move a0, s3 | a0 = s3;
0x0001f8cc jalr t9 | t9 ();
0x0001f8d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001f8d4 move a3, s4 | a3 = s4;
0x0001f8d8 addiu a2, sp, 0x92 | a2 = sp + 0x92;
0x0001f8dc lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001f8e0 lw t9, -0x7cf4(gp) | t9 = sym.imp.sscanf;
| /* str.._c_u */
0x0001f8e4 addiu a1, a1, -0x7248 | a1 += -0x7248;
0x0001f8e8 move a0, v0 | a0 = v0;
0x0001f8ec jalr t9 | t9 ();
0x0001f8f0 addiu v1, zero, 2 | v1 = 2;
0x0001f8f4 lw a3, 0x4c(sp) | a3 = *(var_4ch);
| if (v0 != v1) {
0x0001f8f8 bne v0, v1, 0x1f69c | goto label_20;
| }
0x0001f8fc addiu t0, sp, 0x93 | t0 = sp + 0x93;
0x0001f900 sw s3, 0x7c(sp) | *(var_7ch) = s3;
0x0001f904 sw s1, 0x88(sp) | *(var_88h) = s1;
0x0001f908 addiu s7, sp, 0xac | s7 = sp + 0xac;
0x0001f90c move s1, s0 | s1 = s0;
0x0001f910 addiu s5, sp, 0xb0 | s5 = sp + 0xb0;
0x0001f914 lw s3, 0x5c(sp) | s3 = *(var_5ch);
0x0001f918 move s0, t0 | s0 = t0;
0x0001f91c b 0x1f964 |
0x0001f964 lw t9, 0x30(sp) | t9 = *(var_30h);
0x0001f968 move a1, s1 | a1 = s1;
0x0001f96c move a2, fp | a2 = fp;
0x0001f970 move a0, s6 | a0 = s6;
0x0001f974 jalr t9 | t9 ();
0x0001f978 move s1, v0 | s1 = v0;
0x0001f97c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001f980 beqz v0, 0x1fc9c | void (*0x1fc9c)() ();
| }
| label_68:
0x0001fa3c move a0, s3 | a0 = s3;
0x0001fa40 jalr t9 | t9 ();
0x0001fa44 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fa48 lw t9, -0x7cac(gp) | t9 = sym.imp.malloc;
0x0001fa4c addiu a0, v0, 0xf | a0 = v0 + 0xf;
0x0001fa50 jalr t9 | t9 ();
0x0001fa54 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0001fa58 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001fa5c beqz v0, 0x20530 | goto label_93;
| }
0x0001fa60 lw a3, -0x7fbc(gp) | a3 = *((gp - 8175));
0x0001fa64 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001fa68 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0001fa6c lw a0, 0x6c(sp) | a0 = *(var_6ch);
| /* str._s__s__s */
0x0001fa70 addiu a3, a3, -0x72c4 | a3 += -0x72c4;
0x0001fa74 addiu a2, zero, -1 | a2 = -1;
0x0001fa78 addiu a1, zero, 1 | a1 = 1;
0x0001fa7c sw s1, 0x18(sp) | *(var_18h) = s1;
0x0001fa80 sw s3, 0x14(sp) | *(var_14h) = s3;
0x0001fa84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001fa88 jalr t9 | t9 ();
0x0001fa8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fa90 lw t9, -0x7fc4(gp) | t9 = *(gp);
| /* fcn.0001d0dc */
0x0001fa94 addiu t9, t9, -0x2f24 | t9 += -0x2f24;
0x0001fa98 lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0001fa9c bal 0x1d0dc | fcn_0001d0dc ();
0x0001faa0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001faa4 b 0x1ead8 | goto label_21;
| label_38:
0x0001fac8 addiu v0, sp, 0xb8 | v0 = sp + 0xb8;
0x0001facc addiu s2, zero, -4 | s2 = -4;
0x0001fad0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
| label_41:
0x0001fad4 lwx s0, s2(s0) | __asm ("lwx s0, s2(s0)");
0x0001fad8 lw v0, 0x174(sp) | v0 = *(arg_174h);
0x0001fadc addiu s4, zero, -1 | s4 = -1;
0x0001fae0 lb s3, (s0) | s3 = *(s0);
0x0001fae4 lw s2, -0x7fbc(gp) | s2 = *((gp - 8175));
| if (v0 != s4) {
0x0001fae8 bne v0, s4, 0x1fbcc | goto label_94;
| }
| /* str._c_d */
0x0001faec addiu s2, s2, -0x72cc | s2 += -0x72cc;
0x0001faf0 sw s5, 0x2c(sp) | *(var_2ch) = s5;
0x0001faf4 addiu s7, zero, -1 | s7 = -1;
0x0001faf8 move s5, s2 | s5 = s2;
0x0001fafc addiu s0, sp, 0x104 | s0 = sp + aav.0x00000104;
0x0001fb00 lw fp, 0x38(sp) | fp = *(var_38h);
0x0001fb04 lw s2, 0x5c(sp) | s2 = *(var_5ch);
| do {
0x0001fb08 lw t9, -0x7d10(gp) | t9 = sym.imp.__snprintf_chk;
0x0001fb0c addiu s6, s7, 1 | s6 = s7 + 1;
0x0001fb10 addiu a3, zero, 0x20 | a3 = 0x20;
0x0001fb14 addiu a2, zero, 1 | a2 = 1;
0x0001fb18 addiu a1, zero, 0x20 | a1 = 0x20;
0x0001fb1c move a0, s0 | a0 = s0;
0x0001fb20 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0001fb24 sw s3, 0x14(sp) | *(var_14h) = s3;
0x0001fb28 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0001fb2c jalr t9 | t9 ();
0x0001fb30 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fb34 move a2, s2 | a2 = s2;
0x0001fb38 move a1, s1 | a1 = s1;
0x0001fb3c lw t9, -0x7f08(gp) | t9 = sym.map_createGroup;
0x0001fb40 move a0, s0 | a0 = s0;
0x0001fb44 bal 0x6ccc | sym_map_createGroup ();
0x0001fb48 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fb4c sw v0, (fp) | *(fp) = v0;
0x0001fb50 lw v0, 0xb8(sp) | v0 = *(var_b8h);
0x0001fb54 addiu v1, zero, 1 | v1 = 1;
0x0001fb58 sw v1, 0xc(v0) | *((v0 + 3)) = v1;
0x0001fb5c lw v0, (fp) | v0 = *(fp);
0x0001fb60 beql v0, s4, 0x1fb08 |
| } while (v0 == s4);
0x0001fb64 move s7, s6 | s7 = s6;
0x0001fb68 lw a0, -0x7fd4(gp) | a0 = *((gp - 8181));
0x0001fb6c addiu v1, zero, -2 | v1 = -2;
0x0001fb70 lw s5, 0x2c(sp) | s5 = *(var_2ch);
0x0001fb74 sw s7, -0x4530(a0) | *((a0 - 4428)) = s7;
| if (v0 == v1) {
0x0001fb78 beq v0, v1, 0x1f40c | goto label_22;
| }
0x0001fb7c lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
0x0001fb80 move a0, s0 | a0 = s0;
0x0001fb84 jalr t9 | t9 ();
0x0001fb88 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0001fb8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001fb90 beqz v0, 0x1f40c | goto label_22;
| }
0x0001fb94 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001fb98 lw s0, 0x94(sp) | s0 = *(var_94h);
0x0001fb9c sw v0, 0x58(sp) | *(var_58h) = v0;
0x0001fba0 b 0x1e350 | goto label_23;
| label_82:
0x0001fba4 lw a3, 0x4c(sp) | a3 = *(var_4ch);
0x0001fba8 lw a1, 0x80(sp) | a1 = *(var_80h);
0x0001fbac lw t9, 0x84(sp) | t9 = *(var_84h);
0x0001fbb0 move a2, s3 | a2 = s3;
0x0001fbb4 move a0, s2 | a0 = s2;
0x0001fbb8 jalr t9 | t9 ();
0x0001fbbc sw v0, 0x7c(sp) | *(var_7ch) = v0;
0x0001fbc0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fbc4 addiu s5, zero, 1 | s5 = 1;
0x0001fbc8 b 0x1f0c4 | goto label_4;
| label_94:
0x0001fbcc lw t9, -0x7d10(gp) | t9 = sym.imp.__snprintf_chk;
0x0001fbd0 addiu s0, sp, 0x104 | s0 = sp + aav.0x00000104;
| /* str._c_d */
0x0001fbd4 addiu s2, s2, -0x72cc | s2 += -0x72cc;
0x0001fbd8 addiu a3, zero, 0x20 | a3 = 0x20;
0x0001fbdc addiu a2, zero, 1 | a2 = 1;
0x0001fbe0 addiu a1, zero, 0x20 | a1 = 0x20;
0x0001fbe4 move a0, s0 | a0 = s0;
0x0001fbe8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001fbec sw s3, 0x14(sp) | *(var_14h) = s3;
0x0001fbf0 sw s2, 0x10(sp) | *(var_10h) = s2;
0x0001fbf4 jalr t9 | t9 ();
0x0001fbf8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fbfc lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0001fc00 move a1, s1 | a1 = s1;
0x0001fc04 lw t9, -0x7f08(gp) | t9 = sym.map_createGroup;
0x0001fc08 move a0, s0 | a0 = s0;
0x0001fc0c bal 0x6ccc | sym_map_createGroup ();
0x0001fc10 lw v1, 0x38(sp) | v1 = *(var_38h);
0x0001fc14 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fc18 sw v0, (v1) | *(v1) = v0;
| if (v0 == 0) {
0x0001fc1c beqz v0, 0x1fd74 | goto label_95;
| }
0x0001fc20 lw v1, -0x7fb4(gp) | v1 = *(gp);
0x0001fc24 lw v1, (v1) | v1 = *(v1);
0x0001fc28 addiu v1, zero, -2 | v1 = -2;
| if (v1 != 0) {
0x0001fc2c beqz v1, 0x1fc38 |
0x0001fc30 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
| if (v0 == s4) {
0x0001fc34 beq v0, s4, 0x1fd78 | goto label_96;
| }
| }
0x0001fc38 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
| if (v0 == v1) {
0x0001fc3c beq v0, v1, 0x1f410 | goto label_24;
| }
0x0001fc40 lw s0, 0x94(sp) | s0 = *(var_94h);
| label_37:
0x0001fc44 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001fc48 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001fc4c sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001fc50 move s1, zero | s1 = 0;
0x0001fc54 sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001fc58 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001fc5c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001fc60 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0001fc64 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0001fc68 b 0x1e7d8 | goto label_7;
| label_76:
0x0001fc6c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x0001fc70 lw v0, 0x68(sp) | v0 = *(var_68h);
0x0001fc74 lw a3, 0x6c(sp) | a3 = *(var_6ch);
0x0001fc78 lw a2, 0x4c(sp) | a2 = *(var_4ch);
0x0001fc7c lw a0, 0x40(sp) | a0 = *(var_40h);
0x0001fc80 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* fcn.0001de10 */
0x0001fc84 addiu t9, t9, -0x21f0 | t9 += -0x21f0;
0x0001fc88 move a1, s1 | a1 = s1;
0x0001fc8c bal 0x1de10 | fcn_0001de10 ();
0x0001fc90 move s5, v0 | s5 = v0;
0x0001fc94 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fc98 b 0x1ee40 | goto label_25;
| label_78:
0x0001fd40 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001fd44 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001fd48 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001fd4c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001fd50 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001fd54 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001fd58 lw a3, 0x40(sp) | a3 = *(var_40h);
| /* str.find_sorted_place_in_list */
0x0001fd5c addiu a2, a2, -0x6e68 | a2 += -0x6e68;
| /* str._s__could_not_find_group__s._s. */
0x0001fd60 addiu a1, a1, -0x702c | a1 += -0x702c;
0x0001fd64 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001fd68 bal 0x19b80 | sym_logerr ();
0x0001fd6c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fd70 b 0x1e730 | goto label_2;
| label_95:
0x0001fd74 lw t9, -0x7d34(gp) | t9 = sym.imp.strdup;
| label_96:
0x0001fd78 move a0, s0 | a0 = s0;
0x0001fd7c jalr t9 | t9 ();
0x0001fd80 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0001fd84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001fd88 beqz v0, 0x202c8 | goto label_97;
| }
0x0001fd8c lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x0001fd90 sw v0, 0x58(sp) | *(var_58h) = v0;
| label_29:
0x0001fd94 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x0001fd98 lw v0, 0x174(sp) | v0 = *(arg_174h);
0x0001fd9c b 0x1fdac | goto label_98;
| label_27:
0x0001fda0 lw v0, -0x4530(s6) | v0 = *((s6 - 4428));
| if (v0 < 0) {
0x0001fda4 bltzl v0, 0x1e348 | goto label_26;
| }
0x0001fda8 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| label_98:
0x0001fdac lw t9, -0x7d10(gp) | t9 = sym.imp.__snprintf_chk;
0x0001fdb0 addiu v0, v0, -1 | v0 += -1;
0x0001fdb4 addiu a3, zero, 0x20 | a3 = 0x20;
0x0001fdb8 addiu a2, zero, 1 | a2 = 1;
0x0001fdbc addiu a1, zero, 0x20 | a1 = 0x20;
0x0001fdc0 move a0, s0 | a0 = s0;
0x0001fdc4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001fdc8 sw s3, 0x14(sp) | *(var_14h) = s3;
0x0001fdcc sw s2, 0x10(sp) | *(var_10h) = s2;
0x0001fdd0 sw v0, -0x4530(s6) | *((s6 - 4428)) = v0;
0x0001fdd4 jalr t9 | t9 ();
0x0001fdd8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fddc move a1, s1 | a1 = s1;
0x0001fde0 lw t9, -0x7f80(gp) | t9 = sym.map_getGroup;
0x0001fde4 move a0, s0 | a0 = s0;
0x0001fde8 bal 0x6c34 | sym_map_getGroup ();
0x0001fdec sw v0, 0xb8(sp) | *(var_b8h) = v0;
0x0001fdf0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001fdf4 beqz v0, 0x1fda0 | goto label_27;
| }
0x0001fdf8 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001fdfc b 0x1e348 | goto label_26;
| label_44:
0x0001fe00 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
| label_45:
0x0001fe04 move a0, zero | a0 = 0;
0x0001fe08 jalr t9 | t9 ();
0x0001fe0c move s1, zero | s1 = 0;
0x0001fe10 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fe14 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001fe18 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001fe1c sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001fe20 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001fe24 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001fe28 b 0x1e730 | goto label_2;
| label_77:
0x0001fe64 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001fe68 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0001fe6c lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001fe70 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x0001fe74 lw a3, 0x40(sp) | a3 = *(var_40h);
| /* str.find_sorted_place_in_list */
0x0001fe78 addiu a2, a2, -0x6e68 | a2 += -0x6e68;
| /* str._s__could_not_find_group__s. */
0x0001fe7c addiu a1, a1, -0x716c | a1 += -0x716c;
0x0001fe80 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0001fe84 bal 0x19b80 | sym_logerr ();
0x0001fe88 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fe8c b 0x1e730 | goto label_2;
| label_58:
0x0001fe90 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001fe94 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001fe98 move s1, zero | s1 = 0;
0x0001fe9c b 0x1f180 | goto label_28;
| label_49:
0x0001fea0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001fea4 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0001fea8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001feac lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0001feb0 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_param_file */
0x0001feb4 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001feb8 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x0001febc bal 0x199c0 | sym_fatald ();
0x0001fec0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fec4 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0001fec8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001fecc sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001fed0 jalr t9 | t9 ();
0x0001fed4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fed8 move a0, s1 | a0 = s1;
0x0001fedc lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001fee0 move s1, zero | s1 = 0;
0x0001fee4 jalr t9 | t9 ();
0x0001fee8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001feec lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001fef0 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001fef4 jalr t9 | t9 ();
0x0001fef8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001fefc lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001ff00 move a0, zero | a0 = 0;
0x0001ff04 jalr t9 | t9 ();
0x0001ff08 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ff0c sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001ff10 sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001ff14 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001ff18 b 0x1e730 | goto label_2;
| label_48:
0x0001ff1c lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001ff20 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0001ff24 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001ff28 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0001ff2c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_param_file */
0x0001ff30 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001ff34 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x0001ff38 bal 0x199c0 | sym_fatald ();
0x0001ff3c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ff40 move a0, s1 | a0 = s1;
0x0001ff44 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001ff48 move s1, zero | s1 = 0;
0x0001ff4c jalr t9 | t9 ();
0x0001ff50 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ff54 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001ff58 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0001ff5c jalr t9 | t9 ();
0x0001ff60 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ff64 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001ff68 move a0, zero | a0 = 0;
0x0001ff6c jalr t9 | t9 ();
0x0001ff70 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ff74 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001ff78 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001ff7c sw zero, 0x44(sp) | *(var_44h) = 0;
0x0001ff80 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001ff84 b 0x1e730 | goto label_2;
| label_47:
0x0001ff88 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001ff8c lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0001ff90 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001ff94 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0001ff98 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_param_file */
0x0001ff9c addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001ffa0 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x0001ffa4 bal 0x199c0 | sym_fatald ();
0x0001ffa8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ffac move a0, s1 | a0 = s1;
0x0001ffb0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0001ffb4 move s1, zero | s1 = 0;
0x0001ffb8 jalr t9 | t9 ();
0x0001ffbc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ffc0 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0001ffc4 move a0, zero | a0 = 0;
0x0001ffc8 jalr t9 | t9 ();
0x0001ffcc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ffd0 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0001ffd4 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0001ffd8 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0001ffdc sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0001ffe0 b 0x1e730 | goto label_2;
| label_46:
0x0001ffe4 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0001ffe8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0001ffec lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001fff0 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0001fff4 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_param_file */
0x0001fff8 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0001fffc addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x00020000 bal 0x199c0 | sym_fatald ();
0x00020004 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020008 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x0002000c move a0, zero | a0 = 0;
0x00020010 jalr t9 | t9 ();
0x00020014 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020018 sw zero, 0x54(sp) | *(var_54h) = 0;
0x0002001c sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020020 sw zero, 0x44(sp) | *(var_44h) = 0;
0x00020024 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00020028 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0002002c b 0x1e730 | goto label_2;
| label_52:
0x000200d8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000200dc move a0, s1 | a0 = s1;
0x000200e0 jalr t9 | t9 ();
0x000200e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000200e8 lw a0, 0x44(sp) | a0 = *(var_44h);
0x000200ec lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| do {
0x000200f0 move s1, zero | s1 = 0;
0x000200f4 jalr t9 | t9 ();
0x000200f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000200fc lw a0, 0xbc(sp) | a0 = *(var_bch);
0x00020100 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020104 sw zero, 0x54(sp) | *(var_54h) = 0;
0x00020108 jalr t9 | t9 ();
0x0002010c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020110 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x00020114 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020118 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0002011c jalr t9 | t9 ();
0x00020120 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020124 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00020128 move a0, zero | a0 = 0;
0x0002012c jalr t9 | t9 ();
0x00020130 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020134 sw zero, 0x44(sp) | *(var_44h) = 0;
0x00020138 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0002013c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00020140 b 0x1e730 | goto label_2;
| label_63:
0x00020144 lw v0, 0x58(sp) | v0 = *(var_58h);
0x00020148 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x0002014c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00020150 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x00020154 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_group_file */
0x00020158 addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0002015c addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x00020160 bal 0x199c0 | sym_fatald ();
0x00020164 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020168 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0002016c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020170 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020174 jalr t9 | t9 ();
0x00020178 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002017c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020180 move a0, s3 | a0 = s3;
0x00020184 jalr t9 | t9 ();
0x00020188 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002018c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020190 lw a0, 0x54(sp) | a0 = *(var_54h);
0x00020194 jalr t9 | t9 ();
0x00020198 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002019c sw zero, 0x54(sp) | *(var_54h) = 0;
0x000201a0 b 0x1f180 | goto label_28;
| label_62:
0x000201a4 lw v0, 0x58(sp) | v0 = *(var_58h);
0x000201a8 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x000201ac lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000201b0 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x000201b4 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_group_file */
0x000201b8 addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x000201bc addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x000201c0 bal 0x199c0 | sym_fatald ();
0x000201c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000201c8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000201cc move a0, s3 | a0 = s3;
0x000201d0 jalr t9 | t9 ();
0x000201d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000201d8 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000201dc lw a0, 0x54(sp) | a0 = *(var_54h);
0x000201e0 jalr t9 | t9 ();
0x000201e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000201e8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x000201ec sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x000201f0 b 0x1f180 | goto label_28;
| label_61:
0x000201f4 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x000201f8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000201fc lw v0, 0x58(sp) | v0 = *(var_58h);
0x00020200 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x00020204 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.create_group_file */
0x00020208 addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x0002020c addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x00020210 bal 0x199c0 | sym_fatald ();
0x00020214 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020218 move a0, s3 | a0 = s3;
0x0002021c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020220 move s1, zero | s1 = 0;
0x00020224 jalr t9 | t9 ();
0x00020228 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002022c sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020230 b 0x1f180 | goto label_28;
| label_60:
0x00020234 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x00020238 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x0002023c lw v0, 0x58(sp) | v0 = *(var_58h);
0x00020240 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.create_group_file */
0x00020244 addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00020248 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x0002024c addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00020250 bal 0x199c0 | sym_fatald ();
0x00020254 move s1, zero | s1 = 0;
0x00020258 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002025c sw zero, 0x54(sp) | *(var_54h) = 0;
0x00020260 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020264 b 0x1f180 | goto label_28;
| label_66:
0x00020268 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002026c lw a0, 0x98(sp) | a0 = *(var_98h);
0x00020270 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020274 jalr t9 | t9 ();
0x00020278 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002027c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020280 move a0, s3 | a0 = s3;
0x00020284 jalr t9 | t9 ();
0x00020288 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002028c lw a0, 0x54(sp) | a0 = *(var_54h);
0x00020290 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_30:
0x00020294 move s1, zero | s1 = 0;
0x00020298 jalr t9 | t9 ();
0x0002029c lw gp, 0x20(sp) | gp = *(var_20h);
0x000202a0 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x000202a4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000202a8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x000202ac jalr t9 | t9 ();
0x000202b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000202b4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000202b8 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x000202bc jalr t9 | t9 ();
0x000202c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000202c4 b 0x1f180 | goto label_28;
| label_97:
0x000202c8 lw v0, -0x7fbc(gp) | v0 = *((gp - 8175));
0x000202cc lw s7, -0x7fc4(gp) | s7 = *(gp);
0x000202d0 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000202d4 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x000202d8 sw v0, 0x58(sp) | *(var_58h) = v0;
| /* str.create_new_group */
0x000202dc addiu a2, a2, -0x6dbc | a2 += -0x6dbc;
| /* str.Memory_allocation_failed__in_function__s_. */
0x000202e0 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
| /* str.dynamic.c */
0x000202e4 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x000202e8 bal 0x199c0 | sym_fatald ();
0x000202ec lw gp, 0x20(sp) | gp = *(var_20h);
0x000202f0 b 0x1fd94 | goto label_29;
| label_87:
0x000202f4 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000202f8 move a0, s1 | a0 = s1;
0x000202fc jalr t9 | t9 ();
0x00020300 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020304 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00020308 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
| label_31:
0x0002030c move s1, zero | s1 = 0;
0x00020310 jalr t9 | t9 ();
0x00020314 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020318 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x0002031c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020320 sw zero, 0x54(sp) | *(var_54h) = 0;
0x00020324 jalr t9 | t9 ();
0x00020328 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002032c lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x00020330 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020334 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00020338 jalr t9 | t9 ();
0x0002033c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020340 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020344 lw a0, 0xb8(sp) | a0 = *(var_b8h);
0x00020348 jalr t9 | t9 ();
0x0002034c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020350 lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x00020354 move a0, zero | a0 = 0;
0x00020358 jalr t9 | t9 ();
0x0002035c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020360 sw zero, 0x44(sp) | *(var_44h) = 0;
0x00020364 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00020368 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x0002036c b 0x1e730 | goto label_2;
| label_53:
0x00020370 lw s0, 0x44(sp) | s0 = *(var_44h);
0x00020374 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00020378 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0002037c lw v0, 0x58(sp) | v0 = *(var_58h);
0x00020380 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00020384 move a3, s0 | a3 = s0;
| /* str.create_param_file */
0x00020388 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str._s__fopen___failed_on__s:__m */
0x0002038c addiu a1, a1, -0x73ec | a1 += -0x73ec;
0x00020390 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x00020394 bal 0x19b80 | sym_logerr ();
0x00020398 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002039c lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x000203a0 move a0, s3 | a0 = s3;
0x000203a4 jalr t9 | t9 ();
0x000203a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000203ac lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000203b0 move a0, s1 | a0 = s1;
0x000203b4 jalr t9 | t9 ();
0x000203b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000203bc move a0, s0 | a0 = s0;
0x000203c0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000203c4 b 0x200f0 |
| } while (1);
| label_42:
0x000203c8 lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x000203cc jalr t9 | t9 ();
0x000203d0 nop |
| label_67:
0x000203d4 lw s0, 0x54(sp) | s0 = *(var_54h);
0x000203d8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000203dc lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000203e0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x000203e4 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x000203e8 move a3, s0 | a3 = s0;
| /* str.create_group_file */
0x000203ec addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str._s__fopen___failed_on__s:__m */
0x000203f0 addiu a1, a1, -0x73ec | a1 += -0x73ec;
0x000203f4 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x000203f8 bal 0x19b80 | sym_logerr ();
0x000203fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00020400 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020404 move a0, s6 | a0 = s6;
0x00020408 jalr t9 | t9 ();
0x0002040c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020410 lw a0, 0x98(sp) | a0 = *(var_98h);
0x00020414 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020418 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x0002041c jalr t9 | t9 ();
0x00020420 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020424 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020428 move a0, s3 | a0 = s3;
0x0002042c jalr t9 | t9 ();
0x00020430 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020434 move a0, s0 | a0 = s0;
0x00020438 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002043c b 0x20294 | goto label_30;
| label_89:
0x00020440 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020444 move a0, s2 | a0 = s2;
0x00020448 jalr t9 | t9 ();
0x0002044c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020450 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020454 move a0, s3 | a0 = s3;
0x00020458 jalr t9 | t9 ();
0x0002045c lw gp, 0x20(sp) | gp = *(var_20h);
0x00020460 move a0, s1 | a0 = s1;
0x00020464 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020468 move s1, zero | s1 = 0;
0x0002046c jalr t9 | t9 ();
0x00020470 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020474 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020478 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0002047c jalr t9 | t9 ();
0x00020480 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020484 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x00020488 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002048c sw zero, 0x54(sp) | *(var_54h) = 0;
0x00020490 jalr t9 | t9 ();
0x00020494 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020498 lw a0, 0xc0(sp) | a0 = *(var_c0h);
0x0002049c lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000204a0 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x000204a4 jalr t9 | t9 ();
0x000204a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000204ac lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000204b0 lw a0, 0xb8(sp) | a0 = *(var_b8h);
0x000204b4 jalr t9 | t9 ();
0x000204b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000204bc lw t9, -0x7ca8(gp) | t9 = sym.imp.remove;
0x000204c0 move a0, zero | a0 = 0;
0x000204c4 jalr t9 | t9 ();
0x000204c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000204cc sw zero, 0x44(sp) | *(var_44h) = 0;
0x000204d0 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x000204d4 b 0x1e730 | goto label_2;
| label_88:
0x000204d8 lw s0, 0x44(sp) | s0 = *(var_44h);
0x000204dc lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x000204e0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x000204e4 lw v0, 0x58(sp) | v0 = *(var_58h);
0x000204e8 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x000204ec move a3, s0 | a3 = s0;
| /* str.create_param_file */
0x000204f0 addiu a2, a2, -0x6dd0 | a2 += -0x6dd0;
| /* str._s__fopen___failed_on__s:__m */
0x000204f4 addiu a1, a1, -0x73ec | a1 += -0x73ec;
0x000204f8 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x000204fc bal 0x19b80 | sym_logerr ();
0x00020500 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020504 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x00020508 move a0, s3 | a0 = s3;
0x0002050c jalr t9 | t9 ();
0x00020510 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020514 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x00020518 move a0, s1 | a0 = s1;
0x0002051c jalr t9 | t9 ();
0x00020520 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020524 move a0, s0 | a0 = s0;
0x00020528 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002052c b 0x2030c | goto label_31;
| label_93:
0x00020530 lw s7, -0x7fc4(gp) | s7 = *(gp);
0x00020534 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00020538 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0002053c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.create_group_file */
0x00020540 addiu a2, a2, -0x6e0c | a2 += -0x6e0c;
| /* str.Memory_allocation_failed__in_function__s_. */
0x00020544 addiu a1, s7, 0x6404 | a1 = s7 + 0x6404;
0x00020548 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
0x0002054c bal 0x199c0 | sym_fatald ();
0x00020550 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020554 move a0, s2 | a0 = s2;
0x00020558 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0002055c move s1, zero | s1 = 0;
0x00020560 jalr t9 | t9 ();
0x00020564 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020568 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0002056c move a0, s6 | a0 = s6;
0x00020570 jalr t9 | t9 ();
0x00020574 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020578 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002057c lw a0, 0x98(sp) | a0 = *(var_98h);
0x00020580 jalr t9 | t9 ();
0x00020584 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020588 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002058c move a0, s3 | a0 = s3;
0x00020590 jalr t9 | t9 ();
0x00020594 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020598 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002059c lw a0, 0x54(sp) | a0 = *(var_54h);
0x000205a0 jalr t9 | t9 ();
0x000205a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000205a8 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x000205ac sw zero, 0x54(sp) | *(var_54h) = 0;
0x000205b0 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x000205b4 b 0x1f164 | goto label_32;
| label_43:
0x000205e8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x000205ec sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x000205f0 move s1, zero | s1 = 0;
0x000205f4 sw zero, 0x44(sp) | *(var_44h) = 0;
0x000205f8 sw zero, 0x68(sp) | *(var_68h) = 0;
0x000205fc sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00020600 b 0x1e7d8 | goto label_7;
| label_85:
0x00020604 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x00020608 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0002060c lw v0, 0x58(sp) | v0 = *(var_58h);
0x00020610 lw t9, -0x7fb0(gp) | t9 = sym.logerr;
0x00020614 addiu a0, v0, -0x741c | a0 = v0 + -0x741c;
| /* str.add_group */
0x00020618 addiu a2, a2, -0x6e18 | a2 += -0x6e18;
| /* str.s__putting_line_to_file_failed_ */
0x0002061c addiu a1, a1, -0x7008 | a1 += -0x7008;
0x00020620 bal 0x19b80 | sym_logerr ();
0x00020624 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020628 lw t9, -0x7bec(gp) | t9 = sym.imp.free;
0x0002062c move a0, s0 | a0 = s0;
0x00020630 jalr t9 | t9 ();
0x00020634 lw gp, 0x20(sp) | gp = *(var_20h);
0x00020638 b 0x1f11c | goto label_33;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/parhand @ 0xb028 */
| #include <stdint.h>
|
; (fcn) sym.parse_config_file_to_params () | void parse_config_file_to_params () {
0x0000b028 lui gp, 4 |
0x0000b02c addiu gp, gp, -0x7cd8 |
0x0000b030 addu gp, gp, t9 | gp += t9;
0x0000b034 addiu sp, sp, -0x260 |
0x0000b038 lw t9, -0x7d40(gp) | t9 = sym.imp.strcmp;
0x0000b03c sw s3, 0x244(sp) | *(var_244h) = s3;
0x0000b040 lw s3, -0x7c68(gp) | s3 = *((gp - 7962));
0x0000b044 sw s5, 0x24c(sp) | *(var_24ch) = s5;
0x0000b048 move s5, a1 | s5 = a1;
0x0000b04c lw v0, (s3) | v0 = *(s3);
0x0000b050 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b054 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0000b058 sw s7, 0x254(sp) | *(var_254h) = s7;
0x0000b05c sw ra, 0x25c(sp) | *(var_25ch) = ra;
0x0000b060 sw fp, 0x258(sp) | *(var_258h) = fp;
0x0000b064 sw s6, 0x250(sp) | *(var_250h) = s6;
0x0000b068 sw s4, 0x248(sp) | *(var_248h) = s4;
0x0000b06c sw s2, 0x240(sp) | *(var_240h) = s2;
0x0000b070 sw s1, 0x23c(sp) | *(var_23ch) = s1;
0x0000b074 sw s0, 0x238(sp) | *(var_238h) = s0;
0x0000b078 move s7, a0 | s7 = a0;
| /* esilref: 'Camsettingsparser' */
0x0000b07c addiu a1, a1, 0x66f8 | a1 += 0x66f8;
0x0000b080 move a0, s5 | a0 = s5;
0x0000b084 sw v0, 0x234(sp) | *(var_234h) = v0;
0x0000b088 jalr t9 | t9 ();
0x0000b08c nop |
0x0000b090 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b094 bnez v0, 0xb420 | goto label_12;
| }
0x0000b098 lw s1, -0x7fd4(gp) | s1 = *((gp - 8181));
0x0000b09c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0000b0a0 lw t9, -0x7cc8(gp) | t9 = sym.imp.fopen;
0x0000b0a4 addiu a1, a1, -0x6754 | a1 += -0x6754;
0x0000b0a8 move a0, s7 | a0 = s7;
0x0000b0ac lw s2, -0x4698(s1) | s2 = *((s1 - 4518));
0x0000b0b0 jalr t9 | t9 ();
0x0000b0b4 move s0, v0 | s0 = v0;
0x0000b0b8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b0bc beqz v0, 0xb438 | goto label_13;
| }
0x0000b0c0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0000b0c4 lw s6, -0x7fc4(gp) | s6 = *(gp);
0x0000b0c8 sw v0, 0x34(sp) | *(var_34h_3) = v0;
0x0000b0cc lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0000b0d0 addiu s4, zero, -1 | s4 = -1;
0x0000b0d4 sw v0, 0x3c(sp) | *(var_3ch_3) = v0;
| /* esilref: 'parser' */
0x0000b0d8 addiu v0, s6, 0x66f0 | v0 = s6 + 0x66f0;
0x0000b0dc sw v0, 0x28(sp) | *(var_28h_2) = v0;
0x0000b0e0 lw v0, -0x7fc4(gp) | v0 = *(gp);
0x0000b0e4 addiu fp, sp, 0x138 | fp = sp + aav.0x00000138;
| /* str.file */
0x0000b0e8 addiu v0, v0, 0x675c | v0 += 0x675c;
0x0000b0ec sw v0, 0x30(sp) | *(var_30h_3) = v0;
0x0000b0f0 lw v0, -0x7fc4(gp) | v0 = *(gp);
| /* str.mount */
0x0000b0f4 addiu v0, v0, 0x6430 | v0 += 0x6430;
0x0000b0f8 sw v0, 0x38(sp) | *(var_38h_3) = v0;
0x0000b0fc b 0xb110 |
| while (s6 != 0) {
0x0000b100 lb a1, -0x100(v0) | a1 = *(v0);
0x0000b104 addiu a0, zero, 0xa | a0 = 0xa;
| if (a1 == a0) {
0x0000b108 beql a1, a0, 0xb17c | goto label_14;
| }
0x0000b10c slti s4, s4, 2 | s4 = (s4 < 2) ? 1 : 0;
| label_1:
0x0000b110 lw t9, -0x7d20(gp) | t9 = sym.imp.fread;
| label_0:
0x0000b114 addiu s4, s4, 1 | s4++;
0x0000b118 move a3, s0 | a3 = s0;
0x0000b11c addiu a2, zero, 1 | a2 = 1;
0x0000b120 addiu a1, zero, 1 | a1 = 1;
0x0000b124 addu a0, fp, s4 | a0 = fp + s4;
0x0000b128 jalr t9 | t9 ();
0x0000b12c move s6, v0 | s6 = v0;
0x0000b130 addiu v0, sp, 0x238 | v0 = sp + 0x238;
0x0000b134 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b138 addu v0, v0, s4 | v0 += s4;
0x0000b13c bnez s6, 0xb100 |
| }
0x0000b140 slti s4, s4, 2 | s4 = (s4 < 2) ? 1 : 0;
0x0000b144 sb zero, -0x100(v0) | *(v0) = 0;
| if (s4 != 0) {
0x0000b148 bnez s4, 0xb1f8 | goto label_15;
| }
| do {
0x0000b14c lb v0, 0x138(sp) | v0 = *(var_138h_2);
0x0000b150 addiu a0, zero, 0x5b | a0 = 0x5b;
0x0000b154 addiu a0, zero, 0x23 | a0 = 0x23;
| if (v0 == a0) {
0x0000b158 beq v0, a0, 0xb18c | goto label_16;
| }
0x0000b15c addiu a0, zero, 0x3b | a0 = 0x3b;
| if (v0 != a0) {
0x0000b160 beq v0, a0, 0xb16c |
0x0000b164 lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
| if (v0 != a0) {
0x0000b168 bne v0, a0, 0xb248 | goto label_17;
| }
| }
| label_2:
0x0000b16c addiu s4, zero, -1 | s4 = -1;
| if (s6 == 0) {
0x0000b170 beqz s6, 0xb1f8 | goto label_15;
| }
0x0000b174 lw t9, -0x7d20(gp) | t9 = sym.imp.fread;
0x0000b178 b 0xb114 | goto label_0;
| label_14:
0x0000b17c sb zero, -0x100(v0) | *(v0) = 0;
0x0000b180 beqz s4, 0xb14c |
| } while (s4 == 0);
0x0000b184 addiu s4, zero, -1 | s4 = -1;
0x0000b188 b 0xb110 | goto label_1;
| label_16:
0x0000b18c lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x0000b190 addiu s4, sp, 0x139 | s4 = sp + 0x139;
0x0000b194 addiu a1, zero, 0x5d | a1 = 0x5d;
0x0000b198 move a0, s4 | a0 = s4;
0x0000b19c jalr t9 | t9 ();
0x0000b1a0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b1a4 beqz v0, 0xb1ac |
0x0000b1a8 sb zero, (v0) | *(v0) = 0;
| }
0x0000b1ac lw t9, -0x7f08(gp) | t9 = sym.map_createGroup;
0x0000b1b0 addiu a2, s1, -0x4698 | a2 = s1 + -0x4698;
0x0000b1b4 move a1, s2 | a1 = s2;
0x0000b1b8 move a0, s4 | a0 = s4;
0x0000b1bc sw s2, -0x4698(s1) | *((s1 - 4518)) = s2;
0x0000b1c0 bal 0x6ccc | sym_map_createGroup ();
0x0000b1c4 addiu v0, v0, 1 | v0++;
0x0000b1c8 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0000b1cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b1d0 bnez v0, 0xb16c | goto label_2;
| }
0x0000b1d4 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b1d8 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b1dc lw t9, -0x7fc8(gp) | t9 = sym.fatald;
0x0000b1e0 move a2, s4 | a2 = s4;
| /* str.Couldnt_create_group:__s_ */
0x0000b1e4 addiu a1, a1, 0x6d78 | a1 += 0x6d78;
| /* str.axisconfigparser.c */
0x0000b1e8 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b1ec bal 0x199c0 | sym_fatald ();
0x0000b1f0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b1f4 b 0xb16c | goto label_2;
| label_15:
0x0000b1f8 lw t9, -0x7c2c(gp) | t9 = sym.imp.fclose;
0x0000b1fc move a0, s0 | a0 = s0;
0x0000b200 jalr t9 | t9 ();
0x0000b204 lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x0000b208 sw s2, -0x4698(s1) | *((s1 - 4518)) = s2;
| label_5:
0x0000b20c lw v1, 0x234(sp) | v1 = *(var_234h);
0x0000b210 lw v0, (s3) | v0 = *(s3);
0x0000b214 lw ra, 0x25c(sp) | ra = *(var_25ch);
| if (v1 != v0) {
0x0000b218 bne v1, v0, 0xb52c | goto label_18;
| }
0x0000b21c lw fp, 0x258(sp) | fp = *(var_258h);
0x0000b220 lw s7, 0x254(sp) | s7 = *(var_254h);
0x0000b224 lw s6, 0x250(sp) | s6 = *(var_250h);
0x0000b228 lw s5, 0x24c(sp) | s5 = *(var_24ch);
0x0000b22c lw s4, 0x248(sp) | s4 = *(var_248h);
0x0000b230 lw s3, 0x244(sp) | s3 = *(var_244h);
0x0000b234 lw s2, 0x240(sp) | s2 = *(var_240h);
0x0000b238 lw s1, 0x23c(sp) | s1 = *(var_23ch);
0x0000b23c lw s0, 0x238(sp) | s0 = *(var_238h);
0x0000b240 addiu sp, sp, 0x260 |
0x0000b244 jr ra | return v0;
| label_17:
0x0000b248 addiu a1, zero, 0x20 | a1 = 0x20;
0x0000b24c move a0, fp | a0 = fp;
0x0000b250 jalr t9 | t9 ();
0x0000b254 move s4, v0 | s4 = v0;
0x0000b258 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b25c beqz v0, 0xb16c | goto label_2;
| }
0x0000b260 lb a0, (v0) | a0 = *(v0);
0x0000b264 addiu v0, zero, 0x20 | v0 = 0x20;
0x0000b268 addiu a0, zero, 0x20 | a0 = 0x20;
| if (a0 != v0) {
0x0000b26c bne a0, v0, 0xb28c | goto label_19;
| }
0x0000b270 sb zero, (s4) | *(s4) = 0;
| label_3:
0x0000b274 addiu s4, s4, 1 | s4++;
| if (s4 == 0) {
0x0000b278 beqz s4, 0xb16c | goto label_2;
| }
0x0000b27c nop |
0x0000b280 lb v0, (s4) | v0 = *(s4);
| if (v0 == a0) {
0x0000b284 beql v0, a0, 0xb274 | goto label_3;
| }
0x0000b288 sb zero, (s4) | *(s4) = 0;
| label_19:
0x0000b28c lw t9, -0x7b80(gp) | t9 = sym.imp.strchr;
0x0000b290 addiu a1, zero, 0x20 | a1 = 0x20;
0x0000b294 move a0, s4 | a0 = s4;
0x0000b298 jalr t9 | t9 ();
0x0000b29c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b2a0 beqz v0, 0xb16c | goto label_2;
| }
0x0000b2a4 lb a0, (v0) | a0 = *(v0);
0x0000b2a8 addiu a2, zero, 0x20 | a2 = 0x20;
0x0000b2ac addiu a1, zero, 0x20 | a1 = 0x20;
| if (a0 != a2) {
0x0000b2b0 bne a0, a2, 0xb2d0 | goto label_20;
| }
0x0000b2b4 sb zero, (v0) | *(v0) = 0;
| label_4:
0x0000b2b8 addiu v0, v0, 1 | v0++;
| if (v0 == 0) {
0x0000b2bc beqz v0, 0xb16c | goto label_2;
| }
0x0000b2c0 nop |
0x0000b2c4 lb a0, (v0) | a0 = *(v0);
| if (a0 == a1) {
0x0000b2c8 beql a0, a1, 0xb2b8 | goto label_4;
| }
0x0000b2cc sb zero, (v0) | *(v0) = 0;
| label_20:
0x0000b2d0 addiu a1, zero, 0x22 | a1 = 0x22;
0x0000b2d4 lw t9, -0x7bbc(gp) | t9 = sym.imp.strrchr;
| if (a0 == a1) {
0x0000b2d8 beq a0, a1, 0xb4b8 | goto label_21;
| }
| label_10:
0x0000b2dc lw t9, -0x7c74(gp) | t9 = sym.imp.__strcpy_chk;
0x0000b2e0 addiu v0, sp, 0x48 | v0 = sp + 0x48;
0x0000b2e4 addiu a2, zero, 0x28 | a2 = 0x28;
0x0000b2e8 move a1, s5 | a1 = s5;
0x0000b2ec move a0, v0 | a0 = v0;
0x0000b2f0 sw v0, 0x40(sp) | *(var_40h_3) = v0;
0x0000b2f4 jalr t9 | t9 ();
0x0000b2f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b2fc lw a1, 0x28(sp) | a1 = *(var_28h_2);
0x0000b300 lw t9, -0x7c98(gp) | t9 = sym.imp.strstr;
0x0000b304 lw a0, 0x40(sp) | a0 = *(var_40h_3);
0x0000b308 jalr t9 | t9 ();
0x0000b30c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b310 beqz v0, 0xb318 |
0x0000b314 sb zero, (v0) | *(v0) = 0;
| }
0x0000b318 lw t9, -0x7f04(gp) | t9 = sym.map_getParam;
0x0000b31c lw a1, -0x4698(s1) | a1 = *((s1 - 4518));
0x0000b320 move a0, s4 | a0 = s4;
0x0000b324 bal 0x70a4 | sym_map_getParam ();
0x0000b328 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b32c beqz v0, 0xb4d4 | goto label_22;
| }
0x0000b330 lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
0x0000b334 sw v1, 0x2c(sp) | *(var_2ch_3) = v1;
0x0000b338 sw v0, -0x469c(v1) | *(v1) = v0;
| label_11:
0x0000b33c lw t9, -0x7f00(gp) | t9 = sym.map_addOptionToParam;
0x0000b340 lw a0, 0x30(sp) | a0 = *(var_30h_3);
0x0000b344 move a2, v0 | a2 = v0;
0x0000b348 move a1, s7 | a1 = s7;
0x0000b34c bal 0x69c8 | sym_map_addOptionToParam ();
0x0000b350 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b354 bnez v0, 0xb498 | goto label_23;
| }
| label_9:
0x0000b358 lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x0000b35c lw t9, -0x7f00(gp) | t9 = sym.map_addOptionToParam;
0x0000b360 lw a0, 0x28(sp) | a0 = *(var_28h_2);
0x0000b364 lw a2, -0x469c(v0) | a2 = *(v0);
0x0000b368 move a1, s5 | a1 = s5;
0x0000b36c bal 0x69c8 | sym_map_addOptionToParam ();
0x0000b370 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b374 bnez v0, 0xb478 | goto label_24;
| }
| label_8:
0x0000b378 lw v0, -0x4698(s1) | v0 = *((s1 - 4518));
0x0000b37c lw v1, 0x34(sp) | v1 = *(var_34h_3);
0x0000b380 addiu v0, v0, 0x11 | v0 += 0x11;
0x0000b384 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0000b388 lw v0, 0x40(sp) | v0 = *(var_40h_3);
0x0000b38c lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk
0x0000b390 addiu t2, sp, 0x70 | t2 = sp + 0x70;
0x0000b394 move a0, t2 | a0 = t2;
0x0000b398 addiu a3, v1, 0x6dd4 | a3 = v1 + 0x6dd4;
0x0000b39c addiu a2, zero, 0xc8 | a2 = 0xc8;
0x0000b3a0 addiu a1, zero, 1 | a1 = 1;
0x0000b3a4 sw t2, 0x44(sp) | *(var_44h_3) = t2;
0x0000b3a8 sw s4, 0x18(sp) | *(var_18h_4) = s4;
0x0000b3ac sw v0, 0x10(sp) | *(var_10h_4) = v0;
0x0000b3b0 jalr t9 | t9 ();
0x0000b3b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b3b8 lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x0000b3bc lw t2, 0x44(sp) | t2 = *(var_44h_3);
0x0000b3c0 lw a0, 0x38(sp) | a0 = *(var_38h_3);
0x0000b3c4 lw t9, -0x7f00(gp) | t9 = sym.map_addOptionToParam;
0x0000b3c8 lw a2, -0x469c(v0) | a2 = *(v0);
0x0000b3cc move a1, t2 | a1 = t2;
0x0000b3d0 bal 0x69c8 | sym_map_addOptionToParam ();
0x0000b3d4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0000b3d8 bnez v0, 0xb458 | goto label_25;
| }
| label_7:
0x0000b3dc lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x0000b3e0 lw t9, -0x7f00(gp) | t9 = sym.map_addOptionToParam;
0x0000b3e4 move a1, fp | a1 = fp;
0x0000b3e8 lw a2, -0x469c(v0) | a2 = *(v0);
0x0000b3ec lw v0, 0x3c(sp) | v0 = *(var_3ch_3);
0x0000b3f0 addiu a0, v0, 0x658c | a0 = v0 + 0x658c;
0x0000b3f4 bal 0x69c8 | sym_map_addOptionToParam ();
0x0000b3f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b3fc beqz v0, 0xb16c | goto label_2;
| }
0x0000b400 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b404 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b408 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_add_option_to_parameter_ */
0x0000b40c addiu a1, a1, 0x6db0 | a1 += 0x6db0;
| /* str.axisconfigparser.c */
0x0000b410 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b414 bal 0x199c0 | sym_fatald ();
0x0000b418 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b41c b 0xb16c | goto label_2;
| label_12:
0x0000b420 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b424 lw t9, -0x7ce4(gp) | t9 = sym.imp.puts;
| /* str.ERROR:_Only_Camsettingsparser_supported_for_paramfile_ */
0x0000b428 addiu a0, a0, 0x6d40 | a0 += 0x6d40;
0x0000b42c jalr t9 | t9 ();
0x0000b430 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b434 b 0xb20c | goto label_5;
| label_13:
0x0000b438 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b43c lw t9, -0x7b74(gp) | t9 = sym.imp.__printf_chk;
0x0000b440 move a2, s7 | a2 = s7;
| /* str.Failed_to_open__s_n */
0x0000b444 addiu a1, a1, 0x6de0 | a1 += 0x6de0;
0x0000b448 addiu a0, zero, 1 | a0 = 1;
0x0000b44c jalr t9 | t9 ();
0x0000b450 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b454 b 0xb208 | goto label_6;
| label_25:
0x0000b458 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b45c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b460 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_add_option_to_parameter_ */
0x0000b464 addiu a1, a1, 0x6db0 | a1 += 0x6db0;
| /* str.axisconfigparser.c */
0x0000b468 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b46c bal 0x199c0 | sym_fatald ();
0x0000b470 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b474 b 0xb3dc | goto label_7;
| label_24:
0x0000b478 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b47c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b480 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_add_option_to_parameter_ */
0x0000b484 addiu a1, a1, 0x6db0 | a1 += 0x6db0;
| /* str.axisconfigparser.c */
0x0000b488 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b48c bal 0x199c0 | sym_fatald ();
0x0000b490 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b494 b 0xb378 | goto label_8;
| label_23:
0x0000b498 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b49c lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b4a0 lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_add_option_to_parameter_ */
0x0000b4a4 addiu a1, a1, 0x6db0 | a1 += 0x6db0;
| /* str.axisconfigparser.c */
0x0000b4a8 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b4ac bal 0x199c0 | sym_fatald ();
0x0000b4b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b4b4 b 0xb358 | goto label_9;
| label_21:
0x0000b4b8 addiu a1, zero, 0x22 | a1 = 0x22;
0x0000b4bc addiu a0, v0, 1 | a0 = v0 + 1;
0x0000b4c0 jalr t9 | t9 ();
0x0000b4c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b4c8 beqz v0, 0xb2dc | goto label_10;
| }
0x0000b4cc sb zero, (v0) | *(v0) = 0;
0x0000b4d0 b 0xb2dc | goto label_10;
| label_22:
0x0000b4d4 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x0000b4d8 lw t9, -0x7efc(gp) | t9 = sym.map_createParam;
0x0000b4dc lw a1, -0x4698(s1) | a1 = *((s1 - 4518));
0x0000b4e0 sw v0, 0x2c(sp) | *(var_2ch_3) = v0;
0x0000b4e4 addiu a2, v0, -0x469c | a2 = v0 + -fcn.0000469c;
0x0000b4e8 move a0, s4 | a0 = s4;
0x0000b4ec bal 0x62e4 | sym_map_createParam ();
0x0000b4f0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000b4f4 bnez v0, 0xb504 |
0x0000b4f8 lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x0000b4fc lw v0, -0x469c(v0) | v0 = *(v0);
0x0000b500 b 0xb33c | goto label_11;
| }
0x0000b504 lw a1, -0x7fc4(gp) | a1 = *(gp);
0x0000b508 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000b50c lw t9, -0x7fc8(gp) | t9 = sym.fatald;
| /* str.Couldnt_create_parameter_ */
0x0000b510 addiu a1, a1, 0x6d94 | a1 += 0x6d94;
| /* str.axisconfigparser.c */
0x0000b514 addiu a0, a0, 0x6d00 | a0 += 0x6d00;
0x0000b518 bal 0x199c0 | sym_fatald ();
0x0000b51c lw v0, 0x2c(sp) | v0 = *(var_2ch_3);
0x0000b520 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000b524 lw v0, -0x469c(v0) | v0 = *(v0);
0x0000b528 b 0xb33c | goto label_11;
| label_18:
0x0000b52c lw t9, -0x7cb4(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000b530 jalr t9 | t9 ();
0x0000b534 nop |
| }
[*] Function sprintf used 40 times parhand