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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x207
push 0
push 0
dec ecx
jne 0x4855b5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0x80c]
push ecx
mov ecx, 0x200
rep movsd dword es:[edi], dword [esi]
pop ecx
mov ebx, ecx
mov esi, eax
mov edi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x485870
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x485839
push dword fs:[eax]
mov dword fs:[eax], esp
cmp edi, 7
jne 0x4856ee
push 0x48588c
lea eax, [ebp - 0x1010]
mov edx, ebx
add dl, 2
call fcn.0040431c
push dword [ebp - 0x1010]
lea eax, [ebp - 0x1014]
mov dl, byte [ebp - 0x80c]
call fcn.0040431c
push dword [ebp - 0x1014]
lea eax, [ebp - 0x1018]
mov dl, byte [ebp - 0x80b]
call fcn.0040431c
push dword [ebp - 0x1018]
lea eax, [ebp - 0x101c]
mov dl, byte [ebp - 0x80a]
call fcn.0040431c
push dword [ebp - 0x101c]
lea eax, [ebp - 0x1020]
mov dl, byte [ebp - 0x80c]
call fcn.0040431c
push dword [ebp - 0x1020]
lea eax, [ebp - 0x1024]
mov dl, byte [ebp - 0x80b]
call fcn.0040431c
push dword [ebp - 0x1024]
lea eax, [ebp - 0x1028]
mov dl, byte [ebp - 0x80a]
call fcn.0040431c
push dword [ebp - 0x1028]
lea eax, [ebp - 8]
mov edx, 8
call fcn.004044b4
mov ecx, 0xb
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x102c]
call fcn.0040431c
mov edx, dword [ebp - 0x102c]
lea eax, [ebp - 8]
call fcn.004043fc
jmp 0x485788
push 0x485898
lea eax, [ebp - 0x1030]
mov edx, ebx
add dl, 2
call fcn.0040431c
push dword [ebp - 0x1030]
lea eax, [ebp - 0x1034]
mov dl, byte [ebp - 0x80c]
call fcn.0040431c
push dword [ebp - 0x1034]
lea eax, [ebp - 0x1038]
mov dl, byte [ebp - 0x80b]
call fcn.0040431c
push dword [ebp - 0x1038]
lea eax, [ebp - 0x103c]
mov dl, byte [ebp - 0x80a]
call fcn.0040431c
push dword [ebp - 0x103c]
lea eax, [ebp - 8]
mov edx, 5
call fcn.004044b4
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x1040]
call fcn.0040431c
mov edx, dword [ebp - 0x1040]
lea eax, [ebp - 8]
call fcn.004043fc
push 0
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
call fcn.004043f4
push eax
mov eax, dword [ebp - 8]
call fcn.004045f4
push eax
push esi
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x4857af
call fcn.0040bdbc
mov ebx, 0x15
xor eax, eax
mov dword [ebp - 0xc], eax
push 0x32
call sub.kernel32.dll_Sleep
push 0
lea eax, [ebp - 0xc]
push eax
push 0x40
lea eax, [ebp - 0x100c]
push eax
push esi
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x4857de
call fcn.0040bdbc
cmp dword [ebp - 0xc], 0
ja 0x4857e7
dec ebx
jne 0x4857b4
cmp byte [ebp - 0x100c], 0x81
je 0x4857f5
call fcn.0040bdbc
xor ebx, ebx
mov bl, byte [ebp - 0x100b]
mov ecx, ebx
sub ecx, 2
xor edx, edx
lea eax, [ebp - 0x100c]
call fcn.00483c3c
cmp al, byte [ebp + ebx - 0x100d]
je 0x48581d
call fcn.0040bdbc
dec edi
jne 0x48582f
cmp byte [ebp + ebx - 0x100e], 1
je 0x48582f
call fcn.0040bdbc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48584a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x485877
lea eax, [ebp - 0x1040]
mov edx, 0xd
call fcn.00404158
lea eax, [ebp - 8]
call fcn.00404134
ret