Function at 0x1029a3e
Capabilities:
Reference absolute stream path on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
push esi
push edi
xor esi, esi
push ebx
mov dword [ebp - 8], esi
mov dword [ebp - 4], esi
call dword [eax + 0x90]
cmp eax, 9
sete al
movzx eax, al
push eax
push 0x101449c
push esi
push esi
push esi
push 0x10143c8
push dword [0x102e5ac]
push 4
pop edi
push edi
call fcn.0102c428
mov eax, dword [ebx]
push esi
push esi
lea ecx, [ebp - 8]
push ecx
push ebx
mov dword [ebp + 0xc], esi
call dword [eax + 0xa8]
cmp dword [ebp - 8], 0x8002c400
sete al
movzx eax, al
push eax
push 0x101439c
push esi
push esi
push esi
push 0x10142c8
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebx]
push esi
push esi
push esi
lea ecx, [ebp + 0xc]
push ecx
push ebx
call dword [eax + 0xa0]
cmp dword [ebp + 0xc], esi
setne al
movzx eax, al
push eax
push 0x10142ac
push esi
push esi
push esi
push 0x10141d8
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
movzx ecx, word [eax + 2]
mov edx, 0x102
cmp ecx, edx
jg 0x1029dc7
je 0x1029d85
cmp ecx, 0x1e
jg 0x1029cb6
je 0x1029c7d
dec ecx
je 0x1029c47
dec ecx
je 0x1029be0
sub ecx, 6
je 0x1029b9f
dec ecx
jne case.0x1029dd6.262
cmp word [eax], 0x1c
sete al
movzx eax, al
push eax
push 0x1014190
push esi
push esi
push esi
push 0x10140b8
push dword [0x102e5ac]
push edi
call fcn.0102c428
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xc]
push esi
push dword [eax + 0x14]
push dword [eax + 0x18]
push ecx
push dword [eax + 4]
cmp dword [eax + 0x10], esi
je 0x1029b98
call sub.WINUSB.DLL_WinUsb_ReadPipe
cmp eax, esi
jne 0x1029b8c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x3e5
jne 0x1029fcf
mov dword [ebp - 4], 1
jmp 0x1029c3f
call sub.WINUSB.DLL_WinUsb_WritePipe
jmp 0x1029b74
cmp word [eax], 0x20
sete al
movzx eax, al
push eax
push 0x1014074
push esi
push esi
push esi
push 0x1013fa0
push dword [0x102e5ac]
push edi
call fcn.0102c428
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0x1c]
push dword [eax + 0x18]
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_ControlTransfer
jmp 0x1029b74
cmp word [eax], 0x14
sete al
movzx eax, al
push eax
push 0x1013f64
push esi
push esi
push esi
push 0x1013e90
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_AbortPipe
xor ecx, ecx
cmp eax, esi
jne 0x1029c30
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, esi
jle 0x1029c2e
and eax, 0xffff
or eax, 0x80070000
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax]
push esi
push ecx
push ebx
push eax
call dword [edx + 0xc]
mov eax, dword [ebp - 4]
jmp 0x102a05c
cmp word [eax], 0x10
sete al
movzx eax, al
push eax
push 0x1013e4c
push esi
push esi
push esi
push 0x1013d78
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_SetCurrentAlternateSetting
jmp 0x1029c14
cmp word [eax], 0x14
sete al
movzx eax, al
push eax
push 0x1013f64
push esi
push esi
push esi
push 0x1013ca0
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_ResetPipe
jmp 0x1029c14
sub ecx, 0x27
je 0x1029d4d
dec ecx
je 0x1029d10
sub ecx, 0xd9
jne case.0x1029dd6.262
cmp word [eax], 0x1c
sete al
movzx eax, al
push eax
push 0x1013c64
push esi
push esi
push esi
push 0x1013b90
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
push ecx
movzx ecx, byte [eax + 0xd]
push ecx
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_QueryPipe
jmp 0x1029c14
cmp word [eax], 0x18
sete al
movzx eax, al
push eax
push 0x1013b48
push esi
push esi
push esi
push 0x1013a70
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0xd]
push ecx
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_QueryInterfaceSettings
jmp 0x1029c14
cmp word [eax], 0x10
sete al
movzx eax, al
push eax
push 0x1013e4c
push esi
push esi
push esi
push 0x1013998
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_GetCurrentAlternateSetting
jmp 0x1029c14
cmp word [eax], 0x1c
sete al
movzx eax, al
push eax
push 0x1013950
push esi
push esi
push esi
push 0x1013878
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 0x18]
movzx ecx, byte [eax + 0xc]
push dword [eax + 0x14]
push dword [eax + 0x10]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_SetPipePolicy
jmp 0x1029c14
sub ecx, 0x103
cmp ecx, 9
ja case.0x1029dd6.262
jmp dword [ecx*4 + 0x102a066]
cmp word [eax], 0x1c
sete al
movzx eax, al
push eax
push 0x1013950
push esi
push esi
push esi
push 0x10137a0
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 0x18]
lea ecx, [eax + 0x14]
push ecx
push dword [eax + 0x10]
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_GetPipePolicy
jmp 0x1029c14
cmp word [eax], 0x14
sete al
movzx eax, al
push eax
push 0x1013f64
push esi
push esi
push esi
push 0x10136c8
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_FlushPipe
jmp 0x1029c14
cmp word [eax], 0x18
sete al
movzx eax, al
push eax
push 0x1013680
push esi
push esi
push esi
push 0x10135a8
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_SetPowerPolicy
jmp 0x1029c14
cmp word [eax], 0x18
sete al
movzx eax, al
push eax
push 0x1013680
push esi
push esi
push esi
push 0x10134d0
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 0x14]
lea ecx, [eax + 0x10]
push ecx
push dword [eax + 0xc]
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_GetPowerPolicy
jmp 0x1029c14
cmp word [eax], 0x14
sete al
movzx eax, al
push eax
push 0x1013488
push esi
push esi
push esi
push 0x10133b0
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
push ecx
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_GetAssociatedInterface
jmp 0x1029c14
cmp word [eax], 0xc
sete al
movzx eax, al
push eax
push 0x101337c
push esi
push esi
push esi
push 0x10132a8
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_Free
jmp 0x1029c14
cmp word [eax], 0x18
sete al
movzx eax, al
push eax
push 0x1013268
push esi
push esi
push esi
push 0x1013190
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
push dword [eax + 0x14]
lea ecx, [eax + 0x10]
push ecx
push dword [eax + 0xc]
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_QueryDeviceInformation
jmp 0x1029c14
cmp word [eax], 0x18
sete al
movzx eax, al
push eax
push 0x1013150
push esi
push esi
push esi
push 0x1013078
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 0xc]
lea ecx, [eax + 0x10]
push ecx
push dword [ecx]
movzx ecx, word [eax + 0xe]
push dword [eax + 0x14]
push ecx
movzx ecx, byte [eax + 0xd]
push ecx
movzx ecx, byte [eax + 0xc]
push ecx
push dword [eax + 4]
call sub.WINUSB.DLL_WinUsb_GetDescriptor
jmp 0x1029c14
mov eax, dword [0x102e010]
cmp eax, 0x102e010
je 0x102a009
test dword [eax + 0x9c], 0x10000
je 0x102a009
cmp byte [eax + 0x99], 2
jb 0x102a009
push edi
push 0x1012bc4
push 0xd
push dword [eax + 0x94]
push dword [eax + 0x90]
call fcn.010164b8
cmp edi, esi
jle 0x102a019
and edi, 0xffff
or edi, 0x80070000
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push esi
push edi
push ebx
push eax
call dword [ecx + 0xc]
jmp 0x1029c3f
push esi
push 0x1013044
push esi
push esi
push esi
push 0x1012f70
push dword [0x102e5ac]
push edi
call fcn.0102c428
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
push esi
push 0x80070001
push ebx
push eax
call dword [ecx + 0xc]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10