Function at 0x41ceec
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
mov dword [ebp - 4], eax
movsx eax, byte [0x4c5664]
cmp eax, 0x30
jne 0x41cf1b
push 0
push 0x4dec34
push 1
lea edx, [ebp - 6]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41cf33
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 6]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41cf46
mov eax, 1
jmp 0x41d2b8
mov dl, 0xff
sub dl, byte [ebp - 6]
mov byte [ebp - 5], dl
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41cf8c
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41cfbc
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
mov dl, byte [ebp - 6]
add dl, 0xfd
mov byte [0x4dead6], dl
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41cfef
push 0
push 0x4dec34
push 1
push 0x4dea68
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d008
push 0
push 0x4dec34
push 1
push 0x4dea68
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41d01b
mov eax, 1
jmp 0x41d2b8
mov dl, 0xff
sub dl, byte [0x4dea68]
mov byte [ebp - 5], dl
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41d064
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d094
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
movsx edx, byte [0x4c5664]
cmp edx, 0x30
jne 0x41d0bb
push 0
push 0x4dec34
push 1
push 0x4dead5
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d0d4
push 0
push 0x4dec34
push 1
push 0x4dead5
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41d0e7
mov eax, 1
jmp 0x41d2b8
mov dl, 0xff
sub dl, byte [0x4dead5]
mov byte [ebp - 5], dl
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41d130
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d160
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
add byte [ebp - 6], 0xff
mov byte [ebp - 7], 2
mov dl, byte [ebp - 7]
cmp dl, byte [ebp - 6]
jae 0x41d262
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41d1a2
push 0
push 0x4dec34
push 1
xor eax, eax
mov al, byte [ebp - 7]
add eax, 0x4dead5
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d1c2
push 0
push 0x4dec34
push 1
xor edx, edx
mov dl, byte [ebp - 7]
add edx, 0x4dead5
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41d1d5
mov eax, 1
jmp 0x41d2b8
xor edx, edx
mov dl, byte [ebp - 7]
mov cl, 0xff
sub cl, byte [edx + 0x4dead5]
mov byte [ebp - 5], cl
movsx eax, byte [0x4c5664]
cmp eax, 0x30
jne 0x41d223
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d253
push 0
push 0x4dec34
push 1
lea eax, [ebp - 5]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
inc byte [ebp - 7]
mov cl, byte [ebp - 7]
cmp cl, byte [ebp - 6]
jb 0x41d174
movsx eax, byte [0x4c5664]
cmp eax, 0x30
jne 0x41d288
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d2a0
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41d2b6
cmp byte [ebp - 5], 3
je 0x41d2b6
mov eax, 1
jmp 0x41d2b8
xor eax, eax
pop ecx
pop ecx
pop ebp
ret