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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55c464
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5c49f0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 4], ebx
cmp dword [0x5c5420], 3
jl 0x42175f
add esi, 0x20
cmp dword [esi + 0x14], 0x10
jb 0x4216d7
mov esi, dword [esi]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x5c9840]
cmp eax, dword [ecx + 4]
jle 0x421721
push 0x5c9840
call fcn.00533993
add esp, 4
cmp dword [0x5c9840], 0xffffffff
jne 0x421721
call fcn.00436720
push 0x5607c0
call fcn.00533d1d
add esp, 4
push 0x5c9840
call fcn.00533954
add esp, 4
push esi
push dword [0x5c5420]
push 0x5b0878
push 1
push 0x5b063c
push 0x5c9848
call fcn.00436800
mov eax, dword [ebp + 0x20]
add esp, 0x18
cmp eax, 0x10
jb 0x421af2
inc eax
lea ecx, [ebp + 0xc]
push eax
push dword [ebp + 0xc]
call fcn.0042ceb0
jmp 0x421af2
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
sub esp, 0x18
mov byte [ebp - 4], 1
mov ecx, esp
lea edi, [esi + 0x20]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4217a7
mov eax, dword [ecx]
jmp 0x4217a9
mov eax, ecx
push 0xffffffffffffffff
push 0
push edi
mov byte [eax], 0
call fcn.0042c2e0
lea ecx, [ebp - 0x24]
call fcn.00427b30
mov ecx, dword [ebp - 0x20]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x24]
add esp, 0x18
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xa8], eax
je 0x4218af
mov eax, dword [0x5c92b0]
test eax, eax
je 0x4217fc
push 0x5c5378
push 0x5c5370
call eax
add esp, 8
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0xa8]
sub esp, 0x18
lea eax, [ecx + ecx*2]
mov ecx, dword [ebp - 0x24]
add ecx, 0xffffffd0
shl eax, 4
add eax, ecx
mov ecx, esp
push 0xffffffffffffffff
push 0
push eax
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov byte [ecx], 0
call fcn.0042c2e0
call fcn.00425410
test al, al
jne 0x421890
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b08c4
push 1
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
lea ecx, [ebp - 0x24]
call fcn.0042b5e0
mov eax, dword [ebp + 0x20]
cmp eax, 0x10
jb 0x421af2
inc eax
lea ecx, [ebp + 0xc]
push eax
push dword [ebp + 0xc]
call fcn.0042ceb0
jmp 0x421af2
push 0x5b08e0
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x10
jmp 0x421f0d
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 2
push eax
call fcn.00424790
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
push 0
push 0x5b03e0
mov dword [ebp - 0x40], 0xf
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x54], 0
call fcn.0042c1e0
mov byte [ebp - 4], 4
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0910
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
cmovae eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4219a6
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421942
mov eax, dword [ecx]
jmp 0x421944
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0042c2e0
lea ecx, [ebp - 0xc0]
call fcn.00435ce0
add esp, 0x18
lea ecx, [esi + 8]
mov ebx, 1
cmp dword [eax + 0x14], 0x10
lea edx, [eax + 0x10]
mov dword [ebp - 0xa8], edx
jb 0x42197b
mov eax, dword [eax]
cmp dword [ecx + 0x14], 0x10
lea edx, [ecx + 0x10]
jb 0x421986
mov ecx, dword [ecx]
mov edi, dword [ebp - 0xa8]
mov edx, dword [edx]
push dword [edi]
push eax
call fcn.0042b9c0
add esp, 8
mov byte [ebp - 0xa1], bl
lea edi, [esi + 0x20]
test eax, eax
je 0x4219ad
mov byte [ebp - 0xa1], 0
test bl, 1
je 0x4219d0
mov eax, dword [ebp - 0xac]
cmp eax, 0x10
jb 0x4219d0
inc eax
lea ecx, [ebp - 0xc0]
push eax
push dword [ebp - 0xc0]
call fcn.0042ceb0
cmp byte [ebp - 0xa1], 0
je 0x421a23
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
push str.Cancel_DownLoad__s
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421b12
mov eax, dword [ecx]
jmp 0x421b14
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa8], esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421a46
mov eax, dword [ecx]
jmp 0x421a48
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0042c2e0
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
lea edx, [esi + 0x50]
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421a7c
mov eax, dword [ecx]
jmp 0x421a7e
mov eax, ecx
push 0xffffffffffffffff
push 0
push edx
mov byte [eax], 0
call fcn.0042c2e0
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 4
push eax
call fcn.00441f30
test eax, eax
jne 0x4219ff
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
lea eax, [ebp + 0xc]
cmovae ecx, dword [ebp - 0x54]
cmp dword [ebp + 0x20], 0x10
push ecx
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0934
push 1
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x18
lea ecx, [ebp - 0x54]
call fcn.0042a3c0
lea ecx, [ebp - 0x3c]
call fcn.0042a3c0
lea ecx, [ebp - 0x24]
call fcn.0042b5e0
lea ecx, [ebp + 0xc]
call fcn.0042a3c0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00533845
mov esp, ebp
pop ebp
ret 0x1c
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0042c2e0
lea ecx, [ebp - 0x84]
call fcn.00435ce0
add esp, 0x18
lea eax, [esi + 8]
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
lea edx, [eax + 0x10]
jb 0x421b44
mov eax, dword [eax]
push dword [edx]
cmp dword [ebp - 0x70], 0x10
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 0x74]
cmovae ecx, dword [ebp - 0x84]
push eax
call fcn.0042b9c0
add esp, 8
test eax, eax
lea eax, [ebp + 0xc]
je 0x421baf
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0950
push 1
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
lea eax, [ebp - 0x3c]
cmp dword [ebp - 0x28], 0x10
cmovae eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x84]
call fcn.0042a3c0
jmp 0x421ad2
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b096c
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
mov edx, 0x5b097c
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0042daa0
add esp, 4
lea eax, [ebp - 0x6c]
push eax
call fcn.00424a60
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421c0f
mov eax, dword [ecx]
jmp 0x421c11
mov eax, ecx
push 0xffffffffffffffff
push 0
push edi
mov byte [eax], 0
call fcn.0042c2e0
lea eax, [ebp - 0x9c]
push eax
call fcn.00424a60
sub esp, 0x18
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x421c4b
mov eax, dword [ecx]
jmp 0x421c4d
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x6c]
push 0
push eax
call fcn.0042c2e0
call fcn.00435a10
add esp, 0x18
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x3c]
call fcn.00454a30
test eax, eax
jne 0x421cbd
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0980
push 1
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
lea ecx, [ebp - 0x9c]
call fcn.0042a3c0
lea ecx, [ebp - 0x6c]
call fcn.0042a3c0
lea ecx, [ebp - 0x84]
call fcn.0042a3c0
jmp 0x421ad2
sub esp, 0x18
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.0042a560
call fcn.004294c0
add esp, 0x18
test al, al
lea eax, [ebp - 0x6c]
jne 0x421d00
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042a560
call fcn.00435a10
add esp, 0x18
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0998
jmp 0x421c85
push edi
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.00423be0
test al, al
jne 0x421d25
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b09b0
jmp 0x421c85
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov ecx, esp
mov dword [ebp - 0xa0], esp
push eax
call fcn.0042a560
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0x6c]
mov ecx, esp
push eax
call fcn.0042a560
mov byte [ebp - 4], 8
call fcn.004269e0
test al, al
jne 0x421d71
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push str._s_RenameVersionFolder_Fail_
jmp 0x421c85
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0042a560
call fcn.00425410
test al, al
jne 0x421d9b
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b08c4
jmp 0x421c85
mov eax, dword [esi + 4]
cmp eax, 2
je 0x421da8
cmp eax, 6
jne 0x421dad
call fcn.004314f0
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0042a560
call fcn.00425080
test al, al
lea eax, [ebp + 0xc]
jne 0x421dd7
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b0744
jmp 0x421c85
cmp dword [ebp + 0x20], 0x10
cmovae eax, dword [ebp + 0xc]
push eax
push 0x5b09e4
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
push str.KPDATA_UPDATE
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x10
mov cl, 1
call fcn.00453100
sub esp, 0x18
mov ecx, esp
push str.SDLCH.exe
call fcn.0042a500
mov cl, 1
call fcn.00453320
add esp, 0x18
sub esp, 0x18
mov ecx, esp
push str.dbillsoft.exe
call fcn.0042a500
mov cl, 1
call fcn.00453320
add esp, 0x18
sub esp, 0x18
mov ecx, esp
push str.ubillsoft.exe
call fcn.0042a500
mov cl, 1
call fcn.00453320
add esp, 0x18
call fcn.004314f0
call fcn.004264f0
push str.LAUNCHER_UPDATE
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x10
lea eax, [ebp - 0x9c]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0042a560
push 0x7530
push 0
call fcn.00425710
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp + 0x20], 0x10
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
push str._s_FullPackage_Finish_
push 0
push 0x5b063c
call fcn.004367b0
push eax
call fcn.00436800
add esp, 0x14
lea ecx, [ebp - 0x9c]
call fcn.0042a3c0
lea ecx, [ebp - 0x6c]
call fcn.0042a3c0
lea ecx, [ebp - 0x84]
call fcn.0042a3c0
lea ecx, [ebp - 0x54]
call fcn.0042a3c0
lea ecx, [ebp - 0x3c]
call fcn.0042a3c0
lea ecx, [ebp - 0x24]
call fcn.0042b5e0
mov eax, dword [ebp + 0x20]
cmp eax, 0x10
jb 0x421f2a
inc eax
lea ecx, [ebp + 0xc]
push eax
push dword [ebp + 0xc]
call fcn.0042ceb0
mov al, 1
jmp 0x421af4