[*] Binary protection state of e2undo

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


[*] Function fprintf tear down of e2undo

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/e2undo @ 0x2460 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002460 ()              | void fcn_00002460 () {
    0x00002460 lui gp, 2                 |     
    0x00002464 addiu gp, gp, -0x7450     |     
    0x00002468 addu gp, gp, t9           |     gp += t9;
    0x0000246c lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x00002470 addiu sp, sp, -0x20       |     
    0x00002474 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002478 lw a0, (v0)               |     a0 = *(v0);
    0x0000247c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002480 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002484 addiu a2, a2, 0x27e4      |     a2 += str.Usage:__s___f____h____n____o_offset____v____z_undo_file___transaction_file___filesystem__n;
    0x00002488 lw a3, 0x3134(v0)         |     a3 = *((v0 + 3149));
    0x0000248c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00002490 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00002494 addiu a1, zero, 1         |     a1 = 1;
    0x00002498 jalr t9                   |     t9 ();
    0x0000249c lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000024a0 lw t9, -0x7f54(gp)        |     t9 = sym.imp.exit;
    0x000024a4 addiu a0, zero, 1         |     a0 = 1;
    0x000024a8 jalr t9                   |     t9 ();
    0x000024ac nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/e2undo @ 0xe60 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 5888 named .text */
    0x00000e60 lui gp, 2                 |     
    0x00000e64 addiu gp, gp, -0x5e50     |     
    0x00000e68 addu gp, gp, t9           |     gp += t9;
    0x00000e6c lw v0, -0x7f1c(gp)        |     v0 = *((gp - 8135));
    0x00000e70 addiu sp, sp, -0x700      |     
    0x00000e74 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.add_error_table;
    0x00000e78 sw v0, 0x6c(sp)           |     *(var_6ch) = v0;
    0x00000e7c lw v0, (v0)               |     v0 = *(v0);
    0x00000e80 sw s1, 0x6dc(sp)          |     *(var_6dch) = s1;
    0x00000e84 sw v0, 0x6d4(sp)          |     *(var_6d4h) = v0;
    0x00000e88 lw v0, -0x7f94(gp)        |     v0 = *((gp - 8165));
    0x00000e8c sw s0, 0x6d8(sp)          |     *(var_6d8h) = s0;
    0x00000e90 move s1, a0               |     s1 = a0;
    0x00000e94 lw v0, (v0)               |     v0 = *(v0);
    0x00000e98 lw a0, -0x7fac(gp)        |     a0 = *((gp - 8171));
    0x00000e9c sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00000ea0 sw fp, 0x6f8(sp)          |     *(var_6f8h) = fp;
    0x00000ea4 sw s7, 0x6f4(sp)          |     *(var_6f4h) = s7;
    0x00000ea8 sw s6, 0x6f0(sp)          |     *(var_6f0h) = s6;
    0x00000eac sw s5, 0x6ec(sp)          |     *(var_6ech) = s5;
    0x00000eb0 sw s4, 0x6e8(sp)          |     *(var_6e8h) = s4;
    0x00000eb4 lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x00000eb8 sw s3, 0x6e4(sp)          |     *(var_6e4h) = s3;
    0x00000ebc sw s2, 0x6e0(sp)          |     *(var_6e0h) = s2;
    0x00000ec0 sw ra, 0x6fc(sp)          |     *(var_6fch) = ra;
    0x00000ec4 sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00000ec8 sw zero, 0x6ac(sp)        |     *(var_6ach) = 0;
    0x00000ecc sw zero, 0x6b0(sp)        |     *(var_6b0h) = 0;
    0x00000ed0 sw zero, 0x6b4(sp)        |     *(var_6b4h) = 0;
    0x00000ed4 sw zero, 0x6b8(sp)        |     *(var_6b8h) = 0;
    0x00000ed8 sw zero, 0x6bc(sp)        |     *(var_6bch) = 0;
    0x00000edc sw zero, 0x6c0(sp)        |     *(var_6c0h) = 0;
    0x00000ee0 sw zero, 0x6c4(sp)        |     *(var_6c4h) = 0;
    0x00000ee4 sw zero, 0x6c8(sp)        |     *(var_6c8h) = 0;
    0x00000ee8 sw zero, 0x6cc(sp)        |     *(var_6cch) = 0;
    0x00000eec sw zero, 0x6d0(sp)        |     *(var_6d0h) = 0;
    0x00000ef0 move s0, a1               |     s0 = a1;
    0x00000ef4 jalr t9                   |     t9 ();
    0x00000ef8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00000efc lw v0, (s0)               |     v0 = *(s0);
    0x00000f00 move v1, zero             |     v1 = 0;
    0x00000f04 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00000f08 sw v0, 0x3134(s5)         |     *((s5 + 3149)) = v0;
    0x00000f0c move v0, zero             |     v0 = 0;
    0x00000f10 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00000f14 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00000f18 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00000f1c lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00000f20 lw s6, -0x7fb0(gp)        |     s6 = *((gp - 8172));
    0x00000f24 sw v1, 0x2c(sp)           |     *(var_2ch) = v1;
    0x00000f28 move s7, zero             |     s7 = 0;
    0x00000f2c sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x00000f30 sw zero, 0x4c(sp)         |     *(var_4ch) = 0;
    0x00000f34 move s3, zero             |     s3 = 0;
    0x00000f38 addiu s2, s2, 0x2ec0      |     s2 += 0x2ec0;
    0x00000f3c sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00000f40 addiu fp, sp, 0x7c        |     fp = sp + 0x7c;
    0x00000f44 lw t9, -0x7f64(gp)        |     t9 = sym.imp.getopt;
    0x00000f48 addiu a2, s4, 0x2868      |     a2 = s4 + str.fhno:vz:;
    0x00000f4c move a1, s0               |     a1 = s0;
    0x00000f50 move a0, s1               |     a0 = s1;
    0x00000f54 jalr t9                   |     t9 ();
    0x00000f58 addiu v1, zero, -1        |     v1 = -1;
    0x00000f5c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != v1) {
    0x00000f60 beq v0, v1, 0xff4         |         
    0x00000f64 addiu v0, v0, -0x66       |         v0 += -0x66;
    0x00000f68 sltiu v1, v0, 0x15        |         v1 = (v0 < 0x15) ? 1 : 0;
    0x00000f6c sll v0, v0, 2             |         v0 <<= 2;
                                         |         if (v1 == 0) {
    0x00000f70 beqz v1, 0x2030           |             goto label_26;
                                         |         }
    0x00000f74 lwx v0, v0(s2)            |         __asm ("lwx v0, v0(s2)");
    0x00000f78 addu v0, v0, gp           |         v0 += gp;
    0x00000f7c jr v0                     |         v0 ();
    0x00000f80 nop                       |         
                                         |     }
    0x00000ff4 lw v0, -0x7f24(gp)        |     v0 = *((gp - 8137));
    0x00000ff8 lw v0, (v0)               |     v0 = *(v0);
    0x00000ffc addiu v1, v0, 2           |     v1 = v0 + 2;
    0x00001000 sll v0, v0, 2             |     v0 <<= 2;
                                         |     if (v1 != s1) {
    0x00001004 bne v1, s1, 0x2030        |         goto label_26;
                                         |     }
    0x00001008 lw s1, -0x7fd8(gp)        |     s1 = *((gp - 8182));
    0x0000100c addu s0, s0, v0           |     s0 += v0;
    0x00001010 lw a1, 0x3130(s1)         |     a1 = *((s1 + 3148));
    0x00001014 lw a0, (s0)               |     a0 = *(s0);
    0x00001018 lw v0, 4(s0)              |     v0 = *((s0 + 1));
    0x0000101c sw a0, 0x50(sp)           |     *(var_50h) = a0;
    0x00001020 sw v0, 0x58(sp)           |     *(var_58h) = v0;
                                         |     if (a1 != 0) {
    0x00001024 beqz a1, 0x103c           |         
    0x00001028 lw t9, -0x7f00(gp)        |         t9 = sym.imp.strcmp;
    0x0000102c jalr t9                   |         t9 ();
    0x00001030 nop                       |         
    0x00001034 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001038 beqz v0, 0x1ff4           |             goto label_27;
                                         |         }
                                         |     }
    0x0000103c lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00001040 lw a0, 0x50(sp)           |     a0 = *(var_50h);
    0x00001044 addiu a2, sp, 0x288       |     a2 = sp + 0x288;
    0x00001048 lw t9, 8(v0)              |     t9 = *((v0 + 2));
    0x0000104c addiu a1, zero, 2         |     a1 = 2;
    0x00001050 jalr t9                   |     t9 ();
    0x00001054 addiu s0, sp, 0x88        |     s0 = sp + 0x88;
    0x00001058 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x0000105c bnez v0, 0x1fb4           |         goto label_28;
                                         |     }
    0x00001060 lw t9, -0x7f28(gp)        |     t9 = sym.imp.io_channel_read_blk64;
    0x00001064 addiu v0, zero, -0x200    |     v0 = -0x200;
    0x00001068 lw a0, 0x288(sp)          |     a0 = *(var_288h);
    0x0000106c sw s0, 0x14(sp)           |     *(var_14h) = s0;
    0x00001070 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00001074 move a2, zero             |     a2 = 0;
    0x00001078 move a3, zero             |     a3 = 0;
    0x0000107c jalr t9                   |     t9 ();
    0x00001080 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001084 bnez v0, 0x1f8c           |         goto label_29;
                                         |     }
    0x00001088 lui v0, 0x4e55            |     v0 = 0x4e550000;
    0x0000108c lw v1, (s0)               |     v1 = *(s0);
    0x00001090 addiu v0, v0, 0x3245      |     v0 += 0x3245;
                                         |     if (v1 == v0) {
    0x00001094 beql v1, v0, 0x10b8       |         goto label_30;
                                         |     }
    0x00001098 lui v0, 0x3230            |     v0 = 0x32300000;
    0x0000109c lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         |     do {
    0x000010a0 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000010a4 lw t9, -0x7fa0(gp)        |         t9 = sym.imp.__fprintf_chk
    0x000010a8 lw a0, (v0)               |         a0 = *(v0);
    0x000010ac lw a3, 0x50(sp)           |         a3 = *(var_50h);
    0x000010b0 addiu a2, a2, 0x28ec      |         a2 += str._s:_Not_an_undo_file._n;
    0x000010b4 b 0x1ebc                  |         goto label_24;
                                         | label_30:
    0x000010b8 lw v1, 4(s0)              |         v1 = *((s0 + 1));
    0x000010bc addiu v0, v0, 0x4f44      |         v0 += 0x4f44;
    0x000010c0 lw v0, -0x7f10(gp)        |         v0 = *((gp - 8132));
    0x000010c4 bne v1, v0, 0x10a0        |         
                                         |     } while (v1 != v0);
    0x000010c8 lw t9, -0x7f30(gp)        |     t9 = sym.imp.ext2fs_crc32c_le;
                                         |     if (s7 != 0) {
    0x000010cc bnez s7, 0x2128           |         goto label_31;
                                         |     }
    0x000010d0 addiu a2, zero, 0x1fc     |     a2 = 0x1fc;
    0x000010d4 move a1, s0               |     a1 = s0;
    0x000010d8 addiu a0, zero, -1        |     a0 = -1;
    0x000010dc jalr t9                   |     t9 ();
    0x000010e0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s3 == 0) {
    0x000010e4 bnez s3, 0x10f4           |         
    0x000010e8 lw v1, 0x284(sp)          |         v1 = *(var_284h);
    0x000010ec lw v0, -0x7f10(gp)        |         v0 = *((gp - 8132));
                                         |         if (v1 != v0) {
    0x000010f0 bne v1, v0, 0x2280        |             goto label_32;
                                         |         }
                                         |     }
    0x000010f4 lw a1, 0xa8(sp)           |     a1 = *(var_a8h);
    0x000010f8 lw v0, 0xac(sp)           |     v0 = *(var_ach);
    0x000010fc sw a1, 0x28c(sp)          |     *(var_28ch) = a1;
    0x00001100 sw v0, 0x290(sp)          |     *(var_290h) = v0;
                                         |     if (a1 == 0) {
    0x00001104 beqz a1, 0x22bc           |         goto label_33;
                                         |     }
    0x00001108 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         |     if (v0 == 0) {
    0x0000110c beqz v0, 0x22c0           |         goto label_34;
                                         |     }
    0x00001110 lui v0, 0x10              |     v0 = 0x100000;
                                         |     if (s3 == 0) {
    0x00001114 beqz s3, 0x1a18           |         goto label_35;
                                         |     }
    0x00001118 lw a0, 0x288(sp)          |     a0 = *(var_288h);
    0x0000111c lw v0, 0x98(sp)           |     v0 = *(var_98h);
    0x00001120 lw v1, 0x9c(sp)           |     v1 = *(var_9ch);
    0x00001124 lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001128 sw v0, 0x298(sp)          |     *(var_298h) = v0;
    0x0000112c lw v0, 0x90(sp)           |     v0 = *(var_90h);
    0x00001130 lw t9, 0x10(a2)           |     t9 = *((a2 + 4));
    0x00001134 sw v1, 0x29c(sp)          |     *(var_29ch) = v1;
    0x00001138 sw v0, 0x2a0(sp)          |     *(var_2a0h) = v0;
    0x0000113c jalr t9                   |     t9 ();
    0x00001140 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_9:
    0x00001144 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.ext2fs_check_if_mounted;
    0x00001148 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x0000114c addiu a1, sp, 0x78        |     a1 = sp + 0x78;
    0x00001150 jalr t9                   |     t9 ();
    0x00001154 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001158 bnez v0, 0x209c           |         goto label_36;
                                         |     }
    0x0000115c lw fp, 0x78(sp)           |     fp = *(var_78h);
    0x00001160 andi v0, fp, 1            |     v0 = fp & 1;
    0x00001164 sw v0, 0x38(sp)           |     *(var_38h) = v0;
                                         |     if (v0 != 0) {
    0x00001168 bnez v0, 0x20b8           |         goto label_37;
                                         |     }
    0x0000116c lw v0, 0x3130(s1)         |     v0 = *((s1 + 3148));
                                         |     if (v0 != 0) {
    0x00001170 beql v0, zero, 0x11c8     |         
    0x00001174 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x00001178 lb v0, (v0)               |         v0 = *(v0);
    0x0000117c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         |         if (v0 != 0) {
    0x00001180 bnez v0, 0x1cb4           |             goto label_38;
                                         |         }
    0x00001184 lw t9, -0x7f44(gp)        |         t9 = sym.imp.getenv;
    0x00001188 addiu a0, a0, 0x2b48      |         a0 += str.E2FSPROGS_UNDO_DIR;
    0x0000118c jalr t9                   |         t9 ();
    0x00001190 move s1, v0               |         s1 = v0;
    0x00001194 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001198 beqz v0, 0x1a90           |             goto label_39;
                                         |         }
    0x0000119c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000011a0 lw t9, -0x7f00(gp)        |         t9 = sym.imp.strcmp;
    0x000011a4 addiu a1, a1, 0x2b5c      |         a1 += str.none;
    0x000011a8 move a0, v0               |         a0 = v0;
    0x000011ac jalr t9                   |         t9 ();
    0x000011b0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000011b4 beqz v0, 0x11c4           |             
    0x000011b8 lb v0, (s1)               |             v0 = *(s1);
    0x000011bc lw t9, -0x7f80(gp)        |             t9 = sym.imp.access;
                                         |             if (v0 != 0) {
    0x000011c0 bnez v0, 0x1a9c           |                 goto label_40;
                                         |             }
                                         |         }
                                         | label_11:
    0x000011c4 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
                                         |     }
                                         | label_17:
    0x000011c8 lw v1, 0x4c(sp)           |     v1 = *(var_4ch);
    0x000011cc addiu a1, zero, 3         |     a1 = 3;
    0x000011d0 lw t9, 8(v0)              |     t9 = *((v0 + 2));
    0x000011d4 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x000011d8 addiu v0, zero, 2         |     v0 = 2;
    0x000011dc addiu a2, sp, 0x74        |     a2 = sp + 0x74;
                                         |     if (v1 == 0) {
    0x000011e0 movn a1, v0, v1           |         a1 = v0;
                                         |     }
    0x000011e4 jalr t9                   |     t9 ();
    0x000011e8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000011ec bnez v0, 0x2100           |         goto label_41;
                                         |     }
    0x000011f0 lb v0, 0x6ac(sp)          |     v0 = *(var_6ach);
    0x000011f4 lw v0, 0x28(sp)           |     v0 = *(var_28h);
                                         |     if (v0 == 0) {
    0x000011f8 bnez v0, 0x121c           |         
    0x000011fc lw v0, 0xb8(sp)           |         v0 = *(var_b8h);
    0x00001200 andi v0, v0, 1            |         v0 &= 1;
    0x00001204 lw v0, 0xc8(sp)           |         v0 = *(var_c8h);
                                         |         if (v0 == 0) {
    0x00001208 beqz v0, 0x1268           |             goto label_42;
                                         |         }
    0x0000120c lw v1, 0xcc(sp)           |         v1 = *(var_cch);
    0x00001210 sw v0, 0x28(sp)           |         *(var_28h) = v0;
    0x00001214 sw v1, 0x2c(sp)           |         *(var_2ch) = v1;
    0x00001218 lw v0, 0x28(sp)           |         v0 = *(var_28h);
                                         |     }
    0x0000121c lw v1, 0x2c(sp)           |     v1 = *(var_2ch);
    0x00001220 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00001224 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001228 lw t9, -0x7efc(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x0000122c addiu s0, sp, 0x6ac       |     s0 = sp + 0x6ac;
    0x00001230 addiu v0, v0, 0x2bcc      |     v0 += str.offset_llu;
    0x00001234 addiu a3, zero, 0x28      |     a3 = 0x28;
    0x00001238 addiu a2, zero, 1         |     a2 = 1;
    0x0000123c addiu a1, zero, 0x28      |     a1 = 0x28;
    0x00001240 move a0, s0               |     a0 = s0;
    0x00001244 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00001248 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000124c jalr t9                   |     t9 ();
    0x00001250 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001254 lw a0, 0x74(sp)           |     a0 = *(var_74h);
    0x00001258 lw t9, -0x7f74(gp)        |     t9 = sym.imp.io_channel_set_options;
    0x0000125c move a1, s0               |     a1 = s0;
    0x00001260 jalr t9                   |     t9 ();
    0x00001264 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_42:
    0x00001268 lw v0, 0x2a0(sp)          |     v0 = *(var_2a0h);
                                         |     if (s3 == 0) {
    0x0000126c bnez s3, 0x135c           |         
    0x00001270 lw s0, 0x74(sp)           |         s0 = *(var_74h);
    0x00001274 addiu a1, zero, 0x400     |         a1 = 0x400;
    0x00001278 move a0, s0               |         a0 = s0;
    0x0000127c lw v0, 4(s0)              |         v0 = *((s0 + 1));
    0x00001280 addiu s1, sp, 0x2a8       |         s1 = sp + 0x2a8;
    0x00001284 lw t9, 0x10(v0)           |         t9 = *((v0 + 4));
    0x00001288 addiu s2, zero, -0x400    |         s2 = -0x400;
    0x0000128c jalr t9                   |         t9 ();
    0x00001290 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001294 sw s1, 0x14(sp)           |         *(var_14h) = s1;
    0x00001298 sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x0000129c lw t9, -0x7f28(gp)        |         t9 = sym.imp.io_channel_read_blk64;
    0x000012a0 addiu a2, zero, 1         |         a2 = 1;
    0x000012a4 move a3, zero             |         a3 = 0;
    0x000012a8 move a0, s0               |         a0 = s0;
    0x000012ac jalr t9                   |         t9 ();
    0x000012b0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000012b4 bnez v0, 0x1c8c           |             goto label_43;
                                         |         }
    0x000012b8 lw t9, -0x7f7c(gp)        |         t9 = sym.imp.ext2fs_get_mem;
    0x000012bc addiu s0, sp, 0x84        |         s0 = sp + 0x84;
    0x000012c0 lw a0, 0x28c(sp)          |         a0 = *(var_28ch);
    0x000012c4 move a1, s0               |         a1 = s0;
    0x000012c8 jalr t9                   |         t9 ();
    0x000012cc lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000012d0 bnez v0, 0x1ce8           |             goto label_44;
                                         |         }
    0x000012d4 lw v0, 0x84(sp)           |         v0 = *(var_84h);
    0x000012d8 lw t9, -0x7f28(gp)        |         t9 = sym.imp.io_channel_read_blk64;
    0x000012dc lw a2, 0x298(sp)          |         a2 = *(var_298h);
    0x000012e0 lw a3, 0x29c(sp)          |         a3 = *(var_29ch);
    0x000012e4 lw a0, 0x288(sp)          |         a0 = *(var_288h);
    0x000012e8 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000012ec sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x000012f0 jalr t9                   |         t9 ();
    0x000012f4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000012f8 bnez v0, 0x1e00           |             goto label_45;
                                         |         }
    0x000012fc lw s2, 0x84(sp)           |         s2 = *(var_84h);
    0x00001300 lw t9, -0x7f20(gp)        |         t9 = sym.imp.memcmp;
    0x00001304 addiu a2, zero, 0x400     |         a2 = 0x400;
    0x00001308 lhu v0, 0x38(s2)          |         v0 = *((s2 + 28));
    0x0000130c move a1, s2               |         a1 = s2;
    0x00001310 nor v0, zero, v0          |         __asm ("nor v0, zero, v0");
    0x00001314 sh v0, 0x38(s2)           |         *((s2 + 28)) = v0;
    0x00001318 move a0, s1               |         a0 = s1;
    0x0000131c jalr t9                   |         t9 ();
    0x00001320 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x00001324 bnez v0, 0x1cfc           |             goto label_46;
                                         |         }
    0x00001328 lw t9, -0x7f30(gp)        |         t9 = sym.imp.ext2fs_crc32c_le;
    0x0000132c addiu a2, zero, 0x400     |         a2 = 0x400;
    0x00001330 move a1, s2               |         a1 = s2;
    0x00001334 addiu a0, zero, -1        |         a0 = -1;
    0x00001338 jalr t9                   |         t9 ();
    0x0000133c lw v1, 0xb0(sp)           |         v1 = *(var_b0h);
    0x00001340 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != v1) {
    0x00001344 bne v0, v1, 0x1e80        |             goto label_47;
                                         |         }
    0x00001348 lw t9, -0x7f08(gp)        |         t9 = sym.imp.ext2fs_free_mem;
    0x0000134c move a0, s0               |         a0 = s0;
    0x00001350 jalr t9                   |         t9 ();
    0x00001354 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001358 lw v0, 0x2a0(sp)          |         v0 = *(var_2a0h);
                                         |     }
    0x0000135c lw t9, -0x7f7c(gp)        |     t9 = sym.imp.ext2fs_get_mem;
    0x00001360 sll a0, v0, 1             |     a0 = v0 << 1;
    0x00001364 addu a0, a0, v0           |     a0 += v0;
    0x00001368 addiu v0, sp, 0x2a4       |     v0 = sp + 0x2a4;
    0x0000136c sw v0, 0x64(sp)           |     *(var_64h) = v0;
    0x00001370 move a1, v0               |     a1 = v0;
    0x00001374 sll a0, a0, 3             |     a0 <<= 3;
    0x00001378 jalr t9                   |     t9 ();
    0x0000137c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001380 bnez v0, 0x20d8           |         goto label_48;
                                         |     }
    0x00001384 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.ext2fs_get_mem;
    0x00001388 addiu v0, sp, 0x80        |     v0 = sp + 0x80;
    0x0000138c lw a0, 0x28c(sp)          |     a0 = *(var_28ch);
    0x00001390 sw v0, 0x68(sp)           |     *(var_68h) = v0;
    0x00001394 move a1, v0               |     a1 = v0;
    0x00001398 lw s7, 0x2a4(sp)          |     s7 = *(var_2a4h);
    0x0000139c jalr t9                   |     t9 ();
    0x000013a0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000013a4 bnez v0, 0x20d8           |         goto label_48;
                                         |     }
    0x000013a8 lw a0, 0x28c(sp)          |     a0 = *(var_28ch);
    0x000013ac lw t9, -0x7f7c(gp)        |     t9 = sym.imp.ext2fs_get_mem;
    0x000013b0 addiu v0, sp, 0x7c        |     v0 = sp + 0x7c;
    0x000013b4 sw v0, 0x60(sp)           |     *(var_60h) = v0;
    0x000013b8 move a1, v0               |     a1 = v0;
    0x000013bc sll a0, a0, 9             |     a0 <<= 9;
    0x000013c0 jalr t9                   |     t9 ();
    0x000013c4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000013c8 bnez v0, 0x20d8           |         goto label_48;
                                         |     }
    0x000013cc lw v0, 0x28c(sp)          |     v0 = *(var_28ch);
    0x000013d0 lw a0, 0x2a0(sp)          |     a0 = *(var_2a0h);
    0x000013d4 srl v0, v0, 4             |     v0 >>= 4;
    0x000013d8 addiu v0, v0, -1          |     v0 += -1;
    0x000013dc sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x000013e0 lw s1, 0xa0(sp)           |     s1 = *(var_a0h);
    0x000013e4 lw s0, 0xa4(sp)           |     s0 = *(var_a4h);
                                         |     if (a0 == 0) {
    0x000013e8 beqz a0, 0x20f8           |         goto label_49;
                                         |     }
    0x000013ec lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x000013f0 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x000013f4 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x000013f8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000013fc sw zero, 0x28(sp)         |     *(var_28h) = 0;
    0x00001400 addiu v0, v0, 0x2db0      |     v0 += str.checksum_error_in_filesystem_block__llu__undo_blk__llu__n;
    0x00001404 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00001408 addiu v0, s6, 0x2d94      |     v0 = s6 + str.while_fetching_block__llu.;
    0x0000140c sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x00001410 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00001414 move fp, s7               |     fp = s7;
                                         | label_2:
    0x00001418 lw v0, 0x80(sp)           |     v0 = *(var_80h);
    0x0000141c lw t9, -0x7f28(gp)        |     t9 = sym.imp.io_channel_read_blk64;
    0x00001420 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00001424 lw a0, 0x288(sp)          |     a0 = *(var_288h);
    0x00001428 addiu v0, zero, 1         |     v0 = 1;
    0x0000142c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00001430 move a2, s1               |     a2 = s1;
    0x00001434 move a3, s0               |     a3 = s0;
    0x00001438 jalr t9                   |     t9 ();
    0x0000143c move s7, v0               |     s7 = v0;
    0x00001440 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001444 bnez v0, 0x1bd8           |         goto label_50;
                                         |     }
    0x00001448 lw v0, 0x80(sp)           |     v0 = *(var_80h);
                                         |     if (s3 != 0) {
    0x0000144c bnez s3, 0x17c4           |         goto label_51;
                                         |     }
    0x00001450 lui a0, 0xcade            |     a0 = 0xcade0000;
    0x00001454 lw a1, (v0)               |     a1 = *(v0);
    0x00001458 ori a0, a0, 0xcade        |     a0 |= 0xcade;
    0x0000145c lw t9, -0x7f30(gp)        |     t9 = sym.imp.ext2fs_crc32c_le;
                                         |     if (a1 != a0) {
    0x00001460 bne a1, a0, 0x2040        |         goto label_52;
                                         |     }
    0x00001464 lw a2, 0x28c(sp)          |     a2 = *(var_28ch);
    0x00001468 lw s2, 4(v0)              |     s2 = *((v0 + 1));
    0x0000146c move a1, v0               |     a1 = v0;
    0x00001470 sw zero, 4(v0)            |     *((v0 + 1)) = 0;
    0x00001474 addiu a0, zero, -1        |     a0 = -1;
    0x00001478 jalr t9                   |     t9 ();
    0x0000147c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s2 != v0) {
    0x00001480 bne s2, v0, 0x2078        |         goto label_53;
                                         |     }
                                         | label_4:
    0x00001484 lw v1, 0x44(sp)           |     v1 = *(var_44h);
    0x00001488 lw v0, 0x2a0(sp)          |     v0 = *(var_2a0h);
    0x0000148c addiu a1, s1, 1           |     a1 = s1 + 1;
    0x00001490 subu a2, v0, v1           |     __asm ("subu a2, v0, v1");
    0x00001494 lw v1, 0x48(sp)           |     v1 = *(var_48h);
    0x00001498 sltu s1, a1, s1           |     s1 = (a1 < s1) ? 1 : 0;
    0x0000149c sltu s4, a2, v1           |     s4 = (a2 < v1) ? 1 : 0;
    0x000014a0 lw a0, 0x80(sp)           |     a0 = *(var_80h);
                                         |     if (s4 == 0) {
    0x000014a4 movn v1, a2, s4           |         v1 = a2;
                                         |     }
    0x000014a8 addu s0, s1, s0           |     s0 = s1 + s0;
    0x000014ac move s4, v1               |     s4 = v1;
    0x000014b0 move a2, a1               |     a2 = a1;
    0x000014b4 move a3, s0               |     a3 = s0;
    0x000014b8 addiu s6, a0, 0x10        |     s6 = a0 + 0x10;
                                         |     if (v1 == 0) {
    0x000014bc beqz v1, 0x1a88           |         goto label_54;
                                         |     }
    0x000014c0 lw v0, 0x28c(sp)          |     v0 = *(var_28ch);
    0x000014c4 lw a1, 0x1c(a0)           |     a1 = *((a0 + 7));
    0x000014c8 addiu s0, v0, -1          |     s0 = v0 + -1;
    0x000014cc addu s0, s0, a1           |     s0 += a1;
    0x000014d0 divu zero, s0, v0         |     __asm ("divu zero, s0, v0");
    0x000014d4 teq v0, zero, 7           |     __asm ("teq v0, zero, 7");
    0x000014d8 lw t2, 0x10(a0)           |     t2 = *((arg_4h + 0.25));
    0x000014dc lw t3, 0x14(a0)           |     t3 = *((a0 + 5));
    0x000014e0 sll v0, v0, 9             |     v0 <<= 9;
    0x000014e4 lw a0, 0x18(a0)           |     a0 = *((a0 + 6));
    0x000014e8 sltu v0, v0, a1           |     v0 = (v0 < a1) ? 1 : 0;
    0x000014ec sw t2, (fp)               |     *(fp) = t2;
    0x000014f0 sw t3, 4(fp)              |     *(arg_4h) = t3;
    0x000014f4 sw a2, 8(fp)              |     *(arg_8h) = a2;
    0x000014f8 sw a3, 0xc(fp)            |     *(arg_ch) = a3;
    0x000014fc sw a0, 0x10(fp)           |     *(arg_10h) = a0;
    0x00001500 sw a1, 0x14(fp)           |     *(arg_14h) = a1;
    0x00001504 mflo s0                   |     __asm ("mflo s0");
    0x00001508 addu s1, s0, a2           |     s1 = s0 + a2;
    0x0000150c sltu s0, s1, s0           |     s0 = (s1 < s0) ? 1 : 0;
    0x00001510 addu s0, s0, a3           |     s0 += a3;
                                         |     if (v0 != 0) {
    0x00001514 bnez v0, 0x1c18           |         goto label_55;
                                         |     }
    0x00001518 move s2, zero             |     s2 = 0;
    0x0000151c b 0x15c0                  |     
                                         |     while (v0 != 0) {
    0x00001520 lw v0, 8(fp)              |         v0 = *(arg_8h);
    0x00001524 lw v1, 0xc(fp)            |         v1 = *(arg_ch);
    0x00001528 lw t9, -0x7f38(gp)        |         t9 = sym.imp.com_err;
    0x0000152c lw a0, 0x3134(s5)         |         a0 = *((s5 + 3149));
    0x00001530 lw a2, 0x34(sp)           |         a2 = *(var_34h);
    0x00001534 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00001538 sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x0000153c move a1, s7               |         a1 = s7;
    0x00001540 jalr t9                   |         t9 ();
    0x00001544 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (s3 == 0) {
    0x00001548 beqz s3, 0x1bcc           |             goto label_13;
                                         |         }
    0x0000154c sw s3, 0x28(sp)           |         *(var_28h) = s3;
                                         | label_0:
    0x00001550 addiu s2, s2, 1           |         s2++;
    0x00001554 addiu fp, fp, 0x18        |         fp += 0x18;
    0x00001558 addiu s6, s6, 0x10        |         s6 += 0x10;
                                         |         if (s4 == s2) {
    0x0000155c beq s4, s2, 0x165c        |             goto label_56;
                                         |         }
                                         | label_1:
    0x00001560 lw v0, 8(s6)              |         v0 = *((s6 + 2));
    0x00001564 lw t2, (s6)               |         t2 = *(s6);
    0x00001568 lw t3, 4(s6)              |         t3 = *((s6 + 1));
    0x0000156c sw v0, 0x10(fp)           |         *(arg_10h) = v0;
    0x00001570 lw a1, 0xc(s6)            |         a1 = *((s6 + 3));
    0x00001574 move a2, s1               |         a2 = s1;
    0x00001578 sw a1, 0x14(fp)           |         *(arg_14h) = a1;
    0x0000157c lw v1, 0x28c(sp)          |         v1 = *(var_28ch);
    0x00001580 sw s1, 8(fp)              |         *(arg_8h) = s1;
    0x00001584 addiu v0, v1, -1          |         v0 = v1 + -1;
    0x00001588 addu v0, v0, a1           |         v0 += a1;
    0x0000158c divu zero, v0, v1         |         __asm ("divu zero, v0, v1");
    0x00001590 teq v1, zero, 7           |         __asm ("teq v1, zero, 7");
    0x00001594 sll v1, v1, 9             |         v1 <<= 9;
    0x00001598 sltu v1, v1, a1           |         v1 = (v1 < a1) ? 1 : 0;
    0x0000159c sw s0, 0xc(fp)            |         *(arg_ch) = s0;
    0x000015a0 move a3, s0               |         a3 = s0;
    0x000015a4 sw t2, (fp)               |         *(fp) = t2;
    0x000015a8 sw t3, 4(fp)              |         *(arg_4h) = t3;
    0x000015ac mflo v0                   |         __asm ("mflo v0");
    0x000015b0 addu s1, v0, s1           |         s1 = v0 + s1;
    0x000015b4 sltu v0, s1, v0           |         v0 = (s1 < v0) ? 1 : 0;
    0x000015b8 addu s0, v0, s0           |         s0 = v0 + s0;
                                         |         if (v1 != 0) {
    0x000015bc bnez v1, 0x1c18           |             goto label_55;
                                         |         }
    0x000015c0 lw v0, 0x7c(sp)           |         v0 = *(var_7ch);
    0x000015c4 lw t9, -0x7f28(gp)        |         t9 = sym.imp.io_channel_read_blk64;
    0x000015c8 negu a1, a1               |         __asm ("negu a1, a1");
    0x000015cc lw a0, 0x288(sp)          |         a0 = *(var_288h);
    0x000015d0 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000015d4 sw a1, 0x10(sp)           |         *(var_10h) = a1;
    0x000015d8 jalr t9                   |         t9 ();
    0x000015dc move s7, v0               |         s7 = v0;
    0x000015e0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000015e4 bnez v0, 0x1520           |         
                                         |     }
    0x000015e8 lw t9, -0x7f30(gp)        |     t9 = sym.imp.ext2fs_crc32c_le;
    0x000015ec lw a2, 0x14(fp)           |     a2 = *(arg_14h);
    0x000015f0 lw a1, 0x7c(sp)           |     a1 = *(var_7ch);
    0x000015f4 addiu a0, zero, -1        |     a0 = -1;
    0x000015f8 jalr t9                   |     t9 ();
    0x000015fc lw v1, 0x10(fp)           |     v1 = *(arg_10h);
    0x00001600 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v1 == v0) {
    0x00001604 beq v1, v0, 0x1550        |         goto label_0;
                                         |     }
    0x00001608 lw v0, 8(fp)              |     v0 = *(arg_8h);
    0x0000160c lw v1, 0xc(fp)            |     v1 = *(arg_ch);
    0x00001610 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
    0x00001614 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00001618 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x0000161c lw v0, (fp)               |     v0 = *(fp);
    0x00001620 lw v1, 4(fp)              |     v1 = *(arg_4h);
    0x00001624 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00001628 lw a0, (a0)               |     a0 = *(a0);
    0x0000162c lw a2, 0x40(sp)           |     a2 = *(var_40h);
    0x00001630 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00001634 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00001638 addiu a1, zero, 1         |     a1 = 1;
    0x0000163c jalr t9                   |     t9 ();
    0x00001640 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s3 == 0) {
    0x00001644 beqz s3, 0x1bcc           |         goto label_13;
                                         |     }
    0x00001648 addiu s2, s2, 1           |     s2++;
    0x0000164c sw s3, 0x38(sp)           |     *(var_38h) = s3;
    0x00001650 addiu fp, fp, 0x18        |     fp += 0x18;
    0x00001654 addiu s6, s6, 0x10        |     s6 += 0x10;
                                         |     if (s4 != s2) {
    0x00001658 bne s4, s2, 0x1560        |         goto label_1;
                                         |     }
                                         | label_56:
    0x0000165c lw v0, 0x2a0(sp)          |     v0 = *(var_2a0h);
                                         | label_10:
    0x00001660 lw v1, 0x44(sp)           |     v1 = *(var_44h);
    0x00001664 lw a0, 0x48(sp)           |     a0 = *(var_48h);
    0x00001668 addu v1, v1, a0           |     v1 += a0;
    0x0000166c sltu v0, v1, v0           |     v0 = (v1 < v0) ? 1 : 0;
    0x00001670 sw v1, 0x44(sp)           |     *(var_44h) = v1;
                                         |     if (v0 != 0) {
    0x00001674 bnez v0, 0x1418           |         goto label_2;
                                         |     }
    0x00001678 lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x0000167c lw s1, 0x38(sp)           |     s1 = *(var_38h);
    0x00001680 sw v0, 0x38(sp)           |     *(var_38h) = v0;
                                         | label_12:
    0x00001684 lw t9, -0x7f08(gp)        |     t9 = sym.imp.ext2fs_free_mem;
    0x00001688 lw a0, 0x68(sp)           |     a0 = *(var_68h);
    0x0000168c jalr t9                   |     t9 ();
    0x00001690 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001694 lw a1, 0x2a0(sp)          |     a1 = *(var_2a0h);
    0x00001698 lw a0, 0x2a4(sp)          |     a0 = *(var_2a4h);
    0x0000169c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000016a0 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.qsort;
    0x000016a4 addiu a3, a3, 0x2450      |     a3 += 0x2450;
    0x000016a8 addiu a2, zero, 0x18      |     a2 = 0x18;
    0x000016ac jalr t9                   |     t9 ();
    0x000016b0 lw v0, 0x74(sp)           |     v0 = *(var_74h);
    0x000016b4 move a0, v0               |     a0 = v0;
    0x000016b8 lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x000016bc lw t9, 0x10(v0)           |     t9 = *((v0 + 4));
    0x000016c0 lw a1, 0x290(sp)          |     a1 = *(var_290h);
    0x000016c4 jalr t9                   |     t9 ();
    0x000016c8 lw v0, 0x2a0(sp)          |     v0 = *(var_2a0h);
    0x000016cc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000016d0 lw s7, 0x2a4(sp)          |     s7 = *(var_2a4h);
                                         |     if (v0 == 0) {
    0x000016d4 beqz v0, 0x1830           |         goto label_57;
                                         |     }
    0x000016d8 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x000016dc lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x000016e0 sw s3, 0x28(sp)           |     *(var_28h) = s3;
    0x000016e4 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x000016e8 move s3, s7               |     s3 = s7;
    0x000016ec move s0, zero             |     s0 = 0;
    0x000016f0 move s7, s1               |     s7 = s1;
    0x000016f4 addiu s4, s4, 0x2e1c      |     s4 += str.while_writing_block__llu.;
    0x000016f8 addiu s2, s2, 0x2dec      |     s2 += str.Replayed_block_of_size__u_from__llu_to__llu_n;
    0x000016fc lw fp, 0x54(sp)           |     fp = *(var_54h);
    0x00001700 lw s1, 0x4c(sp)           |     s1 = *(var_4ch);
    0x00001704 b 0x1754                  |     
                                         |     while (fp == 0) {
                                         | label_3:
    0x00001708 lw v0, 0x2a0(sp)          |         v0 = *(var_2a0h);
                                         |         if (s1 == 0) {
    0x0000170c bnez s1, 0x1744           |             
    0x00001710 lw v0, 0x7c(sp)           |             v0 = *(var_7ch);
    0x00001714 lw a2, (s3)               |             a2 = *(s3);
    0x00001718 lw a3, 4(s3)              |             a3 = *((s3 + 1));
    0x0000171c sw v0, 0x14(sp)           |             *(var_14h) = v0;
    0x00001720 lw v0, 0x14(s3)           |             v0 = *((s3 + 5));
    0x00001724 lw t9, -0x7f90(gp)        |             t9 = sym.imp.io_channel_write_blk64;
    0x00001728 negu v0, v0               |             __asm ("negu v0, v0");
    0x0000172c lw a0, 0x74(sp)           |             a0 = *(var_74h);
    0x00001730 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x00001734 jalr t9                   |             t9 ();
    0x00001738 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (v0 != 0) {
    0x0000173c bnez v0, 0x19e4           |                 goto label_58;
                                         |             }
                                         | label_8:
    0x00001740 lw v0, 0x2a0(sp)          |             v0 = *(var_2a0h);
                                         |         }
    0x00001744 addiu s0, s0, 1           |         s0++;
    0x00001748 sltu v0, s0, v0           |         v0 = (s0 < v0) ? 1 : 0;
    0x0000174c addiu s3, s3, 0x18        |         s3 += 0x18;
                                         |         if (v0 == 0) {
    0x00001750 beqz v0, 0x1828           |             goto label_59;
                                         |         }
                                         | label_5:
    0x00001754 lw v0, 0x7c(sp)           |         v0 = *(var_7ch);
    0x00001758 lw a2, 8(s3)              |         a2 = *((s3 + 2));
    0x0000175c lw a3, 0xc(s3)            |         a3 = *((s3 + 3));
    0x00001760 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00001764 lw v0, 0x14(s3)           |         v0 = *((s3 + 5));
    0x00001768 lw t9, -0x7f28(gp)        |         t9 = sym.imp.io_channel_read_blk64;
    0x0000176c negu v0, v0               |         __asm ("negu v0, v0");
    0x00001770 lw a0, 0x288(sp)          |         a0 = *(var_288h);
    0x00001774 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00001778 jalr t9                   |         t9 ();
    0x0000177c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x00001780 bnez v0, 0x17e4           |             goto label_60;
                                         |         }
    0x00001784 lw t9, -0x7f88(gp)        |         t9 = sym.imp.__printf_chk;
    0x00001788 beqz fp, 0x1708           |         
                                         |     }
    0x0000178c lw a0, (s3)               |     a0 = *(s3);
    0x00001790 lw a1, 4(s3)              |     a1 = *((s3 + 1));
    0x00001794 lw a2, 0x14(s3)           |     a2 = *((s3 + 5));
    0x00001798 sw a0, 0x18(sp)           |     *(var_18h) = a0;
    0x0000179c sw a1, 0x1c(sp)           |     *(var_1ch) = a1;
    0x000017a0 lw a0, 8(s3)              |     a0 = *((s3 + 2));
    0x000017a4 lw a1, 0xc(s3)            |     a1 = *((s3 + 3));
    0x000017a8 sw a0, 0x10(sp)           |     *(var_10h) = a0;
    0x000017ac sw a1, 0x14(sp)           |     *(var_14h) = a1;
    0x000017b0 addiu a0, zero, 1         |     a0 = 1;
    0x000017b4 move a1, s2               |     a1 = s2;
    0x000017b8 jalr t9                   |     t9 ();
    0x000017bc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000017c0 b 0x1708                  |     goto label_3;
                                         | label_51:
    0x000017c4 lw t9, -0x7f30(gp)        |     t9 = sym.imp.ext2fs_crc32c_le;
    0x000017c8 lw a2, 0x28c(sp)          |     a2 = *(var_28ch);
    0x000017cc move a1, v0               |     a1 = v0;
    0x000017d0 sw zero, 4(v0)            |     *((v0 + 1)) = 0;
    0x000017d4 addiu a0, zero, -1        |     a0 = -1;
    0x000017d8 jalr t9                   |     t9 ();
    0x000017dc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000017e0 b 0x1484                  |     goto label_4;
                                         | label_60:
    0x000017e4 lw a2, 8(s3)              |     a2 = *((s3 + 2));
    0x000017e8 lw a3, 0xc(s3)            |     a3 = *((s3 + 3));
    0x000017ec lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x000017f0 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x000017f4 sw a2, 0x10(sp)           |     *(var_10h) = a2;
    0x000017f8 move a1, v0               |     a1 = v0;
    0x000017fc sw a3, 0x14(sp)           |     *(var_14h) = a3;
    0x00001800 addiu a2, s6, 0x2d94      |     a2 = s6 + str.while_fetching_block__llu.;
    0x00001804 jalr t9                   |     t9 ();
    0x00001808 addiu v0, zero, 1         |     v0 = 1;
    0x0000180c sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00001810 lw v0, 0x2a0(sp)          |     v0 = *(var_2a0h);
    0x00001814 addiu s0, s0, 1           |     s0++;
    0x00001818 sltu v0, s0, v0           |     v0 = (s0 < v0) ? 1 : 0;
    0x0000181c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001820 addiu s3, s3, 0x18        |     s3 += 0x18;
                                         |     if (v0 != 0) {
    0x00001824 bnez v0, 0x1754           |         goto label_5;
                                         |     }
                                         | label_59:
    0x00001828 lw s3, 0x28(sp)           |     s3 = *(var_28h);
    0x0000182c move s1, s7               |     s1 = s7;
                                         | label_57:
    0x00001830 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         |     if (s1 != 0) {
    0x00001834 bnez s1, 0x1c68           |         goto label_61;
                                         |     }
                                         | label_15:
    0x00001838 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x0000183c lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         |     if (v0 != 0) {
    0x00001840 bnez v0, 0x1c44           |         goto label_62;
                                         |     }
                                         | label_14:
    0x00001844 lw v0, 0xb4(sp)           |     v0 = *(var_b4h);
    0x00001848 andi v0, v0, 1            |     v0 &= 1;
    0x0000184c lw t9, -0x7f08(gp)        |     t9 = sym.imp.ext2fs_free_mem;
                                         |     if (v0 == 0) {
    0x00001850 beqz v0, 0x1904           |         goto label_63;
                                         |     }
    0x00001854 lw a0, 0x60(sp)           |     a0 = *(var_60h);
    0x00001858 jalr t9                   |     t9 ();
    0x0000185c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001860 lw t9, -0x7f08(gp)        |     t9 = sym.imp.ext2fs_free_mem;
    0x00001864 lw a0, 0x64(sp)           |     a0 = *(var_64h);
    0x00001868 jalr t9                   |     t9 ();
    0x0000186c lw v0, 0x74(sp)           |     v0 = *(var_74h);
    0x00001870 move a0, v0               |     a0 = v0;
    0x00001874 lw v0, 4(v0)              |     v0 = *((v0 + 1));
    0x00001878 lw t9, 0xc(v0)            |     t9 = *((v0 + 3));
    0x0000187c jalr t9                   |     t9 ();
    0x00001880 nop                       |     
    0x00001884 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x00001888 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x0000188c bnez v0, 0x18a4           |         goto label_6;
                                         |     }
    0x00001890 lw v1, 0x38(sp)           |     v1 = *(var_38h);
    0x00001894 or v0, s3, s1             |     v0 = s3 | s1;
    0x00001898 or v0, v0, v1             |     v0 |= v1;
    0x0000189c lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
                                         |     if (v0 == 0) {
    0x000018a0 bnel v0, zero, 0x196c     |         goto label_64;
                                         |     }
                                         |     do {
                                         | label_6:
    0x000018a4 lw v0, 0x288(sp)          |         v0 = *(var_288h);
                                         | label_7:
    0x000018a8 move a0, v0               |         a0 = v0;
    0x000018ac lw v0, 4(v0)              |         v0 = *((v0 + 1));
    0x000018b0 lw t9, 0xc(v0)            |         t9 = *((v0 + 3));
    0x000018b4 jalr t9                   |         t9 ();
    0x000018b8 nop                       |         
    0x000018bc lw v0, 0x6c(sp)           |         v0 = *(var_6ch);
    0x000018c0 lw a0, 0x6d4(sp)          |         a0 = *(var_6d4h);
    0x000018c4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000018c8 lw v1, (v0)               |         v1 = *(v0);
    0x000018cc move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x000018d0 bne a0, v1, 0x211c        |             goto label_65;
                                         |         }
    0x000018d4 lw ra, 0x6fc(sp)          |         ra = *(var_6fch);
    0x000018d8 lw fp, 0x6f8(sp)          |         fp = *(var_6f8h);
    0x000018dc lw s7, 0x6f4(sp)          |         s7 = *(var_6f4h);
    0x000018e0 lw s6, 0x6f0(sp)          |         s6 = *(var_6f0h);
    0x000018e4 lw s5, 0x6ec(sp)          |         s5 = *(var_6ech);
    0x000018e8 lw s4, 0x6e8(sp)          |         s4 = *(var_6e8h);
    0x000018ec lw s3, 0x6e4(sp)          |         s3 = *(var_6e4h);
    0x000018f0 lw s2, 0x6e0(sp)          |         s2 = *(var_6e0h);
    0x000018f4 lw s1, 0x6dc(sp)          |         s1 = *(var_6dch);
    0x000018f8 lw s0, 0x6d8(sp)          |         s0 = *(var_6d8h);
    0x000018fc addiu sp, sp, 0x700       |         
    0x00001900 jr ra                     |         return v0;
                                         | label_63:
    0x00001904 lw v0, -0x7f10(gp)        |         v0 = *((gp - 8132));
    0x00001908 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x0000190c lw t9, -0x7f40(gp)        |         t9 = sym.imp.fwrite;
    0x00001910 lw a3, (v0)               |         a3 = *(v0);
    0x00001914 addiu a2, zero, 0x24      |         a2 = 0x24;
    0x00001918 addiu a1, zero, 1         |         a1 = 1;
    0x0000191c addiu a0, a0, 0x2e8c      |         a0 += str.Incomplete_undo_record__run_e2fsck._n;
    0x00001920 jalr t9                   |         t9 ();
    0x00001924 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001928 lw t9, -0x7f08(gp)        |         t9 = sym.imp.ext2fs_free_mem;
    0x0000192c lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x00001930 jalr t9                   |         t9 ();
    0x00001934 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001938 lw t9, -0x7f08(gp)        |         t9 = sym.imp.ext2fs_free_mem;
    0x0000193c lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x00001940 jalr t9                   |         t9 ();
    0x00001944 lw v0, 0x74(sp)           |         v0 = *(var_74h);
    0x00001948 move a0, v0               |         a0 = v0;
    0x0000194c lw v0, 4(v0)              |         v0 = *((v0 + 1));
    0x00001950 lw t9, 0xc(v0)            |         t9 = *((v0 + 3));
    0x00001954 jalr t9                   |         t9 ();
    0x00001958 nop                       |         
    0x0000195c lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
    0x00001960 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001964 bnez v0, 0x18a4           |         
                                         |     } while (v0 != 0);
    0x00001968 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
                                         | label_64:
    0x0000196c lw t9, -0x7f68(gp)        |     t9 = sym.imp.ext2fs_open2;
    0x00001970 addiu s0, sp, 0x84        |     s0 = sp + 0x84;
    0x00001974 lui a2, 2                 |     a2 = 0x20000;
    0x00001978 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x0000197c sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00001980 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00001984 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00001988 move a3, zero             |     a3 = 0;
    0x0000198c addiu a2, a2, 1           |     a2++;
    0x00001990 move a1, zero             |     a1 = 0;
    0x00001994 jalr t9                   |     t9 ();
    0x00001998 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x0000199c bnez v0, 0x18a4           |         goto label_6;
                                         |     }
    0x000019a0 lw v1, 0x84(sp)           |     v1 = *(var_84h);
    0x000019a4 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x000019a8 lw a0, 0x10(v1)           |     a0 = *((v1 + 4));
    0x000019ac or fp, v0, s1             |     fp = v0 | s1;
    0x000019b0 lhu v0, 0x3a(a0)          |     v0 = *((a0 + 29));
    0x000019b4 andi v0, v0, 0xfffe       |     v0 &= 0xfffe;
                                         |     if (fp != 0) {
    0x000019b8 beqz fp, 0x19c0           |         
    0x000019bc ori v0, v0, 2             |         v0 |= 2;
                                         |     }
    0x000019c0 sh v0, 0x3a(a0)           |     *((a0 + 29)) = v0;
    0x000019c4 lw v0, 8(v1)              |     v0 = *((v1 + 2));
    0x000019c8 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.ext2fs_close_free;
    0x000019cc ori v0, v0, 6             |     v0 |= 6;
    0x000019d0 sw v0, 8(v1)              |     *((v1 + 2)) = v0;
    0x000019d4 move a0, s0               |     a0 = s0;
    0x000019d8 jalr t9                   |     t9 ();
    0x000019dc lw v0, 0x288(sp)          |     v0 = *(var_288h);
    0x000019e0 b 0x18a8                  |     goto label_7;
                                         | label_58:
    0x000019e4 lw a2, (s3)               |     a2 = *(s3);
    0x000019e8 lw a3, 4(s3)              |     a3 = *((s3 + 1));
    0x000019ec lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x000019f0 move a1, v0               |     a1 = v0;
    0x000019f4 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x000019f8 addiu v0, zero, 1         |     v0 = 1;
    0x000019fc sw a2, 0x10(sp)           |     *(var_10h) = a2;
    0x00001a00 sw a3, 0x14(sp)           |     *(var_14h) = a3;
    0x00001a04 move a2, s4               |     a2 = s4;
    0x00001a08 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00001a0c jalr t9                   |     t9 ();
    0x00001a10 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001a14 b 0x1740                  |     goto label_8;
                                         | label_35:
    0x00001a18 addiu v0, v0, 1           |     v0++;
    0x00001a1c sltu v0, a1, v0           |     v0 = (a1 < v0) ? 1 : 0;
    0x00001a20 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         |     if (v0 == 0) {
    0x00001a24 beqz v0, 0x1ea8           |         goto label_66;
                                         |     }
    0x00001a28 sltiu v0, a1, 0x400       |     v0 = (a1 < 0x400) ? 1 : 0;
    0x00001a2c lw v1, 0x9c(sp)           |     v1 = *(var_9ch);
                                         |     if (v0 != 0) {
    0x00001a30 bnez v0, 0x1f70           |         goto label_67;
                                         |     }
    0x00001a34 lw a0, 0x288(sp)          |     a0 = *(var_288h);
    0x00001a38 lw v0, 0x98(sp)           |     v0 = *(var_98h);
    0x00001a3c lw a2, 4(a0)              |     a2 = *((a0 + 1));
    0x00001a40 sw v0, 0x298(sp)          |     *(var_298h) = v0;
    0x00001a44 lw v0, 0x90(sp)           |     v0 = *(var_90h);
    0x00001a48 lw t9, 0x10(a2)           |     t9 = *((a2 + 4));
    0x00001a4c sw v1, 0x29c(sp)          |     *(var_29ch) = v1;
    0x00001a50 sw v0, 0x2a0(sp)          |     *(var_2a0h) = v0;
    0x00001a54 jalr t9                   |     t9 ();
    0x00001a58 lw v0, 0xbc(sp)           |     v0 = *(var_bch);
    0x00001a5c lw v1, 0xc0(sp)           |     v1 = *(var_c0h);
    0x00001a60 or v0, v0, v1             |     v0 |= v1;
    0x00001a64 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001a68 beqz v0, 0x1144           |         goto label_9;
                                         |     }
    0x00001a6c lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x00001a70 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001a74 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00001a78 lw a0, (v0)               |     a0 = *(v0);
    0x00001a7c lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00001a80 addiu a2, a2, 0x2a60      |     a2 += str._s:_Unknown_undo_file_feature_set._n;
    0x00001a84 b 0x1ebc                  |     goto label_24;
                                         | label_54:
    0x00001a88 move s1, a1               |     s1 = a1;
    0x00001a8c b 0x1660                  |     goto label_10;
                                         | label_39:
    0x00001a90 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001a94 addiu s1, s1, 0x2840      |     s1 += str._var_lib_e2fsprogs;
    0x00001a98 lw t9, -0x7f80(gp)        |     t9 = sym.imp.access;
                                         | label_40:
    0x00001a9c addiu a1, zero, 2         |     a1 = 2;
    0x00001aa0 move a0, s1               |     a0 = s1;
    0x00001aa4 jalr t9                   |     t9 ();
    0x00001aa8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001aac bnez v0, 0x11c4           |         goto label_11;
                                         |     }
    0x00001ab0 lw t9, -0x7f18(gp)        |     t9 = sym.imp.strdup;
    0x00001ab4 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x00001ab8 jalr t9                   |     t9 ();
    0x00001abc move s4, v0               |     s4 = v0;
    0x00001ac0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001ac4 beqz v0, 0x1ee4           |         goto label_68;
                                         |     }
    0x00001ac8 lw t9, -0x7f78(gp)        |     t9 = sym.imp.__xpg_basename;
    0x00001acc move a0, v0               |     a0 = v0;
    0x00001ad0 jalr t9                   |     t9 ();
    0x00001ad4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ad8 move a0, s1               |     a0 = s1;
    0x00001adc lw t9, -0x7f5c(gp)        |     t9 = sym.imp.strlen;
    0x00001ae0 move s2, v0               |     s2 = v0;
    0x00001ae4 jalr t9                   |     t9 ();
    0x00001ae8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001aec move a0, s2               |     a0 = s2;
    0x00001af0 lw t9, -0x7f5c(gp)        |     t9 = sym.imp.strlen;
    0x00001af4 move s0, v0               |     s0 = v0;
    0x00001af8 jalr t9                   |     t9 ();
    0x00001afc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001b00 addu v0, s0, v0           |     v0 = s0 + v0;
    0x00001b04 lw t9, -0x7f48(gp)        |     t9 = sym.imp.malloc;
    0x00001b08 addiu a0, v0, 0x10        |     a0 = v0 + 0x10;
    0x00001b0c jalr t9                   |     t9 ();
    0x00001b10 move s0, v0               |     s0 = v0;
    0x00001b14 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001b18 beqz v0, 0x1ed4           |         goto label_69;
                                         |     }
    0x00001b1c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00001b20 lw t9, -0x7fb4(gp)        |     t9 = sym.imp.__sprintf_chk;
    0x00001b24 addiu a3, a3, 0x2b64      |     a3 += str._s_e2undo__s.e2undo;
    0x00001b28 addiu a2, zero, -1        |     a2 = -1;
    0x00001b2c addiu a1, zero, 1         |     a1 = 1;
    0x00001b30 move a0, v0               |     a0 = v0;
    0x00001b34 sw s2, 0x14(sp)           |     *(var_14h) = s2;
    0x00001b38 sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x00001b3c jalr t9                   |     t9 ();
    0x00001b40 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001b44 lw t9, -0x7f14(gp)        |     t9 = sym.imp.free;
    0x00001b48 move a0, s4               |     a0 = s4;
    0x00001b4c jalr t9                   |     t9 ();
    0x00001b50 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001b54 lw t9, -0x7f34(gp)        |     t9 = sym.imp.unlink;
    0x00001b58 move a0, s0               |     a0 = s0;
    0x00001b5c jalr t9                   |     t9 ();
    0x00001b60 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001b64 bgez v0, 0x1b84           |         
    0x00001b68 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.__errno_location;
    0x00001b6c jalr t9                   |         t9 ();
    0x00001b70 nop                       |         
    0x00001b74 lw s1, (v0)               |         s1 = *(v0);
    0x00001b78 addiu v0, zero, 2         |         v0 = 2;
    0x00001b7c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (s1 != v0) {
    0x00001b80 bne s1, v0, 0x1e28        |             goto label_70;
                                         |         }
                                         |     }
    0x00001b84 lw t9, -0x7f58(gp)        |     t9 = sym.imp.set_undo_io_backing_manager;
    0x00001b88 lw a0, 0x5c(sp)           |     a0 = *(var_5ch);
    0x00001b8c jalr t9                   |     t9 ();
    0x00001b90 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001b94 beqz v0, 0x1f1c           |         goto label_71;
                                         |     }
                                         | label_23:
    0x00001b98 lw t9, -0x7f14(gp)        |     t9 = sym.imp.free;
    0x00001b9c sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00001ba0 move a0, s0               |     a0 = s0;
    0x00001ba4 jalr t9                   |     t9 ();
    0x00001ba8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001bac lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x00001bb0 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001bb4 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001bb8 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001bbc addiu a2, a2, 0x2b94      |     a2 += str.while_trying_to_setup_undo_file_n;
    0x00001bc0 move a1, v0               |     a1 = v0;
    0x00001bc4 jalr t9                   |     t9 ();
    0x00001bc8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     do {
                                         | label_13:
    0x00001bcc lw t9, -0x7f54(gp)        |         t9 = sym.imp.exit;
                                         | label_21:
    0x00001bd0 addiu a0, zero, 1         |         a0 = 1;
    0x00001bd4 jalr t9                   |         t9 ();
                                         | label_50:
    0x00001bd8 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00001bdc lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00001be0 lw t9, -0x7f38(gp)        |         t9 = sym.imp.com_err;
    0x00001be4 lw a0, 0x3134(s5)         |         a0 = *((s5 + 3149));
    0x00001be8 addiu a3, a3, 0x2d1c      |         a3 += str.while_reading_keys;
    0x00001bec addiu a2, a2, 0x2ae8      |         a2 += 0x2ae8;
    0x00001bf0 move a1, v0               |         a1 = v0;
    0x00001bf4 jalr t9                   |         t9 ();
    0x00001bf8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001bfc beqz s3, 0x1bcc           |         
                                         |     } while (s3 == 0);
    0x00001c00 lw v0, 0x44(sp)           |     v0 = *(var_44h);
    0x00001c04 lw s1, 0x38(sp)           |     s1 = *(var_38h);
    0x00001c08 addiu v0, v0, -1          |     v0 += -1;
    0x00001c0c sw v0, 0x2a0(sp)          |     *(var_2a0h) = v0;
    0x00001c10 sw s3, 0x38(sp)           |     *(var_38h) = s3;
    0x00001c14 b 0x1684                  |     goto label_12;
                                         | label_55:
    0x00001c18 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001c1c lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001c20 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001c24 lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00001c28 sw t2, 0x10(sp)           |     *(var_10h) = t2;
    0x00001c2c sw t3, 0x14(sp)           |     *(var_14h) = t3;
    0x00001c30 addiu a2, a2, 0x2d78      |     a2 += str._s:_block__llu_is_too_long.;
    0x00001c34 move a1, s7               |     a1 = s7;
    0x00001c38 jalr t9                   |     t9 ();
    0x00001c3c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c40 b 0x1bcc                  |     goto label_13;
                                         | label_62:
    0x00001c44 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001c48 lw t9, -0x7f40(gp)        |     t9 = sym.imp.fwrite;
    0x00001c4c lw a3, (v0)               |     a3 = *(v0);
    0x00001c50 addiu a2, zero, 0x28      |     a2 = 0x28;
    0x00001c54 addiu a1, zero, 1         |     a1 = 1;
    0x00001c58 addiu a0, a0, 0x2e60      |     a0 += str.IO_error_during_replay__run_e2fsck_NOW__n;
    0x00001c5c jalr t9                   |     t9 ();
    0x00001c60 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c64 b 0x1844                  |     goto label_14;
                                         | label_61:
    0x00001c68 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001c6c lw t9, -0x7f40(gp)        |     t9 = sym.imp.fwrite;
    0x00001c70 lw a3, (v0)               |     a3 = *(v0);
    0x00001c74 addiu a2, zero, 0x26      |     a2 = 0x26;
    0x00001c78 addiu a1, zero, 1         |     a1 = 1;
    0x00001c7c addiu a0, a0, 0x2e38      |     a0 += str.Undo_file_corruption__run_e2fsck_NOW__n;
    0x00001c80 jalr t9                   |     t9 ();
    0x00001c84 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c88 b 0x1838                  |     goto label_15;
                                         | label_43:
    0x00001c8c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00001c90 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001c94 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001c98 addiu a3, a3, 0x2bd8      |     a3 += str.while_reading_filesystem_superblock.;
                                         |     do {
    0x00001c9c lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00001ca0 move a1, v0               |         a1 = v0;
    0x00001ca4 addiu a2, a2, 0x2ae8      |         a2 += 0x2ae8;
    0x00001ca8 jalr t9                   |         t9 ();
    0x00001cac lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001cb0 b 0x1bcc                  |         goto label_13;
                                         | label_38:
    0x00001cb4 lw t9, -0x7f58(gp)        |         t9 = sym.imp.set_undo_io_backing_manager;
    0x00001cb8 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x00001cbc jalr t9                   |         t9 ();
    0x00001cc0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001cc4 beqz v0, 0x1d7c           |             goto label_72;
                                         |         }
                                         | label_16:
    0x00001cc8 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00001ccc lw t9, -0x7f38(gp)        |         t9 = sym.imp.com_err;
    0x00001cd0 lw a0, 0x3134(s5)         |         a0 = *((s5 + 3149));
    0x00001cd4 addiu a2, a2, 0x2b94      |         a2 += str.while_trying_to_setup_undo_file_n;
    0x00001cd8 move a1, v0               |         a1 = v0;
    0x00001cdc jalr t9                   |         t9 ();
    0x00001ce0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001ce4 b 0x1bcc                  |         goto label_13;
                                         | label_44:
    0x00001ce8 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00001cec lw t9, -0x7f38(gp)        |         t9 = sym.imp.com_err;
    0x00001cf0 lw a0, 0x3134(s5)         |         a0 = *((s5 + 3149));
    0x00001cf4 addiu a3, a3, 0x2c00      |         a3 += str.while_allocating_memory;
    0x00001cf8 b 0x1c9c                  |         
                                         |     } while (1);
                                         | label_46:
    0x00001cfc lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001d00 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.puts;
    0x00001d04 addiu a0, a0, 0x2c34      |     a0 += str.The_file_system_superblock_doesnt_match_the_undo_file.;
    0x00001d08 jalr t9                   |     t9 ();
    0x00001d0c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d10 addiu a2, zero, 0x10      |     a2 = 0x10;
    0x00001d14 addiu a1, s2, 0x68        |     a1 = s2 + 0x68;
    0x00001d18 lw t9, -0x7f20(gp)        |     t9 = sym.imp.memcmp;
    0x00001d1c addiu a0, sp, 0x310       |     a0 = sp + section..hash;
    0x00001d20 jalr t9                   |     t9 ();
    0x00001d24 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001d28 bnez v0, 0x1f04           |         goto label_73;
                                         |     }
                                         | label_22:
    0x00001d2c lw v1, 0x2d4(sp)          |     v1 = *(var_2d4h);
    0x00001d30 lw v0, 0x2c(s2)           |     v0 = *((s2 + 11));
    0x00001d34 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v1 == v0) {
    0x00001d38 bnel v1, v0, 0x1dec       |         goto label_74;
                                         |     }
                                         | label_20:
    0x00001d3c lw v1, 0x2d8(sp)          |     v1 = *(var_2d8h);
    0x00001d40 lw v0, 0x30(s2)           |     v0 = *((s2 + 12));
    0x00001d44 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v1 == v0) {
    0x00001d48 bnel v1, v0, 0x1dd8       |         goto label_75;
                                         |     }
                                         | label_19:
    0x00001d4c lw v1, 0x420(sp)          |     v1 = *(var_420h);
    0x00001d50 lw v0, 0x178(s2)          |     v0 = *((s2 + 94));
    0x00001d54 lw v1, 0x424(sp)          |     v1 = *(var_424h);
                                         |     if (v1 != v0) {
    0x00001d58 bne v1, v0, 0x1dc0        |         goto label_76;
                                         |     }
    0x00001d5c lw v0, 0x17c(s2)          |     v0 = *((s2 + 95));
    0x00001d60 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v1 != v0) {
    0x00001d64 bne v1, v0, 0x1dc4        |         goto label_77;
                                         |     }
                                         | label_18:
    0x00001d68 lw t9, -0x7f08(gp)        |     t9 = sym.imp.ext2fs_free_mem;
    0x00001d6c move a0, s0               |     a0 = s0;
    0x00001d70 jalr t9                   |     t9 ();
    0x00001d74 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d78 b 0x1bcc                  |     goto label_13;
                                         | label_72:
    0x00001d7c lw v0, -0x7f98(gp)        |     v0 = *((gp - 8166));
    0x00001d80 lw t9, -0x7f84(gp)        |     t9 = sym.imp.set_undo_io_backup_file;
    0x00001d84 lw a0, 0x3130(s1)         |     a0 = *((s1 + 3148));
    0x00001d88 lw v0, (v0)               |     v0 = *(v0);
    0x00001d8c sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00001d90 jalr t9                   |     t9 ();
    0x00001d94 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001d98 bnez v0, 0x1cc8           |         goto label_16;
                                         |     }
    0x00001d9c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001da0 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00001da4 lw a2, 0x3130(s1)         |     a2 = *((s1 + 3148));
    0x00001da8 lw a3, 0x58(sp)           |     a3 = *(var_58h);
    0x00001dac addiu a1, a1, 0x2aec      |     a1 += str.Overwriting_existing_filesystem__this_can_be_undone_using_the_command:_n____e2undo__s__s_n_n;
    0x00001db0 addiu a0, zero, 1         |     a0 = 1;
    0x00001db4 jalr t9                   |     t9 ();
    0x00001db8 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00001dbc b 0x11c8                  |     goto label_17;
                                         | label_76:
    0x00001dc0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         | label_77:
    0x00001dc4 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.puts;
    0x00001dc8 addiu a0, a0, 0x2cc4      |     a0 += str.Lifetime_write_counter_does_not_match.;
    0x00001dcc jalr t9                   |     t9 ();
    0x00001dd0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001dd4 b 0x1d68                  |     goto label_18;
                                         | label_75:
    0x00001dd8 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.puts;
    0x00001ddc addiu a0, a0, 0x2ca4      |     a0 += str.Last_write_time_does_not_match.;
    0x00001de0 jalr t9                   |     t9 ();
    0x00001de4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001de8 b 0x1d4c                  |     goto label_19;
                                         | label_74:
    0x00001dec lw t9, -0x7f4c(gp)        |     t9 = sym.imp.puts;
    0x00001df0 addiu a0, a0, 0x2c84      |     a0 += str.Last_mount_time_does_not_match.;
    0x00001df4 jalr t9                   |     t9 ();
    0x00001df8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001dfc b 0x1d3c                  |     goto label_20;
                                         | label_45:
    0x00001e00 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00001e04 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001e08 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001e0c lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001e10 addiu a3, a3, 0x2c18      |     a3 += str.while_fetching_superblock;
    0x00001e14 addiu a2, a2, 0x2ae8      |     a2 += 0x2ae8;
    0x00001e18 move a1, v0               |     a1 = v0;
    0x00001e1c jalr t9                   |     t9 ();
    0x00001e20 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001e24 b 0x1d68                  |     goto label_18;
                                         | label_70:
    0x00001e28 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001e2c lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001e30 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001e34 move a3, s0               |     a3 = s0;
    0x00001e38 addiu a2, a2, 0x2b78      |     a2 += str.while_trying_to_delete__s;
    0x00001e3c move a1, s1               |     a1 = s1;
    0x00001e40 jalr t9                   |     t9 ();
    0x00001e44 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001e48 lw t9, -0x7f14(gp)        |     t9 = sym.imp.free;
    0x00001e4c move a0, s0               |     a0 = s0;
    0x00001e50 jalr t9                   |     t9 ();
    0x00001e54 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001e58 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001e5c move a1, s1               |     a1 = s1;
    0x00001e60 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001e64 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001e68 addiu a2, a2, 0x2b94      |     a2 += str.while_trying_to_setup_undo_file_n;
    0x00001e6c jalr t9                   |     t9 ();
    0x00001e70 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s1 == 0) {
    0x00001e74 beqz s1, 0x11c4           |         goto label_11;
                                         |     }
    0x00001e78 lw t9, -0x7f54(gp)        |     t9 = sym.imp.exit;
    0x00001e7c b 0x1bd0                  |     goto label_21;
                                         | label_47:
    0x00001e80 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x00001e84 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001e88 lw t9, -0x7f40(gp)        |     t9 = sym.imp.fwrite;
    0x00001e8c lw a3, (v0)               |     a3 = *(v0);
    0x00001e90 addiu a2, zero, 0x2d      |     a2 = 0x2d;
    0x00001e94 addiu a1, zero, 1         |     a1 = 1;
    0x00001e98 addiu a0, a0, 0x2cec      |     a0 += str.Undo_file_superblock_checksum_doesnt_match._n;
    0x00001e9c jalr t9                   |     t9 ();
    0x00001ea0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ea4 b 0x1d68                  |     goto label_18;
                                         | label_66:
    0x00001ea8 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001eac lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00001eb0 lw a0, (v0)               |     a0 = *(v0);
    0x00001eb4 lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00001eb8 addiu a2, a2, 0x2a20      |     a2 += str._s:_Undo_block_size_too_large._n;
                                         | label_24:
    0x00001ebc addiu a1, zero, 1         |     a1 = 1;
    0x00001ec0 jalr t9                   |     t9 ();
    0x00001ec4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ec8 lw t9, -0x7f54(gp)        |     t9 = sym.imp.exit;
    0x00001ecc addiu a0, zero, 1         |     a0 = 1;
    0x00001ed0 jalr t9                   |     t9 ();
                                         | label_69:
    0x00001ed4 lw t9, -0x7f14(gp)        |     t9 = sym.imp.free;
    0x00001ed8 move a0, s4               |     a0 = s4;
    0x00001edc jalr t9                   |     t9 ();
    0x00001ee0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_68:
    0x00001ee4 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001ee8 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001eec lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001ef0 addiu a2, a2, 0x2b94      |     a2 += str.while_trying_to_setup_undo_file_n;
    0x00001ef4 move a1, zero             |     a1 = 0;
    0x00001ef8 jalr t9                   |     t9 ();
    0x00001efc lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00001f00 b 0x11c8                  |     goto label_17;
                                         | label_73:
    0x00001f04 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001f08 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.puts;
    0x00001f0c addiu a0, a0, 0x2c6c      |     a0 += str.UUID_does_not_match.;
    0x00001f10 jalr t9                   |     t9 ();
    0x00001f14 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001f18 b 0x1d2c                  |     goto label_22;
                                         | label_71:
    0x00001f1c lw v0, -0x7f98(gp)        |     v0 = *((gp - 8166));
    0x00001f20 lw t9, -0x7f84(gp)        |     t9 = sym.imp.set_undo_io_backup_file;
    0x00001f24 move a0, s0               |     a0 = s0;
    0x00001f28 lw v0, (v0)               |     v0 = *(v0);
    0x00001f2c sw v0, 0x5c(sp)           |     *(var_5ch) = v0;
    0x00001f30 jalr t9                   |     t9 ();
    0x00001f34 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001f38 bnez v0, 0x1b98           |         goto label_23;
                                         |     }
    0x00001f3c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001f40 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00001f44 lw a3, 0x58(sp)           |     a3 = *(var_58h);
    0x00001f48 move a2, s0               |     a2 = s0;
    0x00001f4c addiu a1, a1, 0x2aec      |     a1 += str.Overwriting_existing_filesystem__this_can_be_undone_using_the_command:_n____e2undo__s__s_n_n;
    0x00001f50 addiu a0, zero, 1         |     a0 = 1;
    0x00001f54 jalr t9                   |     t9 ();
    0x00001f58 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001f5c lw t9, -0x7f14(gp)        |     t9 = sym.imp.free;
    0x00001f60 move a0, s0               |     a0 = s0;
    0x00001f64 jalr t9                   |     t9 ();
    0x00001f68 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00001f6c b 0x11c8                  |     goto label_17;
                                         | label_67:
    0x00001f70 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x00001f74 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001f78 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00001f7c lw a0, (v0)               |     a0 = *(v0);
    0x00001f80 lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00001f84 addiu a2, a2, 0x2a40      |     a2 += str._s:_Undo_block_size_too_small._n;
    0x00001f88 b 0x1ebc                  |     goto label_24;
                                         | label_29:
    0x00001f8c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001f90 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001f94 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00001f98 addiu a2, a2, 0x28c8      |     a2 += str.while_reading_undo_file;
    0x00001f9c move a1, v0               |     a1 = v0;
    0x00001fa0 jalr t9                   |     t9 ();
    0x00001fa4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fa8 lw t9, -0x7f54(gp)        |     t9 = sym.imp.exit;
    0x00001fac addiu a0, zero, 1         |     a0 = 1;
    0x00001fb0 jalr t9                   |     t9 ();
                                         | label_28:
    0x00001fb4 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.__errno_location;
    0x00001fb8 lw s0, 0x3134(s5)         |     s0 = *((s5 + 3149));
    0x00001fbc jalr t9                   |     t9 ();
    0x00001fc0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fc4 lw a1, (v0)               |     a1 = *(v0);
    0x00001fc8 lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00001fcc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001fd0 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x00001fd4 move a0, s0               |     a0 = s0;
    0x00001fd8 addiu a2, a2, 0x28a8      |     a2 += str.while_opening_undo_file___s_n;
                                         |     do {
                                         | label_25:
    0x00001fdc jalr t9                   |         t9 ();
    0x00001fe0 nop                       |         
    0x00001fe4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001fe8 lw t9, -0x7f54(gp)        |         t9 = sym.imp.exit;
    0x00001fec addiu a0, zero, 1         |         a0 = 1;
    0x00001ff0 jalr t9                   |         t9 ();
                                         | label_27:
    0x00001ff4 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001ff8 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.puts;
    0x00001ffc addiu a0, a0, 0x2874      |         a0 += str.Will_not_write_to_an_undo_file_while_replaying_it.;
    0x00002000 jalr t9                   |         t9 ();
    0x00002004 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002008 lw t9, -0x7f54(gp)        |         t9 = sym.imp.exit;
    0x0000200c addiu a0, zero, 1         |         a0 = 1;
    0x00002010 jalr t9                   |         t9 ();
    0x00002014 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00002018 lw t9, -0x7f38(gp)        |         t9 = sym.imp.com_err;
    0x0000201c lw a3, (s6)               |         a3 = *(s6);
    0x00002020 lw a0, 0x38(sp)           |         a0 = *(var_38h);
    0x00002024 addiu a2, a2, 0x2854      |         a2 += str.illegal_offset____s;
    0x00002028 move a1, zero             |         a1 = 0;
    0x0000202c b 0x1fdc                  |         
                                         |     } while (1);
                                         | label_26:
    0x00002030 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00002034 addiu t9, t9, 0x2460      |     t9 += fcn.00002460;
    0x00002038 bal 0x2460                |     fcn_00002460 ();
    0x0000203c nop                       |     
                                         | label_52:
    0x00002040 lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
    0x00002044 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002048 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000204c lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x00002050 lw a0, (v0)               |     a0 = *(v0);
    0x00002054 addiu a2, a2, 0x2d30      |     a2 += str._s:_wrong_key_magic_at__llu_n;
    0x00002058 sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x0000205c sw s0, 0x14(sp)           |     *(var_14h) = s0;
                                         |     do {
    0x00002060 addiu a1, zero, 1         |         a1 = 1;
    0x00002064 jalr t9                   |         t9 ();
    0x00002068 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000206c lw t9, -0x7f54(gp)        |         t9 = sym.imp.exit;
    0x00002070 addiu a0, zero, 1         |         a0 = 1;
    0x00002074 jalr t9                   |         t9 ();
                                         | label_53:
    0x00002078 lw v0, -0x7f10(gp)        |         v0 = *((gp - 8132));
    0x0000207c lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00002080 lw t9, -0x7fa0(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00002084 lw a0, (v0)               |         a0 = *(v0);
    0x00002088 lw a3, 0x50(sp)           |         a3 = *(var_50h);
    0x0000208c sw s1, 0x10(sp)           |         *(var_10h) = s1;
    0x00002090 sw s0, 0x14(sp)           |         *(var_14h) = s0;
    0x00002094 addiu a2, a2, 0x2d50      |         a2 += str._s:_key_block_checksum_error_at__llu._n;
    0x00002098 b 0x2060                  |         
                                         |     } while (1);
                                         | label_36:
    0x0000209c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000020a0 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x000020a4 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x000020a8 lw a3, 0x58(sp)           |     a3 = *(var_58h);
    0x000020ac addiu a2, a2, 0x2a84      |     a2 += str.Error_while_determining_whether__s_is_mounted.;
    0x000020b0 move a1, v0               |     a1 = v0;
    0x000020b4 b 0x1fdc                  |     goto label_25;
                                         | label_37:
    0x000020b8 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000020bc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000020c0 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x000020c4 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x000020c8 addiu a3, a3, 0x2ab4      |     a3 += str.e2undo_should_only_be_run_on_unmounted_filesystems;
    0x000020cc addiu a2, a2, 0x2ae8      |     a2 += 0x2ae8;
    0x000020d0 move a1, zero             |     a1 = 0;
    0x000020d4 b 0x1fdc                  |     goto label_25;
                                         | label_48:
    0x000020d8 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000020dc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000020e0 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x000020e4 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x000020e8 addiu a3, a3, 0x2c00      |     a3 += str.while_allocating_memory;
    0x000020ec addiu a2, a2, 0x2ae8      |     a2 += 0x2ae8;
    0x000020f0 move a1, v0               |     a1 = v0;
    0x000020f4 b 0x1fdc                  |     goto label_25;
                                         | label_49:
    0x000020f8 move s1, zero             |     s1 = 0;
    0x000020fc b 0x1684                  |     goto label_12;
                                         | label_41:
    0x00002100 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002104 lw a0, 0x3134(s5)         |     a0 = *((s5 + 3149));
    0x00002108 lw t9, -0x7f38(gp)        |     t9 = sym.imp.com_err;
    0x0000210c lw a3, 0x58(sp)           |     a3 = *(var_58h);
    0x00002110 addiu a2, a2, 0x2bb8      |     a2 += str.while_opening___s;
    0x00002114 move a1, v0               |     a1 = v0;
    0x00002118 b 0x1fdc                  |     goto label_25;
                                         | label_65:
    0x0000211c lw t9, -0x7f2c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002120 jalr t9                   |     t9 ();
    0x00002124 nop                       |     
                                         | label_31:
    0x00002128 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000212c lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002130 lw a2, 0x90(sp)           |     a2 = *(var_90h);
    0x00002134 lw a3, 0x94(sp)           |     a3 = *(var_94h);
    0x00002138 addiu a1, a1, 0x2904      |     a1 += str.nr_keys:_t_llu_n;
    0x0000213c addiu a0, zero, 1         |     a0 = 1;
    0x00002140 jalr t9                   |     t9 ();
    0x00002144 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002148 lw a2, 0x98(sp)           |     a2 = *(var_98h);
    0x0000214c lw a3, 0x9c(sp)           |     a3 = *(var_9ch);
    0x00002150 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002154 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002158 addiu a1, a1, 0x2914      |     a1 += str.super_block:_t_llu_n;
    0x0000215c addiu a0, zero, 1         |     a0 = 1;
    0x00002160 jalr t9                   |     t9 ();
    0x00002164 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002168 lw a3, 0xa4(sp)           |     a3 = *(var_a4h);
    0x0000216c lw a2, 0xa0(sp)           |     a2 = *(var_a0h);
    0x00002170 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002174 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002178 addiu a1, a1, 0x2928      |     a1 += str.key_block:_t_llu_n;
    0x0000217c addiu a0, zero, 1         |     a0 = 1;
    0x00002180 jalr t9                   |     t9 ();
    0x00002184 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002188 lw a2, 0xa8(sp)           |     a2 = *(var_a8h);
    0x0000218c addiu a0, zero, 1         |     a0 = 1;
    0x00002190 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002194 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002198 addiu a1, a1, 0x293c      |     a1 += str.block_size:_t_u_n;
    0x0000219c jalr t9                   |     t9 ();
    0x000021a0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021a4 lw a2, 0xac(sp)           |     a2 = *(var_ach);
    0x000021a8 addiu a0, zero, 1         |     a0 = 1;
    0x000021ac lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000021b0 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x000021b4 addiu a1, a1, 0x294c      |     a1 += str.fs_block_size:_t_u_n;
    0x000021b8 jalr t9                   |     t9 ();
    0x000021bc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021c0 lw a2, 0xb0(sp)           |     a2 = *(var_b0h);
    0x000021c4 addiu a0, zero, 1         |     a0 = 1;
    0x000021c8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000021cc lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x000021d0 addiu a1, a1, 0x2960      |     a1 += str.super_crc:_t0x_x_n;
    0x000021d4 jalr t9                   |     t9 ();
    0x000021d8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021dc lw a2, 0xb4(sp)           |     a2 = *(var_b4h);
    0x000021e0 addiu a0, zero, 1         |     a0 = 1;
    0x000021e4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000021e8 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x000021ec addiu a1, a1, 0x2974      |     a1 += str.state:_t_t0x_x_n;
    0x000021f0 jalr t9                   |     t9 ();
    0x000021f4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021f8 lw a2, 0xb8(sp)           |     a2 = *(var_b8h);
    0x000021fc addiu a0, zero, 1         |     a0 = 1;
    0x00002200 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002204 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002208 addiu a1, a1, 0x2984      |     a1 += str.compat:_t_t0x_x_n;
    0x0000220c jalr t9                   |     t9 ();
    0x00002210 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002214 lw a2, 0xbc(sp)           |     a2 = *(var_bch);
    0x00002218 addiu a0, zero, 1         |     a0 = 1;
    0x0000221c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002220 lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002224 addiu a1, a1, 0x2994      |     a1 += str.incompat:_t0x_x_n;
    0x00002228 jalr t9                   |     t9 ();
    0x0000222c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002230 lw a2, 0xc0(sp)           |     a2 = *(var_c0h);
    0x00002234 addiu a0, zero, 1         |     a0 = 1;
    0x00002238 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000223c lw t9, -0x7f88(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002240 addiu a1, a1, 0x29a4      |     a1 += str.rocompat:_t0x_x_n;
    0x00002244 jalr t9                   |     t9 ();
    0x00002248 lw v0, 0xb8(sp)           |     v0 = *(var_b8h);
    0x0000224c andi v0, v0, 1            |     v0 &= 1;
    0x00002250 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002254 bnez v0, 0x2298           |     
                                         |     while (1) {
    0x00002258 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000225c lw t9, -0x7f88(gp)        |         t9 = sym.imp.__printf_chk;
    0x00002260 lw a2, 0x284(sp)          |         a2 = *(var_284h);
    0x00002264 addiu a0, zero, 1         |         a0 = 1;
    0x00002268 addiu a1, a1, 0x29c8      |         a1 += str.header_crc:_t0x_x_n;
    0x0000226c jalr t9                   |         t9 ();
    0x00002270 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002274 lw t9, -0x7f54(gp)        |         t9 = sym.imp.exit;
    0x00002278 addiu a0, zero, 1         |         a0 = 1;
    0x0000227c jalr t9                   |         t9 ();
                                         | label_32:
    0x00002280 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00002284 lw t9, -0x7fa0(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00002288 lw a0, (v0)               |         a0 = *(v0);
    0x0000228c lw a3, 0x50(sp)           |         a3 = *(var_50h);
    0x00002290 addiu a2, a2, 0x29dc      |         a2 += str._s:_Header_checksum_doesnt_match._n;
    0x00002294 b 0x1ebc                  |         goto label_24;
    0x00002298 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000229c lw t9, -0x7f88(gp)        |         t9 = sym.imp.__printf_chk;
    0x000022a0 lw a2, 0xc8(sp)           |         a2 = *(var_c8h);
    0x000022a4 lw a3, 0xcc(sp)           |         a3 = *(var_cch);
    0x000022a8 addiu a1, a1, 0x29b4      |         a1 += str.fs_offset:_t_llu_n;
    0x000022ac addiu a0, zero, 1         |         a0 = 1;
    0x000022b0 jalr t9                   |         t9 ();
    0x000022b4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000022b8 b 0x2258                  |         
                                         |     }
                                         | label_33:
    0x000022bc lw v0, -0x7f10(gp)        |     v0 = *((gp - 8132));
                                         | label_34:
    0x000022c0 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000022c4 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.__fprintf_chk
    0x000022c8 lw a0, (v0)               |     a0 = *(v0);
    0x000022cc lw a3, 0x50(sp)           |     a3 = *(var_50h);
    0x000022d0 addiu a2, a2, 0x2a00      |     a2 += str._s:_Corrupt_undo_file_header._n;
    0x000022d4 b 0x1ebc                  |     goto label_24;
                                         | }

[*] Function fprintf used 11 times e2undo