[*] Binary protection state of libjpeg.so.8.1.2
No RELRO No Canary found NX disabled DSO No RPATH No RUNPATH No Symbols
[*] Function mmap tear down of libjpeg.so.8.1.2
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/lib/libjpeg.so.8.1.2 @ 0x1a068 */
| #include <stdint.h>
|
; (fcn) sym.jpeg_skip_scanlines () | void jpeg_skip_scanlines () {
0x0001a068 lui gp, 5 |
0x0001a06c addiu gp, gp, -0x3868 |
0x0001a070 addu gp, gp, t9 | gp += t9;
0x0001a074 addiu sp, sp, -0x50 |
0x0001a078 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0001a07c sw fp, 0x48(sp) | *(var_48h) = fp;
0x0001a080 sw s7, 0x44(sp) | *(var_44h) = s7;
0x0001a084 sw s6, 0x40(sp) | *(var_40h) = s6;
0x0001a088 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x0001a08c sw s4, 0x38(sp) | *(var_38h) = s4;
0x0001a090 sw s3, 0x34(sp) | *(var_34h) = s3;
0x0001a094 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0001a098 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0001a09c sw s0, 0x28(sp) | *(var_28h) = s0;
0x0001a0a0 addiu v1, zero, 0xcd | v1 = 0xcd;
0x0001a0a4 lw t8, 0x1d8(a0) | t8 = *(a0);
0x0001a0a8 move fp, a0 | fp = a0;
0x0001a0ac lw v0, 0x14(a0) | v0 = *((a0 + 5));
0x0001a0b0 move s3, a1 | s3 = a1;
0x0001a0b4 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0001a0b8 lw s7, 0x1bc(a0) | s7 = *((a0 + 111));
0x0001a0bc lw s1, 0x1c0(a0) | s1 = *((a0 + 112));
0x0001a0c0 sw t8, 0x1c(sp) | *(var_1ch) = t8;
| if (v0 != v1) {
0x0001a0c4 beq v0, v1, 0x1a0ec |
0x0001a0c8 lw v1, (a0) | v1 = *(a0);
0x0001a0cc addiu a1, zero, 0x15 | a1 = 0x15;
0x0001a0d0 sw v0, 0x18(v1) | *((v1 + 6)) = v0;
0x0001a0d4 lw v0, (a0) | v0 = *(a0);
0x0001a0d8 sw a1, 0x14(v1) | *((v1 + 5)) = a1;
0x0001a0dc lw t9, (v0) | t9 = *(v0);
0x0001a0e0 jalr t9 | t9 ();
0x0001a0e4 nop |
0x0001a0e8 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0001a0ec lw v0, 0x8c(fp) | v0 = *(arg_8ch);
0x0001a0f0 lw t4, 0x74(fp) | t4 = *(arg_74h);
0x0001a0f4 addu v1, s3, v0 | v1 = s3 + v0;
0x0001a0f8 sltu a0, v1, t4 | a0 = (v1 < t4) ? 1 : 0;
| if (a0 == 0) {
0x0001a0fc beqz a0, 0x1a2ec | goto label_14;
| }
0x0001a100 nop |
| if (s3 == 0) {
0x0001a104 beqz s3, 0x1a2b8 | goto label_15;
| }
0x0001a108 nop |
0x0001a10c lw t9, 0x140(fp) | t9 = *(arg_140h);
0x0001a110 lw s0, 0x13c(fp) | s0 = *(arg_13ch);
0x0001a114 lw a1, 0x1d8(fp) | a1 = *(arg_1d8h);
0x0001a118 mult t9, s0 | __asm ("mult t9, s0");
0x0001a11c lw a2, 8(a1) | a2 = *((a1 + 2));
0x0001a120 mflo s2 | __asm ("mflo s2");
0x0001a124 divu zero, v0, s2 | __asm ("divu zero, v0, s2");
| if (s2 == 0) {
0x0001a128 bnez s2, 0x1a130 |
0x0001a12c break 7 | __asm ("break 7");
| }
0x0001a130 mfhi a0 | __asm ("mfhi a0");
0x0001a134 subu a0, s2, a0 | __asm ("subu a0, s2, a0");
0x0001a138 divu zero, a0, s2 | __asm ("divu zero, a0, s2");
| if (s2 == 0) {
0x0001a13c bnez s2, 0x1a144 |
0x0001a140 break 7 | __asm ("break 7");
| }
0x0001a144 mfhi a0 | __asm ("mfhi a0");
0x0001a148 subu t7, s3, a0 | __asm ("subu t7, s3, a0");
| if (a2 == 0) {
0x0001a14c beqz a2, 0x1a324 | goto label_16;
| }
0x0001a150 addiu v1, a0, 1 | v1 = a0 + 1;
0x0001a154 sltu v1, s3, v1 | v1 = (s3 < v1) ? 1 : 0;
0x0001a158 sltiu v1, a0, 2 | v1 = (a0 < 2) ? 1 : 0;
| if (v1 != 0) {
0x0001a15c bnez v1, 0x1a750 | goto label_12;
| }
| if (v1 != 0) {
0x0001a160 bnez v1, 0x1a798 | goto label_17;
| }
0x0001a164 nop |
| label_11:
0x0001a168 addu v0, a0, v0 | v0 = a0 + v0;
0x0001a16c sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001a170 move t8, v0 | t8 = v0;
| label_13:
0x0001a174 lw v0, 0x4c(s7) | v0 = *((s7 + 19));
0x0001a178 sw t8, 0x8c(fp) | *(arg_8ch) = t8;
| if (v0 == 0) {
0x0001a17c beqz v0, 0x1a680 | goto label_18;
| }
0x0001a180 addiu v1, zero, 1 | v1 = 1;
| if (v0 == v1) {
0x0001a184 beq v0, v1, 0x1a674 | goto label_19;
| }
0x0001a188 nop |
| label_8:
0x0001a18c lw t8, 0x20(sp) | t8 = *(var_20h);
| label_7:
0x0001a190 sw zero, 0x30(s7) | *((s7 + 12)) = 0;
0x0001a194 subu v0, t4, t8 | __asm ("subu v0, t4, t8");
0x0001a198 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x0001a19c sw zero, 0x34(s7) | *((s7 + 13)) = 0;
0x0001a1a0 sw zero, 0x44(s7) | *((s7 + 17)) = 0;
0x0001a1a4 sw v0, 0x60(t8) | *((t8 + 96)) = v0;
0x0001a1a8 lw v0, 8(a1) | v0 = *((a1 + 2));
0x0001a1ac sw s0, 0x5c(t8) | *((t8 + 92)) = s0;
| if (v0 == 0) {
0x0001a1b0 beqz v0, 0x1a354 | goto label_20;
| }
| label_0:
0x0001a1b4 addiu v1, t7, -1 | v1 = t7 + -1;
0x0001a1b8 divu zero, v1, s2 | __asm ("divu zero, v1, s2");
| if (s2 == 0) {
0x0001a1bc bnez s2, 0x1a1c4 |
0x0001a1c0 break 7 | __asm ("break 7");
| }
0x0001a1c4 lw a0, 0x1c8(fp) | a0 = *(arg_1c8h);
0x0001a1c8 lw a0, 0x10(a0) | a0 = *((a0 + 4));
0x0001a1cc mflo s5 | __asm ("mflo s5");
0x0001a1d0 mult s5, s2 | __asm ("mult s5, s2");
0x0001a1d4 mflo s5 | __asm ("mflo s5");
0x0001a1d8 subu t8, t7, s5 | __asm ("subu t8, t7, s5");
0x0001a1dc sw t8, 0x18(sp) | *(var_18h) = t8;
| if (a0 == 0) {
0x0001a1e0 beqz a0, 0x1a424 | goto label_21;
| }
0x0001a1e4 divu zero, s5, s2 | __asm ("divu zero, s5, s2");
| if (s2 == 0) {
0x0001a1e8 bnez s2, 0x1a1f0 |
0x0001a1ec break 7 | __asm ("break 7");
| }
0x0001a1f0 lw a0, 0x9c(fp) | a0 = *(arg_9ch);
0x0001a1f4 lw a1, 0x4c(s7) | a1 = *((s7 + 19));
0x0001a1f8 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a1fc lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a200 addu v1, v1, s5 | v1 += s5;
0x0001a204 lw s0, 4(v0) | s0 = *((v0 + 1));
0x0001a208 sw v1, 0x8c(fp) | *(arg_8ch) = v1;
0x0001a20c move s1, zero | s1 = 0;
0x0001a210 mflo a2 | __asm ("mflo a2");
0x0001a214 divu zero, t7, s2 | __asm ("divu zero, t7, s2");
| if (s2 == 0) {
0x0001a218 bnez s2, 0x1a220 |
0x0001a21c break 7 | __asm ("break 7");
| }
0x0001a220 addu a2, a0, a2 | a2 = a0 + a2;
0x0001a224 sw a2, 0x9c(fp) | *(arg_9ch) = a2;
0x0001a228 mflo a0 | __asm ("mflo a0");
0x0001a22c addu a0, a1, a0 | a0 = a1 + a0;
0x0001a230 sw a0, 0x4c(s7) | *((s7 + 19)) = a0;
0x0001a234 lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
0x0001a238 addiu a0, a0, -0x64e8 | a0 += -0x64e8;
0x0001a23c sw a0, 4(v0) | *((v0 + 1)) = a0;
| if (t8 == 0) {
0x0001a240 beqz t8, 0x1a274 | goto label_22;
| }
| do {
0x0001a244 lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a248 move a0, fp | a0 = fp;
0x0001a24c move a1, zero | a1 = 0;
0x0001a250 addiu a2, zero, 1 | a2 = 1;
0x0001a254 jalr t9 | t9 ();
0x0001a258 addiu s1, s1, 1 | s1++;
0x0001a25c lw t8, 0x18(sp) | t8 = *(var_18h);
0x0001a260 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a264 bne s1, t8, 0x1a244 |
| } while (s1 != t8);
0x0001a268 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a26c lw t4, 0x74(fp) | t4 = *(arg_74h);
0x0001a270 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
| label_22:
0x0001a274 sw s0, 4(v0) | *((v0 + 1)) = s0;
| label_1:
0x0001a278 move v0, s3 | v0 = s3;
0x0001a27c lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x0001a280 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0001a284 subu v1, t4, v1 | __asm ("subu v1, t4, v1");
0x0001a288 lw fp, 0x48(sp) | fp = *(var_48h);
0x0001a28c lw s7, 0x44(sp) | s7 = *(var_44h);
0x0001a290 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0001a294 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0001a298 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0001a29c lw s3, 0x34(sp) | s3 = *(var_34h);
0x0001a2a0 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001a2a4 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0001a2a8 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0001a2ac sw v1, 0x60(t8) | *((t8 + 96)) = v1;
0x0001a2b0 addiu sp, sp, 0x50 |
0x0001a2b4 jr ra | return v0;
| label_15:
0x0001a2b8 move v0, zero | v0 = 0;
| label_10:
0x0001a2bc lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0001a2c0 lw fp, 0x48(sp) | fp = *(var_48h);
0x0001a2c4 lw s7, 0x44(sp) | s7 = *(var_44h);
0x0001a2c8 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0001a2cc lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0001a2d0 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0001a2d4 lw s3, 0x34(sp) | s3 = *(var_34h);
0x0001a2d8 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001a2dc lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0001a2e0 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0001a2e4 addiu sp, sp, 0x50 |
0x0001a2e8 jr ra | return v0;
| label_14:
0x0001a2ec sw t4, 0x8c(fp) | *(arg_8ch) = t4;
0x0001a2f0 move v0, zero | v0 = 0;
0x0001a2f4 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0001a2f8 lw fp, 0x48(sp) | fp = *(var_48h);
0x0001a2fc lw s7, 0x44(sp) | s7 = *(var_44h);
0x0001a300 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0001a304 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0001a308 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0001a30c lw s3, 0x34(sp) | s3 = *(var_34h);
0x0001a310 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001a314 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0001a318 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0001a31c addiu sp, sp, 0x50 |
0x0001a320 jr ra | return v0;
| label_16:
0x0001a324 sltu a2, s3, a0 | a2 = (s3 < a0) ? 1 : 0;
0x0001a328 addu v0, a0, v0 | v0 = a0 + v0;
| if (a2 != 0) {
0x0001a32c bnez a2, 0x1a7c4 | goto label_23;
| }
0x0001a330 sw v0, 0x8c(fp) | *(arg_8ch) = v0;
0x0001a334 subu v1, t4, v0 | __asm ("subu v1, t4, v0");
0x0001a338 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x0001a33c lw v0, 8(a1) | v0 = *((a1 + 2));
0x0001a340 sw zero, 0x30(s7) | *((s7 + 12)) = 0;
0x0001a344 sw zero, 0x34(s7) | *((s7 + 13)) = 0;
0x0001a348 sw s0, 0x5c(t8) | *((t8 + 92)) = s0;
0x0001a34c sw v1, 0x60(t8) | *((t8 + 96)) = v1;
| if (v0 != 0) {
0x0001a350 bnez v0, 0x1a1b4 | goto label_0;
| }
| label_20:
0x0001a354 divu zero, t7, s2 | __asm ("divu zero, t7, s2");
| if (s2 == 0) {
0x0001a358 bnez s2, 0x1a360 |
0x0001a35c break 7 | __asm ("break 7");
| }
0x0001a360 lw v1, 0x1c8(fp) | v1 = *(arg_1c8h);
0x0001a364 lw v1, 0x10(v1) | v1 = *((v1 + 4));
0x0001a368 mflo s5 | __asm ("mflo s5");
0x0001a36c mult s5, s2 | __asm ("mult s5, s2");
0x0001a370 mflo s5 | __asm ("mflo s5");
0x0001a374 subu t7, t7, s5 | __asm ("subu t7, t7, s5");
0x0001a378 sw t7, 0x18(sp) | *(var_18h) = t7;
| if (v1 == 0) {
0x0001a37c beqz v1, 0x1a424 | goto label_21;
| }
0x0001a380 divu zero, t7, s0 | __asm ("divu zero, t7, s0");
| if (s0 == 0) {
0x0001a384 bnez s0, 0x1a38c |
0x0001a388 break 7 | __asm ("break 7");
| }
0x0001a38c lw a0, 0x1bc(fp) | a0 = *(arg_1bch);
0x0001a390 lw a3, 0x9c(fp) | a3 = *(arg_9ch);
0x0001a394 lw a2, 0x34(a0) | a2 = *((a0 + 13));
0x0001a398 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a39c lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a3a0 addu v1, s5, v1 | v1 = s5 + v1;
0x0001a3a4 lw s4, 4(v0) | s4 = *((v0 + 1));
0x0001a3a8 addu v1, v1, t7 | v1 += t7;
0x0001a3ac mfhi s1 | __asm ("mfhi s1");
0x0001a3b0 mflo a1 | __asm ("mflo a1");
0x0001a3b4 subu v1, v1, s1 | __asm ("subu v1, v1, s1");
0x0001a3b8 divu zero, s5, s2 | __asm ("divu zero, s5, s2");
| if (s2 == 0) {
0x0001a3bc bnez s2, 0x1a3c4 |
0x0001a3c0 break 7 | __asm ("break 7");
| }
0x0001a3c4 addu a1, a2, a1 | a1 = a2 + a1;
0x0001a3c8 mflo a2 | __asm ("mflo a2");
0x0001a3cc addu a2, a3, a2 | a2 = a3 + a2;
0x0001a3d0 sw a2, 0x9c(fp) | *(arg_9ch) = a2;
0x0001a3d4 sw a1, 0x34(a0) | *((a0 + 13)) = a1;
0x0001a3d8 lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
0x0001a3dc sw v1, 0x8c(fp) | *(arg_8ch) = v1;
0x0001a3e0 addiu a0, a0, -0x64e8 | a0 += -0x64e8;
0x0001a3e4 sw a0, 4(v0) | *((v0 + 1)) = a0;
| if (s1 == 0) {
0x0001a3e8 beqz s1, 0x1a41c | goto label_24;
| }
0x0001a3ec move s0, zero | s0 = 0;
| do {
0x0001a3f0 lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a3f4 move a0, fp | a0 = fp;
0x0001a3f8 move a1, zero | a1 = 0;
0x0001a3fc addiu a2, zero, 1 | a2 = 1;
0x0001a400 addiu s0, s0, 1 | s0++;
0x0001a404 jalr t9 | t9 ();
0x0001a408 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a40c bne s0, s1, 0x1a3f0 |
| } while (s0 != s1);
0x0001a410 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a414 lw t4, 0x74(fp) | t4 = *(arg_74h);
0x0001a418 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
| label_24:
0x0001a41c sw s4, 4(v0) | *((v0 + 1)) = s4;
0x0001a420 b 0x1a278 | goto label_1;
| if (s5 == 0) {
| label_21:
0x0001a424 beqz s5, 0x1a4e8 | goto label_25;
| }
0x0001a428 nop |
0x0001a42c move s4, zero | s4 = 0;
| label_3:
0x0001a430 lw v1, 0x1c(s1) | v1 = *((s1 + 7));
| if (v1 <= 0) {
0x0001a434 blez v1, 0x1a48c | goto label_26;
| }
0x0001a438 nop |
0x0001a43c lw v0, 0x164(fp) | v0 = *(arg_164h);
0x0001a440 move s0, zero | s0 = 0;
| if (v0 == 0) {
| label_2:
0x0001a444 beqz v0, 0x1a47c | goto label_27;
| }
0x0001a448 nop |
0x0001a44c move s6, zero | s6 = 0;
| do {
0x0001a450 lw v0, 0x1d0(fp) | v0 = *(arg_1d0h);
0x0001a454 move a0, fp | a0 = fp;
0x0001a458 move a1, zero | a1 = 0;
0x0001a45c lw t9, 4(v0) | t9 = *((v0 + 1));
0x0001a460 addiu s6, s6, 1 | s6++;
0x0001a464 jalr t9 | t9 ();
0x0001a468 lw v0, 0x164(fp) | v0 = *(arg_164h);
0x0001a46c sltu a0, s6, v0 | a0 = (s6 < v0) ? 1 : 0;
0x0001a470 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a474 bnez a0, 0x1a450 |
| } while (a0 != 0);
0x0001a478 lw v1, 0x1c(s1) | v1 = *((s1 + 7));
| label_27:
0x0001a47c addiu s0, s0, 1 | s0++;
0x0001a480 slt a0, s0, v1 | a0 = (s0 < v1) ? 1 : 0;
| if (a0 != 0) {
0x0001a484 bnez a0, 0x1a444 | goto label_2;
| }
0x0001a488 nop |
| label_26:
0x0001a48c lw v0, 0x94(fp) | v0 = *(arg_94h);
0x0001a490 lw a1, 0x9c(fp) | a1 = *(arg_9ch);
0x0001a494 lw v1, 0x148(fp) | v1 = *(arg_148h);
0x0001a498 addiu v0, v0, 1 | v0++;
0x0001a49c addiu a1, a1, 1 | a1++;
0x0001a4a0 sltu a0, v0, v1 | a0 = (v0 < v1) ? 1 : 0;
0x0001a4a4 sw v0, 0x94(fp) | *(arg_94h) = v0;
0x0001a4a8 sw a1, 0x9c(fp) | *(arg_9ch) = a1;
| if (a0 == 0) {
0x0001a4ac beqz a0, 0x1a5a8 | goto label_28;
| }
0x0001a4b0 lw a1, 0x150(fp) | a1 = *(arg_150h);
0x0001a4b4 slti a1, a1, 2 | a1 = (a1 < 2) ? 1 : 0;
0x0001a4b8 lw a0, 0x1c0(fp) | a0 = *(arg_1c0h);
| if (a1 != 0) {
0x0001a4bc bnez a1, 0x1a5c0 | goto label_29;
| }
0x0001a4c0 addiu t8, zero, 1 | t8 = 1;
0x0001a4c4 sw t8, 0x1c(a0) | *((a0 + 7)) = t8;
| label_5:
0x0001a4c8 sw zero, 0x14(a0) | *((a0 + 5)) = 0;
0x0001a4cc sw zero, 0x18(a0) | *((a0 + 6)) = 0;
| label_4:
0x0001a4d0 addu s4, s4, s2 | s4 += s2;
0x0001a4d4 sltu v0, s4, s5 | v0 = (s4 < s5) ? 1 : 0;
| if (v0 != 0) {
0x0001a4d8 bnez v0, 0x1a430 | goto label_3;
| }
0x0001a4dc nop |
0x0001a4e0 lw v0, 0x1d8(fp) | v0 = *(arg_1d8h);
0x0001a4e4 lw v0, 8(v0) | v0 = *((v0 + 2));
| label_25:
0x0001a4e8 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a4ec addu v1, s5, v1 | v1 = s5 + v1;
0x0001a4f0 sw v1, 0x8c(fp) | *(arg_8ch) = v1;
| if (v0 == 0) {
0x0001a4f4 beqz v0, 0x1a5f0 | goto label_30;
| }
0x0001a4f8 divu zero, s5, s2 | __asm ("divu zero, s5, s2");
| if (s2 == 0) {
0x0001a4fc bnez s2, 0x1a504 |
0x0001a500 break 7 | __asm ("break 7");
| }
0x0001a504 lw a1, 0x4c(s7) | a1 = *((s7 + 19));
0x0001a508 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a50c lw t8, 0x18(sp) | t8 = *(var_18h);
0x0001a510 lw s1, 4(v0) | s1 = *((v0 + 1));
0x0001a514 move s0, zero | s0 = 0;
0x0001a518 mflo a0 | __asm ("mflo a0");
0x0001a51c addu a0, a1, a0 | a0 = a1 + a0;
0x0001a520 sw a0, 0x4c(s7) | *((s7 + 19)) = a0;
0x0001a524 lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
0x0001a528 addiu a0, a0, -0x64e8 | a0 += -0x64e8;
0x0001a52c sw a0, 4(v0) | *((v0 + 1)) = a0;
| if (t8 == 0) {
0x0001a530 beqz t8, 0x1a560 | goto label_31;
| }
| do {
0x0001a534 lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a538 move a0, fp | a0 = fp;
0x0001a53c move a1, zero | a1 = 0;
0x0001a540 addiu a2, zero, 1 | a2 = 1;
0x0001a544 jalr t9 | t9 ();
0x0001a548 addiu s0, s0, 1 | s0++;
0x0001a54c lw t8, 0x18(sp) | t8 = *(var_18h);
0x0001a550 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a554 bne s0, t8, 0x1a534 |
| } while (s0 != t8);
0x0001a558 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a55c lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
| label_31:
0x0001a560 sw s1, 4(v0) | *((v0 + 1)) = s1;
| label_6:
0x0001a564 lw t8, 0x74(fp) | t8 = *(arg_74h);
0x0001a568 move v0, s3 | v0 = s3;
0x0001a56c lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0001a570 subu v1, t8, v1 | __asm ("subu v1, t8, v1");
0x0001a574 lw fp, 0x48(sp) | fp = *(var_48h);
0x0001a578 lw t8, 0x1c(sp) | t8 = *(var_1ch);
0x0001a57c lw s7, 0x44(sp) | s7 = *(var_44h);
0x0001a580 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0001a584 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x0001a588 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0001a58c lw s3, 0x34(sp) | s3 = *(var_34h);
0x0001a590 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0001a594 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0001a598 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0001a59c sw v1, 0x60(t8) | *((t8 + 96)) = v1;
0x0001a5a0 addiu sp, sp, 0x50 |
0x0001a5a4 jr ra | return v0;
| label_28:
0x0001a5a8 lw v0, 0x1c8(fp) | v0 = *(arg_1c8h);
0x0001a5ac lw t9, 0xc(v0) | t9 = *((v0 + 3));
0x0001a5b0 move a0, fp | a0 = fp;
0x0001a5b4 jalr t9 | t9 ();
0x0001a5b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a5bc b 0x1a4d0 | goto label_4;
| label_29:
0x0001a5c0 addiu v1, v1, -1 | v1 += -1;
0x0001a5c4 sltu v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
| if (v0 == 0) {
0x0001a5c8 bnez v0, 0x1a5e0 |
0x0001a5cc nop |
0x0001a5d0 lw v0, 0x154(fp) | v0 = *(arg_154h);
0x0001a5d4 lw v0, 0x4c(v0) | v0 = *((v0 + 19));
0x0001a5d8 sw v0, 0x1c(a0) | *((a0 + 7)) = v0;
0x0001a5dc b 0x1a4c8 | goto label_5;
| }
0x0001a5e0 lw v0, 0x154(fp) | v0 = *(arg_154h);
0x0001a5e4 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x0001a5e8 sw v0, 0x1c(a0) | *((a0 + 7)) = v0;
0x0001a5ec b 0x1a4c8 | goto label_5;
| label_30:
0x0001a5f0 lw s1, 0x13c(fp) | s1 = *(arg_13ch);
0x0001a5f4 lw t8, 0x18(sp) | t8 = *(var_18h);
0x0001a5f8 lw a0, 0x1bc(fp) | a0 = *(arg_1bch);
0x0001a5fc divu zero, t8, s1 | __asm ("divu zero, t8, s1");
| if (s1 == 0) {
0x0001a600 bnez s1, 0x1a608 |
0x0001a604 break 7 | __asm ("break 7");
| }
0x0001a608 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a60c lw a2, 0x34(a0) | a2 = *((a0 + 13));
0x0001a610 lw s2, 4(v0) | s2 = *((v0 + 1));
0x0001a614 addu v1, v1, t8 | v1 += t8;
0x0001a618 mflo a1 | __asm ("mflo a1");
0x0001a61c addu a1, a2, a1 | a1 = a2 + a1;
0x0001a620 mfhi s1 | __asm ("mfhi s1");
0x0001a624 sw a1, 0x34(a0) | *((a0 + 13)) = a1;
0x0001a628 subu v1, v1, s1 | __asm ("subu v1, v1, s1");
0x0001a62c lw a0, -0x7fd0(gp) | a0 = *((gp - 8180));
0x0001a630 sw v1, 0x8c(fp) | *(arg_8ch) = v1;
0x0001a634 addiu a0, a0, -0x64e8 | a0 += -0x64e8;
0x0001a638 sw a0, 4(v0) | *((v0 + 1)) = a0;
| if (s1 == 0) {
0x0001a63c beqz s1, 0x1a66c | goto label_32;
| }
0x0001a640 move s0, zero | s0 = 0;
| do {
0x0001a644 lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a648 move a0, fp | a0 = fp;
0x0001a64c move a1, zero | a1 = 0;
0x0001a650 addiu a2, zero, 1 | a2 = 1;
0x0001a654 addiu s0, s0, 1 | s0++;
0x0001a658 jalr t9 | t9 ();
0x0001a65c lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a660 bne s0, s1, 0x1a644 |
| } while (s0 != s1);
0x0001a664 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x0001a668 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
| label_32:
0x0001a66c sw s2, 4(v0) | *((v0 + 1)) = s2;
0x0001a670 b 0x1a564 | goto label_6;
| label_19:
0x0001a674 sltiu a0, a0, 3 | a0 = (a0 < 3) ? 1 : 0;
0x0001a678 lw t8, 0x20(sp) | t8 = *(var_20h);
| if (a0 != 0) {
0x0001a67c bnez a0, 0x1a190 | goto label_7;
| }
| label_18:
0x0001a680 lw s5, 0x24(fp) | s5 = *(arg_24h);
0x0001a684 lw s4, 0x1bc(fp) | s4 = *(arg_1bch);
0x0001a688 lw t6, 0xd8(fp) | t6 = *(arg_d8h);
| if (s5 <= 0) {
0x0001a68c blez s5, 0x1a18c | goto label_8;
| }
0x0001a690 move t5, zero | t5 = 0;
0x0001a694 addiu s6, t9, 1 | s6 = t9 + 1;
| label_9:
0x0001a698 lw a0, 0xc(t6) | a0 = *((t6 + 3));
0x0001a69c sll v0, t5, 2 | v0 = t5 << 2;
0x0001a6a0 lw v1, 0x24(t6) | v1 = *((t6 + 9));
0x0001a6a4 lw a1, 0x38(s4) | a1 = *((s4 + 14));
0x0001a6a8 mult a0, v1 | __asm ("mult a0, v1");
0x0001a6ac lw v1, 0x3c(s4) | v1 = *((s4 + 15));
0x0001a6b0 addu a1, a1, v0 | a1 += v0;
0x0001a6b4 addu v1, v1, v0 | v1 += v0;
0x0001a6b8 lw v1, (v1) | v1 = *(v1);
0x0001a6bc mflo a0 | __asm ("mflo a0");
0x0001a6c0 div zero, a0, t9 | __asm ("div zero, a0, t9");
| if (t9 == 0) {
0x0001a6c4 bnez t9, 0x1a6cc |
0x0001a6c8 break 7 | __asm ("break 7");
| }
0x0001a6cc mflo a0 | __asm ("mflo a0");
0x0001a6d0 lw v0, (a1) | v0 = *(a1);
| if (a0 <= 0) {
0x0001a6d4 blez a0, 0x1a73c | goto label_33;
| }
0x0001a6d8 mult a0, s6 | __asm ("mult a0, s6");
0x0001a6dc sll t3, a0, 2 | t3 = a0 << 2;
0x0001a6e0 negu a2, t3 | __asm ("negu a2, t3");
0x0001a6e4 addu t3, v0, t3 | t3 = v0 + t3;
0x0001a6e8 mflo a1 | __asm ("mflo a1");
0x0001a6ec addu a0, a1, a0 | a0 = a1 + a0;
0x0001a6f0 sll a1, a1, 2 | a1 <<= 2;
0x0001a6f4 sll a0, a0, 2 | a0 <<= 2;
| do {
0x0001a6f8 addu t0, v0, a1 | t0 = v0 + a1;
0x0001a6fc addu a3, v0, a2 | a3 = v0 + a2;
0x0001a700 lw t0, (t0) | t0 = *(t0);
0x0001a704 addu t2, v1, a1 | t2 = v1 + a1;
0x0001a708 addu t1, v1, a2 | t1 = v1 + a2;
0x0001a70c sw t0, (a3) | *(a3) = t0;
0x0001a710 addu t0, v0, a0 | t0 = v0 + a0;
0x0001a714 lw t2, (t2) | t2 = *(t2);
0x0001a718 addiu v0, v0, 4 | v0 += 4;
0x0001a71c addu a3, v1, a0 | a3 = v1 + a0;
0x0001a720 addiu v1, v1, 4 | v1 += 4;
0x0001a724 sw t2, (t1) | *(t1) = t2;
0x0001a728 lw t1, -4(v0) | t1 = *((v0 - 1));
0x0001a72c sw t1, (t0) | *(t0) = t1;
0x0001a730 lw t0, -4(v1) | t0 = *((v1 - 1));
0x0001a734 sw t0, (a3) | *(a3) = t0;
0x0001a738 bne v0, t3, 0x1a6f8 |
| } while (v0 != t3);
| label_33:
0x0001a73c addiu t5, t5, 1 | t5++;
0x0001a740 addiu t6, t6, 0x58 | t6 += 0x58;
| if (t5 != s5) {
0x0001a744 bne t5, s5, 0x1a698 | goto label_9;
| }
0x0001a748 lw a1, 0x1d8(fp) | a1 = *(arg_1d8h);
0x0001a74c b 0x1a18c | goto label_8;
| label_12:
0x0001a750 lw v1, -0x7fd0(gp) | v1 = *((gp - 8180));
0x0001a754 move s0, zero | s0 = 0;
0x0001a758 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a75c addiu v1, v1, -0x64e8 | v1 += -0x64e8;
0x0001a760 lw s1, 4(v0) | s1 = *((v0 + 1));
0x0001a764 sw v1, 4(v0) | *((v0 + 1)) = v1;
| do {
0x0001a768 lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a76c move a0, fp | a0 = fp;
0x0001a770 move a1, zero | a1 = 0;
0x0001a774 addiu a2, zero, 1 | a2 = 1;
0x0001a778 addiu s0, s0, 1 | s0++;
0x0001a77c jalr t9 | t9 ();
0x0001a780 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a784 bne s0, s3, 0x1a768 |
| } while (s0 != s3);
0x0001a788 lw t8, 0x1dc(fp) | t8 = *(arg_1dch);
0x0001a78c move v0, s0 | v0 = s0;
0x0001a790 sw s1, 4(t8) | *((t8 + 4)) = s1;
0x0001a794 b 0x1a2bc | goto label_10;
| label_17:
0x0001a798 lw v1, 0x30(s7) | v1 = *((s7 + 12));
0x0001a79c addiu v1, s2, 1 | v1 = s2 + 1;
| if (v1 == 0) {
0x0001a7a0 beqz v1, 0x1a168 | goto label_11;
| }
0x0001a7a4 sltu v1, t7, v1 | v1 = (t7 < v1) ? 1 : 0;
0x0001a7a8 addu v0, s2, v0 | v0 = s2 + v0;
| if (v1 != 0) {
0x0001a7ac bnez v1, 0x1a750 | goto label_12;
| }
0x0001a7b0 subu t7, t7, s2 | __asm ("subu t7, t7, s2");
0x0001a7b4 addu v0, v0, a0 | v0 += a0;
0x0001a7b8 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0001a7bc move t8, v0 | t8 = v0;
0x0001a7c0 b 0x1a174 | goto label_13;
| label_23:
0x0001a7c4 divu zero, s3, s0 | __asm ("divu zero, s3, s0");
| if (s0 == 0) {
0x0001a7c8 bnez s0, 0x1a7d0 |
0x0001a7cc break 7 | __asm ("break 7");
| }
0x0001a7d0 lw a0, 0x1bc(fp) | a0 = *(arg_1bch);
0x0001a7d4 lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
0x0001a7d8 lw a2, 0x34(a0) | a2 = *((a0 + 13));
0x0001a7dc lw s4, 4(v0) | s4 = *((v0 + 1));
0x0001a7e0 move s1, zero | s1 = 0;
0x0001a7e4 mfhi s2 | __asm ("mfhi s2");
0x0001a7e8 mflo a1 | __asm ("mflo a1");
0x0001a7ec subu v1, v1, s2 | __asm ("subu v1, v1, s2");
0x0001a7f0 addu a1, a2, a1 | a1 = a2 + a1;
0x0001a7f4 sw a1, 0x34(a0) | *((a0 + 13)) = a1;
0x0001a7f8 sw v1, 0x8c(fp) | *(arg_8ch) = v1;
0x0001a7fc lw v1, -0x7fd0(gp) | v1 = *((gp - 8180));
0x0001a800 addiu v1, v1, -0x64e8 | v1 += -0x64e8;
0x0001a804 sw v1, 4(v0) | *((v0 + 1)) = v1;
| if (s2 == 0) {
0x0001a808 beqz s2, 0x1a830 | goto label_34;
| }
| do {
0x0001a80c lw t9, -0x7d30(gp) | t9 = *((gp - 8012));
0x0001a810 move a0, fp | a0 = fp;
0x0001a814 move a1, zero | a1 = 0;
0x0001a818 addiu a2, zero, 1 | a2 = 1;
0x0001a81c addiu s1, s1, 1 | s1++;
0x0001a820 jalr t9 | t9 ();
0x0001a824 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a828 bne s1, s2, 0x1a80c |
| } while (s1 != s2);
0x0001a82c lw v0, 0x1dc(fp) | v0 = *(arg_1dch);
| label_34:
0x0001a830 sw s4, 4(v0) | *((v0 + 1)) = s4;
0x0001a834 move v0, s3 | v0 = s3;
0x0001a838 b 0x1a2bc | goto label_10;
| }
[*] Function mmap used 1 times libjpeg.so.8.1.2