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

Disassembly:
mov eax, 0x2020c
call fcn.0046be90
mov eax, dword [0x4b77c0]
xor eax, esp
mov dword [esp + 0x20208], eax
cmp dword [esp + 0x20220], 0
mov eax, dword [esp + 0x20224]
push ebx
mov ebx, dword [esp + 0x20218]
push ebp
mov ebp, dword [esp + 0x20218]
push esi
push edi
mov dword [esp + 0x14], eax
je 0x45a00a
test eax, eax
je 0x45a00a
mov byte [0], 0
mov eax, dword [ebx]
push 0
lea esi, [ebx + 0x42a8]
mov ecx, 0x40
lea edi, [esp + 0x11c]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.0042ca60
add esp, 4
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00450550
add esp, 0xc
test eax, eax
je 0x45a195
push 0
lea eax, [ebx + 0x42a8]
push 0x100
push eax
call fcn.00450550
add esp, 0xc
test eax, eax
je 0x45a195
mov ecx, dword [ebx]
lea edx, [ebx + 8]
push edx
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.0042c6d0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45a19a
push ebx
call fcn.0042c7b0
add esp, 4
test eax, eax
je 0x45a276
cmp dword [esp + 0x14], esi
je 0x45a0ad
mov esi, dword [esp + 0x20228]
mov edi, dword [esp + 0x2022c]
add esi, 0x20000
adc edi, 0
jmp 0x45a0b1
xor esi, esi
xor edi, edi
push 0
push 0
push edi
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x45a227
push 0
lea edx, [esp + 0x14]
push edx
push 0x20000
lea eax, [esp + 0x224]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x45a227
cmp dword [esp + 0x10], 0x200
jb 0x45a21f
push ebx
push 0
lea ecx, [esp + 0x420]
push 0x1fe00
push ecx
call fcn.0042d700
add esp, 0x10
push 0
push 0
push edi
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x45a227
push 0
lea edx, [esp + 0x14]
push edx
push 0x20000
lea eax, [esp + 0x224]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x45a227
cmp dword [esp + 0x10], 0x20000
jne 0x45a195
cmp dword [esp + 0x14], 0
jne 0x45a231
cmp dword [esp + 0x20230], 0
jne 0x45a231
mov ecx, dword [ebx]
push 0
push ecx
mov dword [esp + 0x1c], 1
call fcn.0042ca60
add esp, 4
push eax
lea edx, [esp + 0x20]
push edx
call fcn.00450550
add esp, 0xc
test eax, eax
jne 0x45a041
mov esi, 0x1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [esp + 0x18]
mov edx, 0x100
mov ebx, edx
mov ecx, edi
lea ecx, [ecx]
mov byte [ecx], 0
inc ecx
sub ebx, 1
jne 0x45a1b0
lea esp, [esp]
dec edx
mov byte [edi], 0
inc edi
test edx, edx
jne 0x45a1c0
lea edi, [esp + 0x118]
mov edx, 0x100
mov ebx, edx
mov ecx, edi
lea esp, [esp]
mov byte [ecx], 0
inc ecx
sub ebx, 1
jne 0x45a1e0
lea esp, [esp]
dec edx
mov byte [edi], 0
inc edi
test edx, edx
jne 0x45a1f0
test esi, esi
je 0x45a204
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [esp + 0x20218]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046be7b
add esp, 0x2020c
ret
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, 1
jmp 0x45a19a
mov edx, dword [ebx]
mov ecx, 0x40
lea esi, [esp + 0x118]
lea edi, [ebx + 0x42a8]
lea eax, [ebx + 8]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebx + 0x41a8]
push ecx
push edx
call fcn.0042c6d0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45a19a
push ebx
call fcn.0042c7b0
add esp, 4
test eax, eax
jne 0x45a19a
mov esi, 0x1b
jmp 0x45a19a