Function at 0x140007d30
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
lea rcx, str.Cfgmgr32
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140107e68], rax
mov rbx, rax
test rax, rax
jne 0x140007d5d
mov eax, 0xffffff9d
add rsp, 0x20
pop rbx
ret
lea rdx, str.CM_Get_Parent
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e10], rax
test rax, rax
jne 0x140007db1
lea rdx, str.CM_Get_ParentA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e10], rax
test rax, rax
jne 0x140007db1
lea rdx, str.CM_Get_ParentW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e10], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107e68]
lea rdx, str.CM_Get_Child
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e30], rax
test rax, rax
jne 0x140007e17
lea rdx, str.CM_Get_ChildA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e30], rax
test rax, rax
jne 0x140007e17
lea rdx, str.CM_Get_ChildW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e30], rax
test rax, rax
jne 0x140007e17
mov eax, 0xfffffffb
add rsp, 0x20
pop rbx
ret
mov rbx, qword [0x140107e68]
lea rdx, str.CM_Get_Sibling
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e60], rax
test rax, rax
jne 0x140007e72
lea rdx, str.CM_Get_SiblingA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e60], rax
test rax, rax
jne 0x140007e72
lea rdx, str.CM_Get_SiblingW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e60], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107e68]
lea rdx, str.CM_Get_Device_IDA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f28], rax
test rax, rax
jne 0x140007ed1
lea rdx, str.CM_Get_Device_IDAA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f28], rax
test rax, rax
jne 0x140007ed1
lea rdx, str.CM_Get_Device_IDAW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f28], rax
test rax, rax
je 0x140007e0c
lea rcx, str.AdvAPI32
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140107e58], rax
mov rbx, rax
test rax, rax
je 0x140007d52
lea rdx, str.RegQueryValueExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e78], rax
test rax, rax
jne 0x140007f49
lea rdx, str.RegQueryValueExWA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e78], rax
test rax, rax
jne 0x140007f49
lea rdx, str.RegQueryValueExWW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e78], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107e58]
lea rdx, str.RegCloseKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ed8], rax
test rax, rax
jne 0x140007fa8
lea rdx, str.RegCloseKeyA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ed8], rax
test rax, rax
jne 0x140007fa8
lea rdx, str.RegCloseKeyW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ed8], rax
test rax, rax
je 0x140007e0c
lea rcx, str.Kernel32
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140107e20], rax
mov rbx, rax
test rax, rax
je 0x140007d52
lea rdx, str.IsWow64Process
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e80], rax
test rax, rax
jne 0x140008017
lea rdx, str.IsWow64ProcessA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e80], rax
test rax, rax
jne 0x140008017
lea rdx, str.IsWow64ProcessW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e80], rax
lea rcx, str.OLE32
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140107e18], rax
mov rbx, rax
test rax, rax
je 0x140007d52
lea rdx, str.CLSIDFromString
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f00], rax
test rax, rax
jne 0x14000808f
lea rdx, str.CLSIDFromStringA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f00], rax
test rax, rax
jne 0x14000808f
lea rdx, str.CLSIDFromStringW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f00], rax
test rax, rax
je 0x140007e0c
lea rcx, str.SetupAPI
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x140107f40], rax
mov rbx, rax
test rax, rax
je 0x140007d52
lea rdx, [0x1400de760]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e90], rax
test rax, rax
jne 0x140008107
lea rdx, str.SetupDiGetClassDevsAA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e90], rax
test rax, rax
jne 0x140008107
lea rdx, str.SetupDiGetClassDevsAW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e90], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, [0x1400de7a8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107eb0], rax
test rax, rax
jne 0x140008166
lea rdx, str.SetupDiEnumDeviceInfoA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107eb0], rax
test rax, rax
jne 0x140008166
lea rdx, str.SetupDiEnumDeviceInfoW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107eb0], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, [0x1400de7f0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e40], rax
test rax, rax
jne 0x1400081c5
lea rdx, str.SetupDiEnumDeviceInterfacesA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e40], rax
test rax, rax
jne 0x1400081c5
lea rdx, str.SetupDiEnumDeviceInterfacesW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e40], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, [0x1400de850]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ee8], rax
test rax, rax
jne 0x140008224
lea rdx, str.SetupDiGetDeviceInterfaceDetailAA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ee8], rax
test rax, rax
jne 0x140008224
lea rdx, str.SetupDiGetDeviceInterfaceDetailAW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ee8], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, [0x1400de8c8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e28], rax
test rax, rax
jne 0x140008283
lea rdx, str.SetupDiDestroyDeviceInfoListA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e28], rax
test rax, rax
jne 0x140008283
lea rdx, str.SetupDiDestroyDeviceInfoListW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107e28], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, str.SetupDiOpenDevRegKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea0], rax
test rax, rax
jne 0x1400082e2
lea rdx, str.SetupDiOpenDevRegKeyA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea0], rax
test rax, rax
jne 0x1400082e2
lea rdx, str.SetupDiOpenDevRegKeyW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea0], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, [0x1400de970]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea8], rax
test rax, rax
jne 0x140008341
lea rdx, str.SetupDiGetDeviceRegistryPropertyAA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea8], rax
test rax, rax
jne 0x140008341
lea rdx, str.SetupDiGetDeviceRegistryPropertyAW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107ea8], rax
test rax, rax
je 0x140007e0c
mov rbx, qword [0x140107f40]
lea rdx, str.SetupDiOpenDeviceInterfaceRegKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f10], rax
test rax, rax
jne 0x1400083a0
lea rdx, str.SetupDiOpenDeviceInterfaceRegKeyA
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f10], rax
test rax, rax
jne 0x1400083a0
lea rdx, str.SetupDiOpenDeviceInterfaceRegKeyW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140107f10], rax
test rax, rax
je 0x140007e0c
xor eax, eax
add rsp, 0x20
pop rbx
ret