[*] Binary protection state of integritysetup

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function sprintf tear down of integritysetup

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/integritysetup @ 0x8274 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00008274 ()              | void fcn_00008274 () {
                                         | label_1:
    0x00008274 lui gp, 2                 |     
    0x00008278 addiu gp, gp, -0xe14      |     
    0x0000827c addu gp, gp, t9           |     gp += t9;
    0x00008280 addiu sp, sp, -0x48       |     
    0x00008284 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00008288 sw s0, 0x34(sp)           |     *(var_34h) = s0;
    0x0000828c lw s0, -0x7d60(gp)        |     s0 = *((gp - 8024));
    0x00008290 sw s2, 0x3c(sp)           |     *(var_3ch) = s2;
    0x00008294 move s2, a0               |     s2 = a0;
    0x00008298 lw v0, (s0)               |     v0 = *(s0);
    0x0000829c lw a0, 0x7bc(v1)          |     a0 = *((v1 + 495));
    0x000082a0 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000082a4 sw s1, 0x38(sp)           |     *(var_38h) = s1;
    0x000082a8 sw ra, 0x44(sp)           |     *(var_44h) = ra;
    0x000082ac sw s3, 0x40(sp)           |     *(var_40h) = s3;
    0x000082b0 move s1, a1               |     s1 = a1;
    0x000082b4 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x000082b8 sw zero, 0x20(sp)         |     *(var_20h) = 0;
    0x000082bc sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x000082c0 sw zero, 0x28(sp)         |     *(var_28h) = 0;
                                         |     if (a0 != 0) {
    0x000082c4 beqz a0, 0x82f0           |         
    0x000082c8 lw s3, -0x7fd8(gp)        |         s3 = *((gp - 8182));
    0x000082cc lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x000082d0 addiu a1, sp, 0x20        |         a1 = sp + 0x20;
    0x000082d4 addiu t9, t9, -0x7f14     |         t9 += -0x7f14;
    0x000082d8 lw a2, 0x7b8(s3)          |         a2 = *((s3 + 494));
    0x000082dc bal 0x80ec                |         fcn_000080ec ();
    0x000082e0 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 < 0) {
    0x000082e4 bltz v0, 0x8374           |             goto label_0;
                                         |         }
    0x000082e8 lw v0, 0x7b8(s3)          |         v0 = *((s3 + 494));
    0x000082ec sw v0, 0x24(s1)           |         *((s1 + 9)) = v0;
                                         |     }
    0x000082f0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000082f4 lw a0, 0x7b0(v0)          |     a0 = *(v0);
    0x000082f8 lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
                                         |     if (a0 != 0) {
    0x000082fc beqz a0, 0x832c           |         
    0x00008300 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00008304 addiu a1, sp, 0x24        |         a1 = sp + 0x24;
    0x00008308 addiu t9, t9, -0x7f14     |         t9 += -0x7f14;
    0x0000830c lw a2, 0x7ac(s3)          |         a2 = *((s3 + 491));
    0x00008310 bal 0x80ec                |         fcn_000080ec ();
    0x00008314 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 < 0) {
    0x00008318 bltz v0, 0x839c           |             goto label_15;
                                         |         }
    0x0000831c lw v0, 0x7ac(s3)          |         v0 = *((s3 + 491));
    0x00008320 lw v1, 0x24(sp)           |         v1 = *(var_24h);
    0x00008324 sw v0, 0x30(s1)           |         *((s1 + 12)) = v0;
    0x00008328 sw v1, 0x2c(s1)           |         *((s1 + 11)) = v1;
                                         |     }
    0x0000832c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008330 lw a0, 0x7a4(v0)          |     a0 = *((v0 + 489));
    0x00008334 lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
                                         |     if (a0 != 0) {
    0x00008338 beqz a0, 0x8368           |         
    0x0000833c lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00008340 addiu a1, sp, 0x28        |         a1 = sp + 0x28;
    0x00008344 addiu t9, t9, -0x7f14     |         t9 += -0x7f14;
    0x00008348 lw a2, 0x7a0(s3)          |         a2 = *((s3 + 488));
    0x0000834c bal 0x80ec                |         fcn_000080ec ();
    0x00008350 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |         if (v0 < 0) {
    0x00008354 bltz v0, 0x83b8           |             goto label_16;
                                         |         }
    0x00008358 lw v0, 0x7a0(s3)          |         v0 = *((s3 + 488));
    0x0000835c lw v1, 0x28(sp)           |         v1 = *(var_28h);
    0x00008360 sw v0, 0x3c(s1)           |         *((s1 + 15)) = v0;
    0x00008364 sw v1, 0x38(s1)           |         *((s1 + 14)) = v1;
                                         |     }
    0x00008368 lw v1, 0x20(sp)           |     v1 = *(var_20h);
    0x0000836c move v0, zero             |     v0 = 0;
    0x00008370 sw v1, (s2)               |     *(s2) = v1;
                                         |     do {
                                         | label_0:
    0x00008374 lw a0, 0x2c(sp)           |         a0 = *(var_2ch);
    0x00008378 lw v1, (s0)               |         v1 = *(s0);
    0x0000837c lw ra, 0x44(sp)           |         ra = *(var_44h);
                                         |         if (a0 != v1) {
    0x00008380 bne a0, v1, 0x83e4        |             goto label_17;
                                         |         }
    0x00008384 lw s3, 0x40(sp)           |         s3 = *(var_40h);
    0x00008388 lw s2, 0x3c(sp)           |         s2 = *(var_3ch);
    0x0000838c lw s1, 0x38(sp)           |         s1 = *(var_38h);
    0x00008390 lw s0, 0x34(sp)           |         s0 = *(var_34h);
    0x00008394 addiu sp, sp, 0x48        |         
    0x00008398 jr ra                     |         return v0;
                                         | label_15:
    0x0000839c lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x000083a0 lw a0, 0x20(sp)           |         a0 = *(var_20h);
    0x000083a4 sw v0, 0x1c(sp)           |         *(var_1ch_2) = v0;
    0x000083a8 bal 0x3850                |         sym_crypt_safe_free ();
    0x000083ac lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x000083b0 lw v0, 0x1c(sp)           |         v0 = *(var_1ch_2);
    0x000083b4 b 0x8374                  |         
                                         |     } while (1);
                                         | label_16:
    0x000083b8 lw t9, -0x7fc4(gp)        |     t9 = sym.crypt_safe_free;
    0x000083bc lw a0, 0x20(sp)           |     a0 = *(var_20h);
    0x000083c0 sw v0, 0x1c(sp)           |     *(var_1ch_2) = v0;
    0x000083c4 bal 0x3850                |     sym_crypt_safe_free ();
    0x000083c8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000083cc lw t9, -0x7fc4(gp)        |     t9 = sym.crypt_safe_free;
    0x000083d0 lw a0, 0x24(sp)           |     a0 = *(var_24h);
    0x000083d4 bal 0x3850                |     sym_crypt_safe_free ();
    0x000083d8 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000083dc lw v0, 0x1c(sp)           |     v0 = *(var_1ch_2);
    0x000083e0 b 0x8374                  |     goto label_0;
                                         | label_17:
    0x000083e4 lw t9, -0x7e2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000083e8 jalr t9                   |     t9 ();
    0x000083ec nop                       |     
    0x000083f0 lui gp, 2                 |     
    0x000083f4 addiu gp, gp, -0xf90      |     
    0x000083f8 addu gp, gp, t9           |     gp += t9;
    0x000083fc addiu sp, sp, -0xf0       |     
    0x00008400 lw t9, -0x7e98(gp)        |     t9 = sym.imp.memset;
    0x00008404 sw s1, 0xe0(sp)           |     *(var_e0h) = s1;
    0x00008408 lw s1, -0x7d60(gp)        |     s1 = *((gp - 8024));
    0x0000840c sw s0, 0xdc(sp)           |     *(var_dch) = s0;
    0x00008410 lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x00008414 lw v0, (s1)               |     v0 = *(s1);
    0x00008418 sw s2, 0xe4(sp)           |     *(var_e4h) = s2;
    0x0000841c addiu s2, sp, 0x30        |     s2 = sp + 0x30;
    0x00008420 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00008424 sw ra, 0xec(sp)           |     *(var_ech) = ra;
    0x00008428 sw s3, 0xe8(sp)           |     *(var_e8h) = s3;
    0x0000842c addiu a2, zero, 0x40      |     a2 = 0x40;
    0x00008430 move a1, zero             |     a1 = 0;
    0x00008434 move a0, s2               |     a0 = s2;
    0x00008438 sw v0, 0xd4(sp)           |     *(var_d4h) = v0;
    0x0000843c sw zero, 0x28(sp)         |     *(var_28h_2) = 0;
    0x00008440 jalr t9                   |     t9 ();
    0x00008444 nop                       |     
    0x00008448 lw v0, 0x794(s0)          |     v0 = *((s0 + 485));
    0x0000844c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00008450 beqz v0, 0x8644           |         goto label_18;
                                         |     }
    0x00008454 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008458 lw v1, 0x7dc(v0)          |     v1 = *((v0 + 503));
    0x0000845c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008460 sw v1, 0x38(sp)           |     *(var_38h_2) = v1;
    0x00008464 lw v0, 0x7d4(v0)          |     v0 = *((v0 + 501));
                                         | label_3:
    0x00008468 sw v0, 0x3c(sp)           |     *(var_3ch_2) = v0;
    0x0000846c lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00008470 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008474 sw zero, 0x2c(sp)         |     *(var_2ch_2) = 0;
    0x00008478 lw a0, -0xf08(v1)         |     a0 = *((v1 - 962));
    0x0000847c lw v0, 0x7c8(v0)          |     v0 = *((v0 + 498));
    0x00008480 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
                                         |     if (a0 != 0) {
    0x00008484 beqz a0, 0x84a4           |         
    0x00008488 lw t9, -0x7fc0(gp)        |         t9 = sym.crypt_parse_hash_integrity_mode;
    0x0000848c addiu s3, sp, 0x74        |         s3 = sp + 0x74;
    0x00008490 move a1, s3               |         a1 = s3;
    0x00008494 bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x00008498 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x0000849c bltz v0, 0x8680           |             goto label_19;
                                         |         }
    0x000084a0 sw s3, 0x50(sp)           |         *(var_50h_2) = s3;
                                         |     }
    0x000084a4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000084a8 lw a0, 0x7b4(v0)          |     a0 = *((v0 + 493));
    0x000084ac lw t9, -0x7fc0(gp)        |     t9 = sym.crypt_parse_hash_integrity_mode;
                                         |     if (a0 != 0) {
    0x000084b0 beqz a0, 0x84cc           |         
    0x000084b4 addiu s3, sp, 0x94        |         s3 = sp + 0x94;
    0x000084b8 move a1, s3               |         a1 = s3;
    0x000084bc bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x000084c0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x000084c4 bltz v0, 0x86b8           |             goto label_20;
                                         |         }
    0x000084c8 sw s3, 0x58(sp)           |         *(var_58h_2) = s3;
                                         |     }
    0x000084cc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000084d0 lw a0, 0x7a8(v0)          |     a0 = *((v0 + 490));
    0x000084d4 lw t9, -0x7fc0(gp)        |     t9 = sym.crypt_parse_hash_integrity_mode;
                                         |     if (a0 != 0) {
    0x000084d8 beqz a0, 0x84f4           |         
    0x000084dc addiu s3, sp, 0xb4        |         s3 = sp + 0xb4;
    0x000084e0 move a1, s3               |         a1 = s3;
    0x000084e4 bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x000084e8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x000084ec bltz v0, 0x86d4           |             goto label_21;
                                         |         }
    0x000084f0 sw s3, 0x64(sp)           |         *(var_64h_2) = s3;
                                         |     }
    0x000084f4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000084f8 lw v1, 0x794(s0)          |     v1 = *((s0 + 485));
    0x000084fc lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00008500 lw v0, 0x79c(v0)          |     v0 = *(v0);
    0x00008504 or v0, v1, v0             |     v0 = v1 | v0;
    0x00008508 lw s0, 0x798(a0)          |     s0 = *((a0 + 486));
                                         |     if (v0 == 0) {
    0x0000850c beqz v0, 0x865c           |         goto label_22;
                                         |     }
    0x00008510 addiu a0, zero, 0x3000    |     a0 = fcn.00003000;
    0x00008514 addiu v0, zero, 0x1000    |     v0 = 0x1000;
                                         |     if (s0 == 0) {
    0x00008518 movn v0, a0, s0           |         v0 = a0;
                                         |     }
    0x0000851c move s0, v0               |     s0 = v0;
                                         |     if (v1 != 0) {
    0x00008520 beqz v1, 0x852c           |         
    0x00008524 lui v0, 0x10              |         v0 = 0x100000;
    0x00008528 or s0, s0, v0             |         s0 |= v0;
                                         |     }
    0x0000852c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008530 lw v0, 0x790(v0)          |     v0 = *((v0 + 484));
    0x00008534 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00008538 beqz v0, 0x8548           |         
    0x0000853c lui v0, 2                 |         v0 = 0x20000;
                                         | label_5:
    0x00008540 or s0, s0, v0             |         s0 |= v0;
    0x00008544 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
                                         |     }
                                         | label_4:
    0x00008548 move a1, s2               |     a1 = s2;
    0x0000854c addiu t9, t9, -0x7d8c     |     t9 += -0x7d8c;
    0x00008550 addiu a0, sp, 0x2c        |     a0 = sp + 0x2c;
    0x00008554 bal 0x8274                |     fcn_00008274 ();
                                         |     goto label_1;
    0x00008558 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000855c beqz v0, 0x85d0           |     
                                         |     while (v0 != 0) {
                                         | label_2:
    0x00008560 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x00008564 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_2);
    0x00008568 sw v0, 0x24(sp)           |         *(var_24h_2) = v0;
    0x0000856c bal 0x3850                |         sym_crypt_safe_free ();
    0x00008570 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008574 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x00008578 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x0000857c bal 0x3850                |         sym_crypt_safe_free ();
    0x00008580 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008584 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x00008588 lw a0, 0x68(sp)           |         a0 = *(var_68h);
    0x0000858c bal 0x3850                |         sym_crypt_safe_free ();
    0x00008590 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00008594 lw t9, -0x7da0(gp)        |         t9 = sym.imp.crypt_free;
    0x00008598 lw a0, 0x28(sp)           |         a0 = *(var_28h_2);
    0x0000859c jalr t9                   |         t9 ();
    0x000085a0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000085a4 lw v0, 0x24(sp)           |         v0 = *(var_24h_2);
                                         | label_6:
    0x000085a8 lw a0, 0xd4(sp)           |         a0 = *(var_d4h);
    0x000085ac lw v1, (s1)               |         v1 = *(s1);
    0x000085b0 lw ra, 0xec(sp)           |         ra = *(var_ech);
                                         |         if (a0 != v1) {
    0x000085b4 bne a0, v1, 0x86f0        |             goto label_23;
                                         |         }
    0x000085b8 lw s3, 0xe8(sp)           |         s3 = *(var_e8h);
    0x000085bc lw s2, 0xe4(sp)           |         s2 = *(var_e4h);
    0x000085c0 lw s1, 0xe0(sp)           |         s1 = *(var_e0h);
    0x000085c4 lw s0, 0xdc(sp)           |         s0 = *(var_dch);
    0x000085c8 addiu sp, sp, 0xf0        |         
    0x000085cc jr ra                     |         return v0;
    0x000085d0 lw s3, -0x7fd8(gp)        |         s3 = *((gp - 8182));
    0x000085d4 lw v1, -0x7fd8(gp)        |         v1 = *((gp - 8182));
    0x000085d8 lw t9, -0x7e84(gp)        |         t9 = sym.imp.crypt_init_data_device;
    0x000085dc lw v0, 0x788(s3)          |         v0 = *((s3 + 482));
    0x000085e0 lw a2, 0x7c0(v1)          |         a2 = *((v1 + 496));
    0x000085e4 addiu a0, sp, 0x28        |         a0 = sp + 0x28;
    0x000085e8 lw a1, (v0)               |         a1 = *(v0);
    0x000085ec jalr t9                   |         t9 ();
    0x000085f0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000085f4 bnez v0, 0x8560           |         
                                         |     }
    0x000085f8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000085fc lw t9, -0x7e5c(gp)        |     t9 = sym.imp.crypt_load;
    0x00008600 lw a0, 0x28(sp)           |     a0 = *(var_28h_2);
    0x00008604 move a2, s2               |     a2 = s2;
    0x00008608 addiu a1, a1, -0x2f10     |     a1 += -0x2f10;
    0x0000860c jalr t9                   |     t9 ();
    0x00008610 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00008614 bnez v0, 0x8560           |         goto label_2;
                                         |     }
    0x00008618 lw v0, 0x788(s3)          |     v0 = *((s3 + 482));
    0x0000861c lw t9, -0x7d94(gp)        |     t9 = sym.imp.crypt_activate_by_volume_key;
    0x00008620 lw a2, 0x2c(sp)           |     a2 = *(var_2ch_2);
    0x00008624 lw a1, 4(v0)              |     a1 = *((v0 + 1));
    0x00008628 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000862c lw a0, 0x28(sp)           |     a0 = *(var_28h_2);
    0x00008630 sw s0, 0x10(sp)           |     *(var_10h_3) = s0;
    0x00008634 lw a3, 0x7b8(v0)          |     a3 = *((v0 + 494));
    0x00008638 jalr t9                   |     t9 ();
    0x0000863c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00008640 b 0x8560                  |     goto label_2;
                                         | label_18:
    0x00008644 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008648 lw v1, 0x7e0(v0)          |     v1 = *((v0 + 504));
    0x0000864c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008650 sw v1, 0x38(sp)           |     *(var_38h_2) = v1;
    0x00008654 lw v0, 0x7d8(v0)          |     v0 = *((v0 + 502));
    0x00008658 b 0x8468                  |     goto label_3;
                                         | label_22:
    0x0000865c addiu v0, zero, 0x2000    |     v0 = 0x2000;
                                         |     if (s0 != 0) {
    0x00008660 movz v0, zero, s0         |         v0 = 0;
                                         |     }
    0x00008664 move s0, v0               |     s0 = v0;
    0x00008668 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000866c lw v0, 0x790(v0)          |     v0 = *((v0 + 484));
    0x00008670 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00008674 beqz v0, 0x8548           |         goto label_4;
                                         |     }
    0x00008678 lui v0, 2                 |     v0 = 0x20000;
    0x0000867c b 0x8540                  |     goto label_5;
                                         | label_19:
    0x00008680 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00008684 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x00008688 addiu v1, v1, -0x2c08     |     v1 += -0x2c08;
    0x0000868c sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00008690 sw v1, 0x10(sp)           |     *(var_10h_3) = v1;
    0x00008694 addiu a3, zero, 0x119     |     a3 = 0x119;
                                         |     do {
                                         | label_7:
    0x00008698 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x0000869c addiu a1, zero, 1         |         a1 = 1;
    0x000086a0 addiu a2, a2, -0x2ec4     |         a2 += -0x2ec4;
    0x000086a4 move a0, zero             |         a0 = 0;
    0x000086a8 bal 0x5720                |         sym_clogger ();
    0x000086ac lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000086b0 lw v0, 0x24(sp)           |         v0 = *(var_24h_2);
    0x000086b4 b 0x85a8                  |         goto label_6;
                                         | label_20:
    0x000086b8 lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
    0x000086bc sw v0, 0x24(sp)           |         *(var_24h_2) = v0;
    0x000086c0 addiu v1, v1, -0x2c08     |         v1 += -0x2c08;
    0x000086c4 lw t9, -0x7fd4(gp)        |         t9 = sym.clogger;
    0x000086c8 sw v1, 0x10(sp)           |         *(var_10h_3) = v1;
    0x000086cc addiu a3, zero, 0x122     |         a3 = 0x122;
    0x000086d0 b 0x8698                  |         
                                         |     } while (1);
                                         | label_21:
    0x000086d4 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000086d8 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x000086dc addiu v1, v1, -0x2c08     |     v1 += -0x2c08;
    0x000086e0 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x000086e4 sw v1, 0x10(sp)           |     *(var_10h_3) = v1;
    0x000086e8 addiu a3, zero, 0x12c     |     a3 = 0x12c;
    0x000086ec b 0x8698                  |     goto label_7;
                                         | label_23:
    0x000086f0 lw t9, -0x7e2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000086f4 jalr t9                   |     t9 ();
    0x000086f8 nop                       |     
    0x000086fc lui gp, 2                 |     
    0x00008700 addiu gp, gp, -0x129c     |     
    0x00008704 addu gp, gp, t9           |     gp += t9;
    0x00008708 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000870c addiu sp, sp, -0x208      |     
    0x00008710 lw a0, 0x7e8(v0)          |     a0 = *((v0 + 506));
    0x00008714 lw a1, 0x7ec(v0)          |     a1 = *((v0 + 507));
    0x00008718 sw s1, 0x1f0(sp)          |     *(var_1f0h) = s1;
    0x0000871c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008720 lw s1, -0x7d60(gp)        |     s1 = *((gp - 8024));
    0x00008724 sw gp, 0x30(sp)           |     *(var_30h_2) = gp;
    0x00008728 lw v0, 0x794(v0)          |     v0 = *((v0 + 485));
    0x0000872c lw v1, (s1)               |     v1 = *(s1);
    0x00008730 sw ra, 0x204(sp)          |     *(var_204h) = ra;
    0x00008734 sw s5, 0x200(sp)          |     *(var_200h) = s5;
    0x00008738 sw s4, 0x1fc(sp)          |     *(var_1fch) = s4;
    0x0000873c sw s3, 0x1f8(sp)          |     *(var_1f8h) = s3;
    0x00008740 sw s2, 0x1f4(sp)          |     *(var_1f4h) = s2;
    0x00008744 sw s0, 0x1ec(sp)          |     *(var_1ech) = s0;
    0x00008748 sw v1, 0x1e4(sp)          |     *(var_1e4h) = v1;
    0x0000874c sw zero, 0x38(sp)         |     *(var_38h_3) = 0;
    0x00008750 sw zero, 0x68(sp)         |     *(var_68h_2) = 0;
    0x00008754 sw zero, 0x6c(sp)         |     *(var_6ch) = 0;
    0x00008758 sw zero, 0x70(sp)         |     *(var_70h) = 0;
    0x0000875c sw zero, 0x74(sp)         |     *(var_74h) = 0;
    0x00008760 sw zero, 0x78(sp)         |     *(var_78h) = 0;
    0x00008764 sw zero, 0x7c(sp)         |     *(var_7ch) = 0;
    0x00008768 sw zero, 0x80(sp)         |     *(var_80h) = 0;
    0x0000876c sw zero, 0x84(sp)         |     *(var_84h) = 0;
    0x00008770 sw a0, 0x48(sp)           |     *(var_48h) = a0;
    0x00008774 sw a1, 0x4c(sp)           |     *(var_4ch_2) = a1;
                                         |     if (v0 == 0) {
    0x00008778 beqz v0, 0x8984           |         goto label_24;
                                         |     }
    0x0000877c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008780 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00008784 lw v0, 0x7dc(v0)          |     v0 = *((v0 + 503));
    0x00008788 lw a1, 0x7d4(v1)          |     a1 = *((v1 + 501));
    0x0000878c sw v0, 0x50(sp)           |     *(var_50h) = v0;
                                         | label_9:
    0x00008790 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008794 lw s2, -0x7fd8(gp)        |     s2 = *((gp - 8182));
    0x00008798 sw a1, 0x54(sp)           |     *(var_54h) = a1;
    0x0000879c lw a0, 0x7e4(v0)          |     a0 = *((v0 + 505));
    0x000087a0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000087a4 lw v1, 0x7d0(s2)          |     v1 = *((s2 + 500));
    0x000087a8 sw a0, 0x58(sp)           |     *(var_58h) = a0;
    0x000087ac lw v0, 0x7cc(v0)          |     v0 = *((v0 + 499));
    0x000087b0 sw v1, 0x5c(sp)           |     *(var_5ch_2) = v1;
                                         |     if (v0 == 0) {
    0x000087b4 bnez v0, 0x87bc           |         
    0x000087b8 addiu v0, zero, 0x200     |         v0 = 0x200;
                                         |     }
    0x000087bc lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x000087c0 sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x000087c4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000087c8 lw a0, -0xf08(s3)         |     a0 = *((s3 - 962));
    0x000087cc sw zero, 0x3c(sp)         |     *(var_3ch_3) = 0;
    0x000087d0 lw v0, 0x7c8(v0)          |     v0 = *((v0 + 498));
    0x000087d4 sw zero, 0x40(sp)         |     *(var_40h_2) = 0;
    0x000087d8 sw v0, 0x64(sp)           |     *(var_64h) = v0;
                                         |     if (a0 != 0) {
    0x000087dc beqz a0, 0x8800           |         
    0x000087e0 lw t9, -0x7fc0(gp)        |         t9 = sym.crypt_parse_hash_integrity_mode;
    0x000087e4 addiu s4, sp, 0x9c        |         s4 = sp + 0x9c;
    0x000087e8 move a1, s4               |         a1 = s4;
    0x000087ec bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x000087f0 move s0, v0               |         s0 = v0;
    0x000087f4 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
                                         |         if (v0 < 0) {
    0x000087f8 bltz v0, 0x899c           |             goto label_25;
                                         |         }
    0x000087fc sw s4, 0x68(sp)           |         *(var_68h_2) = s4;
                                         |     }
    0x00008800 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008804 lw a0, 0x7b4(v0)          |     a0 = *((v0 + 493));
    0x00008808 lw t9, -0x7fc0(gp)        |     t9 = sym.crypt_parse_hash_integrity_mode;
                                         |     if (a0 != 0) {
    0x0000880c beqz a0, 0x882c           |         
    0x00008810 addiu s4, sp, 0xbc        |         s4 = sp + 0xbc;
    0x00008814 move a1, s4               |         a1 = s4;
    0x00008818 bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x0000881c move s0, v0               |         s0 = v0;
    0x00008820 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
                                         |         if (v0 < 0) {
    0x00008824 bltz v0, 0x8bfc           |             goto label_26;
                                         |         }
    0x00008828 sw s4, 0x70(sp)           |         *(var_70h) = s4;
                                         |     }
    0x0000882c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008830 lw a0, 0x7a8(v0)          |     a0 = *((v0 + 490));
    0x00008834 lw t9, -0x7fc0(gp)        |     t9 = sym.crypt_parse_hash_integrity_mode;
                                         |     if (a0 != 0) {
    0x00008838 beqz a0, 0x8858           |         
    0x0000883c addiu s4, sp, 0xdc        |         s4 = sp + 0xdc;
    0x00008840 move a1, s4               |         a1 = s4;
    0x00008844 bal 0x338c                |         sym_crypt_parse_hash_integrity_mode ();
    0x00008848 move s0, v0               |         s0 = v0;
    0x0000884c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
                                         |         if (v0 < 0) {
    0x00008850 bltz v0, 0x89d8           |             goto label_27;
                                         |         }
    0x00008854 sw s4, 0x7c(sp)           |         *(var_7ch) = s4;
                                         |     }
    0x00008858 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x0000885c addiu s4, sp, 0x48        |     s4 = sp + 0x48;
    0x00008860 move a1, s4               |     a1 = s4;
    0x00008864 addiu t9, t9, -0x7d8c     |     t9 += -0x7d8c;
    0x00008868 addiu a0, sp, 0x3c        |     a0 = sp + 0x3c;
    0x0000886c bal 0x8274                |     fcn_00008274 ();
                                         |     goto label_1;
    0x00008870 move s0, v0               |     s0 = v0;
    0x00008874 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008878 beqz v0, 0x88f4           |     
                                         |     while (v0 < 0) {
                                         | label_11:
    0x0000887c lw s2, 0x3c(sp)           |         s2 = *(var_3ch_3);
                                         | label_8:
    0x00008880 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x00008884 move a0, s2               |         a0 = s2;
    0x00008888 bal 0x3850                |         sym_crypt_safe_free ();
    0x0000888c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00008890 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x00008894 lw a0, 0x74(sp)           |         a0 = *(var_74h);
    0x00008898 bal 0x3850                |         sym_crypt_safe_free ();
    0x0000889c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x000088a0 lw t9, -0x7fc4(gp)        |         t9 = sym.crypt_safe_free;
    0x000088a4 lw a0, 0x80(sp)           |         a0 = *(var_80h);
    0x000088a8 bal 0x3850                |         sym_crypt_safe_free ();
    0x000088ac lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x000088b0 lw t9, -0x7da0(gp)        |         t9 = sym.imp.crypt_free;
    0x000088b4 lw a0, 0x38(sp)           |         a0 = *(var_38h_3);
    0x000088b8 jalr t9                   |         t9 ();
    0x000088bc lw gp, 0x30(sp)           |         gp = *(var_30h_2);
                                         | label_10:
    0x000088c0 lw a0, 0x1e4(sp)          |         a0 = *(var_1e4h);
    0x000088c4 lw v1, (s1)               |         v1 = *(s1);
    0x000088c8 move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x000088cc bne a0, v1, 0x8ccc        |             goto label_28;
                                         |         }
    0x000088d0 lw ra, 0x204(sp)          |         ra = *(var_204h);
    0x000088d4 lw s5, 0x200(sp)          |         s5 = *(var_200h);
    0x000088d8 lw s4, 0x1fc(sp)          |         s4 = *(var_1fch);
    0x000088dc lw s3, 0x1f8(sp)          |         s3 = *(var_1f8h);
    0x000088e0 lw s2, 0x1f4(sp)          |         s2 = *(var_1f4h);
    0x000088e4 lw s1, 0x1f0(sp)          |         s1 = *(var_1f0h);
    0x000088e8 lw s0, 0x1ec(sp)          |         s0 = *(var_1ech);
    0x000088ec addiu sp, sp, 0x208       |         
    0x000088f0 jr ra                     |         return v0;
    0x000088f4 lw s5, -0x7fd8(gp)        |         s5 = *((gp - 8182));
    0x000088f8 lw v1, -0x7fd8(gp)        |         v1 = *((gp - 8182));
    0x000088fc lw t9, -0x7e84(gp)        |         t9 = sym.imp.crypt_init_data_device;
    0x00008900 lw v0, 0x788(s5)          |         v0 = *((s5 + 482));
    0x00008904 lw a2, 0x7c0(v1)          |         a2 = *((v1 + 496));
    0x00008908 addiu a0, sp, 0x38        |         a0 = sp + 0x38;
    0x0000890c lw a1, (v0)               |         a1 = *(v0);
    0x00008910 jalr t9                   |         t9 ();
    0x00008914 move s0, v0               |         s0 = v0;
    0x00008918 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x0000891c bltz v0, 0x887c           |         
                                         |     }
    0x00008920 lw v0, 0x788(s5)          |     v0 = *((s5 + 482));
    0x00008924 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00008928 lw t9, -0x7e44(gp)        |     t9 = sym.imp.__asprintf_chk
    0x0000892c lw a3, (v0)               |     a3 = *(v0);
    0x00008930 addiu a2, a2, -0x2bd4     |     a2 += -0x2bd4;
    0x00008934 addiu a1, zero, 1         |     a1 = 1;
    0x00008938 addiu a0, sp, 0x40        |     a0 = sp + 0x40;
    0x0000893c jalr t9                   |     t9 ();
    0x00008940 addiu v1, zero, -1        |     v1 = -1;
    0x00008944 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 == v1) {
    0x00008948 beq v0, v1, 0x89cc        |         goto label_29;
                                         |     }
    0x0000894c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00008950 lw t9, -0x7fbc(gp)        |     t9 = sym.yesDialog;
    0x00008954 lw a0, 0x40(sp)           |     a0 = *(var_40h_2);
    0x00008958 addiu a1, a1, -0x2ba8     |     a1 += -0x2ba8;
    0x0000895c bal 0x5e50                |     sym_yesDialog ();
    0x00008960 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 != 0) {
    0x00008964 bnez v0, 0x89f0           |         goto label_30;
                                         |     }
    0x00008968 lw t9, -0x7e40(gp)        |     t9 = sym.imp.free;
    0x0000896c lw a0, 0x40(sp)           |     a0 = *(var_40h_2);
    0x00008970 addiu s0, zero, -0x16     |     s0 = -0x16;
    0x00008974 jalr t9                   |     t9 ();
    0x00008978 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x0000897c lw s2, 0x3c(sp)           |     s2 = *(var_3ch_3);
    0x00008980 b 0x8880                  |     goto label_8;
                                         | label_24:
    0x00008984 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008988 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x0000898c lw v0, 0x7e0(v0)          |     v0 = *((v0 + 504));
    0x00008990 lw a1, 0x7d8(v1)          |     a1 = *((v1 + 502));
    0x00008994 sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x00008998 b 0x8790                  |     goto label_9;
                                         | label_25:
    0x0000899c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000089a0 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x000089a4 addiu v0, v0, -0x2c08     |     v0 += -0x2c08;
    0x000089a8 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x000089ac addiu a3, zero, 0xc4      |     a3 = 0xc4;
                                         |     do {
                                         | label_12:
    0x000089b0 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000089b4 addiu a1, zero, 1         |         a1 = 1;
    0x000089b8 addiu a2, a2, -0x2ec4     |         a2 += -0x2ec4;
    0x000089bc move a0, zero             |         a0 = 0;
    0x000089c0 bal 0x5720                |         sym_clogger ();
    0x000089c4 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x000089c8 b 0x88c0                  |         goto label_10;
                                         | label_29:
    0x000089cc lw s2, 0x3c(sp)           |         s2 = *(var_3ch_3);
    0x000089d0 addiu s0, zero, -0xc      |         s0 = -0xc;
    0x000089d4 b 0x8880                  |         goto label_8;
                                         | label_27:
    0x000089d8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000089dc lw t9, -0x7fd4(gp)        |         t9 = sym.clogger;
    0x000089e0 addiu v0, v0, -0x2c08     |         v0 += -0x2c08;
    0x000089e4 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000089e8 addiu a3, zero, 0xd6      |         a3 = 0xd6;
    0x000089ec b 0x89b0                  |         
                                         |     } while (1);
                                         | label_30:
    0x000089f0 lw t9, -0x7e40(gp)        |     t9 = sym.imp.free;
    0x000089f4 lw a0, 0x40(sp)           |     a0 = *(var_40h_2);
    0x000089f8 jalr t9                   |     t9 ();
    0x000089fc lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008a00 lw v0, 0x788(s5)          |     v0 = *((s5 + 482));
    0x00008a04 addiu a2, sp, 0x44        |     a2 = sp + 0x44;
    0x00008a08 lw t9, -0x7fb8(gp)        |     t9 = sym.tools_detect_signatures;
    0x00008a0c lw a0, (v0)               |     a0 = *(v0);
    0x00008a10 move a1, zero             |     a1 = 0;
    0x00008a14 bal 0x6ec8                |     sym_tools_detect_signatures ();
    0x00008a18 move s0, v0               |     s0 = v0;
    0x00008a1c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 < 0) {
    0x00008a20 bltz v0, 0x887c           |         goto label_11;
                                         |     }
    0x00008a24 lw v0, 0x44(sp)           |     v0 = *(var_44h_2);
    0x00008a28 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00008a2c beqz v0, 0x8a50           |         goto label_31;
                                         |     }
    0x00008a30 lw v0, 0x788(s5)          |     v0 = *((s5 + 482));
    0x00008a34 lw t9, -0x7fb4(gp)        |     t9 = sym.tools_wipe_all_signatures;
    0x00008a38 lw a0, (v0)               |     a0 = *(v0);
    0x00008a3c bal 0x71a4                |     sym_tools_wipe_all_signatures ();
    0x00008a40 move s0, v0               |     s0 = v0;
    0x00008a44 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 < 0) {
    0x00008a48 bltz v0, 0x887c           |         goto label_11;
                                         |     }
    0x00008a4c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
                                         | label_31:
    0x00008a50 lw t9, -0x7eb0(gp)        |     t9 = sym.imp.crypt_format;
    0x00008a54 lw a0, 0x38(sp)           |     a0 = *(var_38h_3);
    0x00008a58 sw s4, 0x1c(sp)           |     *(var_1ch) = s4;
    0x00008a5c sw zero, 0x18(sp)         |     *(var_18h_2) = 0;
    0x00008a60 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00008a64 sw zero, 0x10(sp)         |     *(var_10h_2) = 0;
    0x00008a68 move a3, zero             |     a3 = 0;
    0x00008a6c move a2, zero             |     a2 = 0;
    0x00008a70 addiu a1, a1, -0x2f10     |     a1 += -0x2f10;
    0x00008a74 jalr t9                   |     t9 ();
    0x00008a78 move s0, v0               |     s0 = v0;
    0x00008a7c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 < 0) {
    0x00008a80 bltz v0, 0x887c           |         goto label_11;
                                         |     }
    0x00008a84 lw s4, -0x7fb0(gp)        |     s4 = *(gp);
    0x00008a88 lw v0, (s4)               |     v0 = *(s4);
    0x00008a8c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (v0 == 0) {
    0x00008a90 beqz v0, 0x8c14           |         goto label_32;
                                         |     }
    0x00008a94 lw v0, 0x7c4(v0)          |     v0 = *((v0 + 497));
    0x00008a98 lw s2, 0x3c(sp)           |     s2 = *(var_3ch_3);
                                         |     if (v0 != 0) {
    0x00008a9c bnez v0, 0x8880           |         goto label_8;
                                         |     }
    0x00008aa0 lw s4, 0x38(sp)           |     s4 = *(var_38h_3);
                                         | label_13:
    0x00008aa4 lw t9, -0x7de0(gp)        |     t9 = sym.imp.uuid_generate;
    0x00008aa8 addiu s3, sp, 0x8c        |     s3 = sp + 0x8c;
    0x00008aac move a0, s3               |     a0 = s3;
    0x00008ab0 jalr t9                   |     t9 ();
    0x00008ab4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008ab8 addiu s0, sp, 0xfc        |     s0 = sp + 0xfc;
    0x00008abc move a0, s3               |     a0 = s3;
    0x00008ac0 lw t9, -0x7e00(gp)        |     t9 = sym.imp.uuid_unparse;
    0x00008ac4 move a1, s0               |     a1 = s0;
    0x00008ac8 jalr t9                   |     t9 ();
    0x00008acc lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008ad0 addiu s3, sp, 0x124       |     s3 = sp + 0x124;
    0x00008ad4 addiu a3, zero, 0x40      |     a3 = 0x40;
    0x00008ad8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008adc lw t9, -0x7db4(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x00008ae0 addiu v0, v0, -0x2ac8     |     v0 += -0x2ac8;
    0x00008ae4 addiu a2, zero, 1         |     a2 = 1;
    0x00008ae8 addiu a1, zero, 0x40      |     a1 = 0x40;
    0x00008aec move a0, s3               |     a0 = s3;
    0x00008af0 sw s0, 0x14(sp)           |     *(var_14h) = s0;
    0x00008af4 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008af8 jalr t9                   |     t9 ();
    0x00008afc lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008b00 lw t9, -0x7e88(gp)        |     t9 = sym.imp.crypt_get_dir;
    0x00008b04 addiu s5, sp, 0x164       |     s5 = sp + 0x164;
    0x00008b08 jalr t9                   |     t9 ();
    0x00008b0c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008b10 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00008b14 sw s3, 0x18(sp)           |     *(var_18h_2) = s3;
    0x00008b18 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008b1c lw t9, -0x7db4(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x00008b20 addiu v0, v0, -0x2ab0     |     v0 += -0x2ab0;
    0x00008b24 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008b28 addiu a3, zero, 0x80      |     a3 = 0x80;
    0x00008b2c addiu a2, zero, 1         |     a2 = 1;
    0x00008b30 addiu a1, zero, 0x80      |     a1 = 0x80;
    0x00008b34 move a0, s5               |     a0 = s5;
    0x00008b38 jalr t9                   |     t9 ();
    0x00008b3c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 < 0) {
    0x00008b40 bltz v0, 0x8cd8           |         goto label_33;
                                         |     }
    0x00008b44 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008b48 lw t9, -0x7d94(gp)        |     t9 = sym.imp.crypt_activate_by_volume_key;
    0x00008b4c move a2, s2               |     a2 = s2;
    0x00008b50 lw a3, 0x7b8(v0)          |     a3 = *((v0 + 494));
    0x00008b54 addiu v0, zero, 0x1010    |     v0 = aav.0x00001010;
    0x00008b58 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008b5c move a1, s3               |     a1 = s3;
    0x00008b60 move a0, s4               |     a0 = s4;
    0x00008b64 jalr t9                   |     t9 ();
    0x00008b68 move s0, v0               |     s0 = v0;
    0x00008b6c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 < 0) {
    0x00008b70 bltz v0, 0x887c           |         goto label_11;
                                         |     }
    0x00008b74 lw t9, -0x7fac(gp)        |     t9 = sym.set_int_handler;
    0x00008b78 move a0, zero             |     a0 = 0;
    0x00008b7c bal 0x59b0                |     sym_set_int_handler ();
    0x00008b80 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008b84 move v1, zero             |     v1 = 0;
    0x00008b88 move a2, zero             |     a2 = 0;
    0x00008b8c lw v0, -0x7fa8(gp)        |     v0 = sym.tools_wipe_progress;
    0x00008b90 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.crypt_wipe;
    0x00008b94 sw v0, 0x28(sp)           |     *(var_28h_3) = v0;
    0x00008b98 lui v0, 0x10              |     v0 = 0x100000;
    0x00008b9c sw v0, 0x20(sp)           |     *(var_20h_2) = v0;
    0x00008ba0 move v0, zero             |     v0 = 0;
    0x00008ba4 move a1, s5               |     a1 = s5;
    0x00008ba8 move a0, s4               |     a0 = s4;
    0x00008bac sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00008bb0 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00008bb4 sw zero, 0x2c(sp)         |     *(var_2ch_3) = 0;
    0x00008bb8 sw zero, 0x24(sp)         |     *(var_24h_3) = 0;
    0x00008bbc sw v0, 0x18(sp)           |     *(var_18h_2) = v0;
    0x00008bc0 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008bc4 jalr t9                   |     t9 ();
    0x00008bc8 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008bcc move a1, s3               |     a1 = s3;
    0x00008bd0 move a0, s4               |     a0 = s4;
    0x00008bd4 lw t9, -0x7ec8(gp)        |     t9 = sym.imp.crypt_deactivate;
    0x00008bd8 move s0, v0               |     s0 = v0;
    0x00008bdc jalr t9                   |     t9 ();
    0x00008be0 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 != 0) {
    0x00008be4 bnez v0, 0x8c98           |         goto label_34;
                                         |     }
                                         | label_14:
    0x00008be8 lw t9, -0x7fa4(gp)        |     t9 = sym.set_int_block;
    0x00008bec move a0, zero             |     a0 = 0;
    0x00008bf0 bal 0x5834                |     sym_set_int_block ();
    0x00008bf4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008bf8 b 0x887c                  |     goto label_11;
                                         | label_26:
    0x00008bfc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008c00 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x00008c04 addiu v0, v0, -0x2c08     |     v0 += -0x2c08;
    0x00008c08 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008c0c addiu a3, zero, 0xcd      |     a3 = 0xcd;
    0x00008c10 b 0x89b0                  |     goto label_12;
                                         | label_32:
    0x00008c14 lw v0, 0x7d0(s2)          |     v0 = *((s2 + 500));
    0x00008c18 lw v1, -0xf08(s3)         |     v1 = *((s3 - 962));
    0x00008c1c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00008c20 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008c24 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00008c28 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x00008c2c addiu v0, v0, -0x2b94     |     v0 += -0x2b94;
    0x00008c30 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008c34 sw v1, 0x18(sp)           |     *(var_18h_2) = v1;
    0x00008c38 addiu a3, zero, 0xfc      |     a3 = 0xfc;
    0x00008c3c addiu a2, s3, -0x2ec4     |     a2 = s3 + -0x2ec4;
    0x00008c40 move a1, zero             |     a1 = 0;
    0x00008c44 move a0, zero             |     a0 = 0;
    0x00008c48 bal 0x5720                |     sym_clogger ();
    0x00008c4c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008c50 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00008c54 lw v0, 0x7c4(v0)          |     v0 = *((v0 + 497));
    0x00008c58 lw s2, 0x3c(sp)           |     s2 = *(var_3ch_3);
                                         |     if (v0 != 0) {
    0x00008c5c bnez v0, 0x8880           |         goto label_8;
                                         |     }
    0x00008c60 lw v0, (s4)               |     v0 = *(s4);
    0x00008c64 lw s4, 0x38(sp)           |     s4 = *(var_38h_3);
                                         |     if (v0 != 0) {
    0x00008c68 bnez v0, 0x8aa4           |         goto label_13;
                                         |     }
    0x00008c6c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008c70 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x00008c74 addiu v0, v0, -0x2b60     |     v0 += -0x2b60;
    0x00008c78 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008c7c addiu a3, zero, 0x95      |     a3 = 0x95;
    0x00008c80 addiu a2, s3, -0x2ec4     |     a2 = s3 + -0x2ec4;
    0x00008c84 move a1, zero             |     a1 = 0;
    0x00008c88 move a0, zero             |     a0 = 0;
    0x00008c8c bal 0x5720                |     sym_clogger ();
    0x00008c90 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008c94 b 0x8aa4                  |     goto label_13;
                                         | label_34:
    0x00008c98 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00008c9c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00008ca0 lw t9, -0x7fd4(gp)        |     t9 = sym.clogger;
    0x00008ca4 addiu v0, v0, -0x2aa8     |     v0 += -0x2aa8;
    0x00008ca8 sw s5, 0x14(sp)           |     *(var_14h) = s5;
    0x00008cac sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00008cb0 addiu a3, zero, 0xa9      |     a3 = 0xa9;
    0x00008cb4 addiu a2, a2, -0x2ec4     |     a2 += -0x2ec4;
    0x00008cb8 addiu a1, zero, 1         |     a1 = 1;
    0x00008cbc move a0, zero             |     a0 = 0;
    0x00008cc0 bal 0x5720                |     sym_clogger ();
    0x00008cc4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00008cc8 b 0x8be8                  |     goto label_14;
                                         | label_28:
    0x00008ccc lw t9, -0x7e2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00008cd0 jalr t9                   |     t9 ();
    0x00008cd4 nop                       |     
                                         | label_33:
    0x00008cd8 addiu s0, zero, -0x16     |     s0 = -0x16;
    0x00008cdc b 0x887c                  |     goto label_11;
                                         | }

[*] Function sprintf used 2 times integritysetup