Function at 0x406347
Capabilities:
Create directory

Disassembly:
push 0x2c
mov eax, 0x48e181
call fcn.00458f67
mov ebx, ecx
call fcn.00405b93
test al, al
jne 0x40653b
push ebx
call fcn.004061cc
pop ecx
test al, al
je 0x406537
cmp dword [ebx + 0x14], 8
mov ecx, ebx
jb 0x40637b
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x10]
push 0x5c
pop edx
cmp word [ecx + eax*2 - 2], dx
jne 0x40639d
lea ecx, [eax - 1]
cmp eax, ecx
jb 0x406543
push 1
push ecx
mov ecx, ebx
call fcn.00406792
xor eax, eax
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], eax
cmp dword [ebx + 0x14], 8
mov edx, ebx
jb 0x4063bd
mov edx, dword [ebx]
mov edi, dword [ebx + 0x10]
test edi, edi
je 0x4063e9
lea eax, [edi - 1]
or ecx, 0xffffffff
cmp eax, ecx
push 0x5c
cmovb ecx, eax
pop eax
lea esi, [edx + ecx*2]
jmp 0x4063de
cmp esi, edx
je 0x4063e9
sub esi, 2
cmp word [esi], ax
jne 0x4063d7
sub esi, edx
sar esi, 1
jmp 0x4063ec
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x406495
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x4063ff
mov eax, dword [ebx]
lea eax, [eax + edi*2]
mov ecx, ebx
jb 0x406408
mov ecx, dword [ebx]
lea ecx, [ecx + esi*2]
add ecx, 2
push ecx
push eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.00406920
mov byte [ebp - 4], 1
cmp dword [ebp - 0x24], 0
je 0x406478
cmp dword [ebx + 0x14], 8
mov ecx, ebx
jb 0x40642d
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x10]
lea ecx, [ecx + eax*2]
mov eax, ebx
jb 0x406439
mov eax, dword [ebx]
push ecx
lea eax, [eax + esi*2]
mov ecx, ebx
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00406685
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x34]
push ecx
cmp eax, dword [ebp - 0x14]
je 0x406464
mov ecx, eax
call fcn.004066c6
push 0x18
pop eax
add dword [ebp - 0x18], eax
jmp 0x40646d
push eax
lea ecx, [ebp - 0x1c]
call fcn.004069a7
mov ecx, ebx
call fcn.00405b93
test al, al
jne 0x406489
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.00403bdf
jmp 0x4063b3
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.00403bdf
mov esi, dword [ebp - 0x18]
mov eax, esi
mov edi, dword [ebp - 0x1c]
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
test eax, eax
jne 0x4064f3
cmp dword [ebx + 0x14], 8
jb 0x4064b1
mov ebx, dword [ebx]
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4064f9
mov edi, dword [ebp - 0x1c]
xor ebx, ebx
jmp 0x4064fe
push 0x5c
mov ecx, ebx
call fcn.00406753
add esi, 0xffffffe8
mov ecx, ebx
push esi
call fcn.00406801
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x4064e3
mov eax, dword [ebx]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x4064be
mov edi, dword [ebp - 0x1c]
cmp esi, edi
jne 0x4064c5
jmp 0x4064fc
mov edi, dword [ebp - 0x1c]
mov bl, 1
test edi, edi
je 0x406533
mov esi, dword [ebp - 0x18]
cmp edi, esi
je 0x40651c
mov ecx, edi
call fcn.00403bdf
push 0x18
pop eax
add edi, eax
cmp edi, esi
jne 0x406509
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
sub eax, edi
push 0x18
pop ecx
cdq
idiv ecx
imul ecx, eax, 0x18
push ecx
push edi
call fcn.00404196
pop ecx
pop ecx
mov al, bl
jmp 0x40653d
xor al, al
jmp 0x40653d
mov al, 1
call fcn.00458f11
ret
call fcn.004068e7
int3