Function at 0x140021680
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0xb0]
cmp r12, qword [r14 + 0x10]
jbe 0x14002267b
push rbp
mov rbp, rsp
sub rsp, 0x128
mov rdx, qword [r14 + 0x30]
cmp dword [rdx + 0xd8], 0
jne 0x1400216bf
cmp dword [rdx + 0xc0], 0
jne 0x1400216bf
mov rsi, r14
cmp qword [rdx], rsi
jne 0x140022669
mov rdx, qword [rax]
test bl, bl
jne 0x1400216cd
mov qword [rax], 0
mov esi, dword [0x1401f0500]
mov dword [rsp + 0x30], esi
nop
mov dil, byte [rdx + 0x63]
nop dword [rax]
cmp dil, 1
jne 0x1400225d4
lea r8d, [rsi - 1]
cmp dword [rdx + 0x58], r8d
jne 0x1400225d4
mov byte [rsp + 0x140], bl
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x34], r8d
cmp byte [0x1401da2d0], 0
jne 0x140021718
xor eax, eax
xor ecx, ecx
jmp 0x140021739
call dbg.runtime.traceAcquireEnabled
mov rdx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
mov rcx, rax
mov rax, rbx
movzx ebx, byte [rsp + 0x140]
test rax, rax
je 0x1400217b0
mov qword [rsp + 0xd8], rcx
mov rsi, qword [rdx + 0x20]
shl rsi, 0xd
mov rbx, rax
mov rax, rcx
mov rcx, rsi
call dbg.runtime.traceLocker.GCSweepSpan
nop
mov edx, 1
mov rsi, qword [rsp + 0xd8]
lock xadd qword [rsi + 0x2c0], rdx
mov edx, dword [rsi + 0xd8]
lea edi, [rdx - 1]
nop
mov dword [rsi + 0xd8], edi
cmp edx, 1
jne 0x14002179a
cmp byte [r14 + 0xb9], 0
je 0x14002179a
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
mov rdi, qword [rdx + 0x20]
lea r9, [rdx + 0x80]
lea r10, [0x1401f0528]
lock xadd qword [r10], rdi
mov rdi, qword [rdx + 0x80]
mov qword [rsp + 0xa0], rdi
movzx r10d, byte [rdx + 0x62]
mov byte [rsp + 0x2a], r10b
mov r11, qword [rdx + 0x68]
mov qword [rsp + 0x40], r11
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xe8], rdi
jmp 0x14002180c
mov rdx, rax
movzx ebx, byte [rsp + 0x140]
movzx r10d, byte [rsp + 0x2a]
mov r9, qword [rsp + 0xe8]
test r9, r9
je 0x140021912
nop dword [rax]
test r11, r11
je 0x1400225cf
movzx eax, word [r9 + 8]
mov rcx, rdx
xor edx, edx
div r11
mov rdx, rax
imul rax, r11
mov r12, qword [rcx + 0x18]
mov r13, qword [rcx + 0x48]
test byte [r13], al
mov r15, rdx
shr rdx, 3
movzx ebx, byte [r13 + rdx]
and r15d, 7
mov rcx, r15
mov r10d, 1
shl r10d, cl
add r12, rax
nop
test r10b, bl
je 0x1400218d6
cmp byte [r9 + 0xa], 4
je 0x14002188c
nop
mov qword [rsp + 0xe0], r9
mov rdx, qword [r9]
mov qword [rsp + 0xe8], rdx
jmp 0x1400218cc
mov rdx, qword [r9]
nop
mov qword [rsp + 0xe8], rdx
mov rsi, qword [rsp + 0xe0]
mov qword [rsi], rdx
mov byte [r9 + 0x11], 1
mov rax, r9
mov rbx, r12
mov rcx, r11
call dbg.runtime.freeSpecial
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
jmp 0x1400217fb
lea r10, [rax + r11]
jmp 0x1400224a0
bts ebx, ecx
nop
mov byte [r13 + rdx], bl
mov eax, 1
jmp 0x1400218f5
xor eax, eax
jmp 0x1400218f5
xor eax, eax
mov qword [rsp + 0x68], r10
test al, al
je 0x140021908
mov rax, qword [rsp + 0x48]
jmp 0x14002253a
mov rax, qword [rsp + 0x48]
jmp 0x14002251a
test rdi, rdi
je 0x1400219aa
cmp qword [rdx + 0x80], 0
jne 0x1400219aa
mov rax, qword [rdx + 0x18]
movabs rdi, 0x800000000000
add rdi, rax
mov r9, rdi
shr rdi, 0x2a
nop
nop
nop
cmp rdi, 0x40
jae 0x140022488
shr rax, 0xd
mov rcx, rax
and eax, 0x1ff
lea r12, [0x1401f0598]
mov rdi, qword [r12 + rdi*8]
test byte [rdi], al
shr rax, 3
shr r9, 0x16
and r9d, 0xfffff
mov rdi, qword [rdi + r9*8]
nop word [rax + rax]
cmp rax, 0x40
jae 0x14002247e
test byte [rdi], al
lea rdi, [rdi + rax]
lea rdi, [rdi + 0x1080]
and ecx, 7
mov r9d, 1
shl r9d, cl
not r9d
lock and byte [rdi], r9b
mov rdi, qword [rdx + 0x48]
test byte [rdi], al
mov qword [rsp + 0xf0], rdi
mov byte [rsp + 0xf8], 1
mov qword [rsp + 0x100], 0
mov rdi, qword [rdx + 0x40]
test byte [rdi], al
nop
mov qword [rsp + 0x108], rdi
mov byte [rsp + 0x110], 1
mov qword [rsp + 0x118], 0
xor eax, eax
jmp 0x1400219fe
inc qword [rsp + 0x118]
inc rax
movzx edi, word [rdx + 0x32]
cmp rax, rdi
jae 0x140021bbf
mov rdi, qword [rsp + 0xf0]
movzx r9d, byte [rsp + 0xf8]
movzx edi, byte [rdi]
nop
test dil, r9b
jne 0x140021b5a
movzx edi, word [rdx + 0x30]
cmp qword [rsp + 0x118], rdi
jb 0x140021a54
mov rdi, qword [rsp + 0x108]
movzx r9d, byte [rsp + 0x110]
movzx edi, byte [rdi]
test dil, r9b
je 0x140021b5a
mov qword [rsp + 0x60], rax
mov rcx, qword [rdx + 0x68]
imul rcx, rax
add rcx, qword [rdx + 0x18]
cmp byte [0x1401da2d1], 0
je 0x140021b42
mov qword [rsp + 0x38], rcx
cmp byte [0x1401da2d0], 0
nop
jne 0x140021a89
xor edi, edi
xor r9d, r9d
jmp 0x140021abf
call dbg.runtime.traceAcquireEnabled
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
mov rdi, rbx
mov r9, rax
mov rax, qword [rsp + 0x60]
movzx ebx, byte [rsp + 0x140]
nop
test rdi, rdi
je 0x140021b42
mov qword [rsp + 0xd0], r9
mov rax, r9
mov rbx, rdi
call dbg.runtime.traceLocker.HeapObjectFree
nop
mov edx, 1
mov rsi, qword [rsp + 0xd0]
lock xadd qword [rsi + 0x2c0], rdx
mov edx, dword [rsi + 0xd8]
lea edi, [rdx - 1]
nop
mov dword [rsi + 0xd8], edi
nop
cmp edx, 1
jne 0x140021b17
cmp byte [r14 + 0xb9], 0
je 0x140021b17
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
cmp dword [0x14021e764], 0
je 0x1400223f0
mov rdi, rcx
xor r9d, r9d
jmp 0x140022471
movzx edi, byte [rsp + 0xf8]
cmp dil, 0x80
jne 0x140021b7a
inc qword [rsp + 0xf0]
mov byte [rsp + 0xf8], 1
jmp 0x140021b84
shl edi, 1
mov byte [rsp + 0xf8], dil
inc qword [rsp + 0x100]
movzx edi, byte [rsp + 0x110]
nop
cmp dil, 0x80
jne 0x140021bb0
inc qword [rsp + 0x108]
mov byte [rsp + 0x110], 1
jmp 0x1400219f3
shl edi, 1
mov byte [rsp + 0x110], dil
jmp 0x1400219f3
movzx ecx, word [rdx + 0x30]
cmp cx, di
jae 0x140021c3a
mov rdi, qword [rdx + 0x48]
test byte [rdi], al
mov r9d, ecx
shr r9, 3
movzx edi, byte [rdi + r9]
mov r12, qword [rdx + 0x40]
test byte [r12], al
movzx r12d, byte [r12 + r9]
not r12d
and r12d, edi
and ecx, 7
shr r12b, cl
test r12b, r12b
je 0x140021c31
mov qword [rsp + 0x98], r9
mov rax, rdx
call dbg.runtime.(*mspan).reportZombies
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
mov r9, qword [rsp + 0x98]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
lea rcx, [r9 + 1]
jmp 0x140022388
movzx ecx, word [rdx + 0x32]
add rcx, 7
nop
shr rcx, 3
mov qword [rsp + 0x98], rcx
xor eax, eax
xor edi, edi
jmp 0x140021c5c
add rax, 8
add rdi, r9
mov qword [rsp + 0x70], rdi
cmp rax, rcx
jae 0x140021cd2
mov r9, qword [rdx + 0x48]
test byte [r9], al
mov r9, qword [r9 + rax]
movzx r12d, byte [0x14021e1ea]
test r12d, r12d
je 0x140021c85
popcnt r9, r9
jmp 0x140021c55
mov qword [rsp + 0x50], rax
mov rax, r9
call dbg.runtime/internal/sys.OnesCount64
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x34]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
movzx r12d, byte [0x14021e1ea]
mov r9, rax
mov rax, qword [rsp + 0x50]
jmp 0x140021c55
movzx ecx, word [rdx + 0x60]
mov r9d, ecx
sub ecx, edi
nop dword [rax + rax]
cmp di, r9w
ja 0x1400222bb
mov word [rsp + 0x2c], cx
mov word [rdx + 0x60], di
mov word [rdx + 0x30], 0
mov word [rdx + 0x34], 0
cmp byte [0x1401da2d0], 0
je 0x140021d29
mov r9, qword [r14 + 0x30]
mov r9, qword [r9 + 0xa0]
movzx r12d, cx
mov r13, qword [rdx + 0x68]
imul r12, r13
test byte [r9], al
add qword [r9 + 0x1208], r12
mov rcx, qword [rdx + 0x48]
mov qword [rdx + 0x40], rcx
movzx eax, word [rdx + 0x32]
call dbg.runtime.newMarkBits
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x48], rax
cmp qword [rcx + 0x50], 0
je 0x140021d57
mov rax, rcx
call dbg.runtime.(*mspan).refreshPinnerBits
mov rcx, qword [rsp + 0x48]
mov rax, rcx
xor ebx, ebx
nop dword [rax]
call dbg.runtime.(*mspan).refillAllocCache
nop
mov rbx, qword [rsp + 0x48]
mov cl, byte [rbx + 0x63]
cmp cl, 1
jne 0x140022225
mov edx, dword [rbx + 0x58]
mov esi, dword [rsp + 0x34]
nop
cmp edx, esi
jne 0x140022225
mov esi, dword [rsp + 0x30]
lea edi, [rsi + 1]
cmp edx, edi
je 0x14002220f
lea edi, [rsi + 3]
nop word [rax + rax]
cmp edx, edi
je 0x14002220f
mov edx, esi
xchg dword [rbx + 0x58], esi
cmp byte [rbx + 0x65], 0
je 0x140021e83
movzx esi, byte [rsp + 0x140]
nop
test sil, sil
jne 0x1400221fe
mov rsi, qword [rsp + 0x70]
test si, si
jbe 0x140021e21
movzx eax, byte [rsp + 0x2a]
nop dword [rax + rax]
cmp rax, 0x88
jae 0x1400221f4
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x1401f0840]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call dbg.runtime.(*spanSet).push
xor eax, eax
add rsp, 0x128
pop rbp
nop
ret
mov rax, qword [rbx + 0x20]
neg rax
lea rcx, [rbx + 0x63]
lea rdx, [0x1401f0520]
lock xadd qword [rdx], rax
nop
nop
xor eax, eax
xchg byte [rcx], al
lea rax, [dbg.runtime.(*sweepLocked).sweep.func1]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
lea rax, [rsp + 0xc0]
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14021e440]
mov r14, qword gs:[r14]
mov r14, qword [r14]
xor eax, eax
add rsp, 0x128
pop rbp
ret
movzx eax, byte [rsp + 0x2a]
mov esi, eax
shr sil, 1
test sil, sil
je 0x140022032
movzx edi, word [rsp + 0x2c]
nop dword [rax + rax]
test di, di
ja 0x140021eb5
movzx esi, byte [rsp + 0x140]
test sil, sil
jmp 0x140021f40
mov byte [rsp + 0x2b], sil
mov byte [rbx + 0x64], 1
lea rax, [0x14021fdc0]
call dbg.runtime.(*consistentHeapStats).acquire
movzx ecx, byte [rsp + 0x2b]
movsx rcx, cl
cmp rcx, 0x44
jae 0x1400221e7
test byte [rax], al
lea rcx, [rax + rcx*8]
lea rcx, [rcx + 0x278]
movzx edx, word [rsp + 0x2c]
movzx edx, dx
mov qword [rsp + 0x90], rdx
lock xadd qword [rcx], rdx
lea rax, [0x14021fdc0]
call dbg.runtime.(*consistentHeapStats).release
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rsp + 0x90]
imul rdx, rcx
lea rcx, [0x14021ed30]
lock xadd qword [rcx], rdx
movzx ecx, byte [rsp + 0x140]
test cl, cl
movzx eax, byte [rsp + 0x2a]
mov edx, dword [rsp + 0x30]
nop
jne 0x14002207e
mov rsi, qword [rsp + 0x70]
test si, si
je 0x140021fda
cmp word [rbx + 0x32], si
jne 0x140021fa0
nop word [rax + rax]
cmp rax, 0x88
jae 0x1400221dd
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x1401f0840]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call dbg.runtime.(*spanSet).push
jmp 0x14002207e
cmp rax, 0x88
jae 0x1400221d3
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x1401f0840]
lea rcx, [rsi + rcx]
lea rcx, [rcx + 8]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call dbg.runtime.(*spanSet).push
jmp 0x14002207e
nop
lea rax, [dbg.runtime.(*sweepLocked).sweep.(*mheap).freeSpan.func3]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rbx
lea rax, [0x1401e03c0]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xa8]
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14021e440]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov eax, 1
add rsp, 0x128
pop rbp
ret
movzx esi, byte [rsp + 0x140]
test sil, sil
jne 0x14002207e
movzx esi, word [rsp + 0x2c]
test si, si
jne 0x140022089
cmp rax, 0x88
jae 0x1400221c9
lea rcx, [rax + rax*2]
shl rcx, 6
lea rsi, [0x1401f0840]
lea rcx, [rcx + rsi]
lea rcx, [rcx + 0x58]
shr edx, 1
and edx, 1
lea rdx, [rdx + rdx*4]
lea rax, [rcx + rdx*8]
call dbg.runtime.(*spanSet).push
xor eax, eax
add rsp, 0x128
pop rbp
ret
lea rax, [0x14021fdc0]
call dbg.runtime.(*consistentHeapStats).acquire
mov ecx, 1
lock xadd qword [rax + 0x270], rcx
mov rcx, qword [rsp + 0x40]
lock xadd qword [rax + 0x268], rcx
lea rax, [0x14021fdc0]
call dbg.runtime.(*consistentHeapStats).release
nop
mov rbx, qword [rsp + 0x40]
lea rcx, [0x14021ed30]
mov rdx, rbx
lock xadd qword [rcx], rdx
cmp dword [0x14021e770], 0
jle 0x140022107
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x70], 0
mov rax, qword [rcx + 0x18]
mov rdx, rbx
neg rdx
nop
nop
lea rsi, [0x14021ed38]
lock xadd qword [rsi], rdx
call dbg.runtime.sysUnusedOS
jmp 0x140022157
nop
lea rax, [dbg.runtime.(*sweepLocked).sweep.(*mheap).freeSpan.func4]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xb0], rax
lea rcx, [0x1401e03c0]
mov qword [rsp + 0xb8], rcx
lea rcx, [rsp + 0xa8]
mov qword [rsp], rcx
nop
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14021e440]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x98]
test rdx, rdx
je 0x1400221bb
movzx edx, byte [rdx + 0x14]
test dl, 0x10
je 0x1400221bb
lea rax, [dbg.runtime.(*sweepLocked).sweep.func2]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rcx
lea rax, [rsp + 0xc0]
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14021e440]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x98], 0
mov eax, 1
add rsp, 0x128
pop rbp
ret
mov ecx, 0x88
call dbg.runtime.panicIndex
mov ecx, 0x88
call dbg.runtime.panicIndex
mov ecx, 0x88
call dbg.runtime.panicIndex
mov rax, rcx
mov ecx, 0x44
call dbg.runtime.panicIndex
mov ecx, 0x88
call dbg.runtime.panicIndex
lea rax, [0x14014a927]
mov ebx, 0x2a
call dbg.runtime.throw
lea rax, [0x140145f0c]
mov ebx, 0x11
nop dword [rax + rax]
call dbg.runtime.throw
movzx eax, cl
mov qword [rsp + 0x88], rax
mov ecx, dword [rbx + 0x58]
mov qword [rsp + 0x80], rcx
nop dword [rax + rax]
call dbg.runtime.printlock
lea rax, [0x1401465b0]
mov ebx, 0x13
call dbg.runtime.printstring
mov rax, qword [rsp + 0x88]
nop
call dbg.runtime.printuint
lea rax, [0x14014485e]
mov ebx, 0xa
call dbg.runtime.printstring
mov rax, qword [rsp + 0x80]
nop
call dbg.runtime.printuint
lea rax, [0x140145be4]
mov ebx, 0x10
call dbg.runtime.printstring
mov eax, dword [rsp + 0x30]
call dbg.runtime.printuint
nop
call dbg.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x14014a2b1]
mov ebx, 0x27
call dbg.runtime.throw
mov word [rsp + 0x2e], r9w
movzx eax, cx
mov qword [rsp + 0x88], rax
movzx ecx, di
mov qword [rsp + 0x80], rcx
movzx edx, word [rdx + 0x32]
mov qword [rsp + 0x78], rdx
call dbg.runtime.printlock
lea rax, [0x140145bf4]
mov ebx, 0x10
call dbg.runtime.printstring
mov rax, qword [rsp + 0x78]
nop dword [rax + rax]
call dbg.runtime.printuint
lea rax, [0x14014446c]
mov ebx, 8
call dbg.runtime.printstring
mov rax, qword [rsp + 0x80]
nop
call dbg.runtime.printuint
lea rax, [0x140146c0c]
mov ebx, 0x15
call dbg.runtime.printstring
movzx eax, word [rsp + 0x2e]
nop dword [rax + rax]
call dbg.runtime.printuint
lea rax, [0x140144474]
mov ebx, 8
call dbg.runtime.printstring
mov rax, qword [rsp + 0x88]
nop
call dbg.runtime.printuint
call dbg.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x14014919c]
mov ebx, 0x20
nop dword [rax + rax]
call dbg.runtime.throw
inc rcx
movzx edi, word [rdx + 0x32]
add rdi, 7
shr rdi, 3
cmp rcx, rdi
jae 0x140021c3a
mov rdi, qword [rdx + 0x48]
test byte [rdi], al
movzx edi, byte [rcx + rdi]
mov r9, qword [rdx + 0x40]
test byte [r9], al
movzx r9d, byte [rcx + r9]
not r9d
test r9b, dil
je 0x140022385
mov qword [rsp + 0x58], rcx
mov rax, rdx
call dbg.runtime.(*mspan).reportZombies
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
jmp 0x140022385
cmp byte [rdx + 0x65], 0
jne 0x140021b5a
mov qword [rsp + 0x120], rcx
lea rax, [sym.__tsan_free]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r11
movups xmmword [rsp + 0x18], xmm15
nop dword [rax]
call dbg.runtime.racecall
xorps xmm15, xmm15
mov r14, qword [0x14021e440]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
movzx ebx, byte [rsp + 0x140]
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x34]
movzx r10d, byte [rsp + 0x2a]
mov r11, qword [rsp + 0x40]
nop dword [rax]
jmp 0x140021b5a
mov dword [rcx + r9], 0xdeadbeef
add r9, 4
cmp r9, r11
jb 0x140022465
mov rcx, rdi
jmp 0x1400223f0
mov ecx, 0x40
call dbg.runtime.panicIndexU
mov rax, rdi
mov ecx, 0x40
call dbg.runtime.panicIndexU
mov r9, qword [r9]
nop dword [rax + rax]
test r9, r9
je 0x1400218f3
movzx r12d, word [r9 + 8]
cmp r12, r10
jae 0x1400218ef
cmp byte [r9 + 0xa], 1
jne 0x140022495
nop
jmp 0x1400218df
mov rsi, qword [rax + 0x18]
lea rbx, [rsi + r9]
mov rsi, qword [rdx]
nop
mov qword [rsp + 0xe8], rsi
mov rdi, qword [rsp + 0xe0]
mov qword [rdi], rsi
mov rcx, r11
mov rax, rdx
call dbg.runtime.freeSpecial
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
mov rax, rdx
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x68]
mov r11, rcx
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x1400217fb
movzx r9d, word [rdx + 8]
cmp r9, r10
jb 0x1400224c5
jmp 0x1400217fb
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x1400217fb
movzx r9d, word [rdx + 8]
cmp r9, r10
jae 0x1400217fb
movzx r12d, byte [rdx + 0xa]
mov r13, qword [rax + 0x18]
lea rbx, [r9 + r13]
cmp r12b, 1
je 0x140022588
cmp r12b, 2
je 0x140022588
nop
mov qword [rsp + 0xe0], rdx
mov rdx, qword [rdx]
mov qword [rsp + 0xe8], rdx
jmp 0x14002253a
mov rsi, qword [rdx]
nop
mov qword [rsp + 0xe8], rsi
mov rdi, qword [rsp + 0xe0]
mov qword [rdi], rsi
mov rax, rdx
mov rcx, r11
call dbg.runtime.freeSpecial
mov rax, qword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x40]
jmp 0x14002253a
call dbg.runtime.panicdivide
movzx eax, dil
mov qword [rsp + 0x88], rax
mov ecx, dword [rdx + 0x58]
mov qword [rsp + 0x80], rcx
call dbg.runtime.printlock
lea rax, [0x1401465b0]
mov ebx, 0x13
nop dword [rax]
call dbg.runtime.printstring
mov rax, qword [rsp + 0x88]
call dbg.runtime.printuint
lea rax, [0x14014485e]
mov ebx, 0xa
nop
call dbg.runtime.printstring
mov rax, qword [rsp + 0x80]
call dbg.runtime.printuint
lea rax, [0x140145be4]
mov ebx, 0x10
nop
call dbg.runtime.printstring
mov eax, dword [rsp + 0x30]
call dbg.runtime.printuint
call dbg.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x140148011]
mov ebx, 0x1b
call dbg.runtime.throw
lea rax, [0x140148362]
mov ebx, 0x1c
call dbg.runtime.throw
nop
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], bl
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
movzx ebx, byte [rsp + 0x10]
jmp dbg.runtime.(*sweepLocked).sweep