Function at 0x42cea0
Capabilities:
Create directory
Delete file
Get file size
Move file
Write file on windows

Disassembly:
sub esp, 0x314
mov dl, byte [0x481910]
push ebx
push ebp
push esi
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x19]
mov byte [esp + 0x18], dl
mov byte [esp + 0x220], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x221]
mov byte [esp + 0x11c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11d]
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x120]
push 0x485570
push eax
mov dword [esp + 0x1c], 0
xor edi, edi
call fcn.0042f1a0
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea ecx, [esp + 0x11c]
push ecx
call esi
test eax, eax
jne 0x42cf45
lea edx, [esp + 0x11c]
push 0x104
push edx
call fcn.0042b3a0
add esp, 8
lea eax, [esp + 0x11c]
push eax
call esi
cmp byte [esp + eax + 0x11b], 0x5c
je 0x42cf73
push 0x104
lea ecx, [esp + 0x120]
push 0x4695f4
push ecx
call fcn.0042f1f0
add esp, 0xc
lea edx, [esp + 0x11c]
push 0x104
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.0042f1a0
push 0x104
lea ecx, [esp + 0x28]
push 0x475b14
push ecx
call fcn.0042f1f0
add esp, 0x18
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileA]
lea edx, [esp + 0x18]
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
push edx
call ebx
mov esi, eax
test esi, esi
je 0x42cfcb
cmp esi, 0xffffffff
jne 0x42cfeb
push 0
push 0x80
push 4
push 0
push 3
lea eax, [esp + 0x2c]
push 0xc0000000
push eax
call ebx
mov esi, eax
mov edi, 1
test esi, esi
je 0x42cff8
cmp esi, 0xffffffff
jne 0x42d0de
mov ebp, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebp
lea ecx, [esp + 0x11c]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x42d058
call ebp
push 0x1000
mov ebx, eax
call fcn.004520a2
mov esi, eax
add esp, 4
test esi, esi
je 0x42d271
mov edx, dword [esp + 0x328]
mov ecx, 0x400
push edx
xor eax, eax
mov edi, esi
push 0x475ae4
push 0xffe
push esi
rep stosd dword es:[edi], eax
call fcn.0045279b
push ebx
jmp 0x42d262
push 0
push 0x80
push 4
push 0
push 3
lea eax, [esp + 0x2c]
push 0xc0000000
push eax
call ebx
mov esi, eax
test esi, esi
je 0x42d07c
cmp esi, 0xffffffff
jne 0x42d0d9
call ebp
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x14], eax
mov ebp, 1
push 0
call edi
push 0xfa
call edi
push 0
call edi
push 0
push 0x80
push 4
push 0
push 3
lea ecx, [esp + 0x2c]
push 0xc0000000
push ecx
call ebx
mov esi, eax
test esi, esi
je 0x42d0c0
cmp esi, 0xffffffff
je 0x42d0c8
mov edx, ebp
inc ebp
cmp edx, 0xa
jl 0x42d08d
test esi, esi
je 0x42d227
cmp esi, 0xffffffff
je 0x42d227
mov edi, 1
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x42d1c2
cmp eax, dword [0x485674]
jb 0x42d1c2
push esi
call ebp
lea eax, [esp + 0x18]
push 0x104
lea ecx, [esp + 0x224]
push eax
push ecx
call fcn.0042f1a0
add esp, 0xc
lea edx, [esp + 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [esp + eax + 0x21f], 0x5f
lea eax, [esp + 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x220]
lea edx, [esp + 0x18]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0
push 0x80
push 4
push 0
push 3
lea eax, [esp + 0x2c]
push 0xc0000000
push eax
call ebx
mov esi, eax
test esi, esi
je 0x42d17a
cmp esi, 0xffffffff
jne 0x42d1c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1000
mov ebx, eax
call fcn.004520a2
mov esi, eax
add esp, 4
test esi, esi
je 0x42d271
mov ecx, 0x400
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x328]
push ecx
push 0x475ab4
push 0xffe
push esi
call fcn.0045279b
push ebx
jmp 0x42d262
push 2
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
test edi, edi
je 0x42d1f7
mov eax, dword [0x475728]
lea edx, [esp + 0x10]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [0x475728]
push eax
push ecx
push esi
call ebx
mov edi, dword [esp + 0x328]
lea edx, [esp + 0x10]
push 0
push edx
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push edi
push esi
call ebx
push esi
call ebp
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314
ret
push 0x1000
call fcn.004520a2
mov esi, eax
add esp, 4
test esi, esi
je 0x42d271
mov ecx, 0x400
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x328]
push eax
push 0x475a84
push 0xffe
push esi
call fcn.0045279b
mov ecx, dword [esp + 0x24]
push ecx
push esi
call fcn.00446e00
push esi
call fcn.00451fb9
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314
ret