Function at 0x100103a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a284b
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x100d00b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x134], 0x10105318
mov dword [0x1010532c], 0xf
mov dword [0x10105328], 0
mov byte [0x10105318], 0
mov dword [ebp - 4], 0
mov dword [0x10105344], 0xf
mov dword [0x10105340], 0
mov byte [0x10105330], 0
mov dword [0x1010535c], 0xf
mov dword [0x10105358], 0
mov byte [0x10105348], 0
mov dword [0x10105374], 0xf
mov dword [0x10105370], 0
mov byte [0x10105360], 0
mov dword [0x1010538c], 0xf
mov dword [0x10105388], 0
mov byte [0x10105378], 0
mov dword [0x10105398], 0
mov dword [0x1010539c], 0
mov dword [0x101053a0], 0
mov dword [0x101053a4], 0
mov dword [0x101053a8], 0
mov dword [0x101053ac], 0
push 0
push 0x100baf51
mov ecx, 0x10105378
mov byte [ebp - 4], 6
call fcn.100017d0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x104
lea eax, [ebp - 0x118]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp byte [ebp - 0x118], 0
jne 0x100104e6
xor ecx, ecx
jmp 0x100104f9
lea ecx, [ebp - 0x118]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100104f0
sub ecx, edx
push ecx
lea eax, [ebp - 0x118]
mov ecx, 0x10105330
push eax
call fcn.100017d0
push 0x11
mov esi, 0x10105360
push str.c:Program_Files_
mov ecx, esi
call fcn.100017d0
call fcn.1000e710
mov edx, eax
cmp byte [edx], 0
jne 0x1001052e
xor ecx, ecx
jmp 0x1001053c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10010533
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10001a00
push 1
push 0x100bb1b8
mov ecx, esi
call fcn.10001a00
mov edi, dword [0x10105374]
mov ecx, esi
cmp edi, 0x10
cmovae ecx, dword [0x10105360]
xor edx, edx
mov al, byte [ecx]
test al, al
je 0x1001057e
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
add edx, eax
mov al, byte [ecx]
test al, al
jne 0x10010570
imul eax, edx, 0x64
cmp edi, 0x10
push 0
mov dword [0x10105390], eax
mov eax, esi
cmovae eax, dword [0x10105360]
push eax
call fcn.10077157
add esp, 8
cmp eax, 0xffffffff
jne 0x100105b9
cmp dword [0x10105374], 0x10
cmovae esi, dword [0x10105360]
push esi
call fcn.10077993
add esp, 4
sub esp, 8
lea ecx, [ebp - 0x130]
call fcn.1000f920
add esp, 8
mov esi, eax
cmp esi, 0x10105378
je 0x10010616
mov eax, dword [0x1010538c]
cmp eax, 0x10
jb 0x100105f0
inc eax
mov ecx, 0x10105378
push eax
push dword [0x10105378]
call fcn.10001ca0
push esi
mov ecx, 0x10105378
mov dword [0x1010538c], 0xf
mov dword [0x10105388], 0
mov byte [0x10105378], 0
call fcn.10001c30
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x11c]
cmp eax, 0x10
jb 0x10010638
inc eax
lea ecx, [ebp - 0x130]
push eax
push dword [ebp - 0x130]
call fcn.10001ca0
call fcn.10041f30
mov dword [0x10105394], 0
call fcn.1004e000
test eax, eax
jne 0x10010667
push str.LibInit_failed__n
push ecx
call fcn.1000e190
add esp, 4
push eax
call fcn.1000b0b0
add esp, 8
mov eax, 0x10105318
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006c2b1
mov esp, ebp
pop ebp
ret