Function at 0x6b814160
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov dword [esp + 4], 0x6b81e2d4
mov dword [esp], esi
call sym.libusb_1.0.dll_load_system_library
test eax, eax
mov dword [0x6b820360], eax
je 0x6b81446e
mov edi, eax
mov dword [esp + 4], str.CM_Get_Parent
mov dword [esp], eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82035c], eax
je 0x6b8144e0
mov edi, dword [0x6b820360]
mov dword [esp + 4], str.CM_Get_Child
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820358], eax
je 0x6b8144a0
mov dword [esp + 4], str.AdvAPI32
mov dword [esp], esi
call sym.libusb_1.0.dll_load_system_library
test eax, eax
mov edi, eax
mov dword [0x6b820354], eax
je 0x6b81446e
mov dword [esp + 4], str.RegQueryValueExW
mov dword [esp], eax
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820350], eax
je 0x6b814560
mov edi, dword [0x6b820354]
mov dword [esp + 4], str.RegCloseKey
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82034c], eax
je 0x6b814520
mov dword [esp + 4], str.OLE32
mov dword [esp], esi
call sym.libusb_1.0.dll_load_system_library
test eax, eax
mov edi, eax
mov dword [0x6b820348], eax
je 0x6b81446e
mov dword [esp + 4], str.IIDFromString
mov dword [esp], eax
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820344], eax
je 0x6b8145a0
mov dword [esp + 4], str.SetupAPI
mov dword [esp], esi
call sym.libusb_1.0.dll_load_system_library
test eax, eax
mov edi, eax
mov dword [0x6b820340], eax
je 0x6b81446e
mov dword [esp + 4], str.SetupDiGetClassDevsA
mov dword [esp], eax
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82033c], eax
je 0x6b8147a0
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiEnumDeviceInfo
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820338], eax
je 0x6b814760
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiEnumDeviceInterfaces
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820334], eax
je 0x6b814720
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiGetDeviceInstanceIdA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820330], eax
je 0x6b8146e0
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiGetDeviceInterfaceDetailA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82032c], eax
je 0x6b8146a0
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiGetDeviceRegistryPropertyA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820328], eax
je 0x6b814660
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiDestroyDeviceInfoList
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820324], eax
je 0x6b814620
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiOpenDevRegKey
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820320], eax
je 0x6b8145e0
mov edi, dword [0x6b820340]
mov dword [esp + 4], str.SetupDiOpenDeviceInterfaceRegKey
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82031c], eax
je 0x6b814434
xor eax, eax
mov ebx, sym.libusb_1.0.dll_usb_api_backend
mov edi, 0x6b81f45c
test eax, eax
je 0x6b8143d5
mov dword [esp], esi
call eax
test al, al
je 0x6b8143ec
add ebx, 0x4c
cmp edi, ebx
je 0x6b81441a
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x6b8143d5
mov dword [esp], esi
call eax
test al, al
jne 0x6b8143d5
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], str.error_initializing__s_backend
add ebx, 0x4c
mov dword [esp + 8], str.winusb_init
mov dword [esp + 4], 2
mov dword [esp], esi
mov dword [esp + 0x10], eax
call sym.libusb_1.0.dll_usbi_log
cmp edi, ebx
jne 0x6b8143dc
mov dword [esp], 0x6b8202cc
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
sub esp, 4
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.SetupDiOpenDeviceInterfaceRegKeyA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82031c], eax
jne 0x6b8143bc
mov dword [esp + 4], str.SetupDiOpenDeviceInterfaceRegKeyW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82031c], eax
jne 0x6b8143bc
mov dword [esp], esi
mov dword [esp + 0xc], str.could_not_resolve_DLL_functions
mov dword [esp + 8], str.winusb_init
mov dword [esp + 4], 1
call sym.libusb_1.0.dll_usbi_log
lea esp, [ebp - 0xc]
mov eax, 0xffffff9d
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.CM_Get_ChildA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820358], eax
jne 0x6b8141d1
mov dword [esp + 4], str.CM_Get_ChildW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820358], eax
jne 0x6b8141d1
jmp 0x6b81446e
mov dword [esp + 4], str.CM_Get_ParentA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82035c], eax
jne 0x6b8141ae
mov dword [esp + 4], str.CM_Get_ParentW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82035c], eax
jne 0x6b8141ae
jmp 0x6b81446e
mov dword [esp + 4], str.RegCloseKeyA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82034c], eax
jne 0x6b814230
mov dword [esp + 4], str.RegCloseKeyW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82034c], eax
jne 0x6b814230
jmp 0x6b81446e
mov dword [esp + 4], str.RegQueryValueExWA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820350], eax
jne 0x6b81420d
mov dword [esp + 4], str.RegQueryValueExWW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820350], eax
jne 0x6b81420d
jmp 0x6b81446e
mov dword [esp + 4], str.IIDFromStringA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820344], eax
jne 0x6b81426c
mov dword [esp + 4], str.IIDFromStringW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820344], eax
jne 0x6b81426c
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiOpenDevRegKeyA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820320], eax
jne 0x6b81439d
mov dword [esp + 4], str.SetupDiOpenDevRegKeyW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820320], eax
jne 0x6b81439d
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiDestroyDeviceInfoListA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820324], eax
jne 0x6b81437a
mov dword [esp + 4], str.SetupDiDestroyDeviceInfoListW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820324], eax
jne 0x6b81437a
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiGetDeviceRegistryPropertyAA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820328], eax
jne 0x6b814357
mov dword [esp + 4], str.SetupDiGetDeviceRegistryPropertyAW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820328], eax
jne 0x6b814357
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiGetDeviceInterfaceDetailAA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82032c], eax
jne 0x6b814334
mov dword [esp + 4], str.SetupDiGetDeviceInterfaceDetailAW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82032c], eax
jne 0x6b814334
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiGetDeviceInstanceIdAA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820330], eax
jne 0x6b814311
mov dword [esp + 4], str.SetupDiGetDeviceInstanceIdAW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820330], eax
jne 0x6b814311
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiEnumDeviceInterfacesA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820334], eax
jne 0x6b8142ee
mov dword [esp + 4], str.SetupDiEnumDeviceInterfacesW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820334], eax
jne 0x6b8142ee
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiEnumDeviceInfoA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820338], eax
jne 0x6b8142cb
mov dword [esp + 4], str.SetupDiEnumDeviceInfoW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b820338], eax
jne 0x6b8142cb
jmp 0x6b81446e
mov dword [esp + 4], str.SetupDiGetClassDevsAA
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82033c], eax
jne 0x6b8142a8
mov dword [esp + 4], str.SetupDiGetClassDevsAW
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
mov dword [0x6b82033c], eax
jne 0x6b8142a8
jmp 0x6b81446e