Function at 0x4054a2
Capabilities:
Delete file
Get common file path
Terminate process

Disassembly:
mov eax, 0x40f928
call fcn.0040966c
sub esp, 0x37c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], esp
push 0x208
push 0x415db4
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
or dword [ebp - 4], 0xffffffff
push 0x10
xor ebx, ebx
push ebx
push 0x415b60
call fcn.00409240
add esp, 0xc
mov dword [0x415b68], esi
mov esi, str.EXEpress_Class
push esi
push ebx
mov edi, 0x412d50
push 0x1f0001
mov dword [0x415b64], edi
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
cmp eax, ebx
mov dword [ebp + 8], eax
je 0x405526
push 0x40
push edi
push 0x412d04
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4055db
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
push 0x7f02
push ebx
mov dword [ebp + 8], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
mov esi, dword [sym.imp.USER32.dll_SetCursor]
push eax
call esi
mov dword [ebp - 0x14], eax
call fcn.0040270b
push dword [ebp - 0x14]
mov dword [0x415b5c], eax
call esi
mov eax, dword [0x415b5c]
cmp eax, ebx
jne 0x4055eb
call fcn.00402b53
mov dword [ebp - 0x14], eax
call fcn.00402b4d
cmp eax, 6
jne 0x405580
mov eax, dword [0x412780]
mov dword [ebp - 0x14], eax
push 0x415db4
mov dword [ebp - 4], 2
call fcn.00408752
pop ecx
push eax
lea eax, [ebp - 0x388]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x412cec
lea eax, [ebp - 0x388]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x4055bc
push 0x10
lea eax, [ebp - 0x388]
push eax
push dword [ebp - 0x14]
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
or ebx, 0xffffffff
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x405a5e
mov esi, 0x415ff0
push esi
push eax
call fcn.004032f6
test byte [0x4193f2], 0x40
pop ecx
pop ecx
je 0x405646
call fcn.00405465
test al, al
je 0x405646
push 0x12040
push edi
push 0x412c9c
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
test byte [0x4193f2], 8
je 0x405693
call fcn.00408494
test eax, eax
jne 0x405693
push 0x12010
push edi
push 0x412c68
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_ExitProcess]
test byte [0x4193f2], 2
je 0x40590b
cmp byte [0x423e20], bl
je 0x40590b
push 0x423e20
push dword [0x415b5c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 4
call fcn.0040312d
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
jmp 0x4056de
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], ebx
jne 0x4056fe
push 0x12010
push esi
push 0x412c1c
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4058f1
cmp byte [0x423f24], bl
je 0x40576d
push ebx
push 0x415a08
mov edi, 0x423f24
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push edi
push dword [0x415b5c]
mov dword [ebp - 4], 6
call fcn.0040312d
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
jmp 0x405744
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], ebx
jne 0x40576d
push 0x12010
push esi
push 0x412bc4
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x4058f1
lea eax, [ebp - 0x220]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x11c]
push eax
push ebx
push 0x412bc0
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x11c]
push eax
push 0x424170
call edi
push dword [ebp - 0x14]
lea eax, [ebp - 0x11c]
push eax
call fcn.004053fb
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x18], ebx
je 0x405810
lea eax, [ebp - 0x11c]
push eax
push ebx
push 0x412bbc
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
lea eax, [ebp - 0x11c]
push eax
push 0x415ca0
call edi
push dword [ebp - 0x18]
lea eax, [ebp - 0x11c]
push eax
call fcn.004053fb
pop ecx
pop ecx
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40581c
push 0x415a08
push 0x415ca0
call edi
mov edi, 0x424170
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x415dac], eax
jne 0x405845
push 0x12010
push esi
push 0x412b68
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x405878
push str.EXEpressCallback
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x42404c], eax
jne 0x405892
push 0x12010
push esi
push 0x412b04
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [0x415dac]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push edi
call esi
cmp byte [0x415ca0], bl
je 0x4058f1
push 0x415ca0
call esi
jmp 0x4058f1
mov al, byte [0x415ca0]
neg al
mov edi, 0x415db4
mov dword [0x415fc4], ebx
mov dword [0x415fe8], 0x402123
mov dword [0x415fcc], edi
mov dword [0x415fc8], esi
mov dword [0x415fe0], ebx
sbb eax, eax
and eax, 0x415ca0
mov dword [0x415fd0], eax
mov dword [0x415fdc], ebx
mov dword [0x415fd8], ebx
mov dword [0x415fd4], ebx
mov dword [0x415fc0], 0x3e8
call fcn.0040217c
test eax, eax
je 0x405910
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or eax, 0xffffffff
jmp 0x405a5e
mov edi, 0x415db4
test byte [0x4193f1], 4
je 0x40592d
push dword [0x42399c]
push 0x4239a0
push esi
call fcn.004015f7
add esp, 0xc
test byte [0x4193f1], 0x40
je 0x405964
push 0x423d18
push dword [0x415b5c]
call fcn.0040312d
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
je 0x405964
push eax
call fcn.00407991
pop ecx
push dword [ebp - 0x14]
mov dword [0x423e1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
push ebx
call fcn.00407180
cmp dword [0x42427c], ebx
pop ecx
pop ecx
je 0x405986
push 0x30
push esi
push 0x412ae4
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4059fd
call fcn.00402b4d
test eax, eax
je 0x4059c4
mov eax, dword [0x415b5c]
add eax, 0x2c
mov byte [0x415db4], bl
cmp byte [eax], bl
je 0x4059b1
push eax
push 0x412ab8
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
call fcn.00402b53
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x10
push esi
push edi
jmp 0x40597d
cmp dword [0x424278], 1
jne 0x4059d9
push dword [0x415b5c]
call fcn.004044fe
pop ecx
mov eax, dword [0x415904]
cmp eax, ebx
je 0x4059ef
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x415904], ebx
push dword [0x424278]
push ebx
call fcn.0040736f
pop ecx
pop ecx
mov eax, dword [0x423e1c]
cmp eax, ebx
je 0x405a0d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.00402117
test eax, eax
je 0x405a3e
push dword [0x415dac]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x424170
call esi
cmp byte [0x415ca0], bl
je 0x405a3e
push 0x415ca0
call esi
push dword [0x415b5c]
call fcn.00402a3c
pop ecx
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10