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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x268]
sub rsp, 0x340
mov rax, qword [0x1400e6870]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov r14, rcx
movabs rdx, 0x200000000000
mov r8d, 2
cmp dword [0x1400df280], 5
jbe 0x140056d89
test qword [0x1400df290], rdx
je 0x140056d89
mov rax, qword [0x1400df298]
and rax, rdx
cmp rax, qword [0x1400df298]
jne 0x140056d89
lea rax, [rbp + 0x200]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400d1a83]
lea rcx, [0x1400df280]
call fcn.140001864
xor r13d, r13d
mov qword [rbp - 0x80], r13
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r9, [0x1400bf3d8]
lea esi, [r13 + 1]
mov r8d, esi
xor edx, edx
lea rcx, [0x1400bf3e8]
call qword [sym.imp.OLE32.dll_CoCreateInstance]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jns 0x140056dfe
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x1400575d8
test byte [rcx + 0x1c], sil
je 0x1400575d8
lea edx, [rsi + 0xc]
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x1400575d8
mov qword [rsp + 0x70], r13
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea rdx, str.ROOTCIMV2
mov rax, qword [rax + 0x18]
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
jns 0x140056e6d
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x1400575c0
test byte [rcx + 0x1c], sil
je 0x1400575c0
mov edx, SafeArrayGetElemsize
jmp 0x140056eca
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
mov eax, 3
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 7]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoSetProxyBlanket]
nop dword [rax + rax]
mov edi, eax
test eax, eax
jns 0x140056ee2
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x1400575c0
test byte [rcx + 0x1c], sil
je 0x1400575c0
mov edx, SafeArrayGetLBound
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x1400575c0
mov qword [rsp + 0x68], r13
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r13
mov r15d, 0x20
mov r9d, r15d
lea r8, str.SELECT_ConfigManagerErrorCode__Name__Status_FROM_Win32_PnPEntity
lea rdx, [0x1400bafd8]
mov rax, qword [rax + 0xa0]
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
jns 0x140056f65
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x1400575a8
test byte [rcx + 0x1c], sil
je 0x1400575a8
lea edx, [r15 - 0x10]
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x1400575a8
mov r9d, 6
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.setupapi.dll_SetupDiGetClassDevsW]
nop dword [rax + rax]
mov rbx, rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
cmp rax, 0xffffffffffffffff
jne 0x140056fe9
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x140056fe9
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x14005758e
test byte [rcx + 0x1c], sil
je 0x14005758e
lea edx, [rbx + 0x12]
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x14005758e
mov dword [rbp - 0x38], r15d
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x78], r13d
mov dword [rsp + 0x5c], r13d
mov rax, qword [r14 + 0x20]
mov qword [r14 + 0x28], rax
mov esi, 0x40003
mov dword [rsp + 0x58], esi
mov r15d, r13d
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140057377
mov qword [rsp + 0x50], r13
mov rcx, qword [rax]
mov r10, qword [rcx + 0x20]
lea rcx, [rsp + 0x5c]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x50]
mov r8d, 1
or edx, 0xffffffff
mov rcx, rax
mov rax, r10
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
js 0x140057439
cmp dword [rsp + 0x5c], r13d
je 0x140057360
mov word [rbp + 0x200], r13w
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x200]
xor r8d, r8d
lea rdx, str.ConfigManagerErrorCode
mov rax, qword [rax + 0x20]
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
js 0x14005716d
mov eax, 2
cmp word [rbp + 0x200], ax
jb 0x14005716d
lea r8, [rbp - 0x38]
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.setupapi.dll_SetupDiEnumDeviceInfo]
nop dword [rax + rax]
test eax, eax
jne 0x1400570f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14005727a
xor r9d, r9d
mov r8d, dword [rbp - 0x24]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_devices_config_l1_1_1.dll_CM_Get_DevNode_Status]
nop dword [rax + rax]
test eax, eax
jne 0x1400572b8
mov eax, dword [rbp + 0x208]
test eax, eax
je 0x140057164
cmp eax, 0x16
je 0x140057164
test dword [rsp + 0x60], 0x40000000
jne 0x140057164
cmp eax, 0x28
ja 0x140057150
movabs rcx, 0x1a0800c040a
bt rcx, rax
jae 0x140057150
mov eax, 0x40001
mov esi, eax
mov dword [rsp + 0x58], eax
jmp 0x140057172
cmp esi, 0x40001
mov eax, 0x40000
cmovne esi, eax
mov dword [rsp + 0x58], esi
jmp 0x140057172
mov dword [rbp - 0xc], 0x40003
jmp 0x140057175
mov eax, 0x40000
mov dword [rbp - 0xc], eax
mov word [rbp - 0x78], r13w
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x78]
xor r8d, r8d
lea rdx, str.Name
mov rax, qword [rax + 0x20]
call qword [case.0x1400ad4ce.0]
test eax, eax
js 0x140057205
mov eax, 2
cmp word [rbp - 0x78], ax
jb 0x140057205
mov r8, qword [rbp - 0x70]
mov edx, 0x100
lea rcx, [rbp - 8]
call fcn.140003680
mov edi, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x14005720a
cmp edi, 0x8007007a
je 0x14005720a
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x140057322
test byte [rcx + 0x1c], 1
je 0x140057322
mov edx, SafeArrayPutElement
jmp 0x14005730e
mov word [rbp - 8], r13w
lea rdx, [rbp - 0x10]
lea rcx, [r14 + 0x20]
call fcn.1400579b8
mov edi, eax
test eax, eax
js 0x1400572f0
inc r15d
cmp word [rbp - 0x78], r13w
je 0x14005723c
lea rcx, [rbp - 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop dword [rax + rax]
nop
cmp word [rbp + 0x200], r13w
je 0x14005725a
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop dword [rax + rax]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140057010
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ad4ce.0]
jmp 0x140057010
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x14005733a
test byte [rcx + 0x1c], 1
je 0x14005733a
mov edx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x14005733a
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x1400572e9
test byte [rcx + 0x1c], 1
je 0x1400572e9
mov edx, reloc.OLEAUT32.dll_SafeArrayLock
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
mov edi, 0x80004005
jmp 0x14005733a
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x140057322
test byte [rcx + 0x1c], 1
je 0x140057322
mov edx, SafeArrayPutElement
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
nop
cmp word [rbp - 0x78], r13w
je 0x14005733a
lea rcx, [rbp - 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop dword [rax + rax]
nop
cmp word [rbp + 0x200], r13w
je 0x14005746b
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop dword [rax + rax]
jmp 0x14005746b
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140057377
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ad4ce.0]
cmp dword [0x1400df280], 5
jbe 0x1400573ee
movabs rdx, 0x400000000000
test qword [0x1400df290], rdx
je 0x1400573ee
mov rax, qword [0x1400df298]
and rax, rdx
cmp rax, qword [0x1400df298]
jne 0x1400573ee
mov dword [rsp + 0x50], esi
lea rax, [rsp + 0x50]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x228], 4
lea rax, [rbp + 0x200]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400d1a35]
lea rcx, [0x1400df280]
call fcn.140001864
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r13
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x60]
call fcn.14004830c
mov edi, eax
test eax, eax
jns 0x14005748b
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x140057584
test byte [rcx + 0x1c], 1
je 0x140057584
mov edx, SafeArrayPutElement
jmp 0x14005750f
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x14005746b
test byte [rcx + 0x1c], 1
je 0x14005746b
mov edx, SafeArrayGetLBound
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14005758e
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ad4ce.0]
jmp 0x14005758e
mov rcx, qword [r14 + 0x10]
mov rax, qword [rcx]
lea r8, [rbp - 0x60]
mov edx, dword [r14 + 8]
mov rax, qword [rax + 0x20]
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
jns 0x1400574d2
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x140057584
test byte [rcx + 0x1c], 1
je 0x140057584
mov edx, SafeArrayPutElement
jmp 0x14005750f
mov rcx, qword [r14 + 0x10]
mov rax, qword [rcx]
mov edx, dword [r14 + 8]
mov rax, qword [rax + 0x18]
call qword [case.0x1400ad4ce.0]
mov edi, eax
test eax, eax
jns 0x140057524
lea rax, [0x1400df278]
mov rcx, qword [0x1400df278]
cmp rcx, rax
je 0x140057584
test byte [rcx + 0x1c], 1
je 0x140057584
mov edx, reloc.OLEAUT32.dll_SafeArrayPutElement
mov r9d, edi
lea r8, [0x1400bb0a8]
mov rcx, qword [rcx + 0x10]
call fcn.14000a9b0
jmp 0x140057584
cmp dword [0x1400df280], 5
jbe 0x140057581
movabs r8, 0x200000000000
test qword [0x1400df290], r8
je 0x140057581
mov rax, qword [0x1400df298]
and rax, r8
cmp rax, qword [0x1400df298]
jne 0x140057581
lea rax, [rbp + 0x200]
mov qword [rsp + 0x28], rax
mov eax, 2
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400d1a5d]
lea rcx, [0x1400df280]
call fcn.140001864
mov edi, r13d
lea rcx, [rbp - 0x60]
call fcn.140048250
nop
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400575a8
mov rcx, rbx
call qword [sym.imp.setupapi.dll_SetupDiDestroyDeviceInfoList]
nop dword [rax + rax]
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400575c0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ad4ce.0]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400575d8
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400ad4ce.0]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400575ee
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x1400ad4ce.0]
mov eax, edi
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1400abb00
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret