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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011bf5a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x34c
push esi
push edi
lea edi, [ebp - 0x35c]
mov ecx, 0xd3
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 4], 1
push 0xa
push 0
lea eax, [ebp - 0x20]
push eax
call fcn.100f2310
add esp, 0xc
mov ecx, dword [0x101b7f80]
push ecx
push str.a_d_
lea edx, [ebp - 0x20]
push edx
call fcn.10032100
add esp, 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a4], esp
lea eax, [ebx + 0x20]
push eax
call fcn.1009d400
lea ecx, [ebp - 0x40]
push ecx
call fcn.10078010
add esp, 0x1c
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 2
push 0x1f4
push 0
lea edx, [ebp - 0x240]
push edx
call fcn.100f2310
add esp, 0xc
push 0x1f4
lea eax, [ebp - 0x240]
push eax
call fcn.10100974
add esp, 8
lea ecx, [ebx + 8]
call fcn.10069aa0
push eax
lea ecx, [ebp - 0x240]
push ecx
call fcn.100fed50
add esp, 8
movzx edx, byte [0x101c7848]
test edx, edx
jne 0x10081747
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x2c0]
call fcn.10069b60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.10077fc0
movzx edx, al
test edx, edx
jne 0x100816a5
mov dword [ebp - 0x330], 1
jmp 0x100816af
mov dword [ebp - 0x330], 0
mov al, byte [ebp - 0x330]
mov byte [ebp - 0x2a5], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
call fcn.10069ad0
movzx ecx, byte [ebp - 0x2a5]
test ecx, ecx
je 0x100816f0
mov esi, esp
push 0
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp esi, esp
call fcn.10118e91
nop
jmp 0x10081740
push 0
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.100a8800
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2d8]
push ecx
call fcn.100768d0
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
call fcn.10074810
nop
mov esi, esp
push 0
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp esi, esp
call fcn.10118e91
nop
mov byte [0x101c7848], 1
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x2f0]
push edx
call fcn.100a7610
add esp, 0xc
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x338]
mov dword [ebp - 0x33c], ecx
xor edx, edx
mov byte [ebp - 0x309], dl
xor eax, eax
mov byte [ebp - 0x30a], al
movzx ecx, byte [ebp - 0x309]
push ecx
movzx edx, byte [ebp - 0x30a]
push edx
movzx eax, byte [ebp - 0x30b]
push eax
lea ecx, [ebp - 0x280]
call fcn.100a7430
mov ecx, eax
call fcn.10099340
push eax
lea ecx, [ebp - 0x308]
call fcn.10069b60
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x344], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x344]
push edx
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x324]
push ecx
call fcn.100a76c0
add esp, 0xc
mov dword [ebp - 0x348], eax
mov edx, dword [ebp - 0x348]
mov dword [ebp - 0x34c], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x33c]
push ecx
mov edx, dword [ebp - 0x350]
push edx
lea eax, [ebp - 0x260]
push eax
call fcn.100a5580
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x324]
call fcn.10069ad0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x308]
call fcn.10069ad0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2f0]
call fcn.10069ad0
nop
xor ecx, ecx
mov byte [ebp - 0x325], cl
xor edx, edx
mov byte [ebp - 0x326], dl
movzx eax, byte [ebp - 0x325]
push eax
movzx ecx, byte [ebp - 0x326]
push ecx
movzx edx, byte [ebp - 0x327]
push edx
lea ecx, [ebp - 0x2a0]
call fcn.100aa540
mov ecx, eax
call fcn.10099340
mov dword [ebp - 0x354], eax
lea ecx, [ebp - 0x260]
call fcn.10069aa0
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x358]
push ecx
call fcn.100f97df
add esp, 8
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x10081904
mov edx, dword [ebp - 0x284]
push edx
mov eax, dword [ebx + 0x3c]
push eax
push 1
mov ecx, dword [ebx + 0x38]
push ecx
call fcn.100f9563
add esp, 0x10
mov edx, dword [ebp - 0x284]
push edx
call fcn.100f4fca
add esp, 4
mov eax, dword [0x101b7f80]
add eax, 1
mov dword [0x101b7f80], eax
lea ecx, [ebp - 0x260]
call fcn.10069ad0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10069ad0
mov byte [ebp - 4], 0
lea ecx, [ebx + 8]
call fcn.10069ad0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebx + 0x20]
call fcn.10069ad0
nop
push edx
mov ecx, ebp
push eax
lea edx, [0x10081968]
call fcn.10118e3d
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret