Function at 0x46b290
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f6cf9
mov eax, dword fs:[0]
push eax
sub esp, 0x440
mov eax, dword [0x564610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x523240
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
push 4
lea eax, [ebp - 0x220]
push eax
xor ebx, ebx
push ebx
mov dword [ebp - 0x220], 2
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push eax
call esi
push 4
lea ecx, [ebp - 0x220]
push ecx
push ebx
call dword [sym.imp.MSVCR80.dll__get_heap_handle]
push eax
call esi
push 3
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
call fcn.0046a3e0
mov ecx, eax
call fcn.00479510
push ebx
push 0x478cb0
call fcn.0046a3e0
mov ecx, eax
call fcn.004793d0
mov edx, dword [sym.imp.MSVCR80.dll___wargv]
mov eax, dword [edx]
mov ecx, dword [sym.imp.MSVCR80.dll___argc]
mov edx, dword [ecx]
push eax
lea esi, [edi + 0x104]
push edx
mov ecx, esi
call fcn.004c9710
mov ecx, esi
call fcn.004c94e0
mov ecx, edi
call fcn.0045c880
test eax, eax
jne 0x46b369
push 0xffffffffffffffff
call dword [sym.imp.MSVCR80.dll_exit]
push 0x208
lea eax, [ebp - 0x21a]
push ebx
push eax
mov word [ebp - 0x21c], bx
call sub.MSVCR80.dll_memset
add esp, 0xc
call sub.MFC80U.DLL_Ordinal_1079
mov eax, dword [eax + 0xc]
push 0x104
lea ecx, [ebp - 0x21c]
push ecx
push 0x64
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0xc
call sub.MFC80U.DLL_Ordinal_762
add esp, 4
mov dword [ebp - 0x228], eax
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x46b3c8
mov ecx, eax
call fcn.0045bb40
mov dword [ebp - 0x220], eax
jmp 0x46b3ce
mov dword [ebp - 0x220], ebx
mov ecx, dword [ebp - 0x220]
cmp ecx, ebx
mov dword [ebp - 4], 0xffffffff
je 0x46b88b
push 1
push 3
push str.QQPCMgrGFQQPCMgr.tpc
call fcn.0045c000
test eax, eax
je 0x46b862
cmp edi, ebx
je 0x46b405
lea eax, [edi + 0xa4]
jmp 0x46b407
xor eax, eax
push eax
call dword [sym.imp.Common.dll_long_int___cdecl_Util::Window::AddIdleCallback_class_VTXMsgLoopIdleCallback__]
add esp, 4
test eax, eax
je 0x46b42f
push 0x10
lea edx, [ebp - 0x21c]
push edx
push str.Initialization_failure:_0x00000011
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x46b862
call fcn.00436940
call fcn.004675b0
test eax, eax
jl 0x46b862
call fcn.004676a0
cmp eax, ebx
jl 0x46b862
call fcn.004f5a90
cmp eax, ebx
mov dword [0x56ebd8], eax
je 0x46b4e1
push 4
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x228], ebx
mov edx, dword [eax]
mov edx, dword [edx]
push ecx
push str.StartupOptimiseShow
mov ecx, eax
call edx
mov ecx, dword [0x56ebd8]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push ebx
push 8
lea edx, [edi + 0x998]
push edx
push str.QMLastStartTime
call eax
push 8
lea ecx, [edi + 0x990]
push ecx
push str.QMLastStartTime
call fcn.00479490
mov ecx, dword [0x56ebd8]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
add esp, 0xc
push ebx
push 4
lea esi, [edi + 0x9ac]
push esi
push str.QMStartTimes
call eax
add dword [esi], 1
mov ecx, dword [0x56ebd8]
mov edx, dword [ecx]
mov eax, dword [edx]
push 4
push esi
push str.QMStartTimes
call eax
mov ecx, edi
call fcn.0046aa60
mov ecx, edi
call fcn.0046ab70
mov ecx, edi
call fcn.00468a50
lea esi, [edi + 0x97c]
push esi
call fcn.00401400
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
add esp, 4
push ebx
push 1
push str.19A85DED_0447_45af_AD64_1484AC003CB3
push 1
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Main_Window
push ebx
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.SoftMgrMain_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.FixedSize_Normal_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Normal_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Close_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.About_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push 0x50b190
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Min_Close_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.New_Close_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.gfsysmessagebox
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
push str.sysmessagebox
mov eax, dword [edx + 0x14]
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.Main_Tabbutton
push 1
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.softmgr_tabbutton_main
push 6
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.OnlineSkin_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.SoftMgrButton
push 2
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
push str.FTSys_WebPage_Window
push 5
call eax
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push ebx
push ebx
push 8
call eax
lea ecx, [ebp - 0x44c]
call fcn.00473290
cmp dword [edi + 0xbc], ebx
mov esi, 1
lea ecx, [ebp - 0x44c]
mov dword [ebp - 4], esi
mov dword [edi + 0x964], ecx
jne 0x46b73d
cmp dword [edi + 0xc0], ebx
jne 0x46b73d
cmp dword [edi + 0xc4], ebx
jne 0x46b73d
cmp dword [edi + 0xc8], ebx
jne 0x46b73d
cmp dword [edi + 0x110], ebx
je 0x46b6a8
xor eax, eax
cmp dword [edi + 0xf0], ebx
push ebx
sete al
mov dword [edi + 0xac], esi
push eax
push str.platformxtml:QQMaster.xmlQQMasterMainUI
call fcn.0045d0a0
lea ecx, [edi + 0x104]
call fcn.004c9370
jmp 0x46b7ab
mov ecx, edi
call fcn.00467860
test eax, eax
push ebx
lea ecx, [ebp - 0x44c]
je 0x46b6ca
push ebx
push str.platformxtml:QQMaster.xmlQQMasterMainUI
call fcn.0045d0a0
jmp 0x46b850
xor eax, eax
cmp dword [edi + 0xf0], ebx
sete al
push eax
push str.platformxtml:QQMaster.xmlQQMasterMainUI
call fcn.0045d0a0
test eax, eax
je 0x46b850
cmp dword [0x572b28], 0x6a
jne 0x46b7ab
mov eax, dword [ebp - 0x440]
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x224], ebx
mov edx, dword [eax]
mov edx, dword [edx + 0x1ec]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x224]
mov esi, dword [sym.imp.USER32.dll_SetWindowPos]
push 3
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push eax
call esi
mov ecx, dword [ebp - 0x224]
push 3
push ebx
push ebx
push ebx
push ebx
push 0xfffffffffffffffe
push ecx
call esi
jmp 0x46b7ab
cmp dword [edi + 0xc0], ebx
mov eax, 0x50b024
mov dword [ebp - 0x228], ebx
mov dword [edi + 0xac], esi
mov dword [edi + 0x110], eax
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], eax
jne 0x46b77c
cmp dword [edi + 0xc4], ebx
jne 0x46b77c
cmp dword [edi + 0xc8], ebx
jne 0x46b77c
push ebx
push ebx
jmp 0x46b789
xor eax, eax
cmp dword [edi + 0xf0], ebx
push ebx
sete al
push eax
push str.platformxtml:QQMaster.xmlQQMasterMainUI
lea ecx, [ebp - 0x44c]
call fcn.0045d0a0
push esi
lea edx, [ebp - 0x22c]
push edx
push 0x6a
call fcn.0040d080
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x9a4], eax
mov eax, dword [edi + 0xf8]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46b7dc
mov ecx, dword [edi + 0xf8]
push ebx
push ebx
push 0x464
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, edi
call fcn.00468a00
mov edx, dword [edi]
mov eax, dword [edx + 0xc0]
mov ecx, edi
call eax
cmp dword [edi + 0x970], ebx
je 0x46b840
mov esi, dword [sym.imp.USER32.dll_PostThreadMessageW]
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [edi + 0x974]
push 0
push 0
push 0x12
push ecx
call esi
mov edx, dword [edi + 0x970]
push 0x7d0
push edx
call ebx
cmp eax, 0x102
je 0x46b803
mov eax, dword [edi + 0x970]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x970], 0
xor ebx, ebx
lea ecx, [edi + 0xa4]
push ecx
call dword [sym.imp.Common.dll_long_int___cdecl_Util::Window::DelIdleCallback_class_VTXMsgLoopIdleCallback__]
add esp, 4
lea ecx, [ebp - 0x44c]
mov dword [ebp - 4], 0xffffffff
call fcn.00475b20
mov edi, dword [edi + 0x97c]
cmp edi, ebx
je 0x46b875
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, edi
call eax
mov esi, dword [ebp - 0x220]
mov ecx, esi
call fcn.0045bc00
push esi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f019a
mov esp, ebp
pop ebp
ret