[*] Binary protection state of cryptsetup

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


[*] Function sprintf tear down of cryptsetup

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/cryptsetup @ 0xcbf8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000cbf8 ()                  | void fcn_0000cbf8 () {
    0x0000cbf8 lui gp, 3                     |     
    0x0000cbfc addiu gp, gp, -0x3fd8         |     
    0x0000cc00 addu gp, gp, t9               |     gp += t9;
    0x0000cc04 addiu sp, sp, -0x48           |     
    0x0000cc08 lw t9, -0x7bc0(gp)            |     t9 = sym.imp.crypt_get_pbkdf_default;
    0x0000cc0c sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x0000cc10 lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x0000cc14 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cc18 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x0000cc1c lw v0, (s1)                   |     v0 = *(s1);
    0x0000cc20 sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x0000cc24 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0000cc28 move s2, a0                   |     s2 = a0;
    0x0000cc2c sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0000cc30 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x0000cc34 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x0000cc38 sw zero, 0x20(sp)             |     *(var_20h) = 0;
    0x0000cc3c sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0000cc40 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x0000cc44 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x0000cc48 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x0000cc4c move a0, a1                   |     a0 = a1;
    0x0000cc50 jalr t9                       |     t9 ();
    0x0000cc54 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000cc58 beqz v0, 0xcd54               |         goto label_15;
                                             |     }
    0x0000cc5c move s0, v0                   |     s0 = v0;
    0x0000cc60 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000cc64 lw a0, 0x219c(v0)             |     a0 = *((v0 + 2151));
                                             |     if (a0 != 0) {
    0x0000cc68 beql a0, zero, 0xcc70         |         
    0x0000cc6c lw a0, (s0)                   |         a0 = *(s0);
                                             |     }
    0x0000cc70 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000cc74 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x0000cc78 lw v0, 0x22d4(v0)             |     v0 = *((v0 + 2229));
                                             |     if (v0 != 0) {
    0x0000cc7c beql v0, zero, 0xcc84         |         
    0x0000cc80 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
                                             |     }
    0x0000cc84 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0000cc88 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000cc8c lw v0, 0x2194(v0)             |     v0 = *((v0 + 2149));
    0x0000cc90 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x0000cc94 beqz v0, 0xcd30               |         goto label_16;
                                             |     }
    0x0000cc98 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'pbkdf2' */
    0x0000cc9c addiu a1, a1, -0xf24          |     a1 += -0xf24;
    0x0000cca0 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0000cca4 jalr t9                       |     t9 ();
    0x0000cca8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0000ccac beqz v0, 0xccd8               |         
    0x0000ccb0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             | label_1:
    0x0000ccb4 lw v0, 0x14(v0)               |         v0 = *((v0 + 5));
                                             |         if (v0 != 0) {
    0x0000ccb8 beql v0, zero, 0xccc0         |             
    0x0000ccbc lw v0, 0x10(s0)               |             v0 = *((s0 + 4));
                                             |         }
    0x0000ccc0 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x0000ccc4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000ccc8 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
                                             |         if (v0 != 0) {
    0x0000cccc beql v0, zero, 0xccd4         |             
    0x0000ccd0 lw v0, 0x14(s0)               |             v0 = *((s0 + 5));
                                             |         }
    0x0000ccd4 sw v0, 0x2c(sp)               |         *(var_2ch) = v0;
                                             |     }
                                             | label_0:
    0x0000ccd8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000ccdc lw v0, 0x2198(v0)             |     v0 = *((v0 + 2150));
    0x0000cce0 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0000cce4 bnel v0, zero, 0xcd20         |     
                                             |     while (1) {
    0x0000cce8 lw t9, -0x7e7c(gp)            |         t9 = sym.imp.crypt_set_pbkdf_type;
    0x0000ccec addiu a1, sp, 0x18            |         a1 = sp + 0x18;
    0x0000ccf0 move a0, s2                   |         a0 = s2;
    0x0000ccf4 jalr t9                       |         t9 ();
    0x0000ccf8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_2:
    0x0000ccfc lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x0000cd00 lw v1, (s1)                   |         v1 = *(s1);
    0x0000cd04 lw ra, 0x44(sp)               |         ra = *(var_44h);
                                             |         if (a0 != v1) {
    0x0000cd08 bne a0, v1, 0xcd5c            |             goto label_17;
                                             |         }
    0x0000cd0c lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x0000cd10 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x0000cd14 lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x0000cd18 addiu sp, sp, 0x48            |         
    0x0000cd1c jr ra                         |         return v0;
    0x0000cd20 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0000cd24 ori v0, v0, 2                 |         v0 |= 2;
    0x0000cd28 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x0000cd2c b 0xcce8                      |         
                                             |     }
                                             | label_16:
    0x0000cd30 lw v0, 8(s0)                  |     v0 = *((s0 + 2));
    0x0000cd34 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'pbkdf2' */
    0x0000cd38 addiu a1, a1, -0xf24          |     a1 += -0xf24;
    0x0000cd3c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0000cd40 jalr t9                       |     t9 ();
    0x0000cd44 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000cd48 beqz v0, 0xccd8               |         goto label_0;
                                             |     }
    0x0000cd4c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000cd50 b 0xccb4                      |     goto label_1;
                                             | label_15:
    0x0000cd54 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x0000cd58 b 0xccfc                      |     goto label_2;
                                             | label_17:
    0x0000cd5c lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000cd60 jalr t9                       |     t9 ();
    0x0000cd64 nop                           |     
    0x0000cd68 lui gp, 3                     |     
    0x0000cd6c addiu gp, gp, -0x4148         |     
    0x0000cd70 addu gp, gp, t9               |     gp += t9;
    0x0000cd74 addiu sp, sp, -0x40           |     
    0x0000cd78 sw s2, 0x30(sp)               |     *(var_30h_2) = s2;
    0x0000cd7c sw s1, 0x2c(sp)               |     *(var_2ch_2) = s1;
    0x0000cd80 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x0000cd84 lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x0000cd88 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0000cd8c lw v0, 0x2188(s2)             |     v0 = *((s2 + 2146));
    0x0000cd90 lw v1, (s1)                   |     v1 = *(s1);
    0x0000cd94 sw ra, 0x3c(sp)               |     *(var_3ch_2) = ra;
    0x0000cd98 sw s4, 0x38(sp)               |     *(var_38h_2) = s4;
    0x0000cd9c sw s3, 0x34(sp)               |     *(var_34h_2) = s3;
    0x0000cda0 sw s0, 0x28(sp)               |     *(var_28h_2) = s0;
    0x0000cda4 sw zero, 0x20(sp)             |     *(var_20h_2) = 0;
    0x0000cda8 sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
    0x0000cdac lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x0000cdb0 beqz v0, 0xcf10               |         goto label_18;
                                             |     }
    0x0000cdb4 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             | label_3:
    0x0000cdb8 lw a0, 0x2230(s3)             |     a0 = *((s3 + 2188));
                                             | label_4:
    0x0000cdbc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x0000cdc0 beqz a0, 0xcf60               |         goto label_19;
                                             |     }
                                             | label_6:
    0x0000cdc4 lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x0000cdc8 bal 0x9198                    |     sym_uuid_or_device ();
    0x0000cdcc nop                           |     
    0x0000cdd0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000cdd4 move a1, v0                   |     a1 = v0;
    0x0000cdd8 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x0000cddc addiu a0, sp, 0x20            |     a0 = sp + 0x20;
    0x0000cde0 jalr t9                       |     t9 ();
    0x0000cde4 move s0, v0                   |     s0 = v0;
    0x0000cde8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000cdec beqz v0, 0xce20               |     
                                             |     while (1) {
                                             | label_5:
    0x0000cdf0 lw a0, 0x24(sp)               |         a0 = *(var_24h_2);
    0x0000cdf4 lw v1, (s1)                   |         v1 = *(s1);
    0x0000cdf8 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000cdfc bne a0, v1, 0xd014            |             goto label_20;
                                             |         }
    0x0000ce00 lw ra, 0x3c(sp)               |         ra = *(var_3ch_2);
    0x0000ce04 lw s4, 0x38(sp)               |         s4 = *(var_38h_2);
    0x0000ce08 lw s3, 0x34(sp)               |         s3 = *(var_34h_2);
    0x0000ce0c lw s2, 0x30(sp)               |         s2 = *(var_30h_2);
    0x0000ce10 lw s1, 0x2c(sp)               |         s1 = *(var_2ch_2);
    0x0000ce14 lw s0, 0x28(sp)               |         s0 = *(var_28h_2);
    0x0000ce18 addiu sp, sp, 0x40            |         
    0x0000ce1c jr ra                         |         return v0;
    0x0000ce20 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x0000ce24 lw t9, -0x7d9c(gp)            |         t9 = sym.imp.crypt_load;
    0x0000ce28 lw a0, 0x20(sp)               |         a0 = *(var_20h_2);
    0x0000ce2c move a2, zero                 |         a2 = 0;
                                             |         /* esilref: 'LUKS2' */
    0x0000ce30 addiu a1, a1, -0x670          |         a1 += -0x670;
    0x0000ce34 jalr t9                       |         t9 ();
    0x0000ce38 move s0, v0                   |         s0 = v0;
    0x0000ce3c lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 != 0) {
    0x0000ce40 bnez v0, 0xcf7c               |             goto label_21;
                                             |         }
    0x0000ce44 lw s3, 0x2188(s2)             |         s3 = *((s2 + 2146));
    0x0000ce48 lw s2, 0x20(sp)               |         s2 = *(var_20h_2);
                                             |         if (s3 != 0) {
    0x0000ce4c beqz s3, 0xced0               |             
    0x0000ce50 lw a0, -0x7fd8(gp)            |             a0 = *((gp - 8182));
    0x0000ce54 lw t9, -0x7c80(gp)            |             t9 = sym.imp.strcmp;
    0x0000ce58 move a1, s3                   |             a1 = s3;
                                             |             /* str.normal */
    0x0000ce5c addiu a0, a0, -0x48a4         |             a0 += -0x48a4;
    0x0000ce60 jalr t9                       |             t9 ();
    0x0000ce64 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |             if (v0 != 0) {
    0x0000ce68 beqz v0, 0xce90               |                 
    0x0000ce6c lw a0, -0x7fd8(gp)            |                 a0 = *((gp - 8182));
    0x0000ce70 lw t9, -0x7c80(gp)            |                 t9 = sym.imp.strcmp;
    0x0000ce74 move a1, s3                   |                 a1 = s3;
                                             |                 /* str.prefer */
    0x0000ce78 addiu a0, a0, -0x489c         |                 a0 += -0x489c;
    0x0000ce7c jalr t9                       |                 t9 ();
    0x0000ce80 lw gp, 0x18(sp)               |                 gp = *(var_18h_2);
                                             |                 if (v0 != 0) {
    0x0000ce84 bnez v0, 0xcfd8               |                     goto label_22;
                                             |                 }
    0x0000ce88 addiu s4, zero, 2             |                 s4 = 2;
    0x0000ce8c b 0xce94                      |                 
                                             |             } else {
    0x0000ce90 addiu s4, zero, 1             |                 s4 = 1;
                                             |             }
                                             | label_10:
    0x0000ce94 lw s3, -0x7fdc(gp)            |             s3 = *(gp);
    0x0000ce98 lw t9, -0x7c4c(gp)            |             t9 = sym.imp.crypt_keyslot_status;
    0x0000ce9c move a0, s2                   |             a0 = s2;
    0x0000cea0 lw a1, 0x24(s3)               |             a1 = *((s3 + 9));
    0x0000cea4 jalr t9                       |             t9 ();
    0x0000cea8 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
                                             |             if (v0 == 0) {
    0x0000ceac beqz v0, 0xd008               |                 goto label_23;
                                             |             }
    0x0000ceb0 lw t9, -0x7dcc(gp)            |             t9 = sym.imp.crypt_keyslot_set_priority;
    0x0000ceb4 lw a1, 0x24(s3)               |             a1 = *((s3 + 9));
    0x0000ceb8 move a0, s2                   |             a0 = s2;
    0x0000cebc move a2, s4                   |             a2 = s4;
    0x0000cec0 jalr t9                       |             t9 ();
    0x0000cec4 lw gp, 0x18(sp)               |             gp = *(var_18h_2);
    0x0000cec8 lw s2, 0x20(sp)               |             s2 = *(var_20h_2);
                                             |             if (v0 != 0) {
    0x0000cecc bnez v0, 0xcfd0               |                 goto label_24;
                                             |             }
                                             |         }
    0x0000ced0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000ced4 lw a1, 0x216c(v0)             |         a1 = *((v0 + 2139));
    0x0000ced8 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000cedc lw a2, 0x2168(v0)             |         a2 = *((v0 + 2138));
                                             |         if (a1 == 0) {
    0x0000cee0 beqz a1, 0xcf6c               |             goto label_25;
                                             |         }
    0x0000cee4 lw t9, -0x7ce0(gp)            |         t9 = sym.imp.crypt_set_label;
                                             | label_7:
    0x0000cee8 move a0, s2                   |         a0 = s2;
    0x0000ceec jalr t9                       |         t9 ();
    0x0000cef0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000cef4 lw s2, 0x20(sp)               |         s2 = *(var_20h_2);
    0x0000cef8 move s0, v0                   |         s0 = v0;
                                             | label_9:
    0x0000cefc lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
                                             | label_8:
    0x0000cf00 move a0, s2                   |         a0 = s2;
    0x0000cf04 jalr t9                       |         t9 ();
    0x0000cf08 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000cf0c b 0xcdf0                      |         
                                             |     }
                                             | label_18:
    0x0000cf10 lw v0, 0x216c(v0)             |     v0 = *((v0 + 2139));
    0x0000cf14 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     if (v0 != 0) {
    0x0000cf18 bnez v0, 0xcdb8               |         goto label_3;
                                             |     }
    0x0000cf1c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000cf20 lw v0, 0x2168(v0)             |     v0 = *((v0 + 2138));
    0x0000cf24 lw a0, 0x2230(s3)             |     a0 = *((s3 + 2188));
                                             |     if (v0 != 0) {
    0x0000cf28 bnez v0, 0xcdbc               |         goto label_4;
                                             |     }
    0x0000cf2c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000cf30 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000cf34 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Option___priority____label_or___subsystem_is_missing. */
    0x0000cf38 addiu v0, v0, -0x48dc         |     v0 += -0x48dc;
    0x0000cf3c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000cf40 addiu a3, zero, 0x90a         |     a3 = 0x90a;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000cf44 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000cf48 addiu a1, zero, 1             |     a1 = 1;
    0x0000cf4c move a0, zero                 |     a0 = 0;
    0x0000cf50 bal 0x88f0                    |     sym_clogger ();
    0x0000cf54 addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0000cf58 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000cf5c b 0xcdf0                      |     goto label_5;
                                             | label_19:
    0x0000cf60 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x0000cf64 lw a0, (v0)                   |     a0 = *(v0);
    0x0000cf68 b 0xcdc4                      |     goto label_6;
                                             | label_25:
    0x0000cf6c lw t9, -0x7ce0(gp)            |     t9 = sym.imp.crypt_set_label;
                                             |     if (a2 == 0) {
    0x0000cf70 bnel a2, zero, 0xcee8         |         goto label_7;
                                             |     }
    0x0000cf74 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x0000cf78 b 0xcf00                      |     goto label_8;
                                             | label_21:
    0x0000cf7c lw a0, 0x2230(s3)             |     a0 = *((s3 + 2188));
                                             |     if (a0 == 0) {
    0x0000cf80 beql a0, zero, 0xcffc         |         goto label_26;
                                             |     }
    0x0000cf84 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     do {
    0x0000cf88 lw t9, -0x7fd4(gp)            |         t9 = sym.uuid_or_device;
    0x0000cf8c bal 0x9198                    |         sym_uuid_or_device ();
    0x0000cf90 nop                           |         
    0x0000cf94 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000cf98 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000cf9c addiu a3, zero, 0x913         |         a3 = 0x913;
    0x0000cfa0 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x0000cfa4 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x0000cfa8 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x0000cfac addiu v0, v0, -0x49e4         |         v0 += -0x49e4;
    0x0000cfb0 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000cfb4 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x0000cfb8 addiu a1, zero, 1             |         a1 = 1;
    0x0000cfbc move a0, zero                 |         a0 = 0;
    0x0000cfc0 bal 0x88f0                    |         sym_clogger ();
    0x0000cfc4 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000cfc8 lw s2, 0x20(sp)               |         s2 = *(var_20h_2);
    0x0000cfcc b 0xcefc                      |         goto label_9;
                                             | label_24:
    0x0000cfd0 move s0, v0                   |         s0 = v0;
    0x0000cfd4 b 0xcefc                      |         goto label_9;
                                             | label_22:
    0x0000cfd8 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0000cfdc lw t9, -0x7c80(gp)            |         t9 = sym.imp.strcmp;
    0x0000cfe0 move a1, s3                   |         a1 = s3;
                                             |         /* str.ignore */
    0x0000cfe4 addiu a0, a0, -0x4894         |         a0 += -0x4894;
    0x0000cfe8 jalr t9                       |         t9 ();
    0x0000cfec sltu v0, zero, v0             |         v0 = (0 < v0) ? 1 : 0;
    0x0000cff0 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000cff4 negu s4, v0                   |         __asm ("negu s4, v0");
    0x0000cff8 b 0xce94                      |         goto label_10;
                                             | label_26:
    0x0000cffc lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x0000d000 lw a0, (v0)                   |         a0 = *(v0);
    0x0000d004 b 0xcf88                      |         
                                             |     } while (1);
                                             | label_23:
    0x0000d008 lw s2, 0x20(sp)               |     s2 = *(var_20h_2);
    0x0000d00c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0000d010 b 0xcefc                      |     goto label_9;
                                             | label_20:
    0x0000d014 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000d018 jalr t9                       |     t9 ();
    0x0000d01c nop                           |     
    0x0000d020 lui gp, 3                     |     
    0x0000d024 addiu gp, gp, -0x4400         |     
    0x0000d028 addu gp, gp, t9               |     gp += t9;
    0x0000d02c addiu sp, sp, -0x48           |     
    0x0000d030 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000d034 sw s2, 0x3c(sp)               |     *(var_3ch_3) = s2;
    0x0000d038 lw s2, -0x7bf0(gp)            |     s2 = *((gp - 7932));
    0x0000d03c lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x0000d040 sw s0, 0x34(sp)               |     *(var_34h_3) = s0;
    0x0000d044 lw s0, 0x318(v0)              |     s0 = *((v0 + 198));
    0x0000d048 lw v0, (s2)                   |     v0 = *(s2);
    0x0000d04c lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
    0x0000d050 sw gp, 0x18(sp)               |     *(var_18h_3) = gp;
    0x0000d054 sw ra, 0x44(sp)               |     *(var_44h_2) = ra;
    0x0000d058 sw s3, 0x40(sp)               |     *(var_40h_2) = s3;
    0x0000d05c sw s1, 0x38(sp)               |     *(var_38h_3) = s1;
                                             |     /* str.luks2 */
    0x0000d060 addiu a1, a1, -0x4884         |     a1 += -0x4884;
    0x0000d064 move a0, s0                   |     a0 = s0;
    0x0000d068 sw v0, 0x2c(sp)               |     *(var_2ch_3) = v0;
    0x0000d06c sw zero, 0x24(sp)             |     *(var_24h_3) = 0;
    0x0000d070 sw zero, 0x28(sp)             |     *(var_28h_3) = 0;
    0x0000d074 jalr t9                       |     t9 ();
    0x0000d078 nop                           |     
    0x0000d07c lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 == 0) {
    0x0000d080 beqz v0, 0xd0c4               |         goto label_27;
                                             |     }
    0x0000d084 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x0000d088 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.luks1 */
    0x0000d08c addiu a1, a1, -0x487c         |     a1 += -0x487c;
    0x0000d090 move a0, s0                   |     a0 = s0;
    0x0000d094 jalr t9                       |     t9 ();
    0x0000d098 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
                                             |     if (v0 != 0) {
    0x0000d09c bnez v0, 0xd2a8               |         goto label_28;
                                             |     }
    0x0000d0a0 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
    0x0000d0a4 lw s1, -0x7fd8(gp)            |     s1 = *((gp - 8182));
    0x0000d0a8 lw a0, 0x2230(s3)             |     a0 = *((s3 + 2188));
                                             |     /* str.LUKS1 */
    0x0000d0ac addiu s1, s1, -0x488c         |     s1 += -0x488c;
                                             |     if (a0 != 0) {
    0x0000d0b0 bnez a0, 0xd0d8               |         goto label_29;
                                             |     }
                                             |     do {
    0x0000d0b4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000d0b8 lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x0000d0bc lw a0, (v0)                   |         a0 = *(v0);
    0x0000d0c0 b 0xd0d8                      |         goto label_29;
                                             | label_27:
    0x0000d0c4 lw s3, -0x7fdc(gp)            |         s3 = *(gp);
    0x0000d0c8 lw s1, -0x7fd8(gp)            |         s1 = *((gp - 8182));
    0x0000d0cc lw a0, 0x2230(s3)             |         a0 = *((s3 + 2188));
                                             |         /* esilref: 'LUKS2' */
    0x0000d0d0 addiu s1, s1, -0x670          |         s1 += -0x670;
    0x0000d0d4 beqz a0, 0xd0b4               |         
                                             |     } while (a0 == 0);
                                             | label_29:
    0x0000d0d8 lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x0000d0dc bal 0x9198                    |     sym_uuid_or_device ();
    0x0000d0e0 nop                           |     
    0x0000d0e4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d0e8 move a1, v0                   |     a1 = v0;
    0x0000d0ec lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x0000d0f0 addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x0000d0f4 jalr t9                       |     t9 ();
    0x0000d0f8 move s0, v0                   |     s0 = v0;
    0x0000d0fc lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d100 beqz v0, 0xd130               |     
                                             |     while (1) {
                                             | label_14:
    0x0000d104 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_3);
    0x0000d108 lw v1, (s2)                   |         v1 = *(s2);
    0x0000d10c move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000d110 bne a0, v1, 0xd33c            |             goto label_30;
                                             |         }
    0x0000d114 lw ra, 0x44(sp)               |         ra = *(var_44h_2);
    0x0000d118 lw s3, 0x40(sp)               |         s3 = *(var_40h_2);
    0x0000d11c lw s2, 0x3c(sp)               |         s2 = *(var_3ch_3);
    0x0000d120 lw s1, 0x38(sp)               |         s1 = *(var_38h_3);
    0x0000d124 lw s0, 0x34(sp)               |         s0 = *(var_34h_3);
    0x0000d128 addiu sp, sp, 0x48            |         
    0x0000d12c jr ra                         |         return v0;
    0x0000d130 lw t9, -0x7d68(gp)            |         t9 = sym.imp.crypt_set_confirm_callback;
    0x0000d134 lw a1, -0x7fac(gp)            |         a1 = sym.yesDialog;
    0x0000d138 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x0000d13c move a2, zero                 |         a2 = 0;
    0x0000d140 jalr t9                       |         t9 ();
    0x0000d144 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0000d148 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x0000d14c move a2, zero                 |         a2 = 0;
    0x0000d150 lw t9, -0x7d9c(gp)            |         t9 = sym.imp.crypt_load;
    0x0000d154 move a1, zero                 |         a1 = 0;
    0x0000d158 jalr t9                       |         t9 ();
    0x0000d15c move s0, v0                   |         s0 = v0;
    0x0000d160 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
                                             |         if (v0 == 0) {
    0x0000d164 bnez v0, 0xd210               |             
    0x0000d168 lw t9, -0x7bec(gp)            |             t9 = sym.imp.crypt_get_type;
    0x0000d16c lw a0, 0x24(sp)               |             a0 = *(var_24h_3);
    0x0000d170 jalr t9                       |             t9 ();
    0x0000d174 lw gp, 0x18(sp)               |             gp = *(var_18h_3);
                                             |             if (v0 != 0) {
    0x0000d178 beqz v0, 0xd210               |                 
    0x0000d17c lw t9, -0x7c80(gp)            |                 t9 = sym.imp.strcmp;
    0x0000d180 move a1, s1                   |                 a1 = s1;
    0x0000d184 move a0, v0                   |                 a0 = v0;
    0x0000d188 jalr t9                       |                 t9 ();
    0x0000d18c lw gp, 0x18(sp)               |                 gp = *(var_18h_3);
                                             |                 if (v0 == 0) {
    0x0000d190 beqz v0, 0xd2f4               |                     goto label_31;
                                             |                 }
    0x0000d194 lw a0, 0x2230(s3)             |                 a0 = *((s3 + 2188));
    0x0000d198 lw v0, -0x7fdc(gp)            |                 v0 = *(gp);
                                             |                 if (a0 == 0) {
    0x0000d19c beqz a0, 0xd29c               |                     goto label_32;
                                             |                 }
                                             | label_13:
    0x0000d1a0 lw t9, -0x7fd4(gp)            |                 t9 = sym.uuid_or_device;
    0x0000d1a4 bal 0x9198                    |                 sym_uuid_or_device ();
    0x0000d1a8 nop                           |                 
    0x0000d1ac lw gp, 0x18(sp)               |                 gp = *(var_18h_3);
    0x0000d1b0 sw s1, 0x10(sp)               |                 *(var_10h_3) = s1;
    0x0000d1b4 move a3, v0                   |                 a3 = v0;
    0x0000d1b8 lw a2, -0x7fd8(gp)            |                 a2 = *((gp - 8182));
    0x0000d1bc lw t9, -0x7d64(gp)            |                 t9 = sym.imp.__asprintf_chk
                                             |                 /* str.This_operation_will_convert__s_to__s_format._n */
    0x0000d1c0 addiu a2, a2, -0x4820         |                 a2 += -0x4820;
    0x0000d1c4 addiu a1, zero, 1             |                 a1 = 1;
    0x0000d1c8 addiu a0, sp, 0x28            |                 a0 = sp + 0x28;
    0x0000d1cc jalr t9                       |                 t9 ();
    0x0000d1d0 addiu v1, zero, -1            |                 v1 = -1;
    0x0000d1d4 lw gp, 0x18(sp)               |                 gp = *(var_18h_3);
                                             |                 if (v0 == v1) {
    0x0000d1d8 beq v0, v1, 0xd2dc            |                     goto label_33;
                                             |                 }
    0x0000d1dc lw a1, -0x7fd8(gp)            |                 a1 = *((gp - 8182));
    0x0000d1e0 lw t9, -0x7fac(gp)            |                 t9 = sym.yesDialog;
    0x0000d1e4 lw a0, 0x28(sp)               |                 a0 = *(var_28h_3);
                                             |                 /* str.Operation_aborted__device_was_NOT_converted._n */
    0x0000d1e8 addiu a1, a1, -0x47f0         |                 a1 += -0x47f0;
    0x0000d1ec bal 0x9020                    |                 sym_yesDialog ();
    0x0000d1f0 lw gp, 0x18(sp)               |                 gp = *(var_18h_3);
                                             |                 if (v0 != 0) {
    0x0000d1f4 bnez v0, 0xd27c               |                     goto label_34;
                                             |                 }
    0x0000d1f8 addiu s0, zero, -1            |                 s0 = -1;
                                             | label_12:
    0x0000d1fc lw t9, -0x7d5c(gp)            |                 t9 = sym.imp.free;
    0x0000d200 lw a0, 0x28(sp)               |                 a0 = *(var_28h_3);
    0x0000d204 jalr t9                       |                 t9 ();
    0x0000d208 lw gp, 0x18(sp)               |                 gp = *(var_18h_3);
    0x0000d20c b 0xd25c                      |                 
                                             |             }
                                             |         } else {
    0x0000d210 lw a0, 0x2230(s3)             |             a0 = *((s3 + 2188));
                                             |             if (a0 == 0) {
    0x0000d214 beql a0, zero, 0xd270         |                 goto label_35;
                                             |             }
    0x0000d218 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
                                             | label_11:
    0x0000d21c lw t9, -0x7fd4(gp)            |             t9 = sym.uuid_or_device;
    0x0000d220 bal 0x9198                    |             sym_uuid_or_device ();
    0x0000d224 nop                           |             
    0x0000d228 lw gp, 0x18(sp)               |             gp = *(var_18h_3);
    0x0000d22c sw v0, 0x14(sp)               |             *(var_14h_2) = v0;
    0x0000d230 addiu a3, zero, 0x8d1         |             a3 = 0x8d1;
    0x0000d234 lw v0, -0x7fd8(gp)            |             v0 = *((gp - 8182));
    0x0000d238 lw a2, -0x7fd8(gp)            |             a2 = *((gp - 8182));
    0x0000d23c lw t9, -0x7fd0(gp)            |             t9 = sym.clogger;
                                             |             /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x0000d240 addiu v0, v0, -0x49e4         |             v0 += -0x49e4;
                                             |             /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000d244 addiu a2, a2, -0x4abc         |             a2 += -0x4abc;
    0x0000d248 addiu a1, zero, 1             |             a1 = 1;
    0x0000d24c move a0, zero                 |             a0 = 0;
    0x0000d250 sw v0, 0x10(sp)               |             *(var_10h_3) = v0;
    0x0000d254 bal 0x88f0                    |             sym_clogger ();
    0x0000d258 lw gp, 0x18(sp)               |             gp = *(var_18h_3);
                                             |         }
    0x0000d25c lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
    0x0000d260 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x0000d264 jalr t9                       |         t9 ();
    0x0000d268 lw gp, 0x18(sp)               |         gp = *(var_18h_3);
    0x0000d26c b 0xd104                      |         
                                             |     }
                                             | label_35:
    0x0000d270 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x0000d274 lw a0, (v0)                   |     a0 = *(v0);
    0x0000d278 b 0xd21c                      |     goto label_11;
                                             | label_34:
    0x0000d27c lw t9, -0x7e60(gp)            |     t9 = sym.imp.crypt_convert;
    0x0000d280 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x0000d284 move a2, zero                 |     a2 = 0;
    0x0000d288 move a1, s1                   |     a1 = s1;
    0x0000d28c jalr t9                       |     t9 ();
    0x0000d290 move s0, v0                   |     s0 = v0;
    0x0000d294 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d298 b 0xd1fc                      |     goto label_12;
                                             | label_32:
    0x0000d29c lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x0000d2a0 lw a0, (v0)                   |     a0 = *(v0);
    0x0000d2a4 b 0xd1a0                      |     goto label_13;
                                             | label_28:
    0x0000d2a8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000d2ac lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000d2b0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Invalid_LUKS_type__only_luks1_and_luks2_are_supported. */
    0x0000d2b4 addiu v0, v0, -0x4874         |     v0 += -0x4874;
    0x0000d2b8 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0000d2bc addiu a3, zero, 0x8c5         |     a3 = 0x8c5;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000d2c0 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000d2c4 addiu a1, zero, 1             |     a1 = 1;
    0x0000d2c8 move a0, zero                 |     a0 = 0;
    0x0000d2cc bal 0x88f0                    |     sym_clogger ();
    0x0000d2d0 addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0000d2d4 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d2d8 b 0xd104                      |     goto label_14;
                                             | label_33:
    0x0000d2dc lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x0000d2e0 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x0000d2e4 addiu s0, zero, -0xc          |     s0 = -0xc;
    0x0000d2e8 jalr t9                       |     t9 ();
    0x0000d2ec lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d2f0 b 0xd104                      |     goto label_14;
                                             | label_31:
    0x0000d2f4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000d2f8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000d2fc lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Device_is_already__s_type. */
    0x0000d300 addiu v0, v0, -0x483c         |     v0 += -0x483c;
    0x0000d304 addiu a3, zero, 0x8d7         |     a3 = 0x8d7;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000d308 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000d30c addiu a1, zero, 1             |     a1 = 1;
    0x0000d310 move a0, zero                 |     a0 = 0;
    0x0000d314 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0000d318 sw s1, 0x14(sp)               |     *(var_14h_2) = s1;
    0x0000d31c bal 0x88f0                    |     sym_clogger ();
    0x0000d320 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d324 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x0000d328 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x0000d32c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0000d330 jalr t9                       |     t9 ();
    0x0000d334 lw gp, 0x18(sp)               |     gp = *(var_18h_3);
    0x0000d338 b 0xd104                      |     goto label_14;
                                             | label_30:
    0x0000d33c lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000d340 jalr t9                       |     t9 ();
    0x0000d344 nop                           |     
    0x0000d348 lui gp, 3                     |     
    0x0000d34c addiu gp, gp, -0x4728         |     
    0x0000d350 addu gp, gp, t9               |     gp += t9;
    0x0000d354 addiu sp, sp, -0x30           |     
    0x0000d358 lw t9, -0x7df0(gp)            |     t9 = sym.imp.crypt_token_is_assigned;
    0x0000d35c sw s2, 0x20(sp)               |     *(var_20h_3) = s2;
    0x0000d360 move s2, a1                   |     s2 = a1;
    0x0000d364 sw gp, 0x10(sp)               |     *(var_10h_4) = gp;
    0x0000d368 sw s3, 0x24(sp)               |     *(var_24h_4) = s3;
    0x0000d36c sw s1, 0x1c(sp)               |     *(var_1ch_2) = s1;
    0x0000d370 sw ra, 0x2c(sp)               |     *(var_2ch_4) = ra;
    0x0000d374 sw s4, 0x28(sp)               |     *(var_28h_4) = s4;
    0x0000d378 sw s0, 0x18(sp)               |     *(var_18h_4) = s0;
    0x0000d37c move s3, a2                   |     s3 = a2;
    0x0000d380 move a1, zero                 |     a1 = 0;
    0x0000d384 move a2, s2                   |     a2 = s2;
    0x0000d388 move s1, a0                   |     s1 = a0;
    0x0000d38c jalr t9                       |     t9 ();
    0x0000d390 addiu v1, zero, -0x16         |     v1 = -0x16;
    0x0000d394 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
                                             |     if (v0 == v1) {
    0x0000d398 beq v0, v1, 0xd3e8            |         goto label_36;
                                             |     }
    0x0000d39c move s0, zero                 |     s0 = 0;
    0x0000d3a0 addiu s4, zero, -0x16         |     s4 = -0x16;
                                             |     do {
    0x0000d3a4 lw t9, -0x7bb4(gp)            |         t9 = sym.imp.crypt_token_assign_keyslot;
    0x0000d3a8 move a1, s0                   |         a1 = s0;
    0x0000d3ac move a2, s3                   |         a2 = s3;
    0x0000d3b0 move a0, s1                   |         a0 = s1;
                                             |         if (v0 == 0) {
    0x0000d3b4 bnez v0, 0xd3c8               |             
    0x0000d3b8 jalr t9                       |             t9 ();
    0x0000d3bc nop                           |             
    0x0000d3c0 lw gp, 0x10(sp)               |             gp = *(var_10h_4);
                                             |             if (v0 != s0) {
    0x0000d3c4 bne v0, s0, 0xd40c            |                 goto label_37;
                                             |             }
                                             |         }
    0x0000d3c8 lw t9, -0x7df0(gp)            |         t9 = sym.imp.crypt_token_is_assigned;
    0x0000d3cc addiu s0, s0, 1               |         s0++;
    0x0000d3d0 move a2, s2                   |         a2 = s2;
    0x0000d3d4 move a1, s0                   |         a1 = s0;
    0x0000d3d8 move a0, s1                   |         a0 = s1;
    0x0000d3dc jalr t9                       |         t9 ();
    0x0000d3e0 lw gp, 0x10(sp)               |         gp = *(var_10h_4);
    0x0000d3e4 bne v0, s4, 0xd3a4            |         
                                             |     } while (v0 != s4);
                                             | label_36:
    0x0000d3e8 lw ra, 0x2c(sp)               |     ra = *(var_2ch_4);
    0x0000d3ec lw s4, 0x28(sp)               |     s4 = *(var_28h_4);
    0x0000d3f0 lw s3, 0x24(sp)               |     s3 = *(var_24h_4);
    0x0000d3f4 lw s2, 0x20(sp)               |     s2 = *(var_20h_3);
    0x0000d3f8 lw s1, 0x1c(sp)               |     s1 = *(var_1ch_2);
    0x0000d3fc lw s0, 0x18(sp)               |     s0 = *(var_18h_4);
    0x0000d400 move v0, zero                 |     v0 = 0;
    0x0000d404 addiu sp, sp, 0x30            |     
    0x0000d408 jr ra                         |     return v0;
                                             | label_37:
    0x0000d40c lw ra, 0x2c(sp)               |     ra = *(var_2ch_4);
    0x0000d410 lw s4, 0x28(sp)               |     s4 = *(var_28h_4);
    0x0000d414 lw s3, 0x24(sp)               |     s3 = *(var_24h_4);
    0x0000d418 lw s2, 0x20(sp)               |     s2 = *(var_20h_3);
    0x0000d41c lw s1, 0x1c(sp)               |     s1 = *(var_1ch_2);
    0x0000d420 lw s0, 0x18(sp)               |     s0 = *(var_18h_4);
    0x0000d424 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x0000d428 addiu sp, sp, 0x30            |     
    0x0000d42c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/cryptsetup @ 0xf49c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000f49c ()                  | void fcn_0000f49c () {
                                             | label_8:
    0x0000f49c lui gp, 3                     |     
    0x0000f4a0 addiu gp, gp, -0x687c         |     
    0x0000f4a4 addu gp, gp, t9               |     gp += t9;
    0x0000f4a8 addiu sp, sp, -0xa0           |     
    0x0000f4ac lw v0, -0x7bf0(gp)            |     v0 = *((gp - 7932));
    0x0000f4b0 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0000f4b4 sw s5, 0x8c(sp)               |     *(var_8ch) = s5;
    0x0000f4b8 lw s5, -0x7fdc(gp)            |     s5 = *(gp);
    0x0000f4bc sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0000f4c0 lw v0, (v0)                   |     v0 = *(v0);
    0x0000f4c4 sw fp, 0x98(sp)               |     *(var_98h) = fp;
    0x0000f4c8 sw s3, 0x84(sp)               |     *(var_84h) = s3;
    0x0000f4cc sw s1, 0x7c(sp)               |     *(var_7ch) = s1;
    0x0000f4d0 lw fp, 0x22c4(s5)             |     fp = *((s5 + 2225));
    0x0000f4d4 lw s1, 0x1c(v1)               |     s1 = *((v1 + 7));
    0x0000f4d8 lw s3, -0x7fa8(gp)            |     s3 = *(gp);
    0x0000f4dc sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x0000f4e0 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (fp == 0) {
    0x0000f4e4 movn s1, v0, fp               |         s1 = v0;
                                             |     }
    0x0000f4e8 addiu v0, s3, -0xef4          |     v0 = s3 + -0xef4;
    0x0000f4ec sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0000f4f0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000f4f4 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
                                             |     /* str.No_device_header_detected_with_this_passphrase. */
    0x0000f4f8 addiu v0, v0, -0x3cf8         |     v0 += -0x3cf8;
    0x0000f4fc sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x0000f500 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000f504 sw gp, 0x30(sp)               |     *(var_30h) = gp;
                                             |     /* str.Invalid_PIM_value:_parse_error. */
    0x0000f508 addiu v0, v0, -0x3d60         |     v0 += -0x3d60;
    0x0000f50c sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x0000f510 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000f514 sw s7, 0x94(sp)               |     *(var_94h) = s7;
                                             |     /* str.Invalid_PIM_value:_outside_of_range. */
    0x0000f518 addiu v0, v0, -0x3d28         |     v0 += -0x3d28;
    0x0000f51c sw s6, 0x90(sp)               |     *(var_90h) = s6;
    0x0000f520 sw s4, 0x88(sp)               |     *(var_88h) = s4;
    0x0000f524 sw s2, 0x80(sp)               |     *(var_80h) = s2;
    0x0000f528 sw s0, 0x78(sp)               |     *(var_78h) = s0;
    0x0000f52c sw ra, 0x9c(sp)               |     *(var_9ch) = ra;
    0x0000f530 move s0, a1                   |     s0 = a1;
    0x0000f534 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
    0x0000f538 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
    0x0000f53c sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x0000f540 move s2, a0                   |     s2 = a0;
    0x0000f544 addiu s6, a1, 4               |     s6 = a1 + 4;
    0x0000f548 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0000f54c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0000f550 b 0xf608                      |     goto label_62;
                                             | label_2:
    0x0000f554 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
                                             | label_0:
    0x0000f558 lw v0, 0x21b8(v0)             |     v0 = *((v0 + 2158));
    0x0000f55c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x0000f560 beqz v0, 0xf574               |         
    0x0000f564 lw v0, 0x20(s0)               |         v0 = *((s0 + 8));
    0x0000f568 ori v0, v0, 2                 |         v0 |= 2;
    0x0000f56c sw v0, 0x20(s0)               |         *((s0 + 8)) = v0;
    0x0000f570 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |     }
    0x0000f574 lw v0, 0x21b4(v0)             |     v0 = *((v0 + 2157));
    0x0000f578 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x0000f57c beqz v0, 0xf590               |         
    0x0000f580 lw v0, 0x20(s0)               |         v0 = *((s0 + 8));
    0x0000f584 ori v0, v0, 8                 |         v0 |= 8;
    0x0000f588 sw v0, 0x20(s0)               |         *((s0 + 8)) = v0;
    0x0000f58c lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |     }
    0x0000f590 lw v0, 0x21b0(v0)             |     v0 = *((v0 + 2156));
    0x0000f594 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x0000f598 beqz v0, 0xf5a8               |         
    0x0000f59c lw v0, 0x20(s0)               |         v0 = *((s0 + 8));
    0x0000f5a0 ori v0, v0, 4                 |         v0 |= 4;
    0x0000f5a4 sw v0, 0x20(s0)               |         *((s0 + 8)) = v0;
                                             |     }
    0x0000f5a8 lw t9, -0x7d9c(gp)            |     t9 = sym.imp.crypt_load;
    0x0000f5ac move a2, s0                   |     a2 = s0;
                                             |     /* str.TCRYPT */
    0x0000f5b0 addiu a1, a1, -0x3d00         |     a1 += -0x3d00;
    0x0000f5b4 move a0, s2                   |     a0 = s2;
    0x0000f5b8 jalr t9                       |     t9 ();
    0x0000f5bc addiu v1, zero, -1            |     v1 = -1;
    0x0000f5c0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f5c4 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (v0 == v1) {
    0x0000f5c8 beq v0, v1, 0xf7c0            |         goto label_63;
                                             |     }
                                             | label_4:
    0x0000f5cc lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
                                             |     if (v0 < 0) {
    0x0000f5d0 bltz v0, 0xf7a8               |         goto label_64;
                                             |     }
                                             | label_3:
    0x0000f5d4 lw t9, -0x7f94(gp)            |     t9 = sym.check_signal;
    0x0000f5d8 addiu a0, sp, 0x58            |     a0 = sp + 0x58;
    0x0000f5dc bal 0x88bc                    |     sym_check_signal ();
    0x0000f5e0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f5e4 lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             |     do {
                                             | label_1:
    0x0000f5e8 addiu v1, zero, -1            |         v1 = -1;
    0x0000f5ec addiu v1, zero, -0x22         |         v1 = -0x22;
                                             |         if (v0 != v1) {
    0x0000f5f0 beq v0, v1, 0xf5fc            |             
    0x0000f5f4 lw v1, 0x44(sp)               |             v1 = *(var_44h);
                                             |             if (v0 != v1) {
    0x0000f5f8 bne v0, v1, 0xf7fc            |                 goto label_65;
                                             |             }
                                             |         }
    0x0000f5fc addiu s1, s1, -1              |         s1 += -1;
    0x0000f600 lw fp, 0x22c4(s5)             |         fp = *((s5 + 2225));
                                             |         if (s1 <= 0) {
    0x0000f604 blez s1, 0xf7f8               |             goto label_66;
                                             |         }
                                             | label_62:
    0x0000f608 lw t9, 0x38(sp)               |         t9 = *(var_38h);
    0x0000f60c move a0, zero                 |         a0 = 0;
    0x0000f610 lw s3, 0x21e0(s4)             |         s3 = *((s4 + 2168));
    0x0000f614 jalr t9                       |         t9 ();
    0x0000f618 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0000f61c sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x0000f620 move v1, zero                 |         v1 = 0;
    0x0000f624 lw t9, -0x7fbc(gp)            |         t9 = sym.tools_get_key;
    0x0000f628 move v0, zero                 |         v0 = 0;
    0x0000f62c sw s2, 0x2c(sp)               |         *(var_2ch) = s2;
    0x0000f630 sw zero, 0x28(sp)             |         *(var_28h) = 0;
    0x0000f634 sw s3, 0x20(sp)               |         *(var_20h) = s3;
    0x0000f638 sw fp, 0x1c(sp)               |         *(var_1ch) = fp;
    0x0000f63c sw zero, 0x18(sp)             |         *(var_18h) = 0;
    0x0000f640 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000f644 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0000f648 move a2, s6                   |         a2 = s6;
    0x0000f64c move a1, s0                   |         a1 = s0;
    0x0000f650 move a0, zero                 |         a0 = 0;
    0x0000f654 bal 0xab80                    |         sym_tools_get_key ();
    0x0000f658 sw v0, 0x58(sp)               |         *(var_58h) = v0;
    0x0000f65c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0000f660 bltz v0, 0xf5e8               |         
                                             |     } while (v0 < 0);
    0x0000f664 lw v0, 0x21a8(s7)             |     v0 = *((s7 + 2154));
    0x0000f668 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
                                             |     if (v0 == 0) {
    0x0000f66c beqz v0, 0xf558               |         goto label_0;
                                             |     }
    0x0000f670 lw a1, 0x21e0(s4)             |     a1 = *((s4 + 2168));
    0x0000f674 move v1, zero                 |     v1 = 0;
    0x0000f678 move v0, zero                 |     v0 = 0;
    0x0000f67c lw t9, 0x38(sp)               |     t9 = *(var_38h);
    0x0000f680 move a0, zero                 |     a0 = 0;
    0x0000f684 sw a1, 0x40(sp)               |     *(var_40h_5) = a1;
    0x0000f688 sw v1, 0x6c(sp)               |     *(var_6ch_5) = v1;
    0x0000f68c sw zero, 0x5c(sp)             |     *(var_5ch_5) = 0;
    0x0000f690 sw zero, 0x60(sp)             |     *(var_60h_5) = 0;
    0x0000f694 sw zero, 0x64(sp)             |     *(var_64h_5) = 0;
    0x0000f698 sw v0, 0x68(sp)               |     *(var_68h_6) = v0;
    0x0000f69c lw fp, 0x22c4(s5)             |     fp = *((s5 + 2225));
    0x0000f6a0 jalr t9                       |     t9 ();
    0x0000f6a4 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f6a8 lw a1, 0x40(sp)               |     a1 = *(var_40h_5);
    0x0000f6ac sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0000f6b0 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x0000f6b4 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x0000f6b8 move v0, zero                 |     v0 = 0;
    0x0000f6bc move v1, zero                 |     v1 = 0;
    0x0000f6c0 sw a1, 0x20(sp)               |     *(var_20h) = a1;
    0x0000f6c4 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x0000f6c8 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x0000f6cc sw fp, 0x1c(sp)               |     *(var_1ch) = fp;
    0x0000f6d0 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x0000f6d4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f6d8 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0000f6dc addiu a2, sp, 0x64            |     a2 = sp + 0x64;
    0x0000f6e0 addiu a1, sp, 0x5c            |     a1 = sp + 0x5c;
                                             |     /* str.Enter_VeraCrypt_PIM:_ */
    0x0000f6e4 addiu a0, a0, -0x3d78         |     a0 += -0x3d78;
    0x0000f6e8 bal 0xab80                    |     sym_tools_get_key ();
    0x0000f6ec sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0000f6f0 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x0000f6f4 bltz v0, 0xf5e8               |         goto label_1;
                                             |     }
    0x0000f6f8 lw t9, -0x7c0c(gp)            |     t9 = sym.imp.strtoull;
    0x0000f6fc lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x0000f700 addiu a1, sp, 0x60            |     a1 = sp + 0x60;
    0x0000f704 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0000f708 jalr t9                       |     t9 ();
    0x0000f70c lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x0000f710 sw v0, 0x68(sp)               |     *(var_68h_6) = v0;
    0x0000f714 sw v1, 0x6c(sp)               |     *(var_6ch_5) = v1;
    0x0000f718 lb a1, (a0)                   |     a1 = *(a0);
    0x0000f71c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (a1 != 0) {
    0x0000f720 beqz a1, 0xf73c               |         
    0x0000f724 lw a1, 0x60(sp)               |         a1 = *(var_60h_5);
                                             |         if (a1 == 0) {
    0x0000f728 beql a1, zero, 0xf740         |             goto label_67;
                                             |         }
    0x0000f72c lw v0, 0x4c(sp)               |         v0 = *(var_4ch);
    0x0000f730 lb a1, (a1)                   |         a1 = *(a1);
    0x0000f734 or v0, v0, v1                 |         v0 |= v1;
                                             |         if (a1 == 0) {
    0x0000f738 beqz a1, 0xf850               |             goto label_68;
                                             |         }
                                             |     }
    0x0000f73c lw v0, 0x4c(sp)               |     v0 = *(var_4ch);
                                             | label_67:
    0x0000f740 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0000f744 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f748 addiu a3, zero, 0x1b6         |     a3 = 0x1b6;
                                             | label_7:
    0x0000f74c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000f750 move a0, zero                 |     a0 = 0;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000f754 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000f758 addiu a1, zero, 1             |     a1 = 1;
    0x0000f75c bal 0x88f0                    |     sym_clogger ();
    0x0000f760 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x0000f764 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f768 lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x0000f76c sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             | label_6:
    0x0000f770 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
                                             | label_5:
    0x0000f774 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0000f778 nop                           |     
    0x0000f77c lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000f780 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 < 0) {
    0x0000f784 bltz v0, 0xf5e8               |         goto label_1;
                                             |     }
    0x0000f788 lw v0, 0x68(sp)               |     v0 = *(var_68h_6);
    0x0000f78c lw t9, -0x7f80(gp)            |     t9 = sym.crypt_memzero;
    0x0000f790 sw v0, 0x24(s0)               |     *((s0 + 9)) = v0;
    0x0000f794 addiu a1, zero, 8             |     a1 = 8;
    0x0000f798 addiu a0, sp, 0x68            |     a0 = sp + 0x68;
    0x0000f79c bal 0x6974                    |     sym_crypt_memzero ();
    0x0000f7a0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f7a4 b 0xf554                      |     goto label_2;
                                             | label_64:
    0x0000f7a8 lw a0, (s0)                   |     a0 = *(s0);
    0x0000f7ac bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0000f7b0 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f7b4 sw zero, (s0)                 |     *(s0) = 0;
    0x0000f7b8 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x0000f7bc b 0xf5d4                      |     goto label_3;
                                             | label_63:
    0x0000f7c0 lw v0, 0x48(sp)               |     v0 = *(var_48h);
    0x0000f7c4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000f7c8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0000f7cc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f7d0 addiu a3, zero, 0x1d3         |     a3 = 0x1d3;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000f7d4 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000f7d8 addiu a1, zero, 1             |     a1 = 1;
    0x0000f7dc move a0, zero                 |     a0 = 0;
    0x0000f7e0 bal 0x88f0                    |     sym_clogger ();
    0x0000f7e4 addiu v1, zero, 1             |     v1 = 1;
    0x0000f7e8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f7ec lw v0, 0x58(sp)               |     v0 = *(var_58h);
    0x0000f7f0 sw v1, 0x44(sp)               |     *(var_44h) = v1;
    0x0000f7f4 b 0xf5cc                      |     goto label_4;
                                             | label_66:
    0x0000f7f8 lw v1, 0x44(sp)               |     v1 = *(var_44h);
                                             | label_65:
    0x0000f7fc lw v1, 0x50(sp)               |     v1 = *(var_50h);
                                             |     if (v1 != 0) {
    0x0000f800 beqz v1, 0xf814               |         
    0x0000f804 addiu v1, zero, -0x20         |         v1 = -0x20;
                                             |         if (v0 != v1) {
    0x0000f808 beql v0, v1, 0xf810           |             
    0x0000f80c addiu v0, zero, -1            |             v0 = -1;
                                             |         }
    0x0000f810 lw v1, 0x50(sp)               |         v1 = *(var_50h);
                                             |     }
    0x0000f814 lw a0, 0x74(sp)               |     a0 = *(var_74h);
    0x0000f818 lw v1, (v1)                   |     v1 = *(v1);
    0x0000f81c lw ra, 0x9c(sp)               |     ra = *(var_9ch);
                                             |     if (a0 != v1) {
    0x0000f820 bne a0, v1, 0xf8ac            |         goto label_69;
                                             |     }
    0x0000f824 lw fp, 0x98(sp)               |     fp = *(var_98h);
    0x0000f828 lw s7, 0x94(sp)               |     s7 = *(var_94h);
    0x0000f82c lw s6, 0x90(sp)               |     s6 = *(var_90h);
    0x0000f830 lw s5, 0x8c(sp)               |     s5 = *(var_8ch);
    0x0000f834 lw s4, 0x88(sp)               |     s4 = *(var_88h);
    0x0000f838 lw s3, 0x84(sp)               |     s3 = *(var_84h);
    0x0000f83c lw s2, 0x80(sp)               |     s2 = *(var_80h);
    0x0000f840 lw s1, 0x7c(sp)               |     s1 = *(var_7ch);
    0x0000f844 lw s0, 0x78(sp)               |     s0 = *(var_78h);
    0x0000f848 addiu sp, sp, 0xa0            |     
    0x0000f84c jr ra                         |     return v0;
                                             | label_68:
    0x0000f850 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x0000f854 beqz v0, 0xf898               |         goto label_70;
                                             |     }
    0x0000f858 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
                                             |     if (v1 == 0) {
    0x0000f85c beqz v1, 0xf774               |         goto label_5;
                                             |     }
    0x0000f860 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0000f864 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000f868 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0000f86c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f870 move a0, zero                 |     a0 = 0;
    0x0000f874 addiu a3, zero, 0x1bc         |     a3 = 0x1bc;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000f878 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000f87c addiu a1, zero, 1             |     a1 = 1;
    0x0000f880 bal 0x88f0                    |     sym_clogger ();
    0x0000f884 addiu v0, zero, -0x22         |     v0 = -0x22;
    0x0000f888 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0000f88c lw a0, 0x5c(sp)               |     a0 = *(var_5ch_5);
    0x0000f890 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0000f894 b 0xf770                      |     goto label_6;
                                             | label_70:
    0x0000f898 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Invalid_PIM_value:_0. */
    0x0000f89c addiu v0, v0, -0x3d40         |     v0 += -0x3d40;
    0x0000f8a0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0000f8a4 addiu a3, zero, 0x1b9         |     a3 = 0x1b9;
    0x0000f8a8 b 0xf74c                      |     goto label_7;
                                             | label_69:
    0x0000f8ac lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000f8b0 jalr t9                       |     t9 ();
    0x0000f8b4 nop                           |     
    0x0000f8b8 lui gp, 3                     |     
    0x0000f8bc addiu gp, gp, -0x6c98         |     
    0x0000f8c0 addu gp, gp, t9               |     gp += t9;
    0x0000f8c4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f8c8 addiu sp, sp, -0x80           |     
    0x0000f8cc addiu t1, zero, 0x11          |     t1 = 0x11;
    0x0000f8d0 lw a1, 0x20f0(v0)             |     a1 = *((v0 + 2108));
    0x0000f8d4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f8d8 sw s2, 0x64(sp)               |     *(var_64h) = s2;
    0x0000f8dc lw s2, -0x7bf0(gp)            |     s2 = *((gp - 7932));
    0x0000f8e0 lw a0, 0x18(v0)               |     a0 = *((v0 + 6));
    0x0000f8e4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f8e8 lw a2, (s2)                   |     a2 = *(s2);
    0x0000f8ec sw zero, 0x2c(sp)             |     *(var_2ch_2) = 0;
    0x0000f8f0 lw v1, 0x21ac(v0)             |     v1 = *((v0 + 2155));
    0x0000f8f4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f8f8 sw a2, 0x54(sp)               |     *(var_54h_2) = a2;
    0x0000f8fc lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x0000f900 lw a3, 0x22c0(v0)             |     a3 = *((v0 + 2224));
    0x0000f904 slti v0, a0, 0                |     v0 = (a0 < 0) ? 1 : 0;
    0x0000f908 sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
    0x0000f90c sw zero, 0x3c(sp)             |     *(var_3ch_2) = 0;
    0x0000f910 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x0000f914 sw zero, 0x44(sp)             |     *(var_44h_2) = 0;
    0x0000f918 sw zero, 0x48(sp)             |     *(var_48h_2) = 0;
                                             |     if (v0 == 0) {
    0x0000f91c movn a0, zero, v0             |         a0 = 0;
                                             |     }
    0x0000f920 addiu t0, zero, 1             |     t0 = 1;
    0x0000f924 lw a1, (a1)                   |     a1 = *(a1);
    0x0000f928 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x0000f92c move v0, a0                   |     v0 = a0;
                                             |     if (v1 == 0) {
    0x0000f930 movn t0, t1, v1               |         t0 = t1;
                                             |     }
    0x0000f934 addiu a2, a2, 0x2240          |     a2 += 0x2240;
    0x0000f938 sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0000f93c sw s0, 0x5c(sp)               |     *(var_5ch) = s0;
    0x0000f940 sw ra, 0x7c(sp)               |     *(var_7ch_2) = ra;
    0x0000f944 sw s7, 0x78(sp)               |     *(var_78h_2) = s7;
    0x0000f948 sw s6, 0x74(sp)               |     *(var_74h_2) = s6;
    0x0000f94c sw s5, 0x70(sp)               |     *(var_70h) = s5;
    0x0000f950 sw s4, 0x6c(sp)               |     *(var_6ch) = s4;
    0x0000f954 sw s3, 0x68(sp)               |     *(var_68h) = s3;
    0x0000f958 sw s1, 0x60(sp)               |     *(var_60h) = s1;
    0x0000f95c sw zero, 0x24(sp)             |     *(var_24h_2) = 0;
    0x0000f960 sw a2, 0x34(sp)               |     *(var_34h) = a2;
    0x0000f964 sw a3, 0x38(sp)               |     *(var_38h_2) = a3;
    0x0000f968 sw t0, 0x4c(sp)               |     *(var_4ch_2) = t0;
    0x0000f96c sw v0, 0x50(sp)               |     *(var_50h_2) = v0;
    0x0000f970 addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x0000f974 jalr t9                       |     t9 ();
    0x0000f978 move s0, v0                   |     s0 = v0;
    0x0000f97c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000f980 beqz v0, 0xf9e0               |     
                                             |     while (v0 < 0) {
                                             | label_10:
    0x0000f984 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
    0x0000f988 lw a0, 0x24(sp)               |         a0 = *(var_24h_2);
    0x0000f98c jalr t9                       |         t9 ();
    0x0000f990 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000f994 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x0000f998 lw a0, 0x2c(sp)               |         a0 = *(var_2ch_2);
    0x0000f99c bal 0x6a20                    |         sym_crypt_safe_free ();
    0x0000f9a0 lw a0, 0x54(sp)               |         a0 = *(var_54h_2);
    0x0000f9a4 lw v1, (s2)                   |         v1 = *(s2);
    0x0000f9a8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000f9ac move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000f9b0 bne a0, v1, 0xfcdc            |             goto label_71;
                                             |         }
    0x0000f9b4 lw ra, 0x7c(sp)               |         ra = *(var_7ch_2);
    0x0000f9b8 lw s7, 0x78(sp)               |         s7 = *(var_78h_2);
    0x0000f9bc lw s6, 0x74(sp)               |         s6 = *(var_74h_2);
    0x0000f9c0 lw s5, 0x70(sp)               |         s5 = *(var_70h);
    0x0000f9c4 lw s4, 0x6c(sp)               |         s4 = *(var_6ch);
    0x0000f9c8 lw s3, 0x68(sp)               |         s3 = *(var_68h);
    0x0000f9cc lw s2, 0x64(sp)               |         s2 = *(var_64h);
    0x0000f9d0 lw s1, 0x60(sp)               |         s1 = *(var_60h);
    0x0000f9d4 lw s0, 0x5c(sp)               |         s0 = *(var_5ch);
    0x0000f9d8 addiu sp, sp, 0x80            |         
    0x0000f9dc jr ra                         |         return v0;
    0x0000f9e0 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x0000f9e4 lw a0, 0x24(sp)               |         a0 = *(var_24h_2);
    0x0000f9e8 addiu t9, t9, -0xb64          |         t9 += -0xb64;
    0x0000f9ec addiu a1, sp, 0x2c            |         a1 = sp + 0x2c;
    0x0000f9f0 bal 0xf49c                    |         fcn_0000f49c ();
                                             |         goto label_8;
    0x0000f9f4 move s0, v0                   |         s0 = v0;
    0x0000f9f8 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000f9fc bltz v0, 0xf984               |         
                                             |     }
    0x0000fa00 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fa04 lw v0, 0x21d0(v0)             |     v0 = *((v0 + 2164));
    0x0000fa08 lw s1, 0x24(sp)               |     s1 = *(var_24h_2);
                                             |     if (v0 == 0) {
    0x0000fa0c beqz v0, 0xfc78               |         goto label_72;
                                             |     }
    0x0000fa10 lw t9, -0x7d68(gp)            |     t9 = sym.imp.crypt_set_confirm_callback;
    0x0000fa14 lw a1, -0x7fac(gp)            |     a1 = sym.yesDialog;
    0x0000fa18 move a2, zero                 |     a2 = 0;
    0x0000fa1c move a0, s1                   |     a0 = s1;
    0x0000fa20 jalr t9                       |     t9 ();
    0x0000fa24 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fa28 move a1, zero                 |     a1 = 0;
    0x0000fa2c lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x0000fa30 lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
                                             |     /* str.Header_dump_with_volume_key_is_sensitive_information_nwhich_allows_access_to_encrypted_partition_without_passphrase._nThis_dump_should_be_always_stored_encrypted_on_safe_place. */
    0x0000fa34 addiu a0, a0, -0x4024         |     a0 += -0x4024;
    0x0000fa38 bal 0x9020                    |     sym_yesDialog ();
    0x0000fa3c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0000fa40 beqz v0, 0xfccc               |         goto label_73;
                                             |     }
    0x0000fa44 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.crypt_get_volume_key_size;
    0x0000fa48 move a0, s1                   |     a0 = s1;
    0x0000fa4c jalr t9                       |     t9 ();
    0x0000fa50 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fa54 move a0, v0                   |     a0 = v0;
    0x0000fa58 lw t9, -0x7f98(gp)            |     t9 = sym.crypt_safe_alloc;
    0x0000fa5c sw v0, 0x28(sp)               |     *(var_28h_6) = v0;
    0x0000fa60 bal 0x698c                    |     sym_crypt_safe_alloc ();
    0x0000fa64 move s3, v0                   |     s3 = v0;
    0x0000fa68 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0000fa6c beqz v0, 0xfcd4               |         goto label_74;
                                             |     }
    0x0000fa70 lw t9, -0x7d54(gp)            |     t9 = sym.imp.crypt_volume_key_get;
    0x0000fa74 sw zero, 0x14(sp)             |     *(var_14h_6) = 0;
    0x0000fa78 sw zero, 0x10(sp)             |     *(var_10h_6) = 0;
    0x0000fa7c addiu a3, sp, 0x28            |     a3 = sp + 0x28;
    0x0000fa80 move a2, v0                   |     a2 = v0;
    0x0000fa84 addiu a1, zero, -1            |     a1 = -1;
    0x0000fa88 move a0, s1                   |     a0 = s1;
    0x0000fa8c jalr t9                       |     t9 ();
    0x0000fa90 move s0, v0                   |     s0 = v0;
    0x0000fa94 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 < 0) {
    0x0000fa98 bltz v0, 0xfcb8               |         goto label_75;
                                             |     }
    0x0000fa9c lw t9, -0x7c50(gp)            |     t9 = sym.imp.crypt_get_device_name;
    0x0000faa0 move a0, s1                   |     a0 = s1;
    0x0000faa4 jalr t9                       |     t9 ();
    0x0000faa8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000faac sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0000fab0 addiu a3, zero, 0x220         |     a3 = 0x220;
    0x0000fab4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fab8 lw s6, -0x7fd8(gp)            |     s6 = *((gp - 8182));
    0x0000fabc lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.TCRYPT_header_information_for__s_n */
    0x0000fac0 addiu v0, v0, -0x3cc8         |     v0 += -0x3cc8;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fac4 addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fac8 move a1, zero                 |     a1 = 0;
    0x0000facc move a0, zero                 |     a0 = 0;
    0x0000fad0 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fad4 bal 0x88f0                    |     sym_clogger ();
    0x0000fad8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fadc lw t9, -0x7c20(gp)            |     t9 = sym.imp.crypt_get_cipher;
    0x0000fae0 move a0, s1                   |     a0 = s1;
    0x0000fae4 jalr t9                       |     t9 ();
    0x0000fae8 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000faec sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0000faf0 addiu a3, zero, 0x221         |     a3 = 0x221;
    0x0000faf4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000faf8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cipher_chain:___t_s_n */
    0x0000fafc addiu v0, v0, -0x3ca4         |     v0 += -0x3ca4;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fb00 addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fb04 move a1, zero                 |     a1 = 0;
    0x0000fb08 move a0, zero                 |     a0 = 0;
    0x0000fb0c sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fb10 bal 0x88f0                    |     sym_clogger ();
    0x0000fb14 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fb18 lw t9, -0x7c38(gp)            |     t9 = sym.imp.crypt_get_cipher_mode;
    0x0000fb1c move a0, s1                   |     a0 = s1;
    0x0000fb20 jalr t9                       |     t9 ();
    0x0000fb24 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fb28 sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0000fb2c addiu a3, zero, 0x222         |     a3 = 0x222;
    0x0000fb30 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fb34 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cipher_mode:____t_s_n */
    0x0000fb38 addiu v0, v0, -0x3f40         |     v0 += -0x3f40;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fb3c addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fb40 move a1, zero                 |     a1 = 0;
    0x0000fb44 move a0, zero                 |     a0 = 0;
    0x0000fb48 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fb4c bal 0x88f0                    |     sym_clogger ();
    0x0000fb50 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fb54 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.crypt_get_data_offset;
    0x0000fb58 move a0, s1                   |     a0 = s1;
    0x0000fb5c jalr t9                       |     t9 ();
    0x0000fb60 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fb64 sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0000fb68 addiu a3, zero, 0x223         |     a3 = 0x223;
    0x0000fb6c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fb70 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Payload_offset:_t_d_n */
    0x0000fb74 addiu v0, v0, -0x3f2c         |     v0 += -0x3f2c;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fb78 addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fb7c move a1, zero                 |     a1 = 0;
    0x0000fb80 move a0, zero                 |     a0 = 0;
    0x0000fb84 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fb88 bal 0x88f0                    |     sym_clogger ();
    0x0000fb8c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fb90 lw v0, 0x28(sp)               |     v0 = *(var_28h_6);
    0x0000fb94 addiu a3, zero, 0x224         |     a3 = aav.0x00000224;
    0x0000fb98 sll v0, v0, 3                 |     v0 <<= 3;
    0x0000fb9c sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0000fba0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fba4 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.MK_bits:________t_d_n */
    0x0000fba8 addiu v0, v0, -0x3f04         |     v0 += -0x3f04;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fbac addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fbb0 move a1, zero                 |     a1 = 0;
    0x0000fbb4 move a0, zero                 |     a0 = 0;
    0x0000fbb8 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fbbc bal 0x88f0                    |     sym_clogger ();
    0x0000fbc0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fbc4 addiu a3, zero, 0x225         |     a3 = 0x225;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fbc8 addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fbcc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fbd0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.MK_dump:_t */
    0x0000fbd4 addiu v0, v0, -0x3ed8         |     v0 += -0x3ed8;
    0x0000fbd8 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fbdc move a1, zero                 |     a1 = 0;
    0x0000fbe0 move a0, zero                 |     a0 = 0;
    0x0000fbe4 bal 0x88f0                    |     sym_clogger ();
    0x0000fbe8 lw v0, 0x28(sp)               |     v0 = *(var_28h_6);
    0x0000fbec lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (v0 == 0) {
    0x0000fbf0 beqz v0, 0xfc90               |         goto label_76;
                                             |     }
    0x0000fbf4 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
    0x0000fbf8 lw s7, -0x7fd8(gp)            |     s7 = *((gp - 8182));
    0x0000fbfc move s1, zero                 |     s1 = 0;
                                             |     /* str._02hhx_ */
    0x0000fc00 addiu s4, s4, -0x3ec8         |     s4 += -0x3ec8;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fc04 addiu s5, s6, -0x4abc         |     s5 = s6 + -0x4abc;
                                             |     /* esilref: '
		' */
    0x0000fc08 addiu s7, s7, -0x3ecc         |     s7 += -0x3ecc;
                                             | label_9:
    0x0000fc0c addu v0, s3, s1               |     v0 = s3 + s1;
                                             |     do {
    0x0000fc10 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
    0x0000fc14 lb v0, (v0)                   |         v0 = *(v0);
    0x0000fc18 addiu a3, zero, 0x22a         |         a3 = 0x22a;
    0x0000fc1c sw v0, 0x14(sp)               |         *(var_14h_6) = v0;
    0x0000fc20 sw s4, 0x10(sp)               |         *(var_10h_6) = s4;
    0x0000fc24 move a2, s5                   |         a2 = s5;
    0x0000fc28 move a1, zero                 |         a1 = 0;
    0x0000fc2c move a0, zero                 |         a0 = 0;
    0x0000fc30 bal 0x88f0                    |         sym_clogger ();
    0x0000fc34 lw v0, 0x28(sp)               |         v0 = *(var_28h_6);
    0x0000fc38 addiu s1, s1, 1               |         s1++;
    0x0000fc3c sltu v0, s1, v0               |         v0 = (s1 < v0) ? 1 : 0;
    0x0000fc40 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
                                             |         if (v0 == 0) {
    0x0000fc44 beqz v0, 0xfc90               |             goto label_76;
                                             |         }
    0x0000fc48 andi v0, s1, 0xf              |         v0 = s1 & 0xf;
    0x0000fc4c addu v0, s3, s1               |         v0 = s3 + s1;
    0x0000fc50 bnez v0, 0xfc10               |         
                                             |     } while (v0 != 0);
    0x0000fc54 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0000fc58 sw s7, 0x10(sp)               |     *(var_10h_6) = s7;
    0x0000fc5c addiu a3, zero, 0x229         |     a3 = 0x229;
    0x0000fc60 move a2, s5                   |     a2 = s5;
    0x0000fc64 move a1, zero                 |     a1 = 0;
    0x0000fc68 move a0, zero                 |     a0 = 0;
    0x0000fc6c bal 0x88f0                    |     sym_clogger ();
    0x0000fc70 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fc74 b 0xfc0c                      |     goto label_9;
                                             | label_72:
    0x0000fc78 lw t9, -0x7d98(gp)            |     t9 = sym.imp.crypt_dump;
    0x0000fc7c move a0, s1                   |     a0 = s1;
    0x0000fc80 jalr t9                       |     t9 ();
    0x0000fc84 move s0, v0                   |     s0 = v0;
    0x0000fc88 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fc8c b 0xf984                      |     goto label_10;
                                             | label_76:
    0x0000fc90 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000fc94 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0000fc98 addiu v0, v0, -0x46d4         |     v0 += -0x46d4;
    0x0000fc9c sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0000fca0 addiu a3, zero, 0x22c         |     a3 = 0x22c;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fca4 addiu a2, s6, -0x4abc         |     a2 = s6 + -0x4abc;
    0x0000fca8 move a1, zero                 |     a1 = 0;
    0x0000fcac move a0, zero                 |     a0 = 0;
    0x0000fcb0 bal 0x88f0                    |     sym_clogger ();
    0x0000fcb4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             | label_75:
    0x0000fcb8 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x0000fcbc move a0, s3                   |     a0 = s3;
    0x0000fcc0 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0000fcc4 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000fcc8 b 0xf984                      |     goto label_10;
                                             | label_73:
    0x0000fccc addiu s0, zero, -1            |     s0 = -1;
    0x0000fcd0 b 0xf984                      |     goto label_10;
                                             | label_74:
    0x0000fcd4 addiu s0, zero, -0xc          |     s0 = -0xc;
    0x0000fcd8 b 0xf984                      |     goto label_10;
                                             | label_71:
    0x0000fcdc lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000fce0 jalr t9                       |     t9 ();
    0x0000fce4 nop                           |     
    0x0000fce8 lui gp, 3                     |     
    0x0000fcec addiu gp, gp, -0x70c8         |     
    0x0000fcf0 addu gp, gp, t9               |     gp += t9;
    0x0000fcf4 addiu sp, sp, -0x70           |     
    0x0000fcf8 sw s1, 0x58(sp)               |     *(var_58h_2) = s1;
    0x0000fcfc sw s0, 0x54(sp)               |     *(var_54h_3) = s0;
    0x0000fd00 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x0000fd04 lw s0, -0x7bf0(gp)            |     s0 = *((gp - 7932));
    0x0000fd08 sw gp, 0x30(sp)               |     *(var_30h_3) = gp;
    0x0000fd0c lw a0, 0x2230(s1)             |     a0 = *((s1 + 2188));
    0x0000fd10 lw v0, (s0)                   |     v0 = *(s0);
    0x0000fd14 sw ra, 0x6c(sp)               |     *(var_6ch_2) = ra;
    0x0000fd18 sw s5, 0x68(sp)               |     *(var_68h_2) = s5;
    0x0000fd1c sw s4, 0x64(sp)               |     *(var_64h_2) = s4;
    0x0000fd20 sw s3, 0x60(sp)               |     *(var_60h_2) = s3;
    0x0000fd24 sw s2, 0x5c(sp)               |     *(var_5ch_2) = s2;
    0x0000fd28 sw zero, 0x3c(sp)             |     *(var_3ch_3) = 0;
    0x0000fd2c sw v0, 0x4c(sp)               |     *(var_4ch_3) = v0;
    0x0000fd30 sw zero, 0x40(sp)             |     *(var_40h_2) = 0;
                                             |     if (a0 == 0) {
    0x0000fd34 beqz a0, 0xfe58               |         goto label_77;
                                             |     }
                                             | label_11:
    0x0000fd38 lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x0000fd3c bal 0x9198                    |     sym_uuid_or_device ();
    0x0000fd40 nop                           |     
    0x0000fd44 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000fd48 move a1, v0                   |     a1 = v0;
    0x0000fd4c lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x0000fd50 addiu a0, sp, 0x3c            |     a0 = sp + 0x3c;
    0x0000fd54 jalr t9                       |     t9 ();
    0x0000fd58 sw v0, 0x48(sp)               |     *(var_48h_3) = v0;
    0x0000fd5c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000fd60 beqz v0, 0xfdb8               |     
                                             |     while (1) {
                                             | label_12:
    0x0000fd64 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x0000fd68 lw a0, 0x40(sp)               |         a0 = *(var_40h_2);
    0x0000fd6c bal 0x6a20                    |         sym_crypt_safe_free ();
    0x0000fd70 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fd74 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
    0x0000fd78 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_3);
    0x0000fd7c jalr t9                       |         t9 ();
    0x0000fd80 lw a0, 0x4c(sp)               |         a0 = *(var_4ch_3);
    0x0000fd84 lw v1, (s0)                   |         v1 = *(s0);
    0x0000fd88 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fd8c lw v0, 0x48(sp)               |         v0 = *(var_48h_3);
                                             |         if (a0 != v1) {
    0x0000fd90 bne a0, v1, 0x1000c           |             goto label_78;
                                             |         }
    0x0000fd94 lw ra, 0x6c(sp)               |         ra = *(var_6ch_2);
    0x0000fd98 lw s5, 0x68(sp)               |         s5 = *(var_68h_2);
    0x0000fd9c lw s4, 0x64(sp)               |         s4 = *(var_64h_2);
    0x0000fda0 lw s3, 0x60(sp)               |         s3 = *(var_60h_2);
    0x0000fda4 lw s2, 0x5c(sp)               |         s2 = *(var_5ch_2);
    0x0000fda8 lw s1, 0x58(sp)               |         s1 = *(var_58h_2);
    0x0000fdac lw s0, 0x54(sp)               |         s0 = *(var_54h_3);
    0x0000fdb0 addiu sp, sp, 0x70            |         
    0x0000fdb4 jr ra                         |         return v0;
    0x0000fdb8 lw a1, -0x7fac(gp)            |         a1 = sym.yesDialog;
    0x0000fdbc lw t9, -0x7d68(gp)            |         t9 = sym.imp.crypt_set_confirm_callback;
    0x0000fdc0 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_3);
    0x0000fdc4 move a2, zero                 |         a2 = 0;
    0x0000fdc8 jalr t9                       |         t9 ();
    0x0000fdcc lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fdd0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0000fdd4 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x0000fdd8 addiu t9, t9, -0x1d10         |         t9 += -0x1d10;
    0x0000fddc lw a0, 0x318(v0)              |         a0 = *((v0 + 198));
    0x0000fde0 bal 0xe2f0                    |         fcn_0000e2f0 ();
    0x0000fde4 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fde8 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_3);
    0x0000fdec move a2, zero                 |         a2 = 0;
    0x0000fdf0 lw t9, -0x7d9c(gp)            |         t9 = sym.imp.crypt_load;
    0x0000fdf4 move a1, v0                   |         a1 = v0;
    0x0000fdf8 jalr t9                       |         t9 ();
    0x0000fdfc sw v0, 0x48(sp)               |         *(var_48h_3) = v0;
    0x0000fe00 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
                                             |         if (v0 == 0) {
    0x0000fe04 beqz v0, 0xfe68               |             goto label_79;
                                             |         }
    0x0000fe08 lw a0, 0x2230(s1)             |         a0 = *((s1 + 2188));
                                             |         if (a0 == 0) {
    0x0000fe0c beql a0, zero, 0xffd4         |             goto label_80;
                                             |         }
    0x0000fe10 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             | label_13:
    0x0000fe14 lw t9, -0x7fd4(gp)            |         t9 = sym.uuid_or_device;
    0x0000fe18 bal 0x9198                    |         sym_uuid_or_device ();
    0x0000fe1c nop                           |         
    0x0000fe20 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fe24 sw v0, 0x14(sp)               |         *(var_14h_2) = v0;
    0x0000fe28 addiu a3, zero, 0x616         |         a3 = 0x616;
    0x0000fe2c lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x0000fe30 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x0000fe34 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x0000fe38 addiu v0, v0, -0x49e4         |         v0 += -0x49e4;
    0x0000fe3c sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000fe40 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x0000fe44 addiu a1, zero, 1             |         a1 = 1;
    0x0000fe48 move a0, zero                 |         a0 = 0;
    0x0000fe4c bal 0x88f0                    |         sym_clogger ();
    0x0000fe50 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fe54 b 0xfd64                      |         
                                             |     }
                                             | label_77:
    0x0000fe58 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fe5c lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x0000fe60 lw a0, (v0)                   |     a0 = *(v0);
    0x0000fe64 b 0xfd38                      |     goto label_11;
                                             | label_79:
    0x0000fe68 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fe6c lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x0000fe70 move a0, zero                 |     a0 = 0;
    0x0000fe74 lw s2, 0x2218(v0)             |     s2 = *((v0 + 2182));
    0x0000fe78 lw s3, 0x221c(v0)             |     s3 = *((v0 + 2183));
    0x0000fe7c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fe80 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x0000fe84 lw s1, 0x2224(v0)             |     s1 = *((v0 + 2185));
    0x0000fe88 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fe8c lw s4, 0x22c8(v0)             |     s4 = *((v0 + 2226));
    0x0000fe90 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000fe94 lw s5, 0x21e0(v0)             |     s5 = *((v0 + 2168));
    0x0000fe98 bal 0xf10c                    |     fcn_0000f10c ();
    0x0000fe9c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000fea0 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_3);
    0x0000fea4 sw zero, 0x28(sp)             |     *(var_28h_2) = 0;
    0x0000fea8 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x0000feac lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x0000feb0 sw v1, 0x2c(sp)               |     *(var_2ch_3) = v1;
    0x0000feb4 sw v0, 0x24(sp)               |     *(var_24h_3) = v0;
    0x0000feb8 sw s5, 0x20(sp)               |     *(var_20h_2) = s5;
    0x0000febc sw s4, 0x1c(sp)               |     *(var_1ch_2) = s4;
    0x0000fec0 sw s1, 0x18(sp)               |     *(var_18h_3) = s1;
    0x0000fec4 sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x0000fec8 sw s3, 0x14(sp)               |     *(var_14h_2) = s3;
    0x0000fecc addiu a2, sp, 0x44            |     a2 = sp + 0x44;
    0x0000fed0 addiu a1, sp, 0x40            |     a1 = sp + 0x40;
                                             |     /* str.Enter_passphrase_to_be_deleted:_ */
    0x0000fed4 addiu a0, a0, -0x3c90         |     a0 += -0x3c90;
    0x0000fed8 bal 0xab80                    |     sym_tools_get_key ();
    0x0000fedc sw v0, 0x48(sp)               |     *(var_48h_3) = v0;
    0x0000fee0 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v0 < 0) {
    0x0000fee4 bltz v0, 0xfd64               |         goto label_12;
                                             |     }
    0x0000fee8 lw v0, 0x44(sp)               |     v0 = *(var_44h_3);
    0x0000feec lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x0000fef0 lw a3, 0x40(sp)               |     a3 = *(var_40h_2);
    0x0000fef4 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_3);
    0x0000fef8 addiu a2, zero, -1            |     a2 = -1;
    0x0000fefc move a1, zero                 |     a1 = 0;
    0x0000ff00 sw zero, 0x14(sp)             |     *(var_14h_2) = 0;
    0x0000ff04 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000ff08 jalr t9                       |     t9 ();
    0x0000ff0c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000ff10 move a0, v0                   |     a0 = v0;
    0x0000ff14 lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
    0x0000ff18 sw v0, 0x48(sp)               |     *(var_48h_3) = v0;
    0x0000ff1c bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x0000ff20 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000ff24 lw t9, -0x7f94(gp)            |     t9 = sym.check_signal;
    0x0000ff28 addiu a0, sp, 0x48            |     a0 = sp + 0x48;
    0x0000ff2c bal 0x88bc                    |     sym_check_signal ();
    0x0000ff30 lw a0, 0x48(sp)               |     a0 = *(var_48h_3);
    0x0000ff34 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (a0 < 0) {
    0x0000ff38 bltz a0, 0xfd64               |         goto label_12;
                                             |     }
    0x0000ff3c lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x0000ff40 addiu a1, zero, 1             |     a1 = 1;
    0x0000ff44 bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x0000ff48 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000ff4c lw v1, 0x48(sp)               |     v1 = *(var_48h_3);
    0x0000ff50 addiu a3, zero, 0x62c         |     a3 = 0x62c;
    0x0000ff54 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x0000ff58 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000ff5c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0000ff60 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Keyslot__d_is_selected_for_deletion. */
    0x0000ff64 addiu v0, v0, -0x3c6c         |     v0 += -0x3c6c;
    0x0000ff68 sw v1, 0x14(sp)               |     *(var_14h_2) = v1;
    0x0000ff6c sw v1, 0x24(s1)               |     *((s1 + 9)) = v1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0000ff70 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0000ff74 addiu a1, zero, 2             |     a1 = 2;
    0x0000ff78 move a0, zero                 |     a0 = 0;
    0x0000ff7c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000ff80 bal 0x88f0                    |     sym_clogger ();
    0x0000ff84 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000ff88 lw a1, 0x24(s1)               |     a1 = *((s1 + 9));
    0x0000ff8c lw t9, -0x7c4c(gp)            |     t9 = sym.imp.crypt_keyslot_status;
    0x0000ff90 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_3);
    0x0000ff94 jalr t9                       |     t9 ();
    0x0000ff98 addiu v1, zero, 3             |     v1 = 3;
    0x0000ff9c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0000ffa0 beq v0, v1, 0xffe0            |     
                                             |     while (v0 != 0) {
    0x0000ffa4 lw t9, -0x7d30(gp)            |         t9 = sym.imp.crypt_keyslot_destroy;
    0x0000ffa8 lw a1, 0x24(s1)               |         a1 = *((s1 + 9));
    0x0000ffac lw a0, 0x3c(sp)               |         a0 = *(var_3ch_3);
    0x0000ffb0 jalr t9                       |         t9 ();
    0x0000ffb4 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000ffb8 lw a0, 0x24(s1)               |         a0 = *((s1 + 9));
    0x0000ffbc addiu a1, zero, 2             |         a1 = 2;
    0x0000ffc0 lw t9, -0x7fb8(gp)            |         t9 = sym.tools_keyslot_msg;
    0x0000ffc4 sw v0, 0x48(sp)               |         *(var_48h_3) = v0;
    0x0000ffc8 bal 0x9560                    |         sym_tools_keyslot_msg ();
    0x0000ffcc lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000ffd0 b 0xfd64                      |         goto label_12;
                                             | label_80:
    0x0000ffd4 lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x0000ffd8 lw a0, (v0)                   |         a0 = *(v0);
    0x0000ffdc b 0xfe14                      |         goto label_13;
    0x0000ffe0 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x0000ffe4 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0000ffe8 lw t9, -0x7fac(gp)            |         t9 = sym.yesDialog;
                                             |         /* str.Operation_aborted__the_keyslot_was_NOT_wiped._n */
    0x0000ffec addiu a1, a1, -0x3c44         |         a1 += -0x3c44;
                                             |         /* str.This_is_the_last_keyslot._Device_will_become_unusable_after_purging_this_key. */
    0x0000fff0 addiu a0, a0, -0x3c14         |         a0 += -0x3c14;
    0x0000fff4 bal 0x9020                    |         sym_yesDialog ();
    0x0000fff8 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0000fffc bnez v0, 0xffa4               |         
                                             |     }
    0x00010000 addiu v0, zero, -1            |     v0 = -1;
    0x00010004 sw v0, 0x48(sp)               |     *(var_48h_3) = v0;
    0x00010008 b 0xfd64                      |     goto label_12;
                                             | label_78:
    0x0001000c lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00010010 jalr t9                       |     t9 ();
    0x00010014 nop                           |     
    0x00010018 lui gp, 3                     |     
    0x0001001c addiu gp, gp, -0x73f8         |     
    0x00010020 addu gp, gp, t9               |     gp += t9;
    0x00010024 addiu sp, sp, -0xa0           |     
    0x00010028 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001002c sw s2, 0x88(sp)               |     *(var_88h_2) = s2;
    0x00010030 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x00010034 sw s1, 0x84(sp)               |     *(var_84h_2) = s1;
    0x00010038 lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x0001003c lw v1, 0x20f0(s2)             |     v1 = *((s2 + 2108));
    0x00010040 lw a1, 0x2230(v0)             |     a1 = *((v0 + 2188));
    0x00010044 lw v0, (s1)                   |     v0 = *(s1);
    0x00010048 lw a2, (v1)                   |     a2 = *(v1);
    0x0001004c lw t9, -0x7dd8(gp)            |     t9 = sym.imp.crypt_init_data_device;
    0x00010050 sw gp, 0x30(sp)               |     *(var_30h_4) = gp;
    0x00010054 sw s0, 0x80(sp)               |     *(var_80h_2) = s0;
    0x00010058 sw ra, 0x9c(sp)               |     *(var_9ch_2) = ra;
    0x0001005c sw s6, 0x98(sp)               |     *(var_98h_2) = s6;
    0x00010060 sw s5, 0x94(sp)               |     *(var_94h_2) = s5;
    0x00010064 sw s4, 0x90(sp)               |     *(var_90h_2) = s4;
    0x00010068 sw s3, 0x8c(sp)               |     *(var_8ch_2) = s3;
                                             |     if (a1 != 0) {
    0x0001006c movz a1, a2, a1               |         a1 = a2;
                                             |     }
    0x00010070 addiu a0, sp, 0x3c            |     a0 = sp + 0x3c;
    0x00010074 sw v0, 0x7c(sp)               |     *(var_7ch_3) = v0;
    0x00010078 sw zero, 0x3c(sp)             |     *(var_3ch_4) = 0;
    0x0001007c jalr t9                       |     t9 ();
    0x00010080 nop                           |     
    0x00010084 move s0, v0                   |     s0 = v0;
    0x00010088 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x0001008c beqz v0, 0x100d8              |     
                                             |     while (1) {
                                             | label_14:
    0x00010090 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
                                             | label_17:
    0x00010094 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_4);
    0x00010098 jalr t9                       |         t9 ();
    0x0001009c lw a0, 0x7c(sp)               |         a0 = *(var_7ch_3);
    0x000100a0 lw v1, (s1)                   |         v1 = *(s1);
    0x000100a4 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000100a8 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x000100ac bne a0, v1, 0x103e0           |             goto label_81;
                                             |         }
    0x000100b0 lw ra, 0x9c(sp)               |         ra = *(var_9ch_2);
    0x000100b4 lw s6, 0x98(sp)               |         s6 = *(var_98h_2);
    0x000100b8 lw s5, 0x94(sp)               |         s5 = *(var_94h_2);
    0x000100bc lw s4, 0x90(sp)               |         s4 = *(var_90h_2);
    0x000100c0 lw s3, 0x8c(sp)               |         s3 = *(var_8ch_2);
    0x000100c4 lw s2, 0x88(sp)               |         s2 = *(var_88h_2);
    0x000100c8 lw s1, 0x84(sp)               |         s1 = *(var_84h_2);
    0x000100cc lw s0, 0x80(sp)               |         s0 = *(var_80h_2);
    0x000100d0 addiu sp, sp, 0xa0            |         
    0x000100d4 jr ra                         |         return v0;
    0x000100d8 lw a1, -0x7f8c(gp)            |         a1 = sym.quiet_log;
    0x000100dc lw t9, -0x7c90(gp)            |         t9 = sym.imp.crypt_set_log_callback;
    0x000100e0 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_4);
    0x000100e4 lw s5, -0x7fdc(gp)            |         s5 = *(gp);
    0x000100e8 move a2, zero                 |         a2 = 0;
    0x000100ec jalr t9                       |         t9 ();
    0x000100f0 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000100f4 lw s3, -0x7fa8(gp)            |         s3 = *(gp);
    0x000100f8 addiu s3, s3, -0x1d10         |         s3 += -0x1d10;
    0x000100fc move t9, s3                   |         t9 = s3;
    0x00010100 lw a0, 0x318(s5)              |         a0 = *((s5 + 198));
    0x00010104 bal 0xe2f0                    |         fcn_0000e2f0 ();
    0x00010108 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x0001010c lw a0, 0x3c(sp)               |         a0 = *(var_3ch_4);
    0x00010110 move a2, zero                 |         a2 = 0;
    0x00010114 lw t9, -0x7d9c(gp)            |         t9 = sym.imp.crypt_load;
    0x00010118 move a1, v0                   |         a1 = v0;
    0x0001011c jalr t9                       |         t9 ();
    0x00010120 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x00010124 lw a0, 0x3c(sp)               |         a0 = *(var_3ch_4);
    0x00010128 move s4, v0                   |         s4 = v0;
    0x0001012c lw t9, -0x7c90(gp)            |         t9 = sym.imp.crypt_set_log_callback;
    0x00010130 lw a1, -0x7f7c(gp)            |         a1 = sym.tool_log;
    0x00010134 move a2, zero                 |         a2 = 0;
    0x00010138 jalr t9                       |         t9 ();
    0x0001013c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (s4 == 0) {
    0x00010140 beqz s4, 0x101c0              |             goto label_82;
                                             |         }
    0x00010144 lw v0, 0x20f0(s2)             |         v0 = *((s2 + 2108));
    0x00010148 lw t9, -0x7f78(gp)            |         t9 = sym.tools_detect_signatures;
    0x0001014c move a2, zero                 |         a2 = 0;
    0x00010150 lw a0, (v0)                   |         a0 = *(v0);
    0x00010154 addiu a1, zero, 1             |         a1 = 1;
    0x00010158 bal 0xa098                    |         sym_tools_detect_signatures ();
    0x0001015c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 < 0) {
    0x00010160 bltz v0, 0x101b8              |             goto label_83;
                                             |         }
    0x00010164 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x00010168 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0001016c lw t9, -0x7fac(gp)            |         t9 = sym.yesDialog;
                                             |         /* str.Operation_aborted._n */
    0x00010170 addiu a1, a1, -0x3ec0         |         a1 += -0x3ec0;
                                             |         /* str.Really_try_to_repair_LUKS_device_header_ */
    0x00010174 addiu a0, a0, -0x3b98         |         a0 += -0x3b98;
    0x00010178 bal 0x9020                    |         sym_yesDialog ();
    0x0001017c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |         if (v0 != 0) {
    0x00010180 bnez v0, 0x1018c              |             goto label_84;
                                             |         }
                                             | label_15:
    0x00010184 addiu s0, zero, -0x16         |         s0 = -0x16;
    0x00010188 b 0x10090                     |         
                                             |     }
                                             | label_84:
    0x0001018c move t9, s3                   |     t9 = s3;
    0x00010190 lw a0, 0x318(s5)              |     a0 = *((s5 + 198));
    0x00010194 bal 0xe2f0                    |     fcn_0000e2f0 ();
    0x00010198 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x0001019c lw a0, 0x3c(sp)               |     a0 = *(var_3ch_4);
    0x000101a0 move a2, zero                 |     a2 = 0;
    0x000101a4 lw t9, -0x7d04(gp)            |     t9 = sym.imp.crypt_repair;
    0x000101a8 move a1, v0                   |     a1 = v0;
    0x000101ac jalr t9                       |     t9 ();
    0x000101b0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 != 0) {
    0x000101b4 beqz v0, 0x101ec              |         
                                             | label_83:
    0x000101b8 move s0, v0                   |         s0 = v0;
    0x000101bc b 0x10090                     |         goto label_14;
                                             | label_82:
    0x000101c0 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x000101c4 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000101c8 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.No_known_problems_detected_for_LUKS_header. */
    0x000101cc addiu v0, v0, -0x3bc4         |         v0 += -0x3bc4;
    0x000101d0 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x000101d4 addiu a3, zero, 0x43b         |         a3 = 0x43b;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000101d8 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x000101dc addiu a1, zero, 2             |         a1 = 2;
    0x000101e0 move a0, zero                 |         a0 = 0;
    0x000101e4 bal 0x88f0                    |         sym_clogger ();
    0x000101e8 lw gp, 0x30(sp)               |         gp = *(var_30h_4);
                                             |     }
    0x000101ec lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x000101f0 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_4);
    0x000101f4 jalr t9                       |     t9 ();
    0x000101f8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 == 0) {
    0x000101fc beqz v0, 0x10090              |         goto label_14;
                                             |     }
    0x00010200 lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x00010204 lw a0, 0x3c(sp)               |     a0 = *(var_3ch_4);
    0x00010208 jalr t9                       |     t9 ();
    0x0001020c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x00010210 move a0, v0                   |     a0 = v0;
    0x00010214 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010218 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'LUKS2' */
    0x0001021c addiu a1, a1, -0x670          |     a1 += -0x670;
    0x00010220 jalr t9                       |     t9 ();
    0x00010224 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 != 0) {
    0x00010228 bnez v0, 0x10090              |         goto label_14;
                                             |     }
    0x0001022c lw s2, 0x3c(sp)               |     s2 = *(var_3ch_4);
    0x00010230 lw t9, -0x7e04(gp)            |     t9 = sym.imp.crypt_reencrypt_status;
    0x00010234 addiu v0, zero, 8             |     v0 = 8;
    0x00010238 sw zero, 0x48(sp)             |     *(var_48h_6) = 0;
    0x0001023c sw zero, 0x4c(sp)             |     *(var_4ch_6) = 0;
    0x00010240 sw zero, 0x50(sp)             |     *(var_50h_5) = 0;
    0x00010244 sw zero, 0x54(sp)             |     *(var_54h_5) = 0;
    0x00010248 sw zero, 0x58(sp)             |     *(var_58h_4) = 0;
    0x0001024c sw zero, 0x5c(sp)             |     *(var_5ch_4) = 0;
    0x00010250 sw zero, 0x60(sp)             |     *(var_60h_4) = 0;
    0x00010254 sw zero, 0x64(sp)             |     *(var_64h_4) = 0;
    0x00010258 sw zero, 0x68(sp)             |     *(var_68h_5) = 0;
    0x0001025c sw zero, 0x6c(sp)             |     *(var_6ch_4) = 0;
    0x00010260 sw zero, 0x70(sp)             |     *(var_70h_3) = 0;
    0x00010264 move a1, zero                 |     a1 = 0;
    0x00010268 move a0, s2                   |     a0 = s2;
    0x0001026c sw zero, 0x44(sp)             |     *(var_44h_6) = 0;
    0x00010270 sw v0, 0x74(sp)               |     *(var_74h_5) = v0;
    0x00010274 jalr t9                       |     t9 ();
    0x00010278 sltiu v1, v0, 2               |     v1 = (v0 < 2) ? 1 : 0;
    0x0001027c lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v1 != 0) {
    0x00010280 bnez v1, 0x103b8              |         goto label_85;
                                             |     }
    0x00010284 addiu v1, zero, 2             |     v1 = 2;
    0x00010288 addiu s0, zero, -0x16         |     s0 = -0x16;
                                             |     if (v0 == v1) {
    0x0001028c bnel v0, v1, 0x10090          |         goto label_14;
                                             |     }
    0x00010290 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010294 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00010298 lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
                                             |     /* str.Operation_aborted._n */
    0x0001029c addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
                                             |     /* str.Really_proceed_with_LUKS2_reencryption_recovery_ */
    0x000102a0 addiu a0, a0, -0x3ae8         |     a0 += -0x3ae8;
    0x000102a4 bal 0x9020                    |     sym_yesDialog ();
    0x000102a8 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 == 0) {
    0x000102ac beqz v0, 0x10184              |         goto label_15;
                                             |     }
                                             | label_16:
    0x000102b0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000102b4 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x000102b8 move a0, zero                 |     a0 = 0;
    0x000102bc lw s4, 0x2218(v0)             |     s4 = *((v0 + 2182));
    0x000102c0 lw s5, 0x221c(v0)             |     s5 = *((v0 + 2183));
    0x000102c4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000102c8 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x000102cc lw s0, 0x2224(v0)             |     s0 = *((v0 + 2185));
    0x000102d0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000102d4 lw s3, 0x22c8(v0)             |     s3 = *((v0 + 2226));
    0x000102d8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000102dc lw s6, 0x21e0(v0)             |     s6 = *((v0 + 2168));
    0x000102e0 bal 0xf10c                    |     fcn_0000f10c ();
    0x000102e4 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000102e8 sw s0, 0x18(sp)               |     *(var_18h_6) = s0;
    0x000102ec sw s2, 0x2c(sp)               |     *(var_2ch_6) = s2;
    0x000102f0 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x000102f4 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x000102f8 sw zero, 0x28(sp)             |     *(var_28h_5) = 0;
    0x000102fc sw v0, 0x24(sp)               |     *(var_24h_6) = v0;
    0x00010300 sw s6, 0x20(sp)               |     *(var_20h_5) = s6;
    0x00010304 sw s3, 0x1c(sp)               |     *(var_1ch_5) = s3;
    0x00010308 sw s4, 0x10(sp)               |     *(var_10h_3) = s4;
    0x0001030c sw s5, 0x14(sp)               |     *(var_14h_5) = s5;
    0x00010310 addiu a2, sp, 0x40            |     a2 = sp + 0x40;
    0x00010314 addiu a1, sp, 0x44            |     a1 = sp + 0x44;
                                             |     /* str.Enter_passphrase_for_reencryption_recovery:_ */
    0x00010318 addiu a0, a0, -0x3b18         |     a0 += -0x3b18;
    0x0001031c bal 0xab80                    |     sym_tools_get_key ();
    0x00010320 move s0, v0                   |     s0 = v0;
    0x00010324 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 < 0) {
    0x00010328 bltz v0, 0x10090              |         goto label_14;
                                             |     }
    0x0001032c lw s3, -0x7fdc(gp)            |     s3 = *(gp);
    0x00010330 lw v0, 0x40(sp)               |     v0 = *(var_40h_4);
    0x00010334 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x00010338 lw a3, 0x44(sp)               |     a3 = *(var_44h_6);
    0x0001033c lw a2, 0x24(s3)               |     a2 = *((s3 + 9));
    0x00010340 sw zero, 0x14(sp)             |     *(var_14h_5) = 0;
    0x00010344 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00010348 move a1, zero                 |     a1 = 0;
    0x0001034c move a0, s2                   |     a0 = s2;
    0x00010350 jalr t9                       |     t9 ();
    0x00010354 move s0, v0                   |     s0 = v0;
    0x00010358 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 >= 0) {
    0x0001035c bltz v0, 0x103a4              |         
    0x00010360 lw v0, 0x24(s3)               |         v0 = *((s3 + 9));
    0x00010364 lw t9, -0x7cec(gp)            |         t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00010368 addiu v1, sp, 0x48            |         v1 = sp + 0x48;
    0x0001036c lw a3, 0x40(sp)               |         a3 = *(var_40h_4);
    0x00010370 lw a2, 0x44(sp)               |         a2 = *(var_44h_6);
    0x00010374 sw v1, 0x20(sp)               |         *(var_20h_5) = v1;
    0x00010378 sw zero, 0x1c(sp)             |         *(var_1ch_5) = 0;
    0x0001037c sw zero, 0x18(sp)             |         *(var_18h_6) = 0;
    0x00010380 sw v0, 0x14(sp)               |         *(var_14h_5) = v0;
    0x00010384 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x00010388 move a1, zero                 |         a1 = 0;
    0x0001038c move a0, s2                   |         a0 = s2;
    0x00010390 jalr t9                       |         t9 ();
    0x00010394 slti s0, v0, 1                |         s0 = (v0 < 1) ? 1 : 0;
                                             |         if (s0 != 0) {
    0x00010398 movz v0, zero, s0             |             v0 = 0;
                                             |         }
    0x0001039c lw gp, 0x30(sp)               |         gp = *(var_30h_4);
    0x000103a0 move s0, v0                   |         s0 = v0;
                                             |     }
    0x000103a4 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x000103a8 lw a0, 0x44(sp)               |     a0 = *(var_44h_6);
    0x000103ac bal 0x6a20                    |     sym_crypt_safe_free ();
    0x000103b0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
    0x000103b4 b 0x10090                     |     goto label_14;
                                             | label_85:
    0x000103b8 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x000103bc lw t9, -0x7f74(gp)            |     t9 = sym.noDialog;
    0x000103c0 move a1, zero                 |     a1 = 0;
                                             |     /* str.Seems_device_does_not_require_reencryption_recovery._nDo_you_want_to_proceed_anyway_ */
    0x000103c4 addiu a0, a0, -0x3b6c         |     a0 += -0x3b6c;
    0x000103c8 bal 0x903c                    |     sym_noDialog ();
    0x000103cc move s0, v0                   |     s0 = v0;
    0x000103d0 lw gp, 0x30(sp)               |     gp = *(var_30h_4);
                                             |     if (v0 != 0) {
    0x000103d4 bnez v0, 0x102b0              |         goto label_16;
                                             |     }
    0x000103d8 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x000103dc b 0x10094                     |     goto label_17;
                                             | label_81:
    0x000103e0 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000103e4 jalr t9                       |     t9 ();
    0x000103e8 nop                           |     
    0x000103ec lui gp, 3                     |     
    0x000103f0 addiu gp, gp, -0x77cc         |     
    0x000103f4 addu gp, gp, t9               |     gp += t9;
    0x000103f8 addiu sp, sp, -0x98           |     
    0x000103fc lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010400 sw s1, 0x7c(sp)               |     *(var_7ch_4) = s1;
    0x00010404 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x00010408 sw s0, 0x78(sp)               |     *(var_78h_3) = s0;
    0x0001040c lw s0, -0x7bf0(gp)            |     s0 = *((gp - 7932));
    0x00010410 lw v1, 0x20f0(s1)             |     v1 = *((s1 + 2108));
    0x00010414 sw zero, 0x48(sp)             |     *(var_48h_4) = 0;
    0x00010418 lw v0, (s0)                   |     v0 = *(s0);
    0x0001041c lw t9, -0x7dd0(gp)            |     t9 = sym.imp.crypt_init_by_name_and_header;
    0x00010420 lw a2, 0x2230(a0)             |     a2 = *((a0 + 2188));
    0x00010424 lw a1, (v1)                   |     a1 = *(v1);
    0x00010428 sw gp, 0x30(sp)               |     *(var_30h_5) = gp;
    0x0001042c sw ra, 0x94(sp)               |     *(var_94h_3) = ra;
    0x00010430 sw s6, 0x90(sp)               |     *(var_90h_3) = s6;
    0x00010434 sw s5, 0x8c(sp)               |     *(var_8ch_3) = s5;
    0x00010438 sw s4, 0x88(sp)               |     *(var_88h_3) = s4;
    0x0001043c sw s3, 0x84(sp)               |     *(var_84h_3) = s3;
    0x00010440 sw s2, 0x80(sp)               |     *(var_80h_3) = s2;
    0x00010444 addiu a0, sp, 0x4c            |     a0 = sp + 0x4c;
    0x00010448 sw v0, 0x74(sp)               |     *(var_74h_3) = v0;
    0x0001044c sw zero, 0x4c(sp)             |     *(var_4ch_4) = 0;
    0x00010450 jalr t9                       |     t9 ();
    0x00010454 nop                           |     
    0x00010458 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x0001045c beqz v0, 0x104ac              |     
                                             |     while (v0 != 0) {
                                             | label_19:
    0x00010460 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
                                             | label_18:
    0x00010464 lw a0, 0x4c(sp)               |         a0 = *(var_4ch_4);
    0x00010468 sw v0, 0x3c(sp)               |         *(var_3ch_5) = v0;
    0x0001046c jalr t9                       |         t9 ();
    0x00010470 lw a0, 0x74(sp)               |         a0 = *(var_74h_3);
    0x00010474 lw v1, (s0)                   |         v1 = *(s0);
    0x00010478 lw gp, 0x30(sp)               |         gp = *(var_30h_5);
    0x0001047c lw v0, 0x3c(sp)               |         v0 = *(var_3ch_5);
                                             |         if (a0 != v1) {
    0x00010480 bne a0, v1, 0x106ec           |             goto label_86;
                                             |         }
    0x00010484 lw ra, 0x94(sp)               |         ra = *(var_94h_3);
    0x00010488 lw s6, 0x90(sp)               |         s6 = *(var_90h_3);
    0x0001048c lw s5, 0x8c(sp)               |         s5 = *(var_8ch_3);
    0x00010490 lw s4, 0x88(sp)               |         s4 = *(var_88h_3);
    0x00010494 lw s3, 0x84(sp)               |         s3 = *(var_84h_3);
    0x00010498 lw s2, 0x80(sp)               |         s2 = *(var_80h_3);
    0x0001049c lw s1, 0x7c(sp)               |         s1 = *(var_7ch_4);
    0x000104a0 lw s0, 0x78(sp)               |         s0 = *(var_78h_3);
    0x000104a4 addiu sp, sp, 0x98            |         
    0x000104a8 jr ra                         |         return v0;
    0x000104ac lw v0, 0x20f0(s1)             |         v0 = *((s1 + 2108));
    0x000104b0 lw t9, -0x7d1c(gp)            |         t9 = sym.imp.crypt_get_active_device;
    0x000104b4 lw a0, 0x4c(sp)               |         a0 = *(var_4ch_4);
    0x000104b8 lw a1, (v0)                   |         a1 = *(v0);
    0x000104bc addiu a2, sp, 0x50            |         a2 = sp + 0x50;
    0x000104c0 jalr t9                       |         t9 ();
    0x000104c4 lw gp, 0x30(sp)               |         gp = *(var_30h_5);
    0x000104c8 bnez v0, 0x10460              |         
                                             |     }
    0x000104cc lw v0, 0x68(sp)               |     v0 = *(var_68h_4);
    0x000104d0 andi v0, v0, 0x800            |     v0 &= 0x800;
    0x000104d4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 == 0) {
    0x000104d8 beqz v0, 0x10670              |         goto label_87;
                                             |     }
    0x000104dc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000104e0 lw v0, 0x218c(v0)             |     v0 = *((v0 + 2147));
    0x000104e4 lw t9, -0x7bb8(gp)            |     t9 = sym.imp.crypt_activate_by_token;
                                             |     if (v0 != 0) {
    0x000104e8 bnez v0, 0x106b8              |         goto label_88;
                                             |     }
    0x000104ec lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000104f0 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_4);
    0x000104f4 lw a2, 0x20(v0)               |     a2 = *((v0 + 8));
    0x000104f8 addiu v0, zero, 0x800         |     v0 = 0x800;
    0x000104fc move a3, zero                 |     a3 = 0;
    0x00010500 move a1, zero                 |     a1 = 0;
    0x00010504 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00010508 jalr t9                       |     t9 ();
    0x0001050c lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x00010510 move a0, v0                   |     a0 = v0;
    0x00010514 sw v0, 0x3c(sp)               |     *(var_3ch_5) = v0;
    0x00010518 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x0001051c addiu a1, zero, 1             |     a1 = 1;
    0x00010520 bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x00010524 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_5);
    0x00010528 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
                                             |     if (v0 >= 0) {
    0x0001052c bgez v0, 0x10540              |         goto label_89;
                                             |     }
    0x00010530 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010534 lw v1, 0x2208(v1)             |     v1 = *((v1 + 2178));
    0x00010538 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             |     if (v1 != 0) {
    0x0001053c bnez v1, 0x10464              |         goto label_18;
                                             |     }
                                             | label_89:
    0x00010540 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010544 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00010548 move a0, zero                 |     a0 = 0;
    0x0001054c lw s2, 0x2218(v0)             |     s2 = *((v0 + 2182));
    0x00010550 lw s3, 0x221c(v0)             |     s3 = *((v0 + 2183));
    0x00010554 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010558 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x0001055c lw s4, 0x2224(v0)             |     s4 = *((v0 + 2185));
    0x00010560 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010564 lw s5, 0x22c8(v0)             |     s5 = *((v0 + 2226));
    0x00010568 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001056c lw s6, 0x21e0(v0)             |     s6 = *((v0 + 2168));
    0x00010570 bal 0xf10c                    |     fcn_0000f10c ();
    0x00010574 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x00010578 lw v1, 0x4c(sp)               |     v1 = *(var_4ch_4);
    0x0001057c sw zero, 0x28(sp)             |     *(var_28h_4) = 0;
    0x00010580 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x00010584 sw v1, 0x2c(sp)               |     *(var_2ch_5) = v1;
    0x00010588 sw v0, 0x24(sp)               |     *(var_24h_5) = v0;
    0x0001058c sw s6, 0x20(sp)               |     *(var_20h_4) = s6;
    0x00010590 sw s5, 0x1c(sp)               |     *(var_1ch_4) = s5;
    0x00010594 sw s4, 0x18(sp)               |     *(var_18h_5) = s4;
    0x00010598 sw s2, 0x10(sp)               |     *(var_10h_5) = s2;
    0x0001059c sw s3, 0x14(sp)               |     *(var_14h_4) = s3;
    0x000105a0 addiu a2, sp, 0x44            |     a2 = sp + 0x44;
    0x000105a4 addiu a1, sp, 0x48            |     a1 = sp + 0x48;
    0x000105a8 move a0, zero                 |     a0 = 0;
    0x000105ac bal 0xab80                    |     sym_tools_get_key ();
    0x000105b0 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
                                             |     if (v0 < 0) {
    0x000105b4 bltz v0, 0x10460              |         goto label_19;
                                             |     }
    0x000105b8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000105bc lw a3, 0x48(sp)               |     a3 = *(var_48h_4);
    0x000105c0 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x000105c4 lw a2, 0x24(v0)               |     a2 = *((v0 + 9));
    0x000105c8 addiu v0, zero, 0x800         |     v0 = 0x800;
    0x000105cc sw v0, 0x14(sp)               |     *(var_14h_4) = v0;
    0x000105d0 lw v0, 0x44(sp)               |     v0 = *(var_44h_5);
    0x000105d4 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_4);
    0x000105d8 move a1, zero                 |     a1 = 0;
    0x000105dc sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x000105e0 jalr t9                       |     t9 ();
    0x000105e4 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x000105e8 move a0, v0                   |     a0 = v0;
    0x000105ec lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
    0x000105f0 sw v0, 0x3c(sp)               |     *(var_3ch_5) = v0;
    0x000105f4 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x000105f8 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x000105fc lw v0, 0x3c(sp)               |     v0 = *(var_3ch_5);
    0x00010600 addiu a1, zero, 1             |     a1 = 1;
    0x00010604 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00010608 move a0, v0                   |     a0 = v0;
    0x0001060c bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x00010610 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x00010614 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00010618 lw a0, 0x48(sp)               |     a0 = *(var_48h_4);
    0x0001061c bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00010620 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x00010624 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00010628 lw v1, 0x2120(a0)             |     v1 = *((a0 + 2120));
    0x0001062c lw a0, 0x2124(a0)             |     a0 = *((a0 + 2121));
    0x00010630 or a1, v1, a0                 |     a1 = v1 | a0;
    0x00010634 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_5);
                                             |     if (a1 != 0) {
    0x00010638 beqz a1, 0x10658              |         
    0x0001063c lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x00010640 sll a2, a0, 0x17              |         a2 = a0 << 0x17;
    0x00010644 srl v1, v1, 9                 |         v1 >>= 9;
    0x00010648 or v1, v1, a2                 |         v1 |= a2;
    0x0001064c srl a0, a0, 9                 |         a0 >>= 9;
    0x00010650 sw v1, 0x2200(a1)             |         *((a1 + 2176)) = v1;
    0x00010654 sw a0, 0x2204(a1)             |         *((a1 + 2177)) = a0;
                                             |     }
    0x00010658 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             |     if (v0 < 0) {
    0x0001065c bltz v0, 0x10464              |         goto label_18;
                                             |     }
    0x00010660 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     do {
    0x00010664 lw a2, 0x2200(v0)             |         a2 = *((v0 + 2176));
    0x00010668 lw a3, 0x2204(v0)             |         a3 = *((v0 + 2177));
    0x0001066c b 0x1069c                     |         goto label_90;
                                             | label_87:
    0x00010670 lw a2, 0x2120(v0)             |         a2 = *((v0 + 2120));
    0x00010674 lw a3, 0x2124(v0)             |         a3 = *((v0 + 2121));
    0x00010678 or v0, a2, a3                 |         v0 = a2 | a3;
    0x0001067c lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00010680 beqz v0, 0x10664              |         
                                             |     } while (v0 == 0);
    0x00010684 sll v1, a3, 0x17              |     v1 = a3 << 0x17;
    0x00010688 srl a2, a2, 9                 |     a2 >>= 9;
    0x0001068c or a2, v1, a2                 |     a2 = v1 | a2;
    0x00010690 srl a3, a3, 9                 |     a3 >>= 9;
    0x00010694 sw a2, 0x2200(v0)             |     *((v0 + 2176)) = a2;
    0x00010698 sw a3, 0x2204(v0)             |     *((v0 + 2177)) = a3;
                                             | label_90:
    0x0001069c lw v0, 0x20f0(s1)             |     v0 = *((s1 + 2108));
    0x000106a0 lw t9, -0x7c28(gp)            |     t9 = sym.imp.crypt_resize;
    0x000106a4 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_4);
    0x000106a8 lw a1, (v0)                   |     a1 = *(v0);
    0x000106ac jalr t9                       |     t9 ();
    0x000106b0 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x000106b4 b 0x10460                     |     goto label_19;
                                             | label_88:
    0x000106b8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000106bc lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000106c0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Resize_of_active_device_requires_volume_key_in_keyring_but___disable_keyring_option_is_set. */
    0x000106c4 addiu v0, v0, -0x3ab4         |     v0 += -0x3ab4;
    0x000106c8 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x000106cc addiu a3, zero, 0x27d         |     a3 = 0x27d;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000106d0 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000106d4 addiu a1, zero, 1             |     a1 = 1;
    0x000106d8 move a0, zero                 |     a0 = 0;
    0x000106dc bal 0x88f0                    |     sym_clogger ();
    0x000106e0 lw gp, 0x30(sp)               |     gp = *(var_30h_5);
    0x000106e4 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x000106e8 b 0x10460                     |     goto label_19;
                                             | label_86:
    0x000106ec lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000106f0 jalr t9                       |     t9 ();
    0x000106f4 nop                           |     
    0x000106f8 lui gp, 3                     |     
    0x000106fc addiu gp, gp, -0x7ad8         |     
    0x00010700 addu gp, gp, t9               |     gp += t9;
    0x00010704 addiu sp, sp, -0x130          |     
    0x00010708 sw s1, 0x10c(sp)              |     *(var_10ch) = s1;
    0x0001070c sw s0, 0x108(sp)              |     *(var_108h) = s0;
    0x00010710 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x00010714 lw s0, -0x7bf0(gp)            |     s0 = *((gp - 7932));
    0x00010718 sw s3, 0x114(sp)              |     *(var_114h) = s3;
    0x0001071c lw s3, -0x7fdc(gp)            |     s3 = *(gp);
    0x00010720 lw v1, (s0)                   |     v1 = *(s0);
    0x00010724 lw v0, 0x2160(s1)             |     v0 = *((s1 + 2136));
    0x00010728 sw gp, 0x30(sp)               |     *(var_30h_6) = gp;
    0x0001072c sw s2, 0x110(sp)              |     *(var_110h) = s2;
    0x00010730 sw ra, 0x12c(sp)              |     *(var_12ch) = ra;
    0x00010734 sw fp, 0x128(sp)              |     *(var_128h) = fp;
    0x00010738 sw s7, 0x124(sp)              |     *(var_124h) = s7;
    0x0001073c sw s6, 0x120(sp)              |     *(var_120h) = s6;
    0x00010740 sw s5, 0x11c(sp)              |     *(var_11ch) = s5;
    0x00010744 sw s4, 0x118(sp)              |     *(var_118h) = s4;
    0x00010748 sw v1, 0x104(sp)              |     *(var_104h) = v1;
    0x0001074c lw s2, 0x318(s3)              |     s2 = *((s3 + 198));
                                             |     if (v0 == 0) {
    0x00010750 beqz v0, 0x10ab8              |         goto label_91;
                                             |     }
    0x00010754 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (s2 == 0) {
    0x00010758 beqz s2, 0x10b64              |         goto label_92;
                                             |     }
    0x0001075c lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             | label_27:
    0x00010760 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.luks */
    0x00010764 addiu a1, s4, -0x402c         |     a1 = s4 + -0x402c;
    0x00010768 move a0, s2                   |     a0 = s2;
    0x0001076c jalr t9                       |     t9 ();
    0x00010770 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010774 bnez v0, 0x10918              |     
                                             |     while (v0 == 0) {
                                             | label_20:
    0x00010778 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0001077c lw v0, 0x20ec(v0)             |         v0 = *((v0 + 2107));
    0x00010780 slti v0, v0, 2                |         v0 = (v0 < 2) ? 1 : 0;
    0x00010784 lw v1, 0x2160(s1)             |         v1 = *((s1 + 2136));
                                             |         if (v0 == 0) {
    0x00010788 beqz v0, 0x10ac8              |             goto label_93;
                                             |         }
    0x0001078c lw s1, -0x7fdc(gp)            |         s1 = *(gp);
    0x00010790 lw v0, 0x21bc(s1)             |         v0 = *((s1 + 2159));
    0x00010794 sw zero, 0x64(sp)             |         *(var_64h_3) = 0;
                                             |         if (v0 == 0) {
    0x00010798 bnel v0, zero, 0x109bc        |             goto label_94;
                                             |         }
    0x0001079c lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         if (v1 == 0) {
    0x000107a0 beqz v1, 0x1098c              |             goto label_36;
                                             |         }
    0x000107a4 sw zero, 0x64(sp)             |         *(var_64h_3) = 0;
    0x000107a8 sw zero, 0x68(sp)             |         *(var_68h_3) = 0;
    0x000107ac sw zero, 0x6c(sp)             |         *(var_6ch_3) = 0;
    0x000107b0 sw zero, 0x74(sp)             |         *(var_74h_4) = 0;
                                             | label_22:
    0x000107b4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000107b8 lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x000107bc lw s1, (v0)                   |         s1 = *(v0);
                                             | label_28:
    0x000107c0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000107c4 lw t9, -0x7dd0(gp)            |         t9 = sym.imp.crypt_init_by_name_and_header;
    0x000107c8 move a1, s1                   |         a1 = s1;
    0x000107cc lw a2, 0x2230(v0)             |         a2 = *((v0 + 2188));
    0x000107d0 addiu a0, sp, 0x64            |         a0 = sp + 0x64;
    0x000107d4 jalr t9                       |         t9 ();
    0x000107d8 sw v0, 0x70(sp)               |         *(var_70h_2) = v0;
    0x000107dc lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 == 0) {
    0x000107e0 bnez v0, 0x10890              |             
    0x000107e4 lw v0, 0x6c(sp)               |             v0 = *(var_6ch_3);
    0x000107e8 lui v1, 4                     |             v1 = 0x40000;
    0x000107ec or v0, v0, v1                 |             v0 |= v1;
    0x000107f0 sw v0, 0x6c(sp)               |             *(var_6ch_3) = v0;
                                             | label_25:
    0x000107f4 lw s3, -0x7fdc(gp)            |             s3 = *(gp);
                                             | label_24:
    0x000107f8 lw t9, -0x7fa8(gp)            |             t9 = *(gp);
    0x000107fc addiu t9, t9, -0x3f10         |             t9 += -0x3f10;
    0x00010800 addiu a0, sp, 0x6c            |             a0 = sp + 0x6c;
    0x00010804 bal 0xc0f0                    |             fcn_0000c0f0 ();
    0x00010808 lw v0, 0x223c(s3)             |             v0 = *((s3 + 2191));
    0x0001080c lw gp, 0x30(sp)               |             gp = *(var_30h_6);
                                             |             if (v0 == 0) {
    0x00010810 beqz v0, 0x10fdc              |                 goto label_95;
                                             |             }
    0x00010814 lw t9, -0x7d6c(gp)            |             t9 = sym.imp.crypt_get_volume_key_size;
    0x00010818 lw a0, 0x64(sp)               |             a0 = *(var_64h_3);
    0x0001081c jalr t9                       |             t9 ();
    0x00010820 move s2, v0                   |             s2 = v0;
    0x00010824 lw gp, 0x30(sp)               |             gp = *(var_30h_6);
                                             |             if (v0 == 0) {
    0x00010828 bnez v0, 0x10848              |                 
    0x0001082c lw v0, -0x7fdc(gp)            |                 v0 = *(gp);
    0x00010830 lw s2, 0x222c(v0)             |                 s2 = *((v0 + 2187));
    0x00010834 lw v0, -0x7fd8(gp)            |                 v0 = *((gp - 8182));
                                             |                 if (s2 == 0) {
    0x00010838 beqz s2, 0x11540              |                     goto label_96;
                                             |                 }
                                             |                 if (s2 < 0) {
    0x0001083c bltzl s2, 0x10c20             |                     goto label_97;
                                             |                 }
    0x00010840 addiu s2, s2, 7               |                 s2 += 7;
    0x00010844 sra s2, s2, 3                 |                 s2 >>= 3;
                                             |             }
                                             | label_30:
    0x00010848 lw t9, -0x7f70(gp)            |             t9 = sym.tools_read_mk;
    0x0001084c lw a0, 0x223c(s3)             |             a0 = *((s3 + 2191));
    0x00010850 move a2, s2                   |             a2 = s2;
    0x00010854 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x00010858 bal 0xb14c                    |             sym_tools_read_mk ();
    0x0001085c sw v0, 0x70(sp)               |             *(var_70h_2) = v0;
    0x00010860 lw gp, 0x30(sp)               |             gp = *(var_30h_6);
                                             |             if (v0 < 0) {
    0x00010864 bltz v0, 0x108a8              |                 goto label_26;
                                             |             }
    0x00010868 lw v0, 0x6c(sp)               |             v0 = *(var_6ch_3);
    0x0001086c lw t9, -0x7c44(gp)            |             t9 = sym.imp.crypt_activate_by_volume_key;
    0x00010870 lw a2, 0x68(sp)               |             a2 = *(var_68h_3);
    0x00010874 lw a0, 0x64(sp)               |             a0 = *(var_64h_3);
    0x00010878 sw v0, 0x10(sp)               |             *(var_10h_4) = v0;
    0x0001087c move a3, s2                   |             a3 = s2;
    0x00010880 move a1, s1                   |             a1 = s1;
    0x00010884 jalr t9                       |             t9 ();
    0x00010888 lw gp, 0x30(sp)               |             gp = *(var_30h_6);
    0x0001088c sw v0, 0x70(sp)               |             *(var_70h_2) = v0;
                                             |         }
                                             | label_23:
    0x00010890 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
                                             |         if (v0 >= 0) {
    0x00010894 bltz v0, 0x108ac              |             
                                             | label_31:
    0x00010898 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
    0x0001089c lw v0, 0x2170(v0)             |             v0 = *((v0 + 2140));
    0x000108a0 lw t9, -0x7d1c(gp)            |             t9 = sym.imp.crypt_get_active_device;
                                             |             if (v0 != 0) {
    0x000108a4 bnez v0, 0x10aec              |                 goto label_98;
                                             |             }
                                             | label_26:
    0x000108a8 lw t9, -0x7fb4(gp)            |             t9 = sym.crypt_safe_free;
                                             |         }
                                             | label_32:
    0x000108ac lw a0, 0x68(sp)               |         a0 = *(var_68h_3);
    0x000108b0 bal 0x6a20                    |         sym_crypt_safe_free ();
    0x000108b4 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x000108b8 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x000108bc lw a0, 0x74(sp)               |         a0 = *(var_74h_4);
    0x000108c0 bal 0x6a20                    |         sym_crypt_safe_free ();
    0x000108c4 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x000108c8 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
    0x000108cc lw a0, 0x64(sp)               |         a0 = *(var_64h_3);
    0x000108d0 jalr t9                       |         t9 ();
    0x000108d4 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x000108d8 lw v0, 0x70(sp)               |         v0 = *(var_70h_2);
                                             | label_21:
    0x000108dc lw a0, 0x104(sp)              |         a0 = *(var_104h);
    0x000108e0 lw v1, (s0)                   |         v1 = *(s0);
    0x000108e4 lw ra, 0x12c(sp)              |         ra = *(var_12ch);
                                             |         if (a0 != v1) {
    0x000108e8 bne a0, v1, 0x119cc           |             goto label_99;
                                             |         }
    0x000108ec lw fp, 0x128(sp)              |         fp = *(var_128h);
    0x000108f0 lw s7, 0x124(sp)              |         s7 = *(var_124h);
    0x000108f4 lw s6, 0x120(sp)              |         s6 = *(var_120h);
    0x000108f8 lw s5, 0x11c(sp)              |         s5 = *(var_11ch);
    0x000108fc lw s4, 0x118(sp)              |         s4 = *(var_118h);
    0x00010900 lw s3, 0x114(sp)              |         s3 = *(var_114h);
    0x00010904 lw s2, 0x110(sp)              |         s2 = *(var_110h);
    0x00010908 lw s1, 0x10c(sp)              |         s1 = *(var_10ch);
    0x0001090c lw s0, 0x108(sp)              |         s0 = *(var_108h);
    0x00010910 addiu sp, sp, 0x130           |         
    0x00010914 jr ra                         |         return v0;
    0x00010918 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x0001091c lw t9, -0x7c80(gp)            |         t9 = sym.imp.strcmp;
                                             |         /* str.luks1 */
    0x00010920 addiu a1, a1, -0x487c         |         a1 += -0x487c;
    0x00010924 move a0, s2                   |         a0 = s2;
    0x00010928 jalr t9                       |         t9 ();
    0x0001092c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010930 beqz v0, 0x10778              |         
                                             |     }
    0x00010934 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010938 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.luks2 */
    0x0001093c addiu a1, a1, -0x4884         |     a1 += -0x4884;
    0x00010940 move a0, s2                   |     a0 = s2;
    0x00010944 jalr t9                       |     t9 ();
    0x00010948 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x0001094c beqz v0, 0x10778              |         goto label_20;
                                             |     }
    0x00010950 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
    0x00010954 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'plain' */
    0x00010958 addiu a1, s4, -0x5938         |     a1 = s4 + -0x5938;
    0x0001095c move a0, s2                   |     a0 = s2;
    0x00010960 jalr t9                       |     t9 ();
    0x00010964 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010968 bnez v0, 0x111cc              |         goto label_100;
                                             |     }
    0x0001096c lw s5, -0x7fdc(gp)            |     s5 = *(gp);
    0x00010970 lw v0, 0x20ec(s5)             |     v0 = *((s5 + 2107));
    0x00010974 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x00010978 lw v0, 0x2160(s1)             |     v0 = *((s1 + 2136));
                                             |     if (v0 == 0) {
    0x0001097c beqz v0, 0x10c28              |         goto label_101;
                                             |     }
    0x00010980 lw fp, -0x7fdc(gp)            |     fp = *(gp);
                                             |     if (v0 != 0) {
    0x00010984 bnez v0, 0x10c2c              |         goto label_102;
                                             |     }
                                             | label_35:
    0x00010988 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             | label_36:
    0x0001098c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Command_requires_device_and_mapped_name_as_arguments. */
    0x00010990 addiu v0, v0, -0x3770         |     v0 += -0x3770;
    0x00010994 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00010998 addiu a3, zero, 0x883         |     a3 = 0x883;
                                             | label_60:
    0x0001099c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000109a0 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000109a4 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000109a8 move a0, zero                 |     a0 = 0;
    0x000109ac bal 0x88f0                    |     sym_clogger ();
    0x000109b0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000109b4 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x000109b8 b 0x108dc                     |     goto label_21;
                                             | label_94:
    0x000109bc sw zero, 0x68(sp)             |     *(var_68h_3) = 0;
    0x000109c0 sw zero, 0x6c(sp)             |     *(var_6ch_3) = 0;
    0x000109c4 sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
                                             |     if (v1 != 0) {
    0x000109c8 bnez v1, 0x107b4              |         goto label_22;
                                             |     }
    0x000109cc lw s4, -0x7fdc(gp)            |     s4 = *(gp);
                                             | label_61:
    0x000109d0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000109d4 lw a0, 0x2230(v0)             |     a0 = *((v0 + 2188));
    0x000109d8 lw v1, 0x20f0(s4)             |     v1 = *((s4 + 2108));
                                             |     if (a0 == 0) {
    0x000109dc beqz a0, 0x111c0              |         goto label_103;
                                             |     }
    0x000109e0 lw s2, (v1)                   |     s2 = *(v1);
                                             | label_34:
    0x000109e4 lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x000109e8 bal 0x9198                    |     sym_uuid_or_device ();
    0x000109ec nop                           |     
    0x000109f0 lw v1, 0x21bc(s1)             |     v1 = *((s1 + 2159));
    0x000109f4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000109f8 move s5, v0                   |     s5 = v0;
                                             |     if (v1 == 0) {
    0x000109fc beqz v1, 0x10b58              |         goto label_104;
                                             |     }
    0x00010a00 move s1, zero                 |     s1 = 0;
                                             | label_29:
    0x00010a04 lw t9, -0x7dd8(gp)            |     t9 = sym.imp.crypt_init_data_device;
    0x00010a08 move a2, s2                   |     a2 = s2;
    0x00010a0c move a1, s5                   |     a1 = s5;
    0x00010a10 addiu a0, sp, 0x64            |     a0 = sp + 0x64;
    0x00010a14 jalr t9                       |     t9 ();
    0x00010a18 sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x00010a1c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010a20 bnez v0, 0x10890              |         goto label_23;
                                             |     }
    0x00010a24 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00010a28 addiu t9, t9, -0x1d10         |     t9 += -0x1d10;
    0x00010a2c lw a0, 0x318(s3)              |     a0 = *((s3 + 198));
    0x00010a30 bal 0xe2f0                    |     fcn_0000e2f0 ();
    0x00010a34 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010a38 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010a3c move a2, zero                 |     a2 = 0;
    0x00010a40 lw t9, -0x7d9c(gp)            |     t9 = sym.imp.crypt_load;
    0x00010a44 move a1, v0                   |     a1 = v0;
    0x00010a48 jalr t9                       |     t9 ();
    0x00010a4c sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x00010a50 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010a54 bnez v0, 0x11554              |         goto label_105;
                                             |     }
    0x00010a58 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     if (s2 == 0) {
    0x00010a5c bnel s2, zero, 0x107f8        |         goto label_24;
                                             |     }
    0x00010a60 lw t9, -0x7cc8(gp)            |     t9 = sym.imp.crypt_get_data_offset;
    0x00010a64 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010a68 jalr t9                       |     t9 ();
    0x00010a6c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v1 != 0) {
    0x00010a70 bnez v1, 0x107f4              |         goto label_25;
                                             |     }
    0x00010a74 sltiu v0, v0, 8               |     v0 = (v0 < 8) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00010a78 beql v0, zero, 0x107f8        |         goto label_24;
                                             |     }
    0x00010a7c lw s3, -0x7fdc(gp)            |     s3 = *(gp);
    0x00010a80 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00010a84 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Reduced_data_offset_is_allowed_only_for_detached_LUKS_header. */
    0x00010a88 addiu v0, v0, -0x39d8         |     v0 += -0x39d8;
    0x00010a8c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00010a90 addiu a3, zero, 0x564         |     a3 = 0x564;
                                             | label_45:
    0x00010a94 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00010a98 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00010a9c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00010aa0 move a0, zero                 |     a0 = 0;
    0x00010aa4 bal 0x88f0                    |     sym_clogger ();
    0x00010aa8 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00010aac lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010ab0 sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x00010ab4 b 0x108a8                     |     goto label_26;
                                             | label_91:
    0x00010ab8 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             |     if (s2 != 0) {
    0x00010abc bnez s2, 0x10760              |         goto label_27;
                                             |     }
    0x00010ac0 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00010ac4 b 0x108dc                     |     goto label_21;
                                             | label_93:
    0x00010ac8 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
    0x00010acc sw zero, 0x64(sp)             |     *(var_64h_3) = 0;
    0x00010ad0 sw zero, 0x68(sp)             |     *(var_68h_3) = 0;
    0x00010ad4 sw zero, 0x6c(sp)             |     *(var_6ch_3) = 0;
    0x00010ad8 sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
    0x00010adc lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
                                             |     if (v1 == 0) {
    0x00010ae0 beqz v1, 0x11a30              |         goto label_106;
                                             |     }
    0x00010ae4 lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x00010ae8 b 0x107c0                     |     goto label_28;
                                             | label_98:
    0x00010aec lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010af0 addiu a2, sp, 0x98            |     a2 = sp + 0x98;
    0x00010af4 move a1, s1                   |     a1 = s1;
    0x00010af8 jalr t9                       |     t9 ();
    0x00010afc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010b00 bnez v0, 0x10b28              |         goto label_107;
                                             |     }
    0x00010b04 lw a2, 0xb0(sp)               |     a2 = *(var_b0h);
    0x00010b08 lw v0, 0x6c(sp)               |     v0 = *(var_6ch_3);
    0x00010b0c lw t9, -0x7e0c(gp)            |     t9 = sym.imp.crypt_persistent_flags_set;
    0x00010b10 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010b14 and a2, a2, v0                |     a2 &= v0;
    0x00010b18 move a1, zero                 |     a1 = 0;
    0x00010b1c jalr t9                       |     t9 ();
    0x00010b20 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00010b24 beqz v0, 0x108a8              |         goto label_26;
                                             |     }
                                             | label_107:
    0x00010b28 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00010b2c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00010b30 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Device_activated_but_cannot_make_flags_persistent. */
    0x00010b34 addiu v0, v0, -0x393c         |     v0 += -0x393c;
    0x00010b38 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00010b3c addiu a3, zero, 0x595         |     a3 = 0x595;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00010b40 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00010b44 addiu a1, zero, 1             |     a1 = 1;
    0x00010b48 move a0, zero                 |     a0 = 0;
    0x00010b4c bal 0x88f0                    |     sym_clogger ();
    0x00010b50 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010b54 b 0x108a8                     |     goto label_26;
                                             | label_104:
    0x00010b58 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x00010b5c lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x00010b60 b 0x10a04                     |     goto label_29;
                                             | label_92:
    0x00010b64 sw zero, 0x98(sp)             |     *(var_98h_3) = 0;
    0x00010b68 lw v0, 0x20ec(v0)             |     v0 = *((v0 + 2107));
    0x00010b6c slti v1, v0, 2                |     v1 = (v0 < 2) ? 1 : 0;
    0x00010b70 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
                                             |     if (v1 != 0) {
    0x00010b74 bnez v1, 0x11524              |         goto label_108;
                                             |     }
    0x00010b78 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x00010b7c lw s2, 4(v0)                  |     s2 = *((v0 + 1));
                                             | label_44:
    0x00010b80 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             | label_43:
    0x00010b84 lw t9, -0x7dd0(gp)            |     t9 = sym.imp.crypt_init_by_name_and_header;
    0x00010b88 move a1, s2                   |     a1 = s2;
    0x00010b8c lw a2, 0x2230(v0)             |     a2 = *((v0 + 2188));
    0x00010b90 addiu a0, sp, 0x98            |     a0 = sp + 0x98;
    0x00010b94 jalr t9                       |     t9 ();
    0x00010b98 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010b9c bnez v0, 0x1158c              |         goto label_109;
                                             |     }
    0x00010ba0 lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x00010ba4 lw a0, 0x98(sp)               |     a0 = *(var_98h_3);
    0x00010ba8 jalr t9                       |     t9 ();
    0x00010bac move s4, v0                   |     s4 = v0;
    0x00010bb0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00010bb4 beqz v0, 0x11960              |         goto label_110;
                                             |     }
    0x00010bb8 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010bbc lw t9, -0x7d74(gp)            |     t9 = sym.imp.strncmp;
    0x00010bc0 addiu a2, zero, 4             |     a2 = 4;
                                             |     /* str.LUKS */
    0x00010bc4 addiu a1, a1, -0x3a1c         |     a1 += -0x3a1c;
    0x00010bc8 move a0, v0                   |     a0 = v0;
    0x00010bcc jalr t9                       |     t9 ();
    0x00010bd0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00010bd4 beqz v0, 0x114cc              |         goto label_111;
                                             |     }
    0x00010bd8 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010bdc lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.PLAIN */
    0x00010be0 addiu a1, a1, -0x3a14         |     a1 += -0x3a14;
    0x00010be4 move a0, s4                   |     a0 = s4;
    0x00010be8 jalr t9                       |     t9 ();
    0x00010bec lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00010bf0 beqz v0, 0x11660              |         goto label_112;
                                             |     }
    0x00010bf4 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00010bf8 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.LOOPAES */
    0x00010bfc addiu a1, a1, -0x3a0c         |     a1 += -0x3a0c;
    0x00010c00 move a0, s4                   |     a0 = s4;
    0x00010c04 jalr t9                       |     t9 ();
    0x00010c08 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010c0c bnez v0, 0x11824              |         goto label_113;
                                             |     }
    0x00010c10 lw s2, -0x7fd8(gp)            |     s2 = *((gp - 8182));
    0x00010c14 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             |     /* str.loopaes */
    0x00010c18 addiu s2, s2, -0x3a58         |     s2 += -0x3a58;
    0x00010c1c b 0x114d4                     |     goto label_49;
                                             | label_97:
    0x00010c20 sra s2, s2, 3                 |     s2 >>= 3;
    0x00010c24 b 0x10848                     |     goto label_30;
                                             | label_101:
    0x00010c28 lw fp, -0x7fdc(gp)            |     fp = *(gp);
                                             | label_102:
    0x00010c2c sw zero, 0x58(sp)             |     *(var_58h_3) = 0;
    0x00010c30 sw zero, 0x5c(sp)             |     *(var_5ch_3) = 0;
    0x00010c34 lw v0, 0x22d4(fp)             |     v0 = *(arg_22d4h);
                                             |     if (v0 == 0) {
    0x00010c38 beql v0, zero, 0x114ec        |         goto label_114;
                                             |     }
    0x00010c3c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             | label_39:
    0x00010c40 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010c44 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
    0x00010c48 sw v0, 0x98(sp)               |     *(var_98h_3) = v0;
    0x00010c4c lw a2, 0x21f0(v1)             |     a2 = *((v1 + 2172));
    0x00010c50 lw a3, 0x21f4(v1)             |     a3 = *((v1 + 2173));
    0x00010c54 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010c58 lw t0, 0x21f8(s7)             |     t0 = *((s7 + 2174));
    0x00010c5c lw t1, 0x21fc(s7)             |     t1 = *((s7 + 2175));
    0x00010c60 lw a0, 0x2200(v1)             |     a0 = *((v1 + 2176));
    0x00010c64 lw a1, 0x2204(v1)             |     a1 = *((v1 + 2177));
    0x00010c68 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00010c6c sw t0, 0xa0(sp)               |     *(var_a0h) = t0;
    0x00010c70 sw t1, 0xa4(sp)               |     *(var_a4h) = t1;
    0x00010c74 lw v1, 0x2174(v1)             |     v1 = *((v1 + 2141));
    0x00010c78 sw a2, 0xa8(sp)               |     *(var_a8h) = a2;
    0x00010c7c sw a3, 0xac(sp)               |     *(var_ach) = a3;
    0x00010c80 sw a0, 0xb0(sp)               |     *(var_b0h) = a0;
    0x00010c84 sw a1, 0xb4(sp)               |     *(var_b4h) = a1;
                                             |     if (v1 == 0) {
    0x00010c88 beqz v1, 0x114c4              |         goto label_115;
                                             |     }
                                             | label_38:
    0x00010c8c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010c90 sw v1, 0xb8(sp)               |     *(var_b8h) = v1;
    0x00010c94 sw zero, 0x64(sp)             |     *(var_64h_3) = 0;
    0x00010c98 lw s2, 0x222c(v0)             |     s2 = *((v0 + 2187));
    0x00010c9c sw zero, 0x6c(sp)             |     *(var_6ch_3) = 0;
                                             |     if (s2 != 0) {
    0x00010ca0 bnez s2, 0x114b4              |         goto label_116;
                                             |     }
    0x00010ca4 addiu s2, zero, 0x20          |     s2 = 0x20;
                                             | label_37:
    0x00010ca8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010cac sw zero, 0x70(sp)             |     *(var_70h_2) = 0;
    0x00010cb0 lw a0, 0x22dc(v0)             |     a0 = *((v0 + 2231));
                                             |     if (a0 == 0) {
    0x00010cb4 beql a0, zero, 0x11598        |         goto label_117;
                                             |     }
    0x00010cb8 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
                                             | label_46:
    0x00010cbc lw t9, -0x7f6c(gp)            |     t9 = sym.crypt_parse_name_and_mode;
    0x00010cc0 addiu v0, sp, 0xc4            |     v0 = sp + 0xc4;
    0x00010cc4 addiu s6, sp, 0xe4            |     s6 = sp + 0xe4;
    0x00010cc8 move a3, s6                   |     a3 = s6;
    0x00010ccc move a2, zero                 |     a2 = 0;
    0x00010cd0 move a1, v0                   |     a1 = v0;
    0x00010cd4 move s3, v0                   |     s3 = v0;
    0x00010cd8 bal 0x6338                    |     sym_crypt_parse_name_and_mode ();
    0x00010cdc sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x00010ce0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 < 0) {
    0x00010ce4 bltz v0, 0x11714              |         goto label_118;
                                             |     }
    0x00010ce8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010cec sw v0, 0x40(sp)               |     *(var_40h_3) = v0;
    0x00010cf0 lw a0, 0x22c8(v0)             |     a0 = *((v0 + 2226));
    0x00010cf4 lw t9, -0x7f84(gp)            |     t9 = sym.tools_is_stdin;
                                             |     if (a0 == 0) {
    0x00010cf8 beqz a0, 0x1151c              |         goto label_119;
                                             |     }
    0x00010cfc bal 0xa728                    |     sym_tools_is_stdin ();
    0x00010d00 nop                           |     
    0x00010d04 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00010d08 bnez v0, 0x1151c              |         goto label_119;
                                             |     }
    0x00010d0c lw v0, -0x7f88(gp)            |     v0 = *(gp);
    0x00010d10 sw zero, 0x98(sp)             |     *(var_98h_3) = 0;
    0x00010d14 sw v0, 0x38(sp)               |     *(var_38h_3) = v0;
    0x00010d18 lw v1, (v0)                   |     v1 = *(v0);
    0x00010d1c lw s4, -0x7fdc(gp)            |     s4 = *(gp);
                                             |     if (v1 != 0) {
    0x00010d20 bnel v1, zero, 0x10d8c        |         
    0x00010d24 lw v1, 0x22d4(fp)             |         v1 = *(arg_22d4h);
    0x00010d28 lw v1, -0x7fd8(gp)            |         v1 = *((gp - 8182));
                                             |         if (v1 == 0) {
    0x00010d2c beqz v1, 0x117c4              |             goto label_120;
                                             |         }
    0x00010d30 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x00010d34 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.WARNING:_The___hash_parameter_is_being_ignored_in_plain_mode_with_keyfile_specified._n */
    0x00010d38 addiu v1, v1, -0x38d8         |         v1 += -0x38d8;
    0x00010d3c sw v1, 0x10(sp)               |         *(var_10h_4) = v1;
    0x00010d40 addiu a3, zero, 0xff          |         a3 = 0xff;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00010d44 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x00010d48 move a1, zero                 |         a1 = 0;
    0x00010d4c move a0, zero                 |         a0 = 0;
    0x00010d50 bal 0x88f0                    |         sym_clogger ();
    0x00010d54 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010d58 lw v0, 0x38(sp)               |         v0 = *(var_38h_3);
                                             | label_42:
    0x00010d5c lw a0, 0x98(sp)               |         a0 = *(var_98h_3);
    0x00010d60 lw fp, (v0)                   |         fp = *(v0);
                                             |         if (a0 != 0) {
    0x00010d64 beqz a0, 0x10d80              |             
    0x00010d68 lw t9, -0x7c80(gp)            |             t9 = sym.imp.strcmp;
                                             |             /* esilref: 'plain' */
    0x00010d6c addiu a1, s4, -0x5938         |             a1 = s4 + -0x5938;
    0x00010d70 jalr t9                       |             t9 ();
    0x00010d74 lw gp, 0x30(sp)               |             gp = *(var_30h_6);
                                             |             if (v0 != 0) {
    0x00010d78 bnez v0, 0x10d88              |                 goto label_55;
                                             |             }
    0x00010d7c sw zero, 0x98(sp)             |             *(var_98h_3) = 0;
                                             |         }
    0x00010d80 lw v0, 0x40(sp)               |         v0 = *(var_40h_3);
                                             |         if (fp == 0) {
    0x00010d84 beqz fp, 0x117c8              |             goto label_121;
                                             |         }
                                             | label_55:
    0x00010d88 lw s4, -0x7fdc(gp)            |         s4 = *(gp);
                                             |     }
                                             | label_56:
    0x00010d8c lw v0, 0x2160(s1)             |     v0 = *((s1 + 2136));
    0x00010d90 lw v1, 0x20f0(s4)             |     v1 = *((s4 + 2108));
                                             |     if (v0 == 0) {
    0x00010d94 beqz v0, 0x115a0              |         goto label_122;
                                             |     }
    0x00010d98 lw v0, 0x20ec(s5)             |     v0 = *((s5 + 2107));
    0x00010d9c slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x00010da0 lw s1, (v1)                   |     s1 = *(v1);
                                             |     if (v0 != 0) {
    0x00010da4 bnel v0, zero, 0x10dac        |         
    0x00010da8 lw s1, 4(v1)                  |         s1 = *((v1 + 1));
                                             |     }
    0x00010dac lw t9, -0x7dd0(gp)            |     t9 = sym.imp.crypt_init_by_name_and_header;
    0x00010db0 move a2, zero                 |     a2 = 0;
    0x00010db4 move a1, s1                   |     a1 = s1;
    0x00010db8 addiu a0, sp, 0x5c            |     a0 = sp + 0x5c;
    0x00010dbc jalr t9                       |     t9 ();
    0x00010dc0 sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x00010dc4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00010dc8 bnez v0, 0x10fa4              |         
    0x00010dcc lw t9, -0x7d1c(gp)            |         t9 = sym.imp.crypt_get_active_device;
    0x00010dd0 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010dd4 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00010dd8 move a1, s1                   |         a1 = s1;
    0x00010ddc jalr t9                       |         t9 ();
    0x00010de0 sw v0, 0x74(sp)               |         *(var_74h_4) = v0;
    0x00010de4 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 != 0) {
    0x00010de8 bnez v0, 0x10fa4              |             goto label_47;
                                             |         }
    0x00010dec lw t9, -0x7bf4(gp)            |         t9 = sym.imp.crypt_get_iv_offset;
    0x00010df0 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010df4 jalr t9                       |         t9 ();
    0x00010df8 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010dfc lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010e00 sw v0, 0xa8(sp)               |         *(var_a8h) = v0;
    0x00010e04 lw t9, -0x7cc8(gp)            |         t9 = sym.imp.crypt_get_data_offset;
    0x00010e08 sw v1, 0xac(sp)               |         *(var_ach) = v1;
    0x00010e0c jalr t9                       |         t9 ();
    0x00010e10 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010e14 sw v0, 0xa0(sp)               |         *(var_a0h) = v0;
    0x00010e18 sw v1, 0xa4(sp)               |         *(var_a4h) = v1;
    0x00010e1c lw v0, 0x88(sp)               |         v0 = *(var_88h_4);
    0x00010e20 lw v1, 0x8c(sp)               |         v1 = *(var_8ch_4);
    0x00010e24 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010e28 lw t9, -0x7dbc(gp)            |         t9 = sym.imp.crypt_get_sector_size;
    0x00010e2c sw v1, 0xb4(sp)               |         *(var_b4h) = v1;
    0x00010e30 sw v0, 0xb0(sp)               |         *(var_b0h) = v0;
    0x00010e34 jalr t9                       |         t9 ();
    0x00010e38 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010e3c lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010e40 lw t9, -0x7d6c(gp)            |         t9 = sym.imp.crypt_get_volume_key_size;
    0x00010e44 sw v0, 0xb8(sp)               |         *(var_b8h) = v0;
    0x00010e48 jalr t9                       |         t9 ();
    0x00010e4c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010e50 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010e54 lw t9, -0x7c50(gp)            |         t9 = sym.imp.crypt_get_device_name;
    0x00010e58 move s2, v0                   |         s2 = v0;
    0x00010e5c jalr t9                       |         t9 ();
    0x00010e60 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010e64 move a1, v0                   |         a1 = v0;
    0x00010e68 lw t9, -0x7c84(gp)            |         t9 = sym.imp.crypt_init;
    0x00010e6c addiu a0, sp, 0x58            |         a0 = sp + 0x58;
    0x00010e70 jalr t9                       |         t9 ();
    0x00010e74 sw v0, 0x74(sp)               |         *(var_74h_4) = v0;
    0x00010e78 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 != 0) {
    0x00010e7c bnez v0, 0x10fa4              |             goto label_47;
                                             |         }
    0x00010e80 lw v0, 0x70(sp)               |         v0 = *(var_70h_2);
    0x00010e84 lui v1, 4                     |         v1 = 0x40000;
    0x00010e88 lw t9, -0x7c20(gp)            |         t9 = sym.imp.crypt_get_cipher;
    0x00010e8c or v0, v0, v1                 |         v0 |= v1;
    0x00010e90 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010e94 sw v0, 0x70(sp)               |         *(var_70h_2) = v0;
    0x00010e98 jalr t9                       |         t9 ();
    0x00010e9c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010ea0 lw a0, 0x5c(sp)               |         a0 = *(var_5ch_3);
    0x00010ea4 lw t9, -0x7c38(gp)            |         t9 = sym.imp.crypt_get_cipher_mode;
    0x00010ea8 sw v0, 0x38(sp)               |         *(var_38h_3) = v0;
    0x00010eac jalr t9                       |         t9 ();
    0x00010eb0 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010eb4 lw a2, 0x38(sp)               |         a2 = *(var_38h_3);
    0x00010eb8 move a3, v0                   |         a3 = v0;
                                             | label_48:
    0x00010ebc lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x00010ec0 lw t9, -0x7e28(gp)            |         t9 = sym.imp.crypt_format;
    0x00010ec4 lw a0, 0x58(sp)               |         a0 = *(var_58h_3);
    0x00010ec8 addiu v0, sp, 0x98            |         v0 = sp + 0x98;
                                             |         /* str.PLAIN */
    0x00010ecc addiu a1, a1, -0x3a14         |         a1 += -0x3a14;
    0x00010ed0 sw v0, 0x1c(sp)               |         *(var_1ch_3) = v0;
    0x00010ed4 sw s2, 0x18(sp)               |         *(var_18h_4) = s2;
    0x00010ed8 sw zero, 0x14(sp)             |         *(var_14h_3) = 0;
    0x00010edc sw zero, 0x10(sp)             |         *(var_10h_4) = 0;
    0x00010ee0 jalr t9                       |         t9 ();
    0x00010ee4 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010ee8 sw v0, 0x74(sp)               |         *(var_74h_4) = v0;
    0x00010eec lw t9, -0x7f94(gp)            |         t9 = sym.check_signal;
    0x00010ef0 addiu a0, sp, 0x74            |         a0 = sp + 0x74;
    0x00010ef4 bal 0x88bc                    |         sym_check_signal ();
    0x00010ef8 lw v0, 0x74(sp)               |         v0 = *(var_74h_4);
    0x00010efc lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 < 0) {
    0x00010f00 bltz v0, 0x10fa4              |             goto label_47;
                                             |         }
    0x00010f04 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00010f08 lw v0, 0x21cc(v0)             |         v0 = *((v0 + 2163));
    0x00010f0c lw t9, -0x7fa8(gp)            |         t9 = *(gp);
                                             |         if (v0 != 0) {
    0x00010f10 beqz v0, 0x10f20              |             
    0x00010f14 lw v0, 0x70(sp)               |             v0 = *(var_70h_2);
    0x00010f18 ori v0, v0, 4                 |             v0 |= 4;
    0x00010f1c sw v0, 0x70(sp)               |             *(var_70h_2) = v0;
                                             |         }
    0x00010f20 addiu t9, t9, -0x3f10         |         t9 += -0x3f10;
    0x00010f24 addiu a0, sp, 0x70            |         a0 = sp + 0x70;
    0x00010f28 bal 0xc0f0                    |         fcn_0000c0f0 ();
    0x00010f2c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010f30 lw v0, 0x40(sp)               |         v0 = *(var_40h_3);
    0x00010f34 lw t9, -0x7f84(gp)            |         t9 = sym.tools_is_stdin;
    0x00010f38 lw a0, 0x22c8(v0)             |         a0 = *((v0 + 2226));
    0x00010f3c bal 0xa728                    |         sym_tools_is_stdin ();
    0x00010f40 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 != 0) {
    0x00010f44 bnez v0, 0x11878              |             goto label_123;
                                             |         }
    0x00010f48 lw v0, 0x98(sp)               |         v0 = *(var_98h_3);
                                             |         if (v0 != 0) {
    0x00010f4c beql v0, zero, 0x10f60        |             
    0x00010f50 lw v0, 0x20f0(s4)             |             v0 = *((s4 + 2108));
    0x00010f54 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
    0x00010f58 lw s2, 0x2224(v0)             |             s2 = *((v0 + 2185));
    0x00010f5c lw v0, 0x20f0(s4)             |             v0 = *((s4 + 2108));
                                             |         }
    0x00010f60 lw a0, 0x40(sp)               |         a0 = *(var_40h_3);
    0x00010f64 lw a2, 0x70(sp)               |         a2 = *(var_70h_2);
    0x00010f68 lw a1, 4(v0)                  |         a1 = *((v0 + 1));
    0x00010f6c lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00010f70 lw t9, -0x7d80(gp)            |         t9 = sym.imp.crypt_activate_by_keyfile_device_offset;
    0x00010f74 lw a3, 0x22c8(a0)             |         a3 = *((a0 + 2226));
    0x00010f78 lw v1, 0x221c(v0)             |         v1 = *((v0 + 2183));
    0x00010f7c lw v0, 0x2218(v0)             |         v0 = *((v0 + 2182));
    0x00010f80 lw a0, 0x58(sp)               |         a0 = *(var_58h_3);
    0x00010f84 sw a2, 0x20(sp)               |         *(var_20h_3) = a2;
    0x00010f88 sw v0, 0x18(sp)               |         *(var_18h_4) = v0;
    0x00010f8c sw v1, 0x1c(sp)               |         *(var_1ch_3) = v1;
    0x00010f90 sw s2, 0x10(sp)               |         *(var_10h_4) = s2;
    0x00010f94 addiu a2, zero, -1            |         a2 = -1;
    0x00010f98 jalr t9                       |         t9 ();
    0x00010f9c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00010fa0 sw v0, 0x74(sp)               |         *(var_74h_4) = v0;
                                             |     }
                                             | label_47:
    0x00010fa4 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             | label_58:
    0x00010fa8 lw a0, 0x58(sp)               |     a0 = *(var_58h_3);
    0x00010fac jalr t9                       |     t9 ();
    0x00010fb0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010fb4 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x00010fb8 lw a0, 0x5c(sp)               |     a0 = *(var_5ch_3);
    0x00010fbc jalr t9                       |     t9 ();
    0x00010fc0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010fc4 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00010fc8 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010fcc bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00010fd0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00010fd4 lw v0, 0x74(sp)               |     v0 = *(var_74h_4);
    0x00010fd8 b 0x108dc                     |     goto label_21;
                                             | label_95:
    0x00010fdc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00010fe0 lw t9, -0x7bb8(gp)            |     t9 = sym.imp.crypt_activate_by_token;
    0x00010fe4 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00010fe8 lw a2, 0x20(v0)               |     a2 = *((v0 + 8));
    0x00010fec lw v0, 0x6c(sp)               |     v0 = *(var_6ch_3);
    0x00010ff0 move a3, zero                 |     a3 = 0;
    0x00010ff4 move a1, s1                   |     a1 = s1;
    0x00010ff8 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00010ffc jalr t9                       |     t9 ();
    0x00011000 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011004 move a0, v0                   |     a0 = v0;
    0x00011008 sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x0001100c lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00011010 addiu a1, zero, 1             |     a1 = 1;
    0x00011014 bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x00011018 lw v0, 0x70(sp)               |     v0 = *(var_70h_2);
    0x0001101c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 >= 0) {
    0x00011020 bgez v0, 0x10898              |         goto label_31;
                                             |     }
    0x00011024 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011028 lw v0, 0x2208(v0)             |     v0 = *((v0 + 2178));
    0x0001102c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
                                             |     if (v0 != 0) {
    0x00011030 bnez v0, 0x108ac              |         goto label_32;
                                             |     }
    0x00011034 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011038 lw t9, -0x7f84(gp)            |     t9 = sym.tools_is_stdin;
    0x0001103c sw v0, 0x40(sp)               |     *(var_40h_3) = v0;
    0x00011040 lw a0, 0x22c8(v0)             |     a0 = *((v0 + 2226));
    0x00011044 bal 0xa728                    |     sym_tools_is_stdin ();
    0x00011048 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x0001104c bnez v0, 0x114f4              |         goto label_124;
                                             |     }
                                             | label_40:
    0x00011050 addiu s2, zero, 1             |     s2 = 1;
                                             | label_41:
    0x00011054 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011058 addiu s4, sp, 0x78            |     s4 = sp + 0x78;
    0x0001105c sw v0, 0x48(sp)               |     *(var_48h_5) = v0;
    0x00011060 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011064 addiu fp, sp, 0x74            |     fp = sp + 0x74;
    0x00011068 sw v0, 0x4c(sp)               |     *(var_4ch_5) = v0;
    0x0001106c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011070 addiu s7, sp, 0x70            |     s7 = sp + 0x70;
    0x00011074 sw v0, 0x50(sp)               |     *(var_50h_4) = v0;
    0x00011078 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001107c sw v0, 0x54(sp)               |     *(var_54h_4) = v0;
    0x00011080 lw v0, -0x7fa8(gp)            |     v0 = *(gp);
    0x00011084 addiu v0, v0, -0xef4          |     v0 += -0xef4;
    0x00011088 sw v0, 0x44(sp)               |     *(var_44h_4) = v0;
    0x0001108c b 0x11130                     |     goto label_125;
                                             | label_33:
    0x00011090 lw v0, 0x54(sp)               |     v0 = *(var_54h_4);
    0x00011094 lw a3, 0x74(sp)               |     a3 = *(var_74h_4);
    0x00011098 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x0001109c lw a2, 0x24(v0)               |     a2 = *((v0 + 9));
    0x000110a0 lw v0, 0x6c(sp)               |     v0 = *(var_6ch_3);
    0x000110a4 lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x000110a8 sw v0, 0x14(sp)               |     *(var_14h_3) = v0;
    0x000110ac lw v0, 0x78(sp)               |     v0 = *(var_78h_4);
    0x000110b0 move a1, s1                   |     a1 = s1;
    0x000110b4 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x000110b8 jalr t9                       |     t9 ();
    0x000110bc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000110c0 move a0, v0                   |     a0 = v0;
    0x000110c4 sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x000110c8 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x000110cc addiu a1, zero, 1             |     a1 = 1;
    0x000110d0 bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x000110d4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000110d8 lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
    0x000110dc lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
    0x000110e0 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x000110e4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000110e8 lw t9, -0x7f94(gp)            |     t9 = sym.check_signal;
    0x000110ec move a0, s7                   |     a0 = s7;
    0x000110f0 bal 0x88bc                    |     sym_check_signal ();
    0x000110f4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000110f8 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x000110fc lw a0, 0x74(sp)               |     a0 = *(var_74h_4);
    0x00011100 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00011104 lw v0, 0x70(sp)               |     v0 = *(var_70h_2);
    0x00011108 addiu v1, zero, -1            |     v1 = -1;
    0x0001110c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011110 sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
                                             |     if (v0 == v1) {
    0x00011114 beq v0, v1, 0x11124           |         goto label_126;
                                             |     }
    0x00011118 addiu v1, zero, -0x22         |     v1 = -0x22;
                                             |     if (v0 != v1) {
    0x0001111c bne v0, v1, 0x10890           |         goto label_23;
                                             |     }
    0x00011120 nop                           |     
                                             | label_126:
    0x00011124 addiu s2, s2, -1              |     s2 += -1;
                                             |     if (s2 <= 0) {
    0x00011128 blez s2, 0x10890              |         goto label_23;
                                             |     }
    0x0001112c nop                           |     
                                             | label_125:
    0x00011130 lw v0, 0x48(sp)               |     v0 = *(var_48h_5);
    0x00011134 lw t9, 0x44(sp)               |     t9 = *(var_44h_4);
    0x00011138 move a0, zero                 |     a0 = 0;
    0x0001113c lw a2, 0x2218(v0)             |     a2 = *((v0 + 2182));
    0x00011140 lw a3, 0x221c(v0)             |     a3 = *((v0 + 2183));
    0x00011144 lw v0, 0x4c(sp)               |     v0 = *(var_4ch_5);
    0x00011148 sw a2, 0x38(sp)               |     *(var_38h_3) = a2;
    0x0001114c sw a3, 0x3c(sp)               |     *(var_3ch_6) = a3;
    0x00011150 lw s5, 0x2224(v0)             |     s5 = *((v0 + 2185));
    0x00011154 lw v0, 0x40(sp)               |     v0 = *(var_40h_3);
    0x00011158 lw s6, 0x22c8(v0)             |     s6 = *((v0 + 2226));
    0x0001115c lw v0, 0x50(sp)               |     v0 = *(var_50h_4);
    0x00011160 lw s3, 0x21e0(v0)             |     s3 = *((v0 + 2168));
    0x00011164 jalr t9                       |     t9 ();
    0x00011168 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x0001116c lw a0, 0x64(sp)               |     a0 = *(var_64h_3);
    0x00011170 lw a2, 0x38(sp)               |     a2 = *(var_38h_3);
    0x00011174 lw a3, 0x3c(sp)               |     a3 = *(var_3ch_6);
    0x00011178 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x0001117c sw a0, 0x2c(sp)               |     *(var_2ch_4) = a0;
    0x00011180 sw a2, 0x10(sp)               |     *(var_10h_4) = a2;
    0x00011184 sw zero, 0x28(sp)             |     *(var_28h_3) = 0;
    0x00011188 sw v0, 0x24(sp)               |     *(var_24h_4) = v0;
    0x0001118c sw s3, 0x20(sp)               |     *(var_20h_3) = s3;
    0x00011190 sw s6, 0x1c(sp)               |     *(var_1ch_3) = s6;
    0x00011194 sw s5, 0x18(sp)               |     *(var_18h_4) = s5;
    0x00011198 sw a3, 0x14(sp)               |     *(var_14h_3) = a3;
    0x0001119c move a2, s4                   |     a2 = s4;
    0x000111a0 move a1, fp                   |     a1 = fp;
    0x000111a4 move a0, zero                 |     a0 = 0;
    0x000111a8 bal 0xab80                    |     sym_tools_get_key ();
    0x000111ac sw v0, 0x70(sp)               |     *(var_70h_2) = v0;
    0x000111b0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 >= 0) {
    0x000111b4 bgez v0, 0x11090              |         goto label_33;
                                             |     }
    0x000111b8 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x000111bc b 0x108ac                     |     goto label_32;
                                             | label_103:
    0x000111c0 move s2, zero                 |     s2 = 0;
    0x000111c4 lw a0, (v1)                   |     a0 = *(v1);
    0x000111c8 b 0x109e4                     |     goto label_34;
                                             | label_100:
    0x000111cc lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x000111d0 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.loopaes */
    0x000111d4 addiu a1, a1, -0x3a58         |     a1 += -0x3a58;
    0x000111d8 move a0, s2                   |     a0 = s2;
    0x000111dc jalr t9                       |     t9 ();
    0x000111e0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x000111e4 beqz v0, 0x11348              |         goto label_127;
                                             |     }
    0x000111e8 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x000111ec lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.tcrypt */
    0x000111f0 addiu a1, a1, -0x37a0         |     a1 += -0x37a0;
    0x000111f4 move a0, s2                   |     a0 = s2;
    0x000111f8 jalr t9                       |     t9 ();
    0x000111fc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x00011200 bnez v0, 0x119d8              |         goto label_128;
                                             |     }
    0x00011204 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011208 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0001120c lw v0, 0x20ec(v0)             |     v0 = *((v0 + 2107));
    0x00011210 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x00011214 lw a0, 0x21bc(v1)             |     a0 = *((v1 + 2159));
                                             |     if (v0 == 0) {
    0x00011218 beqz v0, 0x11744              |         goto label_129;
                                             |     }
    0x0001121c lw v1, -0x7fdc(gp)            |     v1 = *(gp);
                                             |     if (a0 == 0) {
    0x00011220 beqz a0, 0x10988              |         goto label_35;
                                             |     }
    0x00011224 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011228 sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
    0x0001122c lw a0, 0x18(v0)               |     a0 = *((v0 + 6));
    0x00011230 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011234 addiu v1, v1, 0x2240          |     v1 += 0x2240;
    0x00011238 sw v1, 0xa0(sp)               |     *(var_a0h) = v1;
    0x0001123c lw a2, 0x22c0(v0)             |     a2 = *((v0 + 2224));
    0x00011240 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011244 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00011248 sw zero, 0x98(sp)             |     *(var_98h_3) = 0;
    0x0001124c lw a1, 0x21ac(v0)             |     a1 = *((v0 + 2155));
    0x00011250 slti v0, a0, 0                |     v0 = (a0 < 0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00011254 movn a0, zero, v0             |         a0 = 0;
                                             |     }
    0x00011258 sw zero, 0x9c(sp)             |     *(var_9ch_3) = 0;
    0x0001125c sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x00011260 sw zero, 0xac(sp)             |     *(var_ach) = 0;
    0x00011264 sw zero, 0xb0(sp)             |     *(var_b0h) = 0;
    0x00011268 sw zero, 0xb4(sp)             |     *(var_b4h) = 0;
    0x0001126c sw a2, 0xa4(sp)               |     *(var_a4h) = a2;
    0x00011270 lw v1, 0x20f0(v1)             |     v1 = *((v1 + 2108));
    0x00011274 move v0, a0                   |     v0 = a0;
                                             |     if (a1 != 0) {
    0x00011278 bnez a1, 0x11670              |         goto label_130;
                                             |     }
    0x0001127c addiu a0, zero, 1             |     a0 = 1;
    0x00011280 sw a0, 0xb8(sp)               |     *(var_b8h) = a0;
    0x00011284 sw v0, 0xbc(sp)               |     *(var_bch) = v0;
    0x00011288 sw zero, 0x78(sp)             |     *(var_78h_4) = 0;
    0x0001128c move s1, zero                 |     s1 = 0;
                                             | label_50:
    0x00011290 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x00011294 lw a1, (v1)                   |     a1 = *(v1);
    0x00011298 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0001129c jalr t9                       |     t9 ();
    0x000112a0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x000112a4 bnez v0, 0x11308              |         
    0x000112a8 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x000112ac lw a0, 0x74(sp)               |         a0 = *(var_74h_4);
    0x000112b0 addiu t9, t9, -0xb64          |         t9 += -0xb64;
    0x000112b4 addiu a1, sp, 0x98            |         a1 = sp + 0x98;
    0x000112b8 bal 0xf49c                    |         fcn_0000f49c ();
                                             |         goto label_8;
    0x000112bc lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 < 0) {
    0x000112c0 bltz v0, 0x11308              |             goto label_131;
                                             |         }
    0x000112c4 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x000112c8 sw v0, 0x38(sp)               |         *(var_38h_3) = v0;
    0x000112cc addiu t9, t9, -0x3f10         |         t9 += -0x3f10;
    0x000112d0 addiu a0, sp, 0x78            |         a0 = sp + 0x78;
    0x000112d4 bal 0xc0f0                    |         fcn_0000c0f0 ();
    0x000112d8 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x000112dc lw v0, 0x38(sp)               |         v0 = *(var_38h_3);
                                             |         if (s1 == 0) {
    0x000112e0 beqz s1, 0x11308              |             goto label_131;
                                             |         }
    0x000112e4 lw v0, 0x78(sp)               |         v0 = *(var_78h_4);
    0x000112e8 lw t9, -0x7c44(gp)            |         t9 = sym.imp.crypt_activate_by_volume_key;
    0x000112ec lw a0, 0x74(sp)               |         a0 = *(var_74h_4);
    0x000112f0 sw v0, 0x10(sp)               |         *(var_10h_4) = v0;
    0x000112f4 move a3, zero                 |         a3 = 0;
    0x000112f8 move a2, zero                 |         a2 = 0;
    0x000112fc move a1, s1                   |         a1 = s1;
    0x00011300 jalr t9                       |         t9 ();
    0x00011304 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |     }
                                             | label_131:
    0x00011308 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x0001130c lw a0, 0x74(sp)               |     a0 = *(var_74h_4);
    0x00011310 sw v0, 0x38(sp)               |     *(var_38h_3) = v0;
    0x00011314 jalr t9                       |     t9 ();
    0x00011318 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x0001131c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00011320 lw a0, 0x98(sp)               |     a0 = *(var_98h_3);
    0x00011324 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00011328 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x0001132c addiu a1, zero, 4             |     a1 = 4;
    0x00011330 lw t9, -0x7f80(gp)            |     t9 = sym.crypt_memzero;
    0x00011334 addiu a0, sp, 0xbc            |     a0 = sp + 0xbc;
    0x00011338 bal 0x6974                    |     sym_crypt_memzero ();
    0x0001133c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011340 lw v0, 0x38(sp)               |     v0 = *(var_38h_3);
    0x00011344 b 0x108dc                     |     goto label_21;
                                             | label_127:
    0x00011348 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001134c lw v1, 0x20ec(v0)             |     v1 = *((v0 + 2107));
    0x00011350 slti v1, v1, 2                |     v1 = (v1 < 2) ? 1 : 0;
    0x00011354 lw v0, 0x2160(s1)             |     v0 = *((s1 + 2136));
                                             |     if (v1 == 0) {
    0x00011358 beqz v1, 0x11364              |         goto label_132;
                                             |     }
    0x0001135c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x00011360 beqz v0, 0x1098c              |         goto label_36;
                                             |     }
                                             | label_132:
    0x00011364 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011368 sw zero, 0x70(sp)             |     *(var_70h_2) = 0;
    0x0001136c lw a2, 0x22d4(v0)             |     a2 = *((v0 + 2229));
    0x00011370 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011374 sw a2, 0x98(sp)               |     *(var_98h_3) = a2;
    0x00011378 lw a0, 0x21f8(v0)             |     a0 = *((v0 + 2174));
    0x0001137c lw a1, 0x21fc(v0)             |     a1 = *((v0 + 2175));
    0x00011380 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011384 sw a0, 0xa0(sp)               |     *(var_a0h) = a0;
    0x00011388 sw a1, 0xa4(sp)               |     *(var_a4h) = a1;
    0x0001138c lw v0, 0x21ec(v0)             |     v0 = *((v0 + 2171));
    0x00011390 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x00011394 beqz v0, 0x113a8              |         
    0x00011398 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0001139c lw a0, 0x21f0(v0)             |         a0 = *((v0 + 2172));
    0x000113a0 lw a1, 0x21f4(v0)             |         a1 = *((v0 + 2173));
    0x000113a4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |     }
    0x000113a8 sw a0, 0xa8(sp)               |     *(var_a8h) = a0;
    0x000113ac sw a1, 0xac(sp)               |     *(var_ach) = a1;
    0x000113b0 lw v0, 0x222c(v0)             |     v0 = *((v0 + 2187));
    0x000113b4 addiu s2, zero, 0x20          |     s2 = 0x20;
                                             |     if (v0 != 0) {
    0x000113b8 beqz v0, 0x113c8              |         
                                             |         if (v0 >= 0) {
    0x000113bc bltzl v0, 0x113c4             |             
    0x000113c0 addiu v0, v0, 7               |             v0 += 7;
                                             |         }
    0x000113c4 sra s2, v0, 3                 |         s2 = v0 >> 3;
                                             |     }
    0x000113c8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000113cc sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
    0x000113d0 sw v0, 0x40(sp)               |     *(var_40h_3) = v0;
    0x000113d4 lw v0, 0x22c8(v0)             |     v0 = *((v0 + 2226));
    0x000113d8 lw a0, 0x2160(s1)             |     a0 = *((s1 + 2136));
                                             |     if (v0 == 0) {
    0x000113dc beqz v0, 0x11a10              |         goto label_133;
                                             |     }
    0x000113e0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000113e4 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
                                             |     if (a0 == 0) {
    0x000113e8 beqz a0, 0x11688              |         goto label_134;
                                             |     }
    0x000113ec lw s1, (v0)                   |     s1 = *(v0);
                                             |     if (v1 != 0) {
    0x000113f0 bnel v1, zero, 0x113f8        |         
    0x000113f4 lw s1, 4(v0)                  |         s1 = *((v0 + 1));
                                             |     }
    0x000113f8 lw t9, -0x7d38(gp)            |     t9 = sym.imp.crypt_init_by_name;
    0x000113fc move a1, s1                   |     a1 = s1;
    0x00011400 addiu a0, sp, 0x70            |     a0 = sp + 0x70;
    0x00011404 jalr t9                       |     t9 ();
    0x00011408 sw v0, 0x78(sp)               |     *(var_78h_4) = v0;
    0x0001140c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00011410 bnez v0, 0x1149c              |         
    0x00011414 lw v0, 0x74(sp)               |         v0 = *(var_74h_4);
    0x00011418 lui v1, 4                     |         v1 = 0x40000;
    0x0001141c or v0, v0, v1                 |         v0 |= v1;
    0x00011420 sw v0, 0x74(sp)               |         *(var_74h_4) = v0;
                                             | label_52:
    0x00011424 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x00011428 addiu t9, t9, -0x3f10         |         t9 += -0x3f10;
    0x0001142c addiu a0, sp, 0x74            |         a0 = sp + 0x74;
    0x00011430 bal 0xc0f0                    |         fcn_0000c0f0 ();
    0x00011434 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00011438 lw s3, 0x40(sp)               |         s3 = *(var_40h_3);
    0x0001143c lw s2, 0x70(sp)               |         s2 = *(var_70h_2);
    0x00011440 lw t9, -0x7f84(gp)            |         t9 = sym.tools_is_stdin;
    0x00011444 lw a0, 0x22c8(s3)             |         a0 = *((s3 + 2226));
    0x00011448 bal 0xa728                    |         sym_tools_is_stdin ();
    0x0001144c lw gp, 0x30(sp)               |         gp = *(var_30h_6);
                                             |         if (v0 != 0) {
    0x00011450 bnez v0, 0x11708              |             goto label_135;
                                             |         }
    0x00011454 lw a3, 0x22c8(s3)             |         a3 = *((s3 + 2226));
                                             | label_54:
    0x00011458 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x0001145c lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00011460 lw a1, 0x74(sp)               |         a1 = *(var_74h_4);
    0x00011464 lw v1, 0x221c(v0)             |         v1 = *((v0 + 2183));
    0x00011468 lw a0, 0x2224(a0)             |         a0 = *((a0 + 2185));
    0x0001146c lw v0, 0x2218(v0)             |         v0 = *((v0 + 2182));
    0x00011470 lw t9, -0x7d80(gp)            |         t9 = sym.imp.crypt_activate_by_keyfile_device_offset;
    0x00011474 sw a1, 0x20(sp)               |         *(var_20h_3) = a1;
    0x00011478 sw a0, 0x10(sp)               |         *(var_10h_4) = a0;
    0x0001147c sw v0, 0x18(sp)               |         *(var_18h_4) = v0;
    0x00011480 sw v1, 0x1c(sp)               |         *(var_1ch_3) = v1;
    0x00011484 addiu a2, zero, -1            |         a2 = -1;
    0x00011488 move a1, s1                   |         a1 = s1;
    0x0001148c move a0, s2                   |         a0 = s2;
    0x00011490 jalr t9                       |         t9 ();
    0x00011494 lw gp, 0x30(sp)               |         gp = *(var_30h_6);
    0x00011498 sw v0, 0x78(sp)               |         *(var_78h_4) = v0;
                                             |     }
                                             | label_51:
    0x0001149c lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             | label_53:
    0x000114a0 lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
    0x000114a4 jalr t9                       |     t9 ();
    0x000114a8 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000114ac lw v0, 0x78(sp)               |     v0 = *(var_78h_4);
    0x000114b0 b 0x108dc                     |     goto label_21;
                                             |     if (s2 < 0) {
                                             | label_116:
    0x000114b4 bltzl s2, 0x11514             |         goto label_136;
                                             |     }
    0x000114b8 addiu s2, s2, 7               |     s2 += 7;
    0x000114bc sra s2, s2, 3                 |     s2 >>= 3;
    0x000114c0 b 0x10ca8                     |     goto label_37;
                                             | label_115:
    0x000114c4 addiu v1, zero, 0x200         |     v1 = 0x200;
    0x000114c8 b 0x10c8c                     |     goto label_38;
                                             | label_111:
    0x000114cc lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             |     /* str.luks */
    0x000114d0 addiu s2, s4, -0x402c         |     s2 = s4 + -0x402c;
                                             | label_49:
    0x000114d4 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x000114d8 lw a0, 0x98(sp)               |     a0 = *(var_98h_3);
    0x000114dc jalr t9                       |     t9 ();
    0x000114e0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000114e4 sw s2, 0x318(s3)              |     *((s3 + 198)) = s2;
    0x000114e8 b 0x10760                     |     goto label_27;
                                             |     /* str.ripemd160 */
                                             | label_114:
    0x000114ec addiu v0, v0, -0x4150         |     v0 += -0x4150;
    0x000114f0 b 0x10c40                     |     goto label_39;
                                             | label_124:
    0x000114f4 lw t9, -0x7bd8(gp)            |     t9 = sym.imp.isatty;
    0x000114f8 move a0, zero                 |     a0 = 0;
    0x000114fc jalr t9                       |     t9 ();
    0x00011500 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 == 0) {
    0x00011504 beqz v0, 0x11050              |         goto label_40;
                                             |     }
    0x00011508 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0001150c lw s2, 0x1c(v0)               |     s2 = *((v0 + 7));
    0x00011510 b 0x11054                     |     goto label_41;
                                             | label_136:
    0x00011514 sra s2, s2, 3                 |     s2 >>= 3;
    0x00011518 b 0x10ca8                     |     goto label_37;
                                             | label_119:
    0x0001151c lw v0, -0x7f88(gp)            |     v0 = *(gp);
    0x00011520 b 0x10d5c                     |     goto label_42;
                                             | label_108:
    0x00011524 addiu v1, zero, 1             |     v1 = 1;
    0x00011528 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != v1) {
    0x0001152c bne v0, v1, 0x10b84           |         goto label_43;
                                             |     }
    0x00011530 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
    0x00011534 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x00011538 lw s2, (v0)                   |     s2 = *(v0);
    0x0001153c b 0x10b80                     |     goto label_44;
                                             | label_96:
    0x00011540 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cannot_determine_volume_key_size_for_LUKS_without_keyslots__please_use___key_size_option. */
    0x00011544 addiu v0, v0, -0x3998         |     v0 += -0x3998;
    0x00011548 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x0001154c addiu a3, zero, 0x56f         |     a3 = 0x56f;
    0x00011550 b 0x10a94                     |     goto label_45;
                                             | label_105:
    0x00011554 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00011558 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001155c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x00011560 addiu v0, v0, -0x49e4         |     v0 += -0x49e4;
    0x00011564 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011568 sw s5, 0x14(sp)               |     *(var_14h_3) = s5;
    0x0001156c addiu a3, zero, 0x55f         |     a3 = 0x55f;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00011570 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00011574 addiu a1, zero, 1             |     a1 = 1;
    0x00011578 move a0, zero                 |     a0 = 0;
    0x0001157c bal 0x88f0                    |     sym_clogger ();
    0x00011580 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011584 lw v0, 0x70(sp)               |     v0 = *(var_70h_2);
    0x00011588 b 0x10890                     |     goto label_23;
                                             | label_109:
    0x0001158c sw zero, 0x318(s3)            |     *((s3 + 198)) = 0;
    0x00011590 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00011594 b 0x108dc                     |     goto label_21;
                                             |     /* str.aes_cbc_essiv:sha256 */
                                             | label_117:
    0x00011598 addiu a0, a0, -0x4144         |     a0 += -0x4144;
    0x0001159c b 0x10cbc                     |     goto label_46;
                                             | label_122:
    0x000115a0 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x000115a4 lw a1, (v1)                   |     a1 = *(v1);
    0x000115a8 addiu a0, sp, 0x58            |     a0 = sp + 0x58;
    0x000115ac lw s1, 4(v1)                  |     s1 = *((v1 + 1));
    0x000115b0 jalr t9                       |     t9 ();
    0x000115b4 sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x000115b8 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x000115bc bnez v0, 0x10fa4              |         goto label_47;
                                             |     }
    0x000115c0 lw v0, 0x21f8(s7)             |     v0 = *((s7 + 2174));
    0x000115c4 lw v1, 0x21fc(s7)             |     v1 = *((s7 + 2175));
    0x000115c8 or v0, v0, v1                 |     v0 |= v1;
    0x000115cc lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
                                             |     if (v0 == 0) {
    0x000115d0 beqz v0, 0x11938              |         goto label_137;
                                             |     }
                                             | label_57:
    0x000115d4 lw v0, 0x6c(sp)               |     v0 = *(var_6ch_3);
    0x000115d8 move a3, s6                   |     a3 = s6;
                                             |     if (v0 == 0) {
    0x000115dc bnez v0, 0x115e8              |         
    0x000115e0 move a2, s3                   |         a2 = s3;
    0x000115e4 b 0x10ebc                     |         goto label_48;
                                             |     }
    0x000115e8 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x000115ec lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000115f0 lw t9, -0x7d64(gp)            |     t9 = sym.imp.__asprintf_chk
    0x000115f4 lw a3, (v0)                   |     a3 = *(v0);
                                             |     /* str.Detected_device_signature_s__on__s._Proceeding_further_may_damage_existing_data. */
    0x000115f8 addiu a2, a2, -0x3814         |     a2 += -0x3814;
    0x000115fc addiu a1, zero, 1             |     a1 = 1;
    0x00011600 addiu a0, sp, 0x60            |     a0 = sp + 0x60;
    0x00011604 jalr t9                       |     t9 ();
    0x00011608 addiu v1, zero, -1            |     v1 = -1;
    0x0001160c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011610 sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
                                             |     if (v0 == v1) {
    0x00011614 beq v0, v1, 0x119c0           |         goto label_138;
                                             |     }
    0x00011618 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x0001161c lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
    0x00011620 lw a0, 0x60(sp)               |     a0 = *(var_60h_3);
                                             |     /* str.Operation_aborted._n */
    0x00011624 addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
    0x00011628 bal 0x9020                    |     sym_yesDialog ();
    0x0001162c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011630 addiu v1, zero, -0x16         |     v1 = -0x16;
                                             |     if (v0 == 0) {
    0x00011634 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x00011638 lw t9, -0x7d5c(gp)            |     t9 = sym.imp.free;
    0x0001163c lw a0, 0x60(sp)               |     a0 = *(var_60h_3);
    0x00011640 sw v1, 0x74(sp)               |     *(var_74h_4) = v1;
    0x00011644 jalr t9                       |     t9 ();
    0x00011648 lw v0, 0x74(sp)               |     v0 = *(var_74h_4);
    0x0001164c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 < 0) {
    0x00011650 bltz v0, 0x10fa4              |         goto label_47;
                                             |     }
    0x00011654 move a3, s6                   |     a3 = s6;
    0x00011658 move a2, s3                   |     a2 = s3;
    0x0001165c b 0x10ebc                     |     goto label_48;
                                             | label_112:
    0x00011660 lw s2, -0x7fd8(gp)            |     s2 = *((gp - 8182));
    0x00011664 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             |     /* esilref: 'plain' */
    0x00011668 addiu s2, s2, -0x5938         |     s2 += -0x5938;
    0x0001166c b 0x114d4                     |     goto label_49;
                                             | label_130:
    0x00011670 addiu a0, zero, 0x11          |     a0 = 0x11;
    0x00011674 sw a0, 0xb8(sp)               |     *(var_b8h) = a0;
    0x00011678 sw v0, 0xbc(sp)               |     *(var_bch) = v0;
    0x0001167c sw zero, 0x78(sp)             |     *(var_78h_4) = 0;
    0x00011680 move s1, zero                 |     s1 = 0;
    0x00011684 b 0x11290                     |     goto label_50;
                                             | label_134:
    0x00011688 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x0001168c lw a1, (v0)                   |     a1 = *(v0);
    0x00011690 addiu a0, sp, 0x70            |     a0 = sp + 0x70;
    0x00011694 lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x00011698 jalr t9                       |     t9 ();
    0x0001169c sw v0, 0x78(sp)               |     *(var_78h_4) = v0;
    0x000116a0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x000116a4 bnez v0, 0x1149c              |         goto label_51;
                                             |     }
    0x000116a8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000116ac lw a2, 0x22dc(v0)             |     a2 = *((v0 + 2231));
    0x000116b0 lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
                                             |     if (a2 == 0) {
    0x000116b4 beqz a2, 0x119b4              |         goto label_139;
                                             |     }
                                             | label_59:
    0x000116b8 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x000116bc lw t9, -0x7e28(gp)            |     t9 = sym.imp.crypt_format;
    0x000116c0 addiu v0, sp, 0x98            |     v0 = sp + 0x98;
    0x000116c4 move a3, zero                 |     a3 = 0;
                                             |     /* str.LOOPAES */
    0x000116c8 addiu a1, a1, -0x3a0c         |     a1 += -0x3a0c;
    0x000116cc sw v0, 0x1c(sp)               |     *(var_1ch_3) = v0;
    0x000116d0 sw s2, 0x18(sp)               |     *(var_18h_4) = s2;
    0x000116d4 sw zero, 0x14(sp)             |     *(var_14h_3) = 0;
    0x000116d8 sw zero, 0x10(sp)             |     *(var_10h_4) = 0;
    0x000116dc jalr t9                       |     t9 ();
    0x000116e0 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000116e4 sw v0, 0x78(sp)               |     *(var_78h_4) = v0;
    0x000116e8 lw t9, -0x7f94(gp)            |     t9 = sym.check_signal;
    0x000116ec addiu a0, sp, 0x78            |     a0 = sp + 0x78;
    0x000116f0 bal 0x88bc                    |     sym_check_signal ();
    0x000116f4 lw v0, 0x78(sp)               |     v0 = *(var_78h_4);
    0x000116f8 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 >= 0) {
    0x000116fc bgez v0, 0x11424              |         goto label_52;
                                             |     }
    0x00011700 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x00011704 b 0x114a0                     |     goto label_53;
                                             | label_135:
    0x00011708 lw a3, -0x7fd8(gp)            |     a3 = *((gp - 8182));
                                             |     /* str._dev_stdin */
    0x0001170c addiu a3, a3, -0x3a50         |     a3 += -0x3a50;
    0x00011710 b 0x11458                     |     goto label_54;
                                             | label_118:
    0x00011714 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00011718 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001171c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.No_known_cipher_specification_pattern_detected. */
    0x00011720 addiu v0, v0, -0x3908         |     v0 += -0x3908;
    0x00011724 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011728 addiu a3, zero, 0xf6          |     a3 = 0xf6;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001172c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00011730 addiu a1, zero, 1             |     a1 = 1;
    0x00011734 move a0, zero                 |     a0 = 0;
    0x00011738 bal 0x88f0                    |     sym_clogger ();
    0x0001173c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011740 b 0x10fa4                     |     goto label_47;
                                             | label_129:
    0x00011744 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011748 addiu a3, zero, 1             |     a3 = 1;
    0x0001174c sw zero, 0x74(sp)             |     *(var_74h_4) = 0;
    0x00011750 lw v1, 0x18(v0)               |     v1 = *((v0 + 6));
    0x00011754 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011758 sw zero, 0x98(sp)             |     *(var_98h_3) = 0;
    0x0001175c sw zero, 0x9c(sp)             |     *(var_9ch_3) = 0;
    0x00011760 lw a1, 0x21ac(v0)             |     a1 = *((v0 + 2155));
    0x00011764 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011768 sw zero, 0xa8(sp)             |     *(var_a8h) = 0;
    0x0001176c sw zero, 0xac(sp)             |     *(var_ach) = 0;
    0x00011770 lw a2, 0x22c0(v0)             |     a2 = *((v0 + 2224));
    0x00011774 slti v0, v1, 0                |     v0 = (v1 < 0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00011778 movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x0001177c move v0, v1                   |     v0 = v1;
    0x00011780 addiu v1, zero, 0x11          |     v1 = 0x11;
                                             |     if (a1 != 0) {
    0x00011784 movz v1, a3, a1               |         v1 = a3;
                                             |     }
    0x00011788 move a1, v1                   |     a1 = v1;
    0x0001178c lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00011790 sw zero, 0xb0(sp)             |     *(var_b0h) = 0;
    0x00011794 addiu v1, v1, 0x2240          |     v1 += 0x2240;
    0x00011798 sw v1, 0xa0(sp)               |     *(var_a0h) = v1;
    0x0001179c lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x000117a0 sw zero, 0xb4(sp)             |     *(var_b4h) = 0;
    0x000117a4 sw a2, 0xa4(sp)               |     *(var_a4h) = a2;
    0x000117a8 lw v1, 0x20f0(v1)             |     v1 = *((v1 + 2108));
    0x000117ac sw a1, 0xb8(sp)               |     *(var_b8h) = a1;
    0x000117b0 sw v0, 0xbc(sp)               |     *(var_bch) = v0;
    0x000117b4 sw zero, 0x78(sp)             |     *(var_78h_4) = 0;
                                             |     if (a0 != 0) {
    0x000117b8 bnez a0, 0x11a28              |         goto label_140;
                                             |     }
    0x000117bc lw s1, 4(v1)                  |     s1 = *((v1 + 1));
    0x000117c0 b 0x11290                     |     goto label_50;
                                             | label_120:
    0x000117c4 lw v0, 0x40(sp)               |     v0 = *(var_40h_3);
                                             | label_121:
    0x000117c8 lw a0, 0x22c8(v0)             |     a0 = *((v0 + 2226));
    0x000117cc lw t9, -0x7f84(gp)            |     t9 = sym.tools_is_stdin;
                                             |     if (a0 == 0) {
    0x000117d0 beqz a0, 0x10d88              |         goto label_55;
                                             |     }
    0x000117d4 bal 0xa728                    |     sym_tools_is_stdin ();
    0x000117d8 nop                           |     
    0x000117dc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 != 0) {
    0x000117e0 bnez v0, 0x10d88              |         goto label_55;
                                             |     }
    0x000117e4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000117e8 lw v0, 0x2224(v0)             |     v0 = *((v0 + 2185));
    0x000117ec lw s4, -0x7fdc(gp)            |     s4 = *(gp);
                                             |     if (v0 == 0) {
    0x000117f0 beqz v0, 0x10d8c              |         goto label_56;
                                             |     }
    0x000117f4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000117f8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000117fc lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.WARNING:_The___keyfile_size_option_is_being_ignored__the_read_size_is_the_same_as_the_encryption_key_size._n */
    0x00011800 addiu v0, v0, -0x3880         |     v0 += -0x3880;
    0x00011804 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011808 addiu a3, zero, 0x107         |     a3 = 0x107;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001180c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00011810 move a1, zero                 |     a1 = 0;
    0x00011814 move a0, zero                 |     a0 = 0;
    0x00011818 bal 0x88f0                    |     sym_clogger ();
    0x0001181c lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011820 b 0x10d88                     |     goto label_55;
                                             | label_113:
    0x00011824 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00011828 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001182c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Refresh_is_not_supported_for_device_type__s */
    0x00011830 addiu v0, v0, -0x3a04         |     v0 += -0x3a04;
    0x00011834 addiu a3, zero, 0x85a         |     a3 = 0x85a;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00011838 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0001183c addiu a1, zero, 1             |     a1 = 1;
    0x00011840 move a0, zero                 |     a0 = 0;
    0x00011844 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011848 sw s4, 0x14(sp)               |     *(var_14h_3) = s4;
    0x0001184c bal 0x88f0                    |     sym_clogger ();
    0x00011850 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011854 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00011858 lw a0, 0x98(sp)               |     a0 = *(var_98h_3);
    0x0001185c lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x00011860 sw v0, 0x38(sp)               |     *(var_38h_3) = v0;
    0x00011864 jalr t9                       |     t9 ();
    0x00011868 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x0001186c sw zero, 0x318(s3)            |     *((s3 + 198)) = 0;
    0x00011870 lw v0, 0x38(sp)               |     v0 = *(var_38h_3);
    0x00011874 b 0x108dc                     |     goto label_21;
                                             | label_123:
    0x00011878 lw v0, 0x40(sp)               |     v0 = *(var_40h_3);
    0x0001187c lw s3, 0x22c8(v0)             |     s3 = *((v0 + 2226));
    0x00011880 lw v0, 0x98(sp)               |     v0 = *(var_98h_3);
                                             |     if (s3 != 0) {
    0x00011884 beqz s3, 0x11890              |         
    0x00011888 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 == 0) {
    0x0001188c beqz v0, 0x1189c              |             goto label_141;
                                             |         }
                                             |     }
    0x00011890 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00011894 lw s2, 0x2224(v0)             |     s2 = *((v0 + 2185));
    0x00011898 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             | label_141:
    0x0001189c lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x000118a0 move a0, zero                 |     a0 = 0;
    0x000118a4 lw s4, 0x2218(v0)             |     s4 = *((v0 + 2182));
    0x000118a8 lw s5, 0x221c(v0)             |     s5 = *((v0 + 2183));
    0x000118ac lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000118b0 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x000118b4 lw s6, 0x21e0(v0)             |     s6 = *((v0 + 2168));
    0x000118b8 bal 0xf10c                    |     fcn_0000f10c ();
    0x000118bc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000118c0 lw v1, 0x58(sp)               |     v1 = *(var_58h_3);
    0x000118c4 sw zero, 0x28(sp)             |     *(var_28h_3) = 0;
    0x000118c8 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x000118cc sw v1, 0x2c(sp)               |     *(var_2ch_4) = v1;
    0x000118d0 sw v0, 0x24(sp)               |     *(var_24h_4) = v0;
    0x000118d4 sw s6, 0x20(sp)               |     *(var_20h_3) = s6;
    0x000118d8 sw s3, 0x1c(sp)               |     *(var_1ch_3) = s3;
    0x000118dc sw s2, 0x18(sp)               |     *(var_18h_4) = s2;
    0x000118e0 sw s4, 0x10(sp)               |     *(var_10h_4) = s4;
    0x000118e4 sw s5, 0x14(sp)               |     *(var_14h_3) = s5;
    0x000118e8 addiu a2, sp, 0x68            |     a2 = sp + 0x68;
    0x000118ec addiu a1, sp, 0x64            |     a1 = sp + 0x64;
    0x000118f0 move a0, zero                 |     a0 = 0;
    0x000118f4 bal 0xab80                    |     sym_tools_get_key ();
    0x000118f8 sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x000118fc lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 < 0) {
    0x00011900 bltz v0, 0x10fa4              |         goto label_47;
                                             |     }
    0x00011904 lw v0, 0x70(sp)               |     v0 = *(var_70h_2);
    0x00011908 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x0001190c sw v0, 0x14(sp)               |     *(var_14h_3) = v0;
    0x00011910 lw v0, 0x68(sp)               |     v0 = *(var_68h_3);
    0x00011914 lw a3, 0x64(sp)               |     a3 = *(var_64h_3);
    0x00011918 lw a0, 0x58(sp)               |     a0 = *(var_58h_3);
    0x0001191c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011920 addiu a2, zero, -1            |     a2 = -1;
    0x00011924 move a1, s1                   |     a1 = s1;
    0x00011928 jalr t9                       |     t9 ();
    0x0001192c sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x00011930 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011934 b 0x10fa4                     |     goto label_47;
                                             | label_137:
    0x00011938 lw t9, -0x7f78(gp)            |     t9 = sym.tools_detect_signatures;
    0x0001193c addiu a2, sp, 0x6c            |     a2 = sp + 0x6c;
    0x00011940 lw a0, (v0)                   |     a0 = *(v0);
    0x00011944 move a1, zero                 |     a1 = 0;
    0x00011948 bal 0xa098                    |     sym_tools_detect_signatures ();
    0x0001194c sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x00011950 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
                                             |     if (v0 >= 0) {
    0x00011954 bgez v0, 0x115d4              |         goto label_57;
                                             |     }
    0x00011958 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x0001195c b 0x10fa8                     |     goto label_58;
                                             | label_110:
    0x00011960 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
    0x00011964 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00011968 lw a0, 0x98(sp)               |     a0 = *(var_98h_3);
    0x0001196c sw v0, 0x38(sp)               |     *(var_38h_3) = v0;
    0x00011970 jalr t9                       |     t9 ();
    0x00011974 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011978 sw s2, 0x14(sp)               |     *(var_14h_3) = s2;
    0x0001197c addiu a3, zero, 0x84f         |     a3 = 0x84f;
    0x00011980 lw v1, -0x7fd8(gp)            |     v1 = *((gp - 8182));
    0x00011984 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00011988 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str._s_is_not_cryptsetup_managed_device. */
    0x0001198c addiu v1, v1, -0x3a44         |     v1 += -0x3a44;
    0x00011990 sw v1, 0x10(sp)               |     *(var_10h_4) = v1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00011994 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00011998 addiu a1, zero, 1             |     a1 = 1;
    0x0001199c move a0, zero                 |     a0 = 0;
    0x000119a0 bal 0x88f0                    |     sym_clogger ();
    0x000119a4 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x000119a8 sw zero, 0x318(s3)            |     *((s3 + 198)) = 0;
    0x000119ac lw v0, 0x38(sp)               |     v0 = *(var_38h_3);
    0x000119b0 b 0x108dc                     |     goto label_21;
                                             | label_139:
    0x000119b4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
                                             |     /* esilref: 'aes' */
    0x000119b8 addiu a2, a2, -0x3a54         |     a2 += -0x3a54;
    0x000119bc b 0x116b8                     |     goto label_59;
                                             | label_138:
    0x000119c0 addiu v0, zero, -0xc          |     v0 = -0xc;
    0x000119c4 sw v0, 0x74(sp)               |     *(var_74h_4) = v0;
    0x000119c8 b 0x10fa4                     |     goto label_47;
                                             | label_99:
    0x000119cc lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000119d0 jalr t9                       |     t9 ();
    0x000119d4 nop                           |     
                                             | label_128:
    0x000119d8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000119dc lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000119e0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Unrecognized_metadata_device_type__s. */
    0x000119e4 addiu v0, v0, -0x3798         |     v0 += -0x3798;
    0x000119e8 sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x000119ec sw s2, 0x14(sp)               |     *(var_14h_3) = s2;
    0x000119f0 addiu a3, zero, 0x880         |     a3 = 0x880;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000119f4 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000119f8 addiu a1, zero, 1             |     a1 = 1;
    0x000119fc move a0, zero                 |     a0 = 0;
    0x00011a00 bal 0x88f0                    |     sym_clogger ();
    0x00011a04 lw gp, 0x30(sp)               |     gp = *(var_30h_6);
    0x00011a08 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00011a0c b 0x108dc                     |     goto label_21;
                                             | label_133:
    0x00011a10 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00011a14 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Option___key_file_is_required. */
    0x00011a18 addiu v0, v0, -0x37c0         |     v0 += -0x37c0;
    0x00011a1c sw v0, 0x10(sp)               |     *(var_10h_4) = v0;
    0x00011a20 addiu a3, zero, 0x178         |     a3 = 0x178;
    0x00011a24 b 0x1099c                     |     goto label_60;
                                             | label_140:
    0x00011a28 move s1, zero                 |     s1 = 0;
    0x00011a2c b 0x11290                     |     goto label_50;
                                             | label_106:
    0x00011a30 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x00011a34 b 0x109d0                     |     goto label_61;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/cryptsetup @ 0x12d70 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00012d70 ()                  | void fcn_00012d70 () {
    0x00012d70 lui gp, 2                     |     
    0x00012d74 addiu gp, gp, 0x5eb0          |     
    0x00012d78 addu gp, gp, t9               |     gp += t9;
    0x00012d7c addiu sp, sp, -0x2d0          |     
    0x00012d80 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012d84 sw s3, 0x2b4(sp)              |     *(var_2b4h) = s3;
    0x00012d88 lw s3, -0x7bf0(gp)            |     s3 = *((gp - 7932));
    0x00012d8c lw v0, 0x22d4(v0)             |     v0 = *((v0 + 2229));
    0x00012d90 sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x00012d94 lw v1, (s3)                   |     v1 = *(s3);
    0x00012d98 sw s7, 0x2c4(sp)              |     *(var_2c4h) = s7;
    0x00012d9c sw v1, 0x2a4(sp)              |     *(var_2a4h) = v1;
    0x00012da0 addiu v1, zero, -0x16         |     v1 = -0x16;
    0x00012da4 sw s6, 0x2c0(sp)              |     *(var_2c0h) = s6;
    0x00012da8 sw ra, 0x2cc(sp)              |     *(var_2cch) = ra;
    0x00012dac sw fp, 0x2c8(sp)              |     *(var_2c8h) = fp;
    0x00012db0 sw s5, 0x2bc(sp)              |     *(var_2bch) = s5;
    0x00012db4 sw s4, 0x2b8(sp)              |     *(var_2b8h) = s4;
    0x00012db8 sw s2, 0x2b0(sp)              |     *(var_2b0h) = s2;
    0x00012dbc sw s1, 0x2ac(sp)              |     *(var_2ach) = s1;
    0x00012dc0 sw s0, 0x2a8(sp)              |     *(var_2a8h) = s0;
    0x00012dc4 move s6, a0                   |     s6 = a0;
    0x00012dc8 move s7, a1                   |     s7 = a1;
    0x00012dcc sw a2, 0x38(sp)               |     *(var_38h) = a2;
    0x00012dd0 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x00012dd4 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x00012dd8 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x00012ddc sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x00012de0 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x00012de4 sw zero, 0x78(sp)             |     *(var_78h) = 0;
                                             |     if (v0 == 0) {
    0x00012de8 beqz v0, 0x133dc              |         goto label_21;
                                             |     }
                                             | label_3:
    0x00012dec lw s0, -0x7fdc(gp)            |     s0 = *(gp);
    0x00012df0 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00012df4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012df8 lw a0, 0x21dc(v0)             |     a0 = *((v0 + 2167));
    0x00012dfc lw v0, 0x2230(s0)             |     v0 = *((s0 + 2188));
    0x00012e00 sw a0, 0x80(sp)               |     *(var_80h) = a0;
                                             |     if (v0 != 0) {
    0x00012e04 beqz v0, 0x12e14              |         
    0x00012e08 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00012e0c lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x00012e10 lw v0, (v0)                   |         v0 = *(v0);
                                             |     }
    0x00012e14 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x00012e18 sw v0, 0x84(sp)               |     *(var_84h) = v0;
    0x00012e1c sw zero, 0x88(sp)             |     *(var_88h) = 0;
    0x00012e20 lw v1, 0x2174(s2)             |     v1 = *((s2 + 2141));
    0x00012e24 sw zero, 0x8c(sp)             |     *(var_8ch) = 0;
    0x00012e28 sw zero, 0x90(sp)             |     *(var_90h) = 0;
    0x00012e2c sw a0, 0x94(sp)               |     *(var_94h) = a0;
    0x00012e30 sw v0, 0x98(sp)               |     *(var_98h) = v0;
                                             |     if (v1 == 0) {
    0x00012e34 bnez v1, 0x12e3c              |         
    0x00012e38 addiu v1, zero, 0x200         |         v1 = 0x200;
                                             |     }
    0x00012e3c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012e40 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00012e44 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00012e48 lw a1, 0x216c(v0)             |     a1 = *((v0 + 2139));
    0x00012e4c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012e50 lw a0, 0x318(a0)              |     a0 = *((a0 + 198));
    0x00012e54 sw v1, 0x9c(sp)               |     *(var_9ch) = v1;
    0x00012e58 lw v0, 0x2168(v0)             |     v0 = *((v0 + 2138));
    0x00012e5c sw a1, 0xa0(sp)               |     *(var_a0h) = a1;
    0x00012e60 addiu t9, t9, -0x1d10         |     t9 += -0x1d10;
    0x00012e64 sw v0, 0xa4(sp)               |     *(var_a4h) = v0;
    0x00012e68 bal 0xe2f0                    |     fcn_0000e2f0 ();
    0x00012e6c move s1, v0                   |     s1 = v0;
    0x00012e70 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00012e74 beqz v0, 0x13578              |         goto label_22;
                                             |     }
                                             | label_10:
    0x00012e78 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00012e7c lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'LUKS2' */
    0x00012e80 addiu a1, a1, -0x670          |     a1 += -0x670;
    0x00012e84 move a0, s1                   |     a0 = s1;
    0x00012e88 jalr t9                       |     t9 ();
    0x00012e8c lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x00012e90 beqz v0, 0x132d0              |         goto label_23;
                                             |     }
    0x00012e94 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00012e98 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* str.LUKS1 */
    0x00012e9c addiu a1, a1, -0x488c         |     a1 += -0x488c;
    0x00012ea0 move a0, s1                   |     a0 = s1;
    0x00012ea4 jalr t9                       |     t9 ();
    0x00012ea8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00012eac bnez v0, 0x136f8              |         goto label_24;
                                             |     }
    0x00012eb0 lw v0, 0x2174(s2)             |     v0 = *((s2 + 2141));
    0x00012eb4 slti v0, v0, 0x201            |     v0 = (v0 < 0x201) ? 1 : 0;
    0x00012eb8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x00012ebc beqz v0, 0x138a0              |         goto label_25;
                                             |     }
    0x00012ec0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00012ec4 lw v0, 0x2184(v0)             |     v0 = *((v0 + 2145));
    0x00012ec8 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
                                             |     if (v0 != 0) {
    0x00012ecc bnez v0, 0x136cc              |         goto label_26;
                                             |     }
    0x00012ed0 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00012ed4 addiu v0, sp, 0x7c            |     v0 = sp + 0x7c;
    0x00012ed8 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00012edc lw a1, 0x2108(a0)             |     a1 = *((a0 + 2114));
    0x00012ee0 lw v0, 0x20f8(v1)             |     v0 = *((v1 + 2110));
    0x00012ee4 lw a0, 0x210c(a0)             |     a0 = *((a0 + 2115));
    0x00012ee8 lw v1, 0x20fc(v1)             |     v1 = *((v1 + 2111));
    0x00012eec or v0, v0, a1                 |     v0 |= a1;
    0x00012ef0 or v1, v1, a0                 |     v1 |= a0;
    0x00012ef4 or v0, v0, v1                 |     v0 |= v1;
    0x00012ef8 lw a1, 0x2230(s0)             |     a1 = *((s0 + 2188));
                                             |     if (v0 != 0) {
    0x00012efc bnez v0, 0x13888              |         goto label_27;
                                             |     }
    0x00012f00 move s5, zero                 |     s5 = 0;
                                             |     if (a1 == 0) {
    0x00012f04 beqz a1, 0x132e4              |         goto label_28;
                                             |     }
                                             |     do {
    0x00012f08 lw t9, -0x7e34(gp)            |         t9 = sym.imp.__xstat64;
    0x00012f0c addiu a2, sp, 0xa8            |         a2 = sp + 0xa8;
    0x00012f10 addiu a0, zero, 3             |         a0 = 3;
    0x00012f14 jalr t9                       |         t9 ();
    0x00012f18 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00012f1c bltz v0, 0x1330c              |             goto label_29;
                                             |         }
                                             | label_2:
    0x00012f20 move s5, zero                 |         s5 = 0;
    0x00012f24 lw s2, 0x2230(s0)             |         s2 = *((s0 + 2188));
                                             | label_9:
    0x00012f28 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (s2 == 0) {
    0x00012f2c beqz s2, 0x132e4              |             goto label_28;
                                             |         }
    0x00012f30 lw a0, 0x22dc(v0)             |         a0 = *((v0 + 2231));
                                             |         if (a0 == 0) {
    0x00012f34 beql a0, zero, 0x13304        |             goto label_30;
                                             |         }
    0x00012f38 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
                                             | label_1:
    0x00012f3c lw t9, -0x7f6c(gp)            |         t9 = sym.crypt_parse_name_and_mode;
                                             | label_0:
    0x00012f40 addiu v0, sp, 0x17c           |         v0 = sp + aav.0x0000017c;
    0x00012f44 addiu s4, sp, 0x15c           |         s4 = sp + 0x15c;
    0x00012f48 sw v0, 0x3c(sp)               |         *(var_3ch) = v0;
    0x00012f4c move a3, v0                   |         a3 = v0;
    0x00012f50 move a2, zero                 |         a2 = 0;
    0x00012f54 move a1, s4                   |         a1 = s4;
    0x00012f58 bal 0x6338                    |         sym_crypt_parse_name_and_mode ();
    0x00012f5c sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00012f60 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00012f64 bltz v0, 0x13590              |             goto label_31;
                                             |         }
    0x00012f68 lw fp, -0x7fdc(gp)            |         fp = *(gp);
    0x00012f6c lw a0, 0x2184(fp)             |         a0 = *(arg_2184h);
    0x00012f70 lw t9, -0x7f60(gp)            |         t9 = sym.crypt_parse_integrity_mode;
                                             |         if (a0 != 0) {
    0x00012f74 beqz a0, 0x12fa0              |             
    0x00012f78 addiu v0, sp, 0x19c           |             v0 = sp + 0x19c;
    0x00012f7c sw v0, 0x44(sp)               |             *(var_44h) = v0;
    0x00012f80 addiu a2, sp, 0x60            |             a2 = sp + 0x60;
    0x00012f84 move a1, v0                   |             a1 = v0;
    0x00012f88 bal 0x66a8                    |             sym_crypt_parse_integrity_mode ();
    0x00012f8c sw v0, 0x5c(sp)               |             *(var_5ch) = v0;
    0x00012f90 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 < 0) {
    0x00012f94 bltz v0, 0x135f8              |                 goto label_32;
                                             |             }
    0x00012f98 lw v0, 0x44(sp)               |             v0 = *(var_44h);
    0x00012f9c sw v0, 0x8c(sp)               |             *(var_8ch) = v0;
                                             |         }
    0x00012fa0 lw t9, -0x7f68(gp)            |         t9 = sym.tools_is_cipher_null;
    0x00012fa4 move a0, s4                   |         a0 = s4;
    0x00012fa8 bal 0xa6e4                    |         sym_tools_is_cipher_null ();
    0x00012fac lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x00012fb0 beqz v0, 0x12fc0              |             
    0x00012fb4 lw v0, -0x7f64(gp)            |             v0 = *(gp);
    0x00012fb8 addiu v1, zero, 1             |             v1 = 1;
    0x00012fbc sw v1, (v0)                   |             *(v0) = v1;
                                             |         }
    0x00012fc0 lw t9, -0x7c84(gp)            |         t9 = sym.imp.crypt_init;
    0x00012fc4 move a1, s2                   |         a1 = s2;
    0x00012fc8 addiu a0, sp, 0x78            |         a0 = sp + 0x78;
    0x00012fcc jalr t9                       |         t9 ();
    0x00012fd0 sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00012fd4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x00012fd8 bnez v0, 0x133e8              |             goto label_33;
                                             |         }
    0x00012fdc lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00012fe0 lw v1, -0x7fdc(gp)            |         v1 = *(gp);
    0x00012fe4 lw a3, 0x210c(v0)             |         a3 = *((v0 + 2115));
    0x00012fe8 lw a1, 0x20f8(v1)             |         a1 = *((v1 + 2110));
    0x00012fec lw a2, 0x2108(v0)             |         a2 = *((v0 + 2114));
    0x00012ff0 lw v1, 0x20fc(v1)             |         v1 = *((v1 + 2111));
    0x00012ff4 or v0, a1, a2                 |         v0 = a1 | a2;
    0x00012ff8 or a0, v1, a3                 |         a0 = v1 | a3;
    0x00012ffc or v0, v0, a0                 |         v0 |= a0;
    0x00013000 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x00013004 beqz v0, 0x1302c              |             
    0x00013008 lw t9, -0x7e14(gp)            |             t9 = sym.imp.crypt_set_metadata_size;
    0x0001300c lw a0, 0x78(sp)               |             a0 = *(var_78h);
    0x00013010 sw a1, 0x10(sp)               |             *(var_10h) = a1;
    0x00013014 sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x00013018 jalr t9                       |             t9 ();
    0x0001301c sw v0, 0x5c(sp)               |             *(var_5ch) = v0;
    0x00013020 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 < 0) {
    0x00013024 bltz v0, 0x13690              |                 goto label_34;
                                             |             }
    0x00013028 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
                                             |         }
    0x0001302c lw a2, 0x21f8(v0)             |         a2 = *((v0 + 2174));
    0x00013030 lw a3, 0x21fc(v0)             |         a3 = *((v0 + 2175));
    0x00013034 or v0, a2, a3                 |         v0 = a2 | a3;
    0x00013038 lw t9, -0x7f78(gp)            |         t9 = sym.tools_detect_signatures;
                                             |         if (v0 != 0) {
    0x0001303c beqz v0, 0x1305c              |             
    0x00013040 lw t9, -0x7d84(gp)            |             t9 = sym.imp.crypt_set_data_offset;
    0x00013044 lw a0, 0x78(sp)               |             a0 = *(var_78h);
    0x00013048 jalr t9                       |             t9 ();
    0x0001304c sw v0, 0x5c(sp)               |             *(var_5ch) = v0;
    0x00013050 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 < 0) {
    0x00013054 bltz v0, 0x13368              |                 goto label_35;
                                             |             }
    0x00013058 lw t9, -0x7f78(gp)            |             t9 = sym.tools_detect_signatures;
                                             |         }
    0x0001305c addiu a2, sp, 0x74            |         a2 = sp + 0x74;
    0x00013060 move a1, zero                 |         a1 = 0;
    0x00013064 move a0, s2                   |         a0 = s2;
    0x00013068 bal 0xa098                    |         sym_tools_detect_signatures ();
    0x0001306c sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00013070 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00013074 bltz v0, 0x13368              |             goto label_35;
                                             |         }
    0x00013078 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
                                             |         if (s5 == 0) {
    0x0001307c beqz s5, 0x13438              |             goto label_36;
                                             |         }
                                             | label_7:
    0x00013080 lw s5, -0x7fdc(gp)            |         s5 = *(gp);
    0x00013084 lw s0, 0x222c(s5)             |         s0 = *((s5 + 2187));
    0x00013088 lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
                                             |         if (s0 != 0) {
    0x0001308c bnez s0, 0x13428              |             goto label_37;
                                             |         }
    0x00013090 lw t9, -0x7d74(gp)            |         t9 = sym.imp.strncmp;
    0x00013094 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x00013098 addiu a2, zero, 4             |         a2 = 4;
                                             |         /* str.xts_ */
    0x0001309c addiu a1, a1, -0x344c         |         a1 += -0x344c;
    0x000130a0 jalr t9                       |         t9 ();
    0x000130a4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x000130a8 bnez v0, 0x13628              |             goto label_38;
                                             |         }
    0x000130ac addiu v0, zero, 0x200         |         v0 = 0x200;
    0x000130b0 sw v0, 0x222c(s5)             |         *((s5 + 2187)) = v0;
    0x000130b4 addiu v0, zero, 0x40          |         v0 = 0x40;
    0x000130b8 sw v0, 0x54(sp)               |         *(var_54h) = v0;
                                             | label_5:
    0x000130bc lw v0, 0x60(sp)               |         v0 = *(var_60h);
    0x000130c0 sw v0, 0x50(sp)               |         *(var_50h) = v0;
    0x000130c4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000130c8 lw v0, 0x21d8(v0)             |         v0 = *((v0 + 2166));
    0x000130cc lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x000130d0 bnez v0, 0x13610              |             goto label_39;
                                             |         }
    0x000130d4 lw v0, 0x21d4(v0)             |         v0 = *((v0 + 2165));
    0x000130d8 lw t9, -0x7d20(gp)            |         t9 = sym.imp.crypt_set_rng_type;
                                             |         if (v0 != 0) {
    0x000130dc bnez v0, 0x13634              |             goto label_40;
                                             |         }
                                             | label_14:
    0x000130e0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000130e4 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x000130e8 addiu a0, zero, 1             |         a0 = 1;
    0x000130ec lw a2, 0x2218(v0)             |         a2 = *((v0 + 2182));
    0x000130f0 lw a3, 0x221c(v0)             |         a3 = *((v0 + 2183));
    0x000130f4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000130f8 sw a2, 0x48(sp)               |         *(var_48h) = a2;
    0x000130fc sw a3, 0x4c(sp)               |         *(var_4ch) = a3;
    0x00013100 lw s5, 0x2224(v0)             |         s5 = *((v0 + 2185));
    0x00013104 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00013108 addiu t9, t9, -0xef4          |         t9 += -0xef4;
    0x0001310c lw s0, 0x22c8(v0)             |         s0 = *((v0 + 2226));
    0x00013110 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00013114 lw t0, 0x21e0(v0)             |         t0 = *((v0 + 2168));
    0x00013118 sw t0, 0x44(sp)               |         *(var_44h) = t0;
    0x0001311c bal 0xf10c                    |         fcn_0000f10c ();
    0x00013120 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013124 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00013128 lw a2, 0x48(sp)               |         a2 = *(var_48h);
    0x0001312c lw t0, 0x44(sp)               |         t0 = *(var_44h);
    0x00013130 lw a3, 0x4c(sp)               |         a3 = *(var_4ch);
    0x00013134 sw a0, 0x2c(sp)               |         *(var_2ch) = a0;
    0x00013138 lw t9, -0x7fbc(gp)            |         t9 = sym.tools_get_key;
    0x0001313c addiu a0, zero, 1             |         a0 = 1;
    0x00013140 sw a0, 0x28(sp)               |         *(var_28h) = a0;
    0x00013144 sw a2, 0x10(sp)               |         *(var_10h) = a2;
    0x00013148 sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x0001314c sw t0, 0x20(sp)               |         *(var_20h) = t0;
    0x00013150 sw s0, 0x1c(sp)               |         *(var_1ch) = s0;
    0x00013154 sw s5, 0x18(sp)               |         *(var_18h) = s5;
    0x00013158 sw a3, 0x14(sp)               |         *(var_14h) = a3;
    0x0001315c addiu a2, sp, 0x70            |         a2 = sp + 0x70;
    0x00013160 addiu a1, sp, 0x6c            |         a1 = sp + 0x6c;
    0x00013164 move a0, zero                 |         a0 = 0;
    0x00013168 bal 0xab80                    |         sym_tools_get_key ();
    0x0001316c sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00013170 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00013174 bltz v0, 0x13368              |             goto label_35;
                                             |         }
    0x00013178 lw v0, 0x50(sp)               |         v0 = *(var_50h);
    0x0001317c lw v1, 0x54(sp)               |         v1 = *(var_54h);
    0x00013180 addu s0, v0, v1               |         s0 = v0 + v1;
    0x00013184 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00013188 lw a0, 0x223c(v0)             |         a0 = *((v0 + 2191));
    0x0001318c lw t9, -0x7f70(gp)            |         t9 = sym.tools_read_mk;
                                             |         if (a0 != 0) {
    0x00013190 beqz a0, 0x131ac              |             
    0x00013194 move a2, s0                   |             a2 = s0;
    0x00013198 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0001319c bal 0xb14c                    |             sym_tools_read_mk ();
    0x000131a0 sw v0, 0x5c(sp)               |             *(var_5ch) = v0;
    0x000131a4 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 < 0) {
    0x000131a8 bltz v0, 0x13368              |                 goto label_35;
                                             |             }
                                             |         }
    0x000131ac lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x000131b0 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x000131b4 addiu t9, t9, -0x3408         |         t9 += -0x3408;
    0x000131b8 move a1, s1                   |         a1 = s1;
    0x000131bc bal 0xcbf8                    |         fcn_0000cbf8 ();
    0x000131c0 sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x000131c4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 != 0) {
    0x000131c8 bnez v0, 0x136a8              |             goto label_41;
                                             |         }
    0x000131cc lw v0, 0x74(sp)               |         v0 = *(var_74h);
    0x000131d0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x000131d4 beqz v0, 0x131f4              |             
    0x000131d8 lw t9, -0x7f5c(gp)            |             t9 = sym.tools_wipe_all_signatures;
    0x000131dc move a0, s2                   |             a0 = s2;
    0x000131e0 bal 0xa374                    |             sym_tools_wipe_all_signatures ();
    0x000131e4 sw v0, 0x5c(sp)               |             *(var_5ch) = v0;
    0x000131e8 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 < 0) {
    0x000131ec bltz v0, 0x13368              |                 goto label_35;
                                             |             }
    0x000131f0 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
                                             |         }
    0x000131f4 lw v1, 0x40(sp)               |         v1 = *(var_40h);
    0x000131f8 lw t9, -0x7e28(gp)            |         t9 = sym.imp.crypt_format;
    0x000131fc lw v0, 0x2234(v0)             |         v0 = *((v0 + 2189));
    0x00013200 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00013204 lw v1, 0x68(sp)               |         v1 = *(var_68h);
    0x00013208 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x0001320c lw a3, 0x3c(sp)               |         a3 = *(var_3ch);
    0x00013210 move a2, s4                   |         a2 = s4;
    0x00013214 move a1, s1                   |         a1 = s1;
    0x00013218 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0001321c sw s0, 0x18(sp)               |         *(var_18h) = s0;
    0x00013220 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00013224 jalr t9                       |         t9 ();
    0x00013228 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x0001322c sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00013230 lw t9, -0x7f94(gp)            |         t9 = sym.check_signal;
    0x00013234 addiu a0, sp, 0x5c            |         a0 = sp + 0x5c;
    0x00013238 bal 0x88bc                    |         sym_check_signal ();
    0x0001323c lw v0, 0x5c(sp)               |         v0 = *(var_5ch);
    0x00013240 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00013244 bltz v0, 0x13368              |             goto label_35;
                                             |         }
    0x00013248 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
                                             |         /* fcn.00011b38 */
    0x0001324c addiu t9, t9, 0x1b38          |         t9 += 0x1b38;
    0x00013250 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x00013254 bal 0x11b38                   |         fcn_00011b38 ();
    0x00013258 sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x0001325c lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00013260 bltz v0, 0x13368              |             goto label_35;
                                             |         }
    0x00013264 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00013268 lw t9, -0x7cd0(gp)            |         t9 = sym.imp.crypt_keyslot_add_by_volume_key;
    0x0001326c lw a2, 0x68(sp)               |         a2 = *(var_68h);
    0x00013270 lw a1, 0x24(v0)               |         a1 = *((v0 + 9));
    0x00013274 lw v0, 0x70(sp)               |         v0 = *(var_70h);
    0x00013278 lw a0, 0x78(sp)               |         a0 = *(var_78h);
    0x0001327c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00013280 lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00013284 move a3, s0                   |         a3 = s0;
    0x00013288 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0001328c jalr t9                       |         t9 ();
    0x00013290 sw v0, 0x5c(sp)               |         *(var_5ch) = v0;
    0x00013294 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x00013298 bltz v0, 0x13700              |             goto label_42;
                                             |         }
    0x0001329c lw t9, -0x7fb8(gp)            |         t9 = sym.tools_keyslot_msg;
    0x000132a0 move a0, v0                   |         a0 = v0;
    0x000132a4 move a1, zero                 |         a1 = 0;
    0x000132a8 bal 0x9560                    |         sym_tools_keyslot_msg ();
    0x000132ac lw v0, 0x2184(fp)             |         v0 = *(arg_2184h);
    0x000132b0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 == 0) {
    0x000132b4 beqz v0, 0x135bc              |             goto label_43;
                                             |         }
    0x000132b8 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000132bc lw v0, 0x217c(v0)             |         v0 = *((v0 + 2143));
    0x000132c0 lw s0, 0x78(sp)               |         s0 = *(var_78h);
                                             |         if (v0 == 0) {
    0x000132c4 beqz v0, 0x1371c              |             goto label_44;
                                             |         }
    0x000132c8 lw s1, 0x5c(sp)               |         s1 = *(var_5ch);
    0x000132cc b 0x135c4                     |         goto label_17;
                                             | label_23:
    0x000132d0 lw a1, 0x2230(s0)             |         a1 = *((s0 + 2188));
    0x000132d4 addiu v0, sp, 0x88            |         v0 = sp + 0x88;
    0x000132d8 sw v0, 0x40(sp)               |         *(var_40h) = v0;
    0x000132dc bnez a1, 0x12f08              |         
                                             |     } while (a1 != 0);
    0x000132e0 move s5, zero                 |     s5 = 0;
                                             | label_28:
    0x000132e4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000132e8 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x000132ec lw s2, (v0)                   |     s2 = *(v0);
    0x000132f0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000132f4 lw a0, 0x22dc(v0)             |     a0 = *((v0 + 2231));
    0x000132f8 lw t9, -0x7f6c(gp)            |     t9 = sym.crypt_parse_name_and_mode;
                                             |     if (a0 != 0) {
    0x000132fc bnez a0, 0x12f40              |         goto label_0;
                                             |     }
    0x00013300 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
                                             |     /* str.aes_xts_plain64 */
                                             | label_30:
    0x00013304 addiu a0, a0, -0x4160         |     a0 += -0x4160;
    0x00013308 b 0x12f3c                     |     goto label_1;
                                             | label_29:
    0x0001330c lw t9, -0x7c94(gp)            |     t9 = sym.imp.__errno_location;
    0x00013310 jalr t9                       |     t9 ();
    0x00013314 nop                           |     
    0x00013318 lw v1, (v0)                   |     v1 = *(v0);
    0x0001331c addiu v0, zero, 2             |     v0 = 2;
    0x00013320 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v1 != v0) {
    0x00013324 bne v1, v0, 0x12f20           |         goto label_2;
                                             |     }
    0x00013328 lw v0, -0x7f88(gp)            |     v0 = *(gp);
    0x0001332c lw v0, (v0)                   |     v0 = *(v0);
    0x00013330 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x00013334 bnez v0, 0x134a8              |         goto label_45;
                                             |     }
    0x00013338 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x0001333c lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00013340 lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
                                             |     /* str.Operation_aborted._n */
    0x00013344 addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
                                             |     /* str.Header_file_does_not_exist__do_you_want_to_create_it_ */
    0x00013348 addiu a0, a0, -0x3508         |     a0 += -0x3508;
    0x0001334c bal 0x9020                    |     sym_yesDialog ();
    0x00013350 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 != 0) {
    0x00013354 bnez v0, 0x134a4              |         goto label_46;
                                             |     }
    0x00013358 addiu v0, zero, -1            |     v0 = -1;
    0x0001335c b 0x133a0                     |     goto label_4;
                                             | label_6:
    0x00013360 addiu v0, zero, -0xc          |     v0 = -0xc;
    0x00013364 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
                                             | label_35:
    0x00013368 lw s0, 0x78(sp)               |     s0 = *(var_78h);
                                             | label_8:
    0x0001336c lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             | label_11:
    0x00013370 move a0, s0                   |     a0 = s0;
    0x00013374 jalr t9                       |     t9 ();
    0x00013378 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0001337c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00013380 lw a0, 0x6c(sp)               |     a0 = *(var_6ch);
    0x00013384 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00013388 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_12:
    0x0001338c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00013390 lw a0, 0x68(sp)               |     a0 = *(var_68h);
    0x00013394 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00013398 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0001339c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
                                             |     do {
                                             | label_4:
    0x000133a0 lw a0, 0x2a4(sp)              |         a0 = *(var_2a4h);
    0x000133a4 lw v1, (s3)                   |         v1 = *(s3);
    0x000133a8 lw ra, 0x2cc(sp)              |         ra = *(var_2cch);
                                             |         if (a0 != v1) {
    0x000133ac bne a0, v1, 0x13914           |             goto label_47;
                                             |         }
    0x000133b0 lw fp, 0x2c8(sp)              |         fp = *(var_2c8h);
    0x000133b4 lw s7, 0x2c4(sp)              |         s7 = *(var_2c4h);
    0x000133b8 lw s6, 0x2c0(sp)              |         s6 = *(var_2c0h);
    0x000133bc lw s5, 0x2bc(sp)              |         s5 = *(var_2bch);
    0x000133c0 lw s4, 0x2b8(sp)              |         s4 = *(var_2b8h);
    0x000133c4 lw s3, 0x2b4(sp)              |         s3 = *(var_2b4h);
    0x000133c8 lw s2, 0x2b0(sp)              |         s2 = *(var_2b0h);
    0x000133cc lw s1, 0x2ac(sp)              |         s1 = *(var_2ach);
    0x000133d0 lw s0, 0x2a8(sp)              |         s0 = *(var_2a8h);
    0x000133d4 addiu sp, sp, 0x2d0           |         
    0x000133d8 jr ra                         |         return v0;
                                             | label_21:
    0x000133dc lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         /* str.sha256 */
    0x000133e0 addiu v0, v0, -0x4168         |         v0 += -0x4168;
    0x000133e4 b 0x12dec                     |         goto label_3;
                                             | label_33:
    0x000133e8 lw v1, 0x2230(s0)             |         v1 = *((s0 + 2188));
    0x000133ec lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000133f0 beqz v1, 0x133a0              |         
                                             |     } while (v1 == 0);
    0x000133f4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000133f8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cannot_use__s_as_on_disk_header. */
    0x000133fc addiu v0, v0, -0x349c         |     v0 += -0x349c;
    0x00013400 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00013404 sw s2, 0x14(sp)               |     *(var_14h) = s2;
    0x00013408 addiu a3, zero, 0x4d2         |     a3 = 0x4d2;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001340c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00013410 addiu a1, zero, 1             |     a1 = 1;
    0x00013414 move a0, zero                 |     a0 = 0;
    0x00013418 bal 0x88f0                    |     sym_clogger ();
    0x0001341c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013420 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00013424 b 0x133a0                     |     goto label_4;
                                             | label_37:
    0x00013428 sra v0, s0, 3                 |     v0 = s0 >> 3;
                                             |     if (s0 < 0) {
    0x0001342c bltz s0, 0x13648              |         goto label_48;
                                             |     }
    0x00013430 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00013434 b 0x130bc                     |     goto label_5;
                                             | label_36:
    0x00013438 lw t9, -0x7d64(gp)            |     t9 = sym.imp.__asprintf_chk
    0x0001343c move a3, s2                   |     a3 = s2;
                                             |     /* str.This_will_overwrite_data_on__s_irrevocably. */
    0x00013440 addiu a2, a2, -0x3478         |     a2 += -0x3478;
    0x00013444 addiu a1, zero, 1             |     a1 = 1;
    0x00013448 addiu a0, sp, 0x64            |     a0 = sp + 0x64;
    0x0001344c jalr t9                       |     t9 ();
    0x00013450 addiu v1, zero, -1            |     v1 = -1;
    0x00013454 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013458 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
                                             |     if (v0 == v1) {
    0x0001345c beq v0, v1, 0x13360           |         goto label_6;
                                             |     }
    0x00013460 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00013464 lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
    0x00013468 lw a0, 0x64(sp)               |     a0 = *(var_64h);
                                             |     /* str.Operation_aborted._n */
    0x0001346c addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
    0x00013470 bal 0x9020                    |     sym_yesDialog ();
    0x00013474 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013478 addiu v1, zero, -0x16         |     v1 = -0x16;
                                             |     if (v0 == 0) {
    0x0001347c movn v1, zero, v0             |         v1 = 0;
                                             |     }
    0x00013480 lw t9, -0x7d5c(gp)            |     t9 = sym.imp.free;
    0x00013484 lw a0, 0x64(sp)               |     a0 = *(var_64h);
    0x00013488 sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x0001348c jalr t9                       |     t9 ();
    0x00013490 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00013494 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 >= 0) {
    0x00013498 bgez v0, 0x13080              |         goto label_7;
                                             |     }
    0x0001349c lw s0, 0x78(sp)               |     s0 = *(var_78h);
    0x000134a0 b 0x1336c                     |     goto label_8;
                                             | label_46:
    0x000134a4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             | label_45:
    0x000134a8 lw s2, -0x7fd8(gp)            |     s2 = *((gp - 8182));
    0x000134ac lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Creating_header_file. */
    0x000134b0 addiu v0, v0, -0x3520         |     v0 += -0x3520;
    0x000134b4 addiu a3, zero, 0x4aa         |     a3 = 0x4aa;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000134b8 addiu a2, s2, -0x4abc         |     a2 = s2 + -0x4abc;
    0x000134bc addiu a1, zero, -1            |     a1 = -1;
    0x000134c0 move a0, zero                 |     a0 = 0;
    0x000134c4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000134c8 bal 0x88f0                    |     sym_clogger ();
    0x000134cc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000134d0 lw a0, 0x2230(s0)             |     a0 = *((s0 + 2188));
    0x000134d4 addiu a2, zero, 0x180         |     a2 = 0x180;
    0x000134d8 lw t9, -0x7bdc(gp)            |     t9 = sym.imp.open64;
    0x000134dc addiu a1, zero, 0x501         |     a1 = 0x501;
    0x000134e0 jalr t9                       |     t9 ();
    0x000134e4 move s4, v0                   |     s4 = v0;
    0x000134e8 addiu v0, zero, -1            |     v0 = -1;
    0x000134ec lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (s4 == v0) {
    0x000134f0 beq s4, v0, 0x13658           |         goto label_49;
                                             |     }
    0x000134f4 lw t9, -0x7e10(gp)            |     t9 = sym.imp.posix_fallocate64;
    0x000134f8 addiu v0, zero, 0x1000        |     v0 = 0x1000;
    0x000134fc move v1, zero                 |     v1 = 0;
    0x00013500 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00013504 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00013508 move a2, zero                 |     a2 = 0;
    0x0001350c move a3, zero                 |     a3 = 0;
    0x00013510 move a0, s4                   |     a0 = s4;
    0x00013514 jalr t9                       |     t9 ();
    0x00013518 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 == 0) {
    0x0001351c beqz v0, 0x136c0              |         goto label_50;
                                             |     }
    0x00013520 lw v0, 0x2230(s0)             |     v0 = *((s0 + 2188));
    0x00013524 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00013528 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0001352c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00013530 addiu a3, zero, 0x4ae         |     a3 = 0x4ae;
                                             |     /* str.Cannot_create_header_file__s. */
    0x00013534 addiu v0, v0, -0x336c         |     v0 += -0x336c;
    0x00013538 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001353c addiu a2, s2, -0x4abc         |     a2 = s2 + -0x4abc;
    0x00013540 addiu a1, zero, 1             |     a1 = 1;
    0x00013544 move a0, zero                 |     a0 = 0;
    0x00013548 bal 0x88f0                    |     sym_clogger ();
    0x0001354c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013550 move s5, zero                 |     s5 = 0;
                                             | label_16:
    0x00013554 lw t9, -0x7e20(gp)            |     t9 = sym.imp.close;
    0x00013558 move a0, s4                   |     a0 = s4;
    0x0001355c jalr t9                       |     t9 ();
    0x00013560 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_15:
    0x00013564 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00013568 lw s2, 0x2230(s0)             |     s2 = *((s0 + 2188));
                                             |     if (v0 >= 0) {
    0x0001356c bgez v0, 0x12f28              |         goto label_9;
                                             |     }
    0x00013570 b 0x133a0                     |     goto label_4;
    0x00013574 nop                           |     
                                             | label_22:
    0x00013578 lw t9, -0x7d4c(gp)            |     t9 = sym.imp.crypt_get_default_type;
    0x0001357c jalr t9                       |     t9 ();
    0x00013580 nop                           |     
    0x00013584 move s1, v0                   |     s1 = v0;
    0x00013588 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0001358c b 0x12e78                     |     goto label_10;
                                             | label_31:
    0x00013590 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00013594 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.No_known_cipher_specification_pattern_detected. */
    0x00013598 addiu v0, v0, -0x3908         |     v0 += -0x3908;
    0x0001359c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000135a0 addiu a3, zero, 0x4be         |     a3 = 0x4be;
                                             | label_13:
    0x000135a4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000135a8 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000135ac addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000135b0 move a0, zero                 |     a0 = 0;
    0x000135b4 bal 0x88f0                    |     sym_clogger ();
    0x000135b8 lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             | label_43:
    0x000135bc lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x000135c0 lw s0, 0x78(sp)               |     s0 = *(var_78h);
                                             | label_17:
    0x000135c4 lw t9, -0x7c54(gp)            |     t9 = sym.imp.crypt_free;
                                             |     if (s1 != 0) {
    0x000135c8 bnez s1, 0x13370              |         goto label_11;
                                             |     }
                                             |     if (s6 == 0) {
    0x000135cc beqz s6, 0x13370              |         goto label_11;
                                             |     }
    0x000135d0 nop                           |     
    0x000135d4 lw v1, 0x38(sp)               |     v1 = *(var_38h);
                                             |     if (s7 == 0) {
    0x000135d8 beqz s7, 0x13370              |         goto label_11;
                                             |     }
    0x000135dc lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
                                             |     if (v1 == 0) {
    0x000135e0 beqz v1, 0x13370              |         goto label_11;
                                             |     }
    0x000135e4 sw s0, (s6)                   |     *(s6) = s0;
    0x000135e8 sw v0, (s7)                   |     *(s7) = v0;
    0x000135ec lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000135f0 sw v0, (v1)                   |     *(v1) = v0;
    0x000135f4 b 0x1338c                     |     goto label_12;
                                             | label_32:
    0x000135f8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000135fc lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.No_known_integrity_specification_pattern_detected. */
    0x00013600 addiu v0, v0, -0x34d0         |     v0 += -0x34d0;
    0x00013604 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00013608 addiu a3, zero, 0x4c5         |     a3 = 0x4c5;
    0x0001360c b 0x135a4                     |     goto label_13;
                                             | label_39:
    0x00013610 lw t9, -0x7d20(gp)            |     t9 = sym.imp.crypt_set_rng_type;
    0x00013614 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00013618 addiu a1, zero, 1             |     a1 = 1;
    0x0001361c jalr t9                       |     t9 ();
    0x00013620 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013624 b 0x130e0                     |     goto label_14;
                                             | label_38:
    0x00013628 addiu v0, zero, 0x20          |     v0 = 0x20;
    0x0001362c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00013630 b 0x130bc                     |     goto label_5;
                                             | label_40:
    0x00013634 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00013638 move a1, zero                 |     a1 = 0;
    0x0001363c jalr t9                       |     t9 ();
    0x00013640 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013644 b 0x130e0                     |     goto label_14;
                                             | label_48:
    0x00013648 addiu s0, s0, 7               |     s0 += 7;
    0x0001364c sra v0, s0, 3                 |     v0 = s0 >> 3;
    0x00013650 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00013654 b 0x130bc                     |     goto label_5;
                                             | label_49:
    0x00013658 lw v0, 0x2230(s0)             |     v0 = *((s0 + 2188));
    0x0001365c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00013660 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00013664 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00013668 addiu a3, zero, 0x4ae         |     a3 = 0x4ae;
                                             |     /* str.Cannot_create_header_file__s. */
    0x0001366c addiu v0, v0, -0x336c         |     v0 += -0x336c;
    0x00013670 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00013674 addiu a2, s2, -0x4abc         |     a2 = s2 + -0x4abc;
    0x00013678 addiu a1, zero, 1             |     a1 = 1;
    0x0001367c move a0, zero                 |     a0 = 0;
    0x00013680 bal 0x88f0                    |     sym_clogger ();
    0x00013684 move s5, zero                 |     s5 = 0;
    0x00013688 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x0001368c b 0x13564                     |     goto label_15;
                                             | label_34:
    0x00013690 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00013694 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Unsupported_LUKS2_metadata_size_options. */
    0x00013698 addiu v0, v0, -0x354c         |     v0 += -0x354c;
    0x0001369c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000136a0 addiu a3, zero, 0x4d9         |     a3 = 0x4d9;
    0x000136a4 b 0x135a4                     |     goto label_13;
                                             | label_41:
    0x000136a8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000136ac lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Failed_to_set_pbkdf_parameters. */
    0x000136b0 addiu v0, v0, -0x3674         |     v0 += -0x3674;
    0x000136b4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000136b8 addiu a3, zero, 0x513         |     a3 = 0x513;
    0x000136bc b 0x135a4                     |     goto label_13;
                                             | label_50:
    0x000136c0 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x000136c4 addiu s5, zero, 1             |     s5 = 1;
    0x000136c8 b 0x13554                     |     goto label_16;
                                             | label_26:
    0x000136cc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000136d0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Integrity_option_can_be_used_only_for_LUKS2_format. */
    0x000136d4 addiu v0, v0, -0x3580         |     v0 += -0x3580;
    0x000136d8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000136dc addiu a3, zero, 0x498         |     a3 = 0x498;
                                             |     do {
                                             | label_18:
    0x000136e0 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000136e4 addiu a1, zero, 1             |         a1 = 1;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000136e8 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x000136ec move a0, zero                 |         a0 = 0;
    0x000136f0 bal 0x88f0                    |         sym_clogger ();
    0x000136f4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             | label_24:
    0x000136f8 addiu v0, zero, -0x16         |         v0 = -0x16;
    0x000136fc b 0x133a0                     |         goto label_4;
                                             | label_42:
    0x00013700 lw t9, -0x7f5c(gp)            |         t9 = sym.tools_wipe_all_signatures;
    0x00013704 move a0, s2                   |         a0 = s2;
    0x00013708 bal 0xa374                    |         sym_tools_wipe_all_signatures ();
    0x0001370c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013710 lw s1, 0x5c(sp)               |         s1 = *(var_5ch);
    0x00013714 lw s0, 0x78(sp)               |         s0 = *(var_78h);
    0x00013718 b 0x135c4                     |         goto label_17;
                                             | label_44:
    0x0001371c lw v0, -0x7f88(gp)            |         v0 = *(gp);
    0x00013720 lw v0, (v0)                   |         v0 = *(v0);
    0x00013724 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         if (v0 == 0) {
    0x00013728 beqz v0, 0x138b4              |             goto label_51;
                                             |         }
                                             | label_19:
    0x0001372c lw t9, -0x7c9c(gp)            |         t9 = sym.imp.uuid_generate;
    0x00013730 addiu s2, sp, 0x14c           |         s2 = sp + 0x14c;
    0x00013734 move a0, s2                   |         a0 = s2;
    0x00013738 jalr t9                       |         t9 ();
    0x0001373c lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013740 addiu s1, sp, 0x1bc           |         s1 = sp + 0x1bc;
    0x00013744 move a0, s2                   |         a0 = s2;
    0x00013748 lw t9, -0x7ce4(gp)            |         t9 = sym.imp.uuid_unparse;
    0x0001374c move a1, s1                   |         a1 = s1;
    0x00013750 jalr t9                       |         t9 ();
    0x00013754 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013758 addiu s2, sp, 0x1e4           |         s2 = sp + 0x1e4;
    0x0001375c addiu a3, zero, 0x40          |         a3 = 0x40;
    0x00013760 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x00013764 lw t9, -0x7c68(gp)            |         t9 = sym.imp.__snprintf_chk;
                                             |         /* str.temporary_cryptsetup__s */
    0x00013768 addiu v0, v0, -0x33ac         |         v0 += -0x33ac;
    0x0001376c addiu a2, zero, 1             |         a2 = 1;
    0x00013770 addiu a1, zero, 0x40          |         a1 = 0x40;
    0x00013774 move a0, s2                   |         a0 = s2;
    0x00013778 sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x0001377c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00013780 jalr t9                       |         t9 ();
    0x00013784 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013788 lw t9, -0x7de0(gp)            |         t9 = sym.imp.crypt_get_dir;
    0x0001378c addiu s4, sp, 0x224           |         s4 = sp + aav.0x00000224;
    0x00013790 jalr t9                       |         t9 ();
    0x00013794 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00013798 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001379c sw s2, 0x18(sp)               |         *(var_18h) = s2;
    0x000137a0 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x000137a4 lw t9, -0x7c68(gp)            |         t9 = sym.imp.__snprintf_chk;
                                             |         /* esilref: '&s/&s' */
    0x000137a8 addiu v0, v0, -0x4c2c         |         v0 += -0x4c2c;
    0x000137ac sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000137b0 addiu a3, zero, 0x80          |         a3 = 0x80;
    0x000137b4 addiu a2, zero, 1             |         a2 = 1;
    0x000137b8 addiu a1, zero, 0x80          |         a1 = 0x80;
    0x000137bc move a0, s4                   |         a0 = s4;
    0x000137c0 jalr t9                       |         t9 ();
    0x000137c4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 < 0) {
    0x000137c8 bltz v0, 0x13920              |             goto label_52;
                                             |         }
    0x000137cc lw t9, -0x7c44(gp)            |         t9 = sym.imp.crypt_activate_by_volume_key;
    0x000137d0 addiu v0, zero, 0x1010        |         v0 = aav.0x00001010;
    0x000137d4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000137d8 move a3, zero                 |         a3 = 0;
    0x000137dc move a2, zero                 |         a2 = 0;
    0x000137e0 move a1, s2                   |         a1 = s2;
    0x000137e4 move a0, s0                   |         a0 = s0;
    0x000137e8 jalr t9                       |         t9 ();
    0x000137ec move s1, v0                   |         s1 = v0;
    0x000137f0 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 >= 0) {
    0x000137f4 bltz v0, 0x1387c              |             
    0x000137f8 lw t9, -0x7f58(gp)            |             t9 = sym.set_int_handler;
    0x000137fc move a0, zero                 |             a0 = 0;
    0x00013800 bal 0x8b80                    |             sym_set_int_handler ();
    0x00013804 lw gp, 0x30(sp)               |             gp = *(var_30h);
    0x00013808 move v1, zero                 |             v1 = 0;
    0x0001380c move a2, zero                 |             a2 = 0;
    0x00013810 lw v0, -0x7f54(gp)            |             v0 = sym.tools_wipe_progress;
    0x00013814 lw t9, -0x7e44(gp)            |             t9 = sym.imp.crypt_wipe;
    0x00013818 sw v0, 0x28(sp)               |             *(var_28h) = v0;
    0x0001381c lui v0, 0x10                  |             v0 = 0x100000;
    0x00013820 sw v0, 0x20(sp)               |             *(var_20h) = v0;
    0x00013824 move v0, zero                 |             v0 = 0;
    0x00013828 move a1, s4                   |             a1 = s4;
    0x0001382c move a0, s0                   |             a0 = s0;
    0x00013830 sw v1, 0x1c(sp)               |             *(var_1ch) = v1;
    0x00013834 sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x00013838 sw zero, 0x2c(sp)             |             *(var_2ch) = 0;
    0x0001383c sw zero, 0x24(sp)             |             *(var_24h) = 0;
    0x00013840 sw v0, 0x18(sp)               |             *(var_18h) = v0;
    0x00013844 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00013848 jalr t9                       |             t9 ();
    0x0001384c lw gp, 0x30(sp)               |             gp = *(var_30h);
    0x00013850 move a1, s2                   |             a1 = s2;
    0x00013854 move a0, s0                   |             a0 = s0;
    0x00013858 lw t9, -0x7e4c(gp)            |             t9 = sym.imp.crypt_deactivate;
    0x0001385c move s1, v0                   |             s1 = v0;
    0x00013860 jalr t9                       |             t9 ();
    0x00013864 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |             if (v0 != 0) {
    0x00013868 bnez v0, 0x138e0              |                 goto label_53;
                                             |             }
                                             | label_20:
    0x0001386c lw t9, -0x7f50(gp)            |             t9 = sym.set_int_block;
    0x00013870 move a0, zero                 |             a0 = 0;
    0x00013874 bal 0x8a04                    |             sym_set_int_block ();
    0x00013878 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             |         }
    0x0001387c lw s0, 0x78(sp)               |         s0 = *(var_78h);
    0x00013880 sw s1, 0x5c(sp)               |         *(var_5ch) = s1;
    0x00013884 b 0x135c4                     |         goto label_17;
                                             | label_27:
    0x00013888 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x0001388c lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Unsupported_LUKS2_metadata_size_options. */
    0x00013890 addiu v0, v0, -0x354c         |         v0 += -0x354c;
    0x00013894 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00013898 addiu a3, zero, 0x49d         |         a3 = 0x49d;
    0x0001389c b 0x136e0                     |         
                                             |     } while (1);
                                             | label_25:
    0x000138a0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Unsupported_encryption_sector_size. */
    0x000138a4 addiu v0, v0, -0x35a4         |     v0 += -0x35a4;
    0x000138a8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000138ac addiu a3, zero, 0x493         |     a3 = 0x493;
    0x000138b0 b 0x136e0                     |     goto label_18;
                                             | label_51:
    0x000138b4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000138b8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Wiping_device_to_initialize_integrity_checksum._nYou_can_interrupt_this_by_pressing_CTRLc__rest_of_not_wiped_device_will_contain_invalid_checksum_._n */
    0x000138bc addiu v0, v0, -0x3444         |     v0 += -0x3444;
    0x000138c0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000138c4 addiu a3, zero, 0x458         |     a3 = 0x458;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000138c8 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000138cc move a1, zero                 |     a1 = 0;
    0x000138d0 move a0, zero                 |     a0 = 0;
    0x000138d4 bal 0x88f0                    |     sym_clogger ();
    0x000138d8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000138dc b 0x1372c                     |     goto label_19;
                                             | label_53:
    0x000138e0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000138e4 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000138e8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cannot_deactivate_temporary_device__s. */
    0x000138ec addiu v0, v0, -0x3394         |     v0 += -0x3394;
    0x000138f0 sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x000138f4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000138f8 addiu a3, zero, 0x46c         |     a3 = 0x46c;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000138fc addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00013900 addiu a1, zero, 1             |     a1 = 1;
    0x00013904 move a0, zero                 |     a0 = 0;
    0x00013908 bal 0x88f0                    |     sym_clogger ();
    0x0001390c lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00013910 b 0x1386c                     |     goto label_20;
                                             | label_47:
    0x00013914 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00013918 jalr t9                       |     t9 ();
    0x0001391c nop                           |     
                                             | label_52:
    0x00013920 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00013924 sw v0, 0x5c(sp)               |     *(var_5ch) = v0;
    0x00013928 lw s0, 0x78(sp)               |     s0 = *(var_78h);
    0x0001392c b 0x1336c                     |     goto label_8;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/cryptsetup @ 0x13954 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00013954 ()                  | void fcn_00013954 () {
    0x00013954 lui gp, 2                     |     
    0x00013958 addiu gp, gp, 0x52cc          |     
    0x0001395c addu gp, gp, t9               |     gp += t9;
    0x00013960 addiu sp, sp, -0x1100         |     
    0x00013964 lw t9, -0x7e00(gp)            |     t9 = sym.imp.memset;
    0x00013968 sw s2, 0x10e0(sp)             |     *(var_10e0h) = s2;
    0x0001396c lw s2, -0x7bf0(gp)            |     s2 = *((gp - 7932));
    0x00013970 sw s3, 0x10e4(sp)             |     *(var_10e4h) = s3;
    0x00013974 addiu s3, sp, 0xd4            |     s3 = sp + 0xd4;
    0x00013978 lw v0, (s2)                   |     v0 = *(s2);
    0x0001397c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00013980 sw s1, 0x10dc(sp)             |     *(var_10dch) = s1;
    0x00013984 sw ra, 0x10fc(sp)             |     *(var_10fch) = ra;
    0x00013988 sw fp, 0x10f8(sp)             |     *(var_10f8h) = fp;
    0x0001398c sw s7, 0x10f4(sp)             |     *(var_10f4h) = s7;
    0x00013990 sw s6, 0x10f0(sp)             |     *(var_10f0h) = s6;
    0x00013994 sw s5, 0x10ec(sp)             |     *(var_10ech) = s5;
    0x00013998 sw s4, 0x10e8(sp)             |     *(var_10e8h) = s4;
    0x0001399c sw s0, 0x10d8(sp)             |     *(var_10d8h) = s0;
    0x000139a0 move s1, a0                   |     s1 = a0;
    0x000139a4 addiu a2, zero, 0x1000        |     a2 = 0x1000;
    0x000139a8 move a1, zero                 |     a1 = 0;
    0x000139ac move a0, s3                   |     a0 = s3;
    0x000139b0 sw v0, 0x10d4(sp)             |     *(var_10d4h) = v0;
    0x000139b4 jalr t9                       |     t9 ();
    0x000139b8 nop                           |     
    0x000139bc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000139c0 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x000139c4 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x000139c8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000139cc sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x000139d0 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x000139d4 lw a3, 0x2174(v0)             |     a3 = *((v0 + 2141));
    0x000139d8 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x000139dc sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000139e0 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x000139e4 sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (a3 == 0) {
    0x000139e8 bnez a3, 0x139f0              |         
    0x000139ec addiu a3, zero, 0x200         |         a3 = 0x200;
                                             |     }
    0x000139f0 lw t0, -0x7fdc(gp)            |     t0 = *(gp);
    0x000139f4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000139f8 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x000139fc lw t3, 0x314(t0)              |     t3 = *((t0 + 197));
    0x00013a00 lw t0, -0x7fdc(gp)            |     t0 = *(gp);
    0x00013a04 lw s0, -0x7fdc(gp)            |     s0 = *(gp);
    0x00013a08 lw a0, 0x2124(v0)             |     a0 = *((v0 + 2121));
    0x00013a0c lw t2, 0x310(t0)              |     t2 = *((t0 + 196));
    0x00013a10 lw v0, 0x2120(v0)             |     v0 = *((v0 + 2120));
    0x00013a14 lw t0, -0x7fdc(gp)            |     t0 = *(gp);
    0x00013a18 lw a1, 0x2134(v1)             |     a1 = *((v1 + 2125));
    0x00013a1c lw v1, 0x2130(v1)             |     v1 = *((v1 + 2124));
    0x00013a20 sll t4, a0, 0x17              |     t4 = a0 << 0x17;
    0x00013a24 lw a2, 0x211c(s0)             |     a2 = *((s0 + 2119));
    0x00013a28 srl v0, v0, 9                 |     v0 >>= 9;
    0x00013a2c sll t5, a1, 0x17              |     t5 = a1 << 0x17;
    0x00013a30 or v0, v0, t4                 |     v0 |= t4;
    0x00013a34 srl v1, v1, 9                 |     v1 >>= 9;
    0x00013a38 lw t1, 0x2150(t0)             |     t1 = *((t0 + 2132));
    0x00013a3c srl a2, a2, 0x1f              |     a2 >>= 0x1f;
    0x00013a40 addiu t0, zero, 1             |     t0 = 1;
    0x00013a44 or v1, v1, t5                 |     v1 |= t5;
    0x00013a48 srl a1, a1, 9                 |     a1 >>= 9;
    0x00013a4c srl a0, a0, 9                 |     a0 >>= 9;
    0x00013a50 sw v0, 0x88(sp)               |     *(var_88h) = v0;
    0x00013a54 addiu v0, sp, 0x48            |     v0 = sp + 0x48;
    0x00013a58 sw a3, 0x5c(sp)               |     *(var_5ch) = a3;
    0x00013a5c sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00013a60 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00013a64 sw t0, 0x68(sp)               |     *(var_68h) = t0;
    0x00013a68 sw a2, 0x6c(sp)               |     *(var_6ch) = a2;
    0x00013a6c sw t3, 0x70(sp)               |     *(var_70h) = t3;
    0x00013a70 sw t2, 0x74(sp)               |     *(var_74h) = t2;
    0x00013a74 sw v1, 0x80(sp)               |     *(var_80h) = v1;
    0x00013a78 sw a1, 0x84(sp)               |     *(var_84h) = a1;
    0x00013a7c sw a0, 0x8c(sp)               |     *(var_8ch) = a0;
    0x00013a80 sw v0, 0x90(sp)               |     *(var_90h) = v0;
    0x00013a84 sw t0, 0x94(sp)               |     *(var_94h) = t0;
                                             |     if (t1 != 0) {
    0x00013a88 beqz t1, 0x13a94              |         
    0x00013a8c addiu v0, zero, 5             |         v0 = 5;
    0x00013a90 sw v0, 0x94(sp)               |         *(var_94h) = v0;
                                             |     }
    0x00013a94 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00013a98 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00013a9c addiu t9, t9, -0x1d10         |     t9 += -0x1d10;
    0x00013aa0 lw a0, 0x318(v0)              |     a0 = *((v0 + 198));
    0x00013aa4 bal 0xe2f0                    |     fcn_0000e2f0 ();
    0x00013aa8 move s4, v0                   |     s4 = v0;
    0x00013aac lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00013ab0 beqz v0, 0x13eac              |         goto label_18;
                                             |     }
                                             | label_5:
    0x00013ab4 lw s6, -0x7fd8(gp)            |     s6 = *((gp - 8182));
    0x00013ab8 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'LUKS2' */
    0x00013abc addiu a1, s6, -0x670          |     a1 = s6 + -0x670;
    0x00013ac0 move a0, s4                   |     a0 = s4;
    0x00013ac4 jalr t9                       |     t9 ();
    0x00013ac8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00013acc bnez v0, 0x14208              |         goto label_19;
                                             |     }
    0x00013ad0 lw v1, 0x2118(s0)             |     v1 = *((s0 + 2118));
    0x00013ad4 lw v0, 0x211c(s0)             |     v0 = *((s0 + 2119));
    0x00013ad8 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
    0x00013adc or a1, v1, v0                 |     a1 = v1 | v0;
    0x00013ae0 lw a0, 0x2230(s7)             |     a0 = *((s7 + 2188));
                                             |     if (a1 != 0) {
    0x00013ae4 bnez a1, 0x13d34              |         goto label_20;
                                             |     }
    0x00013ae8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (a0 == 0) {
    0x00013aec beqz a0, 0x14258              |         goto label_21;
                                             |     }
                                             |     do {
                                             | label_2:
    0x00013af0 lw t9, -0x7d74(gp)            |         t9 = sym.imp.strncmp;
                                             | label_0:
    0x00013af4 addiu a2, zero, 5             |         a2 = 5;
                                             |         /* esilref: 'LUKS2' */
                                             | label_1:
    0x00013af8 addiu a1, s6, -0x670          |         a1 = s6 + -0x670;
    0x00013afc move a0, s4                   |         a0 = s4;
    0x00013b00 jalr t9                       |         t9 ();
    0x00013b04 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x00013b08 bnez v0, 0x14220              |             goto label_22;
                                             |         }
    0x00013b0c lw s5, -0x7fdc(gp)            |         s5 = *(gp);
    0x00013b10 lw a0, 0x2234(s5)             |         a0 = *((s5 + 2189));
    0x00013b14 lw t9, -0x7dec(gp)            |         t9 = sym.imp.uuid_parse;
                                             |         if (a0 == 0) {
    0x00013b18 beqz a0, 0x13e08              |             goto label_23;
                                             |         }
    0x00013b1c addiu s4, sp, 0x9c            |         s4 = sp + 0x9c;
    0x00013b20 move a1, s4                   |         a1 = s4;
    0x00013b24 jalr t9                       |         t9 ();
    0x00013b28 addiu v1, zero, -1            |         v1 = -1;
    0x00013b2c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == v1) {
    0x00013b30 beq v0, v1, 0x14240           |             goto label_24;
                                             |         }
    0x00013b34 lw v0, 0x2234(s5)             |         v0 = *((s5 + 2189));
    0x00013b38 lw t9, -0x7c9c(gp)            |         t9 = sym.imp.uuid_generate;
                                             |         if (v0 == 0) {
    0x00013b3c beqz v0, 0x13e10              |             goto label_25;
                                             |         }
                                             | label_3:
    0x00013b40 lw fp, -0x7fdc(gp)            |         fp = *(gp);
    0x00013b44 lw t9, -0x7c84(gp)            |         t9 = sym.imp.crypt_init;
    0x00013b48 move a0, s1                   |         a0 = s1;
    0x00013b4c lw v0, 0x20f0(fp)             |         v0 = *(arg_20f0h);
    0x00013b50 lw a1, (v0)                   |         a1 = *(v0);
    0x00013b54 jalr t9                       |         t9 ();
    0x00013b58 move s4, v0                   |         s4 = v0;
    0x00013b5c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00013b60 bnez v0, 0x13cf4              |             
    0x00013b64 lw t9, -0x7d9c(gp)            |             t9 = sym.imp.crypt_load;
    0x00013b68 lw a0, (s1)                   |             a0 = *(s1);
    0x00013b6c move a2, zero                 |             a2 = 0;
    0x00013b70 move a1, zero                 |             a1 = 0;
    0x00013b74 jalr t9                       |             t9 ();
    0x00013b78 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00013b7c lw a0, (s1)                   |             a0 = *(s1);
    0x00013b80 lw t9, -0x7c54(gp)            |             t9 = sym.imp.crypt_free;
    0x00013b84 move s4, v0                   |             s4 = v0;
    0x00013b88 jalr t9                       |             t9 ();
    0x00013b8c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00013b90 sw zero, (s1)                 |             *(s1) = 0;
                                             |             if (s4 == 0) {
    0x00013b94 beqz s4, 0x13ec4              |                 goto label_26;
                                             |             }
                                             | label_6:
    0x00013b98 lw v0, 0x2230(s7)             |             v0 = *((s7 + 2188));
    0x00013b9c lw v0, 0x211c(s0)             |             v0 = *((s0 + 2119));
                                             |             if (v0 == 0) {
    0x00013ba0 beqz v0, 0x14000              |                 goto label_27;
                                             |             }
    0x00013ba4 lw a0, 0x2118(s0)             |             a0 = *((s0 + 2118));
                                             |             if (v0 < 0) {
    0x00013ba8 bltz v0, 0x13f40              |                 goto label_28;
                                             |             }
                                             | label_10:
    0x00013bac lw t9, -0x7fa8(gp)            |             t9 = *(gp);
                                             | label_7:
    0x00013bb0 addiu a2, sp, 0x3c            |             a2 = sp + 0x3c;
                                             | label_8:
    0x00013bb4 addiu a1, sp, 0x44            |             a1 = sp + 0x44;
                                             |             /* fcn.00012d70 */
    0x00013bb8 addiu t9, t9, 0x2d70          |             t9 += 0x2d70;
    0x00013bbc move a0, s1                   |             a0 = s1;
    0x00013bc0 bal 0x12d70                   |             fcn_00012d70 ();
    0x00013bc4 move s4, v0                   |             s4 = v0;
    0x00013bc8 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 < 0) {
    0x00013bcc bltz v0, 0x13f38              |                 goto label_29;
                                             |             }
    0x00013bd0 lw v0, 0x2118(s0)             |             v0 = *((s0 + 2118));
    0x00013bd4 lw v1, 0x211c(s0)             |             v1 = *((s0 + 2119));
    0x00013bd8 or a0, v0, v1                 |             a0 = v0 | v1;
                                             |             if (a0 != 0) {
    0x00013bdc beql a0, zero, 0x13c24        |                 
    0x00013be0 lw v0, -0x7fdc(gp)            |                 v0 = *(gp);
    0x00013be4 sll a0, v1, 0x17              |                 a0 = v1 << 0x17;
                                             |                 if (v1 < 0) {
    0x00013be8 bgez v1, 0x13c00              |                     
    0x00013bec negu v0, v0                   |                     __asm ("negu v0, v0");
    0x00013bf0 sltu a0, zero, v0             |                     a0 = (0 < v0) ? 1 : 0;
    0x00013bf4 negu v1, v1                   |                     __asm ("negu v1, v1");
    0x00013bf8 subu v1, v1, a0               |                     __asm ("subu v1, v1, a0");
    0x00013bfc sll a0, v1, 0x17              |                     a0 = v1 << 0x17;
                                             |                 }
    0x00013c00 srl v0, v0, 9                 |                 v0 >>= 9;
    0x00013c04 or v0, v0, a0                 |                 v0 |= a0;
    0x00013c08 sw v0, 0x78(sp)               |                 *(var_78h) = v0;
    0x00013c0c lw v0, -0x7fd8(gp)            |                 v0 = *((gp - 8182));
    0x00013c10 sra v1, v1, 9                 |                 v1 >>= 9;
                                             |                 /* str.datashift */
    0x00013c14 addiu v0, v0, -0x30c4         |                 v0 += -0x30c4;
    0x00013c18 sw v1, 0x7c(sp)               |                 *(var_7ch) = v1;
    0x00013c1c sw v0, 0x70(sp)               |                 *(var_70h) = v0;
    0x00013c20 lw v0, -0x7fdc(gp)            |                 v0 = *(gp);
                                             |             }
    0x00013c24 lw s4, (s1)                   |             s4 = *(s1);
    0x00013c28 lw a3, 0x3c(sp)               |             a3 = *(var_3ch);
    0x00013c2c lw v0, 0x24(v0)               |             v0 = *((v0 + 9));
    0x00013c30 lw t9, -0x7c20(gp)            |             t9 = sym.imp.crypt_get_cipher;
    0x00013c34 slti s0, v0, 0                |             s0 = (v0 < 0) ? 1 : 0;
    0x00013c38 move a0, s4                   |             a0 = s4;
    0x00013c3c sw a3, 0x34(sp)               |             *(var_34h) = a3;
                                             |             if (s0 == 0) {
    0x00013c40 movn v0, zero, s0             |                 v0 = 0;
                                             |             }
    0x00013c44 move s0, v0                   |             s0 = v0;
    0x00013c48 lw s7, 0x44(sp)               |             s7 = *(var_44h);
    0x00013c4c jalr t9                       |             t9 ();
    0x00013c50 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00013c54 lw a0, (s1)                   |             a0 = *(s1);
    0x00013c58 move s5, v0                   |             s5 = v0;
    0x00013c5c lw t9, -0x7c38(gp)            |             t9 = sym.imp.crypt_get_cipher_mode;
    0x00013c60 addiu v0, sp, 0x68            |             v0 = sp + 0x68;
    0x00013c64 sw v0, 0x30(sp)               |             *(var_30h) = v0;
    0x00013c68 jalr t9                       |             t9 ();
    0x00013c6c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00013c70 lw v1, 0x30(sp)               |             v1 = *(var_30h);
    0x00013c74 sw v0, 0x1c(sp)               |             *(var_1ch) = v0;
    0x00013c78 lw t9, -0x7cec(gp)            |             t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00013c7c addiu v0, zero, -1            |             v0 = -1;
    0x00013c80 lw a3, 0x34(sp)               |             a3 = *(var_34h);
    0x00013c84 move a0, s4                   |             a0 = s4;
    0x00013c88 sw v1, 0x20(sp)               |             *(var_20h) = v1;
    0x00013c8c sw s5, 0x18(sp)               |             *(var_18h) = s5;
    0x00013c90 sw s0, 0x14(sp)               |             *(var_14h) = s0;
    0x00013c94 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x00013c98 move a2, s7                   |             a2 = s7;
    0x00013c9c move a1, zero                 |             a1 = 0;
    0x00013ca0 jalr t9                       |             t9 ();
    0x00013ca4 move s4, v0                   |             s4 = v0;
    0x00013ca8 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 < 0) {
    0x00013cac bltz v0, 0x13f24              |                 goto label_30;
                                             |             }
    0x00013cb0 lb v0, 0xd4(sp)               |             v0 = *(var_d4h);
    0x00013cb4 lw t9, -0x7c54(gp)            |             t9 = sym.imp.crypt_free;
                                             |             if (v0 != 0) {
    0x00013cb8 bnez v0, 0x13e3c              |                 goto label_31;
                                             |             }
                                             | label_12:
    0x00013cbc lw v0, -0x7fdc(gp)            |             v0 = *(gp);
    0x00013cc0 lw v0, 0x2154(v0)             |             v0 = *((v0 + 2133));
    0x00013cc4 lw a2, 0x44(sp)               |             a2 = *(var_44h);
                                             |             if (v0 == 0) {
    0x00013cc8 beqz v0, 0x1416c              |                 goto label_32;
                                             |             }
                                             | label_4:
    0x00013ccc lw t9, -0x7fb4(gp)            |             t9 = sym.crypt_safe_free;
    0x00013cd0 move a0, a2                   |             a0 = a2;
    0x00013cd4 bal 0x6a20                    |             sym_crypt_safe_free ();
    0x00013cd8 lb v0, 0xd4(sp)               |             v0 = *(var_d4h);
    0x00013cdc lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 == 0) {
    0x00013ce0 beqz v0, 0x13cf4              |                 goto label_9;
                                             |             }
    0x00013ce4 lw t9, -0x7e54(gp)            |             t9 = sym.imp.unlink;
    0x00013ce8 move a0, s3                   |             a0 = s3;
    0x00013cec jalr t9                       |             t9 ();
    0x00013cf0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
                                             | label_9:
    0x00013cf4 lw a0, 0x10d4(sp)             |         a0 = *(var_10d4h);
    0x00013cf8 lw v1, (s2)                   |         v1 = *(s2);
    0x00013cfc move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x00013d00 bne a0, v1, 0x142d8           |             goto label_33;
                                             |         }
    0x00013d04 lw ra, 0x10fc(sp)             |         ra = *(var_10fch);
    0x00013d08 lw fp, 0x10f8(sp)             |         fp = *(var_10f8h);
    0x00013d0c lw s7, 0x10f4(sp)             |         s7 = *(var_10f4h);
    0x00013d10 lw s6, 0x10f0(sp)             |         s6 = *(var_10f0h);
    0x00013d14 lw s5, 0x10ec(sp)             |         s5 = *(var_10ech);
    0x00013d18 lw s4, 0x10e8(sp)             |         s4 = *(var_10e8h);
    0x00013d1c lw s3, 0x10e4(sp)             |         s3 = *(var_10e4h);
    0x00013d20 lw s2, 0x10e0(sp)             |         s2 = *(var_10e0h);
    0x00013d24 lw s1, 0x10dc(sp)             |         s1 = *(var_10dch);
    0x00013d28 lw s0, 0x10d8(sp)             |         s0 = *(var_10d8h);
    0x00013d2c addiu sp, sp, 0x1100          |         
    0x00013d30 jr ra                         |         return v0;
                                             | label_20:
    0x00013d34 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00013d38 bnez a0, 0x13af0              |         
                                             |     } while (a0 != 0);
    0x00013d3c lw a1, 0x21f8(a0)             |     a1 = *((a0 + 2174));
    0x00013d40 lw a0, 0x21fc(a0)             |     a0 = *((a0 + 2175));
    0x00013d44 or a2, a1, a0                 |     a2 = a1 | a0;
    0x00013d48 lw t9, -0x7d74(gp)            |     t9 = sym.imp.strncmp;
                                             |     if (a2 == 0) {
    0x00013d4c beqz a2, 0x13af4              |         goto label_0;
                                             |     }
                                             |     if (v0 < 0) {
    0x00013d50 bltzl v0, 0x141bc             |         goto label_34;
                                             |     }
    0x00013d54 negu v1, v1                   |     __asm ("negu v1, v1");
                                             | label_14:
    0x00013d58 sra a2, v0, 0xa               |     a2 = v0 >> 0xa;
    0x00013d5c srl v1, v1, 0xa               |     v1 >>= 0xa;
    0x00013d60 sll v0, v0, 0x16              |     v0 <<= 0x16;
    0x00013d64 sltu a3, a2, a0               |     a3 = (a2 < a0) ? 1 : 0;
    0x00013d68 or v1, v0, v1                 |     v1 = v0 | v1;
                                             |     if (a3 != 0) {
    0x00013d6c bnez a3, 0x142ec              |         goto label_35;
                                             |     }
    0x00013d70 sltu v0, v1, a1               |     v0 = (v1 < a1) ? 1 : 0;
                                             |     if (a0 == a2) {
    0x00013d74 beq a0, a2, 0x142e4           |         goto label_36;
                                             |     }
    0x00013d78 sltu v0, a0, a2               |     v0 = (a0 < a2) ? 1 : 0;
                                             | label_16:
    0x00013d7c srl a2, a1, 0x16              |     a2 = a1 >> 0x16;
                                             |     if (v0 == 0) {
    0x00013d80 bnel v0, zero, 0x13d9c        |         goto label_37;
                                             |     }
    0x00013d84 lw t9, -0x7d74(gp)            |     t9 = sym.imp.strncmp;
                                             |     if (a2 != a0) {
    0x00013d88 bne a2, a0, 0x13af4           |         goto label_0;
                                             |     }
    0x00013d8c sltu v1, a1, v1               |     v1 = (a1 < v1) ? 1 : 0;
    0x00013d90 addiu a2, zero, 5             |     a2 = 5;
                                             |     if (v1 == 0) {
    0x00013d94 beqz v1, 0x13af8              |         goto label_1;
                                             |     }
    0x00013d98 srl a2, a1, 0x16              |     a2 = a1 >> 0x16;
                                             | label_37:
    0x00013d9c srl a3, a1, 0x1f              |     a3 = a1 >> 0x1f;
    0x00013da0 sll v0, a0, 0xa               |     v0 = a0 << 0xa;
    0x00013da4 sll v1, a1, 0xa               |     v1 = a1 << 0xa;
    0x00013da8 sll a0, a0, 1                 |     a0 <<= 1;
    0x00013dac negu v1, v1                   |     __asm ("negu v1, v1");
    0x00013db0 or a0, a3, a0                 |     a0 = a3 | a0;
    0x00013db4 or v0, a2, v0                 |     v0 = a2 | v0;
    0x00013db8 sw a0, 0x1c(sp)               |     *(var_1ch) = a0;
    0x00013dbc sltu a2, zero, v1             |     a2 = (0 < v1) ? 1 : 0;
    0x00013dc0 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00013dc4 negu v0, v0                   |     __asm ("negu v0, v0");
    0x00013dc8 subu v0, v0, a2               |     __asm ("subu v0, v0, a2");
    0x00013dcc lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00013dd0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00013dd4 sll a1, a1, 1                 |     a1 <<= 1;
                                             |     /* str.Adjusting___reduce_device_size_value_to_twice_the___offset__llu__sectors_._n */
    0x00013dd8 addiu a0, a0, -0x3258         |     a0 += -0x3258;
    0x00013ddc sw a1, 0x18(sp)               |     *(var_18h) = a1;
    0x00013de0 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x00013de4 addiu a3, zero, 0xa4f         |     a3 = 0xa4f;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00013de8 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00013dec move a1, zero                 |     a1 = 0;
    0x00013df0 move a0, zero                 |     a0 = 0;
    0x00013df4 sw v1, 0x2118(s0)             |     *((s0 + 2118)) = v1;
    0x00013df8 sw v0, 0x211c(s0)             |     *((s0 + 2119)) = v0;
    0x00013dfc bal 0x88f0                    |     sym_clogger ();
    0x00013e00 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013e04 b 0x13af0                     |     goto label_2;
                                             | label_23:
    0x00013e08 addiu s4, sp, 0x9c            |     s4 = sp + 0x9c;
    0x00013e0c lw t9, -0x7c9c(gp)            |     t9 = sym.imp.uuid_generate;
                                             | label_25:
    0x00013e10 move a0, s4                   |     a0 = s4;
    0x00013e14 jalr t9                       |     t9 ();
    0x00013e18 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013e1c addiu fp, sp, 0xac            |     fp = sp + 0xac;
    0x00013e20 move a1, fp                   |     a1 = fp;
    0x00013e24 lw t9, -0x7ce4(gp)            |     t9 = sym.imp.uuid_unparse;
    0x00013e28 move a0, s4                   |     a0 = s4;
    0x00013e2c jalr t9                       |     t9 ();
    0x00013e30 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013e34 sw fp, 0x2234(s5)             |     *((s5 + 2189)) = fp;
    0x00013e38 b 0x13b40                     |     goto label_3;
                                             | label_31:
    0x00013e3c lw a0, (s1)                   |     a0 = *(s1);
    0x00013e40 jalr t9                       |     t9 ();
    0x00013e44 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013e48 lw v0, 0x20f0(fp)             |     v0 = *(arg_20f0h);
    0x00013e4c sw zero, (s1)                 |     *(s1) = 0;
    0x00013e50 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x00013e54 lw a1, (v0)                   |     a1 = *(v0);
    0x00013e58 move a0, s1                   |     a0 = s1;
    0x00013e5c jalr t9                       |     t9 ();
    0x00013e60 move s4, v0                   |     s4 = v0;
    0x00013e64 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00013e68 beqz v0, 0x14144              |         goto label_38;
                                             |     }
    0x00013e6c lw v0, 0x20f0(fp)             |     v0 = *(arg_20f0h);
                                             | label_13:
    0x00013e70 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00013e74 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00013e78 lw v0, (v0)                   |     v0 = *(v0);
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00013e7c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00013e80 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00013e84 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00013e88 addiu a3, zero, 0xab5         |     a3 = 0xab5;
                                             |     /* str.Failed_to_place_new_header_at_head_of_device__s. */
    0x00013e8c addiu v0, v0, -0x30b8         |     v0 += -0x30b8;
    0x00013e90 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00013e94 addiu a1, zero, 1             |     a1 = 1;
    0x00013e98 move a0, zero                 |     a0 = 0;
    0x00013e9c bal 0x88f0                    |     sym_clogger ();
    0x00013ea0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013ea4 lw a2, 0x44(sp)               |     a2 = *(var_44h);
    0x00013ea8 b 0x13ccc                     |     goto label_4;
                                             | label_18:
    0x00013eac lw t9, -0x7d4c(gp)            |     t9 = sym.imp.crypt_get_default_type;
    0x00013eb0 jalr t9                       |     t9 ();
    0x00013eb4 nop                           |     
    0x00013eb8 move s4, v0                   |     s4 = v0;
    0x00013ebc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013ec0 b 0x13ab4                     |     goto label_5;
                                             | label_26:
    0x00013ec4 lw v0, 0x20f0(fp)             |     v0 = *(arg_20f0h);
    0x00013ec8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00013ecc lw t9, -0x7d64(gp)            |     t9 = sym.imp.__asprintf_chk
    0x00013ed0 lw a3, (v0)                   |     a3 = *(v0);
                                             |     /* str.Detected_LUKS_device_on__s._Do_you_want_to_encrypt_that_LUKS_device_again_ */
    0x00013ed4 addiu a2, a2, -0x31b8         |     a2 += -0x31b8;
    0x00013ed8 addiu a1, zero, 1             |     a1 = 1;
    0x00013edc addiu a0, sp, 0x40            |     a0 = sp + 0x40;
    0x00013ee0 jalr t9                       |     t9 ();
    0x00013ee4 addiu v1, zero, -1            |     v1 = -1;
    0x00013ee8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x00013eec beq v0, v1, 0x14238           |         goto label_39;
                                             |     }
    0x00013ef0 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00013ef4 lw t9, -0x7fac(gp)            |     t9 = sym.yesDialog;
    0x00013ef8 lw a0, 0x40(sp)               |     a0 = *(var_40h);
                                             |     /* str.Operation_aborted._n */
    0x00013efc addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
    0x00013f00 bal 0x9020                    |     sym_yesDialog ();
    0x00013f04 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013f08 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x00013f0c lw t9, -0x7d5c(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 == 0) {
    0x00013f10 beqz v0, 0x13ff0              |         goto label_40;
                                             |     }
    0x00013f14 jalr t9                       |     t9 ();
    0x00013f18 nop                           |     
    0x00013f1c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013f20 b 0x13b98                     |     goto label_6;
                                             | label_30:
    0x00013f24 lw t9, -0x7d30(gp)            |     t9 = sym.imp.crypt_keyslot_destroy;
    0x00013f28 lw a0, (s1)                   |     a0 = *(s1);
    0x00013f2c move a1, s0                   |     a1 = s0;
    0x00013f30 jalr t9                       |     t9 ();
    0x00013f34 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             | label_29:
    0x00013f38 lw a2, 0x44(sp)               |     a2 = *(var_44h);
    0x00013f3c b 0x13ccc                     |     goto label_4;
                                             | label_28:
    0x00013f40 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00013f44 lw v1, 0x2108(a2)             |     v1 = *((a2 + 2114));
    0x00013f48 lw a1, 0x210c(a2)             |     a1 = *((a2 + 2115));
    0x00013f4c or a3, v1, a1                 |     a3 = v1 | a1;
    0x00013f50 addiu t0, zero, 0x4000        |     t0 = 0x4000;
                                             |     if (a3 == 0) {
    0x00013f54 beqz a3, 0x1412c              |         goto label_41;
                                             |     }
    0x00013f58 srl a2, v1, 0x1f              |     a2 = v1 >> 0x1f;
    0x00013f5c sll a1, a1, 1                 |     a1 <<= 1;
    0x00013f60 or a1, a2, a1                 |     a1 = a2 | a1;
    0x00013f64 sll v1, v1, 1                 |     v1 <<= 1;
                                             | label_11:
    0x00013f68 lw a3, -0x7fdc(gp)            |     a3 = *(gp);
    0x00013f6c negu a0, a0                   |     __asm ("negu a0, a0");
    0x00013f70 sltu t2, zero, a0             |     t2 = (0 < a0) ? 1 : 0;
    0x00013f74 lw a2, 0x20f8(a3)             |     a2 = *((a3 + 2110));
    0x00013f78 lw t0, 0x20fc(a3)             |     t0 = *((a3 + 2111));
    0x00013f7c negu v0, v0                   |     __asm ("negu v0, v0");
    0x00013f80 or t1, a2, t0                 |     t1 = a2 | t0;
    0x00013f84 subu v0, v0, t2               |     __asm ("subu v0, v0, t2");
                                             |     if (t1 == 0) {
    0x00013f88 beqz t1, 0x14110              |         goto label_42;
                                             |     }
    0x00013f8c addu v1, a2, v1               |     v1 = a2 + v1;
    0x00013f90 sltu a2, v1, a2               |     a2 = (v1 < a2) ? 1 : 0;
    0x00013f94 addu a1, t0, a1               |     a1 = t0 + a1;
    0x00013f98 addu a1, a2, a1               |     a1 = a2 + a1;
    0x00013f9c sltu a2, v0, a1               |     a2 = (v0 < a1) ? 1 : 0;
    0x00013fa0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (a2 == 0) {
    0x00013fa4 bnel a2, zero, 0x13fc0        |         goto label_43;
                                             |     }
    0x00013fa8 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
                                             |     if (a1 != v0) {
    0x00013fac bne a1, v0, 0x13bb0           |         goto label_7;
                                             |     }
    0x00013fb0 sltu v1, a0, v1               |     v1 = (a0 < v1) ? 1 : 0;
    0x00013fb4 addiu a2, sp, 0x3c            |     a2 = sp + 0x3c;
                                             |     if (v1 == 0) {
    0x00013fb8 beqz v1, 0x13bb4              |         goto label_8;
                                             |     }
    0x00013fbc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             | label_43:
    0x00013fc0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.LUKS2_metadata_size_is_larger_than_data_shift_value. */
    0x00013fc4 addiu v0, v0, -0x30fc         |     v0 += -0x30fc;
    0x00013fc8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00013fcc addiu a3, zero, 0xa96         |     a3 = 0xa96;
                                             | label_15:
    0x00013fd0 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00013fd4 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00013fd8 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00013fdc move a0, zero                 |     a0 = 0;
    0x00013fe0 bal 0x88f0                    |     sym_clogger ();
    0x00013fe4 addiu s4, zero, -0x16         |     s4 = -0x16;
    0x00013fe8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013fec b 0x13cf4                     |     goto label_9;
                                             | label_40:
    0x00013ff0 addiu s4, zero, -0x16         |     s4 = -0x16;
    0x00013ff4 jalr t9                       |     t9 ();
    0x00013ff8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00013ffc b 0x13cf4                     |     goto label_9;
                                             | label_27:
    0x00014000 lw v0, 0x2234(s5)             |     v0 = *((s5 + 2189));
    0x00014004 lw t9, -0x7c68(gp)            |     t9 = sym.imp.__snprintf_chk;
    0x00014008 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0001400c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014010 addiu a3, zero, 0x1000        |     a3 = 0x1000;
                                             |     /* str.LUKS2_temp__s.new */
    0x00014014 addiu v0, v0, -0x316c         |     v0 += -0x316c;
    0x00014018 addiu a2, zero, 1             |     a2 = 1;
    0x0001401c addiu a1, zero, 0x1000        |     a1 = 0x1000;
    0x00014020 move a0, s3                   |     a0 = s3;
    0x00014024 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014028 jalr t9                       |     t9 ();
    0x0001402c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00014030 addiu a2, zero, 0x180         |     a2 = 0x180;
    0x00014034 addiu a1, zero, 0x501         |     a1 = 0x501;
    0x00014038 lw t9, -0x7bdc(gp)            |     t9 = sym.imp.open64;
    0x0001403c move a0, s3                   |     a0 = s3;
    0x00014040 jalr t9                       |     t9 ();
    0x00014044 move s4, v0                   |     s4 = v0;
    0x00014048 addiu v0, zero, -1            |     v0 = -1;
    0x0001404c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s4 == v0) {
    0x00014050 beq s4, v0, 0x14284           |         goto label_44;
                                             |     }
    0x00014054 lw t9, -0x7e10(gp)            |     t9 = sym.imp.posix_fallocate64;
    0x00014058 move v1, zero                 |     v1 = 0;
    0x0001405c addiu v0, zero, 0x1000        |     v0 = 0x1000;
    0x00014060 move a2, zero                 |     a2 = 0;
    0x00014064 move a3, zero                 |     a3 = 0;
    0x00014068 move a0, s4                   |     a0 = s4;
    0x0001406c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00014070 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014074 jalr t9                       |     t9 ();
    0x00014078 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001407c move s5, v0                   |     s5 = v0;
    0x00014080 lw t9, -0x7e20(gp)            |     t9 = sym.imp.close;
    0x00014084 move a0, s4                   |     a0 = s4;
    0x00014088 jalr t9                       |     t9 ();
    0x0001408c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s5 != 0) {
    0x00014090 bnez s5, 0x141cc              |         goto label_45;
                                             |     }
    0x00014094 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00014098 sw s3, 0x2230(s7)             |     *((s7 + 2188)) = s3;
    0x0001409c lw v0, 0x2118(s0)             |     v0 = *((s0 + 2118));
    0x000140a0 lw a1, 0x21f8(a0)             |     a1 = *((a0 + 2174));
    0x000140a4 lw a2, 0x21fc(a0)             |     a2 = *((a0 + 2175));
    0x000140a8 or a1, a1, a2                 |     a1 |= a2;
    0x000140ac lw v1, 0x211c(s0)             |     v1 = *((s0 + 2119));
                                             |     if (a1 == 0) {
    0x000140b0 bnez a1, 0x140e8              |         
    0x000140b4 move a1, v0                   |         a1 = v0;
    0x000140b8 move a2, v1                   |         a2 = v1;
                                             |         if (v1 < 0) {
    0x000140bc bgez v1, 0x140d0              |             
    0x000140c0 negu a1, v0                   |             __asm ("negu a1, v0");
    0x000140c4 sltu a3, zero, a1             |             a3 = (0 < a1) ? 1 : 0;
    0x000140c8 negu a2, v1                   |             __asm ("negu a2, v1");
    0x000140cc subu a2, a2, a3               |             __asm ("subu a2, a2, a3");
                                             |         }
    0x000140d0 sll a3, a2, 0x16              |         a3 = a2 << 0x16;
    0x000140d4 srl a1, a1, 0xa               |         a1 >>= 0xa;
    0x000140d8 or a1, a1, a3                 |         a1 |= a3;
    0x000140dc sra a2, a2, 0xa               |         a2 >>= 0xa;
    0x000140e0 sw a1, 0x21f8(a0)             |         *((a0 + 2174)) = a1;
    0x000140e4 sw a2, 0x21fc(a0)             |         *((a0 + 2175)) = a2;
                                             |     }
    0x000140e8 sll a0, v1, 0x1f              |     a0 = v1 << 0x1f;
    0x000140ec srl v0, v0, 1                 |     v0 >>= 1;
    0x000140f0 or v0, v0, a0                 |     v0 |= a0;
    0x000140f4 lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x000140f8 sra v1, v1, 1                 |     v1 >>= 1;
    0x000140fc ori a0, a0, 2                 |     a0 |= 2;
    0x00014100 sw v0, 0x2118(s0)             |     *((s0 + 2118)) = v0;
    0x00014104 sw v1, 0x211c(s0)             |     *((s0 + 2119)) = v1;
    0x00014108 sw a0, 0x94(sp)               |     *(var_94h) = a0;
    0x0001410c b 0x13bac                     |     goto label_10;
                                             | label_42:
    0x00014110 subu v1, a0, v1               |     __asm ("subu v1, a0, v1");
    0x00014114 sltu a0, a0, v1               |     a0 = (a0 < v1) ? 1 : 0;
    0x00014118 subu v0, v0, a1               |     __asm ("subu v0, v0, a1");
    0x0001411c subu v0, v0, a0               |     __asm ("subu v0, v0, a0");
    0x00014120 sw v1, 0x20f8(a3)             |     *((a3 + 2110)) = v1;
    0x00014124 sw v0, 0x20fc(a3)             |     *((a3 + 2111)) = v0;
    0x00014128 b 0x13bac                     |     goto label_10;
                                             | label_41:
    0x0001412c move t1, zero                 |     t1 = 0;
    0x00014130 sw t0, 0x2108(a2)             |     *((a2 + 2114)) = t0;
    0x00014134 sw t1, 0x210c(a2)             |     *((a2 + 2115)) = t1;
    0x00014138 ori v1, zero, 0x8000          |     v1 = 0x8000;
    0x0001413c move a1, zero                 |     a1 = 0;
    0x00014140 b 0x13f68                     |     goto label_11;
                                             | label_38:
    0x00014144 lw t9, -0x7d10(gp)            |     t9 = sym.imp.crypt_header_restore;
    0x00014148 lw a0, (s1)                   |     a0 = *(s1);
    0x0001414c move a2, s3                   |     a2 = s3;
                                             |     /* esilref: 'LUKS2' */
    0x00014150 addiu a1, s6, -0x670          |     a1 = s6 + -0x670;
    0x00014154 jalr t9                       |     t9 ();
    0x00014158 move s4, v0                   |     s4 = v0;
    0x0001415c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00014160 beqz v0, 0x13cbc              |         goto label_12;
                                             |     }
    0x00014164 lw v0, 0x20f0(fp)             |     v0 = *(arg_20f0h);
    0x00014168 b 0x13e70                     |     goto label_13;
                                             | label_32:
    0x0001416c lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x00014170 addiu v1, zero, -2            |     v1 = -2;
    0x00014174 and v0, v0, v1                |     v0 &= v1;
    0x00014178 lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x0001417c lw a0, (s1)                   |     a0 = *(s1);
    0x00014180 lw t9, -0x7cec(gp)            |     t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00014184 sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x00014188 lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
    0x0001418c addiu v1, zero, -1            |     v1 = -1;
    0x00014190 sw zero, 0x1c(sp)             |     *(var_1ch) = 0;
    0x00014194 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x00014198 sw s0, 0x14(sp)               |     *(var_14h) = s0;
    0x0001419c sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000141a0 move a1, zero                 |     a1 = 0;
    0x000141a4 sw v0, 0x94(sp)               |     *(var_94h) = v0;
    0x000141a8 jalr t9                       |     t9 ();
    0x000141ac move s4, v0                   |     s4 = v0;
    0x000141b0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000141b4 lw a2, 0x44(sp)               |     a2 = *(var_44h);
    0x000141b8 b 0x13ccc                     |     goto label_4;
                                             | label_34:
    0x000141bc sltu a2, zero, v1             |     a2 = (0 < v1) ? 1 : 0;
    0x000141c0 negu v0, v0                   |     __asm ("negu v0, v0");
    0x000141c4 subu v0, v0, a2               |     __asm ("subu v0, v0, a2");
    0x000141c8 b 0x13d58                     |     goto label_14;
                                             | label_45:
    0x000141cc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000141d0 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000141d4 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Cannot_create_temporary_header_file__s. */
    0x000141d8 addiu v0, v0, -0x3124         |     v0 += -0x3124;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000141dc addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000141e0 sw s3, 0x14(sp)               |     *(var_14h) = s3;
    0x000141e4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000141e8 addiu a3, zero, 0xa81         |     a3 = 0xa81;
    0x000141ec addiu a1, zero, 1             |     a1 = 1;
    0x000141f0 move a0, zero                 |     a0 = 0;
    0x000141f4 bal 0x88f0                    |     sym_clogger ();
    0x000141f8 addiu s4, zero, -0x16         |     s4 = -0x16;
    0x000141fc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00014200 lw a2, 0x44(sp)               |     a2 = *(var_44h);
    0x00014204 b 0x13ccc                     |     goto label_4;
                                             | label_19:
    0x00014208 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0001420c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Invalid_LUKS_device_type. */
    0x00014210 addiu v0, v0, -0x334c         |     v0 += -0x334c;
    0x00014214 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014218 addiu a3, zero, 0xa3c         |     a3 = 0xa3c;
    0x0001421c b 0x13fd0                     |     goto label_15;
                                             | label_22:
    0x00014220 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014224 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Encryption_is_supported_only_for_LUKS2_format. */
    0x00014228 addiu v0, v0, -0x320c         |     v0 += -0x320c;
    0x0001422c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014230 addiu a3, zero, 0xa53         |     a3 = 0xa53;
    0x00014234 b 0x13fd0                     |     goto label_15;
                                             | label_39:
    0x00014238 addiu s4, zero, -0xc          |     s4 = -0xc;
    0x0001423c b 0x13cf4                     |     goto label_9;
                                             | label_24:
    0x00014240 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014244 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Wrong_LUKS_UUID_format_provided. */
    0x00014248 addiu v0, v0, -0x31dc         |     v0 += -0x31dc;
    0x0001424c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014250 addiu a3, zero, 0xa58         |     a3 = 0xa58;
    0x00014254 b 0x13fd0                     |     goto label_15;
                                             | label_21:
    0x00014258 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001425c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Encryption_without_detached_header____header__is_not_possible_without_data_device_size_reduction____reduce_device_size_. */
    0x00014260 addiu v0, v0, -0x3330         |     v0 += -0x3330;
    0x00014264 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014268 addiu a3, zero, 0xa41         |     a3 = 0xa41;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001426c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00014270 addiu a1, zero, 1             |     a1 = 1;
    0x00014274 bal 0x88f0                    |     sym_clogger ();
    0x00014278 addiu s4, zero, -0x7a         |     s4 = -0x7a;
    0x0001427c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00014280 b 0x13cf4                     |     goto label_9;
                                             | label_44:
    0x00014284 lw t9, -0x7c94(gp)            |     t9 = sym.imp.__errno_location;
    0x00014288 jalr t9                       |     t9 ();
    0x0001428c nop                           |     
    0x00014290 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00014294 lw v1, (v0)                   |     v1 = *(v0);
    0x00014298 addiu v0, zero, 0x11          |     v0 = 0x11;
    0x0001429c sw s3, 0x14(sp)               |     *(var_14h) = s3;
    0x000142a0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     if (v1 == v0) {
    0x000142a4 beq v1, v0, 0x14304           |         goto label_46;
                                             |     }
    0x000142a8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000142ac addiu a3, zero, 0xa7a         |     a3 = 0xa7a;
                                             |     /* str.Cannot_create_temporary_header_file__s. */
    0x000142b0 addiu v0, v0, -0x3124         |     v0 += -0x3124;
    0x000142b4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
                                             | label_17:
    0x000142b8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000142bc addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000142c0 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000142c4 move a0, zero                 |     a0 = 0;
    0x000142c8 bal 0x88f0                    |     sym_clogger ();
    0x000142cc addiu s4, zero, -0x16         |     s4 = -0x16;
    0x000142d0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000142d4 b 0x13cf4                     |     goto label_9;
                                             | label_33:
    0x000142d8 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000142dc jalr t9                       |     t9 ();
    0x000142e0 nop                           |     
                                             |     if (v0 == 0) {
                                             | label_36:
    0x000142e4 beql v0, zero, 0x13d7c        |         goto label_16;
                                             |     }
    0x000142e8 sltu v0, a0, a2               |     v0 = (a0 < a2) ? 1 : 0;
                                             | label_35:
    0x000142ec lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000142f0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Requested_data_offset_must_be_less_than_or_equal_to_half_of___reduce_device_size_parameter. */
    0x000142f4 addiu v0, v0, -0x32b4         |     v0 += -0x32b4;
    0x000142f8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000142fc addiu a3, zero, 0xa46         |     a3 = 0xa46;
    0x00014300 b 0x13fd0                     |     goto label_15;
                                             | label_46:
    0x00014304 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014308 addiu a3, zero, 0xa78         |     a3 = 0xa78;
                                             |     /* str.Temporary_header_file__s_already_exists._Aborting. */
    0x0001430c addiu v0, v0, -0x3158         |     v0 += -0x3158;
    0x00014310 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014314 b 0x142b8                     |     goto label_17;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/cryptsetup @ 0x14c34 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00014c34 ()                  | void fcn_00014c34 () {
                                             | label_21:
    0x00014c34 lui gp, 2                     |     
    0x00014c38 addiu gp, gp, 0x3fec          |     
    0x00014c3c addu gp, gp, t9               |     gp += t9;
    0x00014c40 addiu sp, sp, -0x50           |     
    0x00014c44 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00014c48 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00014c4c lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x00014c50 lw v1, 0x20f0(v0)             |     v1 = *((v0 + 2108));
    0x00014c54 lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x00014c58 lw v0, (s1)                   |     v0 = *(s1);
    0x00014c5c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00014c60 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x00014c64 sw s4, 0x44(sp)               |     *(var_44h) = s4;
    0x00014c68 sw s3, 0x40(sp)               |     *(var_40h) = s3;
    0x00014c6c sw s2, 0x3c(sp)               |     *(var_3ch) = s2;
    0x00014c70 sw s0, 0x34(sp)               |     *(var_34h) = s0;
    0x00014c74 sw s5, 0x48(sp)               |     *(var_48h) = s5;
    0x00014c78 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00014c7c move s2, a2                   |     s2 = a2;
    0x00014c80 lw s3, (v1)                   |     s3 = *(v1);
    0x00014c84 move s0, a0                   |     s0 = a0;
    0x00014c88 move s4, a1                   |     s4 = a1;
    0x00014c8c jalr t9                       |     t9 ();
    0x00014c90 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00014c94 addiu v1, zero, 0x1000        |     v1 = 0x1000;
    0x00014c98 move a0, s0                   |     a0 = s0;
    0x00014c9c lw t9, -0x7f4c(gp)            |     t9 = sym.tools_lookup_crypt_device;
    0x00014ca0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00014ca4 move a3, s2                   |     a3 = s2;
    0x00014ca8 move a2, s3                   |     a2 = s3;
    0x00014cac move a1, v0                   |     a1 = v0;
    0x00014cb0 bal 0xbe00                    |     sym_tools_lookup_crypt_device ();
    0x00014cb4 move s0, v0                   |     s0 = v0;
    0x00014cb8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 > 0) {
    0x00014cbc bgtz v0, 0x14d84              |         goto label_54;
                                             |     }
    0x00014cc0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     if (v0 == 0) {
    0x00014cc4 beqz v0, 0x14d50              |         goto label_0;
                                             |     }
    0x00014cc8 addiu v0, zero, -0xf          |     v0 = -0xf;
    0x00014ccc sw s4, 0x14(sp)               |     *(var_14h) = s4;
                                             |     if (s0 == v0) {
    0x00014cd0 beq s0, v0, 0x14e00           |         goto label_55;
                                             |     }
    0x00014cd4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014cd8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
                                             |     /* str.Failed_to_auto_detect_device__s_holders. */
    0x00014cdc addiu v0, v0, -0x2dcc         |     v0 += -0x2dcc;
    0x00014ce0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014ce4 addiu a3, zero, 0x9eb         |     a3 = 0x9eb;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00014ce8 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00014cec addiu a1, zero, 1             |     a1 = 1;
    0x00014cf0 move a0, zero                 |     a0 = 0;
    0x00014cf4 bal 0x88f0                    |     sym_clogger ();
    0x00014cf8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_1:
    0x00014cfc lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00014d00 lw t9, -0x7d64(gp)            |     t9 = sym.imp.__asprintf_chk
    0x00014d04 move a3, s4                   |     a3 = s4;
                                             |     /* str.Unable_to_decide_if_device__s_is_activated_or_not._nAre_you_sure_you_want_to_proceed_with_reencryption_in_offline_mode__nIt_may_lead_to_data_corruption_if_the_device_is_actually_activated._nTo_run_reencryption_in_online_mode__use___active_name_parameter_instead._n */
    0x00014d08 addiu a2, a2, -0x2da0         |     a2 += -0x2da0;
    0x00014d0c addiu a1, zero, 1             |     a1 = 1;
    0x00014d10 addiu a0, sp, 0x28            |     a0 = sp + 0x28;
    0x00014d14 jalr t9                       |     t9 ();
    0x00014d18 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00014d1c bltz v0, 0x14e2c              |         goto label_56;
                                             |     }
    0x00014d20 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00014d24 lw t9, -0x7f74(gp)            |     t9 = sym.noDialog;
    0x00014d28 lw a0, 0x28(sp)               |     a0 = *(var_28h_6);
                                             |     /* str.Operation_aborted._n */
    0x00014d2c addiu a1, a1, -0x3ec0         |     a1 += -0x3ec0;
    0x00014d30 bal 0x903c                    |     sym_noDialog ();
    0x00014d34 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00014d38 lw a0, 0x28(sp)               |     a0 = *(var_28h_6);
    0x00014d3c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x00014d40 lw t9, -0x7d5c(gp)            |     t9 = sym.imp.free;
                                             |     if (v0 == 0) {
    0x00014d44 movn s0, zero, v0             |         s0 = 0;
                                             |     }
    0x00014d48 jalr t9                       |     t9 ();
    0x00014d4c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     do {
                                             | label_0:
    0x00014d50 lw a0, 0x2c(sp)               |         a0 = *(var_2ch);
    0x00014d54 lw v1, (s1)                   |         v1 = *(s1);
    0x00014d58 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x00014d5c bne a0, v1, 0x14e68           |             goto label_57;
                                             |         }
    0x00014d60 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x00014d64 lw s5, 0x48(sp)               |         s5 = *(var_48h);
    0x00014d68 lw s4, 0x44(sp)               |         s4 = *(var_44h);
    0x00014d6c lw s3, 0x40(sp)               |         s3 = *(var_40h);
    0x00014d70 lw s2, 0x3c(sp)               |         s2 = *(var_3ch);
    0x00014d74 lw s1, 0x38(sp)               |         s1 = *(var_38h);
    0x00014d78 lw s0, 0x34(sp)               |         s0 = *(var_34h);
    0x00014d7c addiu sp, sp, 0x50            |         
    0x00014d80 jr ra                         |         return v1;
                                             | label_54:
    0x00014d84 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00014d88 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x00014d8c lw s5, -0x7fd8(gp)            |         s5 = *((gp - 8182));
    0x00014d90 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Device__s_has__d_active_holders. */
    0x00014d94 addiu v0, v0, -0x2e6c         |         v0 += -0x2e6c;
    0x00014d98 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00014d9c sw s3, 0x14(sp)               |         *(var_14h) = s3;
    0x00014da0 addiu a3, zero, 0x9d4         |         a3 = 0x9d4;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00014da4 addiu a2, s5, -0x4abc         |         a2 = s5 + -0x4abc;
    0x00014da8 addiu a1, zero, -1            |         a1 = -1;
    0x00014dac move a0, zero                 |         a0 = 0;
    0x00014db0 bal 0x88f0                    |         sym_clogger ();
    0x00014db4 lb v0, (s2)                   |         v0 = *(s2);
    0x00014db8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00014dbc beqz v0, 0x14e34              |             goto label_58;
                                             |         }
    0x00014dc0 lw v0, -0x7f88(gp)            |         v0 = *(gp);
    0x00014dc4 lw v0, (v0)                   |         v0 = *(v0);
    0x00014dc8 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
    0x00014dcc bnez v0, 0x14d50              |         
                                             |     } while (v0 != 0);
    0x00014dd0 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* str.Auto_detected_active_dm_device__s_for_data_device__s._n */
    0x00014dd4 addiu v0, v0, -0x2e2c         |     v0 += -0x2e2c;
    0x00014dd8 sw s4, 0x18(sp)               |     *(var_18h) = s4;
    0x00014ddc sw s2, 0x14(sp)               |     *(var_14h) = s2;
    0x00014de0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014de4 addiu a3, zero, 0x9e5         |     a3 = 0x9e5;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00014de8 addiu a2, s5, -0x4abc         |     a2 = s5 + -0x4abc;
    0x00014dec move a1, zero                 |     a1 = 0;
    0x00014df0 move a0, zero                 |     a0 = 0;
    0x00014df4 bal 0x88f0                    |     sym_clogger ();
    0x00014df8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00014dfc b 0x14d50                     |     goto label_0;
                                             | label_55:
    0x00014e00 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014e04 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
                                             |     /* str.Device__s_is_not_a_block_device._n */
    0x00014e08 addiu v0, v0, -0x2df0         |     v0 += -0x2df0;
    0x00014e0c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014e10 addiu a3, zero, 0x9e9         |     a3 = 0x9e9;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00014e14 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00014e18 move a1, zero                 |     a1 = 0;
    0x00014e1c move a0, zero                 |     a0 = 0;
    0x00014e20 bal 0x88f0                    |     sym_clogger ();
    0x00014e24 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00014e28 b 0x14cfc                     |     goto label_1;
                                             | label_56:
    0x00014e2c addiu s0, zero, -0xc          |     s0 = -0xc;
    0x00014e30 b 0x14d50                     |     goto label_0;
                                             | label_58:
    0x00014e34 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00014e38 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Device__s_is_still_in_use. */
    0x00014e3c addiu v0, v0, -0x2e48         |     v0 += -0x2e48;
    0x00014e40 sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x00014e44 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00014e48 addiu a3, zero, 0x9e1         |     a3 = 0x9e1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00014e4c addiu a2, s5, -0x4abc         |     a2 = s5 + -0x4abc;
    0x00014e50 addiu a1, zero, 1             |     a1 = 1;
    0x00014e54 move a0, zero                 |     a0 = 0;
    0x00014e58 bal 0x88f0                    |     sym_clogger ();
    0x00014e5c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x00014e60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00014e64 b 0x14d50                     |     goto label_0;
                                             | label_57:
    0x00014e68 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00014e6c jalr t9                       |     t9 ();
    0x00014e70 nop                           |     
                                             | label_37:
    0x00014e74 lui gp, 2                     |     
    0x00014e78 addiu gp, gp, 0x3dac          |     
    0x00014e7c addu gp, gp, t9               |     gp += t9;
    0x00014e80 addiu sp, sp, -0x1118         |     
    0x00014e84 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00014e88 sw s5, 0x1104(sp)             |     *(var_1104h) = s5;
    0x00014e8c lw s5, -0x7bf0(gp)            |     s5 = *((gp - 7932));
    0x00014e90 lw v0, 0x211c(v1)             |     v0 = *((v1 + 2119));
    0x00014e94 lw v1, 0x2118(v1)             |     v1 = *((v1 + 2118));
    0x00014e98 lw a2, (s5)                   |     a2 = *(s5);
    0x00014e9c sw s0, 0x10f0(sp)             |     *(var_10f0h) = s0;
    0x00014ea0 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00014ea4 move s0, a0                   |     s0 = a0;
    0x00014ea8 srl a1, v0, 0x1f              |     a1 = v0 >> 0x1f;
    0x00014eac or a0, v1, v0                 |     a0 = v1 | v0;
    0x00014eb0 sw ra, 0x1114(sp)             |     *(var_1114h) = ra;
    0x00014eb4 sw fp, 0x1110(sp)             |     *(var_1110h) = fp;
    0x00014eb8 sw s7, 0x110c(sp)             |     *(var_110ch) = s7;
    0x00014ebc sw s6, 0x1108(sp)             |     *(var_1108h) = s6;
    0x00014ec0 sw s4, 0x1100(sp)             |     *(var_1100h) = s4;
    0x00014ec4 sw s3, 0x10fc(sp)             |     *(var_10fch) = s3;
    0x00014ec8 sw s2, 0x10f8(sp)             |     *(var_10f8h) = s2;
    0x00014ecc sw s1, 0x10f4(sp)             |     *(var_10f4h) = s1;
    0x00014ed0 sw a2, 0x10ec(sp)             |     *(var_10ech) = a2;
    0x00014ed4 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x00014ed8 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x00014edc sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x00014ee0 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x00014ee4 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x00014ee8 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x00014eec sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00014ef0 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00014ef4 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00014ef8 sw zero, 0xa4(sp)             |     *(var_a4h) = 0;
    0x00014efc sw a1, 0x7c(sp)               |     *(var_7ch) = a1;
                                             |     if (a0 != 0) {
    0x00014f00 bnez a0, 0x15350              |         goto label_59;
                                             |     }
    0x00014f04 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00014f08 lw a0, 0x314(a0)              |     a0 = *((a0 + 197));
                                             | label_10:
    0x00014f0c sw a0, 0x80(sp)               |     *(var_80h) = a0;
    0x00014f10 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00014f14 lw a0, 0x310(a0)              |     a0 = *((a0 + 196));
    0x00014f18 sw a0, 0x84(sp)               |     *(var_84h) = a0;
                                             |     if (v0 < 0) {
    0x00014f1c bgez v0, 0x14f30              |         
    0x00014f20 negu v1, v1                   |         __asm ("negu v1, v1");
    0x00014f24 sltu a0, zero, v1             |         a0 = (0 < v1) ? 1 : 0;
    0x00014f28 negu v0, v0                   |         __asm ("negu v0, v0");
    0x00014f2c subu v0, v0, a0               |         __asm ("subu v0, v0, a0");
                                             |     }
    0x00014f30 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x00014f34 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00014f38 lw t0, -0x7fdc(gp)            |     t0 = *(gp);
    0x00014f3c lw a3, 0x2134(a1)             |     a3 = *((a1 + 2125));
    0x00014f40 lw a2, 0x2124(a0)             |     a2 = *((a0 + 2121));
    0x00014f44 lw a1, 0x2130(a1)             |     a1 = *((a1 + 2124));
    0x00014f48 lw a0, 0x2120(a0)             |     a0 = *((a0 + 2120));
    0x00014f4c sll t3, v0, 0x17              |     t3 = v0 << 0x17;
    0x00014f50 sll t2, a3, 0x17              |     t2 = a3 << 0x17;
    0x00014f54 sll t1, a2, 0x17              |     t1 = a2 << 0x17;
    0x00014f58 sra v0, v0, 9                 |     v0 >>= 9;
    0x00014f5c sw t0, 0x48(sp)               |     *(var_48h_2) = t0;
    0x00014f60 srl v1, v1, 9                 |     v1 >>= 9;
    0x00014f64 srl a1, a1, 9                 |     a1 >>= 9;
    0x00014f68 srl a0, a0, 9                 |     a0 >>= 9;
    0x00014f6c lw t0, 0x2154(t0)             |     t0 = *((t0 + 2133));
    0x00014f70 or v1, v1, t3                 |     v1 |= t3;
    0x00014f74 or a1, a1, t2                 |     a1 |= t2;
    0x00014f78 srl a3, a3, 9                 |     a3 >>= 9;
    0x00014f7c or a0, a0, t1                 |     a0 |= t1;
    0x00014f80 srl a2, a2, 9                 |     a2 >>= 9;
    0x00014f84 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x00014f88 addiu v0, sp, 0x58            |     v0 = sp + 0x58;
    0x00014f8c sw v1, 0x88(sp)               |     *(var_88h) = v1;
    0x00014f90 sw a1, 0x90(sp)               |     *(var_90h) = a1;
    0x00014f94 sw a3, 0x94(sp)               |     *(var_94h) = a3;
    0x00014f98 sw a0, 0x98(sp)               |     *(var_98h) = a0;
    0x00014f9c sw a2, 0x9c(sp)               |     *(var_9ch) = a2;
    0x00014fa0 sw v0, 0xa0(sp)               |     *(var_a0h) = v0;
                                             |     if (t0 != 0) {
    0x00014fa4 beqz t0, 0x14fb0              |         
    0x00014fa8 addiu v0, zero, 1             |         v0 = 1;
    0x00014fac sw v0, 0xa4(sp)               |         *(var_a4h) = v0;
                                             |     }
    0x00014fb0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00014fb4 lw v0, 0x2150(v0)             |     v0 = *((v0 + 2132));
    0x00014fb8 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     if (v0 != 0) {
    0x00014fbc bnez v0, 0x152a0              |         goto label_60;
                                             |     }
    0x00014fc0 lw a0, 0x22dc(s3)             |     a0 = *((s3 + 2231));
    0x00014fc4 lw t9, -0x7c20(gp)            |     t9 = sym.imp.crypt_get_cipher;
                                             |     if (a0 == 0) {
    0x00014fc8 beqz a0, 0x152b8              |         goto label_61;
                                             |     }
                                             | label_5:
    0x00014fcc lw t9, -0x7f6c(gp)            |     t9 = sym.crypt_parse_name_and_mode;
    0x00014fd0 addiu v0, sp, 0xac            |     v0 = sp + 0xac;
    0x00014fd4 addiu a3, sp, 0xcc            |     a3 = sp + 0xcc;
    0x00014fd8 sw a3, 0x44(sp)               |     *(var_44h_2) = a3;
    0x00014fdc sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00014fe0 move a2, zero                 |     a2 = 0;
    0x00014fe4 move a1, v0                   |     a1 = v0;
    0x00014fe8 bal 0x6338                    |     sym_crypt_parse_name_and_mode ();
    0x00014fec move s6, v0                   |     s6 = v0;
    0x00014ff0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00014ff4 bnez v0, 0x155d8              |         goto label_62;
                                             |     }
    0x00014ff8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00014ffc lw v0, 0x2174(v0)             |     v0 = *((v0 + 2141));
    0x00015000 lw t9, -0x7dbc(gp)            |     t9 = sym.imp.crypt_get_sector_size;
                                             |     if (v0 == 0) {
    0x00015004 beqz v0, 0x15330              |         goto label_63;
                                             |     }
                                             | label_7:
    0x00015008 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             | label_6:
    0x0001500c lw t9, -0x7cb8(gp)            |     t9 = sym.imp.crypt_keyslot_max;
                                             |     /* esilref: 'LUKS2' */
    0x00015010 addiu a0, s4, -0x670          |     a0 = s4 + -0x670;
    0x00015014 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00015018 jalr t9                       |     t9 ();
    0x0001501c move s6, v0                   |     s6 = v0;
    0x00015020 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x00015024 bltz v0, 0x15074              |         goto label_2;
                                             |     }
    0x00015028 move a0, zero                 |     a0 = 0;
                                             |     if (v0 == 0) {
    0x0001502c beqz v0, 0x15740              |         goto label_64;
                                             |     }
    0x00015030 move fp, zero                 |     fp = 0;
    0x00015034 move s2, zero                 |     s2 = 0;
    0x00015038 move s7, zero                 |     s7 = 0;
    0x0001503c addiu s1, zero, 4             |     s1 = 4;
                                             | label_8:
    0x00015040 lw t9, -0x7c4c(gp)            |     t9 = sym.imp.crypt_keyslot_status;
                                             |     do {
    0x00015044 move a0, s0                   |         a0 = s0;
    0x00015048 move a1, s7                   |         a1 = s7;
    0x0001504c jalr t9                       |         t9 ();
    0x00015050 sltiu a0, v0, 4               |         a0 = (v0 < 4) ? 1 : 0;
    0x00015054 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (a0 != 0) {
    0x00015058 beqz a0, 0x150b4              |             
    0x0001505c sltiu a0, v0, 2               |             a0 = (v0 < 2) ? 1 : 0;
                                             |             if (a0 == 0) {
    0x00015060 beql a0, zero, 0x15340        |                 goto label_65;
                                             |             }
    0x00015064 addiu s7, s7, 1               |             s7++;
    0x00015068 addiu s7, s7, 1               |             s7++;
                                             |             if (v0 == 0) {
    0x0001506c bnel v0, zero, 0x150c0        |                 goto label_66;
                                             |             }
    0x00015070 addiu s6, zero, -0x16         |             s6 = -0x16;
                                             | label_2:
    0x00015074 lw a1, 0x10ec(sp)             |             a1 = *(var_10ech);
    0x00015078 lw a0, (s5)                   |             a0 = *(s5);
    0x0001507c move v0, s6                   |             v0 = s6;
                                             |             if (a1 != a0) {
    0x00015080 bne a1, a0, 0x15868           |                 goto label_67;
                                             |             }
    0x00015084 lw ra, 0x1114(sp)             |             ra = *(var_1114h);
    0x00015088 lw fp, 0x1110(sp)             |             fp = *(var_1110h);
    0x0001508c lw s7, 0x110c(sp)             |             s7 = *(var_110ch);
    0x00015090 lw s6, 0x1108(sp)             |             s6 = *(var_1108h);
    0x00015094 lw s5, 0x1104(sp)             |             s5 = *(var_1104h);
    0x00015098 lw s4, 0x1100(sp)             |             s4 = *(var_1100h);
    0x0001509c lw s3, 0x10fc(sp)             |             s3 = *(var_10fch);
    0x000150a0 lw s2, 0x10f8(sp)             |             s2 = *(var_10f8h);
    0x000150a4 lw s1, 0x10f4(sp)             |             s1 = *(var_10f4h);
    0x000150a8 lw s0, 0x10f0(sp)             |             s0 = *(var_10f0h);
    0x000150ac addiu sp, sp, 0x1118          |             
    0x000150b0 jr ra                         |             return v1;
                                             |         }
                                             |         if (v0 != s1) {
    0x000150b4 beql v0, s1, 0x150bc          |             
    0x000150b8 addiu fp, fp, 1               |             fp++;
                                             |         }
    0x000150bc addiu s7, s7, 1               |         s7++;
                                             | label_66:
    0x000150c0 lw t9, -0x7c4c(gp)            |         t9 = sym.imp.crypt_keyslot_status;
    0x000150c4 bne s6, s7, 0x15044           |         
                                             |     } while (s6 != s7);
    0x000150c8 addu a0, s2, fp               |     a0 = s2 + fp;
                                             | label_9:
    0x000150cc addiu v0, s6, -1              |     v0 = s6 + -1;
    0x000150d0 slt v0, a0, v0                |     v0 = (a0 < v0) ? 1 : 0;
    0x000150d4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     if (v0 == 0) {
    0x000150d8 beqz v0, 0x15854              |         goto label_68;
                                             |     }
    0x000150dc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000150e0 move v1, v0                   |     v1 = v0;
    0x000150e4 move s7, v0                   |     s7 = v0;
    0x000150e8 lw a0, 0x24(v1)               |     a0 = *((v1 + 9));
    0x000150ec addiu v0, zero, -1            |     v0 = -1;
    0x000150f0 sll s2, s2, 1                 |     s2 <<= 1;
                                             |     if (a0 == v0) {
    0x000150f4 beq a0, v0, 0x156fc           |         goto label_69;
                                             |     }
    0x000150f8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             | label_19:
    0x000150fc lw s2, 0x222c(v0)             |     s2 = *((v0 + 2187));
    0x00015100 lw v0, 0x22dc(s3)             |     v0 = *((s3 + 2231));
                                             |     if (s2 == 0) {
    0x00015104 beqz s2, 0x15370              |         goto label_70;
                                             |     }
                                             |     if (s2 >= 0) {
    0x00015108 bltzl s2, 0x15110             |         
    0x0001510c addiu s2, s2, 7               |         s2 += 7;
                                             |     }
    0x00015110 sra v0, s2, 3                 |     v0 = s2 >> 3;
    0x00015114 sw v0, 0x30(sp)               |     *(var_30h_4) = v0;
                                             | label_18:
    0x00015118 lw v0, 0x30(sp)               |     v0 = *(var_30h_4);
    0x0001511c addiu s6, zero, -0x16         |     s6 = -0x16;
                                             |     if (v0 == 0) {
    0x00015120 beqz v0, 0x15074              |         goto label_2;
                                             |     }
                                             | label_11:
    0x00015124 lw t9, -0x7cb8(gp)            |     t9 = sym.imp.crypt_keyslot_max;
                                             |     /* esilref: 'LUKS2' */
    0x00015128 addiu a0, s4, -0x670          |     a0 = s4 + -0x670;
    0x0001512c jalr t9                       |     t9 ();
    0x00015130 move s6, v0                   |     s6 = v0;
    0x00015134 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x00015138 bltz v0, 0x15074              |         goto label_2;
                                             |     }
    0x0001513c lw t9, -0x7c14(gp)            |     t9 = sym.imp.calloc;
    0x00015140 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x00015144 move a0, v0                   |     a0 = v0;
    0x00015148 jalr t9                       |     t9 ();
    0x0001514c move s3, v0                   |     s3 = v0;
    0x00015150 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00015154 move s1, s6                   |     s1 = s6;
                                             |     if (v0 == 0) {
    0x00015158 beqz v0, 0x156dc              |         goto label_71;
                                             |     }
    0x0001515c sll a0, s6, 1                 |     a0 = s6 << 1;
                                             |     if (s6 == 0) {
    0x00015160 beqz s6, 0x15184              |         goto label_72;
                                             |     }
    0x00015164 addu a0, a0, s6               |     a0 += s6;
    0x00015168 sll a0, a0, 2                 |     a0 <<= 2;
    0x0001516c addu a0, a0, v0               |     a0 += v0;
    0x00015170 addiu a1, zero, -1            |     a1 = -1;
    0x00015174 sw a1, 8(v0)                  |     *((v0 + 2)) = a1;
                                             |     do {
    0x00015178 addiu v0, v0, 0xc             |         v0 += 0xc;
    0x0001517c sw a1, 8(v0)                  |         *((v0 + 2)) = a1;
    0x00015180 bnel a0, v0, 0x15178          |         
                                             |     } while (a0 == v0);
                                             | label_72:
    0x00015184 lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x00015188 addiu a0, zero, -1            |     a0 = -1;
                                             |     if (v0 == a0) {
    0x0001518c beql v0, a0, 0x15608          |         goto label_73;
                                             |     }
    0x00015190 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015194 sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
                                             | label_25:
    0x00015198 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0001519c lw t9, -0x7c68(gp)            |     t9 = sym.imp.__snprintf_chk;
    0x000151a0 addiu s4, sp, 0xec            |     s4 = sp + 0xec;
                                             |     /* str.Enter_passphrase_for_key_slot__u:_ */
    0x000151a4 addiu v0, v0, -0x2bf8         |     v0 += -0x2bf8;
    0x000151a8 addiu a3, zero, 0x80          |     a3 = 0x80;
    0x000151ac addiu a2, zero, 1             |     a2 = 1;
    0x000151b0 addiu a1, zero, 0x80          |     a1 = 0x80;
    0x000151b4 move a0, s4                   |     a0 = s4;
    0x000151b8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000151bc jalr t9                       |     t9 ();
    0x000151c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000151c4 lw v0, 0x24(s7)               |     v0 = *((s7 + 9));
    0x000151c8 move a3, s4                   |     a3 = s4;
    0x000151cc lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x000151d0 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000151d4 move a2, s0                   |     a2 = s0;
    0x000151d8 move a1, s6                   |     a1 = s6;
    0x000151dc addiu t9, t9, -0x365c         |     t9 += -0x365c;
    0x000151e0 move a0, s3                   |     a0 = s3;
    0x000151e4 bal 0xc9a4                    |     fcn_0000c9a4 ();
    0x000151e8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 >= 0) {
    0x000151ec bgez v0, 0x15404              |         goto label_74;
                                             |     }
                                             | label_23:
    0x000151f0 move s6, v0                   |     s6 = v0;
                                             |     if (s6 == 0) {
    0x000151f4 beqz s6, 0x1535c              |         goto label_26;
                                             |     }
                                             | label_12:
    0x000151f8 lw s7, -0x7fd8(gp)            |     s7 = *((gp - 8182));
    0x000151fc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00015200 addiu s2, s3, 8               |     s2 = s3 + 8;
    0x00015204 move s4, zero                 |     s4 = 0;
                                             |     /* str.Failed_to_remove_keyslot__d_with_unbound_key. */
    0x00015208 addiu s7, s7, -0x2b98         |     s7 += -0x2b98;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x0001520c addiu fp, v0, -0x4abc         |     fp = v0 + -0x4abc;
    0x00015210 b 0x15224                     |     
                                             |     while (s6 >= 0) {
                                             | label_4:
    0x00015214 addiu s4, s4, 1               |         s4++;
                                             | label_3:
    0x00015218 sltu v0, s4, s1               |         v0 = (s4 < s1) ? 1 : 0;
    0x0001521c addiu s2, s2, 0xc             |         s2 += 0xc;
                                             |         if (v0 == 0) {
    0x00015220 beqz v0, 0x1535c              |             goto label_26;
                                             |         }
    0x00015224 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x00015228 lw a0, -8(s2)                 |         a0 = *((s2 - 2));
    0x0001522c bal 0x6a20                    |         sym_crypt_safe_free ();
    0x00015230 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00015234 bgez s6, 0x15214              |         
                                             |     }
    0x00015238 lw v0, (s2)                   |     v0 = *(s2);
                                             |     if (v0 < 0) {
    0x0001523c bltzl v0, 0x15218             |         goto label_3;
                                             |     }
    0x00015240 addiu s4, s4, 1               |     s4++;
    0x00015244 lw t9, -0x7e04(gp)            |     t9 = sym.imp.crypt_reencrypt_status;
    0x00015248 move a1, zero                 |     a1 = 0;
    0x0001524c move a0, s0                   |     a0 = s0;
    0x00015250 jalr t9                       |     t9 ();
    0x00015254 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00015258 bnez v0, 0x15214              |         goto label_4;
                                             |     }
    0x0001525c lw t9, -0x7d30(gp)            |     t9 = sym.imp.crypt_keyslot_destroy;
    0x00015260 lw a1, (s2)                   |     a1 = *(s2);
    0x00015264 move a0, s0                   |     a0 = s0;
    0x00015268 jalr t9                       |     t9 ();
    0x0001526c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00015270 beqz v0, 0x15214              |         goto label_4;
                                             |     }
    0x00015274 lw v0, (s2)                   |     v0 = *(s2);
    0x00015278 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x0001527c sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x00015280 sw s7, 0x10(sp)               |     *(var_10h_2) = s7;
    0x00015284 addiu a3, zero, 0xc1c         |     a3 = aav.0x00000c1c;
    0x00015288 move a2, fp                   |     a2 = fp;
    0x0001528c addiu a1, zero, -1            |     a1 = -1;
    0x00015290 move a0, zero                 |     a0 = 0;
    0x00015294 bal 0x88f0                    |     sym_clogger ();
    0x00015298 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001529c b 0x15214                     |     goto label_4;
                                             | label_60:
    0x000152a0 lw v0, 0xa4(sp)               |     v0 = *(var_a4h);
    0x000152a4 lw a0, 0x22dc(s3)             |     a0 = *((s3 + 2231));
    0x000152a8 ori v0, v0, 4                 |     v0 |= 4;
    0x000152ac sw v0, 0xa4(sp)               |     *(var_a4h) = v0;
                                             |     if (a0 != 0) {
    0x000152b0 bnez a0, 0x14fcc              |         goto label_5;
                                             |     }
    0x000152b4 lw t9, -0x7c20(gp)            |     t9 = sym.imp.crypt_get_cipher;
                                             | label_61:
    0x000152b8 move a0, s0                   |     a0 = s0;
    0x000152bc jalr t9                       |     t9 ();
    0x000152c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000152c4 addiu v1, sp, 0xac            |     v1 = sp + 0xac;
    0x000152c8 move a0, v1                   |     a0 = v1;
    0x000152cc lw t9, -0x7c98(gp)            |     t9 = sym.imp.strncpy;
    0x000152d0 sw v1, 0x40(sp)               |     *(var_40h_2) = v1;
    0x000152d4 addiu a2, zero, 0x1f          |     a2 = 0x1f;
    0x000152d8 move a1, v0                   |     a1 = v0;
    0x000152dc jalr t9                       |     t9 ();
    0x000152e0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000152e4 lw t9, -0x7c38(gp)            |     t9 = sym.imp.crypt_get_cipher_mode;
    0x000152e8 move a0, s0                   |     a0 = s0;
    0x000152ec jalr t9                       |     t9 ();
    0x000152f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000152f4 addiu v1, sp, 0xcc            |     v1 = sp + 0xcc;
    0x000152f8 sw v1, 0x44(sp)               |     *(var_44h_2) = v1;
    0x000152fc lw t9, -0x7c98(gp)            |     t9 = sym.imp.strncpy;
    0x00015300 addiu a2, zero, 0x1f          |     a2 = 0x1f;
    0x00015304 move a1, v0                   |     a1 = v0;
    0x00015308 move a0, v1                   |     a0 = v1;
    0x0001530c jalr t9                       |     t9 ();
    0x00015310 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00015314 sb zero, 0xcb(sp)             |     *(var_cbh) = 0;
    0x00015318 sb zero, 0xeb(sp)             |     *(var_ebh) = 0;
    0x0001531c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015320 lw v0, 0x2174(v0)             |     v0 = *((v0 + 2141));
    0x00015324 lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x00015328 bnez v0, 0x1500c              |         goto label_6;
                                             |     }
    0x0001532c lw t9, -0x7dbc(gp)            |     t9 = sym.imp.crypt_get_sector_size;
                                             | label_63:
    0x00015330 move a0, s0                   |     a0 = s0;
    0x00015334 jalr t9                       |     t9 ();
    0x00015338 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001533c b 0x15008                     |     goto label_7;
                                             | label_65:
    0x00015340 addiu s2, s2, 1               |     s2++;
                                             |     if (s6 != s7) {
    0x00015344 bne s6, s7, 0x15040           |         goto label_8;
                                             |     }
    0x00015348 addu a0, s2, fp               |     a0 = s2 + fp;
    0x0001534c b 0x150cc                     |     goto label_9;
                                             | label_59:
    0x00015350 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
                                             |     /* str.datashift */
    0x00015354 addiu a0, a0, -0x30c4         |     a0 += -0x30c4;
    0x00015358 b 0x14f0c                     |     goto label_10;
                                             | label_26:
    0x0001535c lw t9, -0x7d5c(gp)            |     t9 = sym.imp.free;
    0x00015360 move a0, s3                   |     a0 = s3;
    0x00015364 jalr t9                       |     t9 ();
    0x00015368 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001536c b 0x15074                     |     goto label_2;
                                             | label_70:
    0x00015370 addiu v0, zero, 0x20          |     v0 = 0x20;
                                             |     if (v0 == 0) {
    0x00015374 beqz v0, 0x156e4              |         goto label_75;
                                             |     }
    0x00015378 sw v0, 0x30(sp)               |     *(var_30h_4) = v0;
    0x0001537c b 0x15124                     |     goto label_11;
                                             | label_16:
    0x00015380 lw v0, 0x30(sp)               |     v0 = *(var_30h_4);
                                             |     if (s6 == 0) {
    0x00015384 beqz s6, 0x15408              |         goto label_17;
                                             |     }
    0x00015388 lw v0, -0x7fa8(gp)            |     v0 = *(gp);
                                             | label_24:
    0x0001538c lw s4, -0x7fd8(gp)            |     s4 = *((gp - 8182));
    0x00015390 addiu v0, v0, -0x365c         |     v0 += -0x365c;
    0x00015394 move s2, zero                 |     s2 = 0;
    0x00015398 addiu s7, sp, 0xec            |     s7 = sp + 0xec;
                                             |     /* str.Enter_passphrase_for_key_slot__d:_ */
    0x0001539c addiu s4, s4, -0x2c1c         |     s4 += -0x2c1c;
    0x000153a0 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x000153a4 addiu fp, zero, -2            |     fp = -2;
    0x000153a8 lw t9, -0x7c68(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             | label_13:
    0x000153ac addiu a3, zero, 0x80          |     a3 = 0x80;
    0x000153b0 addiu a2, zero, 1             |     a2 = 1;
    0x000153b4 addiu a1, zero, 0x80          |     a1 = 0x80;
    0x000153b8 move a0, s7                   |     a0 = s7;
    0x000153bc sw s2, 0x14(sp)               |     *(var_14h_6) = s2;
    0x000153c0 sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x000153c4 jalr t9                       |     t9 ();
    0x000153c8 lw t9, 0x34(sp)               |     t9 = *(var_34h_2);
    0x000153cc sw s2, 0x10(sp)               |     *(var_10h_2) = s2;
    0x000153d0 move a3, s7                   |     a3 = s7;
    0x000153d4 move a2, s0                   |     a2 = s0;
    0x000153d8 move a1, s6                   |     a1 = s6;
    0x000153dc move a0, s3                   |     a0 = s3;
    0x000153e0 jalr t9                       |     t9 ();
    0x000153e4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == fp) {
    0x000153e8 beq v0, fp, 0x153f4           |         goto label_76;
                                             |     }
                                             |     if (v0 < 0) {
    0x000153ec bltzl v0, 0x151f8             |         goto label_12;
                                             |     }
    0x000153f0 move s6, v0                   |     s6 = v0;
                                             | label_76:
    0x000153f4 addiu s2, s2, 1               |     s2++;
    0x000153f8 sltu v0, s2, s6               |     v0 = (s2 < s6) ? 1 : 0;
    0x000153fc lw t9, -0x7c68(gp)            |     t9 = sym.imp.__snprintf_chk;
                                             |     if (v0 != 0) {
    0x00015400 bnez v0, 0x153ac              |         goto label_13;
                                             |     }
                                             | label_74:
    0x00015404 lw v0, 0x30(sp)               |     v0 = *(var_30h_4);
                                             | label_17:
    0x00015408 lw t9, -0x7f98(gp)            |     t9 = sym.crypt_safe_alloc;
    0x0001540c move a0, v0                   |     a0 = v0;
    0x00015410 sw v0, 0x54(sp)               |     *(var_54h_4) = v0;
    0x00015414 bal 0x698c                    |     sym_crypt_safe_alloc ();
    0x00015418 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x0001541c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x00015420 beqz v0, 0x157a8              |         goto label_77;
                                             |     }
    0x00015424 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
                                             |     if (s6 == 0) {
    0x00015428 beqz s6, 0x15840              |         goto label_78;
                                             |     }
    0x0001542c addiu v0, zero, -1            |     v0 = -1;
    0x00015430 sw v0, 0x4c(sp)               |     *(var_4ch_5) = v0;
    0x00015434 lw v0, -0x7fa8(gp)            |     v0 = *(gp);
    0x00015438 move s2, s3                   |     s2 = s3;
    0x0001543c addiu v0, v0, 0x4318          |     v0 += 0x4318;
    0x00015440 sw v0, 0x38(sp)               |     *(var_38h_3) = v0;
    0x00015444 lw v0, -0x7fa8(gp)            |     v0 = *(gp);
    0x00015448 addiu s4, zero, -1            |     s4 = -1;
    0x0001544c addiu v0, v0, -0x2cb8         |     v0 += -0x2cb8;
    0x00015450 addiu s6, zero, -2            |     s6 = -2;
    0x00015454 move s7, zero                 |     s7 = 0;
    0x00015458 sw v0, 0x3c(sp)               |     *(var_3ch_6) = v0;
    0x0001545c addiu fp, sp, 0x54            |     fp = sp + 0x54;
    0x00015460 b 0x154f8                     |     goto label_79;
                                             | label_14:
    0x00015464 jalr t9                       |     t9 ();
    0x00015468 nop                           |     
    0x0001546c move s6, v0                   |     s6 = v0;
    0x00015470 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x00015474 bltz v0, 0x15750              |         goto label_80;
                                             |     }
    0x00015478 lw v1, 4(s2)                  |     v1 = *((s2 + 1));
    0x0001547c lw v0, (s2)                   |     v0 = *(s2);
    0x00015480 lw t9, -0x7d24(gp)            |     t9 = sym.imp.crypt_keyslot_add_by_key;
    0x00015484 addiu t3, zero, 5             |     t3 = 5;
    0x00015488 lw a3, 0x30(sp)               |     a3 = *(var_30h_4);
    0x0001548c lw a2, 0x34(sp)               |     a2 = *(var_34h_2);
    0x00015490 addiu a1, zero, -1            |     a1 = -1;
    0x00015494 move a0, s0                   |     a0 = s0;
    0x00015498 sw t3, 0x18(sp)               |     *(var_18h_6) = t3;
    0x0001549c sw v1, 0x14(sp)               |     *(var_14h_6) = v1;
    0x000154a0 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000154a4 jalr t9                       |     t9 ();
    0x000154a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000154ac move s6, v0                   |     s6 = v0;
    0x000154b0 move a1, zero                 |     a1 = 0;
    0x000154b4 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x000154b8 move a0, v0                   |     a0 = v0;
    0x000154bc bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x000154c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s6 < 0) {
    0x000154c4 bltz s6, 0x15750              |         goto label_80;
                                             |     }
    0x000154c8 lw t9, 0x3c(sp)               |     t9 = *(var_3ch_6);
    0x000154cc move a2, s6                   |     a2 = s6;
    0x000154d0 sw s6, 8(s2)                  |     *((s2 + 2)) = s6;
    0x000154d4 move a1, s7                   |     a1 = s7;
    0x000154d8 move a0, s0                   |     a0 = s0;
    0x000154dc jalr t9                       |     t9 ();
    0x000154e0 move s6, v0                   |     s6 = v0;
    0x000154e4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x000154e8 bltz v0, 0x15750              |         goto label_80;
                                             |     }
                                             |     do {
                                             | label_15:
    0x000154ec addiu s7, s7, 1               |         s7++;
    0x000154f0 addiu s2, s2, 0xc             |         s2 += 0xc;
                                             |         if (s1 == s7) {
    0x000154f4 beq s1, s7, 0x1565c           |             goto label_81;
                                             |         }
                                             | label_79:
    0x000154f8 lw v0, (s2)                   |         v0 = *(s2);
    0x000154fc addiu v0, zero, -1            |         v0 = -1;
    0x00015500 beqz v0, 0x154ec              |         
                                             |     } while (v0 == 0);
    0x00015504 move a1, s7                   |     a1 = s7;
    0x00015508 move a0, s0                   |     a0 = s0;
    0x0001550c lw t9, 0x38(sp)               |     t9 = *(var_38h_3);
                                             |     if (s4 != v0) {
    0x00015510 bne s4, v0, 0x15464           |         goto label_14;
                                             |     }
    0x00015514 jalr t9                       |     t9 ();
    0x00015518 nop                           |     
    0x0001551c move s6, v0                   |     s6 = v0;
    0x00015520 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x00015524 bltz v0, 0x15750              |         goto label_80;
                                             |     }
    0x00015528 lw v1, 4(s2)                  |     v1 = *((s2 + 1));
    0x0001552c lw v0, (s2)                   |     v0 = *(s2);
    0x00015530 lw t9, -0x7d24(gp)            |     t9 = sym.imp.crypt_keyslot_add_by_key;
    0x00015534 addiu t3, zero, 1             |     t3 = 1;
    0x00015538 lw a3, 0x30(sp)               |     a3 = *(var_30h_4);
    0x0001553c move a2, zero                 |     a2 = 0;
    0x00015540 addiu a1, zero, -1            |     a1 = -1;
    0x00015544 move a0, s0                   |     a0 = s0;
    0x00015548 sw t3, 0x18(sp)               |     *(var_18h_6) = t3;
    0x0001554c sw v1, 0x14(sp)               |     *(var_14h_6) = v1;
    0x00015550 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00015554 jalr t9                       |     t9 ();
    0x00015558 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001555c move s4, v0                   |     s4 = v0;
    0x00015560 move a1, zero                 |     a1 = 0;
    0x00015564 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00015568 move a0, v0                   |     a0 = v0;
    0x0001556c bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x00015570 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s4 < 0) {
    0x00015574 bltz s4, 0x1574c              |         goto label_82;
                                             |     }
    0x00015578 lw v1, 4(s2)                  |     v1 = *((s2 + 1));
    0x0001557c lw v0, (s2)                   |     v0 = *(s2);
    0x00015580 lw t9, -0x7d54(gp)            |     t9 = sym.imp.crypt_volume_key_get;
    0x00015584 lw a2, 0x34(sp)               |     a2 = *(var_34h_2);
    0x00015588 sw s4, 8(s2)                  |     *((s2 + 2)) = s4;
    0x0001558c move a3, fp                   |     a3 = fp;
    0x00015590 sw v1, 0x14(sp)               |     *(var_14h_6) = v1;
    0x00015594 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00015598 move a1, s4                   |     a1 = s4;
    0x0001559c move a0, s0                   |     a0 = s0;
    0x000155a0 jalr t9                       |     t9 ();
    0x000155a4 move s6, v0                   |     s6 = v0;
    0x000155a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x000155ac bltz v0, 0x15750              |         goto label_80;
                                             |     }
    0x000155b0 lw t9, 0x3c(sp)               |     t9 = *(var_3ch_6);
    0x000155b4 move a2, v0                   |     a2 = v0;
    0x000155b8 move a1, s7                   |     a1 = s7;
    0x000155bc move a0, s0                   |     a0 = s0;
    0x000155c0 jalr t9                       |     t9 ();
    0x000155c4 move s6, v0                   |     s6 = v0;
    0x000155c8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x000155cc bltz v0, 0x15750              |         goto label_80;
                                             |     }
    0x000155d0 sw s7, 0x4c(sp)               |     *(var_4ch_5) = s7;
    0x000155d4 b 0x154ec                     |     goto label_15;
                                             | label_62:
    0x000155d8 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000155dc lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000155e0 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.No_known_cipher_specification_pattern_detected. */
    0x000155e4 addiu v0, v0, -0x3908         |     v0 += -0x3908;
    0x000155e8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000155ec addiu a3, zero, 0xbb4         |     a3 = 0xbb4;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000155f0 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000155f4 addiu a1, zero, 1             |     a1 = 1;
    0x000155f8 move a0, zero                 |     a0 = 0;
    0x000155fc bal 0x88f0                    |     sym_clogger ();
    0x00015600 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00015604 b 0x15074                     |     goto label_2;
                                             | label_73:
    0x00015608 lw v0, 0x22c8(v0)             |     v0 = *((v0 + 2226));
                                             |     if (v0 == 0) {
    0x0001560c beqz v0, 0x15380              |         goto label_16;
                                             |     }
    0x00015610 nop                           |     
    0x00015614 lw v0, 0x30(sp)               |     v0 = *(var_30h_4);
                                             |     if (s6 == 0) {
    0x00015618 beqz s6, 0x15408              |         goto label_17;
                                             |     }
    0x0001561c move fp, zero                 |     fp = 0;
    0x00015620 addiu s4, zero, 2             |     s4 = 2;
    0x00015624 b 0x1563c                     |     
                                             |     while (v0 != 0) {
    0x00015628 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         if (v0 == s4) {
    0x0001562c beq v0, s4, 0x157b0           |             goto label_83;
                                             |         }
    0x00015630 addiu fp, fp, 1               |         fp++;
    0x00015634 lw v0, 0x24(s7)               |         v0 = *((s7 + 9));
                                             |         if (s6 == fp) {
    0x00015638 beq s6, fp, 0x157e0           |             goto label_84;
                                             |         }
    0x0001563c lw t9, -0x7c4c(gp)            |         t9 = sym.imp.crypt_keyslot_status;
    0x00015640 move a1, fp                   |         a1 = fp;
    0x00015644 move a0, s0                   |         a0 = s0;
    0x00015648 jalr t9                       |         t9 ();
    0x0001564c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00015650 bnez v0, 0x15628              |         
                                             |     }
    0x00015654 addiu s6, zero, -0x16         |     s6 = -0x16;
    0x00015658 b 0x151f8                     |     goto label_12;
                                             | label_81:
    0x0001565c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00015660 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x00015664 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00015668 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s6 < 0) {
    0x0001566c bltz s6, 0x151f8              |         goto label_12;
                                             |     }
    0x00015670 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015674 lw s2, 0x215c(v0)             |     s2 = *((v0 + 2135));
    0x00015678 lw v0, 0x48(sp)               |     v0 = *(var_48h_2);
                                             |     if (s2 == 0) {
    0x0001567c beqz s2, 0x15764              |         goto label_85;
                                             |     }
                                             | label_22:
    0x00015680 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_5);
                                             | label_20:
    0x00015684 lw t9, -0x7cec(gp)            |     t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00015688 sll v0, a0, 1                 |     v0 = a0 << 1;
    0x0001568c addu v0, v0, a0               |     v0 += a0;
    0x00015690 sll v0, v0, 2                 |     v0 <<= 2;
    0x00015694 addu v0, s3, v0               |     v0 = s3 + v0;
    0x00015698 move a1, s2                   |     a1 = s2;
    0x0001569c lw v1, 8(v0)                  |     v1 = *((v0 + 2));
    0x000156a0 lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x000156a4 lw a2, (v0)                   |     a2 = *(v0);
    0x000156a8 addiu v0, sp, 0x78            |     v0 = sp + 0x78;
    0x000156ac sw v0, 0x20(sp)               |     *(var_20h_6) = v0;
    0x000156b0 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
    0x000156b4 sw a0, 0x10(sp)               |     *(var_10h_2) = a0;
    0x000156b8 sw v0, 0x1c(sp)               |     *(var_1ch_4) = v0;
    0x000156bc lw v0, 0x40(sp)               |     v0 = *(var_40h_2);
    0x000156c0 sw v1, 0x14(sp)               |     *(var_14h_6) = v1;
    0x000156c4 sw v0, 0x18(sp)               |     *(var_18h_6) = v0;
    0x000156c8 move a0, s0                   |     a0 = s0;
    0x000156cc jalr t9                       |     t9 ();
    0x000156d0 move s6, v0                   |     s6 = v0;
    0x000156d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000156d8 b 0x151f8                     |     goto label_12;
                                             | label_71:
    0x000156dc addiu s6, zero, -0xc          |     s6 = -0xc;
    0x000156e0 b 0x15074                     |     goto label_2;
                                             | label_75:
    0x000156e4 lw t9, -0x7d6c(gp)            |     t9 = sym.imp.crypt_get_volume_key_size;
    0x000156e8 move a0, s0                   |     a0 = s0;
    0x000156ec jalr t9                       |     t9 ();
    0x000156f0 sw v0, 0x30(sp)               |     *(var_30h_4) = v0;
    0x000156f4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000156f8 b 0x15118                     |     goto label_18;
                                             | label_69:
    0x000156fc addu fp, s2, fp               |     fp = s2 + fp;
    0x00015700 slt v1, fp, s6                |     v1 = (fp < s6) ? 1 : 0;
    0x00015704 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v1 == 0) {
    0x00015708 bnel v1, zero, 0x150fc        |         goto label_19;
                                             |     }
    0x0001570c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00015710 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Not_enough_free_keyslots_for_reencryption. */
    0x00015714 addiu v0, v0, -0x2c98         |     v0 += -0x2c98;
    0x00015718 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0001571c addiu a3, zero, 0xb5e         |     a3 = 0xb5e;
                                             | label_27:
    0x00015720 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00015724 addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00015728 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0001572c move a0, zero                 |     a0 = 0;
    0x00015730 bal 0x88f0                    |     sym_clogger ();
    0x00015734 addiu s6, zero, -0x16         |     s6 = -0x16;
    0x00015738 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001573c b 0x15074                     |     goto label_2;
                                             | label_64:
    0x00015740 move fp, zero                 |     fp = 0;
    0x00015744 move s2, zero                 |     s2 = 0;
    0x00015748 b 0x150cc                     |     goto label_9;
                                             | label_82:
    0x0001574c move s6, s4                   |     s6 = s4;
                                             | label_80:
    0x00015750 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00015754 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x00015758 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0001575c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00015760 b 0x151f8                     |     goto label_12;
                                             | label_85:
    0x00015764 lw v0, 0x2154(v0)             |     v0 = *((v0 + 2133));
    0x00015768 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_5);
                                             |     if (v0 != 0) {
    0x0001576c bnez v0, 0x15684              |         goto label_20;
                                             |     }
    0x00015770 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
    0x00015774 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00015778 addiu fp, sp, 0xec            |     fp = sp + 0xec;
    0x0001577c lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x00015780 move a2, fp                   |     a2 = fp;
    0x00015784 move a0, s0                   |     a0 = s0;
                                             |     /* fcn.00014c34 */
    0x00015788 addiu t9, t9, 0x4c34          |     t9 += 0x4c34;
    0x0001578c lw a1, (v0)                   |     a1 = *(v0);
    0x00015790 bal 0x14c34                   |     fcn_00014c34 ();
                                             |     goto label_21;
    0x00015794 move s6, v0                   |     s6 = v0;
    0x00015798 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 <= 0) {
    0x0001579c blez v0, 0x157f4              |         goto label_86;
                                             |     }
    0x000157a0 move s2, fp                   |     s2 = fp;
    0x000157a4 b 0x15680                     |     goto label_22;
                                             | label_77:
    0x000157a8 addiu v0, zero, -0xc          |     v0 = -0xc;
    0x000157ac b 0x151f0                     |     goto label_23;
                                             | label_83:
    0x000157b0 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000157b4 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Key_file_can_be_used_only_with___key_slot_or_with_exactly_one_key_slot_active. */
    0x000157b8 addiu v0, v0, -0x2c6c         |     v0 += -0x2c6c;
    0x000157bc sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000157c0 addiu a3, zero, 0xb73         |     a3 = 0xb73;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000157c4 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000157c8 addiu a1, zero, 1             |     a1 = 1;
    0x000157cc move a0, zero                 |     a0 = 0;
    0x000157d0 bal 0x88f0                    |     sym_clogger ();
    0x000157d4 addiu s6, zero, -0x16         |     s6 = -0x16;
    0x000157d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x000157dc b 0x151f8                     |     goto label_12;
                                             | label_84:
    0x000157e0 addiu a0, zero, -1            |     a0 = -1;
                                             |     if (v0 == a0) {
    0x000157e4 beql v0, a0, 0x1538c          |         goto label_24;
                                             |     }
    0x000157e8 lw v0, -0x7fa8(gp)            |     v0 = *(gp);
    0x000157ec sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x000157f0 b 0x15198                     |     goto label_25;
                                             | label_86:
    0x000157f4 lw v0, 0x48(sp)               |     v0 = *(var_48h_2);
                                             |     if (v0 != 0) {
    0x000157f8 bnez v0, 0x151f8              |         goto label_12;
                                             |     }
    0x000157fc lw v0, 0x2154(v0)             |     v0 = *((v0 + 2133));
    0x00015800 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
                                             |     if (v0 != 0) {
    0x00015804 bnez v0, 0x15680              |         goto label_22;
                                             |     }
    0x00015808 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001580c lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00015810 lw v0, (v0)                   |     v0 = *(v0);
    0x00015814 addiu a3, zero, 0xc11         |     a3 = 0xc11;
    0x00015818 sw v0, 0x14(sp)               |     *(var_14h_6) = v0;
    0x0001581c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00015820 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
                                             |     /* str.Device__s_seems_unused._Proceeding_with_offline_operation. */
    0x00015824 addiu v0, v0, -0x2bd4         |     v0 += -0x2bd4;
    0x00015828 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0001582c addiu a1, zero, -1            |     a1 = -1;
    0x00015830 move a0, zero                 |     a0 = 0;
    0x00015834 bal 0x88f0                    |     sym_clogger ();
    0x00015838 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0001583c b 0x15680                     |     goto label_22;
                                             | label_78:
    0x00015840 move a0, v0                   |     a0 = v0;
    0x00015844 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00015848 addiu s6, zero, -2            |     s6 = -2;
    0x0001584c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00015850 b 0x1535c                     |     goto label_26;
                                             | label_68:
    0x00015854 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Not_enough_free_keyslots_for_reencryption. */
    0x00015858 addiu v0, v0, -0x2c98         |     v0 += -0x2c98;
    0x0001585c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00015860 addiu a3, zero, 0xb58         |     a3 = 0xb58;
    0x00015864 b 0x15720                     |     goto label_27;
                                             | label_67:
    0x00015868 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0001586c jalr t9                       |     t9 ();
    0x00015870 nop                           |     
                                             | label_34:
    0x00015874 lui gp, 2                     |     
    0x00015878 addiu gp, gp, 0x33ac          |     
    0x0001587c addu gp, gp, t9               |     gp += t9;
    0x00015880 addiu sp, sp, -0x10a0         |     
    0x00015884 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00015888 sw s0, 0x1080(sp)             |     *(var_1080h) = s0;
    0x0001588c lw s0, -0x7bf0(gp)            |     s0 = *((gp - 7932));
    0x00015890 lw v0, 0x211c(v1)             |     v0 = *((v1 + 2119));
    0x00015894 sw s1, 0x1084(sp)             |     *(var_1084h) = s1;
    0x00015898 lw a1, (s0)                   |     a1 = *(s0);
    0x0001589c sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x000158a0 move s1, a0                   |     s1 = a0;
    0x000158a4 addiu a0, zero, 2             |     a0 = 2;
    0x000158a8 sw ra, 0x109c(sp)             |     *(var_109ch) = ra;
    0x000158ac sw s6, 0x1098(sp)             |     *(var_1098h) = s6;
    0x000158b0 sw s5, 0x1094(sp)             |     *(var_1094h) = s5;
    0x000158b4 sw s4, 0x1090(sp)             |     *(var_1090h) = s4;
    0x000158b8 sw s3, 0x108c(sp)             |     *(var_108ch) = s3;
    0x000158bc sw s2, 0x1088(sp)             |     *(var_1088h) = s2;
    0x000158c0 sw a1, 0x107c(sp)             |     *(var_107ch) = a1;
    0x000158c4 sw zero, 0x40(sp)             |     *(var_40h_3) = 0;
    0x000158c8 sw zero, 0x70(sp)             |     *(var_70h_2) = 0;
    0x000158cc sw zero, 0x74(sp)             |     *(var_74h_2) = 0;
    0x000158d0 sw a0, 0x48(sp)               |     *(var_48h_3) = a0;
    0x000158d4 lw v1, 0x2118(v1)             |     v1 = *((v1 + 2118));
                                             |     if (v0 <= 0) {
    0x000158d8 blez v0, 0x15ac4              |         goto label_87;
                                             |     }
    0x000158dc move a1, zero                 |     a1 = 0;
                                             | label_28:
    0x000158e0 or a0, v1, v0                 |     a0 = v1 | v0;
                                             | label_29:
    0x000158e4 sw a1, 0x4c(sp)               |     *(var_4ch_2) = a1;
                                             |     if (a0 != 0) {
    0x000158e8 bnez a0, 0x15ab8              |         goto label_88;
                                             |     }
    0x000158ec lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x000158f0 lw a0, 0x314(a0)              |     a0 = *((a0 + 197));
                                             |     do {
    0x000158f4 sw a0, 0x50(sp)               |         *(var_50h) = a0;
    0x000158f8 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x000158fc lw a0, 0x310(a0)              |         a0 = *((a0 + 196));
    0x00015900 sw a0, 0x54(sp)               |         *(var_54h) = a0;
                                             |         if (v0 < 0) {
    0x00015904 bgez v0, 0x15918              |             
    0x00015908 negu v1, v1                   |             __asm ("negu v1, v1");
    0x0001590c sltu a0, zero, v1             |             a0 = (0 < v1) ? 1 : 0;
    0x00015910 negu v0, v0                   |             __asm ("negu v0, v0");
    0x00015914 subu v0, v0, a0               |             __asm ("subu v0, v0, a0");
                                             |         }
    0x00015918 lw a1, -0x7fdc(gp)            |         a1 = *(gp);
    0x0001591c lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00015920 lw t0, -0x7fdc(gp)            |         t0 = *(gp);
    0x00015924 lw a3, 0x2134(a1)             |         a3 = *((a1 + 2125));
    0x00015928 lw a2, 0x2124(a0)             |         a2 = *((a0 + 2121));
    0x0001592c lw a1, 0x2130(a1)             |         a1 = *((a1 + 2124));
    0x00015930 lw a0, 0x2120(a0)             |         a0 = *((a0 + 2120));
    0x00015934 sll t3, v0, 0x17              |         t3 = v0 << 0x17;
    0x00015938 sll t2, a3, 0x17              |         t2 = a3 << 0x17;
    0x0001593c sll t1, a2, 0x17              |         t1 = a2 << 0x17;
    0x00015940 srl v1, v1, 9                 |         v1 >>= 9;
    0x00015944 srl a1, a1, 9                 |         a1 >>= 9;
    0x00015948 srl a0, a0, 9                 |         a0 >>= 9;
    0x0001594c lw t0, 0x2154(t0)             |         t0 = *((t0 + 2133));
    0x00015950 or v1, v1, t3                 |         v1 |= t3;
    0x00015954 sra v0, v0, 9                 |         v0 >>= 9;
    0x00015958 or a1, a1, t2                 |         a1 |= t2;
    0x0001595c srl a3, a3, 9                 |         a3 >>= 9;
    0x00015960 or a0, a0, t1                 |         a0 |= t1;
    0x00015964 srl a2, a2, 9                 |         a2 >>= 9;
    0x00015968 sw v1, 0x58(sp)               |         *(var_58h_2) = v1;
    0x0001596c sw v0, 0x5c(sp)               |         *(var_5ch_2) = v0;
    0x00015970 sw a1, 0x60(sp)               |         *(var_60h_2) = a1;
    0x00015974 sw a3, 0x64(sp)               |         *(var_64h_2) = a3;
    0x00015978 sw a0, 0x68(sp)               |         *(var_68h_2) = a0;
    0x0001597c sw a2, 0x6c(sp)               |         *(var_6ch_2) = a2;
                                             |         if (t0 != 0) {
    0x00015980 beqz t0, 0x1598c              |             
    0x00015984 addiu v0, zero, 1             |             v0 = 1;
    0x00015988 sw v0, 0x74(sp)               |             *(var_74h_2) = v0;
                                             |         }
    0x0001598c lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00015990 lw v0, 0x2150(v0)             |         v0 = *((v0 + 2132));
    0x00015994 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x00015998 beqz v0, 0x159ac              |             
    0x0001599c lw v0, 0x74(sp)               |             v0 = *(var_74h_2);
    0x000159a0 ori v0, v0, 4                 |             v0 |= 4;
    0x000159a4 sw v0, 0x74(sp)               |             *(var_74h_2) = v0;
    0x000159a8 lw v0, -0x7fdc(gp)            |             v0 = *(gp);
                                             |         }
    0x000159ac lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x000159b0 move a0, zero                 |         a0 = 0;
    0x000159b4 lw s2, 0x2218(v0)             |         s2 = *((v0 + 2182));
    0x000159b8 lw s3, 0x221c(v0)             |         s3 = *((v0 + 2183));
    0x000159bc lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000159c0 addiu t9, t9, -0xef4          |         t9 += -0xef4;
    0x000159c4 lw s4, 0x2224(v0)             |         s4 = *((v0 + 2185));
    0x000159c8 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000159cc lw s5, 0x22c8(v0)             |         s5 = *((v0 + 2226));
    0x000159d0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x000159d4 lw s6, 0x21e0(v0)             |         s6 = *((v0 + 2168));
    0x000159d8 bal 0xf10c                    |         fcn_0000f10c ();
    0x000159dc lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x000159e0 sw s1, 0x2c(sp)               |         *(var_2ch_2) = s1;
    0x000159e4 sw zero, 0x28(sp)             |         *(var_28h_2) = 0;
    0x000159e8 lw t9, -0x7fbc(gp)            |         t9 = sym.tools_get_key;
    0x000159ec sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x000159f0 sw s6, 0x20(sp)               |         *(var_20h_2) = s6;
    0x000159f4 sw s5, 0x1c(sp)               |         *(var_1ch) = s5;
    0x000159f8 sw s4, 0x18(sp)               |         *(var_18h_2) = s4;
    0x000159fc sw s2, 0x10(sp)               |         *(var_10h_3) = s2;
    0x00015a00 sw s3, 0x14(sp)               |         *(var_14h_2) = s3;
    0x00015a04 addiu a2, sp, 0x44            |         a2 = sp + 0x44;
    0x00015a08 addiu a1, sp, 0x40            |         a1 = sp + 0x40;
    0x00015a0c move a0, zero                 |         a0 = 0;
    0x00015a10 bal 0xab80                    |         sym_tools_get_key ();
    0x00015a14 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         if (v0 >= 0) {
    0x00015a18 bltz v0, 0x15a84              |             
    0x00015a1c lw v0, -0x7fdc(gp)            |             v0 = *(gp);
    0x00015a20 lw s2, 0x215c(v0)             |             s2 = *((v0 + 2135));
    0x00015a24 lw s3, -0x7fdc(gp)            |             s3 = *(gp);
                                             |             if (s2 == 0) {
    0x00015a28 beqz s2, 0x15adc              |                 goto label_89;
                                             |             }
                                             | label_30:
    0x00015a2c lw v0, -0x7fdc(gp)            |             v0 = *(gp);
    0x00015a30 addiu v1, sp, 0x48            |             v1 = sp + 0x48;
    0x00015a34 lw t9, -0x7cec(gp)            |             t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00015a38 lw v0, 0x24(v0)               |             v0 = *((v0 + 9));
    0x00015a3c sw v1, 0x20(sp)               |             *(var_20h_2) = v1;
    0x00015a40 lw a3, 0x44(sp)               |             a3 = *(var_44h_3);
    0x00015a44 addiu v1, zero, -1            |             v1 = -1;
    0x00015a48 lw a2, 0x40(sp)               |             a2 = *(var_40h_3);
    0x00015a4c sw zero, 0x1c(sp)             |             *(var_1ch) = 0;
    0x00015a50 sw zero, 0x18(sp)             |             *(var_18h_2) = 0;
    0x00015a54 sw v1, 0x14(sp)               |             *(var_14h_2) = v1;
    0x00015a58 sw v0, 0x10(sp)               |             *(var_10h_3) = v0;
    0x00015a5c move a1, s2                   |             a1 = s2;
    0x00015a60 move a0, s1                   |             a0 = s1;
    0x00015a64 jalr t9                       |             t9 ();
    0x00015a68 lw gp, 0x30(sp)               |             gp = *(var_30h);
                                             | label_31:
    0x00015a6c lw t9, -0x7fb4(gp)            |             t9 = sym.crypt_safe_free;
    0x00015a70 lw a0, 0x40(sp)               |             a0 = *(var_40h_3);
    0x00015a74 sw v0, 0x3c(sp)               |             *(var_3ch_5) = v0;
    0x00015a78 bal 0x6a20                    |             sym_crypt_safe_free ();
    0x00015a7c lw gp, 0x30(sp)               |             gp = *(var_30h);
    0x00015a80 lw v0, 0x3c(sp)               |             v0 = *(var_3ch_5);
                                             |         }
    0x00015a84 lw a0, 0x107c(sp)             |         a0 = *(var_107ch);
    0x00015a88 lw v1, (s0)                   |         v1 = *(s0);
    0x00015a8c lw ra, 0x109c(sp)             |         ra = *(var_109ch);
                                             |         if (a0 != v1) {
    0x00015a90 bne a0, v1, 0x15b4c           |             goto label_90;
                                             |         }
    0x00015a94 lw s6, 0x1098(sp)             |         s6 = *(var_1098h);
    0x00015a98 lw s5, 0x1094(sp)             |         s5 = *(var_1094h);
    0x00015a9c lw s4, 0x1090(sp)             |         s4 = *(var_1090h);
    0x00015aa0 lw s3, 0x108c(sp)             |         s3 = *(var_108ch);
    0x00015aa4 lw s2, 0x1088(sp)             |         s2 = *(var_1088h);
    0x00015aa8 lw s1, 0x1084(sp)             |         s1 = *(var_1084h);
    0x00015aac lw s0, 0x1080(sp)             |         s0 = *(var_1080h);
    0x00015ab0 addiu sp, sp, 0x10a0          |         
    0x00015ab4 jr ra                         |         return v1;
                                             | label_88:
    0x00015ab8 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
                                             |         /* str.datashift */
    0x00015abc addiu a0, a0, -0x30c4         |         a0 += -0x30c4;
    0x00015ac0 b 0x158f4                     |         
                                             |     } while (1);
                                             | label_87:
    0x00015ac4 addiu a1, zero, 1             |     a1 = 1;
                                             |     if (v0 != 0) {
    0x00015ac8 bnez v0, 0x158e0              |         goto label_28;
                                             |     }
    0x00015acc or a0, v1, v0                 |     a0 = v1 | v0;
                                             |     if (v1 == 0) {
    0x00015ad0 beqz v1, 0x158e4              |         goto label_29;
                                             |     }
    0x00015ad4 move a1, zero                 |     a1 = 0;
    0x00015ad8 b 0x158e4                     |     goto label_29;
                                             | label_89:
    0x00015adc lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00015ae0 addiu s4, sp, 0x7c            |     s4 = sp + 0x7c;
    0x00015ae4 lw v0, 0x20f0(s3)             |     v0 = *((s3 + 2108));
    0x00015ae8 move a2, s4                   |     a2 = s4;
    0x00015aec move a0, s1                   |     a0 = s1;
                                             |     /* fcn.00014c34 */
    0x00015af0 addiu t9, t9, 0x4c34          |     t9 += 0x4c34;
    0x00015af4 lw a1, (v0)                   |     a1 = *(v0);
    0x00015af8 bal 0x14c34                   |     fcn_00014c34 ();
                                             |     goto label_21;
    0x00015afc lw gp, 0x30(sp)               |     gp = *(var_30h);
                                             |     if (v0 > 0) {
    0x00015b00 blez v0, 0x15b0c              |         
    0x00015b04 move s2, s4                   |         s2 = s4;
    0x00015b08 b 0x15a2c                     |         goto label_30;
                                             |     }
    0x00015b0c lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
                                             |     if (v0 != 0) {
    0x00015b10 bnez v0, 0x15a6c              |         goto label_31;
                                             |     }
    0x00015b14 lw v0, 0x20f0(s3)             |     v0 = *((s3 + 2108));
    0x00015b18 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
    0x00015b1c lw v0, (v0)                   |     v0 = *(v0);
    0x00015b20 addiu a3, zero, 0xae9         |     a3 = 0xae9;
    0x00015b24 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00015b28 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00015b2c addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
                                             |     /* str.Device__s_seems_unused._Proceeding_with_offline_operation. */
    0x00015b30 addiu v0, v0, -0x2bd4         |     v0 += -0x2bd4;
    0x00015b34 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00015b38 addiu a1, zero, -1            |     a1 = -1;
    0x00015b3c move a0, zero                 |     a0 = 0;
    0x00015b40 bal 0x88f0                    |     sym_clogger ();
    0x00015b44 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00015b48 b 0x15a2c                     |     goto label_30;
                                             | label_90:
    0x00015b4c lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00015b50 jalr t9                       |     t9 ();
    0x00015b54 nop                           |     
                                             | label_44:
    0x00015b58 lui gp, 2                     |     
    0x00015b5c addiu gp, gp, 0x30c8          |     
    0x00015b60 addu gp, gp, t9               |     gp += t9;
    0x00015b64 addiu sp, sp, -0x10a8         |     
    0x00015b68 lw t9, -0x7e00(gp)            |     t9 = sym.imp.memset;
    0x00015b6c sw s0, 0x1084(sp)             |     *(var_1084h_2) = s0;
    0x00015b70 lw s0, -0x7bf0(gp)            |     s0 = *((gp - 7932));
    0x00015b74 sw s2, 0x108c(sp)             |     *(var_108ch_2) = s2;
    0x00015b78 addiu s2, sp, 0x7c            |     s2 = sp + 0x7c;
    0x00015b7c lw v0, (s0)                   |     v0 = *(s0);
    0x00015b80 sw ra, 0x10a4(sp)             |     *(var_10a4h) = ra;
    0x00015b84 sw gp, 0x30(sp)               |     *(var_30h_2) = gp;
    0x00015b88 sw s7, 0x10a0(sp)             |     *(var_10a0h) = s7;
    0x00015b8c sw s6, 0x109c(sp)             |     *(var_109ch_2) = s6;
    0x00015b90 sw s5, 0x1098(sp)             |     *(var_1098h_2) = s5;
    0x00015b94 sw s4, 0x1094(sp)             |     *(var_1094h_2) = s4;
    0x00015b98 sw s3, 0x1090(sp)             |     *(var_1090h_2) = s3;
    0x00015b9c sw s1, 0x1088(sp)             |     *(var_1088h_2) = s1;
    0x00015ba0 addiu a2, zero, 0x1000        |     a2 = 0x1000;
    0x00015ba4 move a1, zero                 |     a1 = 0;
    0x00015ba8 move s1, a0                   |     s1 = a0;
    0x00015bac sw v0, 0x107c(sp)             |     *(var_107ch_2) = v0;
    0x00015bb0 move a0, s2                   |     a0 = s2;
    0x00015bb4 jalr t9                       |     t9 ();
    0x00015bb8 lw gp, 0x30(sp)               |     gp = *(var_30h_2);
    0x00015bbc sw zero, 0x44(sp)             |     *(var_44h_4) = 0;
    0x00015bc0 sw zero, 0x48(sp)             |     *(var_48h_4) = 0;
    0x00015bc4 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00015bc8 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x00015bcc lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015bd0 lw t0, 0x314(a2)              |     t0 = *((a2 + 197));
    0x00015bd4 lw a2, -0x7fdc(gp)            |     a2 = *(gp);
    0x00015bd8 lw a1, 0x2134(v1)             |     a1 = *((v1 + 2125));
    0x00015bdc lw v1, 0x2130(v1)             |     v1 = *((v1 + 2124));
    0x00015be0 lw a0, 0x2124(v0)             |     a0 = *((v0 + 2121));
    0x00015be4 lw a3, 0x310(a2)              |     a3 = *((a2 + 196));
    0x00015be8 srl v1, v1, 9                 |     v1 >>= 9;
    0x00015bec sll a2, a1, 0x17              |     a2 = a1 << 0x17;
    0x00015bf0 sll t1, a0, 0x17              |     t1 = a0 << 0x17;
    0x00015bf4 or v1, v1, a2                 |     v1 |= a2;
    0x00015bf8 srl a2, a1, 9                 |     a2 = a1 >> 9;
    0x00015bfc srl a1, a0, 9                 |     a1 = a0 >> 9;
    0x00015c00 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00015c04 lw v0, 0x2120(v0)             |     v0 = *((v0 + 2120));
    0x00015c08 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
    0x00015c0c lw s4, 0x2218(a0)             |     s4 = *((a0 + 2182));
    0x00015c10 lw s5, 0x221c(a0)             |     s5 = *((a0 + 2183));
    0x00015c14 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00015c18 srl v0, v0, 9                 |     v0 >>= 9;
    0x00015c1c or v0, v0, t1                 |     v0 |= t1;
    0x00015c20 lw s3, 0x2224(a0)             |     s3 = *((a0 + 2185));
    0x00015c24 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00015c28 sw v0, 0x68(sp)               |     *(var_68h_3) = v0;
    0x00015c2c addiu v0, zero, 4             |     v0 = 4;
    0x00015c30 lw s6, 0x22c8(a0)             |     s6 = *((a0 + 2226));
    0x00015c34 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x00015c38 sw t0, 0x50(sp)               |     *(var_50h_2) = t0;
    0x00015c3c sw a3, 0x54(sp)               |     *(var_54h_2) = a3;
    0x00015c40 lw s7, 0x21e0(a0)             |     s7 = *((a0 + 2168));
    0x00015c44 sw v1, 0x60(sp)               |     *(var_60h_3) = v1;
    0x00015c48 move a0, zero                 |     a0 = 0;
    0x00015c4c sw a2, 0x64(sp)               |     *(var_64h_3) = a2;
    0x00015c50 sw a1, 0x6c(sp)               |     *(var_6ch_3) = a1;
    0x00015c54 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x00015c58 sw zero, 0x4c(sp)             |     *(var_4ch_3) = 0;
    0x00015c5c sw zero, 0x58(sp)             |     *(var_58h_3) = 0;
    0x00015c60 sw zero, 0x5c(sp)             |     *(var_5ch_3) = 0;
    0x00015c64 sw zero, 0x70(sp)             |     *(var_70h_3) = 0;
    0x00015c68 sw v0, 0x74(sp)               |     *(var_74h_3) = v0;
    0x00015c6c bal 0xf10c                    |     fcn_0000f10c ();
    0x00015c70 lw gp, 0x30(sp)               |     gp = *(var_30h_2);
    0x00015c74 sw s1, 0x2c(sp)               |     *(var_2ch_3) = s1;
    0x00015c78 sw zero, 0x28(sp)             |     *(var_28h_3) = 0;
    0x00015c7c lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x00015c80 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x00015c84 sw s7, 0x20(sp)               |     *(var_20h_3) = s7;
    0x00015c88 sw s6, 0x1c(sp)               |     *(var_1ch_2) = s6;
    0x00015c8c sw s3, 0x18(sp)               |     *(var_18h_3) = s3;
    0x00015c90 sw s4, 0x10(sp)               |     *(var_10h_4) = s4;
    0x00015c94 sw s5, 0x14(sp)               |     *(var_14h_3) = s5;
    0x00015c98 addiu a2, sp, 0x40            |     a2 = sp + 0x40;
    0x00015c9c addiu a1, sp, 0x44            |     a1 = sp + 0x44;
    0x00015ca0 move a0, zero                 |     a0 = 0;
    0x00015ca4 bal 0xab80                    |     sym_tools_get_key ();
    0x00015ca8 lw gp, 0x30(sp)               |     gp = *(var_30h_2);
                                             |     if (v0 < 0) {
    0x00015cac bltz v0, 0x15d14              |         goto label_33;
                                             |     }
    0x00015cb0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015cb4 lw s4, 0x215c(v0)             |     s4 = *((v0 + 2135));
    0x00015cb8 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (s4 == 0) {
    0x00015cbc beqz s4, 0x15d4c              |         goto label_91;
                                             |     }
    0x00015cc0 lw a2, 0x44(sp)               |     a2 = *(var_44h_4);
                                             |     do {
    0x00015cc4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             | label_32:
    0x00015cc8 lw t9, -0x7cec(gp)            |         t9 = sym.imp.crypt_reencrypt_init_by_passphrase;
    0x00015ccc addiu v1, sp, 0x48            |         v1 = sp + 0x48;
    0x00015cd0 lw v0, 0x24(v0)               |         v0 = *((v0 + 9));
    0x00015cd4 lw a3, 0x40(sp)               |         a3 = *(var_40h_4);
    0x00015cd8 move a1, s4                   |         a1 = s4;
    0x00015cdc move a0, s1                   |         a0 = s1;
    0x00015ce0 sw v1, 0x20(sp)               |         *(var_20h_3) = v1;
    0x00015ce4 sw zero, 0x1c(sp)             |         *(var_1ch_2) = 0;
    0x00015ce8 sw zero, 0x18(sp)             |         *(var_18h_3) = 0;
    0x00015cec sw v0, 0x14(sp)               |         *(var_14h_3) = v0;
    0x00015cf0 sw v0, 0x10(sp)               |         *(var_10h_4) = v0;
    0x00015cf4 jalr t9                       |         t9 ();
    0x00015cf8 lw gp, 0x30(sp)               |         gp = *(var_30h_2);
    0x00015cfc lw a0, 0x44(sp)               |         a0 = *(var_44h_4);
    0x00015d00 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x00015d04 sw v0, 0x3c(sp)               |         *(var_3ch_4) = v0;
    0x00015d08 bal 0x6a20                    |         sym_crypt_safe_free ();
    0x00015d0c lw gp, 0x30(sp)               |         gp = *(var_30h_2);
    0x00015d10 lw v0, 0x3c(sp)               |         v0 = *(var_3ch_4);
                                             | label_33:
    0x00015d14 lw a0, 0x107c(sp)             |         a0 = *(var_107ch_2);
    0x00015d18 lw v1, (s0)                   |         v1 = *(s0);
    0x00015d1c lw ra, 0x10a4(sp)             |         ra = *(var_10a4h);
                                             |         if (a0 != v1) {
    0x00015d20 bne a0, v1, 0x15d9c           |             goto label_92;
                                             |         }
    0x00015d24 lw s7, 0x10a0(sp)             |         s7 = *(var_10a0h);
    0x00015d28 lw s6, 0x109c(sp)             |         s6 = *(var_109ch_2);
    0x00015d2c lw s5, 0x1098(sp)             |         s5 = *(var_1098h_2);
    0x00015d30 lw s4, 0x1094(sp)             |         s4 = *(var_1094h_2);
    0x00015d34 lw s3, 0x1090(sp)             |         s3 = *(var_1090h_2);
    0x00015d38 lw s2, 0x108c(sp)             |         s2 = *(var_108ch_2);
    0x00015d3c lw s1, 0x1088(sp)             |         s1 = *(var_1088h_2);
    0x00015d40 lw s0, 0x1084(sp)             |         s0 = *(var_1084h_2);
    0x00015d44 addiu sp, sp, 0x10a8          |         
    0x00015d48 jr ra                         |         return v1;
                                             | label_91:
    0x00015d4c lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x00015d50 move a2, s2                   |         a2 = s2;
    0x00015d54 lw v0, 0x20f0(v0)             |         v0 = *((v0 + 2108));
    0x00015d58 move a0, s1                   |         a0 = s1;
                                             |         /* fcn.00014c34 */
    0x00015d5c addiu t9, t9, 0x4c34          |         t9 += 0x4c34;
    0x00015d60 lw a1, (v0)                   |         a1 = *(v0);
    0x00015d64 bal 0x14c34                   |         fcn_00014c34 ();
                                             |         goto label_21;
    0x00015d68 lw gp, 0x30(sp)               |         gp = *(var_30h_2);
    0x00015d6c lw a2, 0x44(sp)               |         a2 = *(var_44h_4);
                                             |         if (v0 <= 0) {
    0x00015d70 blez v0, 0x15d7c              |             goto label_93;
                                             |         }
    0x00015d74 move s4, s2                   |         s4 = s2;
    0x00015d78 b 0x15cc4                     |         
                                             |     } while (1);
                                             |     if (v0 == 0) {
                                             | label_93:
    0x00015d7c beql v0, zero, 0x15cc8        |         goto label_32;
                                             |     }
    0x00015d80 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015d84 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00015d88 move a0, a2                   |     a0 = a2;
    0x00015d8c bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00015d90 lw gp, 0x30(sp)               |     gp = *(var_30h_2);
    0x00015d94 addiu v0, zero, -0x16         |     v0 = -0x16;
    0x00015d98 b 0x15d14                     |     goto label_33;
                                             | label_92:
    0x00015d9c lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00015da0 jalr t9                       |     t9 ();
    0x00015da4 nop                           |     
    0x00015da8 lui gp, 2                     |     
    0x00015dac addiu gp, gp, 0x2e78          |     
    0x00015db0 addu gp, gp, t9               |     gp += t9;
    0x00015db4 addiu sp, sp, -0x90           |     
    0x00015db8 lw t9, -0x7e00(gp)            |     t9 = sym.imp.memset;
    0x00015dbc sw s1, 0x78(sp)               |     *(var_78h_2) = s1;
    0x00015dc0 lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x00015dc4 sw s2, 0x7c(sp)               |     *(var_7ch_3) = s2;
    0x00015dc8 addiu s2, sp, 0x28            |     s2 = sp + 0x28;
    0x00015dcc lw v0, (s1)                   |     v0 = *(s1);
    0x00015dd0 sw gp, 0x18(sp)               |     *(var_18h_4) = gp;
    0x00015dd4 sw ra, 0x8c(sp)               |     *(var_8ch_2) = ra;
    0x00015dd8 sw s5, 0x88(sp)               |     *(var_88h_2) = s5;
    0x00015ddc sw s4, 0x84(sp)               |     *(var_84h_2) = s4;
    0x00015de0 sw s3, 0x80(sp)               |     *(var_80h_2) = s3;
    0x00015de4 sw s0, 0x74(sp)               |     *(var_74h_4) = s0;
    0x00015de8 addiu a2, zero, 0x40          |     a2 = 0x40;
    0x00015dec move a1, zero                 |     a1 = 0;
    0x00015df0 move a0, s2                   |     a0 = s2;
    0x00015df4 sw v0, 0x6c(sp)               |     *(var_6ch_4) = v0;
    0x00015df8 sw zero, 0x24(sp)             |     *(var_24h_3) = 0;
    0x00015dfc jalr t9                       |     t9 ();
    0x00015e00 nop                           |     
    0x00015e04 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00015e08 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x00015e0c lw v0, 0x20ec(v0)             |     v0 = *((v0 + 2107));
    0x00015e10 lw s3, -0x7fdc(gp)            |     s3 = *(gp);
                                             |     if (v0 <= 0) {
    0x00015e14 blez v0, 0x15f20              |         goto label_94;
                                             |     }
    0x00015e18 lw v0, 0x2158(s3)             |     v0 = *((s3 + 2134));
    0x00015e1c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (v0 != 0) {
    0x00015e20 beqz v0, 0x15e9c              |         
    0x00015e24 lw v1, 0x2150(v0)             |         v1 = *((v0 + 2132));
    0x00015e28 lw s0, -0x7fdc(gp)            |         s0 = *(gp);
                                             |         if (v1 != 0) {
    0x00015e2c bnez v1, 0x15ea0              |             goto label_95;
                                             |         }
    0x00015e30 lw v1, -0x7fdc(gp)            |         v1 = *(gp);
    0x00015e34 lw v1, 0x214c(v1)             |         v1 = *((v1 + 2131));
    0x00015e38 lw v0, 0x2150(v0)             |         v0 = *((v0 + 2132));
                                             |         if (v1 == 0) {
    0x00015e3c beqz v1, 0x1610c              |             goto label_96;
                                             |         }
                                             | label_36:
    0x00015e40 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x00015e44 addiu t9, t9, 0x5874          |         t9 += 0x5874;
    0x00015e48 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x00015e4c bal 0x15874                   |         fcn_15874 ();
                                             |         goto label_34;
    0x00015e50 lw gp, 0x18(sp)               |         gp = *(var_18h_4);
    0x00015e54 move s0, v0                   |         s0 = v0;
                                             | label_38:
    0x00015e58 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
                                             |         if (s0 < 0) {
    0x00015e5c bltz s0, 0x16070              |             goto label_97;
                                             |         }
    0x00015e60 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00015e64 lw v0, 0x2154(v0)             |         v0 = *((v0 + 2133));
                                             |         if (v0 != 0) {
    0x00015e68 bnez v0, 0x16070              |             goto label_97;
                                             |         }
    0x00015e6c nop                           |         
    0x00015e70 lw t9, -0x7f58(gp)            |         t9 = sym.set_int_handler;
    0x00015e74 move a0, zero                 |         a0 = 0;
    0x00015e78 bal 0x8b80                    |         sym_set_int_handler ();
    0x00015e7c lw gp, 0x18(sp)               |         gp = *(var_18h_4);
    0x00015e80 lw t9, -0x7e38(gp)            |         t9 = sym.imp.crypt_reencrypt;
    0x00015e84 lw a1, -0x7f48(gp)            |         a1 = sym.tools_reencrypt_progress;
    0x00015e88 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x00015e8c jalr t9                       |         t9 ();
    0x00015e90 move s0, v0                   |         s0 = v0;
    0x00015e94 lw gp, 0x18(sp)               |         gp = *(var_18h_4);
    0x00015e98 b 0x1606c                     |         goto label_35;
                                             |     }
    0x00015e9c lw s0, -0x7fdc(gp)            |     s0 = *(gp);
                                             | label_95:
    0x00015ea0 lw s5, -0x7fdc(gp)            |     s5 = *(gp);
    0x00015ea4 lw a1, 0x215c(s0)             |     a1 = *((s0 + 2135));
    0x00015ea8 lw a2, 0x2230(s5)             |     a2 = *((s5 + 2188));
                                             |     if (a1 != 0) {
    0x00015eac bnez a1, 0x15f48              |         goto label_98;
                                             |     }
    0x00015eb0 lw s4, -0x7fdc(gp)            |     s4 = *(gp);
                                             |     if (a2 == 0) {
    0x00015eb4 beqz a2, 0x1612c              |         goto label_99;
                                             |     }
                                             | label_39:
    0x00015eb8 lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x00015ebc move a0, a2                   |     a0 = a2;
    0x00015ec0 bal 0x9198                    |     sym_uuid_or_device ();
    0x00015ec4 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00015ec8 lw v1, 0x20f0(s4)             |     v1 = *((s4 + 2108));
    0x00015ecc move a1, v0                   |     a1 = v0;
    0x00015ed0 lw t9, -0x7dd8(gp)            |     t9 = sym.imp.crypt_init_data_device;
    0x00015ed4 lw a2, (v1)                   |     a2 = *(v1);
    0x00015ed8 addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x00015edc jalr t9                       |     t9 ();
    0x00015ee0 move s0, v0                   |     s0 = v0;
    0x00015ee4 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
                                             |     if (v0 == 0) {
    0x00015ee8 beqz v0, 0x16080              |         goto label_100;
                                             |     }
                                             |     do {
                                             | label_45:
    0x00015eec lw a0, 0x6c(sp)               |         a0 = *(var_6ch_4);
    0x00015ef0 lw v1, (s1)                   |         v1 = *(s1);
    0x00015ef4 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x00015ef8 bne a0, v1, 0x16294           |             goto label_101;
                                             |         }
    0x00015efc lw ra, 0x8c(sp)               |         ra = *(var_8ch_2);
    0x00015f00 lw s5, 0x88(sp)               |         s5 = *(var_88h_2);
    0x00015f04 lw s4, 0x84(sp)               |         s4 = *(var_84h_2);
    0x00015f08 lw s3, 0x80(sp)               |         s3 = *(var_80h_2);
    0x00015f0c lw s2, 0x7c(sp)               |         s2 = *(var_7ch_3);
    0x00015f10 lw s1, 0x78(sp)               |         s1 = *(var_78h_2);
    0x00015f14 lw s0, 0x74(sp)               |         s0 = *(var_74h_4);
    0x00015f18 addiu sp, sp, 0x90            |         
    0x00015f1c jr ra                         |         return v1;
                                             | label_94:
    0x00015f20 lw s0, -0x7fdc(gp)            |         s0 = *(gp);
    0x00015f24 lw a1, 0x215c(s0)             |         a1 = *((s0 + 2135));
    0x00015f28 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         if (a1 == 0) {
    0x00015f2c beqz a1, 0x16264              |             goto label_102;
                                             |         }
    0x00015f30 lw s3, -0x7fdc(gp)            |         s3 = *(gp);
    0x00015f34 lw v0, 0x2158(s3)             |         v0 = *((s3 + 2134));
    0x00015f38 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         if (v0 != 0) {
    0x00015f3c bnez v0, 0x16264              |             goto label_102;
                                             |         }
    0x00015f40 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00015f44 lw a2, 0x2230(v0)             |         a2 = *((v0 + 2188));
                                             | label_98:
    0x00015f48 lw t9, -0x7dd0(gp)            |         t9 = sym.imp.crypt_init_by_name_and_header;
    0x00015f4c addiu a0, sp, 0x24            |         a0 = sp + 0x24;
    0x00015f50 jalr t9                       |         t9 ();
    0x00015f54 lw gp, 0x18(sp)               |         gp = *(var_18h_4);
                                             |         if (v0 == 0) {
    0x00015f58 bnez v0, 0x16034              |             
    0x00015f5c lw t9, -0x7bec(gp)            |             t9 = sym.imp.crypt_get_type;
    0x00015f60 lw a0, 0x24(sp)               |             a0 = *(var_24h_3);
    0x00015f64 jalr t9                       |             t9 ();
    0x00015f68 lw gp, 0x18(sp)               |             gp = *(var_18h_4);
                                             |             if (v0 != 0) {
    0x00015f6c beqz v0, 0x16034              |                 
    0x00015f70 lw t9, -0x7bec(gp)            |                 t9 = sym.imp.crypt_get_type;
    0x00015f74 lw a0, 0x24(sp)               |                 a0 = *(var_24h_3);
    0x00015f78 jalr t9                       |                 t9 ();
    0x00015f7c lw gp, 0x18(sp)               |                 gp = *(var_18h_4);
    0x00015f80 move a0, v0                   |                 a0 = v0;
    0x00015f84 lw a1, -0x7fd8(gp)            |                 a1 = *((gp - 8182));
    0x00015f88 lw t9, -0x7c80(gp)            |                 t9 = sym.imp.strcmp;
                                             |                 /* esilref: 'LUKS2' */
    0x00015f8c addiu a1, a1, -0x670          |                 a1 += -0x670;
    0x00015f90 jalr t9                       |                 t9 ();
    0x00015f94 lw gp, 0x18(sp)               |                 gp = *(var_18h_4);
                                             |                 if (v0 != 0) {
    0x00015f98 bnez v0, 0x16034              |                     goto label_103;
                                             |                 }
                                             | label_40:
    0x00015f9c lw t9, -0x7c5c(gp)            |                 t9 = sym.imp.crypt_persistent_flags_get;
    0x00015fa0 lw a0, 0x24(sp)               |                 a0 = *(var_24h_3);
    0x00015fa4 addiu a2, sp, 0x20            |                 a2 = sp + 0x20;
    0x00015fa8 addiu a1, zero, 1             |                 a1 = 1;
    0x00015fac jalr t9                       |                 t9 ();
    0x00015fb0 lw gp, 0x18(sp)               |                 gp = *(var_18h_4);
                                             |                 if (v0 != 0) {
    0x00015fb4 bnez v0, 0x16198              |                     goto label_104;
                                             |                 }
    0x00015fb8 lw v0, 0x20(sp)               |                 v0 = *(var_20h_5);
    0x00015fbc andi v1, v0, 1                |                 v1 = v0 & 1;
    0x00015fc0 lw v0, -0x7fd8(gp)            |                 v0 = *((gp - 8182));
                                             |                 if (v1 == 0) {
    0x00015fc4 bnel v1, zero, 0x16238        |                     goto label_105;
                                             |                 }
    0x00015fc8 andi v0, v0, 2                |                 v0 &= 2;
    0x00015fcc lw t9, -0x7d94(gp)            |                 t9 = sym.imp.crypt_get_integrity_info;
                                             |                 if (v0 == 0) {
    0x00015fd0 beqz v0, 0x161a0              |                     goto label_106;
                                             |                 }
    0x00015fd4 lw a0, 0x24(sp)               |                 a0 = *(var_24h_3);
    0x00015fd8 move a1, s2                   |                 a1 = s2;
    0x00015fdc jalr t9                       |                 t9 ();
    0x00015fe0 lw v1, 0x3c(sp)               |                 v1 = *(var_3ch_3);
    0x00015fe4 or v0, v0, v1                 |                 v0 |= v1;
    0x00015fe8 lw gp, 0x18(sp)               |                 gp = *(var_18h_4);
                                             |                 if (v0 != 0) {
    0x00015fec bnez v0, 0x161bc              |                     goto label_107;
                                             |                 }
    0x00015ff0 lw v0, -0x7fdc(gp)            |                 v0 = *(gp);
    0x00015ff4 lw v0, 0x2154(v0)             |                 v0 = *((v0 + 2133));
    0x00015ff8 lw t9, -0x7fa8(gp)            |                 t9 = *(gp);
                                             |                 if (v0 == 0) {
    0x00015ffc beqz v0, 0x1624c              |                     goto label_108;
                                             |                 }
    0x00016000 lw v0, -0x7fd8(gp)            |                 v0 = *((gp - 8182));
    0x00016004 lw a2, -0x7fd8(gp)            |                 a2 = *((gp - 8182));
    0x00016008 lw t9, -0x7fd0(gp)            |                 t9 = sym.clogger;
                                             |                 /* str.LUKS2_reencryption_already_initialized._Aborting_operation. */
    0x0001600c addiu v0, v0, -0x2a50         |                 v0 += -0x2a50;
    0x00016010 sw v0, 0x10(sp)               |                 *(var_10h_5) = v0;
    0x00016014 addiu a3, zero, 0xc5e         |                 a3 = 0xc5e;
                                             |                 /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016018 addiu a2, a2, -0x4abc         |                 a2 += -0x4abc;
    0x0001601c addiu a1, zero, 1             |                 a1 = 1;
    0x00016020 move a0, zero                 |                 a0 = 0;
    0x00016024 bal 0x88f0                    |                 sym_clogger ();
    0x00016028 addiu s0, zero, -0x10         |                 s0 = -0x10;
    0x0001602c lw gp, 0x18(sp)               |                 gp = *(var_18h_4);
    0x00016030 b 0x1606c                     |                 
                                             |             }
                                             |         } else {
                                             | label_103:
    0x00016034 lw v0, 0x215c(s0)             |             v0 = *((s0 + 2135));
    0x00016038 lw a2, -0x7fd8(gp)            |             a2 = *((gp - 8182));
    0x0001603c sw v0, 0x14(sp)               |             *(var_14h_5) = v0;
    0x00016040 lw v0, -0x7fd8(gp)            |             v0 = *((gp - 8182));
    0x00016044 lw t9, -0x7fd0(gp)            |             t9 = sym.clogger;
                                             |             /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x00016048 addiu v0, v0, -0x49e4         |             v0 += -0x49e4;
    0x0001604c sw v0, 0x10(sp)               |             *(var_10h_5) = v0;
    0x00016050 addiu a3, zero, 0xc32         |             a3 = 0xc32;
                                             |             /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016054 addiu a2, a2, -0x4abc         |             a2 += -0x4abc;
    0x00016058 addiu a1, zero, 1             |             a1 = 1;
    0x0001605c move a0, zero                 |             a0 = 0;
    0x00016060 bal 0x88f0                    |             sym_clogger ();
    0x00016064 lw gp, 0x18(sp)               |             gp = *(var_18h_4);
    0x00016068 addiu s0, zero, -0x16         |             s0 = -0x16;
                                             |         }
                                             | label_35:
    0x0001606c lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
                                             | label_97:
    0x00016070 lw a0, 0x24(sp)               |         a0 = *(var_24h_3);
    0x00016074 jalr t9                       |         t9 ();
    0x00016078 lw gp, 0x18(sp)               |         gp = *(var_18h_4);
    0x0001607c b 0x15eec                     |         
                                             |     } while (1);
                                             | label_100:
    0x00016080 lw t9, -0x7d9c(gp)            |     t9 = sym.imp.crypt_load;
    0x00016084 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x00016088 move a2, zero                 |     a2 = 0;
    0x0001608c move a1, zero                 |     a1 = 0;
    0x00016090 jalr t9                       |     t9 ();
    0x00016094 move s0, v0                   |     s0 = v0;
    0x00016098 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
                                             |     if (v0 == 0) {
    0x0001609c beqz v0, 0x16138              |         goto label_109;
                                             |     }
    0x000160a0 lw a0, 0x2230(s5)             |     a0 = *((s5 + 2188));
                                             |     if (a0 == 0) {
    0x000160a4 beql a0, zero, 0x16230        |         goto label_110;
                                             |     }
    0x000160a8 lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
                                             | label_43:
    0x000160ac lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x000160b0 bal 0x9198                    |     sym_uuid_or_device ();
    0x000160b4 nop                           |     
    0x000160b8 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x000160bc sw v0, 0x14(sp)               |     *(var_14h_5) = v0;
    0x000160c0 addiu a3, zero, 0xc3c         |     a3 = 0xc3c;
    0x000160c4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000160c8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x000160cc lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x000160d0 addiu v0, v0, -0x49e4         |     v0 += -0x49e4;
    0x000160d4 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000160d8 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x000160dc addiu a1, zero, 1             |     a1 = 1;
    0x000160e0 move a0, zero                 |     a0 = 0;
    0x000160e4 bal 0x88f0                    |     sym_clogger ();
    0x000160e8 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x000160ec b 0x1606c                     |     goto label_35;
                                             | label_41:
    0x000160f0 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x000160f4 lw v1, 0x214c(v1)             |     v1 = *((v1 + 2131));
    0x000160f8 lw v1, 0x2158(s3)             |     v1 = *((s3 + 2134));
                                             |     if (v1 != 0) {
    0x000160fc bnez v1, 0x15e40              |         goto label_36;
                                             |     }
    0x00016100 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
                                             |     if (v1 != 0) {
    0x00016104 beqz v1, 0x16114              |         
    0x00016108 lw v0, 0x2150(v0)             |         v0 = *((v0 + 2132));
                                             | label_96:
    0x0001610c lw t9, -0x7fa8(gp)            |         t9 = *(gp);
                                             |         if (v0 == 0) {
    0x00016110 beqz v0, 0x16214              |             goto label_111;
                                             |         }
                                             |     }
    0x00016114 addiu t9, t9, 0x4e74          |     t9 += 0x4e74;
    0x00016118 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x0001611c bal 0x14e74                   |     fcn_14e74 ();
                                             |     goto label_37;
    0x00016120 move s0, v0                   |     s0 = v0;
    0x00016124 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00016128 b 0x15e58                     |     goto label_38;
                                             | label_99:
    0x0001612c lw v0, 0x20f0(s4)             |     v0 = *((s4 + 2108));
    0x00016130 lw a2, (v0)                   |     a2 = *(v0);
    0x00016134 b 0x15eb8                     |     goto label_39;
                                             | label_109:
    0x00016138 lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x0001613c lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x00016140 jalr t9                       |     t9 ();
    0x00016144 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00016148 move a0, v0                   |     a0 = v0;
    0x0001614c lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00016150 lw t9, -0x7c80(gp)            |     t9 = sym.imp.strcmp;
                                             |     /* esilref: 'LUKS2' */
    0x00016154 addiu a1, a1, -0x670          |     a1 += -0x670;
    0x00016158 jalr t9                       |     t9 ();
    0x0001615c lw gp, 0x18(sp)               |     gp = *(var_18h_4);
                                             |     if (v0 == 0) {
    0x00016160 beqz v0, 0x15f9c              |         goto label_40;
                                             |     }
    0x00016164 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00016168 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Only_LUKS2_format_is_currently_supported._Please_use_cryptsetup_reencrypt_tool_for_LUKS1. */
    0x0001616c addiu v0, v0, -0x2b40         |     v0 += -0x2b40;
    0x00016170 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00016174 addiu a3, zero, 0xc40         |     a3 = 0xc40;
                                             | label_42:
    0x00016178 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x0001617c addiu a1, zero, 1             |     a1 = 1;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016180 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00016184 move a0, zero                 |     a0 = 0;
    0x00016188 bal 0x88f0                    |     sym_clogger ();
    0x0001618c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x00016190 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00016194 b 0x1606c                     |     goto label_35;
                                             | label_104:
    0x00016198 addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0001619c b 0x1606c                     |     goto label_35;
                                             | label_106:
    0x000161a0 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x000161a4 move a1, s2                   |     a1 = s2;
    0x000161a8 jalr t9                       |     t9 ();
    0x000161ac lw v1, 0x3c(sp)               |     v1 = *(var_3ch_3);
    0x000161b0 or v0, v0, v1                 |     v0 |= v1;
    0x000161b4 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
                                             |     if (v0 != 0) {
    0x000161b8 beqz v0, 0x161f0              |         
                                             | label_107:
    0x000161bc lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x000161c0 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000161c4 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Reencryption_of_device_with_integrity_profile_is_not_supported. */
    0x000161c8 addiu v0, v0, -0x2a90         |         v0 += -0x2a90;
    0x000161cc sw v0, 0x10(sp)               |         *(var_10h_5) = v0;
    0x000161d0 addiu a3, zero, 0xc56         |         a3 = 0xc56;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000161d4 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x000161d8 addiu a1, zero, 1             |         a1 = 1;
    0x000161dc move a0, zero                 |         a0 = 0;
    0x000161e0 bal 0x88f0                    |         sym_clogger ();
    0x000161e4 addiu s0, zero, -0x7a         |         s0 = -0x7a;
    0x000161e8 lw gp, 0x18(sp)               |         gp = *(var_18h_4);
    0x000161ec b 0x1606c                     |         goto label_35;
                                             |     }
    0x000161f0 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x000161f4 lw v1, 0x2150(v0)             |     v1 = *((v0 + 2132));
    0x000161f8 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     if (v1 == 0) {
    0x000161fc beqz v1, 0x160f0              |         goto label_41;
                                             |     }
    0x00016200 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* str.LUKS2_device_is_not_in_reencryption. */
    0x00016204 addiu v0, v0, -0x2a14         |     v0 += -0x2a14;
    0x00016208 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x0001620c addiu a3, zero, 0xc62         |     a3 = 0xc62;
    0x00016210 b 0x16178                     |     goto label_42;
                                             | label_111:
    0x00016214 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
                                             |     /* fcn.00013954 */
    0x00016218 addiu t9, t9, 0x3954          |     t9 += 0x3954;
    0x0001621c addiu a0, sp, 0x24            |     a0 = sp + 0x24;
    0x00016220 bal 0x13954                   |     fcn_00013954 ();
    0x00016224 move s0, v0                   |     s0 = v0;
    0x00016228 lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x0001622c b 0x15e58                     |     goto label_38;
                                             | label_110:
    0x00016230 lw a0, (v0)                   |     a0 = *(v0);
    0x00016234 b 0x160ac                     |     goto label_43;
                                             | label_105:
    0x00016238 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Legacy_offline_reencryption_already_in_progress._Use_cryptsetup_reencrypt_utility. */
    0x0001623c addiu v0, v0, -0x2ae4         |     v0 += -0x2ae4;
    0x00016240 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00016244 addiu a3, zero, 0xc4c         |     a3 = 0xc4c;
    0x00016248 b 0x16178                     |     goto label_42;
                                             | label_108:
    0x0001624c addiu t9, t9, 0x5b58          |     t9 += 0x5b58;
    0x00016250 lw a0, 0x24(sp)               |     a0 = *(var_24h_3);
    0x00016254 bal 0x15b58                   |     fcn_15b58 ();
                                             |     goto label_44;
    0x00016258 move s0, v0                   |     s0 = v0;
    0x0001625c lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00016260 b 0x15e58                     |     goto label_38;
                                             | label_102:
    0x00016264 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00016268 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Command_requires_device_as_argument. */
    0x0001626c addiu v0, v0, -0x2b68         |     v0 += -0x2b68;
    0x00016270 sw v0, 0x10(sp)               |     *(var_10h_5) = v0;
    0x00016274 addiu a3, zero, 0xc2a         |     a3 = 0xc2a;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016278 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x0001627c addiu a1, zero, 1             |     a1 = 1;
    0x00016280 move a0, zero                 |     a0 = 0;
    0x00016284 bal 0x88f0                    |     sym_clogger ();
    0x00016288 addiu s0, zero, -0x16         |     s0 = -0x16;
    0x0001628c lw gp, 0x18(sp)               |     gp = *(var_18h_4);
    0x00016290 b 0x15eec                     |     goto label_45;
                                             | label_101:
    0x00016294 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00016298 jalr t9                       |     t9 ();
    0x0001629c nop                           |     
    0x000162a0 lui gp, 2                     |     
    0x000162a4 addiu gp, gp, 0x2980          |     
    0x000162a8 addu gp, gp, t9               |     gp += t9;
    0x000162ac addiu sp, sp, -0x78           |     
    0x000162b0 sw s2, 0x58(sp)               |     *(var_58h_4) = s2;
    0x000162b4 sw s1, 0x54(sp)               |     *(var_54h_3) = s1;
    0x000162b8 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x000162bc lw s1, -0x7bf0(gp)            |     s1 = *((gp - 7932));
    0x000162c0 sw gp, 0x30(sp)               |     *(var_30h_3) = gp;
    0x000162c4 lw a0, 0x2230(s2)             |     a0 = *((s2 + 2188));
    0x000162c8 lw v0, (s1)                   |     v0 = *(s1);
    0x000162cc sw ra, 0x74(sp)               |     *(var_74h_5) = ra;
    0x000162d0 sw fp, 0x70(sp)               |     *(var_70h_4) = fp;
    0x000162d4 sw s7, 0x6c(sp)               |     *(var_6ch_5) = s7;
    0x000162d8 sw s6, 0x68(sp)               |     *(var_68h_4) = s6;
    0x000162dc sw s5, 0x64(sp)               |     *(var_64h_4) = s5;
    0x000162e0 sw s4, 0x60(sp)               |     *(var_60h_4) = s4;
    0x000162e4 sw s3, 0x5c(sp)               |     *(var_5ch_4) = s3;
    0x000162e8 sw s0, 0x50(sp)               |     *(var_50h_3) = s0;
    0x000162ec sw zero, 0x40(sp)             |     *(var_40h_5) = 0;
    0x000162f0 sw v0, 0x4c(sp)               |     *(var_4ch_4) = v0;
    0x000162f4 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             |     if (a0 == 0) {
    0x000162f8 beqz a0, 0x16418              |         goto label_112;
                                             |     }
                                             | label_46:
    0x000162fc lw t9, -0x7fd4(gp)            |     t9 = sym.uuid_or_device;
    0x00016300 bal 0x9198                    |     sym_uuid_or_device ();
    0x00016304 nop                           |     
    0x00016308 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0001630c move a1, v0                   |     a1 = v0;
    0x00016310 lw t9, -0x7c84(gp)            |     t9 = sym.imp.crypt_init;
    0x00016314 addiu a0, sp, 0x40            |     a0 = sp + 0x40;
    0x00016318 jalr t9                       |     t9 ();
    0x0001631c move s0, v0                   |     s0 = v0;
    0x00016320 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016324 beqz v0, 0x16378              |     
                                             |     while (1) {
                                             | label_47:
    0x00016328 lw t9, -0x7c54(gp)            |         t9 = sym.imp.crypt_free;
    0x0001632c lw a0, 0x40(sp)               |         a0 = *(var_40h_5);
    0x00016330 jalr t9                       |         t9 ();
    0x00016334 lw a0, 0x4c(sp)               |         a0 = *(var_4ch_4);
    0x00016338 lw v1, (s1)                   |         v1 = *(s1);
    0x0001633c lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016340 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x00016344 bne a0, v1, 0x168a4           |             goto label_113;
                                             |         }
    0x00016348 lw ra, 0x74(sp)               |         ra = *(var_74h_5);
    0x0001634c lw fp, 0x70(sp)               |         fp = *(var_70h_4);
    0x00016350 lw s7, 0x6c(sp)               |         s7 = *(var_6ch_5);
    0x00016354 lw s6, 0x68(sp)               |         s6 = *(var_68h_4);
    0x00016358 lw s5, 0x64(sp)               |         s5 = *(var_64h_4);
    0x0001635c lw s4, 0x60(sp)               |         s4 = *(var_60h_4);
    0x00016360 lw s3, 0x5c(sp)               |         s3 = *(var_5ch_4);
    0x00016364 lw s2, 0x58(sp)               |         s2 = *(var_58h_4);
    0x00016368 lw s1, 0x54(sp)               |         s1 = *(var_54h_3);
    0x0001636c lw s0, 0x50(sp)               |         s0 = *(var_50h_3);
    0x00016370 addiu sp, sp, 0x78            |         
    0x00016374 jr ra                         |         return v1;
    0x00016378 lw a1, -0x7fac(gp)            |         a1 = sym.yesDialog;
    0x0001637c lw t9, -0x7d68(gp)            |         t9 = sym.imp.crypt_set_confirm_callback;
    0x00016380 lw a0, 0x40(sp)               |         a0 = *(var_40h_5);
    0x00016384 move a2, zero                 |         a2 = 0;
    0x00016388 jalr t9                       |         t9 ();
    0x0001638c lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016390 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00016394 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x00016398 addiu t9, t9, -0x1d10         |         t9 += -0x1d10;
    0x0001639c lw a0, 0x318(v0)              |         a0 = *((v0 + 198));
    0x000163a0 bal 0xe2f0                    |         fcn_0000e2f0 ();
    0x000163a4 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000163a8 lw a0, 0x40(sp)               |         a0 = *(var_40h_5);
    0x000163ac move a2, zero                 |         a2 = 0;
    0x000163b0 lw t9, -0x7d9c(gp)            |         t9 = sym.imp.crypt_load;
    0x000163b4 move a1, v0                   |         a1 = v0;
    0x000163b8 jalr t9                       |         t9 ();
    0x000163bc move s0, v0                   |         s0 = v0;
    0x000163c0 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
                                             |         if (v0 == 0) {
    0x000163c4 beqz v0, 0x16424              |             goto label_114;
                                             |         }
    0x000163c8 lw a0, 0x2230(s2)             |         a0 = *((s2 + 2188));
                                             |         if (a0 == 0) {
    0x000163cc beql a0, zero, 0x16534        |             goto label_115;
                                             |         }
    0x000163d0 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             | label_48:
    0x000163d4 lw t9, -0x7fd4(gp)            |         t9 = sym.uuid_or_device;
    0x000163d8 bal 0x9198                    |         sym_uuid_or_device ();
    0x000163dc nop                           |         
    0x000163e0 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000163e4 sw v0, 0x14(sp)               |         *(var_14h_4) = v0;
    0x000163e8 addiu a3, zero, 0x5dd         |         a3 = 0x5dd;
    0x000163ec lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x000163f0 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000163f4 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Device__s_is_not_a_valid_LUKS_device. */
    0x000163f8 addiu v0, v0, -0x49e4         |         v0 += -0x49e4;
    0x000163fc sw v0, 0x10(sp)               |         *(var_10h_6) = v0;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016400 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x00016404 addiu a1, zero, 1             |         a1 = 1;
    0x00016408 move a0, zero                 |         a0 = 0;
    0x0001640c bal 0x88f0                    |         sym_clogger ();
    0x00016410 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016414 b 0x16328                     |         
                                             |     }
                                             | label_112:
    0x00016418 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x0001641c lw a0, (v0)                   |     a0 = *(v0);
    0x00016420 b 0x162fc                     |     goto label_46;
                                             | label_114:
    0x00016424 lw s2, -0x7fdc(gp)            |     s2 = *(gp);
    0x00016428 lw t9, -0x7c4c(gp)            |     t9 = sym.imp.crypt_keyslot_status;
    0x0001642c lw a0, 0x40(sp)               |     a0 = *(var_40h_5);
    0x00016430 lw a1, 0x24(s2)               |     a1 = *((s2 + 9));
    0x00016434 jalr t9                       |     t9 ();
    0x00016438 move v1, v0                   |     v1 = v0;
    0x0001643c addiu v0, zero, 1             |     v0 = 1;
    0x00016440 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v1 == v0) {
    0x00016444 beq v1, v0, 0x16540           |         goto label_116;
                                             |     }
                                             |     if (v1 == 0) {
    0x00016448 beql v1, zero, 0x16328        |         goto label_47;
                                             |     }
    0x0001644c addiu s0, zero, -0x16         |     s0 = -0x16;
    0x00016450 sltiu v0, v1, 5               |     v0 = (v1 < 5) ? 1 : 0;
    0x00016454 lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x00016458 bnez v0, 0x164f8              |     
                                             |     while (1) {
    0x0001645c lw s5, -0x7f88(gp)            |         s5 = *(gp);
    0x00016460 lw s7, -0x7fdc(gp)            |         s7 = *(gp);
    0x00016464 lw v0, (s5)                   |         v0 = *(s5);
    0x00016468 lw s4, 0x22c8(s7)             |         s4 = *((s7 + 2226));
                                             |         if (v0 != 0) {
    0x0001646c beqz v0, 0x16478              |             
    0x00016470 lw t9, -0x7bd8(gp)            |             t9 = sym.imp.isatty;
                                             |             if (s4 == 0) {
    0x00016474 beqz s4, 0x16848              |                 goto label_117;
                                             |             }
                                             |         }
                                             | label_53:
    0x00016478 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x0001647c addiu v0, zero, 3             |         v0 = 3;
    0x00016480 lw s3, 0x40(sp)               |         s3 = *(var_40h_5);
    0x00016484 lw a1, 0x221c(a0)             |         a1 = *((a0 + 2183));
    0x00016488 lw a0, 0x2218(a0)             |         a0 = *((a0 + 2182));
    0x0001648c lw s6, 0x24(s2)               |         s6 = *((s2 + 9));
    0x00016490 sw a0, 0x38(sp)               |         *(var_38h_2) = a0;
    0x00016494 lw a0, -0x7fdc(gp)            |         a0 = *(gp);
    0x00016498 sw a1, 0x3c(sp)               |         *(var_3ch_2) = a1;
    0x0001649c sw zero, 0x44(sp)             |         *(var_44h_5) = 0;
    0x000164a0 lw fp, 0x2224(a0)             |         fp = *((a0 + 2185));
                                             |         if (v1 != v0) {
    0x000164a4 bne v1, v0, 0x16634           |             goto label_118;
                                             |         }
    0x000164a8 lw v0, (s5)                   |         v0 = *(s5);
    0x000164ac lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         if (v0 != 0) {
    0x000164b0 bnez v0, 0x16580              |             goto label_119;
                                             |         }
    0x000164b4 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
                                             |         if (s4 != 0) {
    0x000164b8 bnez s4, 0x16584              |             goto label_120;
                                             |         }
    0x000164bc lw a1, -0x7fd8(gp)            |         a1 = *((gp - 8182));
    0x000164c0 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x000164c4 lw t9, -0x7fac(gp)            |         t9 = sym.yesDialog;
                                             |         /* str.Operation_aborted__the_keyslot_was_NOT_wiped._n */
    0x000164c8 addiu a1, a1, -0x3c44         |         a1 += -0x3c44;
                                             |         /* str.This_is_the_last_keyslot._Device_will_become_unusable_after_purging_this_key. */
    0x000164cc addiu a0, a0, -0x3c14         |         a0 += -0x3c14;
    0x000164d0 bal 0x9020                    |         sym_yesDialog ();
    0x000164d4 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
                                             |         if (v0 != 0) {
    0x000164d8 bnez v0, 0x1657c              |             goto label_121;
                                             |         }
    0x000164dc lw t9, -0x7fb8(gp)            |         t9 = sym.tools_keyslot_msg;
    0x000164e0 addiu a1, zero, 1             |         a1 = 1;
    0x000164e4 addiu a0, zero, -1            |         a0 = -1;
    0x000164e8 bal 0x9560                    |         sym_tools_keyslot_msg ();
    0x000164ec addiu s0, zero, -1            |         s0 = -1;
    0x000164f0 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000164f4 b 0x16328                     |         goto label_47;
    0x000164f8 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000164fc sw v0, 0x14(sp)               |         *(var_14h_4) = v0;
    0x00016500 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x00016504 lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Keyslot__d_is_selected_for_deletion. */
    0x00016508 addiu v0, v0, -0x3c6c         |         v0 += -0x3c6c;
    0x0001650c sw v1, 0x38(sp)               |         *(var_38h_2) = v1;
    0x00016510 sw v0, 0x10(sp)               |         *(var_10h_6) = v0;
    0x00016514 addiu a3, zero, 0x5e6         |         a3 = 0x5e6;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016518 addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x0001651c addiu a1, zero, 2             |         a1 = 2;
    0x00016520 move a0, zero                 |         a0 = 0;
    0x00016524 bal 0x88f0                    |         sym_clogger ();
    0x00016528 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x0001652c lw v1, 0x38(sp)               |         v1 = *(var_38h_2);
    0x00016530 b 0x1645c                     |         
                                             |     }
                                             | label_115:
    0x00016534 lw v0, 0x20f0(v0)             |     v0 = *((v0 + 2108));
    0x00016538 lw a0, (v0)                   |     a0 = *(v0);
    0x0001653c b 0x163d4                     |     goto label_48;
                                             | label_116:
    0x00016540 lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x00016544 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00016548 sw v0, 0x14(sp)               |     *(var_14h_4) = v0;
    0x0001654c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00016550 lw t9, -0x7fd0(gp)            |     t9 = sym.clogger;
                                             |     /* str.Keyslot__d_is_not_active. */
    0x00016554 addiu v0, v0, -0x3690         |     v0 += -0x3690;
    0x00016558 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x0001655c addiu a3, zero, 0x5e9         |     a3 = 0x5e9;
                                             |     /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x00016560 addiu a2, a2, -0x4abc         |     a2 += -0x4abc;
    0x00016564 addiu a1, zero, 1             |     a1 = 1;
    0x00016568 move a0, zero                 |     a0 = 0;
    0x0001656c bal 0x88f0                    |     sym_clogger ();
    0x00016570 addiu s0, zero, -0x16         |     s0 = -0x16;
    0x00016574 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016578 b 0x16328                     |     goto label_47;
                                             | label_121:
    0x0001657c lw v0, -0x7fdc(gp)            |     v0 = *(gp);
                                             | label_119:
    0x00016580 lw t9, -0x7fa8(gp)            |     t9 = *(gp);
                                             | label_120:
    0x00016584 move a0, zero                 |     a0 = 0;
    0x00016588 addiu t9, t9, -0xef4          |     t9 += -0xef4;
    0x0001658c lw s0, 0x21e0(v0)             |     s0 = *((v0 + 2168));
    0x00016590 bal 0xf10c                    |     fcn_0000f10c ();
    0x00016594 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016598 sw v0, 0x24(sp)               |     *(var_24h_4) = v0;
    0x0001659c lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x000165a0 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x000165a4 lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
    0x000165a8 lw t9, -0x7fbc(gp)            |     t9 = sym.tools_get_key;
    0x000165ac sw s3, 0x2c(sp)               |     *(var_2ch_4) = s3;
    0x000165b0 sw zero, 0x28(sp)             |     *(var_28h_5) = 0;
    0x000165b4 sw s0, 0x20(sp)               |     *(var_20h_4) = s0;
    0x000165b8 sw s4, 0x1c(sp)               |     *(var_1ch_3) = s4;
    0x000165bc sw fp, 0x18(sp)               |     *(var_18h_5) = fp;
    0x000165c0 sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x000165c4 sw v1, 0x14(sp)               |     *(var_14h_4) = v1;
    0x000165c8 addiu a2, sp, 0x48            |     a2 = sp + 0x48;
    0x000165cc addiu a1, sp, 0x44            |     a1 = sp + 0x44;
                                             |     /* str.Enter_any_remaining_passphrase:_ */
    0x000165d0 addiu a0, a0, -0x29bc         |     a0 += -0x29bc;
    0x000165d4 bal 0xab80                    |     sym_tools_get_key ();
    0x000165d8 move s5, v0                   |     s5 = v0;
    0x000165dc lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v0 >= 0) {
    0x000165e0 bgez v0, 0x1673c              |         goto label_122;
                                             |     }
                                             |     do {
                                             | label_49:
    0x000165e4 lw t9, -0x7fb4(gp)            |         t9 = sym.crypt_safe_free;
    0x000165e8 lw a0, 0x44(sp)               |         a0 = *(var_44h_5);
    0x000165ec bal 0x6a20                    |         sym_crypt_safe_free ();
    0x000165f0 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000165f4 addiu a1, zero, 1             |         a1 = 1;
    0x000165f8 lw t9, -0x7fb8(gp)            |         t9 = sym.tools_keyslot_msg;
    0x000165fc move a0, s5                   |         a0 = s5;
    0x00016600 bal 0x9560                    |         sym_tools_keyslot_msg ();
    0x00016604 addiu v0, zero, -0x20         |         v0 = -0x20;
    0x00016608 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
                                             |         if (s5 != v0) {
    0x0001660c bne s5, v0, 0x16868           |             goto label_123;
                                             |         }
                                             | label_51:
    0x00016610 lw a0, 0x22c8(s7)             |         a0 = *((s7 + 2226));
    0x00016614 lw t9, -0x7f84(gp)            |         t9 = sym.tools_is_stdin;
                                             |         if (a0 == 0) {
    0x00016618 beqz a0, 0x167e4              |             goto label_124;
                                             |         }
    0x0001661c bal 0xa728                    |         sym_tools_is_stdin ();
    0x00016620 nop                           |         
    0x00016624 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
                                             |         if (v0 != 0) {
    0x00016628 bnez v0, 0x167e4              |             goto label_124;
                                             |         }
    0x0001662c addiu s0, zero, -0x20         |         s0 = -0x20;
    0x00016630 b 0x16328                     |         goto label_47;
                                             | label_118:
    0x00016634 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
    0x00016638 lw t9, -0x7fa8(gp)            |         t9 = *(gp);
    0x0001663c move a0, zero                 |         a0 = 0;
    0x00016640 addiu t9, t9, -0xef4          |         t9 += -0xef4;
    0x00016644 lw s5, 0x21e0(v0)             |         s5 = *((v0 + 2168));
    0x00016648 bal 0xf10c                    |         fcn_0000f10c ();
    0x0001664c lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016650 sw v0, 0x24(sp)               |         *(var_24h_4) = v0;
    0x00016654 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x00016658 lw a0, -0x7fd8(gp)            |         a0 = *((gp - 8182));
    0x0001665c lw v0, 0x38(sp)               |         v0 = *(var_38h_2);
    0x00016660 lw t9, -0x7fbc(gp)            |         t9 = sym.tools_get_key;
    0x00016664 sw s5, 0x20(sp)               |         *(var_20h_4) = s5;
    0x00016668 sw s3, 0x2c(sp)               |         *(var_2ch_4) = s3;
    0x0001666c sw zero, 0x28(sp)             |         *(var_28h_5) = 0;
    0x00016670 sw s4, 0x1c(sp)               |         *(var_1ch_3) = s4;
    0x00016674 sw fp, 0x18(sp)               |         *(var_18h_5) = fp;
    0x00016678 sw v0, 0x10(sp)               |         *(var_10h_6) = v0;
    0x0001667c sw v1, 0x14(sp)               |         *(var_14h_4) = v1;
    0x00016680 addiu a2, sp, 0x48            |         a2 = sp + 0x48;
    0x00016684 addiu a1, sp, 0x44            |         a1 = sp + 0x44;
                                             |         /* str.Enter_any_remaining_passphrase:_ */
    0x00016688 addiu a0, a0, -0x29bc         |         a0 += -0x29bc;
    0x0001668c bal 0xab80                    |         sym_tools_get_key ();
    0x00016690 move s5, v0                   |         s5 = v0;
    0x00016694 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016698 bltz v0, 0x165e4              |         
                                             |     } while (v0 < 0);
    0x0001669c lw t9, -0x7bec(gp)            |     t9 = sym.imp.crypt_get_type;
    0x000166a0 move a0, s3                   |     a0 = s3;
    0x000166a4 jalr t9                       |     t9 ();
    0x000166a8 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x000166ac lw t9, -0x7cb8(gp)            |     t9 = sym.imp.crypt_keyslot_max;
    0x000166b0 move a0, v0                   |     a0 = v0;
    0x000166b4 jalr t9                       |     t9 ();
    0x000166b8 move s5, v0                   |     s5 = v0;
    0x000166bc lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v0 < 0) {
    0x000166c0 bltz v0, 0x165e4              |         goto label_49;
                                             |     }
    0x000166c4 lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
                                             |     if (v0 == 0) {
    0x000166c8 beqz v0, 0x16870              |         goto label_125;
                                             |     }
    0x000166cc move s4, v0                   |     s4 = v0;
    0x000166d0 b 0x166e8                     |     goto label_126;
                                             | label_50:
    0x000166d4 lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
                                             |     if (s4 == s0) {
    0x000166d8 beq s4, s0, 0x16814           |         goto label_127;
                                             |     }
                                             |     do {
    0x000166dc addiu s0, s0, 1               |         s0++;
    0x000166e0 addiu v0, zero, -2            |         v0 = -2;
                                             |         if (s5 == s0) {
    0x000166e4 beq s5, s0, 0x1676c           |             goto label_128;
                                             |         }
                                             | label_126:
    0x000166e8 lw t9, -0x7c4c(gp)            |         t9 = sym.imp.crypt_keyslot_status;
    0x000166ec beq s6, s0, 0x166dc           |         
                                             |     } while (s6 == s0);
    0x000166f0 move a1, s0                   |     a1 = s0;
    0x000166f4 move a0, s3                   |     a0 = s3;
    0x000166f8 jalr t9                       |     t9 ();
    0x000166fc addiu v0, v0, -2              |     v0 += -2;
    0x00016700 sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00016704 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v0 == 0) {
    0x00016708 beqz v0, 0x166d4              |         goto label_50;
                                             |     }
    0x0001670c lw v0, 0x48(sp)               |     v0 = *(var_48h_5);
    0x00016710 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x00016714 lw a3, 0x44(sp)               |     a3 = *(var_44h_5);
    0x00016718 sw zero, 0x14(sp)             |     *(var_14h_4) = 0;
    0x0001671c sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x00016720 move a2, s0                   |     a2 = s0;
    0x00016724 move a1, zero                 |     a1 = 0;
    0x00016728 move a0, s3                   |     a0 = s3;
    0x0001672c jalr t9                       |     t9 ();
    0x00016730 move s4, v0                   |     s4 = v0;
    0x00016734 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016738 b 0x166d4                     |     goto label_50;
                                             | label_122:
    0x0001673c lw v0, 0x48(sp)               |     v0 = *(var_48h_5);
    0x00016740 lw t9, -0x7e48(gp)            |     t9 = sym.imp.crypt_activate_by_passphrase;
    0x00016744 lw a3, 0x44(sp)               |     a3 = *(var_44h_5);
    0x00016748 sw zero, 0x14(sp)             |     *(var_14h_4) = 0;
    0x0001674c sw v0, 0x10(sp)               |     *(var_10h_6) = v0;
    0x00016750 move a2, s6                   |     a2 = s6;
    0x00016754 move a1, zero                 |     a1 = 0;
    0x00016758 move a0, s3                   |     a0 = s3;
    0x0001675c jalr t9                       |     t9 ();
    0x00016760 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016764 move s4, v0                   |     s4 = v0;
    0x00016768 addiu v0, zero, -2            |     v0 = -2;
                                             | label_128:
    0x0001676c lw t9, -0x7fb0(gp)            |     t9 = sym.tools_passphrase_msg;
                                             |     if (s4 == v0) {
    0x00016770 beq s4, v0, 0x168b0           |         goto label_129;
                                             |     }
    0x00016774 move a0, s4                   |     a0 = s4;
    0x00016778 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x0001677c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016780 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00016784 lw a0, 0x44(sp)               |     a0 = *(var_44h_5);
    0x00016788 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0001678c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016790 addiu a1, zero, 1             |     a1 = 1;
    0x00016794 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00016798 move a0, s4                   |     a0 = s4;
    0x0001679c bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x000167a0 addiu v0, zero, -0x20         |     v0 = -0x20;
    0x000167a4 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (s4 == v0) {
    0x000167a8 beq s4, v0, 0x16610           |         goto label_51;
                                             |     }
                                             |     if (s4 < 0) {
    0x000167ac bltzl s4, 0x16328             |         goto label_47;
                                             |     }
    0x000167b0 move s0, s4                   |     s0 = s4;
                                             |     do {
                                             | label_52:
    0x000167b4 lw t9, -0x7d30(gp)            |         t9 = sym.imp.crypt_keyslot_destroy;
    0x000167b8 lw a1, 0x24(s2)               |         a1 = *((s2 + 9));
    0x000167bc lw a0, 0x40(sp)               |         a0 = *(var_40h_5);
    0x000167c0 jalr t9                       |         t9 ();
    0x000167c4 lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000167c8 lw a0, 0x24(s2)               |         a0 = *((s2 + 9));
    0x000167cc addiu a1, zero, 2             |         a1 = 2;
    0x000167d0 lw t9, -0x7fb8(gp)            |         t9 = sym.tools_keyslot_msg;
    0x000167d4 move s0, v0                   |         s0 = v0;
    0x000167d8 bal 0x9560                    |         sym_tools_keyslot_msg ();
    0x000167dc lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x000167e0 b 0x16328                     |         goto label_47;
                                             | label_124:
    0x000167e4 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
    0x000167e8 lw a2, -0x7fd8(gp)            |         a2 = *((gp - 8182));
    0x000167ec lw t9, -0x7fd0(gp)            |         t9 = sym.clogger;
                                             |         /* str.Failed_read_from_input__ignoring_passphrase. */
    0x000167f0 addiu v0, v0, -0x29ec         |         v0 += -0x29ec;
    0x000167f4 sw v0, 0x10(sp)               |         *(var_10h_6) = v0;
    0x000167f8 addiu a3, zero, 0x5f9         |         a3 = 0x5f9;
                                             |         /* str..._cryptsetup_2.2.1_src_cryptsetup.c */
    0x000167fc addiu a2, a2, -0x4abc         |         a2 += -0x4abc;
    0x00016800 addiu a1, zero, -1            |         a1 = -1;
    0x00016804 move a0, zero                 |         a0 = 0;
    0x00016808 bal 0x88f0                    |         sym_clogger ();
    0x0001680c lw gp, 0x30(sp)               |         gp = *(var_30h_3);
    0x00016810 b 0x167b4                     |         
                                             |     } while (1);
                                             | label_127:
    0x00016814 move a0, s4                   |     a0 = s4;
    0x00016818 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x0001681c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016820 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00016824 lw a0, 0x44(sp)               |     a0 = *(var_44h_5);
    0x00016828 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x0001682c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016830 addiu a1, zero, 1             |     a1 = 1;
    0x00016834 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00016838 move a0, s4                   |     a0 = s4;
    0x0001683c bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x00016840 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x00016844 b 0x167b4                     |     goto label_52;
                                             | label_117:
    0x00016848 sw v1, 0x38(sp)               |     *(var_38h_2) = v1;
    0x0001684c move a0, zero                 |     a0 = 0;
    0x00016850 jalr t9                       |     t9 ();
    0x00016854 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
                                             |     if (v0 != 0) {
    0x00016858 bnez v0, 0x167b4              |         goto label_52;
                                             |     }
    0x0001685c lw s4, 0x22c8(s7)             |     s4 = *((s7 + 2226));
    0x00016860 lw v1, 0x38(sp)               |     v1 = *(var_38h_2);
    0x00016864 b 0x16478                     |     goto label_53;
                                             | label_123:
    0x00016868 move s0, s5                   |     s0 = s5;
    0x0001686c b 0x16328                     |     goto label_47;
                                             | label_125:
    0x00016870 move a0, zero                 |     a0 = 0;
    0x00016874 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x00016878 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0001687c lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x00016880 lw a0, 0x44(sp)               |     a0 = *(var_44h_5);
    0x00016884 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x00016888 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x0001688c addiu a1, zero, 1             |     a1 = 1;
    0x00016890 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x00016894 move a0, zero                 |     a0 = 0;
    0x00016898 bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x0001689c lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x000168a0 b 0x167b4                     |     goto label_52;
                                             | label_113:
    0x000168a4 lw t9, -0x7d34(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x000168a8 jalr t9                       |     t9 ();
    0x000168ac nop                           |     
                                             | label_129:
    0x000168b0 addiu a0, zero, -1            |     a0 = -1;
    0x000168b4 bal 0xb0cc                    |     sym_tools_passphrase_msg ();
    0x000168b8 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x000168bc lw a0, 0x44(sp)               |     a0 = *(var_44h_5);
    0x000168c0 lw t9, -0x7fb4(gp)            |     t9 = sym.crypt_safe_free;
    0x000168c4 addiu s0, zero, -1            |     s0 = -1;
    0x000168c8 bal 0x6a20                    |     sym_crypt_safe_free ();
    0x000168cc lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x000168d0 addiu a1, zero, 1             |     a1 = 1;
    0x000168d4 lw t9, -0x7fb8(gp)            |     t9 = sym.tools_keyslot_msg;
    0x000168d8 addiu a0, zero, -1            |     a0 = -1;
    0x000168dc bal 0x9560                    |     sym_tools_keyslot_msg ();
    0x000168e0 lw gp, 0x30(sp)               |     gp = *(var_30h_3);
    0x000168e4 b 0x16328                     |     goto label_47;
                                             | }

[*] Function sprintf used 6 times cryptsetup