Function at 0x140050c70
Capabilities:
Reference wmi statements

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x7b0
mov rax, qword [0x140309918]
xor rax, rsp
mov qword [rsp + 0x7a0], rax
mov rsi, rdx
cmp byte [rcx + 0x28], 0
jne 0x140050ca8
xor al, al
jmp 0x140050fd6
xor r14b, r14b
mov byte [rsp + 0x30], r14b
mov qword [rsp + 0x50], 0
lea r8, [rsp + 0x50]
lea rdx, str.SELECT__FROM_Win32_BaseBoard
call fcn.1400517b0
test al, al
je 0x140050fca
mov dword [rsp + 0x34], 0
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rsp + 0x34]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x160]
mov edx, 0xffffffff
mov r8d, MsiSourceListClearAllW
call qword [rax + 0x20]
test eax, eax
js 0x140050fbe
xor edi, edi
nop dword [rax]
cmp edi, dword [rsp + 0x34]
jae 0x140050fbe
lea rcx, [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
lea rbx, [rsp + 0x160]
lea rbx, [rbx + rdi*8]
lea r9, [rsp + 0x38]
lea r8, str.Manufacturer
mov rdx, qword [rbx]
call fcn.140051020
test al, al
je 0x140050ddc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], rax
lea rcx, [rsp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140050fff
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
jne 0x140050da7
xor eax, eax
jmp 0x140050dba
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140050db0
mov r8d, eax
mov rcx, rsi
call fcn.140002aa8
nop
lea rcx, [rsp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov r14b, 1
mov byte [rsp + 0x30], r14b
lea r9, [rsp + 0x38]
lea r8, str.Product
mov rdx, qword [rbx]
call fcn.140051020
test al, al
je 0x140050e85
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140051007
mov rdx, qword [rsp + 0x98]
test rdx, rdx
jne 0x140050e51
xor eax, eax
jmp 0x140050e6a
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140050e60
mov r8d, eax
lea rcx, [rsi + 8]
call fcn.140002aa8
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea r9, [rsp + 0x38]
lea r8, [0x1402bf5e8]
mov rdx, qword [rbx]
call fcn.140051020
test al, al
je 0x140050f16
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x14005100f
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jne 0x140050eed
xor eax, eax
jmp 0x140050efe
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x140050ef4
mov r8d, eax
lea rcx, [rsi + 0x10]
call fcn.140002aa8
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
lea r9, [rsp + 0x38]
lea r8, str.SerialNumber
mov rdx, qword [rbx]
call fcn.140051020
test al, al
je 0x140050fa2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140051017
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x140050f78
xor eax, eax
jmp 0x140050f8a
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rdx + rax*2], 0
jne 0x140050f80
mov r8d, eax
lea rcx, [rsi + 0x38]
call fcn.140002aa8
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
inc edi
jmp 0x140050d10
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140050fd2
movzx eax, r14b
mov rcx, qword [rsp + 0x7a0]
xor rcx, rsp
call fcn.1402113c0
lea r11, [rsp + 0x7b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov ecx, eax
call fcn.140002d2c
nop
mov ecx, eax
call fcn.140002d2c
nop
mov ecx, eax
call fcn.140002d2c
nop
mov ecx, eax
call fcn.140002d2c
int3