// callconv: x0 arm64 (x0, x1, x2, x3, x4, x5, x6, x7, stack); void sym.func.100044b88 (int64_t arg1, int64_t arg2) { sp -= 0x140 [var_100h] = (x28, 2) [var_110h] = (x22, 2) [var_120h] = (x20, 2) [var_130h] = (x29, 2) x29 = sp + 0x130 x19 = x1 // arg2 x20 = x0 // arg1 [x29 - 0x48] = (0, 2) [x29 -0x38] = 0 [x29 - 0x60] = (0, 2) [x29 -0x50] = 0 w8 = (byte) [x1 + 0x17] // arg2 w9 = (char) w8 (x10, 2) = 3 // arg2 v = w9 - 0 x1 = (lt)? x10 : x1 x2 = (lt)? x11 : x8 try { // cleanup at 0x100044f04 x0 = x29 - 0x48 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const__unsigned_long_ () // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const__unsigned_long_(0x177fa8, -1, -1, 0x0) x1 = 0x1006c6000 x1 += 0x11e // u"2Gm\u5722\u475d\u5675\u697c\u4600\u5723\u475d\u5675\u697c\u4100\u7474\u6361\u6d68\u6e65\u4c74\u616f\u6564r\u6974\u656c\u6353\u6e65\u4d65\u6e61\u6761\u7265\u4c3a\u616f" str.2Gmr x0 = x29 - 0x48 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_ () // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_(0x177fa8, 0x1006c611e, -1, 0x0) x1 = 0x1006c6000 x1 += 0x120 // u"Gm\u5722\u475d\u5675\u697c\u4600\u5723\u475d\u5675\u697c\u4100\u7474\u6361\u6d68\u6e65\u4c74\u616f\u6564r\u6974\u656c\u6353\u6e65\u4d65\u6e61\u6761\u7265\u4c3a\u616f\u4d64" x0 = x29 - 0x48 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_ () // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_(0x177fa8, 0x1006c6120, -1, 0x0) x1 = 0x1006c6000 x1 += 0x122 // "m" x0 = x29 - 0x48 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_ () // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const_(0x177fa8, 0x1006c6122, -1, 0x0) w8 = (byte) [x19 + 0x17] w9 = (char) w8 (x10, 2) = 3 v = w9 - 0 x1 = (lt)? x10 : x19 x2 = (lt)? x11 : x8 x0 = x29 - 0x48 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const__unsigned_long_ () // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.append_char_const__unsigned_long_(0x177fa8, -1, -1, 0x0) x1 = 0x1006c6000 x1 += 0x124 // "\"W]GuV|i" x0 = x29 - 0x60 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.assign_char_const_ () // try.849.100044b88.to // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.assign_char_const_(0x177f90, 0x1006c6124, -1, 0x0) } // end try ldursb w8, [x29, -0x49] if (w8 != 0x1f) goto 0x100044c54 // unlikely goto loc_0x100044c40; loc_0x100044c54: (x1, 2) = 3 try { // cleanup at 0x100044e8c x0 = x29 - 0x90 sym.func.10013aca4 () // try.851.100044b88.from // sym.func.10013aca4(0x177f60, 0x0, 0x0, 0x0) loc_0x100044c60: } // end try try { // cleanup at 0x100044eec // CODE XREF from sym.func.100044b88 @ 0x100044c50(x) x8 = x29 - 0x78 x1 = x29 - 0x90 sym.func.100043b34 () // try.851.100044b88.to // sym.func.100043b34(0x177f60, 0x177f60, 0x0, 0x0) } // end try x22 = x29 - 0x78 ldursb w8, [x29, -0x49] if (w8 == 0x1f) goto 0x100044c80 // likely goto loc_0x100044c78; loc_0x100044c80: // orphan q0 = [x22] [x29 -0x60] = q0 x8 = [x29 -0x68] [x29 -0x50] = x8 sturb 0, [x29, -0x61] sturb 0, [x29, -0x78] ldursb w8, [x29, -0x79] if (w8 == 0x1f) try { // cleanup at 0x100044f04 loc_0x100044ca8: // orphan sym.func.10042ee20 () // sym.func.10042ee20(0x177f60, 0x177f60, 0x0, 0x0) x21 = x0 ldursb w8, [x29, -0x31] if (w8 != 0x1f) loc_0x100044ccc: // orphan (x1, 2) = 3 x0 = sp + 0x80 sym.func.10013aca4 () // try.852.100044b88.to // sym.func.10013aca4(0x177f40, 0x0, 0x0, 0x0) goto loc_0x100044cf4; } // end try try { // cleanup at 0x100044e84 loc_0x100044cf4: // orphan (x1, 2) = 3 x0 = sp + 0x60 sym.func.10013aca4 () // try.854.100044b88.from // sym.func.10013aca4(0x177f20, 0x0, 0x0, 0x0) goto loc_0x100044d20; } // end try loc_0x100044d20: // orphan w8 = (byte) [var_97h] if (w8 == 0x1f) try { // cleanup at 0x100044f04 loc_0x100044d30: // orphan x1 = 0x1006c6000 x1 += 0x12d // "F#W]GuV|i" x0 = x29 - 0x60 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.assign_char_const_ () // try.855.100044b88.to // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.assign_char_const_(0x177f90, 0x1006c612d, 0x177f20, 0x0) ldursb w8, [x29, -0x49] if (w8 != 0x1f) } // end try try { // cleanup at 0x100044e80 loc_0x100044d5c: // orphan (x1, 2) = 3 x0 = sp + 0x40 sym.func.10013aca4 () // try.857.100044b88.from // sym.func.10013aca4(0x177f00, 0x0, 0x0, 0x0) goto loc_0x100044d84; } // end try loc_0x100044d84: // orphan q0 = [x22] [x29 -0x60] = q0 x8 = [x29 -0x68] [x29 -0x50] = x8 sturb 0, [x29, -0x61] sturb 0, [x29, -0x78] w8 = (byte) [var_57h] if (w8 == 0x1f) try { // cleanup at 0x100044f04 loc_0x100044dac: // orphan sym.func.10042ee20 () // sym.func.10042ee20(0x177f00, 0x177f00, 0x0, 0x0) x21 = x0 ldursb w8, [x29, -0x31] if (w8 != 0x1f) loc_0x100044dd0: // orphan (x1, 2) = 3 x0 = sp + 0x20 sym.func.10013aca4 () // try.858.100044b88.to // sym.func.10013aca4(0x177ee0, 0x0, 0x0, 0x0) goto loc_0x100044df8; } // end try try { // cleanup at 0x100044e78 loc_0x100044df8: // orphan (x1, 2) = 3 x0 = sp sym.func.10013aca4 () // try.860.100044b88.from // sym.func.10013aca4(0x177ec0, 0x0, 0x0, 0x0) goto loc_0x100044e24; } // end try loc_0x100044e24: // orphan w8 = (byte) [var_37h] if (w8 == 0x1f) try { // cleanup at 0x100044f04 loc_0x100044e34: // orphan x0 = x20 + 0x138 x1 = x19 method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.operator_std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char____const_ () // try.861.100044b88.to // method.std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char___.operator_std::__1::basic_string_char__std::__1::char_traits_char___std::__1::allocator_char____const_(0x138, 0x0, 0x177ec0, 0x0) ldursb w8, [x29, -0x49] if (w8 == 0x1f) } // end try loc_0x100044e50: // orphan ldursb w8, [x29, -0x31] if (w8 == 0x1f) loc_0x100044e60: // orphan (x29, 2) = 3 // sp (x20, 2) = 3 (x22, 2) = 3 (x28, 2) = 3 sp += 0x140 loc_0x100044e58: // orphan x0 = [x29 -0x48] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x0, 0x177ec0, 0x0) goto loc_0x100044e48; loc_0x100044e48: // orphan x0 = [x29 -0x60] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x0, 0x177ec0, 0x0) goto loc_0x100044e2c; loc_0x100044e2c: // orphan x0 = [var_20h] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x177ee0, 0x177ec0, 0x0) goto loc_0x100044e1c; loc_0x100044e1c: // orphan x0 = [sp] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x177ee0, 0x177ec0, 0x0) goto loc_0x100044de4; loc_0x100044de4: // orphan q0 = [x29 -0x60] [sp] = q0 x8 = [x29 -0x50] [var_10h] = x8 try { // cleanup at 0x100044e90 loc_0x100044e04: // orphan // CODE XREF from sym.func.100044b88 @ 0x100044df4(x) x1 = sp + 0x20 x2 = sp x0 = x21 sym.func.100254bac () // try.860.100044b88.to // sym.func.100254bac(0x177f00, 0x177ee0, 0x177ec0, 0x0) w8 = (byte) [var_17h] if (w8 == 0x1f) goto loc_0x100044dbc; } // end try loc_0x100044dbc: // orphan q0 = [x22 + 0x30] [var_20h] = q0 x8 = [x29 -0x38] [var_30h] = x8 loc_0x100044ddc: // orphan // CODE XREF from sym.func.100044b88 @ 0x100044dcc(x) ldursb w8, [x29, -0x49] if (w8 != 0x1f) goto loc_0x100044da4; loc_0x100044da4: // orphan x0 = [var_40h] sym.imp.operator_delete_void_ () // operator delete(void*) // try.858.100044b88.from // sym.imp.operator_delete_void_(0x0, 0x177f00, 0x0, 0x0) goto loc_0x100044d7c; loc_0x100044d7c: // orphan x0 = [x29 -0x60] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x177f00, 0x0, 0x0) goto loc_0x100044d48; loc_0x100044d48: // orphan q0 = [x29 -0x60] [var_40h] = q0 x8 = [x29 -0x50] [var_sp_50h] = x8 try { // cleanup at 0x100044eb4 loc_0x100044d68: // orphan // CODE XREF from sym.func.100044b88 @ 0x100044d58(x) x8 = x29 - 0x78 x1 = sp + 0x40 sym.func.100043b34 () // try.857.100044b88.to // sym.func.100043b34(0x177f00, 0x177f00, 0x0, 0x0) ldursb w8, [x29, -0x49] if (w8 == 0x1f) goto loc_0x100044d28; } // end try loc_0x100044d28: // orphan x0 = [var_80h] sym.imp.operator_delete_void_ () // operator delete(void*) // try.855.100044b88.from // sym.imp.operator_delete_void_(0x0, 0x177f40, 0x177f20, 0x0) goto loc_0x100044d18; loc_0x100044d18: // orphan x0 = [var_sp_60h] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x177f40, 0x177f20, 0x0) goto loc_0x100044ce0; loc_0x100044ce0: // orphan q0 = [x29 -0x60] [var_sp_60h] = q0 x8 = [x29 -0x50] [var_70h] = x8 try { // cleanup at 0x100044ec8 loc_0x100044d00: // orphan // CODE XREF from sym.func.100044b88 @ 0x100044cf0(x) x1 = sp + 0x80 x2 = sp + 0x60 x0 = x21 sym.func.10025493c () // try.854.100044b88.to // sym.func.10025493c(0x177f60, 0x177f40, 0x177f20, 0x0) w8 = (byte) [var_77h] if (w8 == 0x1f) goto loc_0x100044cb8; } // end try loc_0x100044cb8: // orphan q0 = [x22 + 0x30] [var_80h] = q0 x8 = [x29 -0x38] [var_90h] = x8 loc_0x100044cd8: // orphan // CODE XREF from sym.func.100044b88 @ 0x100044cc8(x) ldursb w8, [x29, -0x49] if (w8 != 0x1f) goto loc_0x100044ca0; loc_0x100044ca0: // orphan x0 = [x29 -0x90] sym.imp.operator_delete_void_ () // operator delete(void*) // try.852.100044b88.from // sym.imp.operator_delete_void_(0x0, 0x177f60, 0x0, 0x0) goto loc_0x100044c78; loc_0x100044c78: // orphan x0 = [x29 -0x60] sym.imp.operator_delete_void_ () // operator delete(void*) // sym.imp.operator_delete_void_(0x0, 0x177f60, 0x0, 0x0) goto loc_0x100044c40; loc_0x100044c40: // orphan q0 = [x29 -0x60] [x29 -0x90] = q0 x8 = [x29 -0x50] [x29 -0x80] = x8 }