Function at 0x14016dc60
Capabilities:
Reference wmi statements

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x3a0
mov rax, qword [0x140371698]
xor rax, rsp
mov qword [rsp + 0x390], rax
mov rsi, rcx
mov qword [rsp + 0x88], rcx
xor r15d, r15d
mov byte [rsp + 0x50], 1
xor edx, edx
xor ecx, ecx
call qword [0x14027f8b0]
cmp eax, 1
je 0x14016dcb1
cmp eax, 0x80010106
jne 0x14016dcb6
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x68], r15
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [0x1402d7668]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14028fa98]
call qword [0x14027f8c0]
mov rbx, qword [rsp + 0x68]
test eax, eax
cmovs rbx, r15
mov qword [rsp + 0x68], rbx
mov edx, 0x80000000
lea ecx, [rax + rdx]
test edx, ecx
jne 0x14016dd06
cmp eax, 0x80004002
jne 0x14016df83
mov qword [rsp + 0x58], r15
test rbx, rbx
je 0x14016dff2
mov rax, qword [rbx]
mov r14, qword [rax + 0x18]
mov qword [rsp + 0x58], r15
mov ecx, 0x18
call fcn.14024d580
mov rdi, rax
mov qword [rsp + 0x80], rax
test rax, rax
je 0x14016dd60
mov qword [rax + 8], r15
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [0x140279978]
mov qword [rdi], rax
test rax, rax
je 0x14016df8b
jmp 0x14016dd63
mov rdi, r15
mov qword [rsp + 0x98], rdi
test rdi, rdi
je 0x14016df96
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rdi]
mov rcx, rbx
call r14
mov ebx, eax
mov eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
cmp eax, 1
jne 0x14016dde2
mov rcx, qword [rdi]
test rcx, rcx
je 0x14016ddc3
call qword [0x140279970]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14016ddd5
call fcn.14024d570
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.14024d570
test ebx, ebx
js 0x14016dfa0
mov dword [rsp + 0x38], r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x58]
call qword [0x14027f8b8]
test eax, eax
js 0x14016dfc9
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x14016de37
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea r8, str.SELECT__FROM_CIM_OperatingSystem
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x80]
call fcn.14016d8b0
nop
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14016dec4
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0xa8]
call fcn.14016dab0
nop
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0xc0]
call fcn.14016d750
lea rcx, [rsi + 8]
mov rdx, rax
call qword [0x14027b470]
lea rcx, [rsp + 0xc0]
call qword [0x14027b668]
nop
lea rcx, [rsp + 0xa8]
call qword [0x140279960]
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14016ded0
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14016e000
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14016e310
mov rax, qword [rsi]
lea rdx, [rsp + 0xd8]
mov rcx, rsi
call qword [rax + pe_nt_image_headers64]
lea rcx, [rsi + 0x58]
mov rdx, rax
call fcn.14016cb80
lea rcx, [rsp + 0xd8]
call fcn.14016b8f0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14016df29
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14016df3a
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14016df44
mov rcx, rsi
call fcn.14016b540
nop
cmp byte [rsp + 0x50], 0
je 0x14016df5a
call qword [0x14027f8a8]
mov rcx, qword [rsp + 0x390]
xor rcx, rsp
call fcn.14024d520
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov ecx, eax
call fcn.14024e870
nop
mov ecx, 0x8007000e
call fcn.14024e870
nop
mov ecx, 0x8007000e
call fcn.14024e870
xor r9d, r9d
xor r8d, r8d
mov edx, ebx
lea rcx, [rsp + 0xf0]
call fcn.14016d4d0
lea rdx, [0x14032d290]
lea rcx, [rsp + 0xf0]
call fcn.14024ebe0
xor r9d, r9d
xor r8d, r8d
mov edx, eax
lea rcx, [rsp + 0x110]
call fcn.14016d4d0
lea rdx, [0x14032d290]
lea rcx, [rsp + 0x110]
call fcn.14024ebe0
mov ecx, 0x80004003
call fcn.14024e870
int3