Function at 0x10002b73
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
push 4
pop edi
jne 0x10002d61
push edi
push dword [esi]
lea eax, [ebp - 8]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x14]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x20]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x24]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp - 0x10]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
mov eax, dword [esi]
push edi
push eax
lea eax, [ebp + 0x10]
push eax
call dword [0x1005c6f0]
mov eax, dword [ebp + 0x10]
add dword [esi], edi
inc eax
push eax
lea ecx, [ebp - 0x38]
call fcn.100013e9
mov eax, dword [ebp + 0x10]
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x38]
call dword [0x1005c6f4]
mov eax, dword [ebp + 0x10]
add eax, eax
push eax
push dword [esi]
push dword [ebp - 0x38]
call dword [0x1005c6f0]
mov eax, dword [ebp + 0x10]
add eax, eax
add dword [esi], eax
mov eax, dword [ebp - 0x38]
call fcn.1000158d
push dword [ebp - 0x38]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.1000154a
cmp dword [ebp - 0x10], ebx
pop ecx
je 0x10002c9a
cmp dword [ebp - 8], ebx
je 0x10002c73
push 1
push 1
call dword [0x1005c704]
push ebx
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push ebx
push 1
call dword [0x1005c704]
cmp dword [ebp - 0x14], ebx
je 0x10002d07
push 1
push 1
call dword [0x1005c704]
push dword [ebp - 0x30]
call dword [0x1005c6fc]
push ebx
push 1
call dword [0x1005c704]
jmp 0x10002d07
cmp dword [ebp - 8], ebx
je 0x10002d07
push edi
push dword [esi]
lea eax, [ebp + 8]
push eax
call dword [0x1005c6f0]
push dword [ebp + 8]
add dword [esi], edi
lea ecx, [ebp - 0x40]
call fcn.10002def
push dword [ebp + 8]
push dword [esi]
push dword [ebp - 0x40]
call dword [0x1005c6f0]
mov eax, dword [ebp + 8]
add dword [esi], eax
push ebx
push ebx
push 2
push ebx
push 1
push 0x40000000
push dword [ebp - 0x30]
call dword [0x1005c700]
push ebx
lea ecx, [ebp - 0x28]
push ecx
push dword [ebp + 8]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x40]
call fcn.100014bb
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x30]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
push eax
lea ecx, [ebp - 0x48]
call fcn.10002dc1
push dword [ebp - 0x30]
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push dword [ebp + 0xc]
lea eax, [ebp - 0x54]
call fcn.10002e15
lea ecx, [ebp - 0x48]
call fcn.100014bb
lea ecx, [ebp - 0x30]
call fcn.100014bb
lea ecx, [ebp - 0x38]
call fcn.100014bb
push edi
push dword [esi]
lea eax, [ebp - 0xc]
push eax
call dword [0x1005c6f0]
add dword [esi], edi
xor edi, edi
cmp dword [ebp - 0xc], ebx
jbe 0x10002d8a
push ebx
push dword [ebp + 0xc]
push esi
call fcn.10002b73
add esp, 0xc
inc edi
cmp edi, dword [ebp - 0xc]
jb 0x10002d77
pop edi
pop esi
pop ebx
leave
ret