Function at 0x10049d3
Capabilities:
Copy file
Create directory
Delete file
Write file on windows

Disassembly:
push 0x104
push 0x10018a8
call fcn.010081cc
mov eax, dword [0x1009364]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x108], eax
or dword [ebp - 0xf8], 0xffffffff
or dword [ebp - 0x100], 0xffffffff
push 5
pop ecx
mov esi, 0x100188c
lea edi, [ebp - 0x84]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 7
pop ecx
mov esi, 0x100186c
lea edi, [ebp - 0xa4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor ebx, ebx
mov byte [ebp - 0x6c], bl
push 0x13
pop ecx
xor eax, eax
lea edi, [ebp - 0x6b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0xf4], bl
push 0x13
pop ecx
xor eax, eax
lea edi, [ebp - 0xf3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0xfc], ebx
push dword [0x1009a24]
push 0x1001840
lea eax, [ebp - 0x6c]
push eax
mov esi, dword [sym.imp.msvcrt.dll_sprintf]
call esi
add esp, 0xc
mov dword [ebp - 4], ebx
push 0x140
call fcn.010025f5
mov edx, eax
mov dword [ebp - 0xfc], edx
cmp edx, ebx
je 0x1004c72
push 0x50
pop ecx
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
push edx
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x100], eax
cmp eax, 0xffffffff
jne 0x1004b58
mov edi, 0x10017df
push edi
call fcn.0100601d
push ebx
lea eax, [ebp - 0x84]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
call esi
test eax, eax
jne 0x1004ad7
push edi
call fcn.0100601d
push ebx
lea eax, [ebp - 0xa4]
push eax
call esi
test eax, eax
jne 0x1004aeb
push edi
call fcn.0100601d
push ebx
push 0x80000020
push 1
push ebx
push 1
push 0xc0000000
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xf8], eax
cmp eax, 0xffffffff
jne 0x1004b1b
push edi
call fcn.0100601d
jmp 0x1004c72
mov esi, dword [ebp - 0x108]
add esi, 0x4a
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x1004b29
sub eax, ecx
mov dword [ebp - 0x110], eax
push ebx
lea ecx, [ebp - 0x10c]
push ecx
push eax
push esi
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1004c72
jmp 0x1004b10
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0x20], 0x40000
jb 0x1004bac
push dword [0x1009a24]
push 0x1001814
lea eax, [ebp - 0xf4]
push eax
call esi
add esp, 0xc
push ebx
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x1004ba2
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1004bac
push 0x10017df
call fcn.0100601d
push ebx
push 0x80000020
push 4
push ebx
push 1
push 0xc0000000
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [ebp - 0xf8], edi
cmp edi, 0xffffffff
jne 0x1004bdd
push 0x10017df
jmp 0x1004b11
push 2
push ebx
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x104], eax
cmp eax, 0xffffffff
jne 0x1004bfd
push 0x10017df
call fcn.0100601d
mov eax, dword [ebp - 0x108]
add eax, 0x4a
mov dword [ebp - 0x114], eax
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x1004c0f
sub eax, esi
mov esi, eax
mov dword [ebp - 0x110], esi
push ebx
push esi
push ebx
push dword [ebp - 0x104]
push edi
call dword [sym.imp.KERNEL32.dll_LockFile]
test eax, eax
jne 0x1004c3e
push 0x10017df
call fcn.0100601d
push ebx
lea eax, [ebp - 0x10c]
push eax
push esi
push dword [ebp - 0x114]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1004c62
push 0x10017df
call fcn.0100601d
push ebx
push esi
push ebx
push dword [ebp - 0x104]
push edi
call dword [sym.imp.KERNEL32.dll_UnlockFile]
or dword [ebp - 4], 0xffffffff
call fcn.01004c8d
mov ecx, dword [ebp - 0x1c]
call fcn.01007f42
call fcn.01008207
ret 4