Function at 0x14005c910
Capabilities:
Reference wmi statements

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0x2d0
mov qword [r11 - 0x100], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x14035d8c0]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov r15, rdx
mov r14, rcx
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x120], rdx
lea rcx, [r11 - 0xe8]
call fcn.14000a1bc
nop
mov byte [rsp + 0x1f8], 0
mov r8d, 0x17
lea rdx, str.srl::WMI::GetBiosValues
lea rcx, [rsp + 0x200]
call fcn.140009e14
nop
call fcn.140022850
cmp dword [rax + 8], 4
jl 0x14005c9aa
mov byte [rsp + 0x1f8], 1
lea rcx, [rsp + 0x1f8]
call fcn.140018900
cmp byte [r14 + 0x28], 0
jne 0x14005c9c5
lea rcx, [rsp + 0x1f8]
call fcn.14001a370
xor al, al
jmp 0x14005d19b
mov byte [rsp + 0x30], 0
lea r8, [rsp + 0xa8]
lea rdx, str.SELECT__FROM_Win32_BIOS
mov rcx, r14
call fcn.14005dd10
xor ebx, ebx
lea esi, [rbx - 1]
test al, al
je 0x14005ce41
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x88], ebx
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x88]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x38]
lea r8d, [rbx + 1]
mov edx, esi
call qword [rax + 0x20]
mov dword [rsp + 0x148], eax
test eax, eax
jne 0x14005ce32
lea rcx, [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x70]
lea r8, str.Version
mov rdx, qword [rsp + 0x38]
call fcn.14005d620
lea r9, [rsp + 0x70]
lea r8, str.name
mov rdx, qword [rsp + 0x38]
call fcn.14005d620
test al, al
je 0x14005cb97
mov qword [rsp + 0x40], rbx
cmp word [rsp + 0x70], 8
jne 0x14005ca92
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.14005f6c0
jmp 0x14005caee
lea rcx, [rsp + 0x158]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x158]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [rsp + 0x150], eax
test eax, eax
js 0x14005d1c4
mov rdx, qword [rsp + 0x160]
lea rcx, [rsp + 0x40]
call fcn.14005f6c0
nop
lea rcx, [rsp + 0x158]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14005cafd
mov rdx, qword [rax]
jmp 0x14005cb00
mov rdx, rbx
lea rcx, [rsp + 0x220]
call fcn.140009bd0
nop
mov rdx, rax
mov rcx, r15
call fcn.140054dc0
nop
lea rcx, [rsp + 0x220]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005cb97
mov qword [rsp + 0x100], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xb8], eax
jne 0x14005cb92
mov rdi, qword [rsp + 0x100]
test rdi, rdi
je 0x14005cb92
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cb6b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005cb85
mov qword [rsp + 0x1f0], rcx
call fcn.14008c210
mov qword [rdi + 8], rbx
mov edx, 0x18
mov rcx, rdi
call fcn.1400045a8
mov qword [rsp + 0x40], rbx
lea r9, [rsp + 0x70]
lea r8, str.Manufacturer
mov rdx, qword [rsp + 0x38]
call fcn.14005d620
test al, al
je 0x14005ccd9
mov qword [rsp + 0x48], rbx
cmp word [rsp + 0x70], 8
jne 0x14005cbd3
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.14005f6c0
jmp 0x14005cc2f
lea rcx, [rsp + 0x170]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x170]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [rsp + 0xc0], eax
test eax, eax
js 0x14005d1cc
mov rdx, qword [rsp + 0x178]
lea rcx, [rsp + 0x48]
call fcn.14005f6c0
nop
lea rcx, [rsp + 0x170]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14005cc3e
mov rdx, qword [rax]
jmp 0x14005cc41
mov rdx, rbx
lea rcx, [rsp + 0x240]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x30]
mov rdx, rax
call fcn.140054dc0
nop
lea rcx, [rsp + 0x240]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005ccd9
mov qword [rsp + 0x108], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xc8], eax
jne 0x14005ccd4
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x14005ccd4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005ccad
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005ccc7
mov qword [rsp + 0x1d0], rcx
call fcn.14008c210
mov qword [rdi + 8], rbx
mov edx, 0x18
mov rcx, rdi
call fcn.1400045a8
mov qword [rsp + 0x48], rbx
lea r9, [rsp + 0x70]
lea r8, str.SMBIOSBIOSVersion
mov rdx, qword [rsp + 0x38]
call fcn.14005d620
test al, al
je 0x14005ce1b
mov qword [rsp + 0x50], rbx
cmp word [rsp + 0x70], 8
jne 0x14005cd15
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.14005f6c0
jmp 0x14005cd71
lea rcx, [rsp + 0x188]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x188]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [rsp + 0xd0], eax
test eax, eax
js 0x14005d1d4
mov rdx, qword [rsp + 0x190]
lea rcx, [rsp + 0x50]
call fcn.14005f6c0
nop
lea rcx, [rsp + 0x188]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14005cd80
mov rdx, qword [rax]
jmp 0x14005cd83
mov rdx, rbx
lea rcx, [rsp + 0x260]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x10]
mov rdx, rax
call fcn.140054dc0
nop
lea rcx, [rsp + 0x260]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005ce1b
mov qword [rsp + 0x110], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xd8], eax
jne 0x14005ce16
mov rdi, qword [rsp + 0x110]
test rdi, rdi
je 0x14005ce16
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cdef
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005ce09
mov qword [rsp + 0x1d8], rcx
call fcn.14008c210
mov qword [rdi + 8], rbx
mov edx, 0x18
mov rcx, rdi
call fcn.1400045a8
mov qword [rsp + 0x50], rbx
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x14005ce58
lea r8, [rsp + 0xb0]
lea rdx, str.SELECT__FROM_Win32_ComputerSystem
mov rcx, r14
call fcn.14005dd10
test al, al
je 0x14005d189
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x8c], ebx
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x8c]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x68]
mov r8d, 1
mov edx, esi
call qword [rax + 0x20]
mov dword [rsp + 0xdc], eax
test eax, eax
jne 0x14005d17a
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov byte [rsp + 0x30], 1
lea r9, [rsp + 0x90]
lea r8, str.Model
mov rdx, qword [rsp + 0x68]
call fcn.14005d620
test al, al
je 0x14005d01c
mov qword [rsp + 0x58], rbx
cmp word [rsp + 0x90], 8
jne 0x14005cf13
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x58]
call fcn.14005f6c0
jmp 0x14005cf72
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [rsp + 0xe0], eax
test eax, eax
js 0x14005d1dc
mov rdx, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x58]
call fcn.14005f6c0
nop
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14005cf81
mov rdx, qword [rax]
jmp 0x14005cf84
mov rdx, rbx
lea rcx, [rsp + 0x280]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x50]
mov rdx, rax
call fcn.140054dc0
nop
lea rcx, [rsp + 0x280]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005d01c
mov qword [rsp + 0x138], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xe8], eax
jne 0x14005d017
mov rdi, qword [rsp + 0x138]
test rdi, rdi
je 0x14005d017
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cff0
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005d00a
mov qword [rsp + 0x1e0], rcx
call fcn.14008c210
mov qword [rdi + 8], rbx
mov edx, 0x18
mov rcx, rdi
call fcn.1400045a8
mov qword [rsp + 0x58], rbx
lea r9, [rsp + 0x90]
lea r8, str.Manufacturer
mov rdx, qword [rsp + 0x68]
call fcn.14005d620
test al, al
je 0x14005d160
mov qword [rsp + 0x60], rbx
cmp word [rsp + 0x90], 8
jne 0x14005d061
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x60]
call fcn.14005f6c0
jmp 0x14005d0c0
lea rcx, [rsp + 0x1b8]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x1b8]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [rsp + 0xf0], eax
test eax, eax
js 0x14005d1e4
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x60]
call fcn.14005f6c0
nop
lea rcx, [rsp + 0x1b8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005d0cf
mov rdx, qword [rax]
jmp 0x14005d0d2
mov rdx, rbx
lea rcx, [rsp + 0x2a0]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x40]
mov rdx, rax
call fcn.140054dc0
nop
lea rcx, [rsp + 0x2a0]
call fcn.140009bb8
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005d160
mov qword [rsp + 0x140], rax
lock xadd dword [rax + 0x10], esi
sub esi, 1
mov dword [rsp + 0xf8], esi
jne 0x14005d15b
mov rdi, qword [rsp + 0x140]
test rdi, rdi
je 0x14005d15b
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005d13c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005d14e
call fcn.14008c210
mov qword [rdi + 8], rbx
mov edx, 0x18
mov rcx, rdi
call fcn.1400045a8
mov qword [rsp + 0x60], rbx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x1f8]
call fcn.14001a370
movzx eax, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.14022b1a0
lea r11, [rsp + 0x2d0]
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.14022c540
nop
mov ecx, eax
call fcn.14022c540
nop
mov ecx, eax
call fcn.14022c540
nop
mov ecx, eax
call fcn.14022c540
nop
mov ecx, eax
call fcn.14022c540
int3