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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
add byte [ebp + 8], 3
movsx eax, byte [0x4c5664]
cmp eax, 0x30
jne 0x41d31a
push 8
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_PurgeComm_1
push 0
push 0x4dec34
push 1
lea edx, [ebp + 8]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 2
lea ecx, [ebp - 0xe]
push ecx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d357
push 8
push dword [0x4dea64]
call sub.kernel32.dll_PurgeComm_1
push 0
push 0x4dec34
push 1
lea eax, [ebp + 8]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 2
lea edx, [ebp - 0xe]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
xor ecx, ecx
mov cl, byte [ebp - 0xd]
mov eax, 0xff
sub eax, ecx
xor edx, edx
mov dl, byte [ebp + 8]
cmp eax, edx
je 0x41d376
mov eax, 1
jmp 0x41d5ca
inc byte [0x4dea68]
cmp byte [0x4dea68], 0
jne 0x41d38b
inc byte [0x4dea68]
movsx edx, byte [0x4c5664]
cmp edx, 0x30
jne 0x41d3ca
push 0
push 0x4dec34
push 1
push 0x4dea68
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 2
lea ecx, [ebp - 0xe]
push ecx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d3fb
push 0
push 0x4dec34
push 1
push 0x4dea68
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 2
lea eax, [ebp - 0xe]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
xor edx, edx
mov dl, byte [ebp - 0xd]
mov ecx, 0xff
sub ecx, edx
xor eax, eax
mov al, byte [0x4dea68]
cmp ecx, eax
je 0x41d41c
mov eax, 1
jmp 0x41d5ca
movsx edx, byte [0x4c5664]
cmp edx, 0x30
jne 0x41d45a
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 5]
push ecx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 2
lea eax, [ebp - 0xe]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d48a
push 0
push 0x4dec34
push 1
lea edx, [ebp - 5]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 2
lea ecx, [ebp - 0xe]
push ecx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
xor eax, eax
mov al, byte [ebp - 0xd]
mov edx, 0xff
sub edx, eax
xor ecx, ecx
mov cl, byte [ebp - 5]
cmp edx, ecx
je 0x41d4a9
mov eax, 1
jmp 0x41d5ca
mov byte [ebp - 0xf], 3
mov dl, byte [ebp - 0xf]
cmp dl, byte [ebp + 8]
jae 0x41d558
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41d4f6
push 0
push 0x4dec34
push 1
push dword [ebp - 0xc]
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 2
lea eax, [ebp - 0xe]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d525
push 0
push 0x4dec34
push 1
push dword [ebp - 0xc]
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 2
lea edx, [ebp - 0xe]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
xor ecx, ecx
mov cl, byte [ebp - 0xd]
mov eax, 0xff
sub eax, ecx
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov cl, byte [edx]
cmp eax, ecx
je 0x41d546
mov eax, 1
jmp 0x41d5ca
inc dword [ebp - 0xc]
inc byte [ebp - 0xf]
mov dl, byte [ebp - 0xf]
cmp dl, byte [ebp + 8]
jb 0x41d4b9
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41d597
push 0
push 0x4dec34
push 1
push 0x4cb2fb
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0xe]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41d5c8
push 0
push 0x4dec34
push 1
push 0x4cb2fb
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0xe]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
xor eax, eax
mov esp, ebp
pop ebp
ret 4