Function at 0x405aa0
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424f17
mov eax, dword fs:[0]
push eax
sub esp, 0x45c
mov eax, dword [0x430510]
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, 7
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], ebx
mov word [ebp - 0x260], cx
mov dword [ebp - 4], ebx
xor edx, edx
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x234], ebx
mov word [ebp - 0x244], dx
mov dword [ebp - 0x2f4], eax
xor eax, eax
mov dword [ebp - 0x2f8], ebx
mov word [ebp - 0x308], ax
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x424], ebx
mov dword [ebp - 0x420], ebx
mov dword [ebp - 0x20], 0xf0c5db82
mov dword [ebp - 0x1c], 0x40a13603
mov dword [ebp - 0x18], 0xb434bab5
mov dword [ebp - 0x14], 0x925b3508
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x430], ebx
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x450], ebx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x418]
push ecx
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x20]
push eax
push ebx
lea ecx, [ebp - 0x438]
push ecx
call fcn.0040b0b0
lea esi, [ebp - 0x244]
cmp byte [0x43245c], bl
je 0x405bb5
push 8
mov eax, str._windir_
call fcn.00409a60
mov ecx, esi
call fcn.00404e30
mov edi, eax
push 8
mov eax, str._windir_
jmp 0x405bd5
push 9
mov eax, str._appdata_
call fcn.00409a60
lea ecx, [ebp - 0x244]
call fcn.00404e30
mov edi, eax
push 9
mov eax, str._appdata_
lea esi, [ebp - 0x260]
call fcn.00409a60
cmp edi, dword [ebp + 0x148]
jae 0x40602c
mov eax, 7
xor edx, edx
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x2a4], ebx
mov word [ebp - 0x2b4], dx
mov byte [ebp - 4], 6
mov dword [ebp - 0x268], eax
xor eax, eax
mov word [ebp - 0x27c], ax
lea eax, [ebp + 0x14c]
mov dword [ebp - 0x26c], ebx
lea edx, [eax + 2]
jmp 0x405c30
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x405c30
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp + 0x14c]
lea esi, [ebp - 0x27c]
call fcn.00409a60
lea edx, [ebp - 0x2b4]
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00405500
test al, al
je 0x405fcb
push 0x206
lea edx, [ebp - 0x226]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x228], cx
call fcn.0041a000
mov eax, dword [ebp - 0x2b4]
mov edi, 8
add esp, 0xc
cmp dword [ebp - 0x2a0], edi
jae 0x405ca1
lea eax, [ebp - 0x2b4]
lea ecx, [ebp - 0x228]
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x405fd0
lea eax, [ebp - 0x228]
lea ecx, [ebp - 0x298]
call fcn.004072c0
sub esp, 0x1c
mov byte [ebp - 4], 8
mov eax, 0x429550
mov ecx, esp
mov dword [ebp - 0x418], esp
call fcn.004072c0
sub esp, 0x1c
mov byte [ebp - 4], 9
mov eax, 0x429550
mov ecx, esp
mov dword [ebp - 0x468], esp
call fcn.004072c0
sub esp, 0x1c
mov byte [ebp - 4], 0xa
mov eax, 0x429550
mov ecx, esp
mov dword [ebp - 0x45c], esp
call fcn.004072c0
sub esp, 0x1c
mov byte [ebp - 4], 0xb
mov eax, 0x429550
mov ecx, esp
mov dword [ebp - 0x464], esp
call fcn.004072c0
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x460], esp
push ebx
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xc
call fcn.00402510
add esp, 4
lea edx, [ebp - 0x410]
push edx
mov byte [ebp - 4], 8
call fcn.0040b8e0
push ebx
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x428]
lea edx, [ebp - 0x410]
mov byte [ebp - 4], 0xd
call fcn.0040c540
test eax, eax
jle 0x405fa7
mov ecx, dword [ebp - 0x364]
add ecx, 0xffffff38
jne 0x405fa7
xor edx, edx
mov dword [ebp - 0x2bc], 7
mov dword [ebp - 0x2c0], ebx
mov word [ebp - 0x2d0], dx
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0xe
call fcn.00404da0
add esp, 4
test al, al
je 0x405f9c
push 0x40
lea ecx, [ebp + 0x108]
lea edx, [ebp - 0x2ec]
call fcn.00402510
add esp, 4
mov byte [ebp - 4], 0xf
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], edi
jb 0x405dee
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x2c0]
mov edi, ecx
lea ecx, [ebp - 0x2d0]
call fcn.0040aba0
test eax, eax
lea esi, [ebp - 0x2ec]
sete byte [ebp - 0x411]
mov byte [ebp - 4], 0xe
call fcn.00407300
cmp byte [ebp - 0x411], bl
je 0x405f97
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x440], ebx
lea ecx, [ebp - 0x448]
push ecx
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x10
call fcn.00401dd0
add esp, 4
test al, al
je 0x405f8c
lea edx, [ebp - 0x298]
push edx
lea ecx, [ebp - 0x448]
call fcn.00405a10
add esp, 4
test al, al
je 0x405f8c
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x438]
call fcn.00402480
add esp, 4
test al, al
je 0x405f8c
mov ecx, dword [ebp - 0x458]
push ebx
lea edx, [ebp - 0x2ec]
call fcn.00402510
add esp, 4
push ebx
lea ecx, [ebp + 0x356]
lea edx, [ebp - 0x35c]
mov byte [ebp - 4], 0x11
call fcn.00402510
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x298]
push ecx
lea edx, [ebp - 0x324]
push edx
mov byte [ebp - 4], 0x12
call fcn.0040a5d0
lea ecx, [ebp - 0x340]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.0040a6c0
add esp, 0xc
lea edx, [ebp - 0x2ec]
push edx
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00405860
add esp, 4
lea esi, [ebp - 0x340]
mov byte [ebp - 0x411], al
call fcn.00407300
lea esi, [ebp - 0x324]
call fcn.00407300
lea esi, [ebp - 0x35c]
call fcn.00407300
cmp byte [ebp - 0x411], bl
je 0x405f81
push 0x1d4c0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x298]
mov esi, 8
cmp dword [ebp - 0x284], esi
jae 0x405f57
lea eax, [ebp - 0x298]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x260]
cmp dword [ebp - 0x24c], esi
jae 0x405f72
lea ecx, [ebp - 0x260]
mov eax, dword [ebp + 0x148]
push eax
call fcn.00405080
add esp, 4
lea esi, [ebp - 0x2ec]
call fcn.00407300
lea esi, [ebp - 0x448]
call fcn.004077c0
mov edi, 8
lea esi, [ebp - 0x2d0]
call fcn.00407300
lea esi, [ebp - 0x410]
call fcn.0040c5d0
cmp dword [ebp - 0x284], edi
jb 0x405fd0
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.004140b8
add esp, 4
jmp 0x405fd0
mov edi, 8
cmp dword [ebp - 0x268], edi
jb 0x405fe7
mov edx, dword [ebp - 0x27c]
push edx
call fcn.004140b8
add esp, 4
xor eax, eax
mov dword [ebp - 0x268], 7
mov dword [ebp - 0x26c], ebx
mov word [ebp - 0x27c], ax
cmp dword [ebp - 0x2a0], edi
jb 0x406017
mov ecx, dword [ebp - 0x2b4]
push ecx
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0x458]
cmp eax, ebx
je 0x406031
push eax
call fcn.004140b8
add esp, 4
jmp 0x406031
mov edi, 8
mov eax, dword [ebp - 0x438]
cmp eax, ebx
je 0x406044
push eax
call fcn.004140b8
add esp, 4
mov eax, dword [ebp - 0x428]
cmp eax, ebx
je 0x406057
push eax
call fcn.004140b8
add esp, 4
cmp dword [ebp - 0x230], edi
jb 0x40606e
mov edx, dword [ebp - 0x244]
push edx
call fcn.004140b8
add esp, 4
xor eax, eax
mov dword [ebp - 0x230], 7
mov dword [ebp - 0x234], ebx
mov word [ebp - 0x244], ax
cmp dword [ebp - 0x24c], edi
jb 0x40609e
mov ecx, dword [ebp - 0x260]
push ecx
call fcn.004140b8
add esp, 4
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.004140c3
mov esp, ebp
pop ebp
ret