Function at 0x14005e3a0
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
lea rdx, str.WinUSB
call fcn.14006f090
test rax, rax
je 0x14005e5ea
mov rdi, rax
lea rdx, str.WinUsb_AbortPipe
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8b8], rax
test rax, rax
je 0x14005e60a
lea rdx, str.WinUsb_ControlTransfer
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8c0], rax
test rax, rax
je 0x14005e616
lea rdx, str.WinUsb_FlushPipe
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8c8], rax
test rax, rax
je 0x14005e622
lea rdx, str.WinUsb_Free
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8d0], rax
test rax, rax
je 0x14005e62e
lea rdx, str.WinUsb_GetAssociatedInterface
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8d8], rax
test rax, rax
je 0x14005e63a
lea rdx, str.WinUsb_Initialize
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8e0], rax
test rax, rax
je 0x14005e646
lea rdx, str.WinUsb_ReadPipe
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8e8], rax
test rax, rax
je 0x14005e64f
lea rdx, str.WinUsb_ResetPipe
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8f0], rax
test rax, rax
je 0x14005e658
lea rdx, str.WinUsb_SetCurrentAlternateSetting
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a8f8], rax
test rax, rax
je 0x14005e661
lea rdx, str.WinUsb_SetPipePolicy
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a900], rax
test rax, rax
je 0x14005e66a
lea rdx, str.WinUsb_WritePipe
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a908], rax
test rax, rax
je 0x14005e673
lea rdx, str.WinUsb_ReadIsochPipeAsap
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a918], rax
test rax, rax
je 0x14005e67c
lea rdx, str.WinUsb_QueryPipeEx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a910], rax
test rax, rax
je 0x14005e6a7
lea rdx, str.WinUsb_RegisterIsochBuffer
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a920], rax
test rax, rax
je 0x14005e6b0
lea rdx, str.WinUsb_UnregisterIsochBuffer
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a928], rax
test rax, rax
je 0x14005e6b9
lea rdx, str.WinUsb_WriteIsochPipeAsap
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14014a930], rax
test rax, rax
je 0x14005e6c2
cmp qword [0x14014a918], 0
lea rcx, str.without
lea rax, str.with
cmove rax, rcx
jmp 0x14005e683
lea r8, str.winusbx_init
lea r9, str.WinUSB_DLL_is_not_available
mov rcx, rsi
mov edx, 3
call fcn.140055400
jmp 0x14005e75d
lea rax, str.AbortPipe
jmp 0x14005e6c9
lea rax, str.ControlTransfer
jmp 0x14005e6c9
lea rax, str.FlushPipe
jmp 0x14005e6c9
lea rax, str.Free
jmp 0x14005e6c9
lea rax, str.GetAssociatedInterface
jmp 0x14005e6c9
lea rax, str.Initialize
jmp 0x14005e6c9
lea rax, str.ReadPipe
jmp 0x14005e6c9
lea rax, str.ResetPipe
jmp 0x14005e6c9
lea rax, str.SetCurrentAlternateSetting
jmp 0x14005e6c9
lea rax, str.SetPipePolicy
jmp 0x14005e6c9
lea rax, str.WritePipe
jmp 0x14005e6c9
lea rax, str.without
mov qword [0x14014a8b0], rdi
mov qword [rsp + 0x20], rax
lea r8, str.winusbx_init
lea r9, str.WinUSB_DLL_available___s_isoch_support_
mov rcx, rsi
mov edx, 3
jmp 0x14005e6e4
lea rax, str.QueryPipeEx
jmp 0x14005e6c9
lea rax, str.RegisterIsochBuffer
jmp 0x14005e6c9
lea rax, str.UnregisterIsochBuffer
jmp 0x14005e6c9
lea rax, str.WriteIsochPipeAsap
mov qword [rsp + 0x20], rax
lea r8, str.winusbx_init
lea r9, str.GetProcAddress___failed_for_WinUsb__s
mov rcx, rsi
mov edx, 1
call fcn.140055400
cmp qword [0x14014a8b0], 0
jne 0x14005e75f
lea r8, str.winusbx_init
lea r9, str.failed_to_initialize_WinUSB
mov rcx, rsi
mov edx, 1
call fcn.140055400
xorps xmm0, xmm0
movaps xmmword [0x14014a920], xmm0
movaps xmmword [0x14014a910], xmm0
movaps xmmword [0x14014a900], xmm0
movaps xmmword [0x14014a8f0], xmm0
movaps xmmword [0x14014a8e0], xmm0
movaps xmmword [0x14014a8d0], xmm0
movaps xmmword [0x14014a8c0], xmm0
movaps xmmword [0x14014a8b0], xmm0
mov qword [0x14014a930], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor edi, edi
lea rdx, str.libusbK
mov rcx, rsi
call fcn.14006f090
test rax, rax
je 0x14005e7c4
mov rbx, rax
lea rdx, str.LibK_GetVersion
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14005e7e4
lea rcx, [rsp + 0x48]
call rax
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], edx
lea r8, str.winusbx_init
lea r9, str.libusbK_DLL_found__version:__d._d._d._d
jmp 0x14005e7f2
lea r8, str.winusbx_init
lea r9, str.libusbK_DLL_is_not_available
mov rcx, rsi
mov edx, 3
call fcn.140055400
jmp 0x14005eafe
lea r8, str.winusbx_init
lea r9, str.libusbK_DLL_found__version_unknown
xor ecx, ecx
mov edx, 4
call fcn.140055400
lea rdx, str.LibK_GetProcAddress
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14005ea08
mov r15, rax
mov qword [rsp + 0x40], rdi
mov bpl, 1
xor r14d, r14d
lea r13, [0x14014a7a0]
mov rax, r14
shl rax, 7
lea rdi, [rax + r14*8]
lea rcx, [rdi + r13]
add rcx, 8
mov edx, r14d
mov r8d, 0x1b
call r15
cmp qword [r13 + rdi + 8], 0
je 0x14005ea2b
lea rcx, [rdi + r13]
add rcx, 0x10
mov edx, r14d
mov r8d, 7
call r15
cmp qword [r13 + rdi + 0x10], 0
je 0x14005ea34
lea rcx, [rdi + r13]
add rcx, 0x18
mov edx, r14d
mov r8d, 0x1c
call r15
cmp qword [r13 + rdi + 0x18], 0
je 0x14005ea3d
lea rcx, [rdi + r13]
add rcx, 0x20
mov edx, r14d
mov r8d, 1
call r15
cmp qword [r13 + rdi + 0x20], 0
je 0x14005ea46
lea rcx, [rdi + r13]
add rcx, 0x28
mov edx, r14d
mov r8d, 0xf
call r15
cmp qword [r13 + rdi + 0x28], 0
je 0x14005ea4f
lea rcx, [rdi + r13]
add rcx, 0x30
mov edx, r14d
mov r8d, 0xd
call r15
cmp qword [r13 + rdi + 0x30], 0
je 0x14005ea58
lea rcx, [rdi + r13]
add rcx, 0x38
mov edx, r14d
mov r8d, 0x18
call r15
cmp qword [r13 + rdi + 0x38], 0
je 0x14005ea61
lea rcx, [rdi + r13]
add rcx, 0x40
mov edx, r14d
mov r8d, 0x1a
call r15
cmp qword [r13 + rdi + 0x40], 0
je 0x14005ea6a
lea rcx, [rdi + r13]
add rcx, 0x48
mov edx, r14d
mov r8d, 0x13
call r15
cmp qword [r13 + rdi + 0x48], 0
je 0x14005ea73
lea rcx, [rdi + r13]
add rcx, 0x50
mov edx, r14d
mov r8d, 0x16
call r15
cmp qword [r13 + rdi + 0x50], 0
je 0x14005ea7c
lea rcx, [rdi + r13]
add rcx, 0x58
mov edx, r14d
mov r8d, 0x19
call r15
cmp qword [r13 + rdi + 0x58], 0
je 0x14005ea85
lea r12, [rdi + r13]
add r12, 0x60
mov rcx, r12
mov edx, r14d
mov r8d, 0x1d
call r15
cmp qword [r13 + rdi + 0x60], 0
je 0x14005e9d3
lea rcx, [r12 + 8]
mov edx, r14d
mov r8d, 0x1e
call r15
cmp qword [r12 + 8], 0
je 0x14005ea8e
add rdi, r13
add r12, 0x10
mov rcx, r12
mov edx, r14d
mov r8d, 0xc
call r15
mov qword [rdi], rbx
mov r14d, 1
test bpl, 1
mov ebp, 0
jne 0x14005e82c
mov al, 1
jmp 0x14005eb22
lea r8, str.winusbx_init
lea r9, str.LibK_GetProcAddress___not_found_in_libusbK_DLL
mov rcx, rsi
mov edx, 1
call fcn.140055400
xor r14d, r14d
jmp 0x14005eaba
lea rax, str.AbortPipe
jmp 0x14005ea95
lea rax, str.ControlTransfer
jmp 0x14005ea95
lea rax, str.FlushPipe
jmp 0x14005ea95
lea rax, str.Free
jmp 0x14005ea95
lea rax, str.GetAssociatedInterface
jmp 0x14005ea95
lea rax, str.Initialize
jmp 0x14005ea95
lea rax, str.ReadPipe
jmp 0x14005ea95
lea rax, str.ResetPipe
jmp 0x14005ea95
lea rax, str.SetCurrentAlternateSetting
jmp 0x14005ea95
lea rax, str.SetPipePolicy
jmp 0x14005ea95
lea rax, str.WritePipe
jmp 0x14005ea95
lea rax, str.IsoWritePipe
mov qword [rsp + 0x20], rax
lea r8, str.winusbx_init
lea r9, str.LibK_GetProcAddress___failed_for_LibK__s
mov rcx, rsi
mov edx, 1
call fcn.140055400
mov rdi, qword [rsp + 0x40]
lea r8, str.winusbx_init
lea r9, str.failed_to_initialize_libusbK
mov rcx, rsi
mov edx, 1
call fcn.140055400
mov rax, r14
shl rax, 7
lea r8, [rax + r14*8]
add r8, 0x88
lea rcx, [0x14014a7a0]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov al, 1
test rdi, rdi
jne 0x14005eb22
lea r8, str.winusbx_init
lea r9, str.neither_WinUSB_nor_libusbK_DLLs_were_found__you_will_not_be_able_to_access_devices_outside_of_enumeration
mov rcx, rsi
mov edx, 2
call fcn.140055400
xor eax, eax
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret