Function at 0x428ca6
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 8], esi
mov edi, dword [esi + 0x68]
or dword [esi + 0x400d8], 0xffffffff
cmp dword [ebp + 8], 1
mov edx, dword [esi + 0x6c]
mov eax, dword [edi + 0x40]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [esi + 0x400b0], ecx
mov dword [esi + 0x400b4], eax
jne 0x428ce4
or ecx, eax
je 0x428eaf
mov ecx, dword [esi]
cmp dword [ecx + 0x40068], 0
je 0x428eaf
push edx
push edi
call fcn.00428bcf
mov ecx, dword [esi]
mov dword [esi + 0x70], eax
cmp byte [ecx], 0x65
jne 0x428d12
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov eax, dword [eax + 0x34]
mov eax, dword [eax + ecx*4]
jmp 0x428d41
add ecx, 0xc
cmp byte [ecx], 0
jne 0x428d1e
xor edi, edi
jmp 0x428d2d
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428d21
sub ecx, edx
lea edi, [ecx + 1]
mov ecx, dword [esi + 0x68]
lea eax, [esi + 0xb0]
push eax
push dword [esi + 0x6c]
call fcn.00428a0e
add eax, edi
lea ebx, [esi + 0x78]
push eax
mov ecx, ebx
call fcn.00416a58
cmp dword [esi + 0x70], 0
je 0x428e62
mov eax, dword [esi]
mov dl, byte [eax]
cmp dl, 0x74
je 0x428e62
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov eax, dword [eax + 0x58]
cmp dword [eax + ecx*4], 0
je 0x428d97
cmp dl, 0x65
je 0x428e62
mov ecx, dword [esi + 0x84]
call fcn.00413384
push dword [esi + 0x84]
call fcn.004377d9
pop ecx
jmp 0x428e62
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov cl, al
mov byte [ebp - 1], cl
test cl, cl
je 0x428e45
mov ecx, dword [esi]
cmp dword [ecx + 0x40080], 0
jne 0x428e3e
cmp dword [ecx + 0x4007c], 0
jne 0x428e42
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov eax, dword [eax]
mov ebx, dword [eax + 0x24]
mov eax, dword [ecx + 0x4c]
mov esi, dword [eax + edx*8 + 4]
mov edi, dword [eax + edx*8]
mov eax, dword [ecx + 0x40]
push esi
mov esi, dword [ebp - 8]
push edi
push dword [eax + edx*8 + 4]
push dword [eax + edx*8]
mov ecx, dword [esi + 4]
push dword [esi + 0x90]
call ebx
movsx eax, al
sub eax, 0x61
je 0x428e30
sub eax, 0xd
je 0x428e3e
sub eax, 3
je 0x428e22
mov cl, byte [ebp - 1]
dec eax
sub eax, 1
jne 0x428e45
mov eax, dword [esi]
mov dword [eax + 0x40080], 1
and dword [esi + 0x70], 0
jmp 0x428e45
push ecx
push ecx
mov ecx, esi
call fcn.00429e55
jmp 0x428ebb
mov eax, dword [esi]
mov dword [eax + 0x4007c], 1
jmp 0x428e42
and dword [esi + 0x70], 0
mov cl, byte [ebp - 1]
cmp dword [esi + 0x70], 0
je 0x428e62
lea edi, [esi + 0x78]
test cl, cl
je 0x428e59
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
push 1
mov ecx, edi
call fcn.0042781d
cmp dword [ebp + 8], 0
je 0x428e80
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
mov eax, dword [eax + 0x40]
cmp dword [eax + ecx*8 + 4], 0
jl 0x428eaf
jg 0x428e80
cmp dword [eax + ecx*8], 0
jbe 0x428eaf
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov eax, dword [ecx + 0x58]
cmp dword [eax + edx*4], 0
je 0x428e96
mov eax, dword [esi]
cmp byte [eax], 0x78
jne 0x428eaf
lea eax, [esi + 0xb0]
push eax
push edx
call fcn.00428a0e
push eax
lea ecx, [esi + 0x94]
call fcn.00416a58
mov eax, dword [esi]
cmp dword [eax + 0x40068], 0
setne al
pop edi
pop esi
pop ebx
leave
ret 4