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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.1401b77d0
sub rsp, rax
mov qword [rbp - 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x1438], rbx
mov qword [rsp + 0x1440], rsi
mov rax, qword [0x1402ac7a8]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov rsi, rcx
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x30]
call fcn.1401bcd10
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0xe0]
call fcn.1401bcd10
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x1f0]
call fcn.1401bcd10
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x300]
call fcn.1401bcd10
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0xb00]
call fcn.1401bcd10
xor r14d, r14d
mov qword [rsp + 0x58], r14
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x1401fdcf0]
xor edx, edx
lea r8d, [r14 + 1]
lea rcx, [0x1401fdd00]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140020ebf
mov qword [rsp + 0x50], r14
lea ecx, [r14 + 0x18]
call fcn.1400353ac
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140020a2c
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 0x140020ef3
jmp 0x140020a2f
mov rbx, r14
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x140020efe
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 0x140020aaf
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020a90
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020aa2
call fcn.1400353f4
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003543c
test edi, edi
js 0x140020af1
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 0x140020afb
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
jmp 0x140020eb9
mov ecx, 0x18
call fcn.1400353ac
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140020b2e
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Win32_PnPEntity
call fcn.1401bb470
mov qword [rbx], rax
jmp 0x140020b31
mov rbx, r14
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x140020f09
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 0x140020ba0
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020b81
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020b93
call fcn.1400353f4
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003543c
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 0x140020e8f
test eax, eax
jne 0x140020ba0
lea ecx, [rax + 0x18]
call fcn.1400353ac
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140020c07
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.DeviceID
call fcn.1401bb470
mov qword [rbx], rax
jmp 0x140020c0a
mov rbx, r14
mov qword [rbp - 0x48], rbx
test rbx, rbx
je 0x140020ee8
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 0x140020c76
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020c57
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020c69
call fcn.1400353f4
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003543c
cmp word [rbp - 0x80], 1
je 0x140020cb9
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 0x140020ba0
mov r8d, 7
lea rdx, str.DISPLAY
lea rcx, [rbp + 0x300]
call fcn.1401ca3d0
test eax, eax
jne 0x140020ba0
lea rdx, str.DEFAULT_MONITOR_
lea rcx, [rbp + 0x300]
call fcn.1401bbf94
test rax, rax
jne 0x140020ba0
lea ecx, [rax + 0x18]
call fcn.1400353ac
mov rbx, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140020d33
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Manufacturer
call fcn.1401bb470
mov qword [rbx], rax
jmp 0x140020d36
mov rbx, r14
mov qword [rbp - 0x38], rbx
test rbx, rbx
je 0x140020f14
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 0x140020da2
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020d83
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020d95
call fcn.1400353f4
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003543c
cmp word [rbp - 0x80], 1
je 0x140020de5
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.1401c954c
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x30]
call fcn.140020f20
lea r8, str.Monitor:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9784
lea r8, [rbp + 0xe0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9784
lea r8, str._serial:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9784
lea r8, [rbp + 0x1f0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9784
lea r8, [0x14026a8b4]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9784
jmp 0x140020ba0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140020e9f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140020eaf
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140020ebf
mov rax, qword [rcx]
call qword [rax + 0x10]
xor eax, eax
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1401b6d50
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.1401bb460
nop
mov ecx, 0x8007000e
call fcn.1401bb460
nop
mov ecx, 0x8007000e
call fcn.1401bb460
int3
mov ecx, 0x8007000e
call fcn.1401bb460
int3
mov ecx, 0x8007000e
call fcn.1401bb460
int3