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

Disassembly:
mov eax, dword [0xe69078]
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_WriteFile]
xor ebx, ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
cmp eax, ebx
mov edi, 1
jne 0x405476
mov eax, dword [0xe69050]
push ebx
push 0x428c08
push 5
push 0x42511c
push eax
mov dword [0x428c0c], 5
call ebp
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push 5
push 0x428c10
push ecx
mov dword [0x428c04], 5
call esi
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push edx
mov dword [0x428c04], edi
call esi
mov eax, dword [esp + 0x14]
mov ecx, dword [0xe69050]
push ebx
push 0x428c08
push 0x10
push eax
push ecx
mov dword [0x428c0c], 0x10
call ebp
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push 0x10
push 0x428c10
push edx
mov dword [0x428c04], 0x10
call esi
mov dword [0x428c00], ebx
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push eax
mov dword [0x428c04], edi
call esi
cmp byte [0x428c10], 0x9f
jne 0x4052cb
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push ecx
mov dword [0x428c04], edi
call esi
cmp byte [0x428c10], 0xc
je 0x40530f
mov eax, dword [0x428c00]
inc eax
cmp eax, 6
mov dword [0x428c00], eax
jne 0x405284
mov eax, dword [0xe6909c]
mov edx, dword [0xe69050]
push 0x428c38
inc eax
push 0x428c30
push edx
mov dword [0xe6909c], eax
call dword [sym.imp.KERNEL32.dll_ClearCommError]
mov eax, dword [0x428c3c]
cmp eax, ebx
je 0x405476
jmp 0x405462
mov ecx, dword [0xe69050]
push ebx
push 0x428c08
push 5
push 0x425124
push ecx
mov dword [0x428c0c], 5
call ebp
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push 5
push 0x428c10
push edx
mov dword [0x428c04], 5
call esi
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push eax
mov dword [0x428c04], edi
call esi
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push 0xc
push 0x428c10
push ecx
mov dword [0x428c04], 0xc
call esi
mov dword [0x428c00], ebx
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428be0
push edx
mov dword [0x428c04], edi
call esi
cmp byte [0x428be0], 0x90
jne 0x4053d5
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428be0
push eax
mov dword [0x428c04], edi
call esi
cmp byte [0x428be0], bl
je 0x4053e7
mov eax, dword [0x428c00]
inc eax
cmp eax, 6
mov dword [0x428c00], eax
je 0x405431
jmp 0x40538f
mov esi, dword [esp + 0x18]
xor eax, eax
mov dword [0x428bdc], eax
mov cl, byte [eax + 0x428c10]
mov byte [eax + esi], cl
mov eax, dword [0x428bdc]
inc eax
cmp eax, 0xc
mov dword [0x428bdc], eax
jl 0x4053f2
mov edx, dword [0xe69068]
inc edx
mov dword [0xe69068], edx
call fcn.00415b9d
cmp eax, ebx
je 0x4056fc
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x4056fe
mov eax, dword [0xe6909c]
mov edx, dword [0xe69050]
push 0x428c38
inc eax
push 0x428c30
push edx
mov dword [0xe6909c], eax
mov dword [0x428c04], edi
call dword [sym.imp.KERNEL32.dll_ClearCommError]
mov eax, dword [0x428c3c]
cmp eax, ebx
je 0x405476
push ebx
push 0x428c3c
push eax
mov eax, dword [0xe69050]
push 0x428c10
push eax
call esi
cmp dword [0xe69078], ebx
jne 0x4054af
inc dword [0xe6907c]
call fcn.00415b9d
cmp eax, ebx
je 0x405496
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x405498
xor eax, eax
mov ecx, dword [0xe6907c]
mov edx, dword [eax + 0x1c]
push ebx
push ecx
push 0x3f8
push edx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
cmp dword [0xe6909c], 5
jle 0x405553
mov eax, dword [0xe69050]
push 3
push eax
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0xe69050]
push 4
push ecx
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0xe69050]
push 0x428c38
push 0x428c30
push edx
call dword [sym.imp.KERNEL32.dll_ClearCommError]
mov eax, dword [0x428c3c]
cmp eax, ebx
je 0x405520
push ebx
push 0x428c3c
push eax
mov eax, dword [0xe69050]
push 0x428c10
push eax
call esi
mov eax, dword [0xe690a0]
mov dword [0xe6909c], ebx
inc eax
cmp eax, 3
mov dword [0xe690a0], eax
jle 0x405553
push ebx
push str.TRACE
push 0x4252cc
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
mov dword [0xe6906c], ebx
pop ebp
pop ebx
ret
mov ecx, dword [0xe69050]
push ebx
push 0x428c08
push 5
push 0x42510c
push ecx
mov dword [0x428c0c], 5
call ebp
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push 5
push 0x428c10
push edx
mov dword [0x428c04], 5
call esi
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push eax
mov dword [0x428c04], edi
call esi
mov ecx, dword [0xe69050]
push ebx
push 0x428c08
push 2
push 0x425114
push ecx
mov dword [0x428c0c], 2
call ebp
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push 2
push 0x428c10
push edx
mov dword [0x428c04], 2
call esi
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push eax
mov dword [0x428c04], edi
call esi
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push ecx
mov dword [0x428c04], edi
call esi
mov edx, dword [0xe69050]
push ebx
push 0x428c08
push 5
push 0x42510c
push edx
mov dword [0x428c0c], 5
call ebp
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push 5
push 0x428c10
push eax
mov dword [0x428c04], 5
call esi
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push ecx
mov dword [0x428c04], edi
call esi
mov dword [0x428c0c], 2
mov edx, dword [0xe69050]
push ebx
push 0x428c08
push 2
push 0x425118
push edx
call ebp
mov eax, dword [0xe69050]
push ebx
push 0x428c04
push 2
push 0x428c10
push eax
mov dword [0x428c04], 2
call esi
mov ecx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push ecx
mov dword [0x428c04], edi
call esi
mov edx, dword [0xe69050]
push ebx
push 0x428c04
push edi
push 0x428c10
push edx
mov dword [0x428c04], edi
call esi
mov dword [0xe69078], ebx
jmp 0x4051e4
xor eax, eax
mov ecx, dword [0xe69068]
mov edx, dword [eax + 0x1c]
push ebx
push ecx
push 0x3eb
push edx
call dword [sym.imp.USER32.dll_SetDlgItemInt]
pop edi
pop esi
pop ebp
pop ebx
ret