Function at 0x43df40
Capabilities:
Reference wmi statements

Disassembly:
cmp rsp, qword [r14 + 0x18]
jbe 0x43e33c
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x50], r14
mov rcx, qword [r14 + 0x30]
nop
inc dword [rcx + 0xd8]
mov rcx, qword [r14 + 0x30]
mov rcx, qword [rcx + 0xa0]
nop
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x30]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x68], rcx
nop
lea rax, [0x005ff1b8]
call sym.runtime.lock2
cmp dword [0x005ff2b0], 0
nop dword [rax]
jne 0x43e32a
mov eax, dword [0x00682c48]
dec eax
mov dword [0x005ff2b0], eax
cmp dword [0x00682e70], 0
jne 0x43dfc7
mov rax, qword [rsp + 0x80]
jmp 0x43dfe2
call sym.runtime.gcWriteBarrier2
mov rax, qword [rsp + 0x80]
mov qword [r11], rax
mov rcx, qword [0x005ff2a8]
mov qword [r11 + 8], rcx
mov qword [0x005ff2a8], rax
mov rcx, qword [0x005fde50]
mov rdx, qword [0x005fde58]
mov rbx, qword [rsp + 0x68]
xor esi, esi
nop
jmp 0x43e005
inc rsi
cmp rsi, rdx
jge 0x43e024
mov rdi, qword [rcx + rsi*8]
cmp rbx, rdi
je 0x43e002
test byte [rdi], al
mov r8d, 1
xchg dword [rdi + 0x2298], r8d
jmp 0x43e002
call sym.runtime.preemptall
mov rax, qword [0x005ff1f0]
jmp 0x43e036
mov rax, qword [rcx + 8]
test rax, rax
je 0x43e07a
mov rcx, rax
mov eax, 1
xor ebx, ebx
lock cmpxchg dword [rcx + 0x2298], ebx
sete sil
test sil, sil
je 0x43e032
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rdx]
mov rax, rcx
call rbx
dec dword [0x005ff2b0]
mov rcx, qword [rsp + 0x60]
xor ebx, ebx
jmp 0x43e032
nop
nop
mov ecx, dword [0x005ff2b0]
mov dword [rsp + 0x24], ecx
lea rax, [0x005ff1b8]
call sym.runtime.unlock2
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rdx]
mov rax, qword [rsp + 0x68]
call rcx
mov rcx, qword [0x005fde50]
mov qword [rsp + 0x58], rcx
mov rdx, qword [0x005fde58]
mov qword [rsp + 0x30], rdx
xor eax, eax
nop
jmp 0x43e0c6
lea rax, [r8 + 1]
cmp rax, rdx
jge 0x43e22e
mov qword [rsp + 0x28], rax
mov rsi, qword [rcx + rax*8]
mov qword [rsp + 0x48], rsi
mov r8d, dword [rsi + 4]
cmp r8d, 2
mov r9, qword [0x00682bb0]
test r9, r9
jne 0x43e102
cmp r8d, 2
mov ebx, 0
mov edi, 0
nop
jmp 0x43e12a
mov dword [rsp + 0x20], r8d
call sym.runtime.traceAcquireEnabled
mov ecx, dword [rsp + 0x20]
cmp ecx, 2
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rdi, rax
mov rax, qword [rsp + 0x28]
jne 0x43e157
cmp dword [rsi + 0x2298], 1
jne 0x43e14c
mov r8, rax
mov eax, 2
xor r9d, r9d
lock cmpxchg dword [rsi + 4], r9d
sete r10b
jmp 0x43e160
mov r8, rax
xor r9d, r9d
xor r10d, r10d
jmp 0x43e160
mov r8, rax
xor r9d, r9d
xor r10d, r10d
test r10b, r10b
jne 0x43e1b3
test rbx, rbx
je 0x43e0c2
nop
mov esi, 1
lock xadd qword [rdi + 0x398], rsi
mov esi, dword [rdi + 0xd8]
lea r10d, [rsi - 1]
nop
mov dword [rdi + 0xd8], r10d
cmp esi, 1
jne 0x43e0c2
cmp byte [r14 + 0xb1], 0
je 0x43e0c2
mov qword [r14 + 0x10], 0xfffffffffffffade
jmp 0x43e0c2
test rbx, rbx
je 0x43e20c
mov qword [rsp + 0x38], rdi
mov rax, rdi
mov rcx, rsi
xor edi, edi
call sym.runtime.traceLocker.ProcSteal
nop
mov edx, 1
mov rsi, qword [rsp + 0x38]
lock xadd qword [rsi + 0x398], rdx
mov edx, dword [rsi + 0xd8]
lea r8d, [rdx - 1]
nop
mov dword [rsi + 0xd8], r8d
cmp edx, 1
jne 0x43e207
cmp byte [r14 + 0xb1], 0
je 0x43e207
mov qword [r14 + 0x10], 0xfffffffffffffade
mov rsi, qword [rsp + 0x48]
inc dword [rsi + 0x14]
mov rax, rsi
call sym.runtime.handoffp
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
xor r9d, r9d
jmp 0x43e0c2
mov ecx, dword [rsp + 0x24]
test ecx, ecx
jle 0x43e25e
jmp 0x43e23d
call sym.runtime.preemptall
lea rax, [0x005ff2b8]
mov ebx, 0x186a0
call sym.runtime.notetsleep
test al, al
je 0x43e238
nop
mov qword [0x005ff2b8], 0
cmp dword [0x005ff2b0], 0
jne 0x43e319
mov rcx, qword [0x005fde50]
mov rdx, qword [0x005fde58]
xor eax, eax
jmp 0x43e280
inc rax
cmp rax, rdx
jge 0x43e296
mov rsi, qword [rcx + rax*8]
test byte [rsi], al
cmp dword [rsi + 0x2298], 0
je 0x43e27d
jmp 0x43e308
nop
nop
lea rax, [0x005ff1b8]
nop
call sym.runtime.lock2
cmp dword [0x00682e70], 0
je 0x43e2bd
mov rcx, qword [0x005ff2a8]
call sym.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [0x005ff2a8], 0
nop
nop
lea rax, [0x005ff1b8]
call sym.runtime.unlock2
mov rcx, qword [rsp + 0x40]
mov edx, dword [rcx + 0xd8]
lea ebx, [rdx - 1]
nop
mov dword [rcx + 0xd8], ebx
cmp edx, 1
jne 0x43e302
cmp byte [r14 + 0xb1], 0
je 0x43e302
mov qword [r14 + 0x10], 0xfffffffffffffade
add rsp, 0x70
pop rbp
ret
lea rax, [0x00516e7d]
mov ebx, 0x1a
call sym.runtime.throw
lea rax, [0x00513915]
mov ebx, 0x12
call sym.runtime.throw
lea rax, [0x00519a1f]
mov ebx, 0x22
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
call sym.runtime.morestackc.abi0
mov rax, qword [rsp + 8]
jmp sym.runtime.forEachPInternal