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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff7c0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x840], ebx
mov dword [ebp - 0x830], ebx
mov dword [ebp - 0x834], ebx
mov dword [ebp - 0x838], ebx
mov dword [ebp - 0x83c], ebx
mov dword [ebp - 0x824], ebx
mov dword [ebp - 0x828], ebx
mov dword [ebp - 0x82c], ebx
mov dword [ebp - 0x10], ebx
mov word [ebp - 8], cx
mov word [ebp - 6], dx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x485174
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
call fcn.00483de4
xor eax, eax
mov dword [ebp - 0x1c], eax
movzx ebx, word [ebp - 8]
mov eax, ebx
mov ecx, 0x37
xor edx, edx
div ecx
mov dword [ebp - 0x18], eax
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x40
lea eax, [ebp - 0x820]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_ReadFile
mov eax, ebx
mov ecx, 0x37
xor edx, edx
div ecx
test edx, edx
je 0x484ecc
inc dword [ebp - 0x18]
xor ecx, ecx
push ebp
push 0x48513d
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 0x18]
dec eax
test eax, eax
jl 0x485133
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x18]
dec eax
cmp eax, dword [ebp - 0x14]
jg 0x484f0f
movzx eax, word [ebp - 8]
mov ecx, 0x37
xor edx, edx
div ecx
test edx, edx
jne 0x484f96
push 0x485190
lea eax, [ebp - 0x824]
mov dl, byte [ebp + 8]
call fcn.0040431c
push dword [ebp - 0x824]
push 0x48519c
lea eax, [ebp - 0x828]
movzx ebx, word [ebp - 6]
imul edx, dword [ebp - 0x14], 0x37
add ebx, edx
mov edx, ebx
and edx, 0x800000ff
jns 0x484f4f
dec edx
or edx, 0xffffff00
inc edx
call fcn.0040431c
push dword [ebp - 0x828]
lea eax, [ebp - 0x82c]
mov edx, ebx
test edx, edx
jns 0x484f6c
add edx, 0xff
sar edx, 8
call fcn.0040431c
push dword [ebp - 0x82c]
push 0x4851a8
push 0x48519c
lea eax, [ebp - 0x10]
mov edx, 7
call fcn.004044b4
jmp 0x485031
push 0x485190
lea eax, [ebp - 0x830]
mov dl, byte [ebp + 8]
call fcn.0040431c
push dword [ebp - 0x830]
push 0x48519c
lea eax, [ebp - 0x834]
movzx ebx, word [ebp - 6]
imul edx, dword [ebp - 0x14], 0x37
add ebx, edx
mov edx, ebx
and edx, 0x800000ff
jns 0x484fd6
dec edx
or edx, 0xffffff00
inc edx
call fcn.0040431c
push dword [ebp - 0x834]
lea eax, [ebp - 0x838]
mov edx, ebx
test edx, edx
jns 0x484ff3
add edx, 0xff
sar edx, 8
call fcn.0040431c
push dword [ebp - 0x838]
movzx eax, word [ebp - 8]
mov ecx, 0x37
xor edx, edx
div ecx
lea eax, [ebp - 0x83c]
call fcn.0040431c
push dword [ebp - 0x83c]
push 0x48519c
lea eax, [ebp - 0x10]
mov edx, 7
call fcn.004044b4
mov ecx, 9
mov edx, 1
mov eax, dword [ebp - 0x10]
call fcn.00483bdc
mov edx, eax
lea eax, [ebp - 0x840]
call fcn.0040431c
mov edx, dword [ebp - 0x840]
lea eax, [ebp - 0x10]
call fcn.004043fc
push 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004043f4
push eax
mov eax, dword [ebp - 0x10]
call fcn.004045f4
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_WriteFile_1
test eax, eax
jne 0x485088
call fcn.0040bdbc
mov ebx, 0x15
xor eax, eax
mov dword [ebp - 0x1c], eax
push 0x32
call sub.kernel32.dll_Sleep
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x40
lea eax, [ebp - 0x820]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_ReadFile
test eax, eax
jne 0x4850ba
call fcn.0040bdbc
cmp dword [ebp - 0x1c], 0
ja 0x4850c3
dec ebx
jne 0x48508d
cmp byte [ebp - 0x820], 0x81
je 0x4850d1
call fcn.0040bdbc
xor ebx, ebx
mov bl, byte [ebp - 0x81f]
mov esi, ebx
sub esi, 2
mov ecx, esi
xor edx, edx
lea eax, [ebp - 0x820]
call fcn.00483c3c
cmp al, byte [ebp + ebx - 0x821]
je 0x4850fb
call fcn.0040bdbc
mov edx, esi
sub edx, 8
jl 0x485127
inc edx
mov ebx, 8
lea eax, [ebp - 0x818]
mov ecx, ebx
sub ecx, 8
imul esi, dword [ebp - 0x14], 0x37
add ecx, esi
mov esi, dword [ebp + 0xc]
add esi, ecx
mov cl, byte [eax]
mov byte [esi], cl
inc ebx
inc eax
dec edx
jne 0x48510e
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x484ef1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48514e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48517b
lea eax, [ebp - 0x840]
mov edx, 8
call fcn.00404158
lea eax, [ebp - 0x10]
call fcn.00404134
ret