[*] Binary protection state of systemd-sleep

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


[*] Function system tear down of systemd-sleep

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/systemd-sleep @ 0x1c58 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00001c58 ()              | void fcn_00001c58 () {
    0x00001c58 lui gp, 2                 |     
    0x00001c5c addiu gp, gp, -0x4c58     |     
    0x00001c60 addu gp, gp, t9           |     gp += t9;
    0x00001c64 addiu sp, sp, -0x178      |     
    0x00001c68 lw t9, -0x7fa4(gp)        |     t9 = sym.imp.fopen64;
    0x00001c6c sw s6, 0x168(sp)          |     *(var_168h) = s6;
    0x00001c70 lw s6, -0x7f40(gp)        |     s6 = *((gp - 8144));
    0x00001c74 sw gp, 0x28(sp)           |     *(var_28h) = gp;
    0x00001c78 sw s7, 0x16c(sp)          |     *(var_16ch) = s7;
    0x00001c7c sw s5, 0x164(sp)          |     *(var_164h) = s5;
    0x00001c80 sw s4, 0x160(sp)          |     *(var_160h) = s4;
    0x00001c84 sw s3, 0x15c(sp)          |     *(var_15ch) = s3;
    0x00001c88 sw s2, 0x158(sp)          |     *(var_158h) = s2;
    0x00001c8c sw s1, 0x154(sp)          |     *(var_154h) = s1;
    0x00001c90 sw ra, 0x174(sp)          |     *(var_174h) = ra;
    0x00001c94 sw fp, 0x170(sp)          |     *(var_170h) = fp;
    0x00001c98 sw s0, 0x150(sp)          |     *(var_150h) = s0;
    0x00001c9c lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x00001ca0 lw v0, (s6)               |     v0 = *(s6);
    0x00001ca4 lw s4, -0x7fd8(gp)        |     s4 = *((gp - 8182));
    0x00001ca8 sw v0, 0x14c(sp)          |     *(var_14ch) = v0;
    0x00001cac lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001cb0 lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x00001cb4 lw v1, 0x5150(s7)         |     v1 = *((s7 + 5204));
    0x00001cb8 addiu v0, v0, 0x3598      |     v0 += 0x3598;
    0x00001cbc move s3, a0               |     s3 = a0;
    0x00001cc0 move s2, a1               |     s2 = a1;
    0x00001cc4 addiu a0, s5, 0x35a0      |     a0 = s5 + str._sys_power_state;
    0x00001cc8 sw zero, 0x68(sp)         |     *(var_68h) = 0;
    0x00001ccc sw v0, 0x6c(sp)           |     *(var_6ch) = v0;
    0x00001cd0 sw v1, 0x70(sp)           |     *(var_70h) = v1;
    0x00001cd4 sw zero, 0x74(sp)         |     *(var_74h) = 0;
    0x00001cd8 addiu a1, s4, 0x359c      |     a1 = s4 + 0x359c;
    0x00001cdc jalr t9                   |     t9 ();
    0x00001ce0 move s1, v0               |     s1 = v0;
    0x00001ce4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x00001ce8 beqz v0, 0x2078           |         goto label_19;
                                         |     }
    0x00001cec lw t9, -0x7f60(gp)        |     t9 = sym.imp.setvbuf;
    0x00001cf0 move a3, zero             |     a3 = 0;
    0x00001cf4 addiu a2, zero, 2         |     a2 = 2;
    0x00001cf8 move a1, zero             |     a1 = 0;
    0x00001cfc move a0, v0               |     a0 = v0;
    0x00001d00 jalr t9                   |     t9 ();
    0x00001d04 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s3 != 0) {
    0x00001d08 beqz s3, 0x1ee4           |         
    0x00001d0c lw v0, (s3)               |         v0 = *(s3);
    0x00001d10 lw fp, -0x7fd8(gp)        |         fp = *((gp - 8182));
                                         |         if (v0 == 0) {
    0x00001d14 beqz v0, 0x1ee4           |             goto label_6;
                                         |         }
    0x00001d18 lw t9, -0x7f38(gp)        |         t9 = sym.imp.read_one_line_file;
    0x00001d1c addiu a1, sp, 0x54        |         a1 = sp + 0x54;
    0x00001d20 addiu a0, fp, 0x37b0      |         a0 = fp + str._sys_power_resume;
    0x00001d24 sw zero, 0x54(sp)         |         *(var_54h) = 0;
    0x00001d28 sw zero, 0x58(sp)         |         *(var_58h) = 0;
    0x00001d2c jalr t9                   |         t9 ();
    0x00001d30 move s0, v0               |         s0 = v0;
    0x00001d34 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00001d38 bltz v0, 0x2214           |             goto label_20;
                                         |         }
    0x00001d3c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00001d40 lw t9, -0x7f38(gp)        |         t9 = sym.imp.read_one_line_file;
    0x00001d44 sw v0, 0x38(sp)           |         *(var_38h) = v0;
    0x00001d48 addiu a1, sp, 0x58        |         a1 = sp + 0x58;
    0x00001d4c addiu a0, v0, 0x3620      |         a0 = v0 + str._sys_power_resume_offset;
    0x00001d50 jalr t9                   |         t9 ();
    0x00001d54 move s0, v0               |         s0 = v0;
    0x00001d58 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00001d5c bltz v0, 0x23d4           |             goto label_21;
                                         |         }
    0x00001d60 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00001d64 lw s0, 0x58(sp)           |         s0 = *(var_58h);
    0x00001d68 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.strcmp;
    0x00001d6c addiu a1, a1, 0x3bd0      |         a1 += 0x3bd0;
    0x00001d70 move a0, s0               |         a0 = s0;
    0x00001d74 jalr t9                   |         t9 ();
    0x00001d78 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001d7c lw v1, 0x54(sp)           |         v1 = *(var_54h);
    0x00001d80 sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00001d84 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00001d88 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.strcmp;
    0x00001d8c sw v1, 0x3c(sp)           |         *(var_3ch) = v1;
    0x00001d90 move a0, v1               |         a0 = v1;
    0x00001d94 addiu a1, a1, 0x366c      |         a1 += 0x366c;
    0x00001d98 jalr t9                   |         t9 ();
    0x00001d9c lw v1, 0x34(sp)           |         v1 = *(var_34h);
    0x00001da0 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v1 == 0) {
    0x00001da4 beqz v1, 0x228c           |             goto label_22;
                                         |         }
    0x00001da8 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00001dac sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00001db0 move a0, zero             |         a0 = 0;
    0x00001db4 jalr t9                   |         t9 ();
    0x00001db8 lw a1, 0x34(sp)           |         a1 = *(var_34h);
    0x00001dbc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001dc0 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
                                         |         if (a1 != 0) {
    0x00001dc4 bnez a1, 0x2468           |             goto label_23;
                                         |         }
    0x00001dc8 lw t9, -0x7ed4(gp)        |         t9 = sym.imp.find_hibernate_location;
                                         |         if (v0 == 0) {
    0x00001dcc bnez v0, 0x1e10           |             
    0x00001dd0 lw v0, -0x7fd8(gp)        |             v0 = *((gp - 8182));
    0x00001dd4 lw a2, -0x7fd8(gp)        |             a2 = *((gp - 8182));
    0x00001dd8 addiu v0, v0, 0x3714      |             v0 += str.Found_offset_in__sys_power_resume_offset:__s__no_device_id_found_in__sys_power_resume__ignoring_offset;
    0x00001ddc sw v0, 0x14(sp)           |             *(var_14h) = v0;
    0x00001de0 lw v0, -0x7fd8(gp)        |             v0 = *((gp - 8182));
    0x00001de4 lw t9, -0x7f64(gp)        |             t9 = sym.imp.log_internal_realm;
    0x00001de8 addiu v0, v0, 0x3ff8      |             v0 += str.configure_hibernation;
    0x00001dec sw s0, 0x18(sp)           |             *(var_18h) = s0;
    0x00001df0 sw v0, 0x10(sp)           |             *(var_10h) = v0;
    0x00001df4 addiu a3, zero, 0xb3      |             a3 = 0xb3;
    0x00001df8 addiu a2, a2, 0x35bb      |             a2 += 0x35bb;
    0x00001dfc move a1, zero             |             a1 = 0;
    0x00001e00 addiu a0, zero, 7         |             a0 = 7;
    0x00001e04 jalr t9                   |             t9 ();
    0x00001e08 lw gp, 0x28(sp)           |             gp = *(var_28h);
    0x00001e0c lw t9, -0x7ed4(gp)        |             t9 = sym.imp.find_hibernate_location;
                                         |         }
                                         | label_5:
    0x00001e10 move a3, zero             |         a3 = 0;
    0x00001e14 move a2, zero             |         a2 = 0;
    0x00001e18 addiu a1, sp, 0x60        |         a1 = sp + 0x60;
    0x00001e1c addiu a0, sp, 0x5c        |         a0 = sp + 0x5c;
    0x00001e20 sw zero, 0x5c(sp)         |         *(var_5ch) = 0;
    0x00001e24 sw zero, 0x60(sp)         |         *(var_60h) = 0;
    0x00001e28 sw zero, 0x64(sp)         |         *(var_64h) = 0;
    0x00001e2c jalr t9                   |         t9 ();
    0x00001e30 move s0, v0               |         s0 = v0;
    0x00001e34 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00001e38 bltz v0, 0x2558           |             goto label_24;
                                         |         }
    0x00001e3c lw v0, 0x60(sp)           |         v0 = *(var_60h);
    0x00001e40 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00001e44 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.strcmp;
    0x00001e48 sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00001e4c addiu a1, a1, 0x37a4      |         a1 += str.partition;
    0x00001e50 move a0, v0               |         a0 = v0;
    0x00001e54 jalr t9                   |         t9 ();
    0x00001e58 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x00001e5c beqz v0, 0x24b8           |             goto label_25;
                                         |         }
    0x00001e60 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00001e64 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.strcmp;
    0x00001e68 lw a0, 0x34(sp)           |         a0 = *(var_34h);
    0x00001e6c addiu a1, a1, 0x3800      |         a1 += str.file;
    0x00001e70 jalr t9                   |         t9 ();
    0x00001e74 move s0, v0               |         s0 = v0;
    0x00001e78 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x00001e7c beqz v0, 0x25b4           |             goto label_26;
                                         |         }
    0x00001e80 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00001e84 move a0, zero             |         a0 = 0;
    0x00001e88 jalr t9                   |         t9 ();
    0x00001e8c slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00001e90 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x00001e94 beqz v0, 0x26f0           |             goto label_27;
                                         |         }
    0x00001e98 addiu t0, zero, -1        |         t0 = -1;
    0x00001e9c addiu s0, zero, -0x16     |         s0 = -0x16;
                                         | label_14:
    0x00001ea0 lw t9, -0x7f00(gp)        |         t9 = sym.imp.safe_close;
    0x00001ea4 move a0, t0               |         a0 = t0;
    0x00001ea8 jalr t9                   |         t9 ();
    0x00001eac lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001eb0 lw t9, -0x7f18(gp)        |         t9 = sym.imp.free;
    0x00001eb4 lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x00001eb8 jalr t9                   |         t9 ();
    0x00001ebc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001ec0 lw t9, -0x7f18(gp)        |         t9 = sym.imp.free;
    0x00001ec4 lw a0, 0x60(sp)           |         a0 = *(var_60h);
    0x00001ec8 jalr t9                   |         t9 ();
    0x00001ecc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001ed0 lw t9, -0x7f18(gp)        |         t9 = sym.imp.free;
    0x00001ed4 lw a0, 0x5c(sp)           |         a0 = *(var_5ch);
    0x00001ed8 jalr t9                   |         t9 ();
    0x00001edc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001ee0 b 0x2238                  |         goto label_9;
                                         |     }
                                         | label_6:
    0x00001ee4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001ee8 lw t9, -0x7f98(gp)        |     t9 = sym.imp.execute_directories;
    0x00001eec addiu v1, sp, 0x68        |     v1 = sp + 0x68;
                                         |     /* section..data.rel.ro */
    0x00001ef0 addiu a0, v0, 0x4fc8      |     a0 = v0 + 0x4fc8;
    0x00001ef4 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00001ef8 lui a2, 0x55d             |     a2 = 0x55d0000;
    0x00001efc addiu v0, zero, 3         |     v0 = 3;
    0x00001f00 sw v1, 0x44(sp)           |     *(var_44h) = v1;
    0x00001f04 ori a2, a2, 0x4a80        |     a2 |= 0x4a80;
    0x00001f08 move a3, zero             |     a3 = 0;
    0x00001f0c sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x00001f10 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00001f14 sw zero, 0x1c(sp)         |     *(var_1ch) = 0;
    0x00001f18 sw zero, 0x14(sp)         |     *(var_14h) = 0;
    0x00001f1c sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00001f20 jalr t9                   |     t9 ();
    0x00001f24 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00001f28 lw v0, 0x5150(s7)         |     v0 = *((s7 + 5204));
    0x00001f2c sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x00001f30 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00001f34 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001f38 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00001f3c addiu v0, v0, 0x3ac4      |     v0 += str.MESSAGESuspending_system...
    0x00001f40 addiu a0, v1, 0x3ab8      |     a0 = v1 + str.SLEEP_s;
    0x00001f44 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00001f48 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x00001f4c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001f50 lw fp, -0x7fd8(gp)        |     fp = *((gp - 8182));
    0x00001f54 addiu v1, v1, 0x4040      |     v1 += str.execute;
    0x00001f58 lw t9, -0x7f58(gp)        |     t9 = sym.imp.log_struct_internal;
    0x00001f5c addiu v0, v0, 0x3ae4      |     v0 += str.MESSAGE_ID6bbd95ee977941e497c48be27c254128;
    0x00001f60 sw a0, 0x48(sp)           |     *(var_48h) = a0;
    0x00001f64 sw a0, 0x1c(sp)           |     *(var_1ch) = a0;
    0x00001f68 sw v1, 0x4c(sp)           |     *(var_4ch) = v1;
    0x00001f6c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00001f70 sw v1, 0x10(sp)           |     *(var_10h) = v1;
    0x00001f74 addiu a3, zero, 0xe0      |     a3 = 0xe0;
    0x00001f78 addiu a2, fp, 0x35bb      |     a2 = fp + 0x35bb;
    0x00001f7c move a1, zero             |     a1 = 0;
    0x00001f80 addiu a0, zero, 6         |     a0 = 6;
    0x00001f84 jalr t9                   |     t9 ();
    0x00001f88 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s2 == 0) {
    0x00001f8c beqz s2, 0x2104           |         goto label_28;
                                         |     }
    0x00001f90 lw a1, (s2)               |     a1 = *(s2);
    0x00001f94 move s0, zero             |     s0 = 0;
                                         |     if (a1 == 0) {
    0x00001f98 beqz a1, 0x2108           |         goto label_1;
                                         |     }
    0x00001f9c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001fa0 addiu v0, v0, 0x3b10      |     v0 += str.Failed_to_write__s_to__sys_power_state:__m;
    0x00001fa4 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00001fa8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001fac addiu v0, v0, 0x3fc0      |     v0 += str.write_state;
    0x00001fb0 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00001fb4 addiu v0, fp, 0x35bb      |     v0 = fp + 0x35bb;
    0x00001fb8 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00001fbc b 0x2008                  |     
                                         |     while (v0 != 0) {
                                         | label_0:
    0x00001fc0 lw t9, -0x7f2c(gp)        |         t9 = sym.imp.fclose;
    0x00001fc4 move a0, s1               |         a0 = s1;
    0x00001fc8 jalr t9                   |         t9 ();
    0x00001fcc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00001fd0 addiu a1, s4, 0x359c      |         a1 = s4 + 0x359c;
    0x00001fd4 addiu a0, s5, 0x35a0      |         a0 = s5 + str._sys_power_state;
    0x00001fd8 lw t9, -0x7fa4(gp)        |         t9 = sym.imp.fopen64;
                                         |         if (s0 != 0) {
    0x00001fdc movz s0, s3, s0           |             s0 = s3;
                                         |         }
    0x00001fe0 jalr t9                   |         t9 ();
    0x00001fe4 move s1, v0               |         s1 = v0;
    0x00001fe8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 == 0) {
    0x00001fec beqz v0, 0x21a4           |             goto label_29;
                                         |         }
    0x00001ff0 addiu s2, s2, 4           |         s2 += 4;
    0x00001ff4 lw v0, 0x5150(s7)         |         v0 = *((s7 + 5204));
                                         |         if (s2 == 0) {
    0x00001ff8 beqz s2, 0x21c4           |             goto label_30;
                                         |         }
    0x00001ffc lw a1, (s2)               |         a1 = *(s2);
    0x00002000 lw t9, -0x7f58(gp)        |         t9 = sym.imp.log_struct_internal;
                                         |         if (a1 == 0) {
    0x00002004 beqz a1, 0x21c8           |             goto label_31;
                                         |         }
    0x00002008 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.write_string_stream_ts;
    0x0000200c move a3, zero             |         a3 = 0;
    0x00002010 addiu a2, zero, 0x20      |         a2 = 0x20;
    0x00002014 move a0, s1               |         a0 = s1;
    0x00002018 jalr t9                   |         t9 ();
    0x0000201c move s3, v0               |         s3 = v0;
    0x00002020 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 >= 0) {
    0x00002024 bgez v0, 0x2104           |             goto label_28;
                                         |         }
    0x00002028 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x0000202c move a0, zero             |         a0 = 0;
    0x00002030 jalr t9                   |         t9 ();
    0x00002034 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00002038 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000203c bnez v0, 0x1fc0           |         
                                         |     }
    0x00002040 lw v0, (s2)               |     v0 = *(s2);
    0x00002044 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002048 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000204c lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00002050 lw a2, 0x3c(sp)           |     a2 = *(var_3ch);
    0x00002054 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002058 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x0000205c addiu a3, zero, 0x92      |     a3 = 0x92;
    0x00002060 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002064 move a1, s3               |     a1 = s3;
    0x00002068 addiu a0, zero, 7         |     a0 = 7;
    0x0000206c jalr t9                   |     t9 ();
    0x00002070 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002074 b 0x1fc0                  |     goto label_0;
                                         | label_19:
    0x00002078 lw t9, -0x7ecc(gp)        |     t9 = sym.imp.__errno_location;
    0x0000207c jalr t9                   |     t9 ();
    0x00002080 nop                       |     
    0x00002084 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002088 move a0, zero             |     a0 = 0;
    0x0000208c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002090 lw s0, (v0)               |     s0 = *(v0);
    0x00002094 jalr t9                   |     t9 ();
    0x00002098 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x0000209c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x000020a0 beqz v0, 0x2394           |         goto label_32;
                                         |     }
    0x000020a4 move a1, s0               |     a1 = s0;
                                         |     if (s0 < 0) {
    0x000020a8 bltz s0, 0x2284           |         goto label_33;
                                         |     }
                                         | label_4:
    0x000020ac andi a1, a1, 0xff         |     a1 &= 0xff;
    0x000020b0 negu s0, a1               |     __asm ("negu s0, a1");
                                         |     do {
                                         | label_3:
    0x000020b4 lw t9, -0x7ed0(gp)        |         t9 = sym.imp.safe_fclose;
    0x000020b8 move a0, s1               |         a0 = s1;
    0x000020bc jalr t9                   |         t9 ();
    0x000020c0 lw a0, 0x14c(sp)          |         a0 = *(var_14ch);
    0x000020c4 lw v1, (s6)               |         v1 = *(s6);
    0x000020c8 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000020cc move v0, s0               |         v0 = s0;
                                         |         if (a0 != v1) {
    0x000020d0 bne a0, v1, 0x2984        |             goto label_34;
                                         |         }
    0x000020d4 lw ra, 0x174(sp)          |         ra = *(var_174h);
    0x000020d8 lw fp, 0x170(sp)          |         fp = *(var_170h);
    0x000020dc lw s7, 0x16c(sp)          |         s7 = *(var_16ch);
    0x000020e0 lw s6, 0x168(sp)          |         s6 = *(var_168h);
    0x000020e4 lw s5, 0x164(sp)          |         s5 = *(var_164h);
    0x000020e8 lw s4, 0x160(sp)          |         s4 = *(var_160h);
    0x000020ec lw s3, 0x15c(sp)          |         s3 = *(var_15ch);
    0x000020f0 lw s2, 0x158(sp)          |         s2 = *(var_158h);
    0x000020f4 lw s1, 0x154(sp)          |         s1 = *(var_154h);
    0x000020f8 lw s0, 0x150(sp)          |         s0 = *(var_150h);
    0x000020fc addiu sp, sp, 0x178       |         
    0x00002100 jr ra                     |         return v0;
                                         | label_28:
    0x00002104 move s0, zero             |         s0 = 0;
                                         | label_1:
    0x00002108 lw v0, 0x5150(s7)         |         v0 = *((s7 + 5204));
    0x0000210c lw t9, -0x7f58(gp)        |         t9 = sym.imp.log_struct_internal;
    0x00002110 sw v0, 0x20(sp)           |         *(var_20h) = v0;
    0x00002114 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x00002118 sw zero, 0x24(sp)         |         *(var_24h) = 0;
    0x0000211c sw v0, 0x1c(sp)           |         *(var_1ch) = v0;
    0x00002120 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002124 addiu a3, zero, 0xec      |         a3 = 0xec;
    0x00002128 addiu v0, v0, 0x3ba8      |         v0 += str.MESSAGESystem_resumed.;
    0x0000212c sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002130 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002134 addiu a2, fp, 0x35bb      |         a2 = fp + 0x35bb;
    0x00002138 addiu v0, v0, 0x3b7c      |         v0 += str.MESSAGE_ID8811e6df2a8e40f58a94cea26f8ebf14;
    0x0000213c sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002140 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
    0x00002144 move a1, zero             |         a1 = 0;
    0x00002148 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000214c addiu a0, zero, 6         |         a0 = 6;
    0x00002150 jalr t9                   |         t9 ();
    0x00002154 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         | label_2:
    0x00002158 addiu v0, zero, 3         |         v0 = 3;
    0x0000215c sw v0, 0x20(sp)           |         *(var_20h) = v0;
    0x00002160 lw v0, 0x44(sp)           |         v0 = *(var_44h);
    0x00002164 lw t9, -0x7f98(gp)        |         t9 = sym.imp.execute_directories;
    0x00002168 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000216c lw v0, 0x40(sp)           |         v0 = *(var_40h);
    0x00002170 lui a2, 0x55d             |         a2 = 0x55d0000;
    0x00002174 addiu a0, v0, 0x4fc8      |         a0 = v0 + 0x4fc8;
    0x00002178 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x0000217c sw zero, 0x1c(sp)         |         *(var_1ch) = 0;
    0x00002180 addiu v0, v0, 0x3bc0      |         v0 += str.post;
    0x00002184 sw zero, 0x14(sp)         |         *(var_14h) = 0;
    0x00002188 sw zero, 0x10(sp)         |         *(var_10h) = 0;
    0x0000218c ori a2, a2, 0x4a80        |         a2 |= 0x4a80;
    0x00002190 move a3, zero             |         a3 = 0;
    0x00002194 sw v0, 0x6c(sp)           |         *(var_6ch) = v0;
    0x00002198 jalr t9                   |         t9 ();
    0x0000219c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000021a0 b 0x20b4                  |         
                                         |     } while (1);
                                         | label_29:
    0x000021a4 lw t9, -0x7ecc(gp)        |     t9 = sym.imp.__errno_location;
    0x000021a8 jalr t9                   |     t9 ();
    0x000021ac nop                       |     
    0x000021b0 lw v0, (v0)               |     v0 = *(v0);
    0x000021b4 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000021b8 negu s0, v0               |     __asm ("negu s0, v0");
                                         |     if (v0 <= 0) {
    0x000021bc blez v0, 0x2108           |         goto label_1;
                                         |     }
    0x000021c0 lw v0, 0x5150(s7)         |     v0 = *((s7 + 5204));
                                         | label_30:
    0x000021c4 lw t9, -0x7f58(gp)        |     t9 = sym.imp.log_struct_internal;
                                         | label_31:
    0x000021c8 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000021cc lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x000021d0 sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x000021d4 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x000021d8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000021dc addiu a3, zero, 0xe7      |     a3 = 0xe7;
    0x000021e0 addiu v0, v0, 0x3b40      |     v0 += str.MESSAGEFailed_to_suspend_system._System_resumed_again:__m
    0x000021e4 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000021e8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000021ec addiu a2, fp, 0x35bb      |     a2 = fp + 0x35bb;
    0x000021f0 addiu v0, v0, 0x3b7c      |     v0 += str.MESSAGE_ID8811e6df2a8e40f58a94cea26f8ebf14;
    0x000021f4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000021f8 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x000021fc move a1, s0               |     a1 = s0;
    0x00002200 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002204 addiu a0, zero, 3         |     a0 = 3;
    0x00002208 jalr t9                   |     t9 ();
    0x0000220c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002210 b 0x2158                  |     goto label_2;
                                         | label_20:
    0x00002214 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002218 move a0, zero             |     a0 = 0;
    0x0000221c jalr t9                   |     t9 ();
    0x00002220 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00002224 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x00002228 beqz v0, 0x2510           |         goto label_35;
                                         |     }
                                         | label_8:
    0x0000222c negu s0, s0               |     __asm ("negu s0, s0");
    0x00002230 andi s0, s0, 0xff         |     s0 &= 0xff;
    0x00002234 negu s0, s0               |     __asm ("negu s0, s0");
                                         | label_9:
    0x00002238 lw t9, -0x7f18(gp)        |     t9 = sym.imp.free;
    0x0000223c lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x00002240 jalr t9                   |     t9 ();
    0x00002244 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002248 lw t9, -0x7f18(gp)        |     t9 = sym.imp.free;
    0x0000224c lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x00002250 jalr t9                   |     t9 ();
    0x00002254 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s0 >= 0) {
    0x00002258 bgez s0, 0x22cc           |         goto label_36;
                                         |     }
    0x0000225c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002260 move a0, zero             |     a0 = 0;
    0x00002264 jalr t9                   |     t9 ();
    0x00002268 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x0000226c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x00002270 beqz v0, 0x2534           |         goto label_37;
                                         |     }
                                         | label_10:
    0x00002274 negu s0, s0               |     __asm ("negu s0, s0");
    0x00002278 andi s0, s0, 0xff         |     s0 &= 0xff;
    0x0000227c negu s0, s0               |     __asm ("negu s0, s0");
    0x00002280 b 0x20b4                  |     goto label_3;
                                         | label_33:
    0x00002284 negu a1, s0               |     __asm ("negu a1, s0");
    0x00002288 b 0x20ac                  |     goto label_4;
                                         | label_22:
    0x0000228c lw t9, -0x7ed4(gp)        |     t9 = sym.imp.find_hibernate_location;
                                         |     if (v0 == 0) {
    0x00002290 beqz v0, 0x1e10           |         goto label_5;
                                         |     }
    0x00002294 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002298 move a0, zero             |     a0 = 0;
    0x0000229c jalr t9                   |     t9 ();
    0x000022a0 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000022a4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x000022a8 beqz v0, 0x2620           |         goto label_38;
                                         |     }
                                         | label_13:
    0x000022ac lw t9, -0x7f18(gp)        |     t9 = sym.imp.free;
                                         | label_12:
    0x000022b0 lw a0, 0x58(sp)           |     a0 = *(var_58h);
    0x000022b4 jalr t9                   |     t9 ();
    0x000022b8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000022bc lw t9, -0x7f18(gp)        |     t9 = sym.imp.free;
    0x000022c0 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x000022c4 jalr t9                   |     t9 ();
    0x000022c8 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         | label_36:
    0x000022cc lw a1, (s3)               |     a1 = *(s3);
    0x000022d0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
                                         |     if (a1 == 0) {
    0x000022d4 beqz a1, 0x1ee4           |         goto label_6;
                                         |     }
    0x000022d8 move s0, zero             |     s0 = 0;
    0x000022dc sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x000022e0 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000022e4 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x000022e8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000022ec addiu v0, v0, 0x3a60      |     v0 += str.Failed_to_write__s_to__sys_power_disk:__m;
    0x000022f0 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x000022f4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000022f8 addiu v0, v0, 0x3fcc      |     v0 += str.write_mode;
    0x000022fc sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00002300 b 0x231c                  |     goto label_39;
                                         | label_7:
    0x00002304 addiu s3, s3, 4           |     s3 += 4;
                                         |     if (s0 != 0) {
    0x00002308 movz s0, fp, s0           |         s0 = fp;
                                         |     }
                                         |     if (s3 == 0) {
    0x0000230c beqz s3, 0x242c           |         goto label_40;
                                         |     }
    0x00002310 lw a1, (s3)               |     a1 = *(s3);
    0x00002314 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
                                         |     if (a1 == 0) {
    0x00002318 beqz a1, 0x2430           |         goto label_41;
                                         |     }
                                         | label_39:
    0x0000231c lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00002320 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.write_string_file_ts;
    0x00002324 move a3, zero             |     a3 = 0;
    0x00002328 addiu a2, zero, 0x20      |     a2 = 0x20;
    0x0000232c addiu a0, v0, 0x3a50      |     a0 = v0 + str._sys_power_disk;
    0x00002330 jalr t9                   |     t9 ();
    0x00002334 move fp, v0               |     fp = v0;
    0x00002338 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 >= 0) {
    0x0000233c bgez v0, 0x1ee4           |         goto label_6;
                                         |     }
    0x00002340 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002344 move a0, zero             |     a0 = 0;
    0x00002348 jalr t9                   |     t9 ();
    0x0000234c slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00002350 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 != 0) {
    0x00002354 bnez v0, 0x2304           |         goto label_7;
                                         |     }
    0x00002358 lw v0, (s3)               |     v0 = *(s3);
    0x0000235c lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002360 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00002364 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x00002368 addiu a3, zero, 0x80      |     a3 = 0x80;
    0x0000236c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002370 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00002374 move a1, fp               |     a1 = fp;
    0x00002378 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000237c lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x00002380 addiu a0, zero, 7         |     a0 = 7;
    0x00002384 addiu a2, v0, 0x35bb      |     a2 = v0 + 0x35bb;
    0x00002388 jalr t9                   |     t9 ();
    0x0000238c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002390 b 0x2304                  |     goto label_7;
                                         | label_32:
    0x00002394 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002398 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x0000239c addiu v0, v0, 0x35d0      |     v0 += str.Failed_to_open__sys_power_state:__m;
    0x000023a0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000023a4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000023a8 addiu a3, zero, 0xcc      |     a3 = 0xcc;
    0x000023ac addiu v0, v0, 0x4040      |     v0 += str.execute;
    0x000023b0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         | label_11:
    0x000023b4 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x000023b8 move a1, s0               |     a1 = s0;
    0x000023bc addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x000023c0 addiu a0, zero, 3         |     a0 = 3;
    0x000023c4 jalr t9                   |     t9 ();
    0x000023c8 move s0, v0               |     s0 = v0;
    0x000023cc lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000023d0 b 0x20b4                  |     goto label_3;
                                         | label_21:
    0x000023d4 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x000023d8 move a0, zero             |     a0 = 0;
    0x000023dc jalr t9                   |     t9 ();
    0x000023e0 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000023e4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 != 0) {
    0x000023e8 bnez v0, 0x222c           |         goto label_8;
                                         |     }
    0x000023ec lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000023f0 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x000023f4 addiu v0, v0, 0x363c      |     v0 += str.Error_reading_from__sys_power_resume_offset:__m;
    0x000023f8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000023fc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002400 addiu a3, zero, 0xaa      |     a3 = 0xaa;
    0x00002404 addiu v0, v0, 0x3ff8      |     v0 += str.configure_hibernation;
    0x00002408 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         | label_15:
    0x0000240c lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002410 move a1, s0               |     a1 = s0;
    0x00002414 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002418 addiu a0, zero, 7         |     a0 = 7;
    0x0000241c jalr t9                   |     t9 ();
    0x00002420 move s0, v0               |     s0 = v0;
    0x00002424 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002428 b 0x2238                  |     goto label_9;
                                         | label_40:
    0x0000242c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
                                         | label_41:
    0x00002430 move a0, zero             |     a0 = 0;
    0x00002434 jalr t9                   |     t9 ();
    0x00002438 slti v0, v0, 3            |     v0 = (v0 < 3) ? 1 : 0;
    0x0000243c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 != 0) {
    0x00002440 bnez v0, 0x2274           |         goto label_10;
                                         |     }
    0x00002444 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002448 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x0000244c addiu v0, v0, 0x3a8c      |     v0 += str.Failed_to_write_mode_to__sys_power_disk:__m;
    0x00002450 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002454 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002458 addiu a3, zero, 0xd8      |     a3 = 0xd8;
    0x0000245c addiu v0, v0, 0x4040      |     v0 += str.execute;
    0x00002460 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002464 b 0x23b4                  |     goto label_11;
                                         | label_23:
    0x00002468 lw t9, -0x7f18(gp)        |     t9 = sym.imp.free;
                                         |     if (v0 != 0) {
    0x0000246c bnez v0, 0x22b0           |         goto label_12;
                                         |     }
    0x00002470 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
    0x00002474 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002478 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x0000247c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002480 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002484 addiu v0, v0, 0x3670      |     v0 += str.Hibernating_using_device_id_and_offset_read_from__sys_power_resume:__s_and__sys_power_resume_offset:__s;
    0x00002488 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000248c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002490 sw s0, 0x1c(sp)           |     *(var_1ch) = s0;
    0x00002494 addiu v0, v0, 0x3ff8      |     v0 += str.configure_hibernation;
    0x00002498 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000249c addiu a3, zero, 0xad      |     a3 = 0xad;
    0x000024a0 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x000024a4 move a1, zero             |     a1 = 0;
    0x000024a8 addiu a0, zero, 7         |     a0 = 7;
    0x000024ac jalr t9                   |     t9 ();
    0x000024b0 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000024b4 b 0x22ac                  |     goto label_13;
                                         | label_25:
    0x000024b8 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.write_string_file_ts;
    0x000024bc lw a1, 0x5c(sp)           |     a1 = *(var_5ch);
    0x000024c0 move a3, zero             |     a3 = 0;
    0x000024c4 addiu a2, zero, 0x20      |     a2 = 0x20;
    0x000024c8 addiu a0, fp, 0x37b0      |     a0 = fp + str._sys_power_resume;
    0x000024cc jalr t9                   |     t9 ();
    0x000024d0 move s0, v0               |     s0 = v0;
    0x000024d4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 >= 0) {
    0x000024d8 bltz v0, 0x24e4           |         
    0x000024dc addiu t0, zero, -1        |         t0 = -1;
    0x000024e0 b 0x1ea0                  |         goto label_14;
                                         |     }
    0x000024e4 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x000024e8 move a0, zero             |     a0 = 0;
    0x000024ec jalr t9                   |     t9 ();
    0x000024f0 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000024f4 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 == 0) {
    0x000024f8 beqz v0, 0x27dc           |         goto label_42;
                                         |     }
                                         |     do {
    0x000024fc negu s0, s0               |         __asm ("negu s0, s0");
    0x00002500 andi s0, s0, 0xff         |         s0 &= 0xff;
    0x00002504 negu s0, s0               |         __asm ("negu s0, s0");
    0x00002508 addiu t0, zero, -1        |         t0 = -1;
    0x0000250c b 0x1ea0                  |         goto label_14;
                                         | label_35:
    0x00002510 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002514 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002518 addiu v0, v0, 0x35f4      |         v0 += str.Error_reading_from__sys_power_resume:__m;
    0x0000251c sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002520 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002524 addiu a3, zero, 0xa6      |         a3 = 0xa6;
    0x00002528 addiu v0, v0, 0x3ff8      |         v0 += str.configure_hibernation;
    0x0000252c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002530 b 0x240c                  |         goto label_15;
                                         | label_37:
    0x00002534 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002538 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x0000253c addiu v0, v0, 0x3a28      |         v0 += str.Failed_to_prepare_for_hibernation:__m;
    0x00002540 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002544 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002548 addiu a3, zero, 0xd4      |         a3 = 0xd4;
    0x0000254c addiu v0, v0, 0x4040      |         v0 += str.execute;
    0x00002550 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002554 b 0x23b4                  |         goto label_11;
                                         | label_24:
    0x00002558 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x0000255c move a0, zero             |         a0 = 0;
    0x00002560 jalr t9                   |         t9 ();
    0x00002564 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00002568 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000256c bnez v0, 0x24fc           |         
                                         |     } while (v0 != 0);
    0x00002570 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002574 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002578 addiu v0, v0, 0x377c      |     v0 += str.Unable_to_find_hibernation_location:__m;
    0x0000257c sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002580 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002584 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002588 addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x0000258c sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002590 addiu a3, zero, 0x35      |     a3 = 0x35;
    0x00002594 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002598 move a1, s0               |     a1 = s0;
                                         | label_16:
    0x0000259c addiu a0, zero, 7         |     a0 = 7;
    0x000025a0 jalr t9                   |     t9 ();
    0x000025a4 move s0, v0               |     s0 = v0;
    0x000025a8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000025ac addiu t0, zero, -1        |     t0 = -1;
    0x000025b0 b 0x1ea0                  |     goto label_14;
                                         | label_26:
    0x000025b4 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x000025b8 lw t9, -0x7f20(gp)        |     t9 = sym.imp.access;
    0x000025bc addiu a1, zero, 2         |     a1 = 2;
    0x000025c0 addiu a0, v0, 0x3620      |     a0 = v0 + str._sys_power_resume_offset;
    0x000025c4 jalr t9                   |     t9 ();
    0x000025c8 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 < 0) {
    0x000025cc bgez v0, 0x2664           |         
    0x000025d0 lw t9, -0x7ecc(gp)        |         t9 = sym.imp.__errno_location;
    0x000025d4 jalr t9                   |         t9 ();
    0x000025d8 nop                       |         
    0x000025dc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000025e0 lw fp, (v0)               |         fp = *(v0);
    0x000025e4 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x000025e8 move a0, zero             |         a0 = 0;
    0x000025ec jalr t9                   |         t9 ();
    0x000025f0 addiu v1, zero, 2         |         v1 = 2;
    0x000025f4 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000025f8 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
                                         |         if (fp == v1) {
    0x000025fc beq fp, v1, 0x2740        |             goto label_43;
                                         |         }
    0x00002600 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
                                         |         if (v0 == 0) {
    0x00002604 beqz v0, 0x280c           |             goto label_44;
                                         |         }
                                         |         if (fp >= 0) {
    0x00002608 bltzl fp, 0x2610          |             
    0x0000260c negu fp, fp               |             __asm ("negu fp, fp");
                                         |         }
    0x00002610 andi fp, fp, 0xff         |         fp &= 0xff;
    0x00002614 negu s0, fp               |         __asm ("negu s0, fp");
    0x00002618 addiu t0, zero, -1        |         t0 = -1;
    0x0000261c b 0x1ea0                  |         goto label_14;
                                         | label_38:
    0x00002620 lw v0, 0x3c(sp)           |         v0 = *(var_3ch);
    0x00002624 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002628 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000262c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002630 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002634 addiu v0, v0, 0x36d8      |         v0 += str.Hibernating_using_device_id_read_from__sys_power_resume:__s;
    0x00002638 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x0000263c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002640 addiu a3, zero, 0xb0      |         a3 = 0xb0;
    0x00002644 addiu v0, v0, 0x3ff8      |         v0 += str.configure_hibernation;
    0x00002648 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000264c addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002650 move a1, zero             |         a1 = 0;
    0x00002654 addiu a0, zero, 7         |         a0 = 7;
    0x00002658 jalr t9                   |         t9 ();
    0x0000265c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002660 b 0x22ac                  |         goto label_13;
                                         |     }
    0x00002664 lw t9, -0x7f80(gp)        |     t9 = sym.imp.open64;
    0x00002668 lw a0, 0x5c(sp)           |     a0 = *(var_5ch);
    0x0000266c lui a1, 8                 |     a1 = 0x80080;
    0x00002670 addiu a1, a1, 0x80        |     
    0x00002674 jalr t9                   |     t9 ();
    0x00002678 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 < 0) {
    0x0000267c bltz v0, 0x2788           |         goto label_45;
                                         |     }
    0x00002680 lw t9, -0x7f7c(gp)        |     t9 = sym.imp.__fxstat64;
    0x00002684 addiu a2, sp, 0x78        |     a2 = sp + 0x78;
    0x00002688 move a1, v0               |     a1 = v0;
    0x0000268c sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00002690 addiu a0, zero, 3         |     a0 = 3;
    0x00002694 jalr t9                   |     t9 ();
    0x00002698 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x0000269c lw t0, 0x34(sp)           |     t0 = *(var_34h);
                                         |     if (v0 < 0) {
    0x000026a0 bltz v0, 0x2838           |         goto label_46;
                                         |     }
    0x000026a4 lw t9, -0x7f5c(gp)        |     t9 = sym.imp.btrfs_is_filesystem
    0x000026a8 move a0, t0               |     a0 = t0;
    0x000026ac sw t0, 0x34(sp)           |     *(var_34h) = t0;
    0x000026b0 jalr t9                   |     t9 ();
    0x000026b4 move s0, v0               |     s0 = v0;
    0x000026b8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000026bc lw t0, 0x34(sp)           |     t0 = *(var_34h);
                                         |     if (v0 < 0) {
    0x000026c0 bltz v0, 0x292c           |         goto label_47;
                                         |     }
    0x000026c4 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
                                         |     if (v0 == 0) {
    0x000026c8 beqz v0, 0x28d8           |         goto label_48;
                                         |     }
    0x000026cc sw t0, 0x34(sp)           |     *(var_34h) = t0;
    0x000026d0 move a0, zero             |     a0 = 0;
    0x000026d4 jalr t9                   |     t9 ();
    0x000026d8 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000026dc lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000026e0 lw t0, 0x34(sp)           |     t0 = *(var_34h);
                                         |     if (v0 == 0) {
    0x000026e4 beqz v0, 0x2b10           |         goto label_49;
                                         |     }
    0x000026e8 addiu s0, zero, -0x7a     |     s0 = -0x7a;
    0x000026ec b 0x1ea0                  |     goto label_14;
                                         | label_27:
    0x000026f0 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x000026f4 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x000026f8 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000026fc lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002700 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002704 addiu v0, v0, 0x3808      |     v0 += str.Invalid_hibernate_type:__s;
    0x00002708 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x0000270c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002710 lui a1, 0x4000            |     a1 = 0x40000000;
    0x00002714 addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x00002718 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x0000271c addiu a3, zero, 0x41      |     a3 = 0x41;
    0x00002720 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002724 addiu a1, a1, 0x16        |     a1 += 0x16;
    0x00002728 addiu a0, zero, 7         |     a0 = 7;
    0x0000272c jalr t9                   |     t9 ();
    0x00002730 move s0, v0               |     s0 = v0;
    0x00002734 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002738 addiu t0, zero, -1        |     t0 = -1;
    0x0000273c b 0x1ea0                  |     goto label_14;
                                         | label_43:
    0x00002740 addiu t0, zero, -1        |     t0 = -1;
                                         |     if (v0 == 0) {
    0x00002744 bnel v0, zero, 0x1ea0     |         goto label_14;
                                         |     }
    0x00002748 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000274c lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002750 addiu v0, v0, 0x3824      |     v0 += str.Kernel_too_old__cant_configure_resume_offset__ignoring.;
    0x00002754 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002758 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000275c lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002760 addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x00002764 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002768 addiu a3, zero, 0x46      |     a3 = 0x46;
    0x0000276c addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002770 move a1, zero             |     a1 = 0;
    0x00002774 addiu a0, zero, 7         |     a0 = 7;
    0x00002778 jalr t9                   |     t9 ();
    0x0000277c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002780 addiu t0, zero, -1        |     t0 = -1;
    0x00002784 b 0x1ea0                  |     goto label_14;
                                         | label_45:
    0x00002788 lw t9, -0x7ecc(gp)        |     t9 = sym.imp.__errno_location;
    0x0000278c sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00002790 jalr t9                   |     t9 ();
    0x00002794 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002798 move a0, zero             |     a0 = 0;
    0x0000279c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x000027a0 lw s0, (v0)               |     s0 = *(v0);
    0x000027a4 jalr t9                   |     t9 ();
    0x000027a8 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x000027ac lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000027b0 lw t0, 0x34(sp)           |     t0 = *(var_34h);
                                         |     if (v0 != 0) {
    0x000027b4 beqz v0, 0x288c           |         
    0x000027b8 move a1, s0               |         a1 = s0;
                                         |         if (s0 >= 0) {
    0x000027bc bltz s0, 0x27cc           |             
    0x000027c0 andi a1, a1, 0xff         |             a1 &= 0xff;
    0x000027c4 negu s0, a1               |             __asm ("negu s0, a1");
    0x000027c8 b 0x1ea0                  |             goto label_14;
                                         |         }
    0x000027cc negu a1, s0               |         __asm ("negu a1, s0");
    0x000027d0 andi a1, a1, 0xff         |         a1 &= 0xff;
    0x000027d4 negu s0, a1               |         __asm ("negu s0, a1");
    0x000027d8 b 0x1ea0                  |         goto label_14;
                                         | label_42:
    0x000027dc lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000027e0 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x000027e4 addiu v0, v0, 0x37c4      |         v0 += str.Failed_to_write_partition_device_to__sys_power_resume:__m;
    0x000027e8 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000027ec lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000027f0 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x000027f4 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x000027f8 move a1, s0               |         a1 = s0;
    0x000027fc sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002800 addiu a3, zero, 0x3b      |         a3 = 0x3b;
    0x00002804 addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002808 b 0x259c                  |         goto label_16;
                                         | label_44:
    0x0000280c lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002810 addiu v0, v0, 0x3860      |         v0 += str._sys_power_resume_offset_not_writeable:__m;
    0x00002814 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002818 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x0000281c lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002820 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002824 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002828 addiu a3, zero, 0x4a      |         a3 = 0x4a;
    0x0000282c addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002830 move a1, fp               |         a1 = fp;
    0x00002834 b 0x259c                  |         goto label_16;
                                         | label_46:
    0x00002838 lw t9, -0x7ecc(gp)        |         t9 = sym.imp.__errno_location;
    0x0000283c jalr t9                   |         t9 ();
    0x00002840 nop                       |         
    0x00002844 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002848 move a0, zero             |         a0 = 0;
    0x0000284c lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00002850 lw s0, (v0)               |         s0 = *(v0);
    0x00002854 jalr t9                   |         t9 ();
    0x00002858 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x0000285c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002860 lw t0, 0x34(sp)           |         t0 = *(var_34h);
                                         |         if (v0 == 0) {
    0x00002864 beqz v0, 0x2958           |             goto label_50;
                                         |         }
    0x00002868 move v0, s0               |         v0 = s0;
                                         |         if (s0 >= 0) {
    0x0000286c bltz s0, 0x287c           |             
    0x00002870 andi v0, v0, 0xff         |             v0 &= 0xff;
    0x00002874 negu s0, v0               |             __asm ("negu s0, v0");
    0x00002878 b 0x1ea0                  |             goto label_14;
                                         |         }
    0x0000287c negu v0, s0               |         __asm ("negu v0, s0");
    0x00002880 andi v0, v0, 0xff         |         v0 &= 0xff;
    0x00002884 negu s0, v0               |         __asm ("negu s0, v0");
    0x00002888 b 0x1ea0                  |         goto label_14;
                                         |     }
    0x0000288c lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00002890 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002894 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00002898 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000289c addiu a3, zero, 0x4f      |     a3 = 0x4f;
    0x000028a0 addiu v0, v0, 0x388c      |     v0 += str.Unable_to_open__s:__m;
    0x000028a4 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000028a8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000028ac addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x000028b0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
                                         |     do {
    0x000028b4 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x000028b8 move a1, s0               |         a1 = s0;
    0x000028bc addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
                                         | label_17:
    0x000028c0 addiu a0, zero, 7         |         a0 = 7;
    0x000028c4 jalr t9                   |         t9 ();
    0x000028c8 move s0, v0               |         s0 = v0;
    0x000028cc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000028d0 lw t0, 0x34(sp)           |         t0 = *(var_34h);
    0x000028d4 b 0x1ea0                  |         goto label_14;
                                         | label_48:
    0x000028d8 lw t9, -0x7f04(gp)        |         t9 = sym.imp.read_fiemap;
    0x000028dc move a0, t0               |         a0 = t0;
    0x000028e0 sw t0, 0x34(sp)           |         *(var_34h) = t0;
    0x000028e4 addiu a1, sp, 0x64        |         a1 = sp + 0x64;
    0x000028e8 jalr t9                   |         t9 ();
    0x000028ec lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000028f0 lw t0, 0x34(sp)           |         t0 = *(var_34h);
                                         |         if (v0 < 0) {
    0x000028f4 bltz v0, 0x2b4c           |             goto label_51;
                                         |         }
    0x000028f8 lw v1, 0x64(sp)           |         v1 = *(var_64h);
    0x000028fc lw v0, 0x14(v1)           |         v0 = *((v1 + 5));
    0x00002900 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
                                         |         if (v0 != 0) {
    0x00002904 bnez v0, 0x2990           |             goto label_52;
                                         |         }
    0x00002908 sw t0, 0x34(sp)           |         *(var_34h) = t0;
    0x0000290c move a0, zero             |         a0 = 0;
    0x00002910 jalr t9                   |         t9 ();
    0x00002914 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00002918 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x0000291c lw t0, 0x34(sp)           |         t0 = *(var_34h);
                                         |         if (v0 == 0) {
    0x00002920 beqz v0, 0x2c40           |             goto label_53;
                                         |         }
    0x00002924 addiu s0, zero, -0x16     |         s0 = -0x16;
    0x00002928 b 0x1ea0                  |         goto label_14;
                                         | label_47:
    0x0000292c lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00002930 move a0, zero             |         a0 = 0;
    0x00002934 jalr t9                   |         t9 ();
    0x00002938 slti v0, v0, 3            |         v0 = (v0 < 3) ? 1 : 0;
    0x0000293c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002940 lw t0, 0x34(sp)           |         t0 = *(var_34h);
                                         |         if (v0 == 0) {
    0x00002944 beqz v0, 0x2b80           |             goto label_54;
                                         |         }
    0x00002948 negu s0, s0               |         __asm ("negu s0, s0");
    0x0000294c andi s0, s0, 0xff         |         s0 &= 0xff;
    0x00002950 negu s0, s0               |         __asm ("negu s0, s0");
    0x00002954 b 0x1ea0                  |         goto label_14;
                                         | label_50:
    0x00002958 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x0000295c lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002960 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002964 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002968 addiu a3, zero, 0x52      |         a3 = 0x52;
    0x0000296c addiu v0, v0, 0x38a4      |         v0 += str.Unable_to_stat__s:__m;
    0x00002970 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002974 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002978 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x0000297c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002980 b 0x28b4                  |         
                                         |     } while (1);
                                         | label_34:
    0x00002984 lw t9, -0x7f68(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002988 jalr t9                   |     t9 ();
    0x0000298c nop                       |     
                                         | label_52:
    0x00002990 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.page_size;
    0x00002994 addiu v0, sp, 0x11c       |     v0 = sp + 0x11c;
    0x00002998 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x0000299c sw v1, 0x40(sp)           |     *(var_40h) = v1;
    0x000029a0 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x000029a4 jalr t9                   |     t9 ();
    0x000029a8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000029ac lw v1, 0x40(sp)           |     v1 = *(var_40h);
    0x000029b0 move a2, v0               |     a2 = v0;
    0x000029b4 lw t9, -0x7fd4(gp)        |     t9 = *(gp);
    0x000029b8 lw a0, 0x28(v1)           |     a0 = *((v1 + 10));
    0x000029bc lw a1, 0x2c(v1)           |     a1 = *((v1 + 11));
    0x000029c0 move a3, zero             |     a3 = 0;
    0x000029c4 bal 0x2d60                |     fcn_00002d60 ();
    0x000029c8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000029cc sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x000029d0 lw a0, 0x34(sp)           |     a0 = *(var_34h);
    0x000029d4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000029d8 lw t9, -0x7f84(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x000029dc addiu v0, v0, 0x3968      |     v0 += str._llu;
    0x000029e0 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x000029e4 addiu a3, zero, 0x16      |     a3 = 0x16;
    0x000029e8 addiu a2, zero, 1         |     a2 = 1;
    0x000029ec addiu a1, zero, 0x16      |     a1 = 0x16;
    0x000029f0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000029f4 jalr t9                   |     t9 ();
    0x000029f8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000029fc lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x00002a00 lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x00002a04 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.write_string_file_ts;
    0x00002a08 move a3, zero             |     a3 = 0;
    0x00002a0c addiu a2, zero, 0x20      |     a2 = 0x20;
    0x00002a10 addiu a0, v0, 0x3620      |     a0 = v0 + str._sys_power_resume_offset;
    0x00002a14 jalr t9                   |     t9 ();
    0x00002a18 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002a1c lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
                                         |     if (v0 < 0) {
    0x00002a20 bltz v0, 0x2cb0           |         goto label_55;
                                         |     }
    0x00002a24 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002a28 sw t0, 0x38(sp)           |     *(var_38h) = t0;
    0x00002a2c move a0, zero             |     a0 = 0;
    0x00002a30 jalr t9                   |     t9 ();
    0x00002a34 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00002a38 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002a3c lw t0, 0x38(sp)           |     t0 = *(var_38h);
                                         |     if (v0 == 0) {
    0x00002a40 beqz v0, 0x2bf8           |         goto label_56;
                                         |     }
                                         | label_18:
    0x00002a44 addiu v0, sp, 0x134       |     v0 = sp + 0x134;
    0x00002a48 move a0, v0               |     a0 = v0;
    0x00002a4c sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00002a50 lw v0, 0x78(sp)           |     v0 = *(var_78h);
    0x00002a54 lw t9, -0x7f84(gp)        |     t9 = sym.imp.__snprintf_chk;
    0x00002a58 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002a5c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002a60 sw t0, 0x38(sp)           |     *(var_38h) = t0;
    0x00002a64 addiu v0, v0, 0x39d8      |     v0 += 0x39d8;
    0x00002a68 addiu a3, zero, 0x16      |     a3 = 0x16;
    0x00002a6c addiu a2, zero, 1         |     a2 = 1;
    0x00002a70 addiu a1, zero, 0x16      |     a1 = 0x16;
    0x00002a74 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002a78 jalr t9                   |     t9 ();
    0x00002a7c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002a80 lw a1, 0x34(sp)           |     a1 = *(var_34h);
    0x00002a84 addiu a0, fp, 0x37b0      |     a0 = fp + str._sys_power_resume;
    0x00002a88 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.write_string_file_ts;
    0x00002a8c move a3, zero             |     a3 = 0;
    0x00002a90 addiu a2, zero, 0x20      |     a2 = 0x20;
    0x00002a94 jalr t9                   |     t9 ();
    0x00002a98 move fp, v0               |     fp = v0;
    0x00002a9c lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002aa0 lw t0, 0x38(sp)           |     t0 = *(var_38h);
                                         |     if (v0 < 0) {
    0x00002aa4 bltz v0, 0x2bcc           |         goto label_57;
                                         |     }
    0x00002aa8 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002aac sw t0, 0x38(sp)           |     *(var_38h) = t0;
    0x00002ab0 move a0, zero             |     a0 = 0;
    0x00002ab4 jalr t9                   |     t9 ();
    0x00002ab8 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00002abc lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002ac0 lw t0, 0x38(sp)           |     t0 = *(var_38h);
                                         |     if (v0 != 0) {
    0x00002ac4 bnez v0, 0x1ea0           |         goto label_14;
                                         |     }
    0x00002ac8 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00002acc lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002ad0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00002ad4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002ad8 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002adc addiu v0, v0, 0x39fc      |     v0 += str.Wrote_device_id_to__sys_power_resume:__s;
    0x00002ae0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002ae4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002ae8 addiu a3, zero, 0x70      |     a3 = 0x70;
    0x00002aec addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x00002af0 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002af4 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002af8 move a1, zero             |     a1 = 0;
    0x00002afc addiu a0, zero, 7         |     a0 = 7;
    0x00002b00 jalr t9                   |     t9 ();
    0x00002b04 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002b08 lw t0, 0x38(sp)           |     t0 = *(var_38h);
    0x00002b0c b 0x1ea0                  |     goto label_14;
                                         | label_49:
    0x00002b10 lw v0, 0x5c(sp)           |     v0 = *(var_5ch);
    0x00002b14 lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002b18 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00002b1c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002b20 lui a1, 0x4000            |     a1 = 0x40000000;
    0x00002b24 addiu v0, v0, 0x38e8      |     v0 += str.Unable_to_calculate_swapfile_offset_when_using_Btrfs:__s;
    0x00002b28 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002b2c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002b30 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002b34 addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x00002b38 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002b3c addiu a3, zero, 0x5a      |     a3 = 0x5a;
    0x00002b40 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
    0x00002b44 addiu a1, a1, 0x7a        |     a1 += 0x7a;
    0x00002b48 b 0x28c0                  |     goto label_17;
                                         | label_51:
    0x00002b4c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x00002b50 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00002b54 move a0, zero             |     a0 = 0;
    0x00002b58 jalr t9                   |     t9 ();
    0x00002b5c slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x00002b60 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x00002b64 lw t0, 0x34(sp)           |     t0 = *(var_34h);
    0x00002b68 lw a1, 0x38(sp)           |     a1 = *(var_38h);
    0x00002b6c beqz v0, 0x2c7c           |     
                                         |     while (v0 != 0) {
    0x00002b70 negu s0, a1               |         __asm ("negu s0, a1");
    0x00002b74 andi s0, s0, 0xff         |         s0 &= 0xff;
    0x00002b78 negu s0, s0               |         __asm ("negu s0, s0");
    0x00002b7c b 0x1ea0                  |         goto label_14;
                                         | label_54:
    0x00002b80 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x00002b84 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002b88 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002b8c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002b90 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002b94 addiu v0, v0, 0x38bc      |         v0 += str.Error_checking__s_for_Btrfs_filesystem:__m
    0x00002b98 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002b9c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002ba0 move a1, s0               |         a1 = s0;
    0x00002ba4 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002ba8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002bac addiu a3, zero, 0x56      |         a3 = 0x56;
    0x00002bb0 addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002bb4 addiu a0, zero, 3         |         a0 = 3;
    0x00002bb8 jalr t9                   |         t9 ();
    0x00002bbc move s0, v0               |         s0 = v0;
    0x00002bc0 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002bc4 lw t0, 0x34(sp)           |         t0 = *(var_34h);
    0x00002bc8 b 0x1ea0                  |         goto label_14;
                                         | label_57:
    0x00002bcc lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00002bd0 move a0, zero             |         a0 = 0;
    0x00002bd4 jalr t9                   |         t9 ();
    0x00002bd8 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00002bdc lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002be0 lw t0, 0x38(sp)           |         t0 = *(var_38h);
                                         |         if (v0 == 0) {
    0x00002be4 beqz v0, 0x2d20           |             goto label_58;
                                         |         }
    0x00002be8 negu s0, fp               |         __asm ("negu s0, fp");
    0x00002bec andi s0, s0, 0xff         |         s0 &= 0xff;
    0x00002bf0 negu s0, s0               |         __asm ("negu s0, s0");
    0x00002bf4 b 0x1ea0                  |         goto label_14;
                                         | label_56:
    0x00002bf8 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00002bfc lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002c00 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002c04 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c08 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002c0c addiu v0, v0, 0x3990      |         v0 += str.Wrote_calculated_resume_offset_value_to__sys_power_resume_offset:__s;
    0x00002c10 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002c14 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c18 addiu a3, zero, 0x69      |         a3 = 0x69;
    0x00002c1c addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002c20 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002c24 addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002c28 move a1, zero             |         a1 = 0;
    0x00002c2c addiu a0, zero, 7         |         a0 = 7;
    0x00002c30 jalr t9                   |         t9 ();
    0x00002c34 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002c38 lw t0, 0x38(sp)           |         t0 = *(var_38h);
    0x00002c3c b 0x2a44                  |         goto label_18;
                                         | label_53:
    0x00002c40 lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x00002c44 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002c48 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002c4c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c50 lui a1, 0x4000            |         a1 = 0x40000000;
    0x00002c54 addiu v0, v0, 0x394c      |         v0 += str.No_extents_found_in__s;
    0x00002c58 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002c5c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c60 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002c64 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002c68 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002c6c addiu a3, zero, 0x61      |         a3 = 0x61;
    0x00002c70 addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002c74 addiu a1, a1, 0x16        |         a1 += 0x16;
    0x00002c78 b 0x28c0                  |         goto label_17;
    0x00002c7c lw v0, 0x5c(sp)           |         v0 = *(var_5ch);
    0x00002c80 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002c84 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002c88 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c8c lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002c90 addiu v0, v0, 0x3924      |         v0 += str.Unable_to_read_extent_map_for__s:__m;
    0x00002c94 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002c98 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002c9c addiu a3, zero, 0x5e      |         a3 = 0x5e;
    0x00002ca0 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002ca4 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002ca8 addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002cac b 0x28c0                  |         goto label_17;
                                         | label_55:
    0x00002cb0 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.log_get_max_level_realm;
    0x00002cb4 sw t0, 0x38(sp)           |         *(var_38h) = t0;
    0x00002cb8 sw v0, 0x3c(sp)           |         *(var_3ch) = v0;
    0x00002cbc move a0, zero             |         a0 = 0;
    0x00002cc0 jalr t9                   |         t9 ();
    0x00002cc4 slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
    0x00002cc8 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002ccc lw t0, 0x38(sp)           |         t0 = *(var_38h);
    0x00002cd0 lw a1, 0x3c(sp)           |         a1 = *(var_3ch);
    0x00002cd4 bnez v0, 0x2b70           |         
                                         |     }
    0x00002cd8 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00002cdc lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00002ce0 sw v0, 0x18(sp)           |     *(var_18h) = v0;
    0x00002ce4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002ce8 lw t9, -0x7f64(gp)        |     t9 = sym.imp.log_internal_realm;
    0x00002cec addiu v0, v0, 0x3970      |     v0 += str.Failed_to_write_offset__s:__m;
    0x00002cf0 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00002cf4 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00002cf8 addiu a3, zero, 0x67      |     a3 = 0x67;
    0x00002cfc addiu v0, v0, 0x3fd8      |     v0 += str.write_hibernate_location_info;
    0x00002d00 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002d04 addiu a2, a2, 0x35bb      |     a2 += 0x35bb;
                                         |     do {
    0x00002d08 addiu a0, zero, 7         |         a0 = 7;
    0x00002d0c jalr t9                   |         t9 ();
    0x00002d10 move s0, v0               |         s0 = v0;
    0x00002d14 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00002d18 lw t0, 0x38(sp)           |         t0 = *(var_38h);
    0x00002d1c b 0x1ea0                  |         goto label_14;
                                         | label_58:
    0x00002d20 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00002d24 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00002d28 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00002d2c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002d30 lw t9, -0x7f64(gp)        |         t9 = sym.imp.log_internal_realm;
    0x00002d34 addiu v0, v0, 0x39dc      |         v0 += str.Failed_to_write_device__s:__m;
    0x00002d38 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00002d3c lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00002d40 addiu a3, zero, 0x6e      |         a3 = 0x6e;
    0x00002d44 addiu v0, v0, 0x3fd8      |         v0 += str.write_hibernate_location_info;
    0x00002d48 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00002d4c addiu a2, a2, 0x35bb      |         a2 += 0x35bb;
    0x00002d50 move a1, fp               |         a1 = fp;
    0x00002d54 b 0x2d08                  |         
                                         |     } while (1);
                                         | }

[*] Function system used 7 times systemd-sleep