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

Disassembly:
push 0x130
mov eax, 0x44c016
call fcn.00448315
xor edi, edi
mov dword [ebp - 4], edi
mov eax, dword [ebp + 8]
push ecx
mov esi, esp
add eax, 0xfffffff0
mov dword [ebp - 0x128], esp
mov dword [ebp - 0x134], esi
call fcn.00401686
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 2
mov byte [ebp - 4], 0
call fcn.0042b567
pop ecx
test al, al
je 0x42bfc1
mov esi, 0x114
push esi
lea eax, [ebp - 0x124]
push edi
push eax
call fcn.00439030
add esp, 0xc
lea eax, [ebp - 0x124]
push eax
mov dword [ebp - 0x124], esi
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
cmp dword [ebp - 0x114], 1
jne 0x42bfb5
lea esi, [ebp + 8]
call fcn.0042e93c
push str._r_nNUL
lea eax, [ebp - 0x134]
push eax
call fcn.00401421
mov ecx, esi
push ecx
lea ecx, [ebp - 0x13c]
push ecx
mov edi, eax
mov byte [ebp - 4], 3
call fcn.00406f78
mov ebx, 0x454e28
lea ecx, [ebp - 0x130]
push ebx
push ecx
mov edi, eax
mov byte [ebp - 4], 4
call fcn.00406fc7
add esp, 0x10
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x13c]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
call fcn.0040114e
push 0x45599c
xor ecx, ecx
call fcn.00406e09
test eax, eax
jns 0x42bd93
push str._r_nDIRNUL
lea eax, [ebp - 0x128]
push eax
call fcn.00401421
mov ecx, esi
push ecx
lea ecx, [ebp - 0x13c]
push ecx
mov edi, eax
mov byte [ebp - 4], 8
call fcn.00406f78
lea ecx, [ebp - 0x134]
push ebx
push ecx
mov edi, eax
mov byte [ebp - 4], 9
call fcn.00406fc7
add esp, 0x10
lea edi, [ebp - 0x130]
mov byte [ebp - 4], 0xa
call fcn.00406c0b
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x13c]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
call fcn.0040114e
lea eax, [ebp - 0x128]
push eax
call fcn.0042bbc3
pop ecx
mov byte [ebp - 4], 0xb
push dword [eax]
lea eax, [ebp - 0x138]
push eax
call fcn.00401421
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
call fcn.0040114e
push str.WININIT.INI
lea eax, [ebp - 0x138]
call fcn.0040f365
push 0x453f84
lea eax, [ebp - 0x12c]
push eax
call fcn.00401421
xor esi, esi
push esi
push esi
push 3
push esi
push 1
mov byte [ebp - 4], 0xf
mov ebx, dword [sym.imp.KERNEL32.DLL_CreateFileW]
push SysReAllocString
push dword [ebp - 0x138]
call ebx
mov edi, eax
cmp edi, 0xffffffff
jne 0x42be4b
lea eax, [ebp - 0x128]
push str._Rename_
push eax
lea edi, [ebp - 0x130]
call fcn.0040701b
pop ecx
pop ecx
lea edi, [ebp - 0x12c]
mov byte [ebp - 4], 0x10
call fcn.00406c0b
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
call fcn.0040114e
jmp 0x42bf3d
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov dword [ebp - 0x128], eax
cmp eax, esi
jbe 0x42bea4
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00435ba6
pop ecx
push 0
mov esi, eax
lea eax, [ebp - 0x134]
push eax
push dword [ebp - 0x128]
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
push esi
call fcn.004078cb
push esi
call fcn.004356ce
pop ecx
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push str._Rename_
xor ecx, ecx
lea esi, [ebp - 0x12c]
call fcn.00406e09
mov edi, eax
test edi, edi
jns 0x42bf13
push str._rename_
xor ecx, ecx
call fcn.00406e09
mov edi, eax
test edi, edi
jns 0x42bf13
lea eax, [ebp - 0x128]
push str._r_n_Rename_
push eax
lea edi, [ebp - 0x130]
call fcn.0040701b
pop ecx
pop ecx
mov byte [ebp - 4], 0x11
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov eax, esi
call fcn.004078cb
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
call fcn.0040114e
jmp 0x42bf3b
push dword [ebp - 0x130]
xor ecx, ecx
lea esi, [ebp - 0x12c]
call fcn.00406e09
test eax, eax
jns 0x42bf7d
push dword [ebp - 0x130]
mov ecx, esi
lea eax, [edi + 8]
push ecx
call fcn.0042e475
xor esi, esi
push esi
push 0x80
push 2
push esi
push 2
push 0x40000000
push dword [ebp - 0x138]
call ebx
mov edi, eax
cmp edi, 0xffffffff
je 0x42bf7d
mov eax, dword [ebp - 0x12c]
mov ecx, dword [eax - 0xc]
push esi
lea edx, [ebp - 0x128]
push edx
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x12c]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x138]
add eax, 0xfffffff0
call fcn.0040114e
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
call fcn.0040114e
jmp 0x42bfc1
push 4
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_MoveFileExW]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.0040114e
call fcn.00448398
ret