Function at 0x7ea3c0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x30
mov esi, dword [ebp + 8]
push str.WinUSB
push esi
call fcn.00758120
add esp, 8
test eax, eax
je 0x7ea58d
mov edi, eax
push str.WinUsb_AbortPipe
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b20], eax
test eax, eax
je 0x7ea5a7
push str.WinUsb_ControlTransfer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b24], eax
test eax, eax
je 0x7ea5ae
push str.WinUsb_FlushPipe
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b28], eax
test eax, eax
je 0x7ea5b5
push str.WinUsb_Free
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b2c], eax
test eax, eax
je 0x7ea5bc
push str.WinUsb_GetAssociatedInterface
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b30], eax
test eax, eax
je 0x7ea5c3
push str.WinUsb_Initialize
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b34], eax
test eax, eax
je 0x7ea5ca
push str.WinUsb_ReadPipe
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b38], eax
test eax, eax
je 0x7ea5d1
push str.WinUsb_ResetPipe
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b3c], eax
test eax, eax
je 0x7ea5d8
push str.WinUsb_SetCurrentAlternateSetting
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b40], eax
test eax, eax
je 0x7ea5df
push str.WinUsb_SetPipePolicy
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b44], eax
test eax, eax
je 0x7ea5e6
push str.WinUsb_WritePipe
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b48], eax
test eax, eax
je 0x7ea5ed
push str.WinUsb_ReadIsochPipeAsap
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b50], eax
test eax, eax
je 0x7ea5f4
push str.WinUsb_QueryPipeEx
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b4c], eax
test eax, eax
je 0x7ea60e
push str.WinUsb_RegisterIsochBuffer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b54], eax
test eax, eax
je 0x7ea615
push str.WinUsb_UnregisterIsochBuffer
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b58], eax
test eax, eax
je 0x7ea61c
push str.WinUsb_WriteIsochPipeAsap
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x9b7b5c], eax
test eax, eax
je 0x7ea623
cmp dword [0x9b7b50], 0
mov ecx, str.without
mov eax, str.with
cmove eax, ecx
jmp 0x7ea5f9
push str.WinUSB_DLL_is_not_available
push str.winusbx_init
push 3
push esi
call fcn.005fe840
add esp, 0x10
jmp 0x7ea68b
push str.AbortPipe
jmp 0x7ea628
push str.ControlTransfer
jmp 0x7ea628
push str.FlushPipe
jmp 0x7ea628
push str.Free
jmp 0x7ea628
push str.GetAssociatedInterface
jmp 0x7ea628
push str.Initialize
jmp 0x7ea628
push str.ReadPipe
jmp 0x7ea628
push str.ResetPipe
jmp 0x7ea628
push str.SetCurrentAlternateSetting
jmp 0x7ea628
push str.SetPipePolicy
jmp 0x7ea628
push str.WritePipe
jmp 0x7ea628
mov eax, str.without
mov dword [0x9b7b1c], edi
push eax
push str.WinUSB_DLL_available___s_isoch_support_
push str.winusbx_init
push 3
jmp 0x7ea634
push str.QueryPipeEx
jmp 0x7ea628
push str.RegisterIsochBuffer
jmp 0x7ea628
push str.UnregisterIsochBuffer
jmp 0x7ea628
push str.WriteIsochPipeAsap
push str.GetProcAddress___failed_for_WinUsb__s
push str.winusbx_init
push 1
push esi
call fcn.005fe840
add esp, 0x14
cmp dword [0x9b7b1c], 0
jne 0x7ea68d
push str.failed_to_initialize_WinUSB
push str.winusbx_init
push 1
push esi
call fcn.005fe840
add esp, 0x10
xorps xmm0, xmm0
movups xmmword [0x9b7b4c], xmm0
movups xmmword [0x9b7b3c], xmm0
movups xmmword [0x9b7b2c], xmm0
movups xmmword [0x9b7b1c], xmm0
mov dword [0x9b7b5c], 0
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edi, edi
push str.libusbK
push esi
call fcn.00758120
add esp, 8
test eax, eax
je 0x7ea6f2
mov ebx, eax
push str.LibK_GetVersion
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x7ea70c
xorps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm0
lea ecx, [esp + 0x10]
push ecx
call eax
movaps xmm0, xmmword [esp + 0x10]
sub esp, 0x20
movups xmmword [esp + 0x10], xmm0
mov dword [esp], esi
mov dword [esp + 0xc], str.libusbK_DLL_found__version:__d._d._d._d
mov dword [esp + 8], str.winusbx_init
mov dword [esp + 4], 4
call fcn.005fe840
add esp, 0x20
jmp 0x7ea721
push str.libusbK_DLL_is_not_available
push str.winusbx_init
push 3
push esi
call fcn.005fe840
add esp, 0x10
jmp 0x7ea9b1
push str.libusbK_DLL_found__version_unknown
push str.winusbx_init
push 4
push esi
call fcn.005fe840
add esp, 0x10
mov dword [esp + 8], edi
push str.LibK_GetProcAddress
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x7ea8f0
mov dword [esp], ebx
xor edi, edi
mov cl, 1
mov dword [esp + 0xc], ecx
mov esi, edi
shl esi, 6
lea ecx, [esi + edi*4]
add ecx, 0x9b7a98
push 0x1b
push edi
push ecx
mov ebx, eax
call eax
cmp dword [esi + edi*4 + 0x9b7a98], 0
je 0x7ea909
lea eax, [esi + edi*4]
add eax, 0x9b7a9c
push 7
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7a9c], 0
je 0x7ea910
lea eax, [esi + edi*4]
add eax, 0x9b7aa0
push 0x1c
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7aa0], 0
je 0x7ea917
lea eax, [esi + edi*4]
add eax, 0x9b7aa4
push 1
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7aa4], 0
je 0x7ea91e
lea eax, [esi + edi*4]
add eax, 0x9b7aa8
push 0xf
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7aa8], 0
je 0x7ea925
lea eax, [esi + edi*4]
add eax, 0x9b7aac
push 0xd
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7aac], 0
je 0x7ea92c
lea eax, [esi + edi*4]
add eax, 0x9b7ab0
push 0x18
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7ab0], 0
je 0x7ea933
lea eax, [esi + edi*4]
add eax, 0x9b7ab4
push 0x1a
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7ab4], 0
je 0x7ea93a
lea eax, [esi + edi*4]
add eax, 0x9b7ab8
push 0x13
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7ab8], 0
je 0x7ea941
lea eax, [esi + edi*4]
add eax, 0x9b7abc
push 0x16
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7abc], 0
je 0x7ea948
lea eax, [esi + edi*4]
add eax, 0x9b7ac0
push 0x19
push edi
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7ac0], 0
je 0x7ea94f
lea eax, [esi + edi*4]
add eax, 0x9b7ac4
push 0x1d
push edi
mov dword [esp + 0xc], eax
push eax
call ebx
cmp dword [esi + edi*4 + 0x9b7ac4], 0
je 0x7ea8b7
mov eax, dword [esp + 4]
add eax, 4
push 0x1e
push edi
push eax
call ebx
mov eax, dword [esp + 4]
cmp dword [eax + 4], 0
je 0x7ea956
lea esi, [esi + edi*4]
add esi, 0x9b7a94
mov eax, dword [esp + 4]
add eax, 8
push 0xc
push edi
push eax
call ebx
mov eax, dword [esp]
mov dword [esi], eax
mov edi, 1
test byte [esp + 0xc], 1
mov ecx, 0
mov eax, ebx
jne 0x7ea740
mov al, 1
jmp 0x7ea9ce
push str.LibK_GetProcAddress___not_found_in_libusbK_DLL
push str.winusbx_init
push 1
push esi
call fcn.005fe840
add esp, 0x10
xor edi, edi
jmp 0x7ea976
push str.AbortPipe
jmp 0x7ea95b
push str.ControlTransfer
jmp 0x7ea95b
push str.FlushPipe
jmp 0x7ea95b
push str.Free
jmp 0x7ea95b
push str.GetAssociatedInterface
jmp 0x7ea95b
push str.Initialize
jmp 0x7ea95b
push str.ReadPipe
jmp 0x7ea95b
push str.ResetPipe
jmp 0x7ea95b
push str.SetCurrentAlternateSetting
jmp 0x7ea95b
push str.SetPipePolicy
jmp 0x7ea95b
push str.WritePipe
jmp 0x7ea95b
push str.IsoWritePipe
push str.LibK_GetProcAddress___failed_for_LibK__s
push str.winusbx_init
push 1
mov esi, dword [ebp + 8]
push esi
call fcn.005fe840
add esp, 0x14
mov ebx, dword [esp]
push str.failed_to_initialize_libusbK
push str.winusbx_init
push 1
push esi
call fcn.005fe840
add esp, 0x10
mov eax, edi
shl eax, 6
lea eax, [eax + edi*4]
add eax, 0x44
push eax
push 0
push 0x9b7a94
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edi, dword [esp + 8]
mov al, 1
test edi, edi
jne 0x7ea9ce
push str.neither_WinUSB_nor_libusbK_DLLs_were_found__you_will_not_be_able_to_access_devices_outside_of_enumeration
push str.winusbx_init
push 2
push esi
call fcn.005fe840
add esp, 0x10
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret