Function at 0x45f060
Capabilities:
Reference wmi statements

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x45fc46
push rbp
mov rbp, rsp
sub rsp, 0x118
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
lea rax, [0x004f62e0]
mov rbx, rcx
lea rcx, [rsp + 0x108]
call sym.runtime.mapaccess2
nop dword [rax]
test bl, bl
jne 0x45f63a
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x108], rdx
mov rsi, qword [rsp + 0x130]
mov qword [rsp + 0x110], rsi
lea rax, [0x004f62e0]
mov rbx, qword [rsp + 0x138]
lea rcx, [rsp + 0x108]
nop
call sym.runtime.mapassign
test byte [rax], al
mov rdx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
nop word [rax + rax]
cmp rdx, rax
je 0x45f62c
movzx ecx, byte [rax + 0x17]
mov ebx, ecx
and ecx, 0x1f
movzx esi, byte [rdx + 0x17]
and esi, 0x1f
nop dword [rax]
cmp sil, cl
jne 0x45f621
mov byte [rsp + 0x1f], bl
mov byte [rsp + 0x1e], cl
call sym.runtime.rtype.string
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x130]
call sym.runtime.rtype.string
mov rcx, qword [rsp + 0x78]
cmp rbx, rcx
jne 0x45f615
mov rbx, rax
mov rax, qword [rsp + 0x100]
call sym.runtime.memequal
test al, al
je 0x45f615
mov rax, qword [rsp + 0x128]
movzx edx, byte [rax + 0x14]
test dl, 1
jne 0x45f1ab
xor edx, edx
jmp 0x45f1fa
movzx edx, byte [rax + 0x17]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 8
ja 0x45f1f6
lea rcx, [0x00542440]
jmp qword [rcx + rdx*8]
lea rdx, [rax + 0x30]
mov rsi, qword [rsp + 0x130]
movzx edi, byte [rsi + 0x14]
test dil, 1
jne 0x45f210
xor edi, edi
jmp 0x45f266
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
add rdi, 0xffffffffffffffef
nop dword [rax + rax]
cmp rdi, 8
ja 0x45f262
lea rcx, [0x005424a0]
jmp qword [rcx + rdi*8]
lea rdi, [rsi + 0x30]
test rdx, rdx
jne 0x45f279
test rdi, rdi
je 0x45f300
test rdx, rdx
je 0x45f27e
test rdi, rdi
jne 0x45f289
xor eax, eax
add rsp, 0x118
pop rbp
ret
mov qword [rsp + 0xa0], rdi
mov ebx, dword [rdx]
call sym.runtime.resolveNameOff
call sym.internal_abi.Name.Name
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0xa0]
mov ecx, dword [rcx]
mov rax, qword [rsp + 0x130]
mov ebx, ecx
nop
call sym.runtime.resolveNameOff
call sym.internal_abi.Name.Name
mov rcx, qword [rsp + 0x40]
cmp rbx, rcx
jne 0x45f60a
mov rbx, rax
mov rax, qword [rsp + 0xc0]
call sym.runtime.memequal
test al, al
je 0x45f60a
mov rax, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
movzx edx, byte [rsp + 0x1e]
test dl, dl
je 0x45f31c
cmp dl, 0x10
ja 0x45f31c
mov eax, 1
add rsp, 0x118
pop rbp
ret
movzx edx, byte [rsp + 0x1f]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 9
ja 0x45fc00
lea rcx, [0x00542840]
jmp qword [rcx + rdx*8]
xor eax, eax
add rsp, 0x118
pop rbp
ret
xor eax, eax
add rsp, 0x118
pop rbp
nop
ret
xor eax, eax
add rsp, 0x118
pop rbp
ret
mov eax, 1
add rsp, 0x118
pop rbp
ret
mov eax, 1
add rsp, 0x118
pop rbp
ret
call sym.runtime.printlock
lea rax, [0x005186b9]
mov ebx, 0x1e
call sym.runtime.printstring
movzx eax, byte [rsp + 0x1f]
and eax, 0x1f
nop
call sym.runtime.printuint
call sym.runtime.printnl
call sym.runtime.printunlock
lea rax, [0x005180ea]
mov ebx, 0x1d
nop dword [rax + rax]
call sym.runtime.throw
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.runtime.typesEqual