Function at 0x4184e0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x471748
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x491654]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x491654]
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 0x41883e
or edx, 0xffffffff
cmp dword [ebx + 0xc], edx
jne 0x418827
mov eax, dword [edi + 8]
mov ecx, edx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x41855c
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 0x418834
cmp cl, 0x3a
je 0x418652
mov eax, dword [ebx + 0x14]
lea esi, [ebx + 0x10]
lea edx, [esp + 0x10]
cmp edx, eax
jae 0x4185f4
mov edx, dword [esi]
lea ecx, [esp + 0x10]
cmp edx, ecx
ja 0x4185f4
mov edi, dword [esi + 8]
sub ecx, edx
mov dword [esp + 0x14], ecx
cmp eax, edi
jne 0x4185ce
sub eax, edx
cmp eax, 0xfffffffe
ja 0x418861
mov ecx, edi
inc eax
sub ecx, edx
cmp eax, ecx
jbe 0x4185ca
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x4185bc
xor ecx, ecx
jmp 0x4185be
add ecx, edx
cmp ecx, eax
jae 0x4185c4
mov ecx, eax
push ecx
call fcn.0041a280
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 4]
mov edi, dword [esi]
push eax
push 1
add edi, ecx
call fcn.004042ff
add esp, 8
test eax, eax
je 0x4185e8
mov dl, byte [edi]
mov byte [eax], dl
inc dword [esi + 4]
mov edi, dword [esp + 0x18]
jmp 0x418834
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x418632
mov edx, dword [esi]
sub eax, edx
cmp eax, 0xfffffffe
ja 0x418861
inc eax
sub ecx, edx
cmp eax, ecx
jbe 0x418632
mov edx, ecx
shr edx, 1
or edi, 0xffffffff
sub edi, edx
cmp edi, ecx
jae 0x418620
xor ecx, ecx
jmp 0x418622
add ecx, edx
cmp ecx, eax
jae 0x418628
mov ecx, eax
push ecx
call fcn.0041a280
mov edi, dword [esp + 0x18]
mov eax, dword [esi + 4]
push eax
push 1
call fcn.004042ff
add esp, 8
test eax, eax
je 0x41864a
mov cl, byte [esp + 0x14]
mov byte [eax], cl
inc dword [esi + 4]
jmp 0x418834
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.00454786
add esp, 0x14
push esi
mov dword [ebx + 0xc], eax
call fcn.004532eb
add esp, 4
lea eax, [esp + 0x48]
call fcn.004025a7
mov dword [esp + 0x90], 0
mov eax, dword [ebx + 8]
add eax, 0x20
push eax
lea ecx, [esp + 0x4c]
call fcn.00403c8f
push 0x47ad58
lea eax, [esp + 0x4c]
push eax
call fcn.0040260d
mov eax, dword [ebx + 8]
add eax, 4
push 0
push eax
or eax, 0xffffffff
lea edi, [esp + 0x50]
call fcn.004030d3
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
call fcn.00403325
lea eax, [esp + 0x28]
call fcn.004025a4
push 0
push 0
lea edi, [esp + 0x2c]
call fcn.004032db
push 0xffffffffffffffff
lea ecx, [esp + 0x4c]
push ecx
xor eax, eax
mov ecx, edi
call fcn.004031db
mov eax, edi
mov byte [esp + 0x90], 1
call fcn.00402639
push eax
lea edi, [esp + 0x68]
call fcn.00406d00
add esp, 4
push 0
mov eax, edi
call fcn.00402639
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov ecx, edi
call fcn.004025ff
lea ecx, [esp + 0x24]
mov byte [esp + 0x90], 0
call fcn.004025ff
lea edi, [ebx + 0x20]
lea eax, [esp + 0x48]
mov dword [esp + 0x14], edi
call fcn.00402639
cmp dword [edi + 0x58], 0
lea esi, [edi + 4]
jne 0x418800
push 0x40
push 0x22
push eax
call fcn.0045266a
add esp, 0xc
test eax, eax
je 0x418800
mov ecx, eax
push 1
mov eax, esi
call fcn.00419c30
lea ecx, [esp + 0x1c]
mov eax, esi
call fcn.0041a330
mov ebx, eax
mov byte [esp + 0x90], 2
call fcn.0041a410
mov edi, eax
call fcn.00419e10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x90], 0
call fcn.00401314
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.00401774
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x48]
mov dword [ebx + 0xc8], 0
mov dword [esp + 0x90], 0xffffffff
call fcn.004025ff
mov edi, dword [esp + 0x18]
jmp 0x418834
mov edx, dword [edi]
mov esi, dword [edx + 4]
add esi, edi
mov eax, esi
call fcn.004017f0
or eax, 2
cmp dword [esi + 0x38], 0
jne 0x41881a
or eax, 4
mov ecx, eax
push 0
mov eax, esi
call fcn.00401774
jmp 0x4187dc
mov edx, edi
mov eax, ebx
call fcn.00418870
test al, al
jne 0x41883e
cmp dword [edi + 8], 0
jne 0x418531
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.00452dc2
mov esp, ebp
pop ebp
ret 4
push str.vector_T__too_long
call fcn.00451cb0
int3