Function at 0x40eab0
Capabilities:
Check if file exists
Delete directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44d43e
mov eax, dword fs:[0]
push eax
mov eax, 0x12ec
call fcn.004290f0
mov eax, dword [0x4672b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x12bc], edi
mov dword [ebp - 0x12c4], 0
call fcn.00409380
test eax, eax
je 0x40eb79
cmp dword [0x469a44], 0
je 0x40eb26
mov dword [0x469a94], 0
mov dword [0x469a98], 0
mov dword [0x469a80], 0x3f0
jmp 0x40eb44
mov dword [0x469a60], 0
mov dword [0x469a64], 0
mov dword [0x469a4c], 0x3f0
call fcn.00409010
test eax, eax
je 0x40eb79
mov dword [0x469a34], 0xffffffff
test edi, edi
je 0x40eb72
push 0
push 5
push 0x471
push edi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor al, al
jmp 0x40f71a
cmp byte [0x469cd9], 0
je 0x40f47b
lea eax, [ebp - 0x12f0]
push eax
push 0x451450
push dword [0x469ee4]
call fcn.00404690
xor ecx, ecx
mov dword [ebp - 0x1278], 0
mov dword [ebp - 0x1274], 0
mov dword [ebp - 0x1278], 0
mov dword [ebp - 0x1274], 7
mov word [ebp - 0x1288], cx
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x1288]
push ecx
push dword [ebp - 0x12f0]
push eax
call fcn.00415100
add esp, 0x18
test al, al
je 0x40f469
mov dword [ebp - 0x12e0], 0
mov dword [ebp - 0x12dc], 0
mov dword [ebp - 0x12d8], 0
mov byte [ebp - 4], 1
xor eax, eax
push 2
mov dword [ebp - 0x1290], 0
lea ecx, [ebp - 0x12a0]
mov dword [ebp - 0x128c], 0
push 0x451088
mov dword [ebp - 0x1290], 0
mov dword [ebp - 0x128c], 7
mov word [ebp - 0x12a0], ax
call fcn.004178e0
mov byte [ebp - 4], 2
xor edx, edx
mov edi, dword [ebp - 0x1290]
mov dword [ebp - 0x12c0], edx
nop word [eax + eax]
cmp dword [ebp - 0x128c], 8
lea eax, [ebp - 0x12a0]
lea ecx, [ebp - 0x1288]
cmovae eax, dword [ebp - 0x12a0]
cmp dword [ebp - 0x1274], 8
mov dword [ebp - 0x12e4], eax
cmovae ecx, dword [ebp - 0x1288]
mov eax, dword [ebp - 0x1278]
mov dword [ebp - 0x12d4], ecx
cmp edi, eax
ja 0x40edab
sub eax, edi
cmp edx, eax
ja 0x40edab
test edi, edi
jne 0x40ecc7
mov esi, edx
jmp 0x40edae
inc eax
lea esi, [ecx + edx*2]
lea edi, [ecx + eax*2]
mov eax, dword [ebp - 0x12e4]
mov dword [ebp - 0x12d0], edi
movzx edx, word [eax]
mov dword [ebp - 0x12cc], edx
mov ecx, edi
movzx edx, dx
sub ecx, esi
mov edi, 0
sar ecx, 1
je 0x40ed1a
movzx eax, word [esi]
cmp ax, dx
je 0x40ed12
nop dword [eax + eax]
cmp ecx, 1
je 0x40ed14
movzx eax, word [esi + 2]
add esi, 2
dec ecx
cmp ax, dx
jne 0x40ed00
mov edi, esi
mov eax, dword [ebp - 0x12e4]
mov esi, edi
mov edi, dword [ebp - 0x1290]
test esi, esi
je 0x40eda5
mov edx, dword [ebp - 0x12cc]
movzx ecx, word [esi]
movzx edx, dx
mov dword [ebp - 0x12ec], eax
cmp cx, dx
jb 0x40ed75
mov eax, dword [ebp - 0x12e4]
mov dword [ebp - 0x12c8], esi
sub dword [ebp - 0x12c8], eax
cmp cx, dx
mov eax, dword [ebp - 0x12ec]
ja 0x40ed75
cmp edi, 1
je 0x40ed8f
mov ecx, dword [ebp - 0x12c8]
add eax, 2
dec edi
movzx ecx, word [eax + ecx]
movzx edx, word [eax]
cmp cx, dx
jae 0x40ed58
mov eax, dword [ebp - 0x12e4]
add esi, 2
mov edx, dword [ebp - 0x12cc]
mov edi, dword [ebp - 0x12d0]
jmp 0x40ece3
sub esi, dword [ebp - 0x12d4]
mov edx, dword [ebp - 0x12c0]
mov edi, dword [ebp - 0x1290]
sar esi, 1
jmp 0x40edae
mov edx, dword [ebp - 0x12c0]
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x40ef2b
mov byte [ebp - 4], 4
xor eax, eax
mov word [ebp - 0x1270], ax
mov eax, dword [ebp - 0x1278]
mov dword [ebp - 0x1260], 0
mov dword [ebp - 0x125c], 0
mov dword [ebp - 0x1260], 0
mov dword [ebp - 0x125c], 7
cmp eax, edx
jb 0x40f73a
sub eax, edx
mov ecx, esi
sub ecx, edx
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x1274], 8
lea eax, [ebp - 0x1288]
cmovae eax, dword [ebp - 0x1288]
push ecx
lea ecx, [ebp - 0x1270]
lea eax, [eax + edx*2]
push eax
call fcn.004178e0
mov ecx, dword [ebp - 0x12c4]
or ecx, 1
mov dword [ebp - 0x12c4], ecx
cmp dword [ebp - 0x1260], 0
je 0x40eead
mov eax, dword [ebp - 0x12dc]
cmp dword [ebp - 0x12d8], eax
je 0x40ee94
movups xmm0, xmmword [ebp - 0x1270]
mov dword [eax + 0x10], 0
xor edx, edx
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x1260]
movq qword [eax + 0x10], xmm0
mov eax, 7
mov dword [ebp - 0x125c], eax
add dword [ebp - 0x12dc], 0x18
mov dword [ebp - 0x1260], 0
mov word [ebp - 0x1270], dx
jmp 0x40eeb3
lea ecx, [ebp - 0x1270]
push ecx
push eax
lea ecx, [ebp - 0x12e0]
call fcn.00402d40
mov ecx, dword [ebp - 0x12c4]
mov eax, dword [ebp - 0x125c]
lea edx, [edi + esi]
and ecx, 0xfffffffe
mov dword [ebp - 0x12c0], edx
mov dword [ebp - 0x12c4], ecx
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x40ef09
mov ecx, dword [ebp - 0x1270]
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40eef9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f735
push edx
push ecx
call fcn.00428dde
mov edx, dword [ebp - 0x12c0]
add esp, 8
xor eax, eax
mov dword [ebp - 0x1260], 0
mov dword [ebp - 0x125c], 7
mov word [ebp - 0x1270], ax
jmp 0x40ec70
push 0xffffffffffffffff
push edx
lea eax, [ebp - 0x12b8]
push eax
lea ecx, [ebp - 0x1288]
call fcn.00419ea0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x12a8], 0
je 0x40ef5f
lea eax, [ebp - 0x12b8]
push eax
lea ecx, [ebp - 0x12e0]
call fcn.00419640
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x12b8]
call fcn.00403400
mov eax, dword [ebp - 0x12dc]
mov edi, dword [ebp - 0x12e0]
mov dword [ebp - 0x12d0], eax
cmp edi, eax
je 0x40f445
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
nop
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0042a3f0
mov ecx, dword [edi + 0x14]
add esp, 0xc
mov eax, edi
cmp ecx, 8
jb 0x40efb2
mov eax, dword [edi]
cmp word [eax], 0x24
jne 0x40f2e7
push str._userstartmenu__
push edi
call fcn.0040a0f0
add esp, 8
test al, al
je 0x40f060
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.0042a3f0
add esp, 0xc
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x40eff2
mov eax, dword [edi]
lea edx, [eax + 0x20]
mov eax, edi
jb 0x40effb
mov eax, dword [edi]
push edx
push eax
lea eax, [ebp - 0x12ec]
mov ecx, edi
push eax
call fcn.004184b0
cmp dword [edi + 0x10], 0
je 0x40f3ff
lea eax, [ebp - 0x420]
push eax
push 2
push dword [ebp - 0x12bc]
call fcn.0041f440
add esp, 0xc
test al, al
je 0x40f3ff
lea eax, [ebp - 0x420]
push eax
call esi
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40f047
mov eax, dword [edi]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x420]
jmp 0x40f2cd
mov esi, dword [edi + 0x14]
mov eax, edi
cmp esi, 8
jb 0x40f06c
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
add ecx, ecx
mov dword [ebp - 0x12d4], ecx
add ecx, eax
mov eax, edi
cmp esi, 8
jb 0x40f082
mov eax, dword [edi]
push ecx
push eax
lea eax, [ebp - 0x12e8]
mov dword [ebp - 0x12ac], str._commonstartmenu__
push eax
lea ecx, [ebp - 0x12ac]
mov dword [ebp - 0x12a8], 0x4514b8
call fcn.00409900
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x40f148
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.0042a3f0
add esp, 0xc
mov eax, edi
cmp esi, 8
jb 0x40f0d4
mov eax, dword [edi]
lea ecx, [eax + 0x24]
mov eax, edi
jb 0x40f0dd
mov eax, dword [edi]
push ecx
push eax
lea eax, [ebp - 0x12cc]
mov ecx, edi
push eax
call fcn.004184b0
cmp dword [edi + 0x10], 0
je 0x40f3f9
lea eax, [ebp - 0x628]
push eax
push 0x17
push dword [ebp - 0x12bc]
call fcn.0041f440
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
add esp, 0xc
test al, al
je 0x40f3ff
lea eax, [ebp - 0x628]
push eax
call esi
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40f12f
mov eax, dword [edi]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x628]
jmp 0x40f2cd
mov eax, edi
cmp esi, 8
jb 0x40f151
mov eax, dword [edi]
mov ecx, dword [ebp - 0x12d4]
add ecx, eax
mov eax, edi
cmp esi, 8
jb 0x40f162
mov eax, dword [edi]
push ecx
push eax
lea eax, [ebp - 0x12f8]
mov dword [ebp - 0x1264], str._userdesktop__
push eax
lea ecx, [ebp - 0x1264]
mov dword [ebp - 0x1260], 0x4514d8
call fcn.00409900
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x40f228
push 0x208
lea eax, [ebp - 0x830]
push 0
push eax
call fcn.0042a3f0
add esp, 0xc
mov eax, edi
cmp esi, 8
jb 0x40f1b4
mov eax, dword [edi]
lea ecx, [eax + 0x1c]
mov eax, edi
jb 0x40f1bd
mov eax, dword [edi]
push ecx
push eax
lea eax, [ebp - 0x12c8]
mov ecx, edi
push eax
call fcn.004184b0
cmp dword [edi + 0x10], 0
je 0x40f3f9
lea eax, [ebp - 0x830]
push eax
push 0x10
push dword [ebp - 0x12bc]
call fcn.0041f440
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
add esp, 0xc
test al, al
je 0x40f3ff
lea eax, [ebp - 0x830]
push eax
call esi
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40f20f
mov eax, dword [edi]
push eax
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x830]
jmp 0x40f2cd
push str._commondesktop__
push edi
call fcn.0040a0f0
add esp, 8
test al, al
je 0x40f3f9
push 0x208
lea eax, [ebp - 0xa38]
push 0
push eax
call fcn.0042a3f0
add esp, 0xc
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x40f25e
mov eax, dword [edi]
lea edx, [eax + 0x20]
mov eax, edi
jb 0x40f267
mov eax, dword [edi]
push edx
push eax
lea eax, [ebp - 0x12c0]
mov ecx, edi
push eax
call fcn.004184b0
cmp dword [edi + 0x10], 0
je 0x40f3f9
lea eax, [ebp - 0xa38]
push eax
push 0x19
push dword [ebp - 0x12bc]
call fcn.0041f440
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
add esp, 0xc
test al, al
je 0x40f3ff
lea eax, [ebp - 0xa38]
push eax
call esi
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40f2b9
mov eax, dword [edi]
push eax
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0xa38]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0042f9f7
add esp, 0xc
jmp 0x40f3ff
mov eax, edi
cmp ecx, 8
jb 0x40f2f0
mov eax, dword [edi]
push eax
push 0x46ad1c
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
je 0x40f3ff
mov eax, dword [0x469ee4]
mov eax, dword [eax + 0x14]
mov esi, dword [eax + 0x39ab8]
cmp esi, dword [eax + 0x39abc]
je 0x40f3f9
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x40f32f
mov eax, dword [edi]
push eax
push esi
call fcn.00414e80
add esp, 8
test al, al
je 0x40f3df
push 0
lea eax, [esi + 0x20c]
push eax
push 0x104
lea eax, [ebp - 0x1258]
push eax
push dword [esi + 0x208]
lea eax, [ebp - 0xe48]
push 0x104
push eax
call fcn.0041eef0
add esp, 0x1c
test al, al
je 0x40f3df
push 0x208
lea eax, [ebp - 0xc40]
push 0
push eax
call fcn.0042a3f0
add esp, 0xc
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x40f394
mov eax, dword [edi]
lea ecx, [ebp - 0xc40]
push ecx
push eax
push esi
call fcn.00414c10
add esp, 0xc
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0xe48]
push eax
lea eax, [ebp - 0x1050]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
je 0x40f3df
lea eax, [ebp - 0x1050]
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0042f9f7
add esp, 0xc
mov eax, dword [0x469ee4]
add esi, 0x418
mov eax, dword [eax + 0x14]
cmp esi, dword [eax + 0x39abc]
jne 0x40f325
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
lea eax, [ebp - 0x218]
push eax
je 0x40f41f
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x40f436
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40f436
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
add edi, 0x18
cmp edi, dword [ebp - 0x12d0]
jne 0x40ef90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x12a0]
call fcn.00403400
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12e0]
call fcn.00403520
mov edi, dword [ebp - 0x12bc]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1288]
call fcn.00403400
cmp word [0x46cb56], 0
mov edx, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
je 0x40f4cc
test edi, edi
je 0x40f4cc
mov eax, dword [0x4a5384]
movaps xmm0, xmmword [0x451ca0]
paddd xmm0, xmmword [0x451cb0]
push 5
movups xmmword [ebp - 0x1268], xmm0
mov ecx, dword [ebp + eax*4 - 0x1268]
inc eax
push ecx
push edi
mov dword [0x4a5384], eax
call edx
push eax
call esi
mov edx, dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [0x4727c0], 0
je 0x40f513
test edi, edi
je 0x40f50a
mov eax, dword [0x4a5384]
movaps xmm0, xmmword [0x451ca0]
paddd xmm0, xmmword [0x451cb0]
push 5
movups xmmword [ebp - 0x1268], xmm0
mov ecx, dword [ebp + eax*4 - 0x1268]
inc eax
push ecx
push edi
mov dword [0x4a5384], eax
call edx
push eax
call esi
push edi
call fcn.004144a0
add esp, 4
push edi
call fcn.00411110
add esp, 4
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x469ee4]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x39aac]
cmp eax, dword [ecx + 0x39ab0]
je 0x40f560
push 0
push 0x4152d0
push edi
push 0xa5
push dword [0x469abc]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
cmp eax, 0xffffffff
jne 0x40f560
push edi
call fcn.00415400
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0xf
nop dword [eax + eax]
push dword [ebp - 0x12bc]
call fcn.00411110
add esp, 4
push 0x64
call edi
sub esi, 1
jne 0x40f570
mov ecx, dword [0x4725a0]
test ecx, 0x2000
je 0x40f5c9
mov eax, dword [0x4a39c0]
sub eax, 1
mov eax, 0x80000001
jne 0x40f5a9
mov eax, 0x80000002
test ecx, 0x1000000
jne 0x40f5c9
push 0x46ad1c
push 0x4a3ac4
push 0x4a39c4
push eax
call fcn.0041dc00
add esp, 0x10
test dword [0x4725a4], 0x1000
je 0x40f5fe
mov eax, dword [0x4a3bdc]
sub eax, 1
mov eax, 0x80000001
jne 0x40f5e9
mov eax, 0x80000002
push 1
push 0x4a3ce0
push 0x4a3be0
push eax
call fcn.0041db90
add esp, 0x10
call fcn.00409380
test eax, eax
je 0x40f679
cmp dword [0x469a44], 0
je 0x40f626
mov dword [0x469a94], 0
mov dword [0x469a80], 0x3ec
jmp 0x40f63a
mov dword [0x469a60], 0
mov dword [0x469a4c], 0x3ec
call fcn.00409010
test eax, eax
je 0x40f679
mov eax, dword [ebp - 0x12bc]
mov dword [0x469a34], 0xffffffff
test eax, eax
je 0x40eb72
push 0
push 5
push 0x471
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor al, al
jmp 0x40f71a
mov esi, dword [ebp - 0x12bc]
test esi, esi
je 0x40f718
cmp word [0x46b334], 0
je 0x40f701
mov eax, dword [0x4725a4]
test eax, 0x4000
je 0x40f701
push 0x7d0
push 0x468908
push 0xc
push dword [0x469abc]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x3ea
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x468908
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov esi, 0x1e
push dword [ebp - 0x12bc]
call fcn.00411110
add esp, 4
push 0x64
call edi
sub esi, 1
jne 0x40f6d2
mov eax, dword [0x4725a4]
mov esi, dword [ebp - 0x12bc]
test eax, 0x4000
je 0x40f701
push 0
push 2
jmp 0x40f705
push 0
push 1
push 0x471
push esi
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov al, 1
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.00428d9d
mov esp, ebp
pop ebp
ret
call fcn.0042fc66
call fcn.00408710
int3