Function at 0x1008f86
Capabilities:
Create directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x11c
mov eax, dword [0x100eab4]
push ebx
mov ebx, dword [ebp + 8]
mov cl, byte [ebx]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push esi
mov dword [ebp - 0x108], eax
push edi
mov dword [ebp - 0x11c], ebx
mov eax, ebx
jmp 0x1008fdd
cmp cl, 0x5c
je 0x1008fe1
cmp cl, 0x2f
je 0x1008fe1
cmp cl, 0x3a
jne 0x1008fd0
mov cl, byte [eax + 1]
cmp cl, 0x5c
je 0x1008fd0
cmp cl, 0x2f
jne 0x1008fe1
push 0
push eax
push 0
call dword [sym.imp.USER32.dll_CharNextExA]
mov cl, byte [eax]
test cl, cl
jne 0x1008fb4
mov byte [ebp - 0x104], 0
cmp byte [eax], 0
jne 0x1008ff3
cmp dword [ebp + 0xc], 0
jne 0x1008ff5
mov eax, ebx
cmp byte [eax], 0
je 0x1009093
mov cl, byte [eax]
test cl, cl
je 0x1009093
mov edi, eax
mov al, cl
xor esi, esi
cmp al, 0x5c
je 0x1009036
cmp al, 0x2f
je 0x1009036
cmp al, 0x3a
jne 0x1009025
mov al, byte [edi + 1]
cmp al, 0x5c
je 0x1009025
cmp al, 0x2f
jne 0x1009036
push esi
push edi
push esi
call dword [sym.imp.USER32.dll_CharNextExA]
mov edi, eax
mov al, byte [edi]
test al, al
jne 0x100900e
mov al, byte [edi]
test al, al
jne 0x1009041
cmp dword [ebp + 0xc], esi
jne 0x1009087
mov esi, edi
sub esi, ebx
test esi, esi
jle 0x1009054
cmp al, 0x3a
je 0x1009053
cmp byte [edi - 1], 0x3a
jne 0x1009054
inc esi
cmp esi, 0x100
jae 0x1009225
push esi
lea eax, [ebp - 0x104]
push ebx
push eax
call dword [sym.imp.msvcrt.dll_strncpy]
lea eax, [ebp - 0x104]
push eax
mov byte [ebp + esi - 0x104], 0
call dword [sym.imp.msvcrt.dll__mkdir]
add esp, 0x10
cmp byte [edi], 0
lea eax, [edi + 1]
jne 0x1008ffe
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100909c
sub eax, edx
mov dword [ebp - 0x110], eax
jne 0x10090da
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10090b2
sub eax, edx
mov dword [ebp - 0x110], eax
je 0x10090da
mov al, byte [ebx]
cmp al, 0x5c
je 0x10090cd
cmp al, 0x2f
jne 0x10090da
mov byte [ebp - 0x104], al
mov byte [ebp - 0x103], 0
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10090e3
sub eax, edx
mov edx, eax
test edx, edx
mov dword [ebp - 0x114], edx
jle 0x1009113
cmp edx, 0xfe
ja 0x1009225
lea eax, [ebp + edx - 0x105]
push eax
call fcn.01008e86
add edx, eax
and dword [ebp - 0x110], 0
and dword [ebp - 0x10c], 0
mov esi, dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [sym.imp.msvcrt.dll___doserrno]
mov dword [ebp - 0x118], 0x100
sub dword [ebp - 0x118], edx
lea ebx, [ebp + edx - 0x104]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
add eax, dword [ebp - 0x10c]
push eax
push 0x10030c8
push dword [ebp - 0x118]
push ebx
call fcn.01008f58
add esp, 0x10
test eax, eax
jl 0x10092cb
push 0x180
lea eax, [ebp - 0x104]
push 0x502
push eax
call dword [sym.imp.msvcrt.dll__open]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x1009305
call esi
mov eax, dword [eax]
sub eax, 0xd
je 0x1009235
sub eax, 4
je 0x1009248
sub eax, 5
jne 0x10092a2
call edi
cmp dword [eax], 0x12f
je 0x1009248
call edi
mov ebx, eax
call esi
mov dword [ebp - 0x11c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebx]
mov eax, dword [ebp - 0x11c]
push dword [eax]
lea eax, [ebp - 0x104]
push eax
push 0x1003080
call dword [sym.imp.msvcrt.dll_printf]
mov eax, dword [ebp - 0x114]
mov byte [ebp + eax - 0x104], 0
call edi
mov edi, eax
call esi
push dword [edi]
push dword [eax]
lea eax, [ebp - 0x104]
push eax
push 0x1003074
push 0x1003060
push dword [ebp - 0x108]
call fcn.01008969
add esp, 0x2c
jmp 0x1009291
push ebx
push 0x1001860
push 0x1002698
jmp 0x10092f5
inc dword [ebp - 0x110]
cmp dword [ebp - 0x110], 5
jge 0x10092d6
inc dword [ebp - 0x10c]
cmp dword [ebp - 0x10c], 0x3e7
jl 0x1009144
mov eax, dword [ebp - 0x114]
mov byte [ebp + eax - 0x104], 0
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x10c]
push 0x10018c0
push 0x100302c
push dword [ebp - 0x108]
call fcn.01008969
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100d065
leave
ret 0xc
dec eax
dec eax
jne 0x10091bd
mov eax, dword [ebp - 0x114]
mov byte [ebp + eax - 0x104], 0
lea eax, [ebp - 0x104]
push eax
push 0x1001860
push 0x1003010
jmp 0x10092f5
push dword [ebp - 0x11c]
jmp 0x1009226
mov eax, dword [ebp - 0x114]
mov byte [ebp + eax - 0x104], 0
lea eax, [ebp - 0x104]
push eax
push 0x1001860
push 0x1002fe8
push dword [ebp - 0x108]
call fcn.01008969
add esp, 0x10
jmp 0x1009291
push eax
call dword [sym.imp.msvcrt.dll__close]
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.msvcrt.dll__unlink]
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x1009293