Function at 0x4350d9
Capabilities:
Get file size
Move file
Read file on windows
Write file on windows

Disassembly:
push 0x20
mov eax, 0x456b96
call fcn.004442d3
push ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00402810
call fcn.00434a76
pop ecx
cmp al, bl
je 0x4353ce
call fcn.00434914
test al, al
je 0x4353c2
lea esi, [ebp + 8]
call fcn.0043835e
push 7
push 0x171a
push 0x462620
call fcn.00433609
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
call fcn.00402830
mov ecx, esi
push ecx
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00409fa0
mov edi, 0x45ef38
lea ecx, [ebp - 0x14]
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.0040a060
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.004028e0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.004028e0
xor ecx, ecx
mov edx, 0x45e59c
call fcn.00409ef0
test eax, eax
jge 0x4351f2
push 0xa
push 0x194b
push 0x462628
call fcn.00433609
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402830
mov ecx, esi
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00409fa0
lea ecx, [ebp - 0x24]
push edi
push ecx
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0040a060
add esp, 0x10
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.00402d80
lea ecx, [ebp - 0x24]
call fcn.004028e0
lea ecx, [ebp - 0x28]
call fcn.004028e0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.004028e0
lea eax, [ebp - 0x2c]
push eax
call fcn.0043508c
pop ecx
mov byte [ebp - 4], 9
push dword [eax]
lea ecx, [ebp - 0x18]
call fcn.00402830
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.004028e0
push 0xc
push 0x18aa
push 0x462634
call fcn.00433609
add esp, 0xc
lea esi, [ebp - 0x18]
call fcn.0040bb00
push 0x45e59a
lea ecx, [ebp - 0x10]
call fcn.00402830
push ebx
push ebx
push 3
push ebx
push 1
mov byte [ebp - 4], 0xc
mov edi, dword [sym.imp.KERNEL32.DLL_CreateFileA]
push SysReAllocString
push dword [ebp - 0x18]
call edi
mov esi, eax
cmp esi, 0xffffffff
jne 0x43528d
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
mov edx, str._Rename_
call fcn.0040e600
pop ecx
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xd
call fcn.00402d80
lea ecx, [ebp - 0x2c]
call fcn.004028e0
jmp 0x435372
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jbe 0x4352cd
push eax
call fcn.00440a8a
pop ecx
push ebx
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push dword [ebp - 0x28]
lea ecx, [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.00402a40
push dword [ebp - 0x1c]
call fcn.0043f4da
pop ecx
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 9
push 0xd01
push 0x462650
call fcn.00433609
add esp, 0xc
xor ecx, ecx
mov edx, eax
lea esi, [ebp - 0x10]
call fcn.00409ef0
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jge 0x435347
push 9
push 0x1441
push 0x46265c
call fcn.00433609
add esp, 0xc
xor ecx, ecx
mov edx, eax
call fcn.00409ef0
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jge 0x435347
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
mov edx, str._r_n_Rename_
call fcn.0040e600
pop ecx
mov byte [ebp - 4], 0xe
mov eax, dword [eax]
push dword [eax - 0xc]
mov ecx, esi
push eax
call fcn.00402a40
jmp 0x435280
mov edx, dword [ebp - 0x14]
xor ecx, ecx
lea esi, [ebp - 0x10]
call fcn.00409ef0
test eax, eax
jge 0x4353a8
push dword [ebp - 0x14]
push str._Rename_
call fcn.00442320
add eax, dword [ebp - 0x1c]
pop ecx
push eax
mov eax, esi
push eax
call fcn.00437fd1
push ebx
push 0x80
push 2
push ebx
push 2
push 0x40000000
push dword [ebp - 0x18]
call edi
mov esi, eax
cmp esi, 0xffffffff
je 0x4353a8
push ebx
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x10]
push dword [eax - 0xc]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea ecx, [ebp - 0x10]
call fcn.004028e0
lea eax, [ebp - 0x18]
call fcn.00402e60
lea ecx, [ebp - 0x14]
call fcn.004028e0
jmp 0x4353ce
push 4
push ebx
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_MoveFileExA]
lea ecx, [ebp + 8]
call fcn.004028e0
call fcn.00444372
ret