[*] Binary protection state of libjpeg.so.8.1.2

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   No Symbols


[*] Function strcat 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 strcat used 1 times libjpeg.so.8.1.2