Function at 0x4243c0
Capabilities:
Reference wmi statements

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4246d7
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rsp + 0x60], rcx
lea rdx, [rcx - 1]
nop dword [rax + rax]
test rcx, rdx
jne 0x424696
test rcx, rcx
je 0x424696
cmp rcx, 0x40
ja 0x424656
nop dword [rax]
test rdi, rdi
jne 0x42440a
mov rdx, rcx
jmp 0x424422
lea rdx, [rdi + rcx]
lea rdx, [rdx - 1]
mov rsi, rcx
neg rsi
nop
and rsi, rdx
mov rdx, rcx
mov rcx, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rcx
shr rbx, 6
jmp 0x424449
mov rbx, qword [rsp + 0x20]
dec rbx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
test rbx, rbx
jl 0x424495
cmp rbx, 8
jae 0x424649
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
call sym.runtime.fillAligned
cmp rax, 0xffffffffffffffff
je 0x424432
mov rax, qword [rsp + 0x20]
test rax, rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
jl 0x424545
nop dword [rax + rax]
cmp rbx, 8
jae 0x42463c
test byte [rax], al
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
nop dword [rax + rax]
call sym.runtime.fillAligned
mov rcx, rax
not rax
mov rdx, qword [rsp + 0x20]
mov rsi, rdx
shl rdx, 6
bsr rdi, rax
mov r8, 0xffffffffffffffff
cmove rdi, r8
lea r9, [rdi - 0x3f]
neg r9
lea r10, [rdi + 1]
neg r10
mov rax, rcx
mov rcx, r10
shl rax, cl
lea rcx, [rdi + rdx]
lea rcx, [rcx + 1]
lea rdx, [rdi + rdx]
lea rdx, [rdx + 1]
cmp r9, 0x40
sbb r9, r9
and rax, r9
test rax, rax
je 0x424533
bsr rsi, rax
cmove rsi, r8
add rsi, 0xffffffffffffffc1
neg rsi
mov rdi, rsi
jmp 0x4245c3
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdx
inc rdi
dec rsi
jmp 0x42456c
xor eax, eax
mov rbx, rax
add rsp, 0x40
pop rbp
ret
mov rsi, qword [rsp + 0x18]
dec rsi
mov rdx, qword [rsp + 0x30]
mov r8, 0xffffffffffffffff
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
test rsi, rsi
jl 0x4245c3
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + rsi*8]
or rax, qword [rcx + rsi*8 + 0x40]
mov rbx, qword [rsp + 0x60]
call sym.runtime.fillAligned
bsr rcx, rax
mov rdx, 0xffffffffffffffff
cmove rcx, rdx
inc rcx
mov rsi, qword [rsp + 0x10]
sub rsi, rcx
lea rcx, [rsi + 0x40]
test rax, rax
je 0x424550
mov rdx, qword [rsp + 0x30]
mov rdi, rcx
mov rcx, qword [rsp + 0x28]
mov rsi, qword [0x00682cb0]
mov r8, qword [rsp + 0x38]
cmp r8, rdi
mov r9, rdi
cmovb rdi, r8
mov r8, rdx
sub rdx, rdi
nop
cmp rsi, 0x2000
jbe 0x42462d
cmp qword [0x00682ca8], rsi
jae 0x424628
shr rsi, 0xd
lea r10, [rdx + rsi]
lea r10, [r10 - 1]
neg rsi
and r10, rsi
nop
cmp rcx, r10
jb 0x424623
sub r8, r9
and rsi, rdx
nop
cmp rsi, r8
jb 0x42461e
sub rdx, rsi
add rdi, rdx
jmp 0x424630
mov rsi, rdx
jmp 0x424630
mov rsi, rdx
jmp 0x424630
mov rsi, rdx
jmp 0x424630
mov rsi, rdx
mov rax, rsi
mov rbx, rdi
add rsp, 0x40
pop rbp
ret
mov rax, rbx
mov ecx, 8
call sym.runtime.panicIndex
mov rax, rbx
mov ecx, 8
call sym.runtime.panicIndex
call sym.runtime.printlock
lea rax, [0x005128c4]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0x60]
call sym.runtime.printuint
call sym.runtime.printnl
nop dword [rax + rax]
call sym.runtime.printunlock
lea rax, [0x00511f8b]
mov ebx, 0xd
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x005128c4]
mov ebx, 0xf
call sym.runtime.printstring
mov rax, qword [rsp + 0x60]
call sym.runtime.printuint
call sym.runtime.printnl
nop dword [rax + rax]
call sym.runtime.printunlock
lea rax, [0x005195ee]
mov ebx, 0x21
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.runtime._pallocData_.findScavengeCandidate