Function at 0x415e94
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rbp + 0x10], rcx
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x415ed2
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x415ee3
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 8]
lea rdx, str.WinUsb_Initialize
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529000], rax
mov rax, qword [0x00529000]
test rax, rax
jne 0x415f6b
mov rax, qword [rbp - 8]
lea rdx, str.WinUsb_InitializeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529000], rax
mov rax, qword [0x00529000]
test rax, rax
jne 0x415f6b
mov rax, qword [rbp - 8]
lea rdx, str.WinUsb_InitializeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529000], rax
mov rax, qword [0x00529000]
test rax, rax
jne 0x415f6b
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x415f9b
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x415fac
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x10]
lea rdx, str.WinUsb_Free
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529008], rax
mov rax, qword [0x00529008]
test rax, rax
jne 0x416034
mov rax, qword [rbp - 0x10]
lea rdx, str.WinUsb_FreeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529008], rax
mov rax, qword [0x00529008]
test rax, rax
jne 0x416034
mov rax, qword [rbp - 0x10]
lea rdx, str.WinUsb_FreeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529008], rax
mov rax, qword [0x00529008]
test rax, rax
jne 0x416034
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x416064
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x416075
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x18]
lea rdx, str.WinUsb_GetAssociatedInterface
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529010], rax
mov rax, qword [0x00529010]
test rax, rax
jne 0x4160fd
mov rax, qword [rbp - 0x18]
lea rdx, str.WinUsb_GetAssociatedInterfaceA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529010], rax
mov rax, qword [0x00529010]
test rax, rax
jne 0x4160fd
mov rax, qword [rbp - 0x18]
lea rdx, str.WinUsb_GetAssociatedInterfaceW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529010], rax
mov rax, qword [0x00529010]
test rax, rax
jne 0x4160fd
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
jne 0x41612d
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
jne 0x41613e
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x20]
lea rdx, str.WinUsb_GetDescriptor
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529018], rax
mov rax, qword [0x00529018]
test rax, rax
jne 0x4161c6
mov rax, qword [rbp - 0x20]
lea rdx, str.WinUsb_GetDescriptorA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529018], rax
mov rax, qword [0x00529018]
test rax, rax
jne 0x4161c6
mov rax, qword [rbp - 0x20]
lea rdx, str.WinUsb_GetDescriptorW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529018], rax
mov rax, qword [0x00529018]
test rax, rax
jne 0x4161c6
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x28], rax
cmp qword [rbp - 0x28], 0
jne 0x4161f6
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x28], rax
cmp qword [rbp - 0x28], 0
jne 0x416207
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x28]
lea rdx, str.WinUsb_QueryInterfaceSettings
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529020], rax
mov rax, qword [0x00529020]
test rax, rax
jne 0x41628f
mov rax, qword [rbp - 0x28]
lea rdx, str.WinUsb_QueryInterfaceSettingsA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529020], rax
mov rax, qword [0x00529020]
test rax, rax
jne 0x41628f
mov rax, qword [rbp - 0x28]
lea rdx, str.WinUsb_QueryInterfaceSettingsW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529020], rax
mov rax, qword [0x00529020]
test rax, rax
jne 0x41628f
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
jne 0x4162bf
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
jne 0x4162d0
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x30]
lea rdx, str.WinUsb_QueryDeviceInformation
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529028], rax
mov rax, qword [0x00529028]
test rax, rax
jne 0x416358
mov rax, qword [rbp - 0x30]
lea rdx, str.WinUsb_QueryDeviceInformationA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529028], rax
mov rax, qword [0x00529028]
test rax, rax
jne 0x416358
mov rax, qword [rbp - 0x30]
lea rdx, str.WinUsb_QueryDeviceInformationW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529028], rax
mov rax, qword [0x00529028]
test rax, rax
jne 0x416358
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
jne 0x416388
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x38], rax
cmp qword [rbp - 0x38], 0
jne 0x416399
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x38]
lea rdx, str.WinUsb_SetCurrentAlternateSetting
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529030], rax
mov rax, qword [0x00529030]
test rax, rax
jne 0x416421
mov rax, qword [rbp - 0x38]
lea rdx, str.WinUsb_SetCurrentAlternateSettingA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529030], rax
mov rax, qword [0x00529030]
test rax, rax
jne 0x416421
mov rax, qword [rbp - 0x38]
lea rdx, str.WinUsb_SetCurrentAlternateSettingW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529030], rax
mov rax, qword [0x00529030]
test rax, rax
jne 0x416421
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
jne 0x416451
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x40], rax
cmp qword [rbp - 0x40], 0
jne 0x416462
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x40]
lea rdx, str.WinUsb_GetCurrentAlternateSetting
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529038], rax
mov rax, qword [0x00529038]
test rax, rax
jne 0x4164ea
mov rax, qword [rbp - 0x40]
lea rdx, str.WinUsb_GetCurrentAlternateSettingA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529038], rax
mov rax, qword [0x00529038]
test rax, rax
jne 0x4164ea
mov rax, qword [rbp - 0x40]
lea rdx, str.WinUsb_GetCurrentAlternateSettingW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529038], rax
mov rax, qword [0x00529038]
test rax, rax
jne 0x4164ea
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
jne 0x41651a
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x48], rax
cmp qword [rbp - 0x48], 0
jne 0x41652b
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x48]
lea rdx, str.WinUsb_QueryPipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529040], rax
mov rax, qword [0x00529040]
test rax, rax
jne 0x4165b3
mov rax, qword [rbp - 0x48]
lea rdx, str.WinUsb_QueryPipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529040], rax
mov rax, qword [0x00529040]
test rax, rax
jne 0x4165b3
mov rax, qword [rbp - 0x48]
lea rdx, str.WinUsb_QueryPipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529040], rax
mov rax, qword [0x00529040]
test rax, rax
jne 0x4165b3
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jne 0x4165e3
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x50], rax
cmp qword [rbp - 0x50], 0
jne 0x4165f4
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x50]
lea rdx, str.WinUsb_SetPipePolicy
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529048], rax
mov rax, qword [0x00529048]
test rax, rax
jne 0x41667c
mov rax, qword [rbp - 0x50]
lea rdx, str.WinUsb_SetPipePolicyA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529048], rax
mov rax, qword [0x00529048]
test rax, rax
jne 0x41667c
mov rax, qword [rbp - 0x50]
lea rdx, str.WinUsb_SetPipePolicyW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529048], rax
mov rax, qword [0x00529048]
test rax, rax
jne 0x41667c
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x58], rax
cmp qword [rbp - 0x58], 0
jne 0x4166ac
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x58], rax
cmp qword [rbp - 0x58], 0
jne 0x4166bd
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x58]
lea rdx, str.WinUsb_GetPipePolicy
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529050], rax
mov rax, qword [0x00529050]
test rax, rax
jne 0x416745
mov rax, qword [rbp - 0x58]
lea rdx, str.WinUsb_GetPipePolicyA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529050], rax
mov rax, qword [0x00529050]
test rax, rax
jne 0x416745
mov rax, qword [rbp - 0x58]
lea rdx, str.WinUsb_GetPipePolicyW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529050], rax
mov rax, qword [0x00529050]
test rax, rax
jne 0x416745
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x60], rax
cmp qword [rbp - 0x60], 0
jne 0x416775
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x60], rax
cmp qword [rbp - 0x60], 0
jne 0x416786
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x60]
lea rdx, str.WinUsb_ReadPipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529058], rax
mov rax, qword [0x00529058]
test rax, rax
jne 0x41680e
mov rax, qword [rbp - 0x60]
lea rdx, str.WinUsb_ReadPipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529058], rax
mov rax, qword [0x00529058]
test rax, rax
jne 0x41680e
mov rax, qword [rbp - 0x60]
lea rdx, str.WinUsb_ReadPipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529058], rax
mov rax, qword [0x00529058]
test rax, rax
jne 0x41680e
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x68], rax
cmp qword [rbp - 0x68], 0
jne 0x41683e
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x68], rax
cmp qword [rbp - 0x68], 0
jne 0x41684f
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x68]
lea rdx, str.WinUsb_WritePipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529060], rax
mov rax, qword [0x00529060]
test rax, rax
jne 0x4168d7
mov rax, qword [rbp - 0x68]
lea rdx, str.WinUsb_WritePipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529060], rax
mov rax, qword [0x00529060]
test rax, rax
jne 0x4168d7
mov rax, qword [rbp - 0x68]
lea rdx, str.WinUsb_WritePipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529060], rax
mov rax, qword [0x00529060]
test rax, rax
jne 0x4168d7
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x70], rax
cmp qword [rbp - 0x70], 0
jne 0x416907
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x70], rax
cmp qword [rbp - 0x70], 0
jne 0x416918
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x70]
lea rdx, str.WinUsb_ControlTransfer
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529068], rax
mov rax, qword [0x00529068]
test rax, rax
jne 0x4169a0
mov rax, qword [rbp - 0x70]
lea rdx, str.WinUsb_ControlTransferA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529068], rax
mov rax, qword [0x00529068]
test rax, rax
jne 0x4169a0
mov rax, qword [rbp - 0x70]
lea rdx, str.WinUsb_ControlTransferW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529068], rax
mov rax, qword [0x00529068]
test rax, rax
jne 0x4169a0
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x78], rax
cmp qword [rbp - 0x78], 0
jne 0x4169d0
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x78], rax
cmp qword [rbp - 0x78], 0
jne 0x4169e1
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x78]
lea rdx, str.WinUsb_ResetPipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529070], rax
mov rax, qword [0x00529070]
test rax, rax
jne 0x416a69
mov rax, qword [rbp - 0x78]
lea rdx, str.WinUsb_ResetPipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529070], rax
mov rax, qword [0x00529070]
test rax, rax
jne 0x416a69
mov rax, qword [rbp - 0x78]
lea rdx, str.WinUsb_ResetPipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529070], rax
mov rax, qword [0x00529070]
test rax, rax
jne 0x416a69
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x80], rax
cmp qword [rbp - 0x80], 0
jne 0x416a99
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x80], rax
cmp qword [rbp - 0x80], 0
jne 0x416aaa
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x80]
lea rdx, str.WinUsb_AbortPipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529078], rax
mov rax, qword [0x00529078]
test rax, rax
jne 0x416b32
mov rax, qword [rbp - 0x80]
lea rdx, str.WinUsb_AbortPipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529078], rax
mov rax, qword [0x00529078]
test rax, rax
jne 0x416b32
mov rax, qword [rbp - 0x80]
lea rdx, str.WinUsb_AbortPipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529078], rax
mov rax, qword [0x00529078]
test rax, rax
jne 0x416b32
mov eax, 0xfffffffb
jmp 0x416c1d
nop
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 0x88], rax
cmp qword [rbp - 0x88], 0
jne 0x416b6b
lea rcx, str.winusb.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp - 0x88], rax
cmp qword [rbp - 0x88], 0
jne 0x416b7f
mov eax, 0xfffffffb
jmp 0x416c1d
mov rax, qword [rbp - 0x88]
lea rdx, str.WinUsb_FlushPipe
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529080], rax
mov rax, qword [0x00529080]
test rax, rax
jne 0x416c0d
mov rax, qword [rbp - 0x88]
lea rdx, str.WinUsb_FlushPipeA
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529080], rax
mov rax, qword [0x00529080]
test rax, rax
jne 0x416c0d
mov rax, qword [rbp - 0x88]
lea rdx, str.WinUsb_FlushPipeW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [0x00529080], rax
mov rax, qword [0x00529080]
test rax, rax
jne 0x416c0d
mov eax, 0xfffffffb
jmp 0x416c1d
nop
mov dword [0x00528f78], 1
mov eax, 0
add rsp, 0xb0
pop rbp
ret