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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea esi, [ebp - 0x428]
push ebx
sub esp, 0x454
mov dword [esp + 4], esi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetTempPathA]
lea eax, [ebp - 0x11c]
sub esp, 8
mov dword [esp + 8], esi
mov dword [esp + 0xc], str.exe.manifest
mov dword [esp + 4], 0x581385
mov dword [esp], eax
call fcn.00401020
mov ecx, 0xffffffff
mov edx, str._assembly_xmlns_urn:schemas_microsoft_com:asm.v1__manifestVersion_1.0______dependency_______dependentAssembly_________assemblyIdentity___________type_win32____________name_microsoft.vc90.crt____________version_9.0.20718.0____________processorArchitecture_____________publicKeyToken_1fc8b3b9a1e18e3b____________language________________dependentAssembly______dependency___assembly_
mov dword [esp + 4], 0
mov dword [esp], 0
lea eax, [ebp - 0x11c]
call fcn.004025f0
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x438], esi
mov dword [ebp - 0x440], eax
lea eax, [ebp - 0x448]
mov dword [ebp - 0x448], 0x20
mov dword [ebp - 0x444], 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreateActCtxA]
mov esi, eax
sub esp, 4
call fcn.0057d110
lea edi, [esi - 1]
mov dword [eax], 0x58109f
mov dword [eax + 4], 0xee5
mov eax, 1
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
cmp edi, 0xfffffffd
jbe 0x402a67
mov ebx, dword [0x8f0770]
cmp ecx, 0x36b1
sete dl
xor eax, eax
test ebx, ebx
sete al
and eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.CreateActCtxA_failed:__ld_n
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00401dd0
cmp dword [ebx + 0x34], 0x36b1
je 0x402d70
lea eax, [ebp - 0x44c]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_ActivateActCtx]
sub esp, 8
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x58109f
mov dword [eax + 4], 0xef0
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.ActivateActCtx_failed:__ld_n
call fcn.00401dd0
mov dword [esp], str.msvcp90.dll
mov edi, dword [sym.imp.kernel32.dll_LoadLibraryA]
call edi
sub esp, 4
mov esi, eax
call fcn.0057d110
mov dword [eax], 0x58109f
mov dword [eax + 4], 0xef3
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.LoadLibraryA_failed___ld_n
mov dword [esp + 8], eax
test esi, esi
je 0x402ce0
mov dword [esp], 1
call fcn.00401dd0
mov dword [esp], str.msvcr90.dll
call edi
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x58109f
mov dword [eax + 4], 0xef5
mov eax, dword [ebx + 0x34]
test edi, edi
je 0x402d1c
mov dword [esp + 8], eax
lea ebx, [ebp - 0x220]
mov dword [esp + 4], str.LoadLibraryA_failed___ld_n
mov dword [esp], 1
call fcn.00401dd0
mov ecx, dword [sym.imp.kernel32.dll_GetModuleFileNameA]
mov dword [esp], esi
lea edx, [ebp - 0x324]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x104
mov dword [ebp - 0x450], ecx
call ecx
sub esp, 0xc
mov dword [esp + 8], 0x104
mov dword [esp + 4], ebx
mov dword [esp], edi
mov ecx, dword [ebp - 0x450]
call ecx
mov eax, 0xefe
sub esp, 0xc
call fcn.004012e0
mov ecx, dword [sym.imp.msvcrt.dll__strnicmp]
lea edx, [ebp - 0x324]
mov dword [esp + 8], 0x11
mov dword [esp + 4], edx
mov dword [esp], str.C:WindowsWinSxS
mov dword [ebp - 0x450], ecx
call ecx
lea edx, [ebp - 0x324]
mov dword [esp + 8], str.C:WindowsWinSxS
test eax, eax
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.Expected_path_to_start_with__s__got__s_n
movzx eax, al
mov dword [esp], eax
call fcn.00401dd0
mov eax, 0xeff
call fcn.004012e0
mov dword [esp + 8], 0x11
mov dword [esp + 4], ebx
mov dword [esp], str.C:WindowsWinSxS
mov ecx, dword [ebp - 0x450]
call ecx
mov dword [esp + 0xc], ebx
test eax, eax
mov dword [esp + 8], str.C:WindowsWinSxS
sete al
mov dword [esp + 4], str.Expected_path_to_start_with__s__got__s_n
movzx eax, al
mov dword [esp], eax
call fcn.00401dd0
mov eax, dword [ebp - 0x44c]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_DeactivateActCtx]
sub esp, 8
mov dword [esp], esi
mov esi, dword [sym.imp.kernel32.dll_FreeLibrary]
call esi
sub esp, 4
mov dword [esp], edi
call esi
sub esp, 4
cmp byte [ebp - 0x11c], 0
jne 0x402c90
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x11c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov esi, eax
mov eax, 0xf0b
call fcn.004012e0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.DeleteFileA_failed_for__s:__ld_n
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x11c]
mov dword [esp + 8], eax
call fcn.00401dd0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x8f0770]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp], eax
call fcn.00401dd0
mov dword [esp], str.msvcr90.dll
call edi
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x58109f
mov dword [eax + 4], 0xef5
mov eax, dword [ebx + 0x34]
test edi, edi
jne 0x402d90
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], str.LoadLibraryA_failed___ld_n
mov edx, dword [0x8f0770]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00401dd0
mov eax, 0xef8
call fcn.004012e0
mov dword [esp], str.Failed_to_find_msvcp90_or_msvcr90._n
call fcn.00401860
test esi, esi
je 0x402c76
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_FreeLibrary]
sub esp, 4
jmp 0x402c76
mov eax, 0xeea
call fcn.004012e0
mov dword [esp], str.Failed_to_create_activation_context._n
call fcn.00401860
jmp 0x402c76
mov dword [esp + 8], eax
mov dword [esp + 4], str.LoadLibraryA_failed___ld_n
mov dword [esp], 1
call fcn.00401dd0
mov eax, 0xef8
call fcn.004012e0
mov dword [esp], str.Failed_to_find_msvcp90_or_msvcr90._n
call fcn.00401860
mov esi, dword [sym.imp.kernel32.dll_FreeLibrary]
jmp 0x402c6e