Function at 0x404250
Capabilities:
Delete directory
Get common file path
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x419257
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x422040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x279], cl
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x4239c0]
mov dword [ebp - 0x284], ecx
cmp eax, dword [ecx + 4]
jle 0x40430a
push 0x4239c0
call fcn.0040d222
add esp, 4
cmp dword [0x4239c0], 0xffffffff
jne 0x40430a
mov dword [ebp - 4], 0
mov dword [0x4239d4], 0
mov dword [0x4239d0], 0
mov dword [0x4239cc], 0
mov dword [0x4239c4], 0
mov byte [ebp - 4], 1
call fcn.00404710
push 0x4194a0
call fcn.0040d053
push 0x4239c0
mov dword [ebp - 4], 0xffffffff
call fcn.0040d1d1
add esp, 8
mov al, byte [ebp - 0x279]
mov ecx, 0x4239c4
xor al, 1
movzx eax, al
push eax
call fcn.00404b80
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x404637
push eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
mov dword [ebp - 0x21c], 0
push eax
lea ecx, [ebp - 0x230]
movups xmmword [ebp - 0x230], xmm0
call fcn.00403250
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x260]
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
push 0x420030
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0
call fcn.00403250
cmp dword [ebp - 0x21c], 7
lea ecx, [ebp - 0x230]
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x260]
cmova ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x24c], 7
mov edx, dword [ebp - 0x260]
cmova edi, edx
movzx ecx, word [ecx + eax*2 - 2]
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x4043f4
mov esi, edi
cmp word [esi], cx
je 0x4045ff
add esi, 2
sub eax, 1
jne 0x4043e3
or esi, 0xffffffff
mov eax, dword [ebp - 0x24c]
cmp eax, 7
jbe 0x404431
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404427
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40465b
push ecx
push edx
call fcn.0040d068
add esp, 8
cmp esi, 0xffffffff
jne 0x404446
push 0x420038
lea ecx, [ebp - 0x230]
call fcn.00402af0
push 0x42003c
lea ecx, [ebp - 0x230]
call fcn.00402af0
sub esp, 0x18
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
call fcn.004029f0
lea ecx, [ebp - 0x248]
call fcn.004033a0
sub esp, 0x18
mov byte [ebp - 4], 3
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
call fcn.004029f0
call fcn.00401a20
add esp, 0x18
push 0
push dword [0x4239d4]
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebp - 0x284]
mov eax, dword [0x4239c0]
cmp eax, dword [ecx + 4]
jle 0x404512
push 0x4239c0
call fcn.0040d222
add esp, 4
cmp dword [0x4239c0], 0xffffffff
jne 0x404512
mov dword [0x4239d4], 0
mov dword [0x4239d0], 0
mov dword [0x4239cc], 0
mov dword [0x4239c4], 0
mov byte [ebp - 4], 5
call fcn.00404710
push 0x4194a0
call fcn.0040d053
push 0x4239c0
mov byte [ebp - 4], 3
call fcn.0040d1d1
add esp, 8
call fcn.00404670
push 0
push dword [0x4239c4]
call dword [sym.imp.USER32.dll_ShowWindow]
sub esp, 0x18
lea eax, [ebp - 0x230]
mov ecx, esp
push eax
call fcn.004029f0
mov cl, byte [ebp - 0x279]
call fcn.00402510
add esp, 0x18
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 8
call fcn.004035f0
cmp dword [ebp - 0x234], 7
lea eax, [ebp - 0x248]
cmova eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 0x234]
cmp ecx, 7
jbe 0x4045ae
mov edx, dword [ebp - 0x248]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4045a4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40465b
push ecx
push edx
call fcn.0040d068
add esp, 8
mov ecx, dword [ebp - 0x21c]
xor eax, eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
cmp ecx, 7
jbe 0x40461a
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404610
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40465b
jmp 0x404610
test esi, esi
je 0x4043f4
sub esi, edi
sar esi, 1
jmp 0x4043f7
push ecx
push edx
call fcn.0040d068
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040cdb6
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x278]
call fcn.00405100
push 0x4214c4
lea eax, [ebp - 0x278]
push eax
call fcn.0040e15a
call fcn.0041012f
int3