Function at 0x41e674
Capabilities:
Accept command line arguments
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x59c
mov eax, dword [0x448020]
xor eax, esp
mov dword [esp + 0x598], eax
push ebx
push esi
push edi
call fcn.004165f3
mov ecx, 0x449980
call fcn.00411a88
lea ecx, [esp + 0x10]
call fcn.0041d16c
lea ecx, [esp + 0xd8]
call fcn.004021e6
lea ecx, [esp + 0xf0]
call fcn.004021e6
lea ecx, [esp + 0x108]
call fcn.004021e6
lea ecx, [esp + 0x120]
call fcn.004021e6
push 0x400
xor ebx, ebx
lea eax, [esp + 0x13c]
push ebx
push eax
call fcn.00424480
add esp, 0xc
lea eax, [esp + 0xd8]
mov ecx, 0x449a10
push eax
call fcn.0041ea06
lea ecx, [esp + 0xd8]
call fcn.0041e651
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x41e814
push esi
lea ecx, [esp + 0x34]
call fcn.00401d16
lea ecx, [esp + 0x30]
call fcn.0041ead5
lea ecx, [esp + 0x30]
call fcn.00401e5c
cmp byte [0x4499bd], bl
je 0x41e7f8
push str.winrarsfxmappingfile.tmp
push ebx
mov esi, 0xf001f
push esi
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov edi, eax
test edi, edi
je 0x41e7ef
push 9
push ebx
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ebx, eax
test ebx, ebx
je 0x41e7ed
lea ecx, [ebx + 1]
call fcn.00408641
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
lea eax, [esi + 9]
xor ebx, ebx
push eax
push ebx
push ebx
push 0xf001f
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0x41e7ef
lea edx, [esi + 9]
mov ecx, 0x449a10
push edx
call fcn.0041e5e6
mov ecx, 0x449a10
mov byte [esi], 1
call fcn.0041ea58
push 1
push ebx
mov ebx, 0x449a70
mov edx, 0x400
mov ecx, ebx
call fcn.00414d61
push ebx
mov ecx, 0x4499f0
call fcn.00414c9a
mov edx, 0x400
mov ecx, ebx
call fcn.00414c17
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor ebx, ebx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41e814
push esi
lea ecx, [esp + 0x34]
call fcn.00401d16
lea ecx, [esp + 0x30]
call fcn.0041ea58
lea ecx, [esp + 0x30]
call fcn.00401e5c
lea ecx, [esp + 0x30]
call fcn.004119a6
mov esi, 0x449e70
push eax
mov ecx, esi
call fcn.00403060
lea ecx, [esp + 0x30]
call fcn.00401e5c
mov ecx, esi
call fcn.0040126f
push eax
push str.sfxname
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
movzx eax, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push eax
push str._4d__02d__02d__02d__02d__02d__03d
lea eax, [esp + 0x558]
push 0x32
push eax
call fcn.0040f858
add esp, 0x28
lea eax, [esp + 0x538]
push eax
push str.sfxstime
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
push 0x64
push esi
mov dword [0x4497d4], esi
mov dword [0x4497d0], esi
call dword [sym.imp.USER32.dll_LoadIconW]
push ecx
mov dword [0x449e8c], eax
call fcn.004128c9
lea ecx, [esp + 0x90]
call fcn.0041b83a
lea ecx, [esp + 0x48]
call fcn.0041b83a
push ebx
push 0x41ec70
push ebx
lea eax, [esp + 0x9c]
mov dword [0x4497e0], eax
lea eax, [esp + 0x54]
push str.STARTDLG
push esi
mov dword [0x4497e4], eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea ecx, [esp + 0x48]
mov dword [0x4497e4], ebx
mov dword [0x4497e0], ebx
call fcn.0041b89a
lea ecx, [esp + 0x90]
call fcn.0041b89a
mov eax, dword [0x449ec8]
test eax, eax
je 0x41e93c
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x449998], 0
je 0x41e94a
call fcn.0042107a
mov ecx, 0x449a00
call fcn.00414bf4
push dword [0x449e8c]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x449ea8]
test eax, eax
je 0x41e970
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.0040deed
test eax, eax
jne 0x41e990
cmp byte [0x4497f1], al
je 0x41e990
push 0xff
mov ecx, 0x449850
call fcn.0040a0ce
mov ecx, dword [0x449ecc]
mov byte [0x4497f1], 1
test ecx, ecx
je 0x41e9b2
call fcn.00421016
push dword [0x449ecc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0040deed
cmp byte [0x449972], 0
mov esi, eax
je 0x41e9e4
cmp byte [0x449973], 0
mov eax, dword [0x448bf4]
je 0x41e9de
mov esi, dword [0x449eac]
test eax, eax
jle 0x41e9e4
add esi, eax
jmp 0x41e9e4
test eax, eax
jns 0x41e9e4
sub esi, eax
lea ecx, [esp + 0x10]
call fcn.0041d1cb
mov ecx, dword [esp + 0x5a4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00422815
mov esp, ebp
pop ebp
ret 0x10