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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.1401b7d00
sub rsp, rax
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x1438], rbx
mov qword [rsp + 0x1440], rsi
mov rax, qword [0x1402ad7a8]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov rsi, rcx
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x30]
call fcn.1401bd240
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0xe0]
call fcn.1401bd240
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x1f0]
call fcn.1401bd240
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x300]
call fcn.1401bd240
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0xb00]
call fcn.1401bd240
xor r14d, r14d
mov qword [rsp + 0x58], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x1401fecf0]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x1401fed00]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14002113f
mov qword [rsp + 0x50], r14
lea ecx, [r14 + 0x18]
call fcn.1400358dc
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140020cac
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.ROOTCIMV2
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140021173
jmp 0x140020caf
mov rbx, r14
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x14002117e
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x18]
mov edi, eax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140020d2f
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020d10
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020d22
call fcn.140035924
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003596c
test edi, edi
js 0x140020d71
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0xa]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x140020d7b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
jmp 0x140021139
mov ecx, 0x18
call fcn.1400358dc
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140020dae
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Win32_PnPEntity
call fcn.1401bb9a0
mov qword [rbx], rax
jmp 0x140020db1
mov rbx, r14
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x140021189
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8d, [r9 + 1]
mov rdx, qword [rbx]
call qword [rax + 0x90]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140020e20
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020e01
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020e13
call fcn.140035924
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003596c
mov dword [rsp + 0x68], r14d
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x70]
mov edx, 0x2710
mov r8d, 1
call qword [rax + 0x20]
cmp eax, 1
je 0x14002110f
test eax, eax
jne 0x140020e20
lea ecx, [rax + 0x18]
call fcn.1400358dc
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140020e87
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.DeviceID
call fcn.1401bb9a0
mov qword [rbx], rax
jmp 0x140020e8a
mov rbx, r14
mov qword [rbp - 0x48], rbx
test rbx, rbx
je 0x140021168
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x80]
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x20]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140020ef6
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020ed7
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020ee9
call fcn.140035924
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003596c
cmp word [rbp - 0x80], 1
je 0x140020f39
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0x300]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rbp - 0x78]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, [rbp - 0x80]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp byte [rbp + 0x300], 0
je 0x140020e20
mov r8d, 7
lea rdx, str.DISPLAY
lea rcx, [rbp + 0x300]
call fcn.1401ca900
test eax, eax
jne 0x140020e20
lea rdx, str.DEFAULT_MONITOR_
lea rcx, [rbp + 0x300]
call fcn.1401bc4c4
test rax, rax
jne 0x140020e20
lea ecx, [rax + 0x18]
call fcn.1400358dc
mov rbx, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140020fb3
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Manufacturer
call fcn.1401bb9a0
mov qword [rbx], rax
jmp 0x140020fb6
mov rbx, r14
mov qword [rbp - 0x38], rbx
test rbx, rbx
je 0x140021194
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x80]
xor r8d, r8d
mov rdx, qword [rbx]
call qword [rax + 0x20]
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140021022
mov rcx, qword [rbx]
test rcx, rcx
je 0x140021003
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140021015
call fcn.140035924
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003596c
cmp word [rbp - 0x80], 1
je 0x140021065
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SetErrorInfo
lea rax, [rbp + 0xb00]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rbp - 0x78]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, [rbp - 0x80]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
movzx eax, byte [rbp + 0x300]
mov ecx, eax
cmp al, 0x28
cmove ecx, r14d
mov byte [rbp + 0x300], cl
lea r8, [rbp + 0x300]
mov edx, 0x104
lea rcx, [rbp - 0x30]
call fcn.1401c9a7c
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x30]
call fcn.1400211a0
lea r8, str.Monitor:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cb4
lea r8, [rbp + 0xe0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cb4
lea r8, str._serial:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cb4
lea r8, [rbp + 0x1f0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cb4
lea r8, [0x14026b8d4]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cb4
jmp 0x140020e20
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14002111f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002112f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14002113f
mov rax, qword [rcx]
call qword [rax + 0x10]
xor eax, eax
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1401b7280
lea r11, [rsp + 0x1410]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1401bb990
nop
mov ecx, 0x8007000e
call fcn.1401bb990
nop
mov ecx, 0x8007000e
call fcn.1401bb990
int3
mov ecx, 0x8007000e
call fcn.1401bb990
int3
mov ecx, 0x8007000e
call fcn.1401bb990
int3