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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8d4
mov eax, dword [0x415048]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x28e]
push ecx
mov word [ebp - 0x290], ax
call fcn.00407fe0
add esp, 0xc
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x496]
push eax
mov word [ebp - 0x498], dx
call fcn.00407fe0
add esp, 0xc
push 0x200
xor esi, esi
lea ecx, [ebp - 0x698]
push esi
push ecx
call fcn.00407fe0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x498]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ebx, [ebp - 0x698]
call fcn.00401cf0
test eax, eax
je 0x402876
lea eax, [ebp - 0x290]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [ebp - 0x510]
push ecx
lea edx, [ebp - 0x290]
push 0x104
push edx
call fcn.00404696
add esp, 0xc
push str..exe
lea eax, [ebp - 0x290]
push 0x104
push eax
call fcn.00404696
add esp, 0xc
lea ecx, [ebp - 0x290]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [ebp - 0x4f0]
push edx
push 0x10
push 0x417618
call fcn.0040470b
add esp, 0xc
lea ebx, [ebp - 0x290]
lea edi, [ebp - 0x4f0]
call fcn.00402c11
mov esi, edi
call fcn.00402ca6
cmp eax, 1
jne 0x4026bd
mov dword [0x417638], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00404687
mov esp, ebp
pop ebp
ret
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0x46]
push ecx
mov word [ebp - 0x48], ax
call fcn.00407fe0
add esp, 0xc
xor edx, edx
push 0x3e
push edx
lea eax, [ebp - 0x86]
push eax
mov word [ebp - 0x88], dx
call fcn.00407fe0
add esp, 0xc
xor eax, eax
nop
movzx ecx, word [ebp + eax - 0x4f0]
mov word [ebp + eax - 0x48], cx
add eax, 2
test cx, cx
jne 0x4026f0
xor eax, eax
jmp 0x402710
movzx ecx, word [ebp + eax - 0x4f0]
mov word [ebp + eax - 0x88], cx
add eax, 2
test cx, cx
jne 0x402710
lea eax, [ebp - 0x88]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x402731
mov ecx, dword [str._STOP]
mov edx, dword [0x4135b4]
mov edi, dword [sym.imp.KERNEL32.dll_OpenEventW]
mov dword [eax], ecx
mov ecx, dword [0x4135b8]
mov dword [eax + 4], edx
lea edx, [ebp - 0x48]
push edx
push 0
push 0x20000
mov dword [eax + 8], ecx
call edi
test eax, eax
je 0x4027c5
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call ebx
lea eax, [ebp - 0x88]
push eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
lea ecx, [ebp - 0x48]
push ecx
xor esi, esi
push esi
push 0x20000
call edi
test eax, eax
je 0x4027c5
lea esp, [esp]
cmp esi, 5
jge 0x4027c5
push eax
call ebx
push 0x1f4
inc esi
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp - 0x48]
push edx
push 0
push 0x20000
call edi
test eax, eax
jne 0x4027a0
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
nop
movzx ecx, word [ebp + eax - 0x694]
mov word [eax + 0x4174f0], cx
add eax, 2
test cx, cx
jne 0x4027e0
xor eax, eax
lea esp, [esp]
movzx ecx, word [ebp + eax - 0x612]
mov word [eax + 0x417470], cx
add eax, 2
test cx, cx
jne 0x402800
xor eax, eax
lea esp, [esp]
movzx ecx, word [ebp + eax - 0x5f2]
mov word [eax + 0x417570], cx
add eax, 2
test cx, cx
jne 0x402820
mov cx, word [ebp - 0x614]
mov dx, word [ebp - 0x572]
mov eax, dword [ebp - 0x4d0]
mov word [0x41746c], cx
lea ecx, [ebp - 0x510]
push ecx
push 0x10
push 0x4175f8
mov word [0x4175f0], dx
mov dword [0x4175f4], eax
call fcn.0040470b
jmp 0x4029da
push 0x236
lea edx, [ebp - 0x8d0]
push 0
push edx
call fcn.00407fe0
lea eax, [ebp - 0x8d0]
add esp, 0xc
push eax
call fcn.00402d41
add esp, 4
test eax, eax
je 0x4029e2
xor eax, eax
jmp 0x4028b0
movzx ecx, word [ebp + eax - 0x7c2]
mov word [eax + 0x417470], cx
add eax, 2
test cx, cx
jne 0x4028b0
mov cx, word [ebp - 0x7c6]
mov dx, word [ebp - 0x7cc]
xor eax, eax
mov word [0x4175f0], dx
mov word [ebp - 0x28], ax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov word [ebp - 0xa], ax
mov eax, dword [ebp - 0x7ca]
mov word [0x41746c], cx
movzx ecx, al
push ecx
mov edx, eax
shr edx, 8
movzx ecx, dl
push ecx
mov edx, eax
shr edx, 0x10
movzx ecx, dl
push ecx
shr eax, 0x18
push eax
lea edx, [ebp - 0x28]
push 0x4136c0
push edx
call fcn.00404655
lea eax, [ebp - 0x28]
push eax
push 0x10
push 0x4174f0
call fcn.0040470b
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov word [ebp - 0xa], ax
mov eax, dword [ebp - 0x7d0]
mov word [ebp - 0x28], cx
movzx edx, al
add esp, 0x24
push edx
mov ecx, eax
shr ecx, 8
movzx edx, cl
mov ecx, eax
push edx
shr ecx, 0x10
movzx edx, cl
push edx
shr eax, 0x18
push eax
lea eax, [ebp - 0x28]
push 0x4136c0
push eax
call fcn.00404655
lea ecx, [ebp - 0x28]
push ecx
push 0x10
push 0x417570
call fcn.0040470b
add esp, 0x24
lea edx, [ebp - 0x7a2]
push edx
push 0x10
push 0x417618
call fcn.0040470b
add esp, 0xc
lea eax, [ebp - 0x782]
push eax
push 0x10
push 0x4175f8
call fcn.0040470b
mov ecx, dword [ebp - 0x8c8]
mov dword [0x4175f4], ecx
mov esi, 1
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00404687
mov esp, ebp
pop ebp
ret