Function at 0x100c8c6c
Capabilities:
Create directory
Get common file path
Get file attributes

Disassembly:
push 0x2c0
mov eax, 0x100f8e1e
call fcn.100cca34
and dword [ebp - 0x2cc], 0
mov eax, 0x80
mov word [ebp - 0x2b0], ax
push 0x3b
pop edx
push 0x35
pop eax
push 0x48
mov word [ebp - 0x2ae], dx
mov word [ebp - 0x2ac], ax
pop eax
mov word [ebp - 0x2aa], ax
push 0x37
pop ecx
push 0x49
pop ebx
push 0x4b
mov word [ebp - 0x2a8], cx
mov word [ebp - 0x2a6], bx
mov word [ebp - 0x2a4], ax
pop eax
push 0x32
pop esi
push 0x46
pop ebx
mov word [ebp - 0x2a2], cx
mov word [ebp - 0x2a0], ax
push 0x36
pop eax
mov word [ebp - 0x29e], si
mov word [ebp - 0x29c], cx
push 0x39
mov word [ebp - 0x29a], bx
mov word [ebp - 0x298], ax
mov word [ebp - 0x296], dx
pop edx
push 0x3c
pop ecx
push 0x35
pop eax
mov word [ebp - 0x294], si
mov word [ebp - 0x292], dx
push 0x3d
mov word [ebp - 0x290], cx
mov word [ebp - 0x28e], ax
mov word [ebp - 0x28c], ax
pop eax
push 0x3e
mov word [ebp - 0x28a], si
mov word [ebp - 0x288], ax
pop eax
mov word [ebp - 0x286], ax
push 0x49
pop eax
mov word [ebp - 0x284], ax
push 0x3a
pop eax
mov word [ebp - 0x282], bx
mov edi, dword [ebp + 8]
push 0x49
mov word [ebp - 0x280], si
mov word [ebp - 0x27e], cx
mov word [ebp - 0x27c], ax
pop eax
mov word [ebp - 0x27a], ax
push 0x47
pop eax
mov word [ebp - 0x278], ax
push 0x35
pop eax
mov word [ebp - 0x276], dx
push 0x4a
mov word [ebp - 0x274], bx
mov word [ebp - 0x272], ax
pop eax
push 0x3b
mov word [ebp - 0x270], ax
pop eax
push 0x38
mov word [ebp - 0x26e], ax
pop eax
mov word [ebp - 0x26c], ax
lea ecx, [ebp - 0x2b0]
push 0x4b
pop eax
mov word [ebp - 0x26a], ax
push 0x36
pop eax
mov word [ebp - 0x268], ax
add eax, 0x4c
mov word [ebp - 0x266], ax
xor eax, eax
mov word [ebp - 0x264], ax
mov ax, word [ebp - 0x2b0]
lea eax, [ebp - 0x2cc]
push eax
call fcn.1000b603
push eax
call fcn.10015018
test eax, eax
js 0x100c90ed
cmp dword [ebp - 0x2cc], 0
jne 0x100c8e22
mov eax, 0xe0010001
jmp 0x100c90ed
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push 0x1c
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
jne 0x100c8e49
call dword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 0xe0ff0000
jmp 0x100c90ed
xor eax, eax
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x218]
push eax
call fcn.100ddd9c
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.1004e21e
mov esi, 0x100fa5c4
push esi
call fcn.100ddd9c
pop ecx
push eax
push esi
lea ecx, [ebp - 0x248]
call fcn.1004e21e
mov dword [ebp - 0x260], 0x775d
lea ecx, [ebp - 0x260]
mov eax, 0x7705
mov word [ebp - 0x25c], ax
add eax, 0xf
mov word [ebp - 0x25a], ax
mov eax, 0x771a
mov word [ebp - 0x258], ax
add eax, 0xfffffff9
mov word [ebp - 0x256], ax
mov eax, 0x771e
mov word [ebp - 0x254], ax
add eax, 0xfffffff4
mov word [ebp - 0x252], ax
mov eax, 0x7719
mov word [ebp - 0x250], ax
dec eax
mov word [ebp - 0x24e], ax
mov eax, 0x776e
mov word [ebp - 0x24c], ax
xor eax, eax
mov word [ebp - 0x24a], ax
mov ax, word [ebp - 0x25c]
call fcn.100498b1
mov esi, eax
push esi
call fcn.100ddd9c
pop ecx
push eax
push esi
lea ecx, [ebp - 0x248]
call fcn.1004e21e
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0x10
je 0x100c8f83
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
push ebx
cmovae eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], ecx
mov word [ebp - 0x2c8], ax
mov byte [ebp - 4], 1
lea esi, [ebp - 0x248]
mov dword [ebp - 0x230], 0xf987
mov eax, dword [ebp - 0x230]
xor eax, 0x58
mov word [ebp - 0x22c], ax
mov eax, dword [ebp - 0x230]
inc eax
xor eax, 0x49
mov word [ebp - 0x22a], ax
mov eax, dword [ebp - 0x230]
add eax, 2
xor eax, 0x47
mov word [ebp - 0x228], ax
mov eax, dword [ebp - 0x230]
add eax, 3
xor eax, 0x4e
mov word [ebp - 0x226], ax
mov eax, dword [ebp - 0x230]
add eax, 4
xor eax, 0x43
mov word [ebp - 0x224], ax
mov eax, dword [ebp - 0x230]
add eax, 5
xor eax, 0x4f
mov word [ebp - 0x222], ax
mov eax, dword [ebp - 0x230]
add eax, 6
xor eax, 0x44
mov word [ebp - 0x220], ax
mov eax, dword [ebp - 0x230]
add eax, ecx
lea ecx, [ebp - 0x230]
xor eax, 0x45
mov word [ebp - 0x21e], ax
mov eax, dword [ebp - 0x230]
add eax, 8
xor eax, 0x33
mov word [ebp - 0x21c], ax
xor eax, eax
mov word [ebp - 0x21a], ax
mov ax, word [ebp - 0x22c]
cmp dword [ebp - 0x234], 8
cmovae esi, dword [ebp - 0x248]
call fcn.10010ec6
push eax
push esi
lea eax, [ebp - 0x2c8]
push str._ls_ls.xel
push eax
call fcn.10004b9e
add esp, 0x10
mov dword [edi + 0x458], ebx
cmp dword [ebp - 0x2b4], 8
lea eax, [ebp - 0x2c8]
mov dword [edi + 0x45c], ebx
cmovae eax, dword [ebp - 0x2c8]
push eax
push 0x208
lea eax, [edi + 0x20]
push eax
call fcn.1001561a
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2c8]
call fcn.1000b2cc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.1000b2cc
xor eax, eax
call fcn.100cc9de
ret