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

Disassembly:
sub esp, 0xdc
push ebx
push ebp
push esi
push edi
push 1
call fcn.0041190c
push 0x800
push 0x452820
call fcn.0041affd
lea ecx, [esp + 0x20]
call fcn.0041b6bb
mov ebp, 0x7402
xor ebx, ebx
push ebp
push ebx
push 0x44b408
call fcn.00420a90
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x41ea70
push esi
call fcn.0041d078
cmp byte [0x454829], bl
je 0x41ea6a
push 0x4378b8
push ebx
mov esi, 0xf001f
push esi
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov edi, eax
test edi, edi
je 0x41ea61
push ebp
push ebx
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0x41ea5a
push ebp
push esi
push 0x44b408
call fcn.004226a0
add esp, 0xc
mov byte [esi], 1
push 0x44b40a
call fcn.0041e69e
push 1
push ebx
mov ebp, 0x400
mov ebx, 0x45240a
push ebp
push ebx
call fcn.00410425
push ebx
mov ecx, 0x45682c
call fcn.004104db
push ebp
push ebx
call fcn.00410514
xor ebx, ebx
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41ea70
push esi
call fcn.0041e69e
push 0x800
mov edi, 0x461c50
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push edi
push str.sfxname
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x1e]
push eax
movzx eax, word [esp + 0x20]
push eax
movzx eax, word [esp + 0x22]
push eax
movzx eax, word [esp + 0x24]
push eax
movzx eax, word [esp + 0x26]
push eax
movzx eax, word [esp + 0x26]
push eax
movzx eax, word [esp + 0x28]
push eax
push str._4d__02d__02d__02d__02d__02d__03d
lea eax, [esp + 0xa8]
push 0x32
push eax
call fcn.00404840
add esp, 0x28
lea eax, [esp + 0x88]
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 [0x443ffc], esi
mov dword [0x443ff8], esi
call dword [sym.imp.USER32.dll_LoadIconW]
push edi
mov ecx, 0x444000
mov dword [0x461c4c], eax
call fcn.0040eaf2
lea ecx, [esp + 0x58]
call fcn.00419a74
lea ecx, [esp + 0x28]
call fcn.00419a74
push ebx
push 0x41c220
push ebx
lea eax, [esp + 0x64]
mov dword [0x45280c], eax
lea eax, [esp + 0x34]
push str.STARTDLG
push esi
mov dword [0x452810], eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea ecx, [esp + 0x28]
mov dword [0x452810], ebx
mov dword [0x45280c], ebx
call fcn.00419b38
lea ecx, [esp + 0x58]
call fcn.00419b38
mov eax, dword [0x462c70]
test eax, eax
je 0x41eb80
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x453820], 0
je 0x41eb8e
call fcn.0041b884
mov ecx, 0x461c30
call fcn.00410360
cmp dword [0x462c64], 0
jbe 0x41ebad
push dword [0x462c54]
call fcn.0041fa31
pop ecx
push dword [0x461c4c]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x462c50]
test eax, eax
je 0x41ebc9
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [0x444054], 0
jne 0x41ebea
cmp byte [0x44b407], 0
je 0x41ebea
push 0xff
mov ecx, 0x444054
call fcn.00407649
mov eax, dword [0x462c74]
mov byte [0x44b407], 1
test eax, eax
je 0x41ec0c
push eax
call fcn.0041e6fb
push dword [0x462c74]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x462c68], 0
mov esi, dword [0x444054]
je 0x41ec3d
cmp byte [0x462c69], 0
mov eax, dword [0x441270]
je 0x41ec37
mov esi, dword [0x462c6c]
test eax, eax
jle 0x41ec3d
add esi, eax
jmp 0x41ec3d
test eax, eax
jns 0x41ec3d
sub esi, eax
lea ecx, [esp + 0x20]
call fcn.0041b721
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret 0x10