Function at 0x1400105f6
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x140010630
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x140010641
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 8]
lea rdx, str.CM_Get_Parent
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe0], rax
mov rax, qword [0x140130fe0]
test rax, rax
jne 0x1400106c9
mov rax, qword [rbp - 8]
lea rdx, str.CM_Get_ParentA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe0], rax
mov rax, qword [0x140130fe0]
test rax, rax
jne 0x1400106c9
mov rax, qword [rbp - 8]
lea rdx, str.CM_Get_ParentW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe0], rax
mov rax, qword [0x140130fe0]
test rax, rax
jne 0x1400106c9
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x1400106f9
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x14001070a
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x10]
lea rdx, str.CM_Get_Child
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe8], rax
mov rax, qword [0x140130fe8]
test rax, rax
jne 0x140010792
mov rax, qword [rbp - 0x10]
lea rdx, str.CM_Get_ChildA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe8], rax
mov rax, qword [0x140130fe8]
test rax, rax
jne 0x140010792
mov rax, qword [rbp - 0x10]
lea rdx, str.CM_Get_ChildW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fe8], rax
mov rax, qword [0x140130fe8]
test rax, rax
jne 0x140010792
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x1400107c2
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x1400107d3
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x18]
lea rdx, str.CM_Get_Sibling
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff0], rax
mov rax, qword [0x140130ff0]
test rax, rax
jne 0x14001085b
mov rax, qword [rbp - 0x18]
lea rdx, str.CM_Get_SiblingA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff0], rax
mov rax, qword [0x140130ff0]
test rax, rax
jne 0x14001085b
mov rax, qword [rbp - 0x18]
lea rdx, str.CM_Get_SiblingW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff0], rax
mov rax, qword [0x140130ff0]
test rax, rax
jne 0x14001085b
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
jne 0x14001088b
lea rcx, str.Cfgmgr32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
jne 0x14001089c
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x20]
lea rdx, str.CM_Get_Device_IDA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff8], rax
mov rax, qword [0x140130ff8]
test rax, rax
jne 0x140010924
mov rax, qword [rbp - 0x20]
lea rdx, str.CM_Get_Device_IDAA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff8], rax
mov rax, qword [0x140130ff8]
test rax, rax
jne 0x140010924
mov rax, qword [rbp - 0x20]
lea rdx, str.CM_Get_Device_IDAW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130ff8], rax
mov rax, qword [0x140130ff8]
test rax, rax
jne 0x140010924
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.OLE32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x28], rax
cmp qword [rbp - 0x28], 0
jne 0x140010954
lea rcx, str.OLE32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x28], rax
cmp qword [rbp - 0x28], 0
jne 0x140010965
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x28]
lea rdx, str.CLSIDFromString
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f90], rax
mov rax, qword [0x140130f90]
test rax, rax
jne 0x1400109ed
mov rax, qword [rbp - 0x28]
lea rdx, str.CLSIDFromStringA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f90], rax
mov rax, qword [0x140130f90]
test rax, rax
jne 0x1400109ed
mov rax, qword [rbp - 0x28]
lea rdx, str.CLSIDFromStringW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f90], rax
mov rax, qword [0x140130f90]
test rax, rax
jne 0x1400109ed
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
jne 0x140010a1d
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
jne 0x140010a2e
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x30]
lea rdx, str.SetupDiGetClassDevsA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f98], rax
mov rax, qword [0x140130f98]
test rax, rax
jne 0x140010ab6
mov rax, qword [rbp - 0x30]
lea rdx, str.SetupDiGetClassDevsAA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f98], rax
mov rax, qword [0x140130f98]
test rax, rax
jne 0x140010ab6
mov rax, qword [rbp - 0x30]
lea rdx, str.SetupDiGetClassDevsAW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130f98], rax
mov rax, qword [0x140130f98]
test rax, rax
jne 0x140010ab6
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
jne 0x140010ae6
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
jne 0x140010af7
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x38]
lea rdx, str.SetupDiEnumDeviceInfo
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa0], rax
mov rax, qword [0x140130fa0]
test rax, rax
jne 0x140010b7f
mov rax, qword [rbp - 0x38]
lea rdx, str.SetupDiEnumDeviceInfoA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa0], rax
mov rax, qword [0x140130fa0]
test rax, rax
jne 0x140010b7f
mov rax, qword [rbp - 0x38]
lea rdx, str.SetupDiEnumDeviceInfoW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa0], rax
mov rax, qword [0x140130fa0]
test rax, rax
jne 0x140010b7f
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
jne 0x140010baf
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
jne 0x140010bc0
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x40]
lea rdx, str.SetupDiEnumDeviceInterfaces
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa8], rax
mov rax, qword [0x140130fa8]
test rax, rax
jne 0x140010c48
mov rax, qword [rbp - 0x40]
lea rdx, str.SetupDiEnumDeviceInterfacesA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa8], rax
mov rax, qword [0x140130fa8]
test rax, rax
jne 0x140010c48
mov rax, qword [rbp - 0x40]
lea rdx, str.SetupDiEnumDeviceInterfacesW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fa8], rax
mov rax, qword [0x140130fa8]
test rax, rax
jne 0x140010c48
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
jne 0x140010c78
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
jne 0x140010c89
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x48]
lea rdx, str.SetupDiGetDeviceInterfaceDetailA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb0], rax
mov rax, qword [0x140130fb0]
test rax, rax
jne 0x140010d11
mov rax, qword [rbp - 0x48]
lea rdx, str.SetupDiGetDeviceInterfaceDetailAA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb0], rax
mov rax, qword [0x140130fb0]
test rax, rax
jne 0x140010d11
mov rax, qword [rbp - 0x48]
lea rdx, str.SetupDiGetDeviceInterfaceDetailAW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb0], rax
mov rax, qword [0x140130fb0]
test rax, rax
jne 0x140010d11
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jne 0x140010d41
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jne 0x140010d52
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x50]
lea rdx, str.SetupDiDestroyDeviceInfoList
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb8], rax
mov rax, qword [0x140130fb8]
test rax, rax
jne 0x140010dda
mov rax, qword [rbp - 0x50]
lea rdx, str.SetupDiDestroyDeviceInfoListA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb8], rax
mov rax, qword [0x140130fb8]
test rax, rax
jne 0x140010dda
mov rax, qword [rbp - 0x50]
lea rdx, str.SetupDiDestroyDeviceInfoListW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fb8], rax
mov rax, qword [0x140130fb8]
test rax, rax
jne 0x140010dda
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x58], rax
cmp qword [rbp - 0x58], 0
jne 0x140010e0a
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x58], rax
cmp qword [rbp - 0x58], 0
jne 0x140010e1b
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x58]
lea rdx, str.SetupDiOpenDevRegKey
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc0], rax
mov rax, qword [0x140130fc0]
test rax, rax
jne 0x140010ea3
mov rax, qword [rbp - 0x58]
lea rdx, str.SetupDiOpenDevRegKeyA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc0], rax
mov rax, qword [0x140130fc0]
test rax, rax
jne 0x140010ea3
mov rax, qword [rbp - 0x58]
lea rdx, str.SetupDiOpenDevRegKeyW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc0], rax
mov rax, qword [0x140130fc0]
test rax, rax
jne 0x140010ea3
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x60], rax
cmp qword [rbp - 0x60], 0
jne 0x140010ed3
lea rcx, str.SetupAPI.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x60], rax
cmp qword [rbp - 0x60], 0
jne 0x140010ee4
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x60]
lea rdx, str.SetupDiGetDeviceRegistryPropertyA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc8], rax
mov rax, qword [0x140130fc8]
test rax, rax
jne 0x140010f6c
mov rax, qword [rbp - 0x60]
lea rdx, str.SetupDiGetDeviceRegistryPropertyAA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc8], rax
mov rax, qword [0x140130fc8]
test rax, rax
jne 0x140010f6c
mov rax, qword [rbp - 0x60]
lea rdx, str.SetupDiGetDeviceRegistryPropertyAW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fc8], rax
mov rax, qword [0x140130fc8]
test rax, rax
jne 0x140010f6c
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.AdvAPI32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x68], rax
cmp qword [rbp - 0x68], 0
jne 0x140010f9c
lea rcx, str.AdvAPI32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x68], rax
cmp qword [rbp - 0x68], 0
jne 0x140010fad
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x68]
lea rdx, str.RegQueryValueExW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd0], rax
mov rax, qword [0x140130fd0]
test rax, rax
jne 0x140011035
mov rax, qword [rbp - 0x68]
lea rdx, str.RegQueryValueExWA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd0], rax
mov rax, qword [0x140130fd0]
test rax, rax
jne 0x140011035
mov rax, qword [rbp - 0x68]
lea rdx, str.RegQueryValueExWW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd0], rax
mov rax, qword [0x140130fd0]
test rax, rax
jne 0x140011035
mov eax, 0xfffffffb
jmp 0x140011101
nop
lea rcx, str.AdvAPI32.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x70], rax
cmp qword [rbp - 0x70], 0
jne 0x140011065
lea rcx, str.AdvAPI32.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x70], rax
cmp qword [rbp - 0x70], 0
jne 0x140011076
mov eax, 0xfffffffb
jmp 0x140011101
mov rax, qword [rbp - 0x70]
lea rdx, str.RegCloseKey
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd8], rax
mov rax, qword [0x140130fd8]
test rax, rax
jne 0x1400110fb
mov rax, qword [rbp - 0x70]
lea rdx, str.RegCloseKeyA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd8], rax
mov rax, qword [0x140130fd8]
test rax, rax
jne 0x1400110fb
mov rax, qword [rbp - 0x70]
lea rdx, str.RegCloseKeyW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x140130fd8], rax
mov rax, qword [0x140130fd8]
test rax, rax
jne 0x1400110fb
mov eax, 0xfffffffb
jmp 0x140011101
nop
mov eax, 0
add rsp, 0x90
pop rbp
ret