Function at 0x14005c890
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 0x14005c92a
mov byte [rsp + 0x1f8], 1
lea rcx, [rsp + 0x1f8]
call fcn.140018900
cmp byte [r14 + 0x28], 0
jne 0x14005c945
lea rcx, [rsp + 0x1f8]
call fcn.14001a370
xor al, al
jmp 0x14005d11b
mov byte [rsp + 0x30], 0
lea r8, [rsp + 0xa8]
lea rdx, str.SELECT__FROM_Win32_BIOS
mov rcx, r14
call fcn.14005dc90
xor ebx, ebx
lea esi, [rbx - 1]
test al, al
je 0x14005cdc1
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 0x14005cdb2
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.14005d5a0
lea r9, [rsp + 0x70]
lea r8, str.name
mov rdx, qword [rsp + 0x38]
call fcn.14005d5a0
test al, al
je 0x14005cb17
mov qword [rsp + 0x40], rbx
cmp word [rsp + 0x70], 8
jne 0x14005ca12
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x40]
call fcn.14005f640
jmp 0x14005ca6e
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 0x14005d144
mov rdx, qword [rsp + 0x160]
lea rcx, [rsp + 0x40]
call fcn.14005f640
nop
lea rcx, [rsp + 0x158]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14005ca7d
mov rdx, qword [rax]
jmp 0x14005ca80
mov rdx, rbx
lea rcx, [rsp + 0x220]
call fcn.140009bd0
nop
mov rdx, rax
mov rcx, r15
call fcn.140054d40
nop
lea rcx, [rsp + 0x220]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14005cb17
mov qword [rsp + 0x100], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xb8], eax
jne 0x14005cb12
mov rdi, qword [rsp + 0x100]
test rdi, rdi
je 0x14005cb12
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005caeb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005cb05
mov qword [rsp + 0x1f0], rcx
call fcn.14008c190
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.14005d5a0
test al, al
je 0x14005cc59
mov qword [rsp + 0x48], rbx
cmp word [rsp + 0x70], 8
jne 0x14005cb53
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.14005f640
jmp 0x14005cbaf
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 0x14005d14c
mov rdx, qword [rsp + 0x178]
lea rcx, [rsp + 0x48]
call fcn.14005f640
nop
lea rcx, [rsp + 0x170]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14005cbbe
mov rdx, qword [rax]
jmp 0x14005cbc1
mov rdx, rbx
lea rcx, [rsp + 0x240]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x30]
mov rdx, rax
call fcn.140054d40
nop
lea rcx, [rsp + 0x240]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005cc59
mov qword [rsp + 0x108], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xc8], eax
jne 0x14005cc54
mov rdi, qword [rsp + 0x108]
test rdi, rdi
je 0x14005cc54
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cc2d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005cc47
mov qword [rsp + 0x1d0], rcx
call fcn.14008c190
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.14005d5a0
test al, al
je 0x14005cd9b
mov qword [rsp + 0x50], rbx
cmp word [rsp + 0x70], 8
jne 0x14005cc95
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.14005f640
jmp 0x14005ccf1
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 0x14005d154
mov rdx, qword [rsp + 0x190]
lea rcx, [rsp + 0x50]
call fcn.14005f640
nop
lea rcx, [rsp + 0x188]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14005cd00
mov rdx, qword [rax]
jmp 0x14005cd03
mov rdx, rbx
lea rcx, [rsp + 0x260]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x10]
mov rdx, rax
call fcn.140054d40
nop
lea rcx, [rsp + 0x260]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005cd9b
mov qword [rsp + 0x110], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xd8], eax
jne 0x14005cd96
mov rdi, qword [rsp + 0x110]
test rdi, rdi
je 0x14005cd96
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cd6f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005cd89
mov qword [rsp + 0x1d8], rcx
call fcn.14008c190
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 0x14005cdd8
lea r8, [rsp + 0xb0]
lea rdx, str.SELECT__FROM_Win32_ComputerSystem
mov rcx, r14
call fcn.14005dc90
test al, al
je 0x14005d109
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 0x14005d0fa
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.14005d5a0
test al, al
je 0x14005cf9c
mov qword [rsp + 0x58], rbx
cmp word [rsp + 0x90], 8
jne 0x14005ce93
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x58]
call fcn.14005f640
jmp 0x14005cef2
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 0x14005d15c
mov rdx, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x58]
call fcn.14005f640
nop
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14005cf01
mov rdx, qword [rax]
jmp 0x14005cf04
mov rdx, rbx
lea rcx, [rsp + 0x280]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x50]
mov rdx, rax
call fcn.140054d40
nop
lea rcx, [rsp + 0x280]
call fcn.140009bb8
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14005cf9c
mov qword [rsp + 0x138], rcx
mov eax, esi
lock xadd dword [rcx + 0x10], eax
sub eax, 1
mov dword [rsp + 0xe8], eax
jne 0x14005cf97
mov rdi, qword [rsp + 0x138]
test rdi, rdi
je 0x14005cf97
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005cf70
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005cf8a
mov qword [rsp + 0x1e0], rcx
call fcn.14008c190
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.14005d5a0
test al, al
je 0x14005d0e0
mov qword [rsp + 0x60], rbx
cmp word [rsp + 0x90], 8
jne 0x14005cfe1
mov rdx, qword [rsp + 0x98]
lea rcx, [rsp + 0x60]
call fcn.14005f640
jmp 0x14005d040
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 0x14005d164
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0x60]
call fcn.14005f640
nop
lea rcx, [rsp + 0x1b8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005d04f
mov rdx, qword [rax]
jmp 0x14005d052
mov rdx, rbx
lea rcx, [rsp + 0x2a0]
call fcn.140009bd0
nop
lea rcx, [r15 + 0x40]
mov rdx, rax
call fcn.140054d40
nop
lea rcx, [rsp + 0x2a0]
call fcn.140009bb8
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005d0e0
mov qword [rsp + 0x140], rax
lock xadd dword [rax + 0x10], esi
sub esi, 1
mov dword [rsp + 0xf8], esi
jne 0x14005d0db
mov rdi, qword [rsp + 0x140]
test rdi, rdi
je 0x14005d0db
mov rcx, qword [rdi]
test rcx, rcx
je 0x14005d0bc
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], rbx
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14005d0ce
call fcn.14008c190
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.14022b120
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.14022c4c0
nop
mov ecx, eax
call fcn.14022c4c0
nop
mov ecx, eax
call fcn.14022c4c0
nop
mov ecx, eax
call fcn.14022c4c0
nop
mov ecx, eax
call fcn.14022c4c0
int3