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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1818
call fcn.004dfa50
mov eax, dword [0x57af80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov ecx, 0xbfd80
mov eax, dword [edi + 0x24]
add eax, 0xffffffe7
div ecx
mov ebx, eax
shl ebx, 7
mov dword [ebp - 0x1814], ebx
cmp edx, 0x80
jbe 0x447683
lea ecx, [edx - 0x80]
mov eax, 0xaad56003
mul ecx
shr edx, 0xc
add ebx, edx
mov dword [ebp - 0x1814], ebx
mov eax, dword [ebp - 0x1814]
lea esi, [ebx - 1]
xor ebx, ebx
test eax, eax
jle 0x447765
jmp 0x4476a0
lea eax, [ebp - 0x180c]
mov dword [ebp - 0x180c], 0
push eax
lea eax, [ebp - 0x1810]
mov byte [ebp - 0x1805], 0
push eax
lea eax, [ebp - 0x1805]
mov dword [ebp - 0x1810], 0
push eax
push ebx
mov ecx, edi
call fcn.00446b40
test eax, eax
je 0x447929
cmp dword [ebp - 0x180c], 0
jne 0x447929
cmp byte [ebp - 0x1805], 0
jne 0x4478da
cmp esi, ebx
jle 0x44775f
mov edi, edi
lea eax, [ebp - 0x180c]
mov dword [ebp - 0x180c], 0
push eax
lea eax, [ebp - 0x1818]
mov byte [ebp - 0x1805], 0
push eax
lea eax, [ebp - 0x1805]
mov dword [ebp - 0x1818], 0
push eax
push esi
mov ecx, edi
call fcn.00446b40
test eax, eax
je 0x447929
cmp dword [ebp - 0x180c], 0
jne 0x447929
cmp byte [ebp - 0x1805], 1
je 0x447812
dec esi
cmp esi, ebx
jg 0x447700
mov eax, dword [ebp - 0x1814]
lea ebx, [eax - 1]
xor esi, esi
test ebx, ebx
js 0x447956
jmp 0x447780
lea eax, [ebp - 0x1810]
mov dword [ebp - 0x1810], 0
push eax
lea eax, [ebp - 0x1818]
mov byte [ebp - 0x1805], 0
push eax
lea eax, [ebp - 0x1805]
mov dword [ebp - 0x1818], 0
push eax
push ebx
mov ecx, edi
call fcn.00446b40
test eax, eax
je 0x447929
cmp dword [ebp - 0x1810], 0
jne 0x44793c
cmp byte [ebp - 0x1805], 1
je 0x4477da
inc esi
dec ebx
jns 0x447780
test esi, esi
je 0x447956
push esi
mov ecx, edi
call fcn.00446390
test eax, eax
je 0x447929
mov ecx, edi
call fcn.004472c0
test eax, eax
jne 0x447956
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df262
mov esp, ebp
pop ebp
ret
push 0
push 0
push dword [ebp - 0x1818]
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x447922
push 0
lea eax, [ebp - 0x1804]
mov dword [ebp - 0x1804], 0
push eax
push 0x17fa
lea eax, [ebp - 0x1800]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x447908
cmp dword [ebp - 0x1804], 0x17fa
jne 0x447908
push 0
push 0
push dword [ebp - 0x1810]
push dword [edi]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x447922
push 0
lea eax, [ebp - 0x1804]
mov dword [ebp - 0x1804], 0
push eax
push 0x17fa
lea eax, [ebp - 0x1800]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4478ee
cmp dword [ebp - 0x1804], 0x17fa
jne 0x4478ee
push 1
push ebx
mov ecx, edi
call fcn.00448150
test eax, eax
je 0x447929
push 0
push esi
mov ecx, edi
call fcn.00448150
test eax, eax
je 0x447929
mov eax, dword [ebp - 0x1814]
inc ebx
cmp ebx, eax
jl 0x4476a0
jmp 0x447765
mov dword [edi + 0x28], 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df262
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x28], 5
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df262
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x28], 0xa
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df262
mov esp, ebp
pop ebp
ret
mov dword [edi + 0x28], 3
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004df262
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004df262
mov esp, ebp
pop ebp
ret