Function at 0x401a90
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x40310c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
push 0x8001
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [0x403684], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x104
mov esi, 0x403720
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call fcn.004019c6
call fcn.00401927
mov dword [0x403120], eax
mov edi, 0x403460
test eax, eax
jne 0x401b0f
push str._____Cant_find_stub_loader.
push 0x4036a0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
push 8
jmp 0x401c64
add eax, 0x24ab
mov dword [0x403124], eax
call fcn.004016ed
mov ebx, eax
test ebx, ebx
jge 0x401b2c
push ebx
push 1
jmp 0x401c64
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x403128], eax
test eax, eax
jne 0x401b4a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 2
jmp 0x401c64
push str.LSUnpack
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40382c], eax
test eax, eax
jne 0x401b6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 3
jmp 0x401c64
call fcn.0040169c
push 2
lea eax, [ebp - 0x18]
push eax
push dword [0x403124]
mov eax, 0x402401
push eax
push eax
push 0x403580
push esi
call dword [0x40382c]
mov ebx, eax
mov eax, dword [0x403128]
add esp, 0x1c
test eax, eax
je 0x401bad
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [0x403128], 0
test ebx, ebx
je 0x401bb9
push ebx
push 4
jmp 0x401c64
push 0x403580
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x40312c], eax
test eax, eax
jne 0x401bdb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 5
jmp 0x401c64
push str.RunInstaller
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x403824], eax
test eax, eax
jne 0x401bfb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 6
jmp 0x401c64
mov eax, dword [0x403128]
test eax, eax
je 0x401c12
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [0x403128], 0
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x20]
push str.
push 0x403098
push 0x40305c
push 0x403020
push dword [0x403124]
push edi
push 0x403840
push esi
push dword [ebp - 0x24]
call dword [0x403824]
mov ebx, eax
add esp, 0x2c
test ebx, ebx
je 0x401c6e
cmp ebx, 0x63
je 0x401c6e
cmp ebx, 0x7b0
je 0x401c6e
cmp ebx, 0x7b1
je 0x401c6e
push ebx
push 7
call fcn.004014f9
pop ecx
mov dword [ebp - 0x1c], eax
pop ecx
mov eax, dword [0x403128]
test eax, eax
je 0x401c7e
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x40312c]
test eax, eax
je 0x401c8e
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push edi
call esi
push 0x403580
call esi
push dword [0x403684]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
cmp ebx, 0x7b0
jne 0x401cba
push 1
call fcn.00401178
pop ecx
pop edi
pop esi
cmp ebx, 0x7b1
pop ebx
jne 0x401ccd
push 0
call fcn.00401178
pop ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00401d4c
leave
ret 0x10