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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
mov dword [ebp - 0x30], eax
mov eax, 0x4cf6e0
call fcn.004b9cc0
movsx edx, byte [0x4c5664]
cmp edx, 0x30
jne 0x418ea8
mov dl, 0x17
mov eax, dword [ebp - 0x30]
call fcn.00418b40
push 0xc
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_PurgeComm_1
jmp 0x418ebf
mov dl, 0x17
mov eax, dword [ebp - 0x30]
call fcn.00418c7c
push 0xc
push dword [0x4dea64]
call sub.kernel32.dll_PurgeComm_1
mov byte [ebp - 0x41], 0
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x418ee9
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3c]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x418f01
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3c]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
je 0x418f10
cmp byte [ebp - 0x3c], 0x55
je 0x418f19
inc byte [ebp - 0x41]
cmp byte [ebp - 0x41], 3
jb 0x418ec3
cmp dword [0x4dec34], 0
jne 0x418fd5
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x418f4b
mov dl, 0x17
mov eax, dword [ebp - 0x30]
call fcn.00418bb4
push 0xc
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_PurgeComm_1
jmp 0x418f62
mov dl, 0x17
mov eax, dword [ebp - 0x30]
call fcn.00418cf0
push 0xc
push dword [0x4dea64]
call sub.kernel32.dll_PurgeComm_1
mov byte [ebp - 0x42], 0
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x418f8c
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3c]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x418fa4
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3c]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
je 0x418fb3
cmp byte [ebp - 0x3c], 0x55
je 0x418fbc
inc byte [ebp - 0x42]
cmp byte [ebp - 0x42], 3
jb 0x418f66
cmp dword [0x4dec34], 0
jne 0x418fd5
mov al, 2
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
cmp byte [ebp - 0x3c], 0x55
je 0x418feb
mov al, 0xb
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov byte [ebp - 0x43], 0
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x419015
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3c]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x41902d
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3c]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
je 0x41903c
cmp byte [ebp - 0x3c], 0x6b
je 0x419045
inc byte [ebp - 0x43]
cmp byte [ebp - 0x43], 3
jb 0x418fef
cmp dword [0x4dec34], 0
je 0x419054
cmp byte [ebp - 0x3c], 0x6b
je 0x419064
mov al, 0xc
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov byte [ebp - 0x44], 0
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x41908e
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3b]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x4190a6
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3b]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
je 0x4190b5
cmp byte [ebp - 0x3b], 0x8f
je 0x4190be
inc byte [ebp - 0x44]
cmp byte [ebp - 0x44], 3
jb 0x419068
cmp dword [0x4dec34], 0
je 0x4190cd
cmp byte [ebp - 0x3b], 0x8f
je 0x4190dd
mov al, 0xc
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov cl, 0xff
sub cl, byte [ebp - 0x3b]
mov byte [ebp - 0x3b], cl
movsx eax, byte [0x4c5664]
cmp eax, 0x30
jne 0x419123
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3b]
push edx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_WriteFile_1
push 0
push 0x4dec34
push 1
lea ecx, [ebp - 0x3c]
push ecx
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x419153
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3b]
push eax
push dword [0x4dea64]
call sub.kernel32.dll_WriteFile_1
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3c]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
jne 0x41916c
mov al, 1
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov byte [ebp - 0x45], 0
movsx ecx, byte [0x4c5664]
cmp ecx, 0x30
jne 0x419196
push 0
push 0x4dec34
push 1
lea eax, [ebp - 0x3c]
push eax
push dword [0x4dea64]
call sub.RT_USB.DLL_FT_W32_ReadFile_1
jmp 0x4191ae
push 0
push 0x4dec34
push 1
lea edx, [ebp - 0x3c]
push edx
push dword [0x4dea64]
call sub.kernel32.dll_ReadFile_1
cmp dword [0x4dec34], 0
je 0x4191c3
cmp byte [ebp - 0x3c], 0xe8
je 0x4191cc
cmp byte [ebp - 0x3c], 0x68
je 0x4191cc
inc byte [ebp - 0x45]
cmp byte [ebp - 0x45], 3
jb 0x419170
cmp dword [0x4dec34], 0
jne 0x4191e5
mov al, 0xc
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
cmp byte [ebp - 0x3c], 0xe8
jne 0x4193ca
mov byte [0x4dec70], 0x17
mov byte [0x4dec71], 0xf1
mov byte [ebp - 0x3c], 0x94
push 1
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x1a
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x419229
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x419245
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov word [ebp - 0x1c], 8
mov edx, 0x4dead8
lea eax, [ebp - 4]
call fcn.004c3c68
inc dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, dword [sym.Project1.exe__Form8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2d4]
call fcn.0048e39c
dec dword [ebp - 0x10]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004c3e54
cmp byte [0x4dead9], 0x56
jne 0x41929a
cmp byte [0x4deada], 0x57
jne 0x41929a
mov byte [0x4dec72], 1
jmp 0x4192a1
mov byte [0x4dec72], 0
mov byte [ebp - 0x3c], 0xfb
push 1
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x27
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x4192cd
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x4192e9
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov cl, byte [0x4deadb]
mov byte [ebp - 0x40], cl
mov al, byte [0x4deada]
mov byte [ebp - 0x3f], al
mov dl, byte [0x4dead9]
mov byte [ebp - 0x3e], dl
mov cl, byte [0x4dead8]
mov byte [ebp - 0x3d], cl
xor dword [ebp - 0x40], 0x78253947
add dword [ebp - 0x40], 0x83249272
mov byte [ebp - 0x3c], 0xfc
mov al, byte [ebp - 0x3d]
mov byte [ebp - 0x3b], al
mov dl, byte [ebp - 0x3e]
mov byte [ebp - 0x3a], dl
mov cl, byte [ebp - 0x3f]
mov byte [ebp - 0x39], cl
mov al, byte [ebp - 0x40]
mov byte [ebp - 0x38], al
push 5
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x27
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x41935e
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x41937a
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov byte [ebp - 0x3c], 0x84
mov byte [ebp - 0x3b], 0x14
push 2
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x10
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x4193aa
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x419645
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
cmp byte [ebp - 0x3c], 0x68
jne 0x419638
mov byte [0x4dec70], 0x61
mov byte [0x4dec71], 0xf3
mov byte [ebp - 0x3c], 0x86
push 1
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x10
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x41940e
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x41942a
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov byte [ebp - 0x3c], 0x9b
push 1
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x1a
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x419456
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x419472
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
cmp byte [0x4dead5], 0x7f
jne 0x4194a0
cmp byte [0x4dead8], 0x78
jne 0x4194a0
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x4194a0
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
push 0xc
push 0x4dead8
lea ecx, [ebp - 0x78]
push ecx
call fcn.004b9880
add esp, 0xc
push 0x14
push 0x4deaf2
lea eax, [ebp - 0x6c]
push eax
call fcn.004b9880
add esp, 0xc
push 4
push 0x4deae4
lea edx, [ebp - 0x58]
push edx
call fcn.004b9880
add esp, 0xc
mov byte [ebp - 0x54], 0
mov word [ebp - 0x1c], 0x14
lea edx, [ebp - 0x78]
lea eax, [ebp - 8]
call fcn.004c3c68
inc dword [ebp - 0x10]
mov edx, dword [eax]
mov eax, dword [sym.Project1.exe__Form8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2d4]
call fcn.0048e39c
dec dword [ebp - 0x10]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004c3e54
mov byte [ebp - 0x3c], 0xfb
push 1
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x27
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x419541
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x41955d
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov cl, byte [0x4deadb]
mov byte [ebp - 0x40], cl
mov al, byte [0x4deada]
mov byte [ebp - 0x3f], al
mov dl, byte [0x4dead9]
mov byte [ebp - 0x3e], dl
mov cl, byte [0x4dead8]
mov byte [ebp - 0x3d], cl
xor dword [ebp - 0x40], 0x1bc2a4f7
cmp dword [ebp - 0x40], 0
jne 0x419594
mov dword [ebp - 0x40], 0x1bc2a4f7
mov byte [ebp - 0x4d], 0
imul eax, dword [ebp - 0x40], 0x199d15
mov dword [ebp - 0x4c], eax
ror dword [ebp - 0x4c], 0x11
xor edx, edx
mov dl, byte [ebp - 0x4d]
imul ecx, edx, 0x199d15
add ecx, 0x905cd38f
xor ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x40], 0
jne 0x4195c9
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
inc byte [ebp - 0x4d]
cmp byte [ebp - 0x4d], 0x11
jb 0x419598
mov byte [ebp - 0x3c], 0xfc
mov dl, byte [ebp - 0x3d]
mov byte [ebp - 0x3b], dl
mov cl, byte [ebp - 0x3e]
mov byte [ebp - 0x3a], cl
mov al, byte [ebp - 0x3f]
mov byte [ebp - 0x39], al
mov dl, byte [ebp - 0x40]
mov byte [ebp - 0x38], dl
push 5
push 0x80
lea ecx, [ebp - 0x3c]
mov dl, 0x27
mov eax, dword [ebp - 0x30]
call fcn.0041a9f0
test eax, eax
je 0x419613
mov al, 4
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov eax, dword [ebp - 0x30]
call fcn.0041ad44
test eax, eax
je 0x41962c
mov al, 3
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
mov dword [0x4dec74], 1
jmp 0x419645
mov al, 0xd
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
jmp 0x41965a
push 0x1f4
call sub.kernel32.dll_Sleep_1
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret