Function at 0x418060
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4715e8
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x490654]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x490654]
xor eax, esp
push eax
lea eax, [esp + 0x88]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], edi
je 0x4183be
or edx, 0xffffffff
cmp dword [ebx + 0xc], edx
jne 0x4183a7
mov eax, dword [edi + 8]
mov ecx, edx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x4180dc
dec eax
mov dword [edi + 8], eax
mov eax, dword [edi + 4]
movzx ecx, byte [eax]
inc eax
mov dword [esp + 0x14], ecx
mov dword [edi + 4], eax
mov byte [esp + 0x10], cl
cmp dword [ebx + 0xc], edx
jne 0x4183b4
cmp cl, 0x3a
je 0x4181d2
mov eax, dword [ebx + 0x14]
lea esi, [ebx + 0x10]
lea edx, [esp + 0x10]
cmp edx, eax
jae 0x418174
mov edx, dword [esi]
lea ecx, [esp + 0x10]
cmp edx, ecx
ja 0x418174
mov edi, dword [esi + 8]
sub ecx, edx
mov dword [esp + 0x14], ecx
cmp eax, edi
jne 0x41814e
sub eax, edx
cmp eax, 0xfffffffe
ja 0x4183e1
mov ecx, edi
inc eax
sub ecx, edx
cmp eax, ecx
jbe 0x41814a
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x41813c
xor ecx, ecx
jmp 0x41813e
add ecx, edx
cmp ecx, eax
jae 0x418144
mov ecx, eax
push ecx
call fcn.00419dc0
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov edi, dword [esi]
push eax
push 1
add edi, ecx
call fcn.0040430f
add esp, 8
test eax, eax
je 0x418168
mov dl, byte [edi]
mov byte [eax], dl
inc dword [esi + 4]
mov edi, dword [esp + 0x18]
jmp 0x4183b4
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x4181b2
mov edx, dword [esi]
sub eax, edx
cmp eax, 0xfffffffe
ja 0x4183e1
inc eax
sub ecx, edx
cmp eax, ecx
jbe 0x4181b2
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x4181a0
xor ecx, ecx
jmp 0x4181a2
add ecx, edx
cmp ecx, eax
jae 0x4181a8
mov ecx, eax
push ecx
call fcn.00419dc0
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 4]
push eax
push 1
call fcn.0040430f
add esp, 8
test eax, eax
je 0x4181ca
mov cl, byte [esp + 0x14]
mov byte [eax], cl
inc dword [esi + 4]
jmp 0x4183b4
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
lea edx, [esp + 0x14]
push edx
sub eax, ecx
push ecx
mov dword [esp + 0x1c], 0
call fcn.00407f90
mov esi, dword [esp + 0x1c]
push 0xa
push 0
push esi
call fcn.00454656
add esp, 0x14
push esi
mov dword [ebx + 0xc], eax
call fcn.004531bb
add esp, 4
lea eax, [esp + 0x48]
call fcn.004025a5
mov dword [esp + 0x90], 0
mov eax, dword [ebx + 8]
add eax, 0x20
push eax
lea ecx, [esp + 0x4c]
call fcn.00403c9c
push 0x479d58
lea eax, [esp + 0x4c]
push eax
call fcn.0040260b
mov eax, dword [ebx + 8]
add eax, 4
push 0
push eax
or eax, 0xffffffff
lea edi, [esp + 0x50]
call fcn.004030d1
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
call fcn.00405f24
lea eax, [esp + 0x28]
call fcn.004025a2
push 0
push 0
lea edi, [esp + 0x2c]
call fcn.004032d9
push 0xffffffffffffffff
lea ecx, [esp + 0x4c]
push ecx
xor eax, eax
mov ecx, edi
call fcn.004031d9
mov eax, edi
mov byte [esp + 0x90], 1
call fcn.00402637
push eax
lea edi, [esp + 0x68]
call fcn.00406d00
add esp, 4
push 0
mov eax, edi
call fcn.00402637
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov ecx, edi
call fcn.004025fd
lea ecx, [esp + 0x24]
mov byte [esp + 0x90], 0
call fcn.004025fd
lea edi, [ebx + 0x20]
lea eax, [esp + 0x48]
mov dword [esp + 0x14], edi
call fcn.00402637
cmp dword [edi + 0x58], 0
lea esi, [edi + 4]
jne 0x418380
push 0x40
push 0x22
push eax
call fcn.0045253c
add esp, 0xc
test eax, eax
je 0x418380
mov ecx, eax
push 1
mov eax, esi
call fcn.00419770
lea ecx, [esp + 0x1c]
mov eax, esi
call fcn.00419e70
mov ebx, eax
mov byte [esp + 0x90], 2
call fcn.00419f50
mov edi, eax
call fcn.00419950
lea ecx, [esp + 0x1c]
mov byte [esp + 0x90], 0
call fcn.0040130f
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, ecx
mov ecx, dword [eax + 0x38]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffc
add ecx, 4
push 0
call fcn.0040176f
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x48]
mov dword [ebx + 0xc8], 0
mov dword [esp + 0x90], 0xffffffff
call fcn.004025fd
mov edi, dword [esp + 0x18]
jmp 0x4183b4
mov edx, dword [edi]
mov esi, dword [edx + 4]
add esi, edi
mov eax, esi
call fcn.004017eb
or eax, 2
cmp dword [esi + 0x38], 0
jne 0x41839a
or eax, 4
mov ecx, eax
push 0
mov eax, esi
call fcn.0040176f
jmp 0x41835c
mov edx, edi
mov eax, ebx
call fcn.004183f0
test al, al
jne 0x4183be
cmp dword [edi + 8], 0
jne 0x4180b1
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.00452c94
mov esp, ebp
pop ebp
ret 4
push str.vector_T__too_long
call fcn.00451b80
int3