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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x14049f3c0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r12, rdx
xor edi, edi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
lea edx, [rdi - 1]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
mov ecx, eax
mov edx, 0x80000000
add eax, edx
test edx, eax
jne 0x1400bd928
cmp ecx, 0x80010119
je 0x1400bd928
xor eax, eax
jmp 0x1400bdc9e
mov qword [rbp + 0x1f], rdi
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x20], rax
lea r9, [0x140405218]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140405228]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400bdc8c
mov qword [rbp + 0x17], rdi
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov r14, qword [rax + 0x18]
mov ecx, 0x18
call fcn.1402baa0c
mov rsi, rax
mov qword [rbp - 1], rax
test rax, rax
je 0x1400bd9ae
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsi], rax
test rax, rax
je 0x1400bdcd1
jmp 0x1400bd9b1
mov rsi, rdi
mov qword [rbp - 1], rsi
test rsi, rsi
je 0x1400bdcdc
lea rax, [rbp + 0x17]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, rbx
call r14
mov ebx, eax
lea rcx, [rbp - 1]
call fcn.1400b2290
test ebx, ebx
js 0x1400bdc7c
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rbp + 0x17]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x1400bdc7c
mov qword [rbp + 7], rdi
mov rbx, qword [rbp + 0x17]
mov rax, qword [rbx]
mov r15, qword [rax + 0xa0]
mov ecx, 0x18
call fcn.1402baa0c
mov rsi, rax
mov qword [rbp - 1], rax
test rax, rax
je 0x1400bda81
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, str.SELECT_SerialNumber_FROM_Win32_BIOS
call fcn.1402bbba0
mov qword [rsi], rax
jmp 0x1400bda84
mov rsi, rdi
mov qword [rbp + 0xf], rsi
test rsi, rsi
je 0x1400bdce7
mov r14, qword [rsi]
mov ecx, 0x18
call fcn.1402baa0c
mov rsi, rax
mov qword [rbp - 1], rax
test rax, rax
je 0x1400bdad2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdi
mov dword [rsi + 0x10], 1
lea rcx, [0x1404330e4]
call fcn.1402bbba0
mov qword [rsi], rax
jmp 0x1400bdad5
mov rsi, rdi
mov qword [rbp - 1], rsi
test rsi, rsi
je 0x1400bdcc6
lea rax, [rbp + 7]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rsi]
mov rcx, rbx
call r15
mov ebx, eax
lea rcx, [rbp - 1]
call fcn.1400b2290
nop
lea rcx, [rbp + 0xf]
call fcn.1400b2290
test ebx, ebx
jns 0x1400bdb24
mov rdx, qword [rbp + 7]
jmp 0x1400bdc6d
mov word [r12], di
mov qword [rbp - 1], rdi
mov dword [rbp + 0xf], edi
mov rcx, qword [rbp + 7]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 1]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
test eax, eax
js 0x1400bdc3b
mov ebx, 8
nop dword [rax]
cmp dword [rbp + 0xf], 0
je 0x1400bdc3b
lea rcx, [rbp - 0x19]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp - 1]
mov rax, qword [rcx]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x19]
xor r8d, r8d
lea rdx, str.SerialNumber
call qword [rax + 0x20]
test eax, eax
js 0x1400bdbf1
cmp bx, word [rbp - 0x19]
jne 0x1400bdbf1
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400bdbf1
mov edx, 0x40
mov rcx, r12
mov r8, qword [rbp - 0x11]
sub r8, r12
nop dword [rax]
lea rax, [rdx + 0x7fffffbe]
test rax, rax
je 0x1400bdbe3
movzx eax, word [rcx + r8]
test ax, ax
je 0x1400bdbe3
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400bdbc0
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
lea rcx, [rbp - 0x19]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400bdc0c
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov qword [rbp - 1], rdi
mov dword [rbp + 0xf], edi
mov rcx, qword [rbp + 7]
mov rax, qword [rcx]
lea rdx, [rbp + 0xf]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 1]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
call qword [rax + 0x20]
test eax, eax
jns 0x1400bdb60
mov rdx, qword [rbp + 7]
test rdx, rdx
je 0x1400bdc55
mov qword [rbp + 7], rdi
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rdx, qword [rbp + 7]
mov edi, 1
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x1400bdc6d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rdx, qword [rbp + 7]
test rdx, rdx
je 0x1400bdc7c
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rbp + 0x17]
test rcx, rcx
je 0x1400bdc8c
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x1400bdc9c
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
nop
mov eax, edi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1402ba9b0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1402bbb90
nop
mov ecx, 0x8007000e
call fcn.1402bbb90
nop
mov ecx, 0x8007000e
call fcn.1402bbb90
nop
mov ecx, 0x8007000e
call fcn.1402bbb90
int3