Function at 0x140040bc0
Capabilities:
Access peb ldr_data

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [0x14020a790]
test rcx, rcx
jne 0x140040be4
xor ecx, ecx
xor edx, edx
jmp 0x140040bf9
call dbg.runtime.traceAcquireEnabled
mov rcx, rbx
mov rdx, rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], r14
mov rsi, qword [r14 + 0x30]
inc dword [rsi + 0xd8]
mov qword [r14 + 0x10], 0xfffffffffffffade
mov byte [r14 + 0xb7], 1
call dbg.runtime.save
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x20]
mov qword [rax + 0x70], rcx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x78], rdx
mov ebx, 2
mov ecx, 3
call dbg.runtime.casgstatus
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx + 0x70]
cmp qword [rcx], rdx
ja 0x140040c66
nop dword [rax + rax]
cmp qword [rcx + 8], rdx
jae 0x140040ca2
movups xmmword [rsp + 0x40], xmm15
lea rax, [dbg.runtime.reentersyscall.func1]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x40]
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14020a9d8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x140040d0b
movups xmmword [rsp + 0x28], xmm15
mov qword [rsp + 0x38], 0
lea rcx, [dbg.runtime.reentersyscall.func2]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x28]
mov qword [rsp], rax
nop
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14020a9d8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call dbg.runtime.save
mov rcx, qword [rsp + 0x20]
mov al, byte [0x140186e78]
test al, al
je 0x140040d4b
lea rax, dbg.runtime.entersyscall_sysmon
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14020a9d8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call dbg.runtime.save
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0xa0]
test byte [rax], al
cmp dword [rax + 0x2298], 0
nop
je 0x140040d98
lea rax, dbg.runtime.runSafePointFn
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14020a9d8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call dbg.runtime.save
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
mov rdx, qword [rax + 0xa0]
mov edx, dword [rdx + 0x14]
mov dword [rax + 0x388], edx
mov rax, qword [rcx + 0x30]
mov rax, qword [rax + 0xa0]
mov qword [rax + 0x38], 0
mov rdx, qword [rcx + 0x30]
mov rbx, rax
mov qword [rdx + 0xb0], rax
mov rax, qword [rcx + 0x30]
mov qword [rax + 0xa0], 0
mov eax, 2
xchg dword [rbx + 4], eax
mov al, byte [0x140186e68]
test al, al
je 0x140040e24
lea rax, dbg.runtime.entersyscall_gcwait
mov qword [rsp], rax
call dbg.runtime.systemstack
xorps xmm15, xmm15
mov r14, qword [0x14020a9d8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
call dbg.runtime.save
mov rcx, qword [rsp + 0x20]
mov rax, qword [rcx + 0x30]
dec dword [rax + 0xd8]
add rsp, 0x50
pop rbp
ret