Function at 0x410b80
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4df13d
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x524a60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x88], ebx
mov dword [ebp - 4], 0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x84], 0
call fcn.004045a0
mov ecx, eax
test ecx, ecx
je 0x4110f3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
movaps xmm0, xmmword [0x4ecc20]
lea eax, [ebp - 0x10]
push dword [ebp - 0x88]
movups xmmword [ebp - 0x48], xmm0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0
movaps xmm0, xmmword [0x4ecc30]
push eax
movups xmmword [ebp - 0x38], xmm0
lea eax, [ebp - 0x48]
mov dword [ebp - 0x84], 1
movaps xmm0, xmmword [0x4ecc40]
push eax
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0x100
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
call fcn.0040bb10
mov eax, dword [edi + 0x9c]
sub eax, 0x10
mov dword [ebp - 4], 1
push eax
call fcn.00404230
mov ebx, eax
mov dword [ebp - 0x5c], ebx
lea esi, [ebx + 0x10]
mov dword [ebp - 0x94], esi
mov eax, dword [edi + 4]
sub eax, 0x10
mov byte [ebp - 4], 2
push eax
call fcn.00404230
add esp, 8
lea edi, [eax + 0x10]
mov dword [ebp - 0x74], edi
mov byte [ebp - 4], 3
call fcn.004045a0
mov ecx, eax
test ecx, ecx
je 0x4110fd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 4
push dword [eax]
lea eax, [ebp - 0x58]
push edi
push esi
push str._s_s._s
push eax
call fcn.00407c50
mov esi, dword [ebp - 0x58]
add esp, 0x14
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x410d22
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x410d22
mov eax, dword [ebp - 0x4c]
push 0
mov esi, dword [eax]
call fcn.004b8119
push esi
push eax
push edi
lea eax, [ebx + 0x10]
mov dword [ebp - 0x8c], edx
push eax
lea eax, [ebp - 0x58]
push str._s_s__d._s
push eax
call fcn.00407c50
mov esi, dword [ebp - 0x58]
add esp, 0x1c
call fcn.004045a0
mov ecx, eax
test ecx, ecx
je 0x411107
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x50], eax
push 0x4e8ad8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.004040f0
test al, al
jne 0x410d60
push 0
push 0x4e8ad8
lea ecx, [ebp - 0x50]
call fcn.00404e90
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp + 0x20]
mov byte [ebp - 4], 6
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x411111
mov eax, dword [ecx]
lea edx, [ebp - 0x50]
push edx
lea edx, [ebp - 0x54]
push edx
call dword [eax + 8]
mov edx, dword [ebp - 0x50]
or eax, 0xffffffff
mov byte [ebp - 4], 4
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410da4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ecx, dword [ebp - 0x70]
mov edx, eax
mov dword [ebp - 0x4c], edx
cmp ecx, dword [ebp - 0x6c]
je 0x410de5
movzx edi, word [ebp + 0x10]
mov esi, ecx
mov ebx, dword [ebp - 0x6c]
mov eax, dword [esi + 4]
push 0
push eax
push eax
push 1
push edi
push edx
call dword [sym.imp.USER32.dll_LoadImageW]
mov edx, dword [ebp - 0x4c]
mov dword [esi], eax
add esi, 8
cmp esi, ebx
jne 0x410dc2
mov esi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x5c]
xor edx, edx
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], eax
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x6c]
cmp dword [ebp - 0x4c], edi
mov edi, dword [ebp - 0x74]
mov byte [ebp - 4], 7
je 0x410ff4
mov ebx, dword [ebp - 0x4c]
xor esi, esi
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebx]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x410e3f
cmp esi, ecx
je 0x410e2c
mov dword [ecx], eax
add ecx, 4
mov dword [ebp - 0x7c], ecx
jmp 0x410e3f
lea eax, [ebp - 0x54]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.004034c0
mov esi, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
add ebx, 8
cmp ebx, edi
jne 0x410e15
mov edx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x54], edx
cmp edx, ecx
je 0x410ff1
sub ecx, edx
sar ecx, 2
push esi
push ecx
push edx
call fcn.004302a0
add esp, 0xc
test eax, eax
jne 0x410eb7
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x411030
mov eax, dword [ebp - 0x4c]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x410eb0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411116
push edx
push ecx
jmp 0x411028
call fcn.004045a0
mov ecx, eax
test ecx, ecx
je 0x41111b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x50], eax
push 0x4e8ad8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call fcn.004040f0
test al, al
jne 0x410ef5
push 0
push 0x4e8ad8
lea ecx, [ebp - 0x50]
call fcn.00404e90
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x64]
mov byte [ebp - 4], 9
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x411125
mov eax, dword [ecx]
lea edx, [ebp - 0x50]
push edx
lea edx, [ebp - 0x5c]
push edx
call dword [eax + 8]
mov edx, dword [ebp - 0x50]
or eax, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x410f39
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x60]
lea edx, [esi - 0x10]
mov dword [ebp - 0x8c], edx
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x5c], ecx
cmp edx, ecx
je 0x410fa4
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x64], eax
jl 0x410f98
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x410f98
push edx
call fcn.00404230
mov edx, dword [ebp - 0x64]
or esi, 0xffffffff
add esp, 4
mov dword [ebp - 0x50], eax
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410f8e
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x60]
add eax, 0x10
mov dword [ecx], eax
jmp 0x410fa7
push dword [esi - 0xc]
mov ecx, dword [ebp - 0x60]
push esi
call fcn.00404e90
or esi, 0xffffffff
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 4
test ecx, ecx
je 0x410fe9
mov eax, dword [ebp - 0x4c]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x410fdf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41112a
push edx
push ecx
call fcn.004a12e0
add esp, 8
mov edx, dword [ebp - 0x8c]
jmp 0x411036
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 4
test edx, edx
je 0x411030
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x411026
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41112f
push ecx
push edx
call fcn.004a12e0
add esp, 8
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 3
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41104e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x411069
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, ebx
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x411081
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x70]
mov esi, edi
mov ebx, dword [ebp - 0x6c]
cmp esi, ebx
je 0x4110a4
nop dword [eax]
mov eax, dword [esi]
test eax, eax
je 0x41109d
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
add esi, 8
cmp esi, ebx
jne 0x411090
test edi, edi
je 0x4110d4
mov ecx, dword [ebp - 0x68]
mov eax, edi
sub ecx, edi
and ecx, 0xfffffff8
cmp ecx, 0x1000
jb 0x4110ca
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411134
push ecx
push edi
call fcn.004a12e0
add esp, 8
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a1588
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403f90
push 0x80004005
call fcn.00403f90
push 0x80004005
call fcn.00403f90
call fcn.0044386f
call fcn.004b3f79
push 0x80004005
call fcn.00403f90
call fcn.0044386f
call fcn.004b3f79
call fcn.004b3f79
call fcn.004b3f79
int3