Function at 0x100011d0
Capabilities:
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x1001b024]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
call fcn.10001130
mov esi, eax
push esi
push 0x10019624
push 0x1007bb94
call fcn.100010f0
add esp, 0xc
lea eax, [esp + 0x10]
add esi, edi
push 0x10
push 9
push eax
push esi
call fcn.1000403b
push esi
call fcn.100041b3
add esp, 0x14
test edi, edi
je 0x10001342
cmp edi, 6
je 0x1000131b
cmp edi, 0x14
jne 0x10001431
mov edx, ebx
xor ecx, ecx
call fcn.100011d0
lea edi, [ebx - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x10001245
mov ax, word [0x100195c4]
mov word [edi], ax
mov esi, dword [0x1007bcb4]
sub esi, dword [0x1007bcb0]
sar esi, 2
call fcn.10004192
xor edx, edx
div esi
mov eax, dword [0x1007bcb0]
mov edx, dword [eax + edx*4]
mov esi, edx
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10001280
sub edx, esi
lea edi, [ebx - 1]
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10001290
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x1007bcb4]
sub esi, dword [0x1007bcb0]
sar esi, 2
call fcn.10004192
xor edx, edx
div esi
mov eax, dword [0x1007bcb0]
mov edx, dword [eax + edx*4]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x100012c8
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100012d4
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
dec ebx
rep movsb byte es:[edi], byte [esi]
nop dword [eax + eax]
mov al, byte [ebx + 1]
lea ebx, [ebx + 1]
test al, al
jne 0x100012f0
mov eax, dword [str..tmp]
mov dword [ebx], eax
mov al, byte [0x10019630]
mov byte [ebx + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.10001f55
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x10]
mov eax, ecx
sub ebx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ebx + ecx - 1], al
test al, al
jne 0x10001323
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.10001f55
mov esp, ebp
pop ebp
ret
push ebx
push 0
push 0
push 0x801a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push 0xffffffffffffffff
push 0x100195c4
push 0x104
push ebx
call fcn.10004140
mov esi, dword [0x1007bcb4]
add esp, 0x10
sub esi, dword [0x1007bcb0]
sar esi, 2
call fcn.10004192
xor edx, edx
div esi
mov eax, dword [0x1007bcb0]
mov edx, dword [eax + edx*4]
mov esi, edx
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10001390
sub edx, esi
lea edi, [ebx - 1]
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100013a0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [0x1007bcb4]
sub esi, dword [0x1007bcb0]
sar esi, 2
call fcn.10004192
xor edx, edx
div esi
mov eax, dword [0x1007bcb0]
mov edx, dword [eax + edx*4]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x100013d8
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100013e4
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, ebx
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x10001400
sub esi, ecx
call fcn.10004192
cdq
mov ecx, 0x64
idiv ecx
lea eax, [ebx + esi]
push edx
push 0x10019628
push eax
call fcn.100010f0
add esp, 0xc
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10001f55
mov esp, ebp
pop ebp
ret