| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- // 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
- }
|