Function at 0x454b20
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x479502
push eax
mov dword fs:[0], esp
sub esp, 0x110
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jns 0x454b5f
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.0044ed00
push 0x3b0
call fcn.00456695
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x454b96
mov ecx, eax
call fcn.0042e350
jmp 0x454b98
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
mov dword [0x4d3848], eax
push edi
mov edi, dword [ebp + 8]
mov dword [eax + 0x320], edi
mov dword [0x4d3878], edi
test ecx, ecx
je 0x454bc3
push ecx
mov ecx, eax
call fcn.0042e8a0
movzx eax, byte [0x498054]
xor ecx, ecx
sub al, 0x30
mov dword [0x4d3854], 0x140
push ebx
xor ebx, ebx
mov dword [0x4d3858], 0x1e0
cmp al, byte [0x49804c]
movzx eax, byte [0x498055]
sete cl
mov dword [0x4d385c], ebx
sub al, 0x30
mov dword [0x4d3860], ebx
cmp al, byte [0x49804d]
movzx eax, byte [0x498056]
lea edx, [ecx + 1]
mov dword [0x4d3864], 0xffffffff
cmovne edx, ecx
mov dword [0x4d3868], 0xffffffff
sub al, 0x30
mov dword [0x4d386c], ebx
cmp al, byte [0x49804e]
movzx eax, byte [0x498057]
lea ecx, [edx + 1]
cmovne ecx, edx
sub al, 0x30
cmp al, byte [0x49804f]
movzx eax, byte [0x498058]
push esi
lea edx, [ecx + 1]
cmovne edx, ecx
sub al, 0x30
cmp al, byte [0x498050]
movzx eax, byte [0x498059]
lea ecx, [edx + 1]
cmovne ecx, edx
sub al, 0x30
cmp al, byte [0x498051]
movzx eax, byte [0x49805a]
lea edx, [ecx + 1]
cmovne edx, ecx
sub al, 0x30
cmp al, byte [0x498052]
movzx eax, byte [0x49805b]
lea esi, [edx + 1]
cmovne esi, edx
sub al, 0x30
cmp al, byte [0x498053]
lea ecx, [esi + 1]
cmovne ecx, esi
test ecx, ecx
jne 0x454d18
push str.597504
call fcn.0045e5fb
mov ecx, dword [0x4d3860]
add esp, 4
cmp byte [0x498065], 0x73
lea ebx, [eax + 0x10000]
mov eax, 2
push dword [0x498074]
cmove ecx, eax
movsx eax, word [0x49806b]
mov dword [0x4d3858], eax
movsx eax, word [0x49806e]
mov dword [0x4d3860], ecx
movsx ecx, word [0x498068]
mov dword [0x4d385c], eax
movzx eax, word [0x498071]
mov dword [0x4d3854], ecx
mov ecx, dword [0x4d3848]
push eax
call fcn.0042e8c0
test byte [0x4d385c], 2
jne 0x454d53
push 0x104
lea eax, [ebp - 0x11c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x11c]
push 0x20
push eax
push eax
call fcn.0043b170
lea eax, [ebp - 0x11c]
push eax
call fcn.0043b050
add esp, 0x10
mov ecx, dword [0x4d3848]
push ebx
call fcn.0042e4e0
pop esi
pop ebx
test eax, eax
je 0x454d8d
push 0x30
push str.Error
push str.Startup_failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4d3848]
mov dword [0x4d384c], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.0043b500
push eax
mov eax, dword [0x4d384c]
add eax, 0x368
push eax
call fcn.00438a50
push dword [0x4d386c]
mov eax, dword [0x4d384c]
push dword [0x4d3868]
mov dword [0x4d3870], 0
push dword [0x4d3864]
mov dword [eax + 0x354], fcn.004550c0
push dword [0x4d3858]
push dword [0x4d3854]
push dword [0x4d3878]
call fcn.00454ee0
mov eax, dword [0x4d384c]
add esp, 0x24
mov dword [0x49807c], 0xffffffff
mov eax, dword [eax]
test dword [eax + 0x58], 0x2000
jne 0x454e32
push 8
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.WINMM.dll_timeGetDevCaps]
test eax, eax
jne 0x454e32
mov eax, dword [ebp - 0x14]
push eax
mov dword [0x49807c], eax
call dword [sym.imp.WINMM.dll_timeBeginPeriod]
push 0x10
call fcn.004327e0
push eax
call fcn.0043a890
push 0x11
call fcn.004327e0
push eax
call fcn.0043a940
push 9
call fcn.004327e0
push eax
call fcn.00445b50
push 0xa
call fcn.004327e0
push eax
call fcn.00445d00
call fcn.00445af0
push 0
push dword [0x4d3874]
mov dword [0x4d389c], eax
push edi
mov dword [eax], str.win32dev
mov dword [eax + 4], 0x47a34f
mov dword [eax + 8], fcn.00432430
mov dword [eax + 0xc], fcn.00432430
mov dword [eax + 0x14], 0x454850
mov dword [eax + 0x10], 0x4548d0
call fcn.00445b00
push 0x12
call fcn.004327e0
push eax
call fcn.0044e990
mov eax, dword [0x4d384c]
add esp, 0x34
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 0x36c]
mov dword [0x4d3850], eax
xor eax, eax
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret