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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x59c
mov eax, dword [0x449020]
xor eax, esp
mov dword [esp + 0x598], eax
push ebx
push esi
push edi
call fcn.00416738
mov ecx, 0x44a980
call fcn.00411b49
lea ecx, [esp + 0x10]
call fcn.0041d7fc
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.00424b20
add esp, 0xc
lea eax, [esp + 0xd8]
mov ecx, 0x44aa10
push eax
call fcn.0041f096
lea ecx, [esp + 0xd8]
call fcn.0041ece1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x41eea4
push esi
lea ecx, [esp + 0x34]
call fcn.00401d16
lea ecx, [esp + 0x30]
call fcn.0041f165
lea ecx, [esp + 0x30]
call fcn.00401e5c
cmp byte [0x44a9bd], bl
je 0x41ee88
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 0x41ee7f
push 9
push ebx
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ebx, eax
test ebx, ebx
je 0x41ee7d
lea ecx, [ebx + 1]
call fcn.004086a1
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 0x41ee7f
lea edx, [esi + 9]
mov ecx, 0x44aa10
push edx
call fcn.0041ec76
mov ecx, 0x44aa10
mov byte [esi], 1
call fcn.0041f0e8
push 1
push ebx
mov ebx, 0x44aa70
mov edx, 0x400
mov ecx, ebx
call fcn.00414e21
push ebx
mov ecx, 0x44a9f0
call fcn.00414d5a
mov edx, 0x400
mov ecx, ebx
call fcn.00414cd7
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
xor ebx, ebx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41eea4
push esi
lea ecx, [esp + 0x34]
call fcn.00401d16
lea ecx, [esp + 0x30]
call fcn.0041f0e8
lea ecx, [esp + 0x30]
call fcn.00401e5c
lea ecx, [esp + 0x30]
call fcn.00411a67
mov esi, 0x44ae70
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.0040f8e8
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 [0x44a7d4], esi
mov dword [0x44a7d0], esi
call dword [sym.imp.USER32.dll_LoadIconW]
push ecx
mov dword [0x44ae8c], eax
call fcn.0041298a
lea ecx, [esp + 0x90]
call fcn.0041bcca
lea ecx, [esp + 0x48]
call fcn.0041bcca
push ebx
push 0x41f300
push ebx
lea eax, [esp + 0x9c]
mov dword [0x44a7e4], eax
lea eax, [esp + 0x54]
push str.STARTDLG
push esi
mov dword [0x44a7e0], eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea ecx, [esp + 0x48]
mov dword [0x44a7e0], ebx
mov dword [0x44a7e4], ebx
call fcn.0041bd2a
lea ecx, [esp + 0x90]
call fcn.0041bd2a
mov eax, dword [0x44aec8]
test eax, eax
je 0x41efcc
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x44a998], 0
je 0x41efda
call fcn.00421717
mov ecx, 0x44aa00
call fcn.00414cb4
push dword [0x44ae8c]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x44aea8]
test eax, eax
je 0x41f000
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.0040df7d
test eax, eax
jne 0x41f020
cmp byte [0x44a7f1], al
je 0x41f020
push 0xff
mov ecx, 0x44a850
call fcn.0040a12e
mov ecx, dword [0x44aecc]
mov byte [0x44a7f1], 1
test ecx, ecx
je 0x41f042
call fcn.004216b3
push dword [0x44aecc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0040df7d
cmp byte [0x44a972], 0
mov esi, eax
je 0x41f074
cmp byte [0x44a973], 0
mov eax, dword [0x449bf4]
je 0x41f06e
mov esi, dword [0x44aeac]
test eax, eax
jle 0x41f074
add esi, eax
jmp 0x41f074
test eax, eax
jns 0x41f074
sub esi, eax
lea ecx, [esp + 0x10]
call fcn.0041d85b
mov ecx, dword [esp + 0x5a4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00422eb5
mov esp, ebp
pop ebp
ret 0x10