Function at 0x10081890
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 0x1011d88a
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.100f3c30
add esp, 0xc
mov ecx, dword [0x101baf80]
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.1009dfc0
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.100f3c30
add esp, 0xc
push 0x1f4
lea eax, [ebp - 0x240]
push eax
call fcn.10102294
add esp, 8
lea ecx, [ebx + 8]
call fcn.10069aa0
push eax
lea ecx, [ebp - 0x240]
push ecx
call fcn.10100670
add esp, 8
movzx edx, byte [0x101ca854]
test edx, edx
jne 0x10081a57
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 0x100819b5
mov dword [ebp - 0x330], 1
jmp 0x100819bf
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 0x10081a00
mov esi, esp
push 0
lea edx, [ebp - 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp esi, esp
call fcn.1011a7c1
nop
jmp 0x10081a50
push 0
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.100a93c0
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.1011a7c1
nop
mov byte [0x101ca854], 1
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x2f0]
push edx
call fcn.100a81d0
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.100a7ff0
mov ecx, eax
call fcn.10099f00
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.100a8280
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.100a6140
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.100ab430
mov ecx, eax
call fcn.10099f00
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.100fb0ff
add esp, 8
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x10081c14
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.100fae83
add esp, 0x10
mov edx, dword [ebp - 0x284]
push edx
call fcn.100f68ea
add esp, 4
mov eax, dword [0x101baf80]
add eax, 1
mov dword [0x101baf80], 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, [0x10081c78]
call fcn.1011a76d
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