Function at 0x40cec0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
push edi
call fcn.0040b950
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcA]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0xc04
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov edi, dword [esp + 0x74]
push ebx
push edi
push ebx
mov ecx, 0x445270
mov esi, eax
call fcn.0040d960
push edi
mov ecx, 0x445910
call fcn.00422cc0
push esi
xor ebp, ebp
call fcn.0040d1d0
add esp, 4
test eax, eax
je 0x40d038
push str._start
push esi
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x40cf4d
mov dword [0x4458e4], 1
jmp 0x40cf54
mov ebx, dword [esp + 0x80]
push 0x4452a4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebp, dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push str.WM_ATLGETHOST
call ebp
push str.WM_ATLGETCONTROL
mov dword [0x44525c], eax
call ebp
lea ecx, [esp + 0x40]
mov dword [0x445258], eax
mov eax, dword [0x445274]
push ecx
mov ebp, 0x30
push str.AtlAxWin
push eax
mov dword [esp + 0x4c], ebp
call dword [sym.imp.USER32.dll_GetClassInfoExA]
test eax, eax
jne 0x40cffb
mov edx, dword [0x445274]
mov dword [esp + 0x40], ebp
xor ebp, ebp
push 0x7f00
push ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], 0x40e030
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ebp
call dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [esp + 0x60], 6
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x6c], str.AtlAxWin
mov dword [esp + 0x70], ebp
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0x4452a4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x18]
push ecx
push str.32770
push edi
call dword [sym.imp.USER32.dll_GetClassInfoA]
lea edx, [esp + 0x18]
mov dword [esp + 0x3c], str.360AntiarpClass
push edx
call dword [sym.imp.USER32.dll_RegisterClassA]
push ebx
push esi
call fcn.0040bc60
add esp, 8
mov ebp, eax
xor ebx, ebx
push ebx
push str.Q360SafeMainClass
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x40d05b
push 0x169
push 0x6f
push 0x597
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x445260]
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4452fc]
cmp eax, ebx
je 0x40d088
cmp dword [eax + 4], ebx
jle 0x40d088
mov ecx, dword [eax]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [0x4452fc]
mov esi, eax
cmp esi, ebx
je 0x40d09e
mov ecx, esi
call fcn.0040e000
push esi
call fcn.0043a372
add esp, 4
mov eax, dword [0x445260]
mov dword [0x4452fc], ebx
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x4452f8]
cmp esi, ebx
je 0x40d0ed
mov eax, dword [esi]
mov edi, dword [sym.imp.MSVCRT.dll_free]
cmp eax, ebx
je 0x40d0d1
push eax
call edi
add esp, 4
mov dword [esi], ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40d0e1
push eax
call edi
add esp, 4
mov dword [esi + 4], ebx
push esi
mov dword [esi + 8], ebx
call fcn.0043a372
add esp, 4
mov ecx, 0x445270
test ecx, ecx
je 0x40d1b2
mov esi, dword [0x445280]
cmp esi, ebx
je 0x40d135
cmp dword [esi], ebx
je 0x40d135
mov edi, 0x64
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x40d11a
mov edx, dword [eax]
push eax
call dword [edx + 8]
push ebx
mov dword [esi + 0x10], ebx
call dword [esi + 0x20]
cmp dword [0x445270], edi
jne 0x40d12e
add esi, 0x1c
jmp 0x40d131
add esi, 0x24
cmp dword [esi], ebx
jne 0x40d10d
mov esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0x44528c
call esi
push 0x4452a4
call esi
push 0x4452bc
call esi
mov esi, dword [0x4452f0]
cmp esi, ebx
je 0x40d172
mov eax, dword [esi + 4]
push eax
call dword [esi]
mov edi, dword [esi + 8]
push esi
call fcn.0043a372
add esp, 4
cmp edi, ebx
mov esi, edi
jne 0x40d15a
cmp dword [0x445288], ebx
je 0x40d1b2
mov al, byte [0x4452dc]
test al, al
je 0x40d1b2
mov eax, dword [0x4452e8]
mov edi, dword [sym.imp.KERNEL32.dll_HeapDestroy]
cmp eax, ebx
je 0x40d1aa
xor esi, esi
mov ecx, dword [0x4452e8]
mov edx, dword [ecx + esi*4]
push edx
call edi
mov eax, dword [0x4452e4]
inc esi
cmp esi, eax
jbe 0x40d194
mov eax, dword [0x445288]
push eax
call edi
call dword [sym.imp.ole32.dll_CoUninitialize]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10