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

Disassembly:
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1310]
mov eax, 0x1410
call fcn.1401b7d20
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.1401bd260
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0xe0]
call fcn.1401bd260
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x1f0]
call fcn.1401bd260
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x300]
call fcn.1401bd260
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0xb00]
call fcn.1401bd260
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 0x14002109f
mov qword [rsp + 0x50], r14
lea ecx, [r14 + 0x18]
call fcn.1400358fc
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140020c0c
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 0x1400210d3
jmp 0x140020c0f
mov rbx, r14
mov qword [rbp - 0x60], rbx
test rbx, rbx
je 0x1400210de
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 0x140020c8f
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020c70
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020c82
call fcn.140035944
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003598c
test edi, edi
js 0x140020cd1
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 0x140020cdb
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
jmp 0x140021099
mov ecx, 0x18
call fcn.1400358fc
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140020d0e
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Win32_PnPEntity
call fcn.1401bb9c0
mov qword [rbx], rax
jmp 0x140020d11
mov rbx, r14
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x1400210e9
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 0x140020d80
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020d61
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020d73
call fcn.140035944
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003598c
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 0x14002106f
test eax, eax
jne 0x140020d80
lea ecx, [rax + 0x18]
call fcn.1400358fc
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140020de7
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.DeviceID
call fcn.1401bb9c0
mov qword [rbx], rax
jmp 0x140020dea
mov rbx, r14
mov qword [rbp - 0x48], rbx
test rbx, rbx
je 0x1400210c8
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 0x140020e56
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020e37
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020e49
call fcn.140035944
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003598c
cmp word [rbp - 0x80], 1
je 0x140020e99
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 0x140020d80
mov r8d, 7
lea rdx, str.DISPLAY
lea rcx, [rbp + 0x300]
call fcn.1401ca920
test eax, eax
jne 0x140020d80
lea rdx, str.DEFAULT_MONITOR_
lea rcx, [rbp + 0x300]
call fcn.1401bc4e4
test rax, rax
jne 0x140020d80
lea ecx, [rax + 0x18]
call fcn.1400358fc
mov rbx, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140020f13
mov qword [rax + 8], r14
mov dword [rax + 0x10], 1
lea rcx, str.Manufacturer
call fcn.1401bb9c0
mov qword [rbx], rax
jmp 0x140020f16
mov rbx, r14
mov qword [rbp - 0x38], rbx
test rbx, rbx
je 0x1400210f4
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 0x140020f82
mov rcx, qword [rbx]
test rcx, rcx
je 0x140020f63
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140020f75
call fcn.140035944
mov qword [rbx + 8], r14
mov edx, 0x18
mov rcx, rbx
call fcn.14003598c
cmp word [rbp - 0x80], 1
je 0x140020fc5
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.1401c9a9c
lea r8, [rbp + 0x1f0]
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x30]
call fcn.140021100
lea r8, str.Monitor:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cd4
lea r8, [rbp + 0xe0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cd4
lea r8, str._serial:
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cd4
lea r8, [rbp + 0x1f0]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cd4
lea r8, [0x14026b8c4]
mov edx, 0x800
mov rcx, rsi
call fcn.1401c9cd4
jmp 0x140020d80
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14002107f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002108f
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14002109f
mov rax, qword [rcx]
call qword [rax + 0x10]
xor eax, eax
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.1401b72a0
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.1401bb9b0
nop
mov ecx, 0x8007000e
call fcn.1401bb9b0
nop
mov ecx, 0x8007000e
call fcn.1401bb9b0
int3
mov ecx, 0x8007000e
call fcn.1401bb9b0
int3
mov ecx, 0x8007000e
call fcn.1401bb9b0
int3