Function at 0x4664e6
Capabilities:
Create directory

Disassembly:
push 0x30
mov eax, 0x47145a
call fcn.0046fba3
push dword [ebp + 8]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_300]
push ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_300]
call fcn.00465877
pop ecx
test al, al
je 0x466530
mov bl, 1
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov al, bl
call fcn.0046fc7b
ret
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
dec eax
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_2672]
cmp al, 0x5c
je 0x466550
push 0x5c
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_1334]
push 4
call sub.mfc90.dll_Ordinal_798
pop ecx
cmp eax, ebx
je 0x466563
lea ecx, [ebp - 0x3c]
mov dword [eax], ecx
jmp 0x466565
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x18]
xor edi, edi
cmp dword [eax - 0xc], ebx
mov byte [ebp - 0x11], 0
jle 0x46661a
push edi
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_2672]
cmp al, 0x5c
je 0x4665ae
push edi
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_2672]
movzx eax, al
push eax
jmp 0x466604
mov edx, dword [ebp - 0x30]
cmp edx, ebx
jne 0x4665b9
xor eax, eax
jmp 0x4665c1
mov eax, dword [ebp - 0x28]
sub eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x2c]
mov esi, ecx
sub esi, edx
sar esi, 2
cmp esi, eax
jae 0x4665e1
lea eax, [ebp - 0x1c]
push eax
xor esi, esi
push ecx
inc esi
call fcn.004026d1
mov dword [ebp - 0x2c], eax
jmp 0x466602
mov esi, ecx
cmp edx, ecx
jbe 0x4665ed
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x3c]
push esi
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
call fcn.00402627
push 0x5c
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_1334]
mov eax, dword [ebp - 0x18]
inc edi
cmp edi, dword [eax - 0xc]
jl 0x466590
mov esi, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x2c]
jbe 0x466628
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], ebx
jbe 0x466639
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
je 0x466642
cmp edi, dword [ebp - 0x3c]
je 0x466648
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp esi, ebx
je 0x46668e
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x466686
call ebx
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466661
call ebx
mov eax, dword [esi]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
setne byte [ebp - 0x11]
test edi, edi
jne 0x46668a
call ebx
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x466681
call ebx
add esi, 4
jmp 0x46662b
mov eax, dword [edi]
jmp 0x46665a
mov eax, dword [edi]
jmp 0x46667a
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [ebp - 0x30]
xor esi, esi
cmp eax, esi
je 0x4666b1
push dword [ebp - 0x2c]
call fcn.00402726
push dword [ebp - 0x30]
call sub.mfc90.dll_Ordinal_800
pop ecx
push dword [ebp - 0x3c]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
call sub.mfc90.dll_Ordinal_800
mov bl, byte [ebp - 0x11]
pop ecx
jmp 0x46651f