Function at 0x40ce80
Capabilities:
Reference wmi statements

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x40d1de
push rbp
mov rbp, rsp
sub rsp, 0x28
cmp word [0x005e4ec4], 0x10
nop word [rax + rax]
jne 0x40d1cc
mov rdx, qword [0x00682ca8]
test rdx, rdx
je 0x40d1bb
nop word [rax + rax]
nop
cmp rdx, 0x80000
ja 0x40d14c
cmp rdx, 0x1000
jb 0x40d0e0
lea rsi, [rdx - 1]
nop
test rdx, rsi
jne 0x40d08e
mov rdx, qword [0x00682cb0]
lea rsi, [rdx - 1]
test rdx, rsi
jne 0x40d045
nop dword [rax]
cmp rdx, 0x400000
jbe 0x40cf14
mov qword [0x00682cb0], 0
cmp qword [0x00682cb0], 0
nop dword [rax]
jne 0x40d019
xor eax, eax
jmp 0x40cf2d
inc rax
cmp rax, 0x44
jge 0x40cffd
lea rcx, [0x005e4ec0]
movzx edx, word [rcx + rax*2]
cmp rdx, 0x200
jne 0x40cf2a
lea rax, [0x00604b20]
call sym.runtime._mheap_.init
call sym.runtime.allocmcache
mov qword [0x00682d70], rax
xor eax, eax
jmp 0x40cf6a
inc rax
cmp rax, 3
jl 0x40cf67
mov eax, 0x7f
jmp 0x40cfa7
mov qword [rsp + 0x20], rbx
lea rax, [0x0061b758]
call sym.runtime._fixalloc_.alloc
mov rcx, qword [rsp + 0x10]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rcx]
mov qword [rax + 0x10], rdx
mov qword [rcx], rax
mov rax, qword [rsp + 0x18]
dec rax
test rax, rax
jl 0x40cfe2
mov qword [rsp + 0x18], rax
mov rcx, rax
shl rax, 0x28
movabs rdx, 0xc000000000
or rax, rdx
mov qword [rsp + 0x10], rax
cmp rcx, 0x3f
jle 0x40cfd9
lea rbx, [0x0061b7a0]
jmp 0x40cf77
lea rbx, [0x00614f20]
jmp 0x40cf77
nop
movabs rax, 0x7fffffffffffffff
lea rcx, [0x00683668]
xchg qword [rcx], rax
add rsp, 0x28
pop rbp
ret
lea rax, [0x0051cc7f]
mov ebx, 0x36
call sym.runtime.throw
lea rdx, [rcx + 1]
mov qword [0x00682cb8], rdx
mov rcx, qword [0x00682cb8]
mov edx, 1
shl rdx, cl
cmp rcx, 0x40
sbb rsi, rsi
and rdx, rsi
cmp qword [0x00682cb0], rdx
jne 0x40d00e
nop dword [rax + rax]
jmp 0x40cf26
call sym.runtime.printlock
lea rax, [0x0051593a]
mov ebx, 0x17
call sym.runtime.printstring
mov rax, qword [0x00682cb0]
call sym.runtime.printuint
lea rax, [0x00515923]
mov ebx, 0x17
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x00516670]
mov ebx, 0x19
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x00513873]
mov ebx, 0x12
nop
call sym.runtime.printstring
mov rax, qword [0x00682ca8]
call sym.runtime.printuint
lea rax, [0x00515923]
mov ebx, 0x17
nop dword [rax]
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x0051469e]
mov ebx, 0x14
call sym.runtime.throw
nop dword [rax + rax]
call sym.runtime.printlock
lea rax, [0x00513873]
mov ebx, 0x12
call sym.runtime.printstring
mov rax, qword [0x00682ca8]
nop dword [rax]
call sym.runtime.printuint
lea rax, [0x0051a424]
mov ebx, 0x25
call sym.runtime.printstring
mov eax, 0x1000
nop dword [rax + rax]
call sym.runtime.printint
lea rax, [0x0051032a]
mov ebx, 2
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x0051469e]
mov ebx, 0x14
call sym.runtime.throw
call sym.runtime.printlock
lea rax, [0x00513873]
mov ebx, 0x12
nop dword [rax]
call sym.runtime.printstring
mov rax, qword [0x00682ca8]
call sym.runtime.printuint
lea rax, [0x00519f99]
mov ebx, 0x24
nop dword [rax]
call sym.runtime.printstring
mov eax, 0x80000
call sym.runtime.printint
lea rax, [0x0051032a]
mov ebx, 2
nop dword [rax + rax]
call sym.runtime.printstring
call sym.runtime.printunlock
lea rax, [0x0051469e]
mov ebx, 0x14
call sym.runtime.throw
lea rax, [0x005184bb]
mov ebx, 0x1e
call sym.runtime.throw
lea rax, [0x005132c2]
mov ebx, 0x11
call sym.runtime.throw
nop
nop
call sym.runtime.morestack_noctxt.abi0
jmp sym.runtime.mallocinit