Skip to content

Instantly share code, notes, and snippets.

@eseidel
Created June 17, 2024 21:33
Show Gist options
  • Save eseidel/7f9aee57fc1f756cc3d0313b85e7b9f3 to your computer and use it in GitHub Desktop.
Save eseidel/7f9aee57fc1f756cc3d0313b85e7b9f3 to your computer and use it in GitHub Desktop.
XCode non-determinism
--- DiffPatchRunnerDisassembly 2024-06-17 17:06:29
+++ ReleaseRunnerDisassembly 2024-06-17 17:06:15
@@ -1,4 +1,4 @@
-DiffPatchRunner:
+ReleaseRunner:
(__TEXT,__text) section
0000000100004000 sub sp, sp, #0x40
0000000100004004 stp x22, x21, [sp, #0x10]
@@ -1278328,1181 +1278328,1163 @@
00000001004e3d94 ldp x28, x27, [sp, #0x60]
00000001004e3d98 add sp, sp, #0xc0
00000001004e3d9c ret
-00000001004e3da0 bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
-00000001004e3da4 adrp x16, 0 ; 0x1004e3000
-00000001004e3da8 add x16, x16, #0xde4
-00000001004e3dac cbnz x16, 0x1004e3db4
-00000001004e3db0 b 0x1004e3db8
-00000001004e3db4 br x16
-00000001004e3db8 cmp x9, #0x1, lsl #12
-00000001004e3dbc mov x10, sp
-00000001004e3dc0 b.lo 0x1004e3dd8
-00000001004e3dc4 sub x10, x10, #0x1, lsl #12
-00000001004e3dc8 ldrb wzr, [x10]
-00000001004e3dcc sub x9, x9, #0x1, lsl #12
-00000001004e3dd0 cmp x9, #0x1, lsl #12
-00000001004e3dd4 b.hi 0x1004e3dc4
-00000001004e3dd8 sub x10, x10, x9
-00000001004e3ddc ldrb wzr, [x10]
-00000001004e3de0 ret
-00000001004e3de4 b 0x1004e3db8
-00000001004e3de8 stp x28, x27, [sp, #-0x60]!
-00000001004e3dec stp x26, x25, [sp, #0x10]
-00000001004e3df0 stp x24, x23, [sp, #0x20]
-00000001004e3df4 stp x22, x21, [sp, #0x30]
-00000001004e3df8 stp x20, x19, [sp, #0x40]
-00000001004e3dfc stp x29, x30, [sp, #0x50]
-00000001004e3e00 add x29, sp, #0x50
-00000001004e3e04 mov x19, x0
-00000001004e3e08 bl 0x1001442c8
-00000001004e3e0c mov x23, x0
-00000001004e3e10 tbnz w0, #0x0, 0x1004e3eb0
-00000001004e3e14 mov x20, x0
-00000001004e3e18 tbnz w23, #0x1, 0x1004e3e50
-00000001004e3e1c bl 0x1001446d8
-00000001004e3e20 cbz x0, 0x1004e3e6c
-00000001004e3e24 bl 0x100144408
-00000001004e3e28 mov w8, #0x5
-00000001004e3e2c orr w8, w20, w8
-00000001004e3e30 ldaxr w21, [x19]
-00000001004e3e34 cmp w21, w20
-00000001004e3e38 b.ne 0x1004e3e90
-00000001004e3e3c stxr w9, w8, [x19]
-00000001004e3e40 cbnz w9, 0x1004e3e30
-00000001004e3e44 mov w8, #0x1
-00000001004e3e48 tbz w8, #0x0, 0x1004e3e9c
-00000001004e3e4c b 0x1004e3eb0
-00000001004e3e50 orr w8, w20, #0x1
-00000001004e3e54 ldaxr w23, [x19]
-00000001004e3e58 cmp w23, w20
-00000001004e3e5c b.ne 0x1004e3e88
-00000001004e3e60 stxr w9, w8, [x19]
-00000001004e3e64 cbnz w9, 0x1004e3e54
-00000001004e3e68 b 0x1004e3eb0
-00000001004e3e6c orr w8, w20, #0x1
-00000001004e3e70 ldaxr w23, [x19]
-00000001004e3e74 cmp w23, w20
-00000001004e3e78 b.ne 0x1004e3e88
-00000001004e3e7c stxr w9, w8, [x19]
-00000001004e3e80 cbnz w9, 0x1004e3e70
-00000001004e3e84 b 0x1004e3eb0
-00000001004e3e88 clrex
-00000001004e3e8c b 0x1004e3eb0
-00000001004e3e90 mov w8, #0x0
-00000001004e3e94 clrex
-00000001004e3e98 tbnz w8, #0x0, 0x1004e3eb0
-00000001004e3e9c bl 0x1001446d8
-00000001004e3ea0 ldr w8, [x0, #0x4c]
-00000001004e3ea4 sub w8, w8, #0x1
-00000001004e3ea8 str w8, [x0, #0x4c]
-00000001004e3eac mov x23, x21
-00000001004e3eb0 tbnz w23, #0x0, 0x1004e3ed0
-00000001004e3eb4 ldp x29, x30, [sp, #0x50]
-00000001004e3eb8 ldp x20, x19, [sp, #0x40]
-00000001004e3ebc ldp x22, x21, [sp, #0x30]
-00000001004e3ec0 ldp x24, x23, [sp, #0x20]
-00000001004e3ec4 ldp x26, x25, [sp, #0x10]
-00000001004e3ec8 ldp x28, x27, [sp], #0x60
-00000001004e3ecc ret
-00000001004e3ed0 ubfx w20, w23, #1, #1
-00000001004e3ed4 bl 0x1001442a4
-00000001004e3ed8 mov x21, x0
-00000001004e3edc mov w22, #0x0
-00000001004e3ee0 mov w28, #0x0
-00000001004e3ee4 mov w24, #0x5
-00000001004e3ee8 mov w25, #0x1fffffff
-00000001004e3eec mov w27, #0x8
-00000001004e3ef0 mov x8, x23
-00000001004e3ef4 cmp w8, #0x7
-00000001004e3ef8 b.hi 0x1004e3fd8
-00000001004e3efc orr w1, w8, #0x8
-00000001004e3f00 ldxr w23, [x19]
-00000001004e3f04 cmp w23, w8
-00000001004e3f08 b.ne 0x1004e3f20
-00000001004e3f0c stxr w9, w1, [x19]
-00000001004e3f10 cbnz w9, 0x1004e3f00
-00000001004e3f14 mov w8, #0x1
-00000001004e3f18 tbz w8, #0x0, 0x1004e3f2c
-00000001004e3f1c b 0x1004e3fdc
-00000001004e3f20 mov w8, #0x0
-00000001004e3f24 clrex
-00000001004e3f28 tbnz w8, #0x0, 0x1004e3fdc
-00000001004e3f2c tbnz w23, #0x0, 0x1004e3f64
-00000001004e3f30 tbnz w23, #0x1, 0x1004e3f78
-00000001004e3f34 bl 0x1001446d8
-00000001004e3f38 cbz x0, 0x1004e3f94
-00000001004e3f3c bl 0x100144408
-00000001004e3f40 orr w8, w23, w28
-00000001004e3f44 orr w8, w8, w24
-00000001004e3f48 ldaxr w26, [x19]
-00000001004e3f4c cmp w26, w23
-00000001004e3f50 b.ne 0x1004e3fb8
-00000001004e3f54 stxr w9, w8, [x19]
-00000001004e3f58 cbnz w9, 0x1004e3f48
-00000001004e3f5c mov w9, #0x1
-00000001004e3f60 b 0x1004e3fc0
-00000001004e3f64 mov x8, x23
-00000001004e3f68 mov x1, x23
-00000001004e3f6c cmp w23, #0x8
-00000001004e3f70 b.lo 0x1004e3fd0
-00000001004e3f74 b 0x1004e3fdc
-00000001004e3f78 orr w8, w23, w28
-00000001004e3f7c orr w9, w8, #0x1
-00000001004e3f80 bl 0x100144418
-00000001004e3f84 b.ne 0x1004e3fb0
-00000001004e3f88 stxr w10, w9, [x19]
-00000001004e3f8c cbnz w10, 0x1004e3f80
-00000001004e3f90 b 0x1004e3fd0
-00000001004e3f94 orr w8, w23, w28
-00000001004e3f98 orr w9, w8, #0x1
-00000001004e3f9c bl 0x100144418
-00000001004e3fa0 b.ne 0x1004e3fb0
-00000001004e3fa4 stxr w10, w9, [x19]
-00000001004e3fa8 cbnz w10, 0x1004e3f9c
-00000001004e3fac b 0x1004e3fd0
-00000001004e3fb0 clrex
-00000001004e3fb4 b 0x1004e3fd0
-00000001004e3fb8 mov w9, #0x0
-00000001004e3fbc clrex
-00000001004e3fc0 mov x8, x23
-00000001004e3fc4 tbnz w9, #0x0, 0x1004e3fd0
-00000001004e3fc8 bl 0x1001446d8
-00000001004e3fcc bl 0x100144424
-00000001004e3fd0 tbnz w8, #0x0, 0x1004e3ef4
-00000001004e3fd4 b 0x1004e3eb4
-00000001004e3fd8 mov x1, x8
-00000001004e3fdc add w22, w22, #0x1
-00000001004e3fe0 mov x0, x19
-00000001004e3fe4 mov x2, x22
-00000001004e3fe8 mov x3, x20
-00000001004e3fec bl 0x1004e5998 ; symbol stub for: _GMSx_AbslInternalSpinLockDelay
-00000001004e3ff0 mov x0, x19
-00000001004e3ff4 bl 0x1001442c8
-00000001004e3ff8 mov x23, x0
-00000001004e3ffc bl 0x1001442a4
-00000001004e4000 sub x8, x0, x21
-00000001004e4004 asr x8, x8, #7
-00000001004e4008 cmp x8, x25
-00000001004e400c csel w8, w8, w25, lt
-00000001004e4010 lsl w8, w8, #3
-00000001004e4014 cmp w8, #0x8
-00000001004e4018 mov w9, #0x10
-00000001004e401c csel w9, w9, w8, eq
-00000001004e4020 cmp w8, #0x0
-00000001004e4024 csel w28, w27, w9, eq
-00000001004e4028 tbnz w23, #0x0, 0x1004e4060
-00000001004e402c tbnz w23, #0x1, 0x1004e4068
-00000001004e4030 bl 0x1001446d8
-00000001004e4034 cbz x0, 0x1004e4084
-00000001004e4038 bl 0x100144408
-00000001004e403c orr w8, w28, w23
-00000001004e4040 orr w8, w8, w24
-00000001004e4044 ldaxr w26, [x19]
-00000001004e4048 cmp w26, w23
-00000001004e404c b.ne 0x1004e40a8
-00000001004e4050 stxr w9, w8, [x19]
-00000001004e4054 cbnz w9, 0x1004e4044
-00000001004e4058 mov w9, #0x1
-00000001004e405c b 0x1004e40b0
-00000001004e4060 mov x8, x23
-00000001004e4064 b 0x1004e40c0
-00000001004e4068 orr w8, w28, w23
-00000001004e406c orr w9, w8, #0x1
-00000001004e4070 bl 0x100144418
-00000001004e4074 b.ne 0x1004e40a0
-00000001004e4078 stxr w10, w9, [x19]
-00000001004e407c cbnz w10, 0x1004e4070
-00000001004e4080 b 0x1004e40c0
-00000001004e4084 orr w8, w28, w23
-00000001004e4088 orr w9, w8, #0x1
-00000001004e408c bl 0x100144418
-00000001004e4090 b.ne 0x1004e40a0
-00000001004e4094 stxr w10, w9, [x19]
-00000001004e4098 cbnz w10, 0x1004e408c
-00000001004e409c b 0x1004e40c0
-00000001004e40a0 clrex
-00000001004e40a4 b 0x1004e40c0
-00000001004e40a8 mov w9, #0x0
-00000001004e40ac clrex
-00000001004e40b0 mov x8, x23
-00000001004e40b4 tbnz w9, #0x0, 0x1004e40c0
-00000001004e40b8 bl 0x1001446d8
-00000001004e40bc bl 0x100144424
-00000001004e40c0 tbnz w8, #0x0, 0x1004e3ef4
-00000001004e40c4 b 0x1004e3eb4
-00000001004e40c8 stp x20, x19, [sp, #-0x20]!
-00000001004e40cc stp x29, x30, [sp, #0x10]
-00000001004e40d0 add x29, sp, #0x10
-00000001004e40d4 mov x20, x1
-00000001004e40d8 mov x19, x0
-00000001004e40dc mov w1, #0x0
-00000001004e40e0 bl 0x1004e59a4 ; symbol stub for: _GMSx_AbslInternalSpinLockWake
-00000001004e40e4 and w8, w20, #0xfffffff8
-00000001004e40e8 cmp w8, #0x8
-00000001004e40ec b.ne 0x1004e40fc
-00000001004e40f0 ldp x29, x30, [sp, #0x10]
-00000001004e40f4 ldp x20, x19, [sp], #0x20
-00000001004e40f8 ret
-00000001004e40fc lsl x1, x8, #4
-00000001004e4100 adrp x8, 996 ; 0x1008c8000
-00000001004e4104 add x8, x8, #0xa00
-00000001004e4108 ldar x2, [x8]
-00000001004e410c mov x0, x19
-00000001004e4110 ldp x29, x30, [sp, #0x10]
-00000001004e4114 ldp x20, x19, [sp], #0x20
-00000001004e4118 br x2
-00000001004e411c udf #0x0
+00000001004e3da0 bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
+00000001004e3da4 stp x28, x27, [sp, #-0x60]!
+00000001004e3da8 stp x26, x25, [sp, #0x10]
+00000001004e3dac stp x24, x23, [sp, #0x20]
+00000001004e3db0 stp x22, x21, [sp, #0x30]
+00000001004e3db4 stp x20, x19, [sp, #0x40]
+00000001004e3db8 stp x29, x30, [sp, #0x50]
+00000001004e3dbc add x29, sp, #0x50
+00000001004e3dc0 mov x19, x0
+00000001004e3dc4 bl 0x1001442c8
+00000001004e3dc8 mov x23, x0
+00000001004e3dcc tbnz w0, #0x0, 0x1004e3e6c
+00000001004e3dd0 mov x20, x0
+00000001004e3dd4 tbnz w23, #0x1, 0x1004e3e0c
+00000001004e3dd8 bl 0x1001446d8
+00000001004e3ddc cbz x0, 0x1004e3e28
+00000001004e3de0 bl 0x100144408
+00000001004e3de4 mov w8, #0x5
+00000001004e3de8 orr w8, w20, w8
+00000001004e3dec ldaxr w21, [x19]
+00000001004e3df0 cmp w21, w20
+00000001004e3df4 b.ne 0x1004e3e4c
+00000001004e3df8 stxr w9, w8, [x19]
+00000001004e3dfc cbnz w9, 0x1004e3dec
+00000001004e3e00 mov w8, #0x1
+00000001004e3e04 tbz w8, #0x0, 0x1004e3e58
+00000001004e3e08 b 0x1004e3e6c
+00000001004e3e0c orr w8, w20, #0x1
+00000001004e3e10 ldaxr w23, [x19]
+00000001004e3e14 cmp w23, w20
+00000001004e3e18 b.ne 0x1004e3e44
+00000001004e3e1c stxr w9, w8, [x19]
+00000001004e3e20 cbnz w9, 0x1004e3e10
+00000001004e3e24 b 0x1004e3e6c
+00000001004e3e28 orr w8, w20, #0x1
+00000001004e3e2c ldaxr w23, [x19]
+00000001004e3e30 cmp w23, w20
+00000001004e3e34 b.ne 0x1004e3e44
+00000001004e3e38 stxr w9, w8, [x19]
+00000001004e3e3c cbnz w9, 0x1004e3e2c
+00000001004e3e40 b 0x1004e3e6c
+00000001004e3e44 clrex
+00000001004e3e48 b 0x1004e3e6c
+00000001004e3e4c mov w8, #0x0
+00000001004e3e50 clrex
+00000001004e3e54 tbnz w8, #0x0, 0x1004e3e6c
+00000001004e3e58 bl 0x1001446d8
+00000001004e3e5c ldr w8, [x0, #0x4c]
+00000001004e3e60 sub w8, w8, #0x1
+00000001004e3e64 str w8, [x0, #0x4c]
+00000001004e3e68 mov x23, x21
+00000001004e3e6c tbnz w23, #0x0, 0x1004e3e8c
+00000001004e3e70 ldp x29, x30, [sp, #0x50]
+00000001004e3e74 ldp x20, x19, [sp, #0x40]
+00000001004e3e78 ldp x22, x21, [sp, #0x30]
+00000001004e3e7c ldp x24, x23, [sp, #0x20]
+00000001004e3e80 ldp x26, x25, [sp, #0x10]
+00000001004e3e84 ldp x28, x27, [sp], #0x60
+00000001004e3e88 ret
+00000001004e3e8c ubfx w20, w23, #1, #1
+00000001004e3e90 bl 0x1001442a4
+00000001004e3e94 mov x21, x0
+00000001004e3e98 mov w22, #0x0
+00000001004e3e9c mov w28, #0x0
+00000001004e3ea0 mov w24, #0x5
+00000001004e3ea4 mov w25, #0x1fffffff
+00000001004e3ea8 mov w27, #0x8
+00000001004e3eac mov x8, x23
+00000001004e3eb0 cmp w8, #0x7
+00000001004e3eb4 b.hi 0x1004e3f94
+00000001004e3eb8 orr w1, w8, #0x8
+00000001004e3ebc ldxr w23, [x19]
+00000001004e3ec0 cmp w23, w8
+00000001004e3ec4 b.ne 0x1004e3edc
+00000001004e3ec8 stxr w9, w1, [x19]
+00000001004e3ecc cbnz w9, 0x1004e3ebc
+00000001004e3ed0 mov w8, #0x1
+00000001004e3ed4 tbz w8, #0x0, 0x1004e3ee8
+00000001004e3ed8 b 0x1004e3f98
+00000001004e3edc mov w8, #0x0
+00000001004e3ee0 clrex
+00000001004e3ee4 tbnz w8, #0x0, 0x1004e3f98
+00000001004e3ee8 tbnz w23, #0x0, 0x1004e3f20
+00000001004e3eec tbnz w23, #0x1, 0x1004e3f34
+00000001004e3ef0 bl 0x1001446d8
+00000001004e3ef4 cbz x0, 0x1004e3f50
+00000001004e3ef8 bl 0x100144408
+00000001004e3efc orr w8, w23, w28
+00000001004e3f00 orr w8, w8, w24
+00000001004e3f04 ldaxr w26, [x19]
+00000001004e3f08 cmp w26, w23
+00000001004e3f0c b.ne 0x1004e3f74
+00000001004e3f10 stxr w9, w8, [x19]
+00000001004e3f14 cbnz w9, 0x1004e3f04
+00000001004e3f18 mov w9, #0x1
+00000001004e3f1c b 0x1004e3f7c
+00000001004e3f20 mov x8, x23
+00000001004e3f24 mov x1, x23
+00000001004e3f28 cmp w23, #0x8
+00000001004e3f2c b.lo 0x1004e3f8c
+00000001004e3f30 b 0x1004e3f98
+00000001004e3f34 orr w8, w23, w28
+00000001004e3f38 orr w9, w8, #0x1
+00000001004e3f3c bl 0x100144418
+00000001004e3f40 b.ne 0x1004e3f6c
+00000001004e3f44 stxr w10, w9, [x19]
+00000001004e3f48 cbnz w10, 0x1004e3f3c
+00000001004e3f4c b 0x1004e3f8c
+00000001004e3f50 orr w8, w23, w28
+00000001004e3f54 orr w9, w8, #0x1
+00000001004e3f58 bl 0x100144418
+00000001004e3f5c b.ne 0x1004e3f6c
+00000001004e3f60 stxr w10, w9, [x19]
+00000001004e3f64 cbnz w10, 0x1004e3f58
+00000001004e3f68 b 0x1004e3f8c
+00000001004e3f6c clrex
+00000001004e3f70 b 0x1004e3f8c
+00000001004e3f74 mov w9, #0x0
+00000001004e3f78 clrex
+00000001004e3f7c mov x8, x23
+00000001004e3f80 tbnz w9, #0x0, 0x1004e3f8c
+00000001004e3f84 bl 0x1001446d8
+00000001004e3f88 bl 0x100144424
+00000001004e3f8c tbnz w8, #0x0, 0x1004e3eb0
+00000001004e3f90 b 0x1004e3e70
+00000001004e3f94 mov x1, x8
+00000001004e3f98 add w22, w22, #0x1
+00000001004e3f9c mov x0, x19
+00000001004e3fa0 mov x2, x22
+00000001004e3fa4 mov x3, x20
+00000001004e3fa8 bl 0x1004e5950 ; symbol stub for: _GMSx_AbslInternalSpinLockDelay
+00000001004e3fac mov x0, x19
+00000001004e3fb0 bl 0x1001442c8
+00000001004e3fb4 mov x23, x0
+00000001004e3fb8 bl 0x1001442a4
+00000001004e3fbc sub x8, x0, x21
+00000001004e3fc0 asr x8, x8, #7
+00000001004e3fc4 cmp x8, x25
+00000001004e3fc8 csel w8, w8, w25, lt
+00000001004e3fcc lsl w8, w8, #3
+00000001004e3fd0 cmp w8, #0x8
+00000001004e3fd4 mov w9, #0x10
+00000001004e3fd8 csel w9, w9, w8, eq
+00000001004e3fdc cmp w8, #0x0
+00000001004e3fe0 csel w28, w27, w9, eq
+00000001004e3fe4 tbnz w23, #0x0, 0x1004e401c
+00000001004e3fe8 tbnz w23, #0x1, 0x1004e4024
+00000001004e3fec bl 0x1001446d8
+00000001004e3ff0 cbz x0, 0x1004e4040
+00000001004e3ff4 bl 0x100144408
+00000001004e3ff8 orr w8, w28, w23
+00000001004e3ffc orr w8, w8, w24
+00000001004e4000 ldaxr w26, [x19]
+00000001004e4004 cmp w26, w23
+00000001004e4008 b.ne 0x1004e4064
+00000001004e400c stxr w9, w8, [x19]
+00000001004e4010 cbnz w9, 0x1004e4000
+00000001004e4014 mov w9, #0x1
+00000001004e4018 b 0x1004e406c
+00000001004e401c mov x8, x23
+00000001004e4020 b 0x1004e407c
+00000001004e4024 orr w8, w28, w23
+00000001004e4028 orr w9, w8, #0x1
+00000001004e402c bl 0x100144418
+00000001004e4030 b.ne 0x1004e405c
+00000001004e4034 stxr w10, w9, [x19]
+00000001004e4038 cbnz w10, 0x1004e402c
+00000001004e403c b 0x1004e407c
+00000001004e4040 orr w8, w28, w23
+00000001004e4044 orr w9, w8, #0x1
+00000001004e4048 bl 0x100144418
+00000001004e404c b.ne 0x1004e405c
+00000001004e4050 stxr w10, w9, [x19]
+00000001004e4054 cbnz w10, 0x1004e4048
+00000001004e4058 b 0x1004e407c
+00000001004e405c clrex
+00000001004e4060 b 0x1004e407c
+00000001004e4064 mov w9, #0x0
+00000001004e4068 clrex
+00000001004e406c mov x8, x23
+00000001004e4070 tbnz w9, #0x0, 0x1004e407c
+00000001004e4074 bl 0x1001446d8
+00000001004e4078 bl 0x100144424
+00000001004e407c tbnz w8, #0x0, 0x1004e3eb0
+00000001004e4080 b 0x1004e3e70
+00000001004e4084 stp x20, x19, [sp, #-0x20]!
+00000001004e4088 stp x29, x30, [sp, #0x10]
+00000001004e408c add x29, sp, #0x10
+00000001004e4090 mov x20, x1
+00000001004e4094 mov x19, x0
+00000001004e4098 mov w1, #0x0
+00000001004e409c bl 0x1004e595c ; symbol stub for: _GMSx_AbslInternalSpinLockWake
+00000001004e40a0 and w8, w20, #0xfffffff8
+00000001004e40a4 cmp w8, #0x8
+00000001004e40a8 b.ne 0x1004e40b8
+00000001004e40ac ldp x29, x30, [sp, #0x10]
+00000001004e40b0 ldp x20, x19, [sp], #0x20
+00000001004e40b4 ret
+00000001004e40b8 lsl x1, x8, #4
+00000001004e40bc adrp x8, 996 ; 0x1008c8000
+00000001004e40c0 add x8, x8, #0xa00
+00000001004e40c4 ldar x2, [x8]
+00000001004e40c8 mov x0, x19
+00000001004e40cc ldp x29, x30, [sp, #0x10]
+00000001004e40d0 ldp x20, x19, [sp], #0x20
+00000001004e40d4 br x2
+00000001004e40d8 brk #0x1
+00000001004e40dc brk #0x1
+00000001004e40e0 udf #0x0
+00000001004e40e4 brk #0x1
+00000001004e40e8 brk #0x1
+00000001004e40ec brk #0x1
+00000001004e40f0 brk #0x1
+00000001004e40f4 brk #0x1
+00000001004e40f8 brk #0x1
+00000001004e40fc udf #0x0
+00000001004e4100 brk #0x1
+00000001004e4104 brk #0x1
+00000001004e4108 brk #0x1
+00000001004e410c brk #0x1
+00000001004e4110 udf #0x0
+00000001004e4114 brk #0x1
+00000001004e4118 brk #0x1
+00000001004e411c brk #0x1
00000001004e4120 brk #0x1
-00000001004e4124 brk #0x1
-00000001004e4128 udf #0x0
+00000001004e4124 udf #0x0
+00000001004e4128 brk #0x1
00000001004e412c brk #0x1
00000001004e4130 brk #0x1
00000001004e4134 brk #0x1
00000001004e4138 brk #0x1
00000001004e413c brk #0x1
00000001004e4140 brk #0x1
-00000001004e4144 udf #0x0
-00000001004e4148 brk #0x1
+00000001004e4144 brk #0x1
+00000001004e4148 udf #0x0
00000001004e414c brk #0x1
00000001004e4150 brk #0x1
00000001004e4154 brk #0x1
-00000001004e4158 udf #0x0
-00000001004e415c brk #0x1
+00000001004e4158 brk #0x1
+00000001004e415c udf #0x0
00000001004e4160 brk #0x1
00000001004e4164 brk #0x1
-00000001004e4168 brk #0x1
-00000001004e416c udf #0x0
-00000001004e4170 brk #0x1
-00000001004e4174 brk #0x1
-00000001004e4178 brk #0x1
-00000001004e417c brk #0x1
-00000001004e4180 brk #0x1
-00000001004e4184 brk #0x1
-00000001004e4188 brk #0x1
-00000001004e418c brk #0x1
-00000001004e4190 udf #0x0
-00000001004e4194 brk #0x1
-00000001004e4198 brk #0x1
-00000001004e419c brk #0x1
-00000001004e41a0 brk #0x1
-00000001004e41a4 udf #0x0
-00000001004e41a8 brk #0x1
-00000001004e41ac brk #0x1
-00000001004e41b0 stp x26, x25, [sp, #-0x50]!
-00000001004e41b4 stp x24, x23, [sp, #0x10]
-00000001004e41b8 stp x22, x21, [sp, #0x20]
-00000001004e41bc stp x20, x19, [sp, #0x30]
-00000001004e41c0 stp x29, x30, [sp, #0x40]
-00000001004e41c4 add x29, sp, #0x40
-00000001004e41c8 mov x21, x3
-00000001004e41cc mov x22, x2
-00000001004e41d0 mov x23, x1
-00000001004e41d4 mov x19, x0
-00000001004e41d8 bl 0x1004e6b20 ; symbol stub for: ___error
-00000001004e41dc ldr w8, [x0]
-00000001004e41e0 mov x20, x19
-00000001004e41e4 str w8, [x20], #0x8
-00000001004e41e8 bl 0x1004bbe74
-00000001004e41ec mov x25, x0
-00000001004e41f0 mov x26, x1
-00000001004e41f4 mov w0, #0x76f8
-00000001004e41f8 bl 0x1004e6a6c ; symbol stub for: __Znwm
-00000001004e41fc mov x24, x0
-00000001004e4200 and x5, x26, #0xffffffff
-00000001004e4204 mov x1, x23
-00000001004e4208 mov x2, x22
-00000001004e420c mov x3, x21
-00000001004e4210 mov x4, x25
-00000001004e4214 bl 0x1004a2a84
-00000001004e4218 str x24, [x19, #0x8]
-00000001004e421c strh wzr, [x24, #0x80]
-00000001004e4220 strb wzr, [x24, #0x82]
-00000001004e4224 mov x0, x19
-00000001004e4228 bl 0x1004a2e40
-00000001004e422c mov x0, x19
-00000001004e4230 ldp x29, x30, [sp, #0x40]
-00000001004e4234 ldp x20, x19, [sp, #0x30]
-00000001004e4238 ldp x22, x21, [sp, #0x20]
-00000001004e423c ldp x24, x23, [sp, #0x10]
-00000001004e4240 ldp x26, x25, [sp], #0x50
-00000001004e4244 ret
-00000001004e4248 mov x21, x0
-00000001004e424c bl 0x1004a3714
-00000001004e4250 b 0x1004e4268
-00000001004e4254 mov x21, x0
-00000001004e4258 mov x0, x24
-00000001004e425c bl 0x1004e6a48 ; symbol stub for: __ZdlPv
-00000001004e4260 b 0x1004e4268
-00000001004e4264 mov x21, x0
-00000001004e4268 ldr w19, [x19]
-00000001004e426c bl 0x1004e6b20 ; symbol stub for: ___error
-00000001004e4270 str w19, [x0]
-00000001004e4274 mov x0, x21
-00000001004e4278 bl 0x1004e5c98 ; symbol stub for: __Unwind_Resume
-00000001004e427c bl 0x1001a27e8
-00000001004e4280 b 0x1004e41b0
-00000001004e4284 stp x22, x21, [sp, #-0x30]!
-00000001004e4288 stp x20, x19, [sp, #0x10]
-00000001004e428c stp x29, x30, [sp, #0x20]
-00000001004e4290 add x29, sp, #0x20
-00000001004e4294 mov x19, x0
-00000001004e4298 mov x20, x0
-00000001004e429c ldr x8, [x20, #0x8]!
-00000001004e42a0 ldr w8, [x8, #0x28]
-00000001004e42a4 cmp w8, #0x3
-00000001004e42a8 b.lt 0x1004e42b4
-00000001004e42ac mov x0, x19
-00000001004e42b0 bl 0x1004a2f90
-00000001004e42b4 bl 0x1004a3714
-00000001004e42b8 ldr w20, [x19]
-00000001004e42bc bl 0x1004e6b20 ; symbol stub for: ___error
-00000001004e42c0 str w20, [x0]
-00000001004e42c4 mov x0, x19
-00000001004e42c8 ldp x29, x30, [sp, #0x20]
-00000001004e42cc b 0x1004a36e8
-00000001004e42d0 mov x21, x0
-00000001004e42d4 bl 0x1004a3714
-00000001004e42d8 mov x0, x19
-00000001004e42dc bl 0x1004a2f60
-00000001004e42e0 mov x0, x21
-00000001004e42e4 bl 0x1001a27e8
-00000001004e42e8 bl 0x1001a27e8
-00000001004e42ec b 0x1004e4284
-00000001004e42f0 udf #0x0
-00000001004e42f4 b 0x1004a36e0
-00000001004e42f8 stp x22, x21, [sp, #-0x30]!
-00000001004e42fc stp x20, x19, [sp, #0x10]
-00000001004e4300 stp x29, x30, [sp, #0x20]
-00000001004e4304 add x29, sp, #0x20
-00000001004e4308 bl 0x1004a36cc
-00000001004e430c adrp x1, 277 ; 0x1005f9000
-00000001004e4310 add x1, x1, #0x37d ; literal pool for: "Check failed: "
-00000001004e4314 mov w2, #0xe
-00000001004e4318 bl 0x1004e65a4 ; symbol stub for: __ZN9GMSx_absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvNS_11string_viewE
-00000001004e431c bl 0x1004a36f4
-00000001004e4320 adrp x1, 209 ; 0x1005b5000
-00000001004e4324 add x1, x1, #0x6c5 ; literal pool for: " "
-00000001004e4328 bl 0x1004a371c
-00000001004e432c mov x0, x19
-00000001004e4330 ldp x29, x30, [sp, #0x20]
-00000001004e4334 b 0x1004a36e8
-00000001004e4338 bl 0x1004a3728
-00000001004e433c mov x0, x20
-00000001004e4340 bl 0x1004e5c98 ; symbol stub for: __Unwind_Resume
-00000001004e4344 b 0x1004e42f8
-00000001004e4348 stp x22, x21, [sp, #-0x30]!
-00000001004e434c stp x20, x19, [sp, #0x10]
-00000001004e4350 stp x29, x30, [sp, #0x20]
-00000001004e4354 add x29, sp, #0x20
-00000001004e4358 bl 0x1004a36cc
-00000001004e435c bl 0x1004a3704
-00000001004e4360 adrp x1, 277 ; 0x1005f9000
-00000001004e4364 add x1, x1, #0x37d ; literal pool for: "Check failed: "
-00000001004e4368 mov w2, #0xe
-00000001004e436c bl 0x1004e65a4 ; symbol stub for: __ZN9GMSx_absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvNS_11string_viewE
-00000001004e4370 bl 0x1004a36f4
-00000001004e4374 adrp x1, 209 ; 0x1005b5000
-00000001004e4378 add x1, x1, #0x6c5 ; literal pool for: " "
-00000001004e437c bl 0x1004a371c
-00000001004e4380 mov x0, x19
-00000001004e4384 ldp x29, x30, [sp, #0x20]
-00000001004e4388 b 0x1004a36e8
-00000001004e438c bl 0x1004a3728
-00000001004e4390 mov x0, x20
-00000001004e4394 bl 0x1004e5c98 ; symbol stub for: __Unwind_Resume
-00000001004e4398 b 0x1004e4348
-00000001004e439c sub sp, sp, #0x50
-00000001004e43a0 stp x24, x23, [sp, #0x10]
-00000001004e43a4 stp x22, x21, [sp, #0x20]
-00000001004e43a8 stp x20, x19, [sp, #0x30]
-00000001004e43ac stp x29, x30, [sp, #0x40]
-00000001004e43b0 add x29, sp, #0x40
-00000001004e43b4 mov x19, x3
-00000001004e43b8 mov x20, x2
-00000001004e43bc mov x21, x1
-00000001004e43c0 mov x22, x0
-00000001004e43c4 adrp x23, 1068 ; 0x100910000
-00000001004e43c8 ldr w8, [x23, #0xe84]
-00000001004e43cc cbz w8, 0x1004e4404
-00000001004e43d0 mov x0, x22
-00000001004e43d4 mov x1, x21
-00000001004e43d8 mov x2, x20
-00000001004e43dc mov x3, #-0x1
-00000001004e43e0 mov x4, x19
-00000001004e43e4 bl 0x1004b59fc
-00000001004e43e8 tbz w0, #0x0, 0x1004e441c
-00000001004e43ec ldp x29, x30, [sp, #0x40]
-00000001004e43f0 ldp x20, x19, [sp, #0x30]
-00000001004e43f4 ldp x22, x21, [sp, #0x20]
-00000001004e43f8 ldp x24, x23, [sp, #0x10]
-00000001004e43fc add sp, sp, #0x50
-00000001004e4400 ret
-00000001004e4404 bl 0x100144438
-00000001004e4408 cmp w0, #0x1
-00000001004e440c mov w8, #0x5dc
-00000001004e4410 csinv w8, w8, wzr, gt
-00000001004e4414 str w8, [x23, #0xe84]
-00000001004e4418 b 0x1004e43d0
-00000001004e441c adrp x8, 345 ; 0x10063d000
-00000001004e4420 add x8, x8, #0x119 ; literal pool for: "condition untrue on return from LockSlow"
-00000001004e4424 adrp x9, 345 ; 0x10063d000
-00000001004e4428 add x9, x9, #0xd4 ; literal pool for: "this->LockSlowWithDeadline(how, cond, KernelTimeout::Never(), flags)"
-00000001004e442c stp x9, x8, [sp]
-00000001004e4430 adrp x1, 345 ; 0x10063d000
-00000001004e4434 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4438 adrp x3, 219 ; 0x1005bf000
-00000001004e443c add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4440 mov w0, #0x3
-00000001004e4444 mov w2, #0x766
-00000001004e4448 bl 0x100144980
-00000001004e444c brk #0x1
-00000001004e4450 sub sp, sp, #0x90
-00000001004e4454 stp x28, x27, [sp, #0x30]
-00000001004e4458 stp x26, x25, [sp, #0x40]
-00000001004e445c stp x24, x23, [sp, #0x50]
-00000001004e4460 stp x22, x21, [sp, #0x60]
-00000001004e4464 stp x20, x19, [sp, #0x70]
-00000001004e4468 stp x29, x30, [sp, #0x80]
-00000001004e446c add x29, sp, #0x80
-00000001004e4470 mov x20, x1
-00000001004e4474 mov x19, x0
-00000001004e4478 bl 0x1001446d8
-00000001004e447c cbz x0, 0x1004e448c
-00000001004e4480 ldr w8, [x0, #0x4c]
-00000001004e4484 add w8, w8, #0x1
-00000001004e4488 str w8, [x0, #0x4c]
-00000001004e448c cmp x0, #0x0
-00000001004e4490 cset w8, ne
-00000001004e4494 strb w8, [sp, #0x28]
-00000001004e4498 ldr x21, [x19]
-00000001004e449c mov x0, x19
-00000001004e44a0 bl 0x1004b6744
-00000001004e44a4 adrp x1, 345 ; 0x10063d000
-00000001004e44a8 add x1, x1, #0x1ff ; literal pool for: "Unlock"
-00000001004e44ac mov x0, x21
-00000001004e44b0 bl 0x1004b638c
-00000001004e44b4 tbz w21, #0x4, 0x1004e44cc
-00000001004e44b8 tst x21, #0x8
-00000001004e44bc mov w8, #0x8
-00000001004e44c0 cinc w1, w8, eq
-00000001004e44c4 mov x0, x19
-00000001004e44c8 bl 0x1004b6158
-00000001004e44cc mov w25, #0x1
-00000001004e44d0 str x25, [sp, #0x20]
-00000001004e44d4 cbz x20, 0x1004e44ec
-00000001004e44d8 ldr x8, [x20, #0x20]
-00000001004e44dc ldr x9, [x8, #0x20]
-00000001004e44e0 cbz x9, 0x1004e44ec
-00000001004e44e4 ldrb w8, [x8, #0x14]
-00000001004e44e8 cbz w8, 0x1004e4ab4
-00000001004e44ec str xzr, [sp, #0x18]
-00000001004e44f0 mov x24, #0x0
-00000001004e44f4 mov x26, #0x0
-00000001004e44f8 mov x27, #0x0
-00000001004e44fc mov w23, #0x0
-00000001004e4500 mov w21, #0x5
-00000001004e4504 mov x28, #-0x101
-00000001004e4508 ldr x22, [x19]
-00000001004e450c tbz w22, #0x3, 0x1004e4520
-00000001004e4510 and x8, x22, #0x6
-00000001004e4514 cmp x8, #0x4
-00000001004e4518 ccmp x20, #0x0, #0x0, ne
-00000001004e451c b.eq 0x1004e4574
-00000001004e4520 and x8, x22, x21
-00000001004e4524 cmp x8, #0x1
-00000001004e4528 ccmp x20, #0x0, #0x0, eq
-00000001004e452c b.eq 0x1004e4550
-00000001004e4530 tbnz w22, #0x6, 0x1004e4598
-00000001004e4534 orr x8, x22, #0x40
-00000001004e4538 ldaxr x9, [x19]
-00000001004e453c cmp x9, x22
-00000001004e4540 b.ne 0x1004e4594
-00000001004e4544 stxr w9, x8, [x19]
-00000001004e4548 cbnz w9, 0x1004e4538
-00000001004e454c b 0x1004e45ac
-00000001004e4550 cmp x22, #0x200
-00000001004e4554 cinc x8, x28, hs
-00000001004e4558 add x8, x8, x22
-00000001004e455c ldxr x9, [x19]
-00000001004e4560 cmp x9, x22
-00000001004e4564 b.ne 0x1004e4594
-00000001004e4568 stlxr w9, x8, [x19]
-00000001004e456c cbnz w9, 0x1004e455c
-00000001004e4570 b 0x1004e4a8c
-00000001004e4574 mov x8, #-0x29
-00000001004e4578 and x8, x22, x8
-00000001004e457c ldxr x9, [x19]
-00000001004e4580 cmp x9, x22
-00000001004e4584 b.ne 0x1004e4594
-00000001004e4588 stlxr w9, x8, [x19]
-00000001004e458c cbnz w9, 0x1004e457c
-00000001004e4590 b 0x1004e4a8c
-00000001004e4594 clrex
-00000001004e4598 mov x0, x23
-00000001004e459c mov w1, #0x0
-00000001004e45a0 bl 0x1004b5370
-00000001004e45a4 mov x23, x0
-00000001004e45a8 b 0x1004e4508
-00000001004e45ac tbz w22, #0x2, 0x1004e4760
-00000001004e45b0 and x21, x22, #0xffffffffffffff00
-00000001004e45b4 tbz w22, #0x0, 0x1004e45c8
-00000001004e45b8 ldr x8, [x21, #0x28]
-00000001004e45bc and x9, x8, #0xffffffffffffff00
-00000001004e45c0 cmp x9, #0x101
-00000001004e45c4 b.ge 0x1004e4844
-00000001004e45c8 cbz x24, 0x1004e45dc
-00000001004e45cc ldrb w8, [x21, #0x13]
-00000001004e45d0 cbz w8, 0x1004e4b1c
-00000001004e45d4 ldrb w8, [x24, #0x10]
-00000001004e45d8 cbz w8, 0x1004e4718
-00000001004e45dc ldr x8, [x21]
-00000001004e45e0 ldr x9, [x8, #0x20]
-00000001004e45e4 ldr x10, [x9]
-00000001004e45e8 adrp x11, 205 ; 0x1005b1000
-00000001004e45ec add x11, x11, #0x850
-00000001004e45f0 cmp x10, x11
-00000001004e45f4 b.ne 0x1004e4600
-00000001004e45f8 ldr x9, [x9, #0x8]
-00000001004e45fc cbz x9, 0x1004e4870
-00000001004e4600 cbz x27, 0x1004e4620
-00000001004e4604 ldr x8, [x27, #0x20]
-00000001004e4608 ldr x8, [x8]
-00000001004e460c adrp x9, 205 ; 0x1005b1000
-00000001004e4610 add x9, x9, #0x850
-00000001004e4614 cmp x8, x9
-00000001004e4618 ccmp x24, x21, #0x4, ne
-00000001004e461c b.eq 0x1004e4838
-00000001004e4620 cmp x24, x21
-00000001004e4624 b.eq 0x1004e4804
-00000001004e4628 cmp x24, #0x0
-00000001004e462c csel x8, x21, x24, eq
-00000001004e4630 ldr x28, [x8]
-00000001004e4634 strb wzr, [x21, #0x10]
-00000001004e4638 ldr x8, [x21, #0x8]
-00000001004e463c cbnz x8, 0x1004e4ae8
-00000001004e4640 strb w25, [x21, #0x13]
-00000001004e4644 stlr x22, [x19]
-00000001004e4648 mov x22, x24
-00000001004e464c ldr x24, [sp, #0x18]
-00000001004e4650 strb wzr, [x28, #0x11]
-00000001004e4654 ldr x8, [x28, #0x20]
-00000001004e4658 ldr x0, [x8, #0x8]
-00000001004e465c cbz x0, 0x1004e466c
-00000001004e4660 ldr x8, [x0, #0x10]
-00000001004e4664 blr x8
-00000001004e4668 cbz w0, 0x1004e468c
-00000001004e466c cbz x27, 0x1004e46cc
-00000001004e4670 ldr x8, [x28, #0x20]
-00000001004e4674 ldr x8, [x8]
-00000001004e4678 adrp x9, 205 ; 0x1005b1000
-00000001004e467c add x9, x9, #0x878
-00000001004e4680 cmp x8, x9
-00000001004e4684 b.eq 0x1004e46f4
-00000001004e4688 mov w24, #0x20
-00000001004e468c ldrb w8, [x28, #0x11]
-00000001004e4690 cbnz w8, 0x1004e46f8
-00000001004e4694 ldr x8, [x28, #0x8]
-00000001004e4698 cbz x8, 0x1004e46f8
-00000001004e469c ldr x9, [x8, #0x8]
-00000001004e46a0 cbz x9, 0x1004e46c0
-00000001004e46a4 mov x10, x28
-00000001004e46a8 mov x0, x8
-00000001004e46ac mov x8, x9
-00000001004e46b0 str x9, [x10, #0x8]
-00000001004e46b4 ldr x9, [x9, #0x8]
-00000001004e46b8 mov x10, x0
-00000001004e46bc cbnz x9, 0x1004e46a8
-00000001004e46c0 str x8, [x28, #0x8]
-00000001004e46c4 mov x28, x8
-00000001004e46c8 b 0x1004e46f8
-00000001004e46cc strb w25, [x28, #0x11]
-00000001004e46d0 ldr x8, [x28, #0x20]
-00000001004e46d4 ldr x8, [x8]
-00000001004e46d8 adrp x9, 205 ; 0x1005b1000
-00000001004e46dc add x9, x9, #0x850
-00000001004e46e0 cmp x8, x9
-00000001004e46e4 b.eq 0x1004e4748
-00000001004e46e8 mov x27, x28
-00000001004e46ec mov x26, x22
-00000001004e46f0 b 0x1004e46f8
-00000001004e46f4 strb w25, [x28, #0x11]
-00000001004e46f8 cmp x28, x21
-00000001004e46fc b.eq 0x1004e470c
-00000001004e4700 mov x22, x28
-00000001004e4704 ldr x28, [x28]
-00000001004e4708 b 0x1004e4650
-00000001004e470c str x24, [sp, #0x18]
-00000001004e4710 mov x24, x21
-00000001004e4714 b 0x1004e4500
-00000001004e4718 strb w25, [x24, #0x10]
-00000001004e471c ldr x8, [x24, #0x8]
-00000001004e4720 cbnz x8, 0x1004e4b84
-00000001004e4724 cmp x24, x21
-00000001004e4728 b.eq 0x1004e45dc
-00000001004e472c ldr x28, [x24]
-00000001004e4730 mov x0, x24
-00000001004e4734 mov x1, x28
-00000001004e4738 bl 0x1004b5790
-00000001004e473c cbz w0, 0x1004e45dc
-00000001004e4740 str x28, [x24, #0x8]
-00000001004e4744 b 0x1004e45dc
-00000001004e4748 mov w8, #0x20
-00000001004e474c str x8, [sp, #0x18]
-00000001004e4750 mov x24, x21
-00000001004e4754 mov x26, x22
-00000001004e4758 mov x27, x28
-00000001004e475c b 0x1004e4500
-00000001004e4760 cbz x20, 0x1004e4bb8
-00000001004e4764 mov w8, #0x1
-00000001004e4768 mov x22, #-0x1f8
-00000001004e476c mov w23, #-0x29
-00000001004e4770 mov w24, #-0x22
-00000001004e4774 mov w25, #0x9f
-00000001004e4778 ldr x26, [x19]
-00000001004e477c sub x9, x26, #0x100
-00000001004e4780 cmp x26, #0xff
-00000001004e4784 csel x21, x9, x26, gt
-00000001004e4788 tbz w8, #0x0, 0x1004e47b0
-00000001004e478c ldr x27, [x20, #0x28]
-00000001004e4790 mov x0, #0x0
-00000001004e4794 mov x1, x20
-00000001004e4798 mov x2, x21
-00000001004e479c mov w3, #0x2
-00000001004e47a0 bl 0x1004b6420
-00000001004e47a4 cmp x27, #0x0
-00000001004e47a8 cset w8, eq
-00000001004e47ac b 0x1004e47b8
-00000001004e47b0 mov w8, #0x0
-00000001004e47b4 mov x0, #0x0
-00000001004e47b8 tst x26, x22
-00000001004e47bc csel w9, w24, w23, eq
-00000001004e47c0 orr x10, x0, #0x4
-00000001004e47c4 and x11, x21, #0xffffffffffffff00
-00000001004e47c8 cmp x0, #0x0
-00000001004e47cc csel x10, x11, x10, eq
-00000001004e47d0 ldxr x11, [x19]
-00000001004e47d4 cmp x11, x26
-00000001004e47d8 b.ne 0x1004e47f4
-00000001004e47dc and w9, w26, w9
-00000001004e47e0 and x9, x9, x25
-00000001004e47e4 orr x9, x10, x9
-00000001004e47e8 stlxr w10, x9, [x19]
-00000001004e47ec cbnz w10, 0x1004e4778
-00000001004e47f0 b 0x1004e47fc
-00000001004e47f4 clrex
-00000001004e47f8 b 0x1004e4778
-00000001004e47fc mov x20, #0x0
-00000001004e4800 b 0x1004e49ac
-00000001004e4804 str xzr, [x24, #0x28]
-00000001004e4808 strb wzr, [x24, #0x13]
-00000001004e480c cbz x20, 0x1004e49a0
-00000001004e4810 mov x0, x24
-00000001004e4814 bl 0x1004b6b98
-00000001004e4818 mov x20, #0x0
-00000001004e481c mov w8, #0xd6
-00000001004e4820 and x8, x22, x8
-00000001004e4824 orr x9, x0, #0x4
-00000001004e4828 cmp x0, #0x0
-00000001004e482c csel x9, xzr, x9, eq
-00000001004e4830 orr x22, x9, x8
-00000001004e4834 b 0x1004e49a8
-00000001004e4838 cmp x26, #0x0
-00000001004e483c csel x23, x21, x26, eq
-00000001004e4840 b 0x1004e4888
-00000001004e4844 sub x8, x8, #0x100
-00000001004e4848 str x8, [x21, #0x28]
-00000001004e484c cbz x20, 0x1004e49a8
-00000001004e4850 mov x0, x21
-00000001004e4854 bl 0x1004b6b98
-00000001004e4858 cbz x0, 0x1004e4c60
-00000001004e485c mov x20, #0x0
-00000001004e4860 and x8, x22, #0xff
-00000001004e4864 orr x8, x8, x0
-00000001004e4868 orr x22, x8, #0x4
-00000001004e486c b 0x1004e49a8
-00000001004e4870 mov w9, #0x1
-00000001004e4874 strb w9, [x8, #0x11]
-00000001004e4878 mov w9, #0x20
-00000001004e487c str x9, [sp, #0x18]
-00000001004e4880 mov x23, x21
-00000001004e4884 mov x27, x8
-00000001004e4888 ldr x8, [x23]
-00000001004e488c cmp x8, x27
-00000001004e4890 b.ne 0x1004e4bec
-00000001004e4894 mov w25, #0x0
-00000001004e4898 add x24, sp, #0x20
-00000001004e489c ldrb w8, [x27, #0x11]
-00000001004e48a0 cbz w8, 0x1004e48e8
-00000001004e48a4 ldr x8, [x23, #0x8]
-00000001004e48a8 cbnz x8, 0x1004e4b50
-00000001004e48ac mov x0, x21
-00000001004e48b0 mov x1, x23
-00000001004e48b4 bl 0x1004b57cc
-00000001004e48b8 ldr x8, [x24]
-00000001004e48bc str x8, [x27]
-00000001004e48c0 str x27, [x24]
-00000001004e48c4 ldr x8, [x27, #0x20]
-00000001004e48c8 ldr x8, [x8]
-00000001004e48cc adrp x9, 205 ; 0x1005b1000
-00000001004e48d0 add x9, x9, #0x850
-00000001004e48d4 cmp x8, x9
-00000001004e48d8 ccmp x0, x21, #0x0, ne
-00000001004e48dc mov x24, x27
-00000001004e48e0 b.eq 0x1004e4928
-00000001004e48e4 b 0x1004e493c
-00000001004e48e8 ldr x23, [x27, #0x8]
-00000001004e48ec cbz x23, 0x1004e4920
-00000001004e48f0 ldr x8, [x23, #0x8]
-00000001004e48f4 cbz x8, 0x1004e4914
-00000001004e48f8 mov x9, x27
-00000001004e48fc mov x0, x23
-00000001004e4900 mov x23, x8
-00000001004e4904 str x8, [x9, #0x8]
-00000001004e4908 ldr x8, [x8, #0x8]
-00000001004e490c mov x9, x0
-00000001004e4910 cbnz x8, 0x1004e48fc
-00000001004e4914 str x23, [x27, #0x8]
-00000001004e4918 mov w25, #0x1
-00000001004e491c b 0x1004e4928
-00000001004e4920 mov w25, #0x1
-00000001004e4924 mov x23, x27
-00000001004e4928 cmp x23, x21
-00000001004e492c b.ne 0x1004e4934
-00000001004e4930 tbnz w25, #0x0, 0x1004e4940
-00000001004e4934 ldr x27, [x23]
-00000001004e4938 b 0x1004e489c
-00000001004e493c mov x21, x0
-00000001004e4940 ldr x23, [sp, #0x18]
-00000001004e4944 cbz x20, 0x1004e4954
-00000001004e4948 mov x0, x21
-00000001004e494c bl 0x1004b6b98
-00000001004e4950 mov x21, x0
-00000001004e4954 ldr x8, [sp, #0x20]
-00000001004e4958 cmp x8, #0x1
-00000001004e495c b.eq 0x1004e4c20
-00000001004e4960 and x22, x22, #0x10
-00000001004e4964 cbz x21, 0x1004e4994
-00000001004e4968 str xzr, [x21, #0x28]
-00000001004e496c strb wzr, [x21, #0x13]
-00000001004e4970 bl 0x1001446d8
-00000001004e4974 mov x20, x0
-00000001004e4978 cbz x0, 0x1004e4c54
-00000001004e497c orr x8, x22, x23
-00000001004e4980 orr x8, x8, x21
-00000001004e4984 orr x22, x8, #0x6
-00000001004e4988 mov w8, #0x1
-00000001004e498c strb w8, [x20, #0x58]
-00000001004e4990 b 0x1004e49a8
-00000001004e4994 mov x20, #0x0
-00000001004e4998 orr x22, x22, #0x2
-00000001004e499c b 0x1004e49a8
-00000001004e49a0 mov x8, #-0x2a
-00000001004e49a4 and x22, x22, x8
-00000001004e49a8 stlr x22, [x19]
-00000001004e49ac ldr x24, [sp, #0x20]
-00000001004e49b0 cmp x24, #0x1
-00000001004e49b4 b.eq 0x1004e4a84
-00000001004e49b8 bl 0x1001442a4
-00000001004e49bc mov x23, x0
-00000001004e49c0 mov x21, #0x0
-00000001004e49c4 mov w25, #0x0
-00000001004e49c8 mov x22, #0x0
-00000001004e49cc mov w26, #0x1
-00000001004e49d0 ldrb w8, [x24, #0x12]
-00000001004e49d4 cbnz w8, 0x1004e4a00
-00000001004e49d8 ldr x8, [x24, #0x20]
-00000001004e49dc ldr x9, [x8, #0x30]
-00000001004e49e0 sub x9, x23, x9
-00000001004e49e4 add x22, x9, x22
-00000001004e49e8 cmp x21, #0x0
-00000001004e49ec csel x21, x9, x21, eq
-00000001004e49f0 str x23, [x8, #0x30]
-00000001004e49f4 ldr x8, [x24, #0x20]
-00000001004e49f8 strb w26, [x8, #0x38]
-00000001004e49fc add w25, w25, #0x1
-00000001004e4a00 ldr x27, [x24]
-00000001004e4a04 mov x8, x24
-00000001004e4a08 str xzr, [x8], #0x1c
-00000001004e4a0c stlr wzr, [x8]
-00000001004e4a10 mov x0, x24
-00000001004e4a14 bl 0x100497f28
-00000001004e4a18 str x27, [sp, #0x20]
-00000001004e4a1c mov x24, x27
-00000001004e4a20 cmp x27, #0x1
-00000001004e4a24 b.ne 0x1004e49d0
-00000001004e4a28 cmp x22, #0x1
-00000001004e4a2c b.lt 0x1004e4a84
-00000001004e4a30 adrp x8, 1058 ; 0x100906000
-00000001004e4a34 add x8, x8, #0x350
-00000001004e4a38 ldar x8, [x8]
-00000001004e4a3c adrp x0, 345 ; 0x10063d000
-00000001004e4a40 add x0, x0, #0x398 ; literal pool for: "slow release"
-00000001004e4a44 mov x1, x19
-00000001004e4a48 mov x2, x22
-00000001004e4a4c blr x8
-00000001004e4a50 adrp x8, 1058 ; 0x100906000
-00000001004e4a54 add x8, x8, #0x340
-00000001004e4a58 ldar x8, [x8]
-00000001004e4a5c mov x0, x22
-00000001004e4a60 blr x8
-00000001004e4a64 adrp x8, 1058 ; 0x100906000
-00000001004e4a68 add x8, x8, #0x330
-00000001004e4a6c ldar x8, [x8]
-00000001004e4a70 sxtw x3, w25
-00000001004e4a74 mov x0, x19
-00000001004e4a78 mov x1, x22
-00000001004e4a7c mov x2, x21
-00000001004e4a80 blr x8
-00000001004e4a84 cbz x20, 0x1004e4a8c
-00000001004e4a88 strb wzr, [x20, #0x58]
-00000001004e4a8c add x0, sp, #0x28
-00000001004e4a90 bl 0x100498a80
-00000001004e4a94 ldp x29, x30, [sp, #0x80]
-00000001004e4a98 ldp x20, x19, [sp, #0x70]
-00000001004e4a9c ldp x22, x21, [sp, #0x60]
-00000001004e4aa0 ldp x24, x23, [sp, #0x50]
-00000001004e4aa4 ldp x26, x25, [sp, #0x40]
-00000001004e4aa8 ldp x28, x27, [sp, #0x30]
-00000001004e4aac add sp, sp, #0x90
-00000001004e4ab0 ret
-00000001004e4ab4 adrp x8, 345 ; 0x10063d000
-00000001004e4ab8 add x8, x8, #0x18a ; literal pool for: "detected illegal recursion into Mutex code"
-00000001004e4abc adrp x9, 345 ; 0x10063d000
-00000001004e4ac0 add x9, x9, #0x206 ; literal pool for: "waitp == nullptr || waitp->thread->waitp == nullptr || waitp->thread->suppress_fatal_errors"
-00000001004e4ac4 stp x9, x8, [sp]
-00000001004e4ac8 adrp x1, 345 ; 0x10063d000
-00000001004e4acc add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4ad0 adrp x3, 219 ; 0x1005bf000
-00000001004e4ad4 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4ad8 mov w0, #0x3
-00000001004e4adc mov w2, #0x8a4
-00000001004e4ae0 bl 0x100144980
-00000001004e4ae4 b 0x1004e4c90
-00000001004e4ae8 adrp x8, 345 ; 0x10063d000
-00000001004e4aec add x8, x8, #0x30d ; literal pool for: "illegal skip from head"
-00000001004e4af0 adrp x9, 345 ; 0x10063d000
-00000001004e4af4 add x9, x9, #0x324 ; literal pool for: "h->skip == nullptr"
-00000001004e4af8 stp x9, x8, [sp]
-00000001004e4afc adrp x1, 345 ; 0x10063d000
-00000001004e4b00 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4b04 adrp x3, 219 ; 0x1005bf000
-00000001004e4b08 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4b0c mov w0, #0x3
-00000001004e4b10 mov w2, #0x93f
-00000001004e4b14 bl 0x100144980
-00000001004e4b18 b 0x1004e4c90
-00000001004e4b1c adrp x8, 345 ; 0x10063d000
-00000001004e4b20 add x8, x8, #0x2d7 ; literal pool for: "Mutex queue changed beneath us"
-00000001004e4b24 adrp x9, 345 ; 0x10063d000
-00000001004e4b28 add x9, x9, #0x2b0 ; literal pool for: "old_h == nullptr || h->maybe_unlocking"
-00000001004e4b2c stp x9, x8, [sp]
-00000001004e4b30 adrp x1, 345 ; 0x10063d000
-00000001004e4b34 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4b38 adrp x3, 219 ; 0x1005bf000
-00000001004e4b3c add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4b40 mov w0, #0x3
-00000001004e4b44 mov w2, #0x8f9
-00000001004e4b48 bl 0x100144980
-00000001004e4b4c b 0x1004e4c90
-00000001004e4b50 adrp x8, 345 ; 0x10063d000
-00000001004e4b54 add x8, x8, #0x6f9 ; literal pool for: "bad skip in DequeueAllWakeable"
-00000001004e4b58 adrp x9, 345 ; 0x10063d000
-00000001004e4b5c add x9, x9, #0x6e5 ; literal pool for: "pw->skip == nullptr"
-00000001004e4b60 stp x9, x8, [sp]
-00000001004e4b64 adrp x1, 345 ; 0x10063d000
-00000001004e4b68 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4b6c adrp x3, 219 ; 0x1005bf000
-00000001004e4b70 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4b74 mov w0, #0x3
-00000001004e4b78 mov w2, #0x461
-00000001004e4b7c bl 0x100144980
-00000001004e4b80 b 0x1004e4c90
-00000001004e4b84 adrp x8, 345 ; 0x10063d000
-00000001004e4b88 add x8, x8, #0x30d ; literal pool for: "illegal skip from head"
-00000001004e4b8c adrp x9, 345 ; 0x10063d000
-00000001004e4b90 add x9, x9, #0x2f6 ; literal pool for: "old_h->skip == nullptr"
-00000001004e4b94 stp x9, x8, [sp]
-00000001004e4b98 adrp x1, 345 ; 0x10063d000
-00000001004e4b9c add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4ba0 adrp x3, 219 ; 0x1005bf000
-00000001004e4ba4 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4ba8 mov w0, #0x3
-00000001004e4bac mov w2, #0x8ff
-00000001004e4bb0 bl 0x100144980
-00000001004e4bb4 b 0x1004e4c90
-00000001004e4bb8 adrp x8, 345 ; 0x10063d000
-00000001004e4bbc add x8, x8, #0x273 ; literal pool for: "UnlockSlow is confused"
-00000001004e4bc0 adrp x9, 345 ; 0x10063d000
-00000001004e4bc4 add x9, x9, #0x262 ; literal pool for: "waitp != nullptr"
-00000001004e4bc8 stp x9, x8, [sp]
-00000001004e4bcc adrp x1, 345 ; 0x10063d000
-00000001004e4bd0 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4bd4 adrp x3, 219 ; 0x1005bf000
-00000001004e4bd8 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4bdc mov w0, #0x3
-00000001004e4be0 mov w2, #0x8c1
-00000001004e4be4 bl 0x100144980
-00000001004e4be8 b 0x1004e4c90
-00000001004e4bec adrp x8, 345 ; 0x10063d000
-00000001004e4bf0 add x8, x8, #0x345 ; literal pool for: "pw not w's predecessor"
-00000001004e4bf4 adrp x9, 345 ; 0x10063d000
-00000001004e4bf8 add x9, x9, #0x337 ; literal pool for: "pw->next == w"
-00000001004e4bfc stp x9, x8, [sp]
-00000001004e4c00 adrp x1, 345 ; 0x10063d000
-00000001004e4c04 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4c08 adrp x3, 219 ; 0x1005bf000
-00000001004e4c0c add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4c10 mov w0, #0x3
-00000001004e4c14 mov w2, #0x978
-00000001004e4c18 bl 0x100144980
-00000001004e4c1c b 0x1004e4c90
-00000001004e4c20 adrp x8, 345 ; 0x10063d000
-00000001004e4c24 add x8, x8, #0x37d ; literal pool for: "unexpected empty wake list"
-00000001004e4c28 adrp x9, 345 ; 0x10063d000
-00000001004e4c2c add x9, x9, #0x35c ; literal pool for: "wake_list != kPerThreadSynchNull"
-00000001004e4c30 stp x9, x8, [sp]
-00000001004e4c34 adrp x1, 345 ; 0x10063d000
-00000001004e4c38 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4c3c adrp x3, 219 ; 0x1005bf000
-00000001004e4c40 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4c44 mov w0, #0x3
-00000001004e4c48 mov w2, #0x98f
-00000001004e4c4c bl 0x100144980
-00000001004e4c50 b 0x1004e4c90
-00000001004e4c54 bl 0x1004b4cc4
-00000001004e4c58 mov x20, x0
-00000001004e4c5c b 0x1004e497c
-00000001004e4c60 adrp x8, 345 ; 0x10063d000
-00000001004e4c64 add x8, x8, #0x28a ; literal pool for: "waiters disappeared during Enqueue()!"
-00000001004e4c68 adrp x9, 345 ; 0x10063d000
-00000001004e4c6c add x9, x9, #0x1ba ; literal pool for: "new_h != nullptr"
-00000001004e4c70 stp x9, x8, [sp]
-00000001004e4c74 adrp x1, 345 ; 0x10063d000
-00000001004e4c78 add x1, x1, #0x35 ; literal pool for: "mutex.cc"
-00000001004e4c7c adrp x3, 219 ; 0x1005bf000
-00000001004e4c80 add x3, x3, #0xc56 ; literal pool for: "Check %s failed: %s"
-00000001004e4c84 mov w0, #0x3
-00000001004e4c88 mov w2, #0x8ed
-00000001004e4c8c bl 0x100144980
-00000001004e4c90 brk #0x1
-00000001004e4c94 b 0x1004e4ce4
-00000001004e4c98 b 0x1004e4ce4
-00000001004e4c9c b 0x1004e4ce4
-00000001004e4ca0 b 0x1004e4ce4
-00000001004e4ca4 b 0x1004e4ce4
-00000001004e4ca8 b 0x1004e4ce4
-00000001004e4cac b 0x1004e4ce4
-00000001004e4cb0 b 0x1004e4ce4
-00000001004e4cb4 b 0x1004e4ce4
-00000001004e4cb8 b 0x1004e4ce4
-00000001004e4cbc b 0x1004e4ce4
-00000001004e4cc0 b 0x1004e4ce4
-00000001004e4cc4 b 0x1004e4ce4
-00000001004e4cc8 b 0x1004e4ce4
-00000001004e4ccc b 0x1004e4ce4
-00000001004e4cd0 b 0x1004e4ce4
-00000001004e4cd4 b 0x1004e4ce4
-00000001004e4cd8 b 0x1004e4ce4
-00000001004e4cdc b 0x1004e4ce4
-00000001004e4ce0 b 0x1004e4ce4
+00000001004e4168 stp x26, x25, [sp, #-0x50]!
+00000001004e416c stp x24, x23, [sp, #0x10]
+00000001004e4170 stp x22, x21, [sp, #0x20]
+00000001004e4174 stp x20, x19, [sp, #0x30]
+00000001004e4178 stp x29, x30, [sp, #0x40]
+00000001004e417c add x29, sp, #0x40
+00000001004e4180 mov x21, x3
+00000001004e4184 mov x22, x2
+00000001004e4188 mov x23, x1
+00000001004e418c mov x19, x0
+00000001004e4190 bl 0x1004e6ad8 ; symbol stub for: ___error
+00000001004e4194 ldr w8, [x0]
+00000001004e4198 mov x20, x19
+00000001004e419c str w8, [x20], #0x8
+00000001004e41a0 bl 0x1004bbe74
+00000001004e41a4 mov x25, x0
+00000001004e41a8 mov x26, x1
+00000001004e41ac mov w0, #0x76f8
+00000001004e41b0 bl 0x1004e6a24 ; symbol stub for: __Znwm
+00000001004e41b4 mov x24, x0
+00000001004e41b8 and x5, x26, #0xffffffff
+00000001004e41bc mov x1, x23
+00000001004e41c0 mov x2, x22
+00000001004e41c4 mov x3, x21
+00000001004e41c8 mov x4, x25
+00000001004e41cc bl 0x1004a2a84
+00000001004e41d0 str x24, [x19, #0x8]
+00000001004e41d4 strh wzr, [x24, #0x80]
+00000001004e41d8 strb wzr, [x24, #0x82]
+00000001004e41dc mov x0, x19
+00000001004e41e0 bl 0x1004a2e40
+00000001004e41e4 mov x0, x19
+00000001004e41e8 ldp x29, x30, [sp, #0x40]
+00000001004e41ec ldp x20, x19, [sp, #0x30]
+00000001004e41f0 ldp x22, x21, [sp, #0x20]
+00000001004e41f4 ldp x24, x23, [sp, #0x10]
+00000001004e41f8 ldp x26, x25, [sp], #0x50
+00000001004e41fc ret
+00000001004e4200 mov x21, x0
+00000001004e4204 bl 0x1004a3714
+00000001004e4208 b 0x1004e4220
+00000001004e420c mov x21, x0
+00000001004e4210 mov x0, x24
+00000001004e4214 bl 0x1004e6a00 ; symbol stub for: __ZdlPv
+00000001004e4218 b 0x1004e4220
+00000001004e421c mov x21, x0
+00000001004e4220 ldr w19, [x19]
+00000001004e4224 bl 0x1004e6ad8 ; symbol stub for: ___error
+00000001004e4228 str w19, [x0]
+00000001004e422c mov x0, x21
+00000001004e4230 bl 0x1004e5c50 ; symbol stub for: __Unwind_Resume
+00000001004e4234 bl 0x1001a27e8
+00000001004e4238 b 0x1004e4168
+00000001004e423c stp x22, x21, [sp, #-0x30]!
+00000001004e4240 stp x20, x19, [sp, #0x10]
+00000001004e4244 stp x29, x30, [sp, #0x20]
+00000001004e4248 add x29, sp, #0x20
+00000001004e424c mov x19, x0
+00000001004e4250 mov x20, x0
+00000001004e4254 ldr x8, [x20, #0x8]!
+00000001004e4258 ldr w8, [x8, #0x28]
+00000001004e425c cmp w8, #0x3
+00000001004e4260 b.lt 0x1004e426c
+00000001004e4264 mov x0, x19
+00000001004e4268 bl 0x1004a2f90
+00000001004e426c bl 0x1004a3714
+00000001004e4270 ldr w20, [x19]
+00000001004e4274 bl 0x1004e6ad8 ; symbol stub for: ___error
+00000001004e4278 str w20, [x0]
+00000001004e427c mov x0, x19
+00000001004e4280 ldp x29, x30, [sp, #0x20]
+00000001004e4284 b 0x1004a36e8
+00000001004e4288 mov x21, x0
+00000001004e428c bl 0x1004a3714
+00000001004e4290 mov x0, x19
+00000001004e4294 bl 0x1004a2f60
+00000001004e4298 mov x0, x21
+00000001004e429c bl 0x1001a27e8
+00000001004e42a0 bl 0x1001a27e8
+00000001004e42a4 b 0x1004e423c
+00000001004e42a8 udf #0x0
+00000001004e42ac b 0x1004a36e0
+00000001004e42b0 stp x22, x21, [sp, #-0x30]!
+00000001004e42b4 stp x20, x19, [sp, #0x10]
+00000001004e42b8 stp x29, x30, [sp, #0x20]
+00000001004e42bc add x29, sp, #0x20
+00000001004e42c0 bl 0x1004a36cc
+00000001004e42c4 adrp x1, 277 ; 0x1005f9000
+00000001004e42c8 add x1, x1, #0x33d ; literal pool for: "Check failed: "
+00000001004e42cc mov w2, #0xe
+00000001004e42d0 bl 0x1004e655c ; symbol stub for: __ZN9GMSx_absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvNS_11string_viewE
+00000001004e42d4 bl 0x1004a36f4
+00000001004e42d8 adrp x1, 209 ; 0x1005b5000
+00000001004e42dc add x1, x1, #0x685 ; literal pool for: " "
+00000001004e42e0 bl 0x1004a371c
+00000001004e42e4 mov x0, x19
+00000001004e42e8 ldp x29, x30, [sp, #0x20]
+00000001004e42ec b 0x1004a36e8
+00000001004e42f0 bl 0x1004a3728
+00000001004e42f4 mov x0, x20
+00000001004e42f8 bl 0x1004e5c50 ; symbol stub for: __Unwind_Resume
+00000001004e42fc b 0x1004e42b0
+00000001004e4300 stp x22, x21, [sp, #-0x30]!
+00000001004e4304 stp x20, x19, [sp, #0x10]
+00000001004e4308 stp x29, x30, [sp, #0x20]
+00000001004e430c add x29, sp, #0x20
+00000001004e4310 bl 0x1004a36cc
+00000001004e4314 bl 0x1004a3704
+00000001004e4318 adrp x1, 277 ; 0x1005f9000
+00000001004e431c add x1, x1, #0x33d ; literal pool for: "Check failed: "
+00000001004e4320 mov w2, #0xe
+00000001004e4324 bl 0x1004e655c ; symbol stub for: __ZN9GMSx_absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvNS_11string_viewE
+00000001004e4328 bl 0x1004a36f4
+00000001004e432c adrp x1, 209 ; 0x1005b5000
+00000001004e4330 add x1, x1, #0x685 ; literal pool for: " "
+00000001004e4334 bl 0x1004a371c
+00000001004e4338 mov x0, x19
+00000001004e433c ldp x29, x30, [sp, #0x20]
+00000001004e4340 b 0x1004a36e8
+00000001004e4344 bl 0x1004a3728
+00000001004e4348 mov x0, x20
+00000001004e434c bl 0x1004e5c50 ; symbol stub for: __Unwind_Resume
+00000001004e4350 b 0x1004e4300
+00000001004e4354 sub sp, sp, #0x50
+00000001004e4358 stp x24, x23, [sp, #0x10]
+00000001004e435c stp x22, x21, [sp, #0x20]
+00000001004e4360 stp x20, x19, [sp, #0x30]
+00000001004e4364 stp x29, x30, [sp, #0x40]
+00000001004e4368 add x29, sp, #0x40
+00000001004e436c mov x19, x3
+00000001004e4370 mov x20, x2
+00000001004e4374 mov x21, x1
+00000001004e4378 mov x22, x0
+00000001004e437c adrp x23, 1068 ; 0x100910000
+00000001004e4380 ldr w8, [x23, #0xe84]
+00000001004e4384 cbz w8, 0x1004e43bc
+00000001004e4388 mov x0, x22
+00000001004e438c mov x1, x21
+00000001004e4390 mov x2, x20
+00000001004e4394 mov x3, #-0x1
+00000001004e4398 mov x4, x19
+00000001004e439c bl 0x1004b59fc
+00000001004e43a0 tbz w0, #0x0, 0x1004e43d4
+00000001004e43a4 ldp x29, x30, [sp, #0x40]
+00000001004e43a8 ldp x20, x19, [sp, #0x30]
+00000001004e43ac ldp x22, x21, [sp, #0x20]
+00000001004e43b0 ldp x24, x23, [sp, #0x10]
+00000001004e43b4 add sp, sp, #0x50
+00000001004e43b8 ret
+00000001004e43bc bl 0x100144438
+00000001004e43c0 cmp w0, #0x1
+00000001004e43c4 mov w8, #0x5dc
+00000001004e43c8 csinv w8, w8, wzr, gt
+00000001004e43cc str w8, [x23, #0xe84]
+00000001004e43d0 b 0x1004e4388
+00000001004e43d4 adrp x8, 345 ; 0x10063d000
+00000001004e43d8 add x8, x8, #0xd9 ; literal pool for: "condition untrue on return from LockSlow"
+00000001004e43dc adrp x9, 345 ; 0x10063d000
+00000001004e43e0 add x9, x9, #0x94 ; literal pool for: "this->LockSlowWithDeadline(how, cond, KernelTimeout::Never(), flags)"
+00000001004e43e4 stp x9, x8, [sp]
+00000001004e43e8 adrp x1, 344 ; 0x10063c000
+00000001004e43ec add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e43f0 adrp x3, 219 ; 0x1005bf000
+00000001004e43f4 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e43f8 mov w0, #0x3
+00000001004e43fc mov w2, #0x766
+00000001004e4400 bl 0x100144980
+00000001004e4404 brk #0x1
+00000001004e4408 sub sp, sp, #0x90
+00000001004e440c stp x28, x27, [sp, #0x30]
+00000001004e4410 stp x26, x25, [sp, #0x40]
+00000001004e4414 stp x24, x23, [sp, #0x50]
+00000001004e4418 stp x22, x21, [sp, #0x60]
+00000001004e441c stp x20, x19, [sp, #0x70]
+00000001004e4420 stp x29, x30, [sp, #0x80]
+00000001004e4424 add x29, sp, #0x80
+00000001004e4428 mov x20, x1
+00000001004e442c mov x19, x0
+00000001004e4430 bl 0x1001446d8
+00000001004e4434 cbz x0, 0x1004e4444
+00000001004e4438 ldr w8, [x0, #0x4c]
+00000001004e443c add w8, w8, #0x1
+00000001004e4440 str w8, [x0, #0x4c]
+00000001004e4444 cmp x0, #0x0
+00000001004e4448 cset w8, ne
+00000001004e444c strb w8, [sp, #0x28]
+00000001004e4450 ldr x21, [x19]
+00000001004e4454 mov x0, x19
+00000001004e4458 bl 0x1004b6744
+00000001004e445c adrp x1, 345 ; 0x10063d000
+00000001004e4460 add x1, x1, #0x1bf ; literal pool for: "Unlock"
+00000001004e4464 mov x0, x21
+00000001004e4468 bl 0x1004b638c
+00000001004e446c tbz w21, #0x4, 0x1004e4484
+00000001004e4470 tst x21, #0x8
+00000001004e4474 mov w8, #0x8
+00000001004e4478 cinc w1, w8, eq
+00000001004e447c mov x0, x19
+00000001004e4480 bl 0x1004b6158
+00000001004e4484 mov w25, #0x1
+00000001004e4488 str x25, [sp, #0x20]
+00000001004e448c cbz x20, 0x1004e44a4
+00000001004e4490 ldr x8, [x20, #0x20]
+00000001004e4494 ldr x9, [x8, #0x20]
+00000001004e4498 cbz x9, 0x1004e44a4
+00000001004e449c ldrb w8, [x8, #0x14]
+00000001004e44a0 cbz w8, 0x1004e4a6c
+00000001004e44a4 str xzr, [sp, #0x18]
+00000001004e44a8 mov x24, #0x0
+00000001004e44ac mov x26, #0x0
+00000001004e44b0 mov x27, #0x0
+00000001004e44b4 mov w23, #0x0
+00000001004e44b8 mov w21, #0x5
+00000001004e44bc mov x28, #-0x101
+00000001004e44c0 ldr x22, [x19]
+00000001004e44c4 tbz w22, #0x3, 0x1004e44d8
+00000001004e44c8 and x8, x22, #0x6
+00000001004e44cc cmp x8, #0x4
+00000001004e44d0 ccmp x20, #0x0, #0x0, ne
+00000001004e44d4 b.eq 0x1004e452c
+00000001004e44d8 and x8, x22, x21
+00000001004e44dc cmp x8, #0x1
+00000001004e44e0 ccmp x20, #0x0, #0x0, eq
+00000001004e44e4 b.eq 0x1004e4508
+00000001004e44e8 tbnz w22, #0x6, 0x1004e4550
+00000001004e44ec orr x8, x22, #0x40
+00000001004e44f0 ldaxr x9, [x19]
+00000001004e44f4 cmp x9, x22
+00000001004e44f8 b.ne 0x1004e454c
+00000001004e44fc stxr w9, x8, [x19]
+00000001004e4500 cbnz w9, 0x1004e44f0
+00000001004e4504 b 0x1004e4564
+00000001004e4508 cmp x22, #0x200
+00000001004e450c cinc x8, x28, hs
+00000001004e4510 add x8, x8, x22
+00000001004e4514 ldxr x9, [x19]
+00000001004e4518 cmp x9, x22
+00000001004e451c b.ne 0x1004e454c
+00000001004e4520 stlxr w9, x8, [x19]
+00000001004e4524 cbnz w9, 0x1004e4514
+00000001004e4528 b 0x1004e4a44
+00000001004e452c mov x8, #-0x29
+00000001004e4530 and x8, x22, x8
+00000001004e4534 ldxr x9, [x19]
+00000001004e4538 cmp x9, x22
+00000001004e453c b.ne 0x1004e454c
+00000001004e4540 stlxr w9, x8, [x19]
+00000001004e4544 cbnz w9, 0x1004e4534
+00000001004e4548 b 0x1004e4a44
+00000001004e454c clrex
+00000001004e4550 mov x0, x23
+00000001004e4554 mov w1, #0x0
+00000001004e4558 bl 0x1004b5370
+00000001004e455c mov x23, x0
+00000001004e4560 b 0x1004e44c0
+00000001004e4564 tbz w22, #0x2, 0x1004e4718
+00000001004e4568 and x21, x22, #0xffffffffffffff00
+00000001004e456c tbz w22, #0x0, 0x1004e4580
+00000001004e4570 ldr x8, [x21, #0x28]
+00000001004e4574 and x9, x8, #0xffffffffffffff00
+00000001004e4578 cmp x9, #0x101
+00000001004e457c b.ge 0x1004e47fc
+00000001004e4580 cbz x24, 0x1004e4594
+00000001004e4584 ldrb w8, [x21, #0x13]
+00000001004e4588 cbz w8, 0x1004e4ad4
+00000001004e458c ldrb w8, [x24, #0x10]
+00000001004e4590 cbz w8, 0x1004e46d0
+00000001004e4594 ldr x8, [x21]
+00000001004e4598 ldr x9, [x8, #0x20]
+00000001004e459c ldr x10, [x9]
+00000001004e45a0 adrp x11, 205 ; 0x1005b1000
+00000001004e45a4 add x11, x11, #0x810
+00000001004e45a8 cmp x10, x11
+00000001004e45ac b.ne 0x1004e45b8
+00000001004e45b0 ldr x9, [x9, #0x8]
+00000001004e45b4 cbz x9, 0x1004e4828
+00000001004e45b8 cbz x27, 0x1004e45d8
+00000001004e45bc ldr x8, [x27, #0x20]
+00000001004e45c0 ldr x8, [x8]
+00000001004e45c4 adrp x9, 205 ; 0x1005b1000
+00000001004e45c8 add x9, x9, #0x810
+00000001004e45cc cmp x8, x9
+00000001004e45d0 ccmp x24, x21, #0x4, ne
+00000001004e45d4 b.eq 0x1004e47f0
+00000001004e45d8 cmp x24, x21
+00000001004e45dc b.eq 0x1004e47bc
+00000001004e45e0 cmp x24, #0x0
+00000001004e45e4 csel x8, x21, x24, eq
+00000001004e45e8 ldr x28, [x8]
+00000001004e45ec strb wzr, [x21, #0x10]
+00000001004e45f0 ldr x8, [x21, #0x8]
+00000001004e45f4 cbnz x8, 0x1004e4aa0
+00000001004e45f8 strb w25, [x21, #0x13]
+00000001004e45fc stlr x22, [x19]
+00000001004e4600 mov x22, x24
+00000001004e4604 ldr x24, [sp, #0x18]
+00000001004e4608 strb wzr, [x28, #0x11]
+00000001004e460c ldr x8, [x28, #0x20]
+00000001004e4610 ldr x0, [x8, #0x8]
+00000001004e4614 cbz x0, 0x1004e4624
+00000001004e4618 ldr x8, [x0, #0x10]
+00000001004e461c blr x8
+00000001004e4620 cbz w0, 0x1004e4644
+00000001004e4624 cbz x27, 0x1004e4684
+00000001004e4628 ldr x8, [x28, #0x20]
+00000001004e462c ldr x8, [x8]
+00000001004e4630 adrp x9, 205 ; 0x1005b1000
+00000001004e4634 add x9, x9, #0x838
+00000001004e4638 cmp x8, x9
+00000001004e463c b.eq 0x1004e46ac
+00000001004e4640 mov w24, #0x20
+00000001004e4644 ldrb w8, [x28, #0x11]
+00000001004e4648 cbnz w8, 0x1004e46b0
+00000001004e464c ldr x8, [x28, #0x8]
+00000001004e4650 cbz x8, 0x1004e46b0
+00000001004e4654 ldr x9, [x8, #0x8]
+00000001004e4658 cbz x9, 0x1004e4678
+00000001004e465c mov x10, x28
+00000001004e4660 mov x0, x8
+00000001004e4664 mov x8, x9
+00000001004e4668 str x9, [x10, #0x8]
+00000001004e466c ldr x9, [x9, #0x8]
+00000001004e4670 mov x10, x0
+00000001004e4674 cbnz x9, 0x1004e4660
+00000001004e4678 str x8, [x28, #0x8]
+00000001004e467c mov x28, x8
+00000001004e4680 b 0x1004e46b0
+00000001004e4684 strb w25, [x28, #0x11]
+00000001004e4688 ldr x8, [x28, #0x20]
+00000001004e468c ldr x8, [x8]
+00000001004e4690 adrp x9, 205 ; 0x1005b1000
+00000001004e4694 add x9, x9, #0x810
+00000001004e4698 cmp x8, x9
+00000001004e469c b.eq 0x1004e4700
+00000001004e46a0 mov x27, x28
+00000001004e46a4 mov x26, x22
+00000001004e46a8 b 0x1004e46b0
+00000001004e46ac strb w25, [x28, #0x11]
+00000001004e46b0 cmp x28, x21
+00000001004e46b4 b.eq 0x1004e46c4
+00000001004e46b8 mov x22, x28
+00000001004e46bc ldr x28, [x28]
+00000001004e46c0 b 0x1004e4608
+00000001004e46c4 str x24, [sp, #0x18]
+00000001004e46c8 mov x24, x21
+00000001004e46cc b 0x1004e44b8
+00000001004e46d0 strb w25, [x24, #0x10]
+00000001004e46d4 ldr x8, [x24, #0x8]
+00000001004e46d8 cbnz x8, 0x1004e4b3c
+00000001004e46dc cmp x24, x21
+00000001004e46e0 b.eq 0x1004e4594
+00000001004e46e4 ldr x28, [x24]
+00000001004e46e8 mov x0, x24
+00000001004e46ec mov x1, x28
+00000001004e46f0 bl 0x1004b5790
+00000001004e46f4 cbz w0, 0x1004e4594
+00000001004e46f8 str x28, [x24, #0x8]
+00000001004e46fc b 0x1004e4594
+00000001004e4700 mov w8, #0x20
+00000001004e4704 str x8, [sp, #0x18]
+00000001004e4708 mov x24, x21
+00000001004e470c mov x26, x22
+00000001004e4710 mov x27, x28
+00000001004e4714 b 0x1004e44b8
+00000001004e4718 cbz x20, 0x1004e4b70
+00000001004e471c mov w8, #0x1
+00000001004e4720 mov x22, #-0x1f8
+00000001004e4724 mov w23, #-0x29
+00000001004e4728 mov w24, #-0x22
+00000001004e472c mov w25, #0x9f
+00000001004e4730 ldr x26, [x19]
+00000001004e4734 sub x9, x26, #0x100
+00000001004e4738 cmp x26, #0xff
+00000001004e473c csel x21, x9, x26, gt
+00000001004e4740 tbz w8, #0x0, 0x1004e4768
+00000001004e4744 ldr x27, [x20, #0x28]
+00000001004e4748 mov x0, #0x0
+00000001004e474c mov x1, x20
+00000001004e4750 mov x2, x21
+00000001004e4754 mov w3, #0x2
+00000001004e4758 bl 0x1004b6420
+00000001004e475c cmp x27, #0x0
+00000001004e4760 cset w8, eq
+00000001004e4764 b 0x1004e4770
+00000001004e4768 mov w8, #0x0
+00000001004e476c mov x0, #0x0
+00000001004e4770 tst x26, x22
+00000001004e4774 csel w9, w24, w23, eq
+00000001004e4778 orr x10, x0, #0x4
+00000001004e477c and x11, x21, #0xffffffffffffff00
+00000001004e4780 cmp x0, #0x0
+00000001004e4784 csel x10, x11, x10, eq
+00000001004e4788 ldxr x11, [x19]
+00000001004e478c cmp x11, x26
+00000001004e4790 b.ne 0x1004e47ac
+00000001004e4794 and w9, w26, w9
+00000001004e4798 and x9, x9, x25
+00000001004e479c orr x9, x10, x9
+00000001004e47a0 stlxr w10, x9, [x19]
+00000001004e47a4 cbnz w10, 0x1004e4730
+00000001004e47a8 b 0x1004e47b4
+00000001004e47ac clrex
+00000001004e47b0 b 0x1004e4730
+00000001004e47b4 mov x20, #0x0
+00000001004e47b8 b 0x1004e4964
+00000001004e47bc str xzr, [x24, #0x28]
+00000001004e47c0 strb wzr, [x24, #0x13]
+00000001004e47c4 cbz x20, 0x1004e4958
+00000001004e47c8 mov x0, x24
+00000001004e47cc bl 0x1004b6b98
+00000001004e47d0 mov x20, #0x0
+00000001004e47d4 mov w8, #0xd6
+00000001004e47d8 and x8, x22, x8
+00000001004e47dc orr x9, x0, #0x4
+00000001004e47e0 cmp x0, #0x0
+00000001004e47e4 csel x9, xzr, x9, eq
+00000001004e47e8 orr x22, x9, x8
+00000001004e47ec b 0x1004e4960
+00000001004e47f0 cmp x26, #0x0
+00000001004e47f4 csel x23, x21, x26, eq
+00000001004e47f8 b 0x1004e4840
+00000001004e47fc sub x8, x8, #0x100
+00000001004e4800 str x8, [x21, #0x28]
+00000001004e4804 cbz x20, 0x1004e4960
+00000001004e4808 mov x0, x21
+00000001004e480c bl 0x1004b6b98
+00000001004e4810 cbz x0, 0x1004e4c18
+00000001004e4814 mov x20, #0x0
+00000001004e4818 and x8, x22, #0xff
+00000001004e481c orr x8, x8, x0
+00000001004e4820 orr x22, x8, #0x4
+00000001004e4824 b 0x1004e4960
+00000001004e4828 mov w9, #0x1
+00000001004e482c strb w9, [x8, #0x11]
+00000001004e4830 mov w9, #0x20
+00000001004e4834 str x9, [sp, #0x18]
+00000001004e4838 mov x23, x21
+00000001004e483c mov x27, x8
+00000001004e4840 ldr x8, [x23]
+00000001004e4844 cmp x8, x27
+00000001004e4848 b.ne 0x1004e4ba4
+00000001004e484c mov w25, #0x0
+00000001004e4850 add x24, sp, #0x20
+00000001004e4854 ldrb w8, [x27, #0x11]
+00000001004e4858 cbz w8, 0x1004e48a0
+00000001004e485c ldr x8, [x23, #0x8]
+00000001004e4860 cbnz x8, 0x1004e4b08
+00000001004e4864 mov x0, x21
+00000001004e4868 mov x1, x23
+00000001004e486c bl 0x1004b57cc
+00000001004e4870 ldr x8, [x24]
+00000001004e4874 str x8, [x27]
+00000001004e4878 str x27, [x24]
+00000001004e487c ldr x8, [x27, #0x20]
+00000001004e4880 ldr x8, [x8]
+00000001004e4884 adrp x9, 205 ; 0x1005b1000
+00000001004e4888 add x9, x9, #0x810
+00000001004e488c cmp x8, x9
+00000001004e4890 ccmp x0, x21, #0x0, ne
+00000001004e4894 mov x24, x27
+00000001004e4898 b.eq 0x1004e48e0
+00000001004e489c b 0x1004e48f4
+00000001004e48a0 ldr x23, [x27, #0x8]
+00000001004e48a4 cbz x23, 0x1004e48d8
+00000001004e48a8 ldr x8, [x23, #0x8]
+00000001004e48ac cbz x8, 0x1004e48cc
+00000001004e48b0 mov x9, x27
+00000001004e48b4 mov x0, x23
+00000001004e48b8 mov x23, x8
+00000001004e48bc str x8, [x9, #0x8]
+00000001004e48c0 ldr x8, [x8, #0x8]
+00000001004e48c4 mov x9, x0
+00000001004e48c8 cbnz x8, 0x1004e48b4
+00000001004e48cc str x23, [x27, #0x8]
+00000001004e48d0 mov w25, #0x1
+00000001004e48d4 b 0x1004e48e0
+00000001004e48d8 mov w25, #0x1
+00000001004e48dc mov x23, x27
+00000001004e48e0 cmp x23, x21
+00000001004e48e4 b.ne 0x1004e48ec
+00000001004e48e8 tbnz w25, #0x0, 0x1004e48f8
+00000001004e48ec ldr x27, [x23]
+00000001004e48f0 b 0x1004e4854
+00000001004e48f4 mov x21, x0
+00000001004e48f8 ldr x23, [sp, #0x18]
+00000001004e48fc cbz x20, 0x1004e490c
+00000001004e4900 mov x0, x21
+00000001004e4904 bl 0x1004b6b98
+00000001004e4908 mov x21, x0
+00000001004e490c ldr x8, [sp, #0x20]
+00000001004e4910 cmp x8, #0x1
+00000001004e4914 b.eq 0x1004e4bd8
+00000001004e4918 and x22, x22, #0x10
+00000001004e491c cbz x21, 0x1004e494c
+00000001004e4920 str xzr, [x21, #0x28]
+00000001004e4924 strb wzr, [x21, #0x13]
+00000001004e4928 bl 0x1001446d8
+00000001004e492c mov x20, x0
+00000001004e4930 cbz x0, 0x1004e4c0c
+00000001004e4934 orr x8, x22, x23
+00000001004e4938 orr x8, x8, x21
+00000001004e493c orr x22, x8, #0x6
+00000001004e4940 mov w8, #0x1
+00000001004e4944 strb w8, [x20, #0x58]
+00000001004e4948 b 0x1004e4960
+00000001004e494c mov x20, #0x0
+00000001004e4950 orr x22, x22, #0x2
+00000001004e4954 b 0x1004e4960
+00000001004e4958 mov x8, #-0x2a
+00000001004e495c and x22, x22, x8
+00000001004e4960 stlr x22, [x19]
+00000001004e4964 ldr x24, [sp, #0x20]
+00000001004e4968 cmp x24, #0x1
+00000001004e496c b.eq 0x1004e4a3c
+00000001004e4970 bl 0x1001442a4
+00000001004e4974 mov x23, x0
+00000001004e4978 mov x21, #0x0
+00000001004e497c mov w25, #0x0
+00000001004e4980 mov x22, #0x0
+00000001004e4984 mov w26, #0x1
+00000001004e4988 ldrb w8, [x24, #0x12]
+00000001004e498c cbnz w8, 0x1004e49b8
+00000001004e4990 ldr x8, [x24, #0x20]
+00000001004e4994 ldr x9, [x8, #0x30]
+00000001004e4998 sub x9, x23, x9
+00000001004e499c add x22, x9, x22
+00000001004e49a0 cmp x21, #0x0
+00000001004e49a4 csel x21, x9, x21, eq
+00000001004e49a8 str x23, [x8, #0x30]
+00000001004e49ac ldr x8, [x24, #0x20]
+00000001004e49b0 strb w26, [x8, #0x38]
+00000001004e49b4 add w25, w25, #0x1
+00000001004e49b8 ldr x27, [x24]
+00000001004e49bc mov x8, x24
+00000001004e49c0 str xzr, [x8], #0x1c
+00000001004e49c4 stlr wzr, [x8]
+00000001004e49c8 mov x0, x24
+00000001004e49cc bl 0x100497f28
+00000001004e49d0 str x27, [sp, #0x20]
+00000001004e49d4 mov x24, x27
+00000001004e49d8 cmp x27, #0x1
+00000001004e49dc b.ne 0x1004e4988
+00000001004e49e0 cmp x22, #0x1
+00000001004e49e4 b.lt 0x1004e4a3c
+00000001004e49e8 adrp x8, 1058 ; 0x100906000
+00000001004e49ec add x8, x8, #0x350
+00000001004e49f0 ldar x8, [x8]
+00000001004e49f4 adrp x0, 345 ; 0x10063d000
+00000001004e49f8 add x0, x0, #0x358 ; literal pool for: "slow release"
+00000001004e49fc mov x1, x19
+00000001004e4a00 mov x2, x22
+00000001004e4a04 blr x8
+00000001004e4a08 adrp x8, 1058 ; 0x100906000
+00000001004e4a0c add x8, x8, #0x340
+00000001004e4a10 ldar x8, [x8]
+00000001004e4a14 mov x0, x22
+00000001004e4a18 blr x8
+00000001004e4a1c adrp x8, 1058 ; 0x100906000
+00000001004e4a20 add x8, x8, #0x330
+00000001004e4a24 ldar x8, [x8]
+00000001004e4a28 sxtw x3, w25
+00000001004e4a2c mov x0, x19
+00000001004e4a30 mov x1, x22
+00000001004e4a34 mov x2, x21
+00000001004e4a38 blr x8
+00000001004e4a3c cbz x20, 0x1004e4a44
+00000001004e4a40 strb wzr, [x20, #0x58]
+00000001004e4a44 add x0, sp, #0x28
+00000001004e4a48 bl 0x100498a80
+00000001004e4a4c ldp x29, x30, [sp, #0x80]
+00000001004e4a50 ldp x20, x19, [sp, #0x70]
+00000001004e4a54 ldp x22, x21, [sp, #0x60]
+00000001004e4a58 ldp x24, x23, [sp, #0x50]
+00000001004e4a5c ldp x26, x25, [sp, #0x40]
+00000001004e4a60 ldp x28, x27, [sp, #0x30]
+00000001004e4a64 add sp, sp, #0x90
+00000001004e4a68 ret
+00000001004e4a6c adrp x8, 345 ; 0x10063d000
+00000001004e4a70 add x8, x8, #0x14a ; literal pool for: "detected illegal recursion into Mutex code"
+00000001004e4a74 adrp x9, 345 ; 0x10063d000
+00000001004e4a78 add x9, x9, #0x1c6 ; literal pool for: "waitp == nullptr || waitp->thread->waitp == nullptr || waitp->thread->suppress_fatal_errors"
+00000001004e4a7c stp x9, x8, [sp]
+00000001004e4a80 adrp x1, 344 ; 0x10063c000
+00000001004e4a84 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4a88 adrp x3, 219 ; 0x1005bf000
+00000001004e4a8c add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4a90 mov w0, #0x3
+00000001004e4a94 mov w2, #0x8a4
+00000001004e4a98 bl 0x100144980
+00000001004e4a9c b 0x1004e4c48
+00000001004e4aa0 adrp x8, 345 ; 0x10063d000
+00000001004e4aa4 add x8, x8, #0x2cd ; literal pool for: "illegal skip from head"
+00000001004e4aa8 adrp x9, 345 ; 0x10063d000
+00000001004e4aac add x9, x9, #0x2e4 ; literal pool for: "h->skip == nullptr"
+00000001004e4ab0 stp x9, x8, [sp]
+00000001004e4ab4 adrp x1, 344 ; 0x10063c000
+00000001004e4ab8 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4abc adrp x3, 219 ; 0x1005bf000
+00000001004e4ac0 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4ac4 mov w0, #0x3
+00000001004e4ac8 mov w2, #0x93f
+00000001004e4acc bl 0x100144980
+00000001004e4ad0 b 0x1004e4c48
+00000001004e4ad4 adrp x8, 345 ; 0x10063d000
+00000001004e4ad8 add x8, x8, #0x297 ; literal pool for: "Mutex queue changed beneath us"
+00000001004e4adc adrp x9, 345 ; 0x10063d000
+00000001004e4ae0 add x9, x9, #0x270 ; literal pool for: "old_h == nullptr || h->maybe_unlocking"
+00000001004e4ae4 stp x9, x8, [sp]
+00000001004e4ae8 adrp x1, 344 ; 0x10063c000
+00000001004e4aec add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4af0 adrp x3, 219 ; 0x1005bf000
+00000001004e4af4 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4af8 mov w0, #0x3
+00000001004e4afc mov w2, #0x8f9
+00000001004e4b00 bl 0x100144980
+00000001004e4b04 b 0x1004e4c48
+00000001004e4b08 adrp x8, 345 ; 0x10063d000
+00000001004e4b0c add x8, x8, #0x6b9 ; literal pool for: "bad skip in DequeueAllWakeable"
+00000001004e4b10 adrp x9, 345 ; 0x10063d000
+00000001004e4b14 add x9, x9, #0x6a5 ; literal pool for: "pw->skip == nullptr"
+00000001004e4b18 stp x9, x8, [sp]
+00000001004e4b1c adrp x1, 344 ; 0x10063c000
+00000001004e4b20 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4b24 adrp x3, 219 ; 0x1005bf000
+00000001004e4b28 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4b2c mov w0, #0x3
+00000001004e4b30 mov w2, #0x461
+00000001004e4b34 bl 0x100144980
+00000001004e4b38 b 0x1004e4c48
+00000001004e4b3c adrp x8, 345 ; 0x10063d000
+00000001004e4b40 add x8, x8, #0x2cd ; literal pool for: "illegal skip from head"
+00000001004e4b44 adrp x9, 345 ; 0x10063d000
+00000001004e4b48 add x9, x9, #0x2b6 ; literal pool for: "old_h->skip == nullptr"
+00000001004e4b4c stp x9, x8, [sp]
+00000001004e4b50 adrp x1, 344 ; 0x10063c000
+00000001004e4b54 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4b58 adrp x3, 219 ; 0x1005bf000
+00000001004e4b5c add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4b60 mov w0, #0x3
+00000001004e4b64 mov w2, #0x8ff
+00000001004e4b68 bl 0x100144980
+00000001004e4b6c b 0x1004e4c48
+00000001004e4b70 adrp x8, 345 ; 0x10063d000
+00000001004e4b74 add x8, x8, #0x233 ; literal pool for: "UnlockSlow is confused"
+00000001004e4b78 adrp x9, 345 ; 0x10063d000
+00000001004e4b7c add x9, x9, #0x222 ; literal pool for: "waitp != nullptr"
+00000001004e4b80 stp x9, x8, [sp]
+00000001004e4b84 adrp x1, 344 ; 0x10063c000
+00000001004e4b88 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4b8c adrp x3, 219 ; 0x1005bf000
+00000001004e4b90 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4b94 mov w0, #0x3
+00000001004e4b98 mov w2, #0x8c1
+00000001004e4b9c bl 0x100144980
+00000001004e4ba0 b 0x1004e4c48
+00000001004e4ba4 adrp x8, 345 ; 0x10063d000
+00000001004e4ba8 add x8, x8, #0x305 ; literal pool for: "pw not w's predecessor"
+00000001004e4bac adrp x9, 345 ; 0x10063d000
+00000001004e4bb0 add x9, x9, #0x2f7 ; literal pool for: "pw->next == w"
+00000001004e4bb4 stp x9, x8, [sp]
+00000001004e4bb8 adrp x1, 344 ; 0x10063c000
+00000001004e4bbc add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4bc0 adrp x3, 219 ; 0x1005bf000
+00000001004e4bc4 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4bc8 mov w0, #0x3
+00000001004e4bcc mov w2, #0x978
+00000001004e4bd0 bl 0x100144980
+00000001004e4bd4 b 0x1004e4c48
+00000001004e4bd8 adrp x8, 345 ; 0x10063d000
+00000001004e4bdc add x8, x8, #0x33d ; literal pool for: "unexpected empty wake list"
+00000001004e4be0 adrp x9, 345 ; 0x10063d000
+00000001004e4be4 add x9, x9, #0x31c ; literal pool for: "wake_list != kPerThreadSynchNull"
+00000001004e4be8 stp x9, x8, [sp]
+00000001004e4bec adrp x1, 344 ; 0x10063c000
+00000001004e4bf0 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4bf4 adrp x3, 219 ; 0x1005bf000
+00000001004e4bf8 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4bfc mov w0, #0x3
+00000001004e4c00 mov w2, #0x98f
+00000001004e4c04 bl 0x100144980
+00000001004e4c08 b 0x1004e4c48
+00000001004e4c0c bl 0x1004b4cc4
+00000001004e4c10 mov x20, x0
+00000001004e4c14 b 0x1004e4934
+00000001004e4c18 adrp x8, 345 ; 0x10063d000
+00000001004e4c1c add x8, x8, #0x24a ; literal pool for: "waiters disappeared during Enqueue()!"
+00000001004e4c20 adrp x9, 345 ; 0x10063d000
+00000001004e4c24 add x9, x9, #0x17a ; literal pool for: "new_h != nullptr"
+00000001004e4c28 stp x9, x8, [sp]
+00000001004e4c2c adrp x1, 344 ; 0x10063c000
+00000001004e4c30 add x1, x1, #0xff5 ; literal pool for: "mutex.cc"
+00000001004e4c34 adrp x3, 219 ; 0x1005bf000
+00000001004e4c38 add x3, x3, #0xc16 ; literal pool for: "Check %s failed: %s"
+00000001004e4c3c mov w0, #0x3
+00000001004e4c40 mov w2, #0x8ed
+00000001004e4c44 bl 0x100144980
+00000001004e4c48 brk #0x1
+00000001004e4c4c b 0x1004e4c9c
+00000001004e4c50 b 0x1004e4c9c
+00000001004e4c54 b 0x1004e4c9c
+00000001004e4c58 b 0x1004e4c9c
+00000001004e4c5c b 0x1004e4c9c
+00000001004e4c60 b 0x1004e4c9c
+00000001004e4c64 b 0x1004e4c9c
+00000001004e4c68 b 0x1004e4c9c
+00000001004e4c6c b 0x1004e4c9c
+00000001004e4c70 b 0x1004e4c9c
+00000001004e4c74 b 0x1004e4c9c
+00000001004e4c78 b 0x1004e4c9c
+00000001004e4c7c b 0x1004e4c9c
+00000001004e4c80 b 0x1004e4c9c
+00000001004e4c84 b 0x1004e4c9c
+00000001004e4c88 b 0x1004e4c9c
+00000001004e4c8c b 0x1004e4c9c
+00000001004e4c90 b 0x1004e4c9c
+00000001004e4c94 b 0x1004e4c9c
+00000001004e4c98 b 0x1004e4c9c
+00000001004e4c9c mov x19, x0
+00000001004e4ca0 add x0, sp, #0x28
+00000001004e4ca4 bl 0x100498a80
+00000001004e4ca8 mov x0, x19
+00000001004e4cac bl 0x1004e5c50 ; symbol stub for: __Unwind_Resume
+00000001004e4cb0 sub sp, sp, #0x70
+00000001004e4cb4 stp x22, x21, [sp, #0x40]
+00000001004e4cb8 stp x20, x19, [sp, #0x50]
+00000001004e4cbc stp x29, x30, [sp, #0x60]
+00000001004e4cc0 add x29, sp, #0x60
+00000001004e4cc4 adrp x8, 646 ; 0x10076a000
+00000001004e4cc8 ldr x8, [x8, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4ccc ldr x8, [x8]
+00000001004e4cd0 stur x8, [x29, #-0x28]
+00000001004e4cd4 adrp x8, 1058 ; 0x100906000
+00000001004e4cd8 add x8, x8, #0x368
+00000001004e4cdc bl 0x1004bb720
+00000001004e4ce0 b.lt 0x1004e4d18
00000001004e4ce4 mov x19, x0
-00000001004e4ce8 add x0, sp, #0x28
-00000001004e4cec bl 0x100498a80
-00000001004e4cf0 mov x0, x19
-00000001004e4cf4 bl 0x1004e5c98 ; symbol stub for: __Unwind_Resume
-00000001004e4cf8 sub sp, sp, #0x70
-00000001004e4cfc stp x22, x21, [sp, #0x40]
-00000001004e4d00 stp x20, x19, [sp, #0x50]
-00000001004e4d04 stp x29, x30, [sp, #0x60]
-00000001004e4d08 add x29, sp, #0x60
-00000001004e4d0c adrp x8, 646 ; 0x10076a000
-00000001004e4d10 ldr x8, [x8, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4d14 ldr x8, [x8]
-00000001004e4d18 stur x8, [x29, #-0x28]
-00000001004e4d1c adrp x8, 1058 ; 0x100906000
-00000001004e4d20 add x8, x8, #0x368
-00000001004e4d24 bl 0x1004bb720
-00000001004e4d28 b.lt 0x1004e4d60
-00000001004e4d2c mov x19, x0
-00000001004e4d30 bl 0x1004bb6d0
-00000001004e4d34 bl 0x1004bb714
-00000001004e4d38 cbz x14, 0x1004e4d40
-00000001004e4d3c bl 0x1004bb6f4
-00000001004e4d40 bl 0x1004bb6e4
-00000001004e4d44 b.gt 0x1004e4d34
-00000001004e4d48 cmp w9, #0x1
-00000001004e4d4c b.lt 0x1004e4d60
-00000001004e4d50 bl 0x1004bb750
-00000001004e4d54 bl 0x1004bb72c
-00000001004e4d58 subs x20, x20, #0x1
-00000001004e4d5c b.ne 0x1004e4d54
-00000001004e4d60 ldur x8, [x29, #-0x28]
-00000001004e4d64 adrp x9, 646 ; 0x10076a000
-00000001004e4d68 ldr x9, [x9, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4d6c ldr x9, [x9]
-00000001004e4d70 cmp x9, x8
-00000001004e4d74 b.ne 0x1004e4d80
-00000001004e4d78 ldp x29, x30, [sp, #0x60]
-00000001004e4d7c b 0x1004bb704
-00000001004e4d80 bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
-00000001004e4d84 sub sp, sp, #0x70
-00000001004e4d88 stp x22, x21, [sp, #0x40]
-00000001004e4d8c stp x20, x19, [sp, #0x50]
-00000001004e4d90 stp x29, x30, [sp, #0x60]
-00000001004e4d94 add x29, sp, #0x60
-00000001004e4d98 adrp x8, 646 ; 0x10076a000
-00000001004e4d9c ldr x8, [x8, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4da0 ldr x8, [x8]
-00000001004e4da4 stur x8, [x29, #-0x28]
-00000001004e4da8 adrp x8, 1086 ; 0x100922000
-00000001004e4dac add x8, x8, #0xd00
-00000001004e4db0 bl 0x1004bb720
-00000001004e4db4 b.lt 0x1004e4dec
-00000001004e4db8 mov x19, x0
-00000001004e4dbc bl 0x1004bb6d0
-00000001004e4dc0 bl 0x1004bb714
-00000001004e4dc4 cbz x14, 0x1004e4dcc
-00000001004e4dc8 bl 0x1004bb6f4
-00000001004e4dcc bl 0x1004bb6e4
-00000001004e4dd0 b.gt 0x1004e4dc0
-00000001004e4dd4 cmp w9, #0x1
-00000001004e4dd8 b.lt 0x1004e4dec
-00000001004e4ddc bl 0x1004bb750
-00000001004e4de0 bl 0x1004bb72c
-00000001004e4de4 subs x20, x20, #0x1
-00000001004e4de8 b.ne 0x1004e4de0
-00000001004e4dec ldur x8, [x29, #-0x28]
-00000001004e4df0 adrp x9, 646 ; 0x10076a000
-00000001004e4df4 ldr x9, [x9, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4df8 ldr x9, [x9]
-00000001004e4dfc cmp x9, x8
-00000001004e4e00 b.ne 0x1004e4e0c
-00000001004e4e04 ldp x29, x30, [sp, #0x60]
-00000001004e4e08 b 0x1004bb704
-00000001004e4e0c bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
-00000001004e4e10 sub sp, sp, #0x90
-00000001004e4e14 stp x26, x25, [sp, #0x40]
-00000001004e4e18 stp x24, x23, [sp, #0x50]
-00000001004e4e1c stp x22, x21, [sp, #0x60]
-00000001004e4e20 stp x20, x19, [sp, #0x70]
-00000001004e4e24 stp x29, x30, [sp, #0x80]
-00000001004e4e28 add x29, sp, #0x80
-00000001004e4e2c adrp x8, 646 ; 0x10076a000
-00000001004e4e30 ldr x8, [x8, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4e34 ldr x8, [x8]
-00000001004e4e38 str x8, [sp, #0x38]
-00000001004e4e3c adrp x8, 1058 ; 0x100906000
-00000001004e4e40 add x8, x8, #0x3a8
-00000001004e4e44 bl 0x1004bb720
-00000001004e4e48 b.lt 0x1004e4eb4
-00000001004e4e4c mov x19, x5
-00000001004e4e50 mov x20, x4
-00000001004e4e54 mov x21, x3
-00000001004e4e58 mov x22, x2
-00000001004e4e5c mov x23, x1
-00000001004e4e60 mov x24, x0
-00000001004e4e64 bl 0x1004bb6d0
-00000001004e4e68 bl 0x1004bb714
-00000001004e4e6c cbz x14, 0x1004e4e74
-00000001004e4e70 bl 0x1004bb6f4
-00000001004e4e74 bl 0x1004bb6e4
-00000001004e4e78 b.gt 0x1004e4e68
-00000001004e4e7c cmp w9, #0x1
-00000001004e4e80 b.lt 0x1004e4eb4
-00000001004e4e84 mov w25, w9
-00000001004e4e88 mov x26, sp
-00000001004e4e8c ldr x8, [x26], #0x8
-00000001004e4e90 mov x0, x24
-00000001004e4e94 mov x1, x23
-00000001004e4e98 mov x2, x22
-00000001004e4e9c mov x3, x21
-00000001004e4ea0 mov x4, x20
-00000001004e4ea4 mov x5, x19
-00000001004e4ea8 blr x8
-00000001004e4eac subs x25, x25, #0x1
-00000001004e4eb0 b.ne 0x1004e4e8c
-00000001004e4eb4 ldr x8, [sp, #0x38]
-00000001004e4eb8 adrp x9, 646 ; 0x10076a000
-00000001004e4ebc ldr x9, [x9, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4ec0 ldr x9, [x9]
-00000001004e4ec4 cmp x9, x8
-00000001004e4ec8 b.ne 0x1004e4ed4
-00000001004e4ecc ldp x29, x30, [sp, #0x80]
-00000001004e4ed0 b 0x1004bb738
-00000001004e4ed4 bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
-00000001004e4ed8 udf #0x0
-00000001004e4edc sub sp, sp, #0x50
-00000001004e4ee0 stp x29, x30, [sp, #0x40]
-00000001004e4ee4 add x29, sp, #0x40
-00000001004e4ee8 adrp x8, 646 ; 0x10076a000
-00000001004e4eec ldr x8, [x8, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4ef0 ldr x8, [x8]
-00000001004e4ef4 stur x8, [x29, #-0x8]
-00000001004e4ef8 adrp x8, 1086 ; 0x100922000
-00000001004e4efc add x8, x8, #0xd40
-00000001004e4f00 ldar w9, [x8]
-00000001004e4f04 cmp w9, #0x1
-00000001004e4f08 b.lt 0x1004e4f50
-00000001004e4f0c bl 0x1004bb75c
-00000001004e4f10 bl 0x1004bb714
-00000001004e4f14 cbz x14, 0x1004e4f24
-00000001004e4f18 str x14, [x12], #0x8
-00000001004e4f1c add w10, w10, #0x1
-00000001004e4f20 sub w11, w11, #0x1
-00000001004e4f24 cmp x13, x9
-00000001004e4f28 add x13, x13, #0x1
-00000001004e4f2c ccmp w11, #0x0, #0x4, lo
-00000001004e4f30 b.gt 0x1004e4f10
-00000001004e4f34 cmp w10, #0x1
-00000001004e4f38 b.lt 0x1004e4f50
-00000001004e4f3c ldr x8, [sp]
-00000001004e4f40 blr x8
-00000001004e4f44 cmp w0, #0x0
-00000001004e4f48 cset w0, ne
-00000001004e4f4c b 0x1004e4f54
-00000001004e4f50 mov w0, #0x0
-00000001004e4f54 ldur x8, [x29, #-0x8]
-00000001004e4f58 adrp x9, 646 ; 0x10076a000
-00000001004e4f5c ldr x9, [x9, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4f60 ldr x9, [x9]
-00000001004e4f64 cmp x9, x8
-00000001004e4f68 b.ne 0x1004e4f78
-00000001004e4f6c ldp x29, x30, [sp, #0x40]
-00000001004e4f70 add sp, sp, #0x50
-00000001004e4f74 ret
-00000001004e4f78 bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
-00000001004e4f7c sub sp, sp, #0x70
-00000001004e4f80 stp x22, x21, [sp, #0x40]
-00000001004e4f84 stp x20, x19, [sp, #0x50]
-00000001004e4f88 stp x29, x30, [sp, #0x60]
-00000001004e4f8c add x29, sp, #0x60
-00000001004e4f90 adrp x8, 646 ; 0x10076a000
-00000001004e4f94 ldr x8, [x8, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4f98 ldr x8, [x8]
-00000001004e4f9c stur x8, [x29, #-0x28]
-00000001004e4fa0 adrp x8, 1058 ; 0x100906000
-00000001004e4fa4 add x8, x8, #0x3e8
-00000001004e4fa8 bl 0x1004bb720
-00000001004e4fac b.lt 0x1004e4fe4
-00000001004e4fb0 mov x19, x0
-00000001004e4fb4 bl 0x1004bb6d0
-00000001004e4fb8 bl 0x1004bb714
-00000001004e4fbc cbz x14, 0x1004e4fc4
-00000001004e4fc0 bl 0x1004bb6f4
-00000001004e4fc4 bl 0x1004bb6e4
-00000001004e4fc8 b.gt 0x1004e4fb8
-00000001004e4fcc cmp w9, #0x1
-00000001004e4fd0 b.lt 0x1004e4fe4
-00000001004e4fd4 bl 0x1004bb750
-00000001004e4fd8 bl 0x1004bb72c
-00000001004e4fdc subs x20, x20, #0x1
-00000001004e4fe0 b.ne 0x1004e4fd8
-00000001004e4fe4 ldur x8, [x29, #-0x28]
-00000001004e4fe8 adrp x9, 646 ; 0x10076a000
-00000001004e4fec ldr x9, [x9, #0x10] ; literal pool symbol address: ___stack_chk_guard
-00000001004e4ff0 ldr x9, [x9]
-00000001004e4ff4 cmp x9, x8
-00000001004e4ff8 b.ne 0x1004e5004
-00000001004e4ffc ldp x29, x30, [sp, #0x60]
-00000001004e5000 b 0x1004bb704
-00000001004e5004 bl 0x1004e6b5c ; symbol stub for: ___stack_chk_fail
+00000001004e4ce8 bl 0x1004bb6d0
+00000001004e4cec bl 0x1004bb714
+00000001004e4cf0 cbz x14, 0x1004e4cf8
+00000001004e4cf4 bl 0x1004bb6f4
+00000001004e4cf8 bl 0x1004bb6e4
+00000001004e4cfc b.gt 0x1004e4cec
+00000001004e4d00 cmp w9, #0x1
+00000001004e4d04 b.lt 0x1004e4d18
+00000001004e4d08 bl 0x1004bb750
+00000001004e4d0c bl 0x1004bb72c
+00000001004e4d10 subs x20, x20, #0x1
+00000001004e4d14 b.ne 0x1004e4d0c
+00000001004e4d18 ldur x8, [x29, #-0x28]
+00000001004e4d1c adrp x9, 646 ; 0x10076a000
+00000001004e4d20 ldr x9, [x9, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4d24 ldr x9, [x9]
+00000001004e4d28 cmp x9, x8
+00000001004e4d2c b.ne 0x1004e4d38
+00000001004e4d30 ldp x29, x30, [sp, #0x60]
+00000001004e4d34 b 0x1004bb704
+00000001004e4d38 bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
+00000001004e4d3c sub sp, sp, #0x70
+00000001004e4d40 stp x22, x21, [sp, #0x40]
+00000001004e4d44 stp x20, x19, [sp, #0x50]
+00000001004e4d48 stp x29, x30, [sp, #0x60]
+00000001004e4d4c add x29, sp, #0x60
+00000001004e4d50 adrp x8, 646 ; 0x10076a000
+00000001004e4d54 ldr x8, [x8, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4d58 ldr x8, [x8]
+00000001004e4d5c stur x8, [x29, #-0x28]
+00000001004e4d60 adrp x8, 1086 ; 0x100922000
+00000001004e4d64 add x8, x8, #0xd00
+00000001004e4d68 bl 0x1004bb720
+00000001004e4d6c b.lt 0x1004e4da4
+00000001004e4d70 mov x19, x0
+00000001004e4d74 bl 0x1004bb6d0
+00000001004e4d78 bl 0x1004bb714
+00000001004e4d7c cbz x14, 0x1004e4d84
+00000001004e4d80 bl 0x1004bb6f4
+00000001004e4d84 bl 0x1004bb6e4
+00000001004e4d88 b.gt 0x1004e4d78
+00000001004e4d8c cmp w9, #0x1
+00000001004e4d90 b.lt 0x1004e4da4
+00000001004e4d94 bl 0x1004bb750
+00000001004e4d98 bl 0x1004bb72c
+00000001004e4d9c subs x20, x20, #0x1
+00000001004e4da0 b.ne 0x1004e4d98
+00000001004e4da4 ldur x8, [x29, #-0x28]
+00000001004e4da8 adrp x9, 646 ; 0x10076a000
+00000001004e4dac ldr x9, [x9, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4db0 ldr x9, [x9]
+00000001004e4db4 cmp x9, x8
+00000001004e4db8 b.ne 0x1004e4dc4
+00000001004e4dbc ldp x29, x30, [sp, #0x60]
+00000001004e4dc0 b 0x1004bb704
+00000001004e4dc4 bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
+00000001004e4dc8 sub sp, sp, #0x90
+00000001004e4dcc stp x26, x25, [sp, #0x40]
+00000001004e4dd0 stp x24, x23, [sp, #0x50]
+00000001004e4dd4 stp x22, x21, [sp, #0x60]
+00000001004e4dd8 stp x20, x19, [sp, #0x70]
+00000001004e4ddc stp x29, x30, [sp, #0x80]
+00000001004e4de0 add x29, sp, #0x80
+00000001004e4de4 adrp x8, 646 ; 0x10076a000
+00000001004e4de8 ldr x8, [x8, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4dec ldr x8, [x8]
+00000001004e4df0 str x8, [sp, #0x38]
+00000001004e4df4 adrp x8, 1058 ; 0x100906000
+00000001004e4df8 add x8, x8, #0x3a8
+00000001004e4dfc bl 0x1004bb720
+00000001004e4e00 b.lt 0x1004e4e6c
+00000001004e4e04 mov x19, x5
+00000001004e4e08 mov x20, x4
+00000001004e4e0c mov x21, x3
+00000001004e4e10 mov x22, x2
+00000001004e4e14 mov x23, x1
+00000001004e4e18 mov x24, x0
+00000001004e4e1c bl 0x1004bb6d0
+00000001004e4e20 bl 0x1004bb714
+00000001004e4e24 cbz x14, 0x1004e4e2c
+00000001004e4e28 bl 0x1004bb6f4
+00000001004e4e2c bl 0x1004bb6e4
+00000001004e4e30 b.gt 0x1004e4e20
+00000001004e4e34 cmp w9, #0x1
+00000001004e4e38 b.lt 0x1004e4e6c
+00000001004e4e3c mov w25, w9
+00000001004e4e40 mov x26, sp
+00000001004e4e44 ldr x8, [x26], #0x8
+00000001004e4e48 mov x0, x24
+00000001004e4e4c mov x1, x23
+00000001004e4e50 mov x2, x22
+00000001004e4e54 mov x3, x21
+00000001004e4e58 mov x4, x20
+00000001004e4e5c mov x5, x19
+00000001004e4e60 blr x8
+00000001004e4e64 subs x25, x25, #0x1
+00000001004e4e68 b.ne 0x1004e4e44
+00000001004e4e6c ldr x8, [sp, #0x38]
+00000001004e4e70 adrp x9, 646 ; 0x10076a000
+00000001004e4e74 ldr x9, [x9, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4e78 ldr x9, [x9]
+00000001004e4e7c cmp x9, x8
+00000001004e4e80 b.ne 0x1004e4e8c
+00000001004e4e84 ldp x29, x30, [sp, #0x80]
+00000001004e4e88 b 0x1004bb738
+00000001004e4e8c bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
+00000001004e4e90 udf #0x0
+00000001004e4e94 sub sp, sp, #0x50
+00000001004e4e98 stp x29, x30, [sp, #0x40]
+00000001004e4e9c add x29, sp, #0x40
+00000001004e4ea0 adrp x8, 646 ; 0x10076a000
+00000001004e4ea4 ldr x8, [x8, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4ea8 ldr x8, [x8]
+00000001004e4eac stur x8, [x29, #-0x8]
+00000001004e4eb0 adrp x8, 1086 ; 0x100922000
+00000001004e4eb4 add x8, x8, #0xd40
+00000001004e4eb8 ldar w9, [x8]
+00000001004e4ebc cmp w9, #0x1
+00000001004e4ec0 b.lt 0x1004e4f08
+00000001004e4ec4 bl 0x1004bb75c
+00000001004e4ec8 bl 0x1004bb714
+00000001004e4ecc cbz x14, 0x1004e4edc
+00000001004e4ed0 str x14, [x12], #0x8
+00000001004e4ed4 add w10, w10, #0x1
+00000001004e4ed8 sub w11, w11, #0x1
+00000001004e4edc cmp x13, x9
+00000001004e4ee0 add x13, x13, #0x1
+00000001004e4ee4 ccmp w11, #0x0, #0x4, lo
+00000001004e4ee8 b.gt 0x1004e4ec8
+00000001004e4eec cmp w10, #0x1
+00000001004e4ef0 b.lt 0x1004e4f08
+00000001004e4ef4 ldr x8, [sp]
+00000001004e4ef8 blr x8
+00000001004e4efc cmp w0, #0x0
+00000001004e4f00 cset w0, ne
+00000001004e4f04 b 0x1004e4f0c
+00000001004e4f08 mov w0, #0x0
+00000001004e4f0c ldur x8, [x29, #-0x8]
+00000001004e4f10 adrp x9, 646 ; 0x10076a000
+00000001004e4f14 ldr x9, [x9, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4f18 ldr x9, [x9]
+00000001004e4f1c cmp x9, x8
+00000001004e4f20 b.ne 0x1004e4f30
+00000001004e4f24 ldp x29, x30, [sp, #0x40]
+00000001004e4f28 add sp, sp, #0x50
+00000001004e4f2c ret
+00000001004e4f30 bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
+00000001004e4f34 sub sp, sp, #0x70
+00000001004e4f38 stp x22, x21, [sp, #0x40]
+00000001004e4f3c stp x20, x19, [sp, #0x50]
+00000001004e4f40 stp x29, x30, [sp, #0x60]
+00000001004e4f44 add x29, sp, #0x60
+00000001004e4f48 adrp x8, 646 ; 0x10076a000
+00000001004e4f4c ldr x8, [x8, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4f50 ldr x8, [x8]
+00000001004e4f54 stur x8, [x29, #-0x28]
+00000001004e4f58 adrp x8, 1058 ; 0x100906000
+00000001004e4f5c add x8, x8, #0x3e8
+00000001004e4f60 bl 0x1004bb720
+00000001004e4f64 b.lt 0x1004e4f9c
+00000001004e4f68 mov x19, x0
+00000001004e4f6c bl 0x1004bb6d0
+00000001004e4f70 bl 0x1004bb714
+00000001004e4f74 cbz x14, 0x1004e4f7c
+00000001004e4f78 bl 0x1004bb6f4
+00000001004e4f7c bl 0x1004bb6e4
+00000001004e4f80 b.gt 0x1004e4f70
+00000001004e4f84 cmp w9, #0x1
+00000001004e4f88 b.lt 0x1004e4f9c
+00000001004e4f8c bl 0x1004bb750
+00000001004e4f90 bl 0x1004bb72c
+00000001004e4f94 subs x20, x20, #0x1
+00000001004e4f98 b.ne 0x1004e4f90
+00000001004e4f9c ldur x8, [x29, #-0x28]
+00000001004e4fa0 adrp x9, 646 ; 0x10076a000
+00000001004e4fa4 ldr x9, [x9, #0x18] ; literal pool symbol address: ___stack_chk_guard
+00000001004e4fa8 ldr x9, [x9]
+00000001004e4fac cmp x9, x8
+00000001004e4fb0 b.ne 0x1004e4fbc
+00000001004e4fb4 ldp x29, x30, [sp, #0x60]
+00000001004e4fb8 b 0x1004bb704
+00000001004e4fbc bl 0x1004e6b14 ; symbol stub for: ___stack_chk_fail
@eseidel
Copy link
Author

eseidel commented Jun 17, 2024

I elided all the earlier diffs which were just change branch offsets into these various stubs which got pushed down.

It appears the entire diff is that ___stack_chk_fail implementation changed slightly?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment