Function at 0x424fb0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x5294ac]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 0x10]
push edi
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 8
push eax
mov dword [ebp - 0x210], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0x4f4f5c
push 0
call fcn.0049e665
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x4f4f60
call fcn.004285b0
add esp, 8
mov ecx, 0x52c980
push 0
push dword [0x52c95c]
push 0
call fcn.00421dd0
lea ecx, [ebp - 0x218]
call fcn.00409be0
call fcn.00421c60
mov ecx, eax
call fcn.0045d9b0
mov eax, dword [0x52c9fc]
test al, 1
jne 0x425075
or eax, 1
mov ecx, 0x52c9f8
mov dword [0x52c9fc], eax
call fcn.0042e200
push 0x4f0100
call fcn.0046461c
add esp, 4
mov ecx, 0x52c9f8
call fcn.0042e250
push esi
call fcn.00421bd0
mov ecx, eax
call fcn.0041b2d0
push esi
push str.lpstrCmdLine_s
call fcn.004285b0
add esp, 8
call fcn.00421bd0
mov ecx, eax
call fcn.0041bd50
push eax
call fcn.0042db50
mov ecx, 0x52c9bc
call fcn.0040a310
test eax, eax
jne 0x4250da
push str.CheckSingleInstance_failed__exit
call fcn.004285b0
add esp, 4
push 0
push 0x4f4fec
push 0
call fcn.0042db60
jmp 0x425227
call fcn.00421480
test eax, eax
jne 0x4250f4
push eax
push 0x4f5008
push eax
call fcn.0042db60
jmp 0x425227
call fcn.00421bd0
mov ecx, eax
call fcn.0041af20
push eax
call fcn.00417170
mov ecx, eax
call fcn.00412a90
push 0x4f2ff8
call fcn.00417170
mov ecx, eax
call fcn.00412b50
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004711f0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push dword [0x52c95c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x20c]
push eax
call fcn.00417170
mov ecx, eax
call fcn.00412a00
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x52c958]
test ecx, ecx
jne 0x4251c1
push 0x527e2c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x52c958], 0
jne 0x4251b0
push 0x20
call fcn.0042eba0
add esp, 4
test eax, eax
je 0x4251a2
mov ecx, eax
call fcn.00411a40
mov ecx, eax
jmp 0x4251a4
xor ecx, ecx
xchg dword [ebp - 0x210], eax
mov dword [0x52c958], ecx
push 0x527e2c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x52c958]
push 0
push 0
push str.install_1
call fcn.00412640
call fcn.00421ef0
test eax, eax
jne 0x4251ef
mov ecx, 0x52c9bc
call fcn.0040a950
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x425227
call fcn.004225b0
test eax, eax
jne 0x42521b
sub esp, 0x28
mov eax, esp
push 0
push 0
push str.install_file_fail
mov dword [eax + 0x24], 0
call fcn.00417170
mov ecx, eax
call fcn.00412640
jmp 0x425227
push dword [ebp + 0x14]
push esi
call fcn.00423ca0
add esp, 8
mov eax, dword [0x52c9fc]
test al, 1
jne 0x42524f
or eax, 1
mov ecx, 0x52c9f8
mov dword [0x52c9fc], eax
call fcn.0042e200
push 0x4f0100
call fcn.0046461c
add esp, 4
mov ecx, 0x52c9f8
call fcn.0042e640
call fcn.00421c60
mov ecx, eax
call fcn.0045db20
call fcn.00421cf0
mov ecx, eax
call fcn.00426e80
mov ecx, 0x52c9bc
call fcn.0040a950
mov edi, dword [0x52c96c]
add edi, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x52c9b8]
test esi, esi
je 0x4252dd
cmp dword [esi + 4], 0
jle 0x4252ab
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x52c9b8]
test esi, esi
je 0x4252dd
mov eax, dword [esi]
test eax, eax
je 0x4252c4
push eax
call fcn.0048c923
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00464213
add esp, 8
push edi
mov dword [0x52c9b8], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x52c9b4]
test esi, esi
je 0x425336
mov eax, dword [esi]
test eax, eax
je 0x42530d
push eax
call fcn.0048c923
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x425324
push eax
call fcn.0048c923
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.00464213
add esp, 8
mov esi, dword [0x52c9ac]
test esi, esi
je 0x425368
cmp dword [esi], 0
je 0x425368
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x425352
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x425345
mov esi, dword [0x5280a0]
mov ecx, dword [0x5280a4]
cmp esi, ecx
jae 0x425392
mov eax, dword [esi]
test eax, eax
je 0x42538b
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x5280a4]
add esi, 4
cmp esi, ecx
jb 0x425378
mov ecx, 0x52c980
call fcn.00424180
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x218]
call fcn.00409c20
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
xor ecx, ebp
pop esi
call fcn.004641d8
mov esp, ebp
pop ebp
ret 0x10