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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2658
call fcn.00410860
mov eax, dword [0x41a084]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
mov dword [ebp - 0x558], 0
mov byte [ebp - 0x25e8], 0
push 0x1fff
push 0
lea eax, [ebp - 0x25e7]
push eax
call fcn.0040e3a0
add esp, 0xc
mov dword [ebp - 0x25f0], 0
mov dword [ebp - 0x25ec], 0
lea ecx, [ebp - 0x25e8]
push ecx
push 0x41c500
call fcn.00402fe0
add esp, 8
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x554], 0
jne 0x403302
mov eax, dword [ebp - 0x558]
jmp 0x403b0c
push 0x84
push 0x143
mov edx, dword [ebp - 0x554]
push edx
lea eax, [ebp - 0x25e8]
push eax
call fcn.00404920
add esp, 0x10
mov byte [ebp - 0x5c0], 0
xor ecx, ecx
mov dword [ebp - 0x5bf], ecx
mov dword [ebp - 0x5bb], ecx
mov dword [ebp - 0x5b7], ecx
mov dword [ebp - 0x5b3], ecx
mov dword [ebp - 0x5af], ecx
mov dword [ebp - 0x5ab], ecx
mov dword [ebp - 0x5a7], ecx
mov word [ebp - 0x5a3], cx
mov byte [ebp - 0x5a1], cl
mov byte [ebp - 0x550], 0
xor edx, edx
mov dword [ebp - 0x54f], edx
mov dword [ebp - 0x54b], edx
mov dword [ebp - 0x547], edx
mov dword [ebp - 0x543], edx
mov dword [ebp - 0x53f], edx
mov dword [ebp - 0x53b], edx
mov dword [ebp - 0x537], edx
mov word [ebp - 0x533], dx
mov byte [ebp - 0x531], dl
mov byte [ebp - 0x5e4], 0
xor eax, eax
mov dword [ebp - 0x5e3], eax
mov dword [ebp - 0x5df], eax
mov dword [ebp - 0x5db], eax
mov dword [ebp - 0x5d7], eax
mov dword [ebp - 0x5d3], eax
mov dword [ebp - 0x5cf], eax
mov dword [ebp - 0x5cb], eax
mov word [ebp - 0x5c7], ax
mov byte [ebp - 0x5c5], al
lea ecx, [ebp - 0x5c0]
push ecx
push str.OnlineVersion
lea edx, [ebp - 0x25e8]
push edx
call fcn.00404af0
add esp, 0xc
test eax, eax
jne 0x40340c
mov eax, dword [ebp - 0x558]
jmp 0x403b0c
lea eax, [ebp - 0x550]
push eax
push str.TGUrlOnlineVersion
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.00404af0
add esp, 0xc
test eax, eax
je 0x403444
push 0x41eae8
push 0x417628
lea edx, [ebp - 0x550]
push edx
call fcn.004089ec
add esp, 0xc
lea eax, [ebp - 0x5e4]
push eax
push str.TGEXEOnlineVersion
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.00404af0
add esp, 0xc
test eax, eax
je 0x40347c
push 0x41eaf0
push 0x417644
lea edx, [ebp - 0x5e4]
push edx
call fcn.004089ec
add esp, 0xc
push 0x41e4d0
push str.i3nst
lea eax, [ebp - 0x25e8]
push eax
call fcn.00404af0
add esp, 0xc
push 0x41e6d8
push str.pmigr
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.00404af0
add esp, 0xc
push 0x41e8e0
push str.dksts
lea edx, [ebp - 0x25e8]
push edx
call fcn.00404af0
add esp, 0xc
lea eax, [ebp - 0x25f0]
push eax
push str._I64d
lea ecx, [ebp - 0x5c0]
push ecx
call fcn.004089ec
add esp, 0xc
mov edx, dword [ebp - 0x25ec]
cmp edx, dword [0x41d0a4]
ja 0x40350b
jb 0x403500
mov eax, dword [ebp - 0x25f0]
cmp eax, dword [0x41d0a0]
ja 0x40350b
mov eax, dword [ebp - 0x558]
jmp 0x403b0c
push 0x2000
push 0
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.0040e3a0
add esp, 0xc
lea edx, [ebp - 0x25e8]
push edx
push 0x41c610
call fcn.00402fe0
add esp, 8
mov dword [ebp - 0x554], eax
push 0x84
push 0x143
mov eax, dword [ebp - 0x554]
push eax
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.00404920
add esp, 0x10
mov byte [ebp - 0x530], 0
push 0x103
push 0
lea edx, [ebp - 0x52f]
push edx
call fcn.0040e3a0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x418], ax
push 0x206
push 0
lea ecx, [ebp - 0x416]
push ecx
call fcn.0040e3a0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x210], dx
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call fcn.0040e3a0
add esp, 0xc
mov dword [ebp - 0x2600], str.___7
mov ecx, dword [ebp - 0x2600]
mov dword [ebp - 0x2604], ecx
mov edx, dword [ebp - 0x2600]
mov al, byte [edx]
mov byte [ebp - 0x2605], al
add dword [ebp - 0x2600], 1
cmp byte [ebp - 0x2605], 0
jne 0x4035cc
mov ecx, dword [ebp - 0x2600]
sub ecx, dword [ebp - 0x2604]
mov edx, dword [ebp - 0x2604]
mov dword [ebp - 0x260c], edx
mov dword [ebp - 0x2610], ecx
lea eax, [ebp - 0x530]
add eax, 0xffffffff
mov dword [ebp - 0x2614], eax
mov ecx, dword [ebp - 0x2614]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x2615], dl
add dword [ebp - 0x2614], 1
cmp byte [ebp - 0x2615], 0
jne 0x403617
mov edi, dword [ebp - 0x2614]
mov esi, dword [ebp - 0x260c]
mov eax, dword [ebp - 0x2610]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x530]
add ecx, 0xffffffff
mov dword [ebp - 0x261c], ecx
mov edx, dword [ebp - 0x261c]
mov al, byte [edx + 1]
mov byte [ebp - 0x261d], al
add dword [ebp - 0x261c], 1
cmp byte [ebp - 0x261d], 0
jne 0x403665
mov edi, dword [ebp - 0x261c]
mov cx, word [0x41766c]
mov word [edi], cx
mov dword [ebp - 0x2624], 0x41cb64
mov edx, dword [ebp - 0x2624]
mov dword [ebp - 0x2628], edx
mov eax, dword [ebp - 0x2624]
mov cl, byte [eax]
mov byte [ebp - 0x2629], cl
add dword [ebp - 0x2624], 1
cmp byte [ebp - 0x2629], 0
jne 0x4036aa
mov edx, dword [ebp - 0x2624]
sub edx, dword [ebp - 0x2628]
mov eax, dword [ebp - 0x2628]
mov dword [ebp - 0x2630], eax
mov dword [ebp - 0x2634], edx
lea ecx, [ebp - 0x530]
add ecx, 0xffffffff
mov dword [ebp - 0x2638], ecx
mov edx, dword [ebp - 0x2638]
mov al, byte [edx + 1]
mov byte [ebp - 0x2639], al
add dword [ebp - 0x2638], 1
cmp byte [ebp - 0x2639], 0
jne 0x4036f5
mov edi, dword [ebp - 0x2638]
mov esi, dword [ebp - 0x2630]
mov edx, dword [ebp - 0x2634]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x208
lea eax, [ebp - 0x418]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x530]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [ebp - 0x530]
add edx, 0xffffffff
mov dword [ebp - 0x2640], edx
mov eax, dword [ebp - 0x2640]
mov cl, byte [eax + 1]
mov byte [ebp - 0x2641], cl
add dword [ebp - 0x2640], 1
cmp byte [ebp - 0x2641], 0
jne 0x403762
mov edi, dword [ebp - 0x2640]
mov dx, word [0x417670]
mov word [edi], dx
mov al, byte [0x417672]
mov byte [edi + 2], al
push 0x208
lea ecx, [ebp - 0x210]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x530]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 4], 0
mov ecx, 1
test ecx, ecx
je 0x403947
mov dword [ebp - 0x25fc], 0
mov dword [ebp - 0x25f4], 0
mov dword [ebp - 0x25f8], 0
cmp dword [ebp - 4], 0
jne 0x403820
lea edx, [ebp - 0x25fc]
push edx
push str.ExeSelf1
lea eax, [ebp - 0x25e8]
push eax
call fcn.00404950
add esp, 0xc
mov dword [ebp - 0x25f4], eax
jmp 0x403870
cmp dword [ebp - 4], 1
jne 0x403849
lea ecx, [ebp - 0x25fc]
push ecx
push str.ExeSelf2
lea edx, [ebp - 0x25e8]
push edx
call fcn.00404950
add esp, 0xc
mov dword [ebp - 0x25f4], eax
jmp 0x403870
cmp dword [ebp - 4], 2
jne 0x403870
lea eax, [ebp - 0x25fc]
push eax
push str.ExeSelf3
lea ecx, [ebp - 0x25e8]
push ecx
call fcn.00404950
add esp, 0xc
mov dword [ebp - 0x25f4], eax
cmp dword [ebp - 0x25f4], 0
je 0x403929
mov edx, dword [ebp - 0x25fc]
lea eax, [edx + edx + 0xa]
push eax
call fcn.00408821
add esp, 4
mov dword [ebp - 0x25f8], eax
mov ecx, dword [ebp - 0x25fc]
lea edx, [ecx + ecx + 0xa]
push edx
mov eax, dword [ebp - 0x25f8]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x25f4]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp - 0x25f8]
push eax
push 0
call dword [0x41e288]
test eax, eax
je 0x4038e5
mov dword [ebp - 0x558], 0
jmp 0x4038ef
mov dword [ebp - 0x558], 1
mov ecx, dword [ebp - 0x25f8]
push ecx
call fcn.00408a0e
add esp, 4
mov edx, dword [ebp - 0x25f4]
push edx
call fcn.00408a0e
add esp, 4
cmp dword [ebp - 0x558], 0
je 0x403929
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403929
jmp 0x403947
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 3
jne 0x403942
jmp 0x403ae7
jmp 0x4037cc
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x403962
jmp 0x403ae7
lea eax, [ebp - 0x210]
mov dword [ebp - 0x2648], eax
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x264c], ecx
mov edx, dword [ebp - 0x264c]
mov dword [ebp - 0x2650], edx
mov eax, dword [ebp - 0x2648]
mov cx, word [eax]
mov word [ebp - 0x2652], cx
mov edx, dword [ebp - 0x264c]
mov ax, word [ebp - 0x2652]
mov word [edx], ax
mov ecx, dword [ebp - 0x2648]
add ecx, 2
mov dword [ebp - 0x2648], ecx
mov edx, dword [ebp - 0x264c]
add edx, 2
mov dword [ebp - 0x264c], edx
cmp word [ebp - 0x2652], 0
jne 0x403986
push 0x44
push 0
lea eax, [ebp - 0x5a0]
push eax
call fcn.0040e3a0
add esp, 0xc
mov dword [ebp - 0x5a0], 0x44
xor ecx, ecx
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x41c], ecx
mov edx, dword [str.ApHqGhUmEaYlNlUFdXfIrCvScXgGbWkFnQAR]
push edx
push 0
push 0
push 0
call dword [0x41e270]
mov dword [ebp - 0x5c4], eax
push 0x417698
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCatW]
push 0x41769c
lea ecx, [ebp - 0x418]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCatW]
lea edx, [ebp - 0x428]
push edx
lea eax, [ebp - 0x5a0]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
push 0
call dword [0x41e224]
test eax, eax
jne 0x403a73
jmp 0x403ae7
cmp dword [ebp - 0x5c4], 0
je 0x403adf
push 0x2710
mov edx, dword [ebp - 0x5c4]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x2658], eax
cmp dword [ebp - 0x2658], 0
je 0x403aab
cmp dword [ebp - 0x2658], 0x102
je 0x403ace
jmp 0x403adf
mov eax, dword [ebp - 0x5c4]
push eax
call dword [0x41e248]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x41e294]
mov eax, 1
jmp 0x403b0c
mov ecx, dword [ebp - 0x5c4]
push ecx
call dword [0x41e248]
jmp 0x403ae7
mov eax, dword [ebp - 0x558]
jmp 0x403b0c
mov edx, dword [0x41e3c4]
add edx, 1
mov dword [0x41e3c4], edx
cmp dword [0x41e3c4], 5
jne 0x403b07
mov eax, dword [ebp - 0x558]
jmp 0x403b0c
call fcn.00403280
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00408266
mov esp, ebp
pop ebp
ret