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

Disassembly:
sub esp, 0xdc
push ebx
push ebp
push esi
push edi
push 1
call fcn.00406bd4
push 0x800
push 0x456d80
call fcn.0041113d
lea ecx, [esp + 0x20]
call fcn.004117fb
mov ebp, 0x7402
xor ebx, ebx
push ebp
push ebx
push 0x44f968
call fcn.004164a0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x4148c8
push esi
call fcn.00412ef8
cmp byte [0x458d89], bl
je 0x4148c2
push 0x42adac
push ebx
mov esi, 0xf001f
push esi
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov edi, eax
test edi, edi
je 0x4148b9
push ebp
push ebx
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0x4148b2
push ebp
push esi
push 0x44f968
call fcn.00416ad0
add esp, 0xc
mov byte [esi], 1
push 0x44f96a
call fcn.004144f6
push 1
push ebx
mov ebp, 0x400
mov ebx, 0x45696a
push ebp
push ebx
call fcn.0040596f
push ebx
mov ecx, 0x45ad8c
call fcn.00405a25
push ebp
push ebx
call fcn.00405ac3
xor ebx, ebx
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4148c8
push esi
call fcn.004144f6
push 0x800
mov edi, 0x466210
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.00402aa2
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 [0x456d78], esi
mov dword [0x456d74], esi
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [0x467210], eax
call fcn.004120ed
push edi
mov ecx, 0x45adb0
mov dword [0x467214], eax
call fcn.00403fd2
lea ecx, [esp + 0x58]
call fcn.0040fbb3
lea ecx, [esp + 0x28]
call fcn.0040fbb3
push ebx
push 0x4121f0
push ebx
lea eax, [esp + 0x64]
mov dword [0x44f964], eax
lea eax, [esp + 0x34]
push str.STARTDLG
push esi
mov dword [0x456d6c], eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
lea ecx, [esp + 0x28]
mov dword [0x456d6c], ebx
mov dword [0x44f964], ebx
call fcn.0040fc77
lea ecx, [esp + 0x58]
call fcn.0040fc77
mov eax, dword [0x467234]
test eax, eax
je 0x4149e2
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x457d80], 0
je 0x4149f0
call fcn.00411961
mov ecx, 0x4661f8
call fcn.004058aa
cmp dword [0x467228], 0
jbe 0x414a0f
push dword [0x467218]
call fcn.004155c8
pop ecx
push dword [0x467210]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x467214]
test eax, eax
je 0x414a2b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [0x45ad9c], 0
jne 0x414a4c
cmp byte [0x44f954], 0
je 0x414a4c
push 0xff
mov ecx, 0x45ad9c
call fcn.004019a1
mov eax, dword [0x467238]
mov byte [0x44f954], 1
test eax, eax
je 0x414a6e
push eax
call fcn.00414553
push dword [0x467238]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x46722c], 0
mov esi, dword [0x45ad9c]
je 0x414a9f
cmp byte [0x46722d], 0
mov eax, dword [0x434608]
je 0x414a99
mov esi, dword [0x467230]
test eax, eax
jle 0x414a9f
add esi, eax
jmp 0x414a9f
test eax, eax
jns 0x414a9f
sub esi, eax
lea ecx, [esp + 0x20]
call fcn.00411861
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret 0x10