Function at 0x10034980
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006f0bc
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x1009c00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0x2fa
push str.CVPusbIO::StartAsyncRead
push str.C:DevProjectsVPlibusbVPlibusbVPusbIO.cpp
push str._s_:__s_:__d_r_n
call fcn.10032e90
add esp, 0x10
cmp byte [esi + 0x5c], 0
jne 0x10034bdd
cmp dword [esi + 8], 0
jne 0x10034bdd
push 0x7c
push 1
call fcn.100539fa
mov edi, eax
add esp, 8
test edi, edi
je 0x10034a21
lea ebx, [edi + 0x28]
mov dword [edi], 0
test ebx, ebx
je 0x10034a07
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebx], eax
add edi, 0x2c
push edi
push str.transfer__p
push str.libusb_alloc_transfer
push 4
push 0
call fcn.10036f50
add esp, 0x14
mov cl, byte [esi + 0x17]
lea edx, [esi + 0x5d]
mov eax, dword [esi + 4]
mov dword [esi + 8], edi
mov byte [edx], 0x58
mov dword [edi], eax
mov byte [edi + 5], cl
mov byte [edi + 6], 2
mov dword [edi + 8], 0
mov dword [edi + 0x20], edx
mov dword [edi + 0x10], 0x400
mov dword [edi + 0x1c], esi
mov dword [edi + 0x18], 0x10034650
mov ecx, dword [esi + 8]
call fcn.100374a0
mov ebx, eax
test ebx, ebx
je 0x10034abc
mov edx, ebx
neg edx
js 0x10034a6d
cmp edx, 0xe
jl 0x10034a72
mov edx, 0xd
mov eax, dword [0x100a9138]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edx + ecx*2]
push dword [eax*4 + 0x1007c670]
push str.CVPusbIO::StartAsyncRead
push str._s_:_libusb_submit_transfer_error_:__s_r_n
call fcn.10032e70
mov ecx, dword [esi + 8]
add esp, 0xc
mov byte [esi + 0x5c], 0
test ecx, ecx
je 0x10034bad
call fcn.10037440
mov dword [esi + 8], 0
jmp 0x10034bad
push dword [esi + 8]
push str.CVPusbIO::StartAsyncRead
push str._s_:_libusb_submit_transfer_success_:_MY_AR_XFER__0x_x_r_n
call fcn.10032ed0
push 0x325
push str.CVPusbIO::StartContThread
push str.C:DevProjectsVPlibusbVPlibusbVPusbIO.cpp
push str._s_:__s_:__d_r_n
mov dword [esi + 0x460], 0
mov dword [esi + 0x464], 0
mov dword [esi + 0x468], 0
mov dword [esi + 0x46c], 0
call fcn.10032e90
add esp, 0x1c
cmp dword [esi + 0x54], 0
jne 0x10034b7c
push 8
call fcn.10041ce4
mov edi, eax
mov dword [ebp - 0x10], edi
push 8
mov dword [ebp - 4], 0
call fcn.10041ce4
mov dword [ebp - 0x14], eax
mov dword [eax], esi
mov dword [eax + 4], 0x10034c00
add edi, 4
mov byte [ebp - 4], 1
push edi
push 0
push eax
push 0x10032d00
push 0
push 0
call fcn.10053b61
mov ecx, dword [ebp - 0x10]
add esp, 0x20
mov dword [ecx], eax
test eax, eax
je 0x10034bf2
mov dword [esi + 0x58], ecx
mov eax, dword [edi]
push eax
push str.CVPusbIO::StartContThread
mov dword [esi + 0x54], eax
push str._s_:_Thread_started_id__0x_x_r_n
jmp 0x10034b89
push dword [esi + 0x54]
push str.CVPusbIO::StartContThread
push str._s_:_Thread_id__0x_x_already_RUNNING_r_n
call fcn.10032ed0
add esp, 0xc
push 0x334
push str.CVPusbIO::StartContThread
push str.C:DevProjectsVPlibusbVPlibusbVPusbIO.cpp
push str._t_____leaving__s_:__s_:__d_r_n
call fcn.10032e90
add esp, 0x10
push 0x315
push str.CVPusbIO::StartAsyncRead
push str.C:DevProjectsVPlibusbVPlibusbVPusbIO.cpp
push str._t_____leaving__s_:__s_:__d_r_n
call fcn.10032e90
add esp, 0x10
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 6
mov dword [edi], 0
call fcn.10042934
int3