Function at 0x1400a6ac0
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rsp + 0x110], rbx
mov r14, rdx
xor r15b, r15b
xor r8d, r8d
lea rdx, [0x1400de328]
mov rcx, r14
call fcn.140001e80
mov rdx, qword [0x14011e2e8]
mov r8d, dword [rdx - 0x10]
test r8d, r8d
je 0x1400a6b6d
lea rcx, [rdx - 0x18]
mov rdi, qword [r14]
sub rdi, 0x18
cmp rcx, rdi
je 0x1400a6b65
cmp dword [rdi + 0x10], 0
jl 0x1400a6b5d
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400a6b5d
call fcn.140001b90
mov rbx, rax
or r12, 0xffffffffffffffff
lock xadd dword [rdi + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400a6b54
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
mov qword [r14], rax
jmp 0x1400a6b65
mov rcx, r14
call fcn.140001e80
mov r15b, 1
jmp 0x1400a70c5
xor esi, esi
mov qword [rbp - 0x51], rsi
lea rax, [rbp - 0x51]
mov qword [rsp + 0x20], rax
lea r9, [0x1400e0938]
xor edx, edx
lea r8d, [rsi + 0x17]
lea rcx, [0x1400f07a0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov rdi, qword [rbp - 0x51]
test rdi, rdi
jne 0x1400a6ba4
jmp 0x1400a70c5
mov qword [rbp - 0x59], rsi
mov ecx, 0x18
call fcn.1400cafcc
mov rbx, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x1400a6be9
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.._rootcimv2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400a6bec
mov ecx, 0x8007000e
call fcn.1400cb6a0
int3
mov rbx, rsi
mov qword [rbp - 9], rbx
test rbx, rbx
jne 0x1400a6c00
mov ecx, 0x8007000e
call fcn.1400cb6a0
nop
mov rax, qword [rdi]
lea rcx, [rbp - 0x59]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rax + 0x18]
nop
or r12, 0xffffffffffffffff
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
jne 0x1400a6c63
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a6c4d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400a6c5b
call sub.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, rbx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x59]
test rcx, rcx
jne 0x1400a6c84
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x1400a70c5
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
jmp 0x1400a70c5
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x1400a6cc3
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a6cc1
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
jmp 0x1400a6c6c
mov qword [rbp - 0x41], rsi
mov r13, qword [rbp - 0x59]
mov ecx, 0x18
call fcn.1400cafcc
mov rdi, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x1400a6d0c
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.Select__From_Win32_BIOS
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
jne 0x1400a6d0f
mov ecx, 0x8007000e
call fcn.1400cb6a0
int3
mov rdi, rsi
mov qword [rbp + 0x17], rdi
test rdi, rdi
jne 0x1400a6d23
mov ecx, 0x8007000e
call fcn.1400cb6a0
nop
mov ecx, 0x18
call fcn.1400cafcc
mov rbx, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x1400a6d64
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, [0x1400e0b18]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400a6d67
mov ecx, 0x8007000e
call fcn.1400cb6a0
int3
mov rbx, rsi
mov qword [rbp + 0xf], rbx
test rbx, rbx
jne 0x1400a6d7b
mov ecx, 0x8007000e
call fcn.1400cb6a0
nop
mov rax, qword [r13]
lea rcx, [rbp - 0x41]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rsi
mov r9d, Ordinal_49
mov r8, qword [rdi]
mov rdx, qword [rbx]
mov rcx, r13
call qword [rax + 0xa0]
nop
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
jne 0x1400a6dd4
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a6dbd
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400a6dcb
call sub.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, rbx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
nop
mov eax, r12d
lock xadd dword [rdi + 0x10], eax
dec eax
jne 0x1400a6e04
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400a6dee
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400a6dfc
call sub.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, rdi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp - 0x41]
test rcx, rcx
jne 0x1400a6e22
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a6e1d
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
jmp 0x1400a6c6c
mov qword [rbp - 0x49], rsi
mov dword [rbp + 0x77], esi
mov rax, qword [rcx]
lea rdx, [rbp + 0x77]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x49]
mov r8d, 1
mov edx, r12d
call qword [rax + reloc.ATL100.DLL_Ordinal_32]
cmp qword [rbp - 0x49], 0
jne 0x1400a6e71
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1400a6e5c
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a6e6c
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
jmp 0x1400a6c6c
lea rcx, [rbp - 0x39]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rdi, qword [rbp - 0x49]
test rdi, rdi
jne 0x1400a6ec5
lea rcx, [rbp - 0x39]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x1400a6ea0
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1400a6eb0
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a6ec0
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
jmp 0x1400a6c6c
mov ecx, 0x18
call fcn.1400cafcc
mov rbx, rax
mov qword [rbp + 0x7f], rax
test rax, rax
je 0x1400a6f06
mov qword [rax + 8], rsi
mov dword [rax + 0x10], 1
lea rcx, str.SMBIOSBIOSVersion
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400a6f09
mov ecx, 0x8007000e
call fcn.1400cb6a0
int3
mov rbx, rsi
mov qword [rbp - 1], rbx
test rbx, rbx
jne 0x1400a6f1d
mov ecx, 0x8007000e
call fcn.1400cb6a0
nop
mov rax, qword [rdi]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x39]
xor r8d, r8d
mov rdx, qword [rbx]
mov rcx, rdi
call qword [rax + reloc.ATL100.DLL_Ordinal_32]
test eax, eax
sets dil
mov eax, r12d
lock xadd dword [rbx + 0x10], eax
dec eax
jne 0x1400a6f70
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a6f5a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400a6f68
call sub.MSVCR100.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, rbx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test dil, dil
je 0x1400a6fb5
lea rcx, [rbp - 0x39]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x1400a6f90
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1400a6fa0
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a6fb0
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
jmp 0x1400a6c6c
mov r15b, 1
lea rcx, [rbp - 0x21]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x21]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
jns 0x1400a6fe6
mov ecx, eax
call fcn.140001000
int3
mov rdx, qword [rbp - 0x19]
test rdx, rdx
je 0x1400a7000
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea esi, [rcx - 1]
mov r8d, esi
mov rcx, r14
call fcn.140001e80
nop
lea rcx, [rbp - 0x21]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rdx, qword [r14]
lea rcx, [rdx - 0x18]
mov rdi, qword [0x14011e2e8]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x1400a707b
cmp dword [rdi + 0x10], 0
jl 0x1400a706a
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400a706a
call fcn.140001b90
mov rbx, rax
lock xadd dword [rdi + 0x10], r12d
dec r12d
test r12d, r12d
jg 0x1400a705d
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
mov qword [0x14011e2e8], rax
jmp 0x1400a707b
mov r8d, dword [rdx - 0x10]
lea rcx, [0x14011e2e8]
call fcn.140001e80
nop
lea rcx, [rbp - 0x39]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x1400a7096
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1400a70a6
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x1400a70b6
mov rax, qword [rcx]
call qword [rax + Ordinal_17]
nop
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x1400a70c5
mov rdx, qword [rcx]
call qword [rdx + Ordinal_17]
movzx eax, r15b
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret