94 lines
5.6 KiB
Plaintext
94 lines
5.6 KiB
Plaintext
libobjc.A.dylib`schedule_class_load:
|
|
libobjc.A.dylib[0x1800687c8] <+0>: pacibsp
|
|
libobjc.A.dylib[0x1800687cc] <+4>: sub sp, sp, #0x50
|
|
libobjc.A.dylib[0x1800687d0] <+8>: stp x24, x23, [sp, #0x10]
|
|
libobjc.A.dylib[0x1800687d4] <+12>: stp x22, x21, [sp, #0x20]
|
|
libobjc.A.dylib[0x1800687d8] <+16>: stp x20, x19, [sp, #0x30]
|
|
libobjc.A.dylib[0x1800687dc] <+20>: stp x29, x30, [sp, #0x40]
|
|
libobjc.A.dylib[0x1800687e0] <+24>: add x29, sp, #0x40
|
|
libobjc.A.dylib[0x1800687e4] <+28>: cbz x0, 0x1800688fc ; <+308>
|
|
libobjc.A.dylib[0x1800687e8] <+32>: mov x19, x0
|
|
libobjc.A.dylib[0x1800687ec] <+36>: mov x21, x0
|
|
libobjc.A.dylib[0x1800687f0] <+40>: ldr x16, [x21, #0x20]!
|
|
libobjc.A.dylib[0x1800687f4] <+44>: mov x17, x21
|
|
libobjc.A.dylib[0x1800687f8] <+48>: movk x17, #0xc93a, lsl #48
|
|
libobjc.A.dylib[0x1800687fc] <+52>: autdb x16, x17
|
|
libobjc.A.dylib[0x180068800] <+56>: mov x17, x16
|
|
libobjc.A.dylib[0x180068804] <+60>: xpacd x17
|
|
libobjc.A.dylib[0x180068808] <+64>: cmp x16, x17
|
|
libobjc.A.dylib[0x18006880c] <+68>: b.eq 0x180068814 ; <+76>
|
|
libobjc.A.dylib[0x180068810] <+72>: brk #0xc473
|
|
libobjc.A.dylib[0x180068814] <+76>: and x8, x16, #0x7ffffffffff8
|
|
libobjc.A.dylib[0x180068818] <+80>: ldrb w8, [x8, #0x2]
|
|
libobjc.A.dylib[0x18006881c] <+84>: tbnz w8, #0x7, 0x1800688fc ; <+308>
|
|
libobjc.A.dylib[0x180068820] <+88>: mov x8, x19
|
|
libobjc.A.dylib[0x180068824] <+92>: ldr x16, [x8, #0x8]!
|
|
libobjc.A.dylib[0x180068828] <+96>: cbz x16, 0x180068854 ; <+140>
|
|
libobjc.A.dylib[0x18006882c] <+100>: mov x17, x8
|
|
libobjc.A.dylib[0x180068830] <+104>: movk x17, #0xb5ab, lsl #48
|
|
libobjc.A.dylib[0x180068834] <+108>: autda x16, x17
|
|
libobjc.A.dylib[0x180068838] <+112>: mov x17, x16
|
|
libobjc.A.dylib[0x18006883c] <+116>: xpacd x17
|
|
libobjc.A.dylib[0x180068840] <+120>: cmp x16, x17
|
|
libobjc.A.dylib[0x180068844] <+124>: b.eq 0x18006884c ; <+132>
|
|
libobjc.A.dylib[0x180068848] <+128>: brk #0xc472
|
|
libobjc.A.dylib[0x18006884c] <+132>: mov x0, x16
|
|
libobjc.A.dylib[0x180068850] <+136>: b 0x180068858 ; <+144>
|
|
libobjc.A.dylib[0x180068854] <+140>: mov x0, #0x0
|
|
libobjc.A.dylib[0x180068858] <+144>: bl 0x1800687c8 ; <+0>
|
|
libobjc.A.dylib[0x18006885c] <+148>: ldr x0, [x19]
|
|
libobjc.A.dylib[0x180068860] <+152>: bl 0x18007b0d8 ; objc_class::getLoadMethod()
|
|
libobjc.A.dylib[0x180068864] <+156>: cbz x0, 0x1800688cc ; <+260>
|
|
libobjc.A.dylib[0x180068868] <+160>: mov x20, x0
|
|
libobjc.A.dylib[0x18006886c] <+164>: adrp x8, 363064
|
|
libobjc.A.dylib[0x180068870] <+168>: ldr w8, [x8, #0x374]
|
|
libobjc.A.dylib[0x180068874] <+172>: cbnz w8, 0x180068914 ; <+332>
|
|
libobjc.A.dylib[0x180068878] <+176>: adrp x22, 363064
|
|
libobjc.A.dylib[0x18006887c] <+180>: ldrsw x23, [x22, #0x220]
|
|
libobjc.A.dylib[0x180068880] <+184>: adrp x8, 363064
|
|
libobjc.A.dylib[0x180068884] <+188>: ldr w9, [x8, #0x224]
|
|
libobjc.A.dylib[0x180068888] <+192>: cmp w23, w9
|
|
libobjc.A.dylib[0x18006888c] <+196>: b.ne 0x1800688b4 ; <+236>
|
|
libobjc.A.dylib[0x180068890] <+200>: lsl w9, w23, #1
|
|
libobjc.A.dylib[0x180068894] <+204>: add w9, w9, #0x10
|
|
libobjc.A.dylib[0x180068898] <+208>: str w9, [x8, #0x224]
|
|
libobjc.A.dylib[0x18006889c] <+212>: adrp x24, 363064
|
|
libobjc.A.dylib[0x1800688a0] <+216>: ldr x0, [x24, #0x228]
|
|
libobjc.A.dylib[0x1800688a4] <+220>: sbfiz x1, x9, #4, #32
|
|
libobjc.A.dylib[0x1800688a8] <+224>: bl 0x180092ec0 ; symbol stub for: realloc
|
|
libobjc.A.dylib[0x1800688ac] <+228>: str x0, [x24, #0x228]
|
|
libobjc.A.dylib[0x1800688b0] <+232>: b 0x1800688bc ; <+244>
|
|
libobjc.A.dylib[0x1800688b4] <+236>: adrp x8, 363064
|
|
libobjc.A.dylib[0x1800688b8] <+240>: ldr x0, [x8, #0x228]
|
|
libobjc.A.dylib[0x1800688bc] <+244>: add x8, x0, x23, lsl #4
|
|
libobjc.A.dylib[0x1800688c0] <+248>: stp x19, x20, [x8]
|
|
libobjc.A.dylib[0x1800688c4] <+252>: add w8, w23, #0x1
|
|
libobjc.A.dylib[0x1800688c8] <+256>: str w8, [x22, #0x220]
|
|
libobjc.A.dylib[0x1800688cc] <+260>: ldr x16, [x21]
|
|
libobjc.A.dylib[0x1800688d0] <+264>: mov x17, x21
|
|
libobjc.A.dylib[0x1800688d4] <+268>: movk x17, #0xc93a, lsl #48
|
|
libobjc.A.dylib[0x1800688d8] <+272>: autdb x16, x17
|
|
libobjc.A.dylib[0x1800688dc] <+276>: mov x17, x16
|
|
libobjc.A.dylib[0x1800688e0] <+280>: xpacd x17
|
|
libobjc.A.dylib[0x1800688e4] <+284>: cmp x16, x17
|
|
libobjc.A.dylib[0x1800688e8] <+288>: b.eq 0x1800688f0 ; <+296>
|
|
libobjc.A.dylib[0x1800688ec] <+292>: brk #0xc473
|
|
libobjc.A.dylib[0x1800688f0] <+296>: and x8, x16, #0x7ffffffffff8
|
|
libobjc.A.dylib[0x1800688f4] <+300>: mov w9, #0x800000
|
|
libobjc.A.dylib[0x1800688f8] <+304>: ldset w9, w8, [x8]
|
|
libobjc.A.dylib[0x1800688fc] <+308>: ldp x29, x30, [sp, #0x40]
|
|
libobjc.A.dylib[0x180068900] <+312>: ldp x20, x19, [sp, #0x30]
|
|
libobjc.A.dylib[0x180068904] <+316>: ldp x22, x21, [sp, #0x20]
|
|
libobjc.A.dylib[0x180068908] <+320>: ldp x24, x23, [sp, #0x10]
|
|
libobjc.A.dylib[0x18006890c] <+324>: add sp, sp, #0x50
|
|
libobjc.A.dylib[0x180068910] <+328>: retab
|
|
libobjc.A.dylib[0x180068914] <+332>: mov x0, x19
|
|
libobjc.A.dylib[0x180068918] <+336>: bl 0x180081470 ; objc_class::nameForLogging()
|
|
libobjc.A.dylib[0x18006891c] <+340>: str x0, [sp]
|
|
libobjc.A.dylib[0x180068920] <+344>: adrp x0, 52
|
|
libobjc.A.dylib[0x180068924] <+348>: add x0, x0, #0x7e6 ; "LOAD: class '%s' scheduled for +load"
|
|
libobjc.A.dylib[0x180068928] <+352>: bl 0x180079d58 ; _objc_inform
|
|
libobjc.A.dylib[0x18006892c] <+356>: b 0x180068878 ; <+176>
|
|
libobjc.A.dylib[0x180068930] <+360>: udf #0x0
|
|
|