Function at 0x4ce740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x556c59
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x5c403c]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov edi, edx
mov eax, dword [edi + 0x2c]
mov ebx, eax
and ebx, 0xf00
mov esi, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], ebx
test al, 4
jne 0x4ce833
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4ce7e9
test ebx, ebx
jne 0x4ce7ed
push 1
call dword [sym.imp.USER32.dll_LockSetForegroundWindow]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call sub.mfc90u.dll_CWnd::FromHandle
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x144]
push 0x3fd
call eax
push 2
call dword [sym.imp.USER32.dll_LockSetForegroundWindow]
jmp 0x4ce802
test ebx, ebx
je 0x4ce802
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4cf3d4
mov eax, dword [esi + 4]
push edi
push eax
call fcn.00456ae0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4cf3d4
test ebx, ebx
jne 0x4cf3d4
mov ecx, dword [esi + 4]
push 4
jmp 0x4cf3cf
mov ebx, dword [0x5c7008]
lea edx, [esp + 0x3c]
push edx
push 0
push str.IF_CH_Behavior
call fcn.00514350
mov ebx, dword [0x5c7008]
lea eax, [esp + 0x48]
push eax
push 0
push str.IF_CH_BringToFront
call fcn.00514350
mov ebx, dword [0x5c7008]
lea ecx, [esp + 0x18]
push ecx
push 0
push str.IF_CH_TurnOnMonitor
call fcn.00514350
mov eax, dword [0x5c7044]
test eax, eax
je 0x4ce920
cmp dword [esp + 0x18], 0
je 0x4ce920
cmp dword [0x5c4080], 0
jne 0x4ce920
cmp dword [esp + 0x28], 0
jne 0x4ce920
mov edx, dword [eax + 0x20]
push 0xffffffffffffffff
push 0xf170
push 0x112
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, dword [sym.imp.USER32.dll_SystemParametersInfoW]
push 0
lea eax, [esp + 0x18]
push eax
push 0
push 0x10
mov dword [esp + 0x24], 0
call ebx
test eax, eax
je 0x4ce8f0
push 2
push 0
push 0
push 0x11
call ebx
mov ecx, dword [esp + 0x14]
push 2
push 0
push ecx
push 0x11
call ebx
push 0
lea edx, [esp + 0x18]
push edx
push 0
push 0x54
mov dword [esp + 0x24], 0
call ebx
test eax, eax
je 0x4ce920
push 2
push 0
push 0
push 0x56
call ebx
mov eax, dword [esp + 0x14]
push 2
push 0
push eax
push 0x56
call ebx
test dword [edi + 0x2c], 0x4000
je 0x4ce931
mov dword [esp + 0x3c], 0
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x20]
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
push edx
call ebx
test eax, eax
jne 0x4ce9f2
cmp dword [esp + 0x28], eax
jne 0x4ce9fd
cmp dword [esp + 0x3c], eax
jne 0x4ce95f
push 1
call fcn.004ce510
mov ebx, dword [0x5c7008]
lea edx, [esp + 0x18]
push edx
push 0
push str.IF_TN_ShowMessage
call fcn.00514350
mov ebx, dword [0x5c7008]
lea eax, [esp + 0x24]
push eax
push 1
push str.IF_TN_ShowMessageAlways
call fcn.00514350
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 8]
xor ebx, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], ebx
cmp eax, ebx
je 0x4cea18
push ebx
lea edx, [edi + 4]
push edx
mov ebx, eax
call fcn.004535d0
mov ebx, eax
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x4cea18
call fcn.00450830
test eax, eax
je 0x4cea18
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
cmp eax, dword [ebx + 0x20]
sete cl
mov dword [esp + 0x14], ecx
jmp 0x4cea92
cmp dword [esp + 0x28], 0
je 0x4ce95f
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
push ecx
call ebx
test eax, eax
jne 0x4ce95f
mov eax, 1
jmp 0x4cf3d6
mov eax, dword [esi + 8]
test eax, eax
je 0x4cea92
mov edx, dword [eax + 0x20]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4cea92
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov esi, dword [esi + 8]
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
cmp eax, dword [esi + 0x20]
mov edi, esi
sete cl
mov dword [esp + 0x14], ecx
call fcn.00404720
cmp eax, 0xffffffff
jle 0x4cea8a
mov edx, dword [esp + 0x30]
mov edi, dword [edx + 8]
push eax
call fcn.004047f0
test eax, eax
je 0x4cea8a
mov ecx, dword [esp + 0x1c]
add ecx, 4
push ecx
push eax
call fcn.0044a570
test eax, eax
je 0x4cea8a
mov dword [esp + 0x20], 1
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4ceaa0
cmp dword [esp + 0x44], eax
jne 0x4ceab3
cmp dword [esp + 0x14], 0
je 0x4ceabb
cmp eax, 2
jne 0x4ceab3
cmp dword [esp + 0x20], 0
je 0x4ceabb
mov dword [esp + 0x40], 0
cmp dword [esp + 0x28], 0
jne 0x4cee47
cmp dword [esp + 0x40], 0
je 0x4cee47
test dword [edi + 0x2c], 0x5000
jne 0x4cee47
push str.Image_Chat
lea ecx, [esp + 0x54]
call dword [0x55a504]
mov dword [esp + 0xa8], 0
lea edx, [esp + 0x50]
push edx
call fcn.004b9ae0
mov dword [esp + 0x24], eax
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x50]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x14]
call dword [0x55a6c4]
mov dword [esp + 0xa8], 1
lea ecx, [esp + 0x20]
call dword [0x55a6c4]
mov byte [esp + 0xa8], 2
lea ecx, [esp + 0x10]
call dword [0x55a6c4]
mov byte [esp + 0xa8], 3
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
lea eax, [esp + 0x2c]
push str._s__d__s
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov eax, dword [0x5c7044]
add esp, 0x14
add eax, 0x810
lea ecx, [esp + 0x20]
call fcn.00414e50
mov esi, eax
test esi, esi
je 0x4cee06
mov ebx, dword [0x5c7008]
lea ecx, [esp + 0x14]
push ecx
push str._name_____id__
push str.IF_TN_PresenceFormat
call fcn.00513fa0
mov eax, dword [esi + 0xa0]
push eax
push str._name_
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov eax, dword [esi + 0x74]
push eax
push str._id_
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov eax, dword [esi + 0x78]
push eax
push str._net_
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
mov edx, dword [edi + 0x28]
push edx
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
test byte [edi + 0x2c], 0x40
je 0x4cec4a
push str.wtwOther
lea ecx, [esp + 0x30]
call dword [0x55a504]
mov byte [esp + 0xa8], 4
push str._Picture_message_
push 0x3f4
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x5c6f7c]
call fcn.00504820
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
mov bl, 3
mov byte [esp + 0xa8], bl
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
jmp 0x4cec4c
mov bl, 3
mov eax, dword [edi + 0x2c]
test al, al
jns 0x4ced18
test al, 0x40
jne 0x4ced18
push 0x55ae9c
push 0x55dfbc
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push 0x55ae9c
push 0x55dfc4
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push str._r_n_p
push 0x586898
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
push str._r_n_br
push 0x5868ac
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Replace]
lea ecx, [esp + 0x34]
push ecx
lea edi, [esp + 0x14]
call fcn.0051dc30
add esp, 4
mov byte [esp + 0xa8], 5
push eax
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0xa8], bl
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edx, edi
push edx
lea eax, [esp + 0x38]
push eax
call sub.libUtils.module_lutXMLRestorW
add esp, 8
mov byte [esp + 0xa8], 6
push eax
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0xa8], bl
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edi, dword [esp + 0x1c]
mov ebx, dword [0x5c7008]
lea ecx, [esp + 0x40]
push ecx
push 0xa0
push str.IF_TN_MessageCharLimit
call fcn.00514350
mov edx, dword [esp + 0x10]
mov ecx, dword [edx - 0xc]
mov eax, dword [esp + 0x40]
cmp ecx, eax
jle 0x4ceda9
push eax
push 0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid_1]
mov bl, 7
mov byte [esp + 0xa8], bl
push eax
lea ecx, [esp + 0x38]
push ecx
mov edi, 0x56d63c
call fcn.0040f2b0
add esp, 8
mov byte [esp + 0xa8], 8
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0xa8], bl
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0xa8], 3
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edi, dword [esp + 0x1c]
mov edx, dword [esi + 0x7c]
mov ebx, dword [0x5c6f50]
push edx
lea eax, [esi + 0x78]
push eax
call fcn.004e8350
mov ebx, eax
push 0
test ebx, ebx
je 0x4cede2
call dword [sym.imp.MSVCR90.dll__time64]
add esp, 4
sub eax, dword [ebx + 0x30]
sbb edx, dword [ebx + 0x34]
mov dword [esp + 0x38], edx
js 0x4cee06
jg 0x4cede0
cmp eax, 0x14
jbe 0x4cee06
push 0
mov edx, dword [esp + 0x28]
push 0
push esi
push 0x4cc430
push 2
push 1
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x30]
push ecx
push edx
xor eax, eax
xor ebx, ebx
call fcn.004d76a0
mov byte [esp + 0xa8], 2
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0xa8], 1
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x3c], 0
je 0x4cf2d1
cmp dword [esp + 0x44], 0
jne 0x4cf2d1
cmp dword [esi + 0x48], 0
jne 0x4cf2d1
cmp dword [esp + 0x28], 0
jne 0x4cf35a
lea eax, [esi + 0x70]
push eax
mov eax, edi
call fcn.004f3790
lea ecx, [esp + 0x10]
call dword [0x55a6c4]
mov dword [esp + 0xa8], 9
lea ecx, [esp + 0x1c]
call dword [0x55a6c4]
mov byte [esp + 0xa8], 0xa
test dword [edi + 0x2c], 0x1000
jne 0x4ceeb0
inc dword [esi + 0x24]
mov ecx, dword [edi + 0x10]
push ecx
lea ecx, [esp + 0x28]
call dword [0x55a504]
mov byte [esp + 0xa8], 0xb
mov edx, dword [edi + 0xc]
push edx
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov byte [esp + 0xa8], 0xc
mov eax, dword [0x5c7044]
add eax, 0x810
lea ecx, [esp + 0x24]
lea edx, [esp + 0x18]
call fcn.00414f10
mov ebx, eax
mov byte [esp + 0xa8], 0xb
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
test ebx, ebx
je 0x4cef73
mov eax, dword [ebx + 0xa0]
add ebx, 0xa0
cmp dword [eax - 0xc], 0
mov dword [esp + 0x34], ebx
jle 0x4cef73
mov ecx, dword [edi + 0xc]
push ecx
lea ecx, [esp + 0x30]
call dword [0x55a504]
mov byte [esp + 0xa8], 0xd
mov edx, dword [esp + 0x34]
push edx
lea eax, [esp + 0x30]
lea ebx, [esi + 0x28]
push eax
mov edi, ebx
call fcn.0042ce60
mov ecx, eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x2c]
jmp 0x4cefb0
mov ecx, dword [edi + 0xc]
push ecx
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov byte [esp + 0xa8], 0xe
mov edx, dword [edi + 0xc]
push edx
lea eax, [esp + 0x1c]
lea ebx, [esi + 0x28]
push eax
mov edi, ebx
call fcn.0042ce60
mov ecx, eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.Od:
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_3]
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
mov eax, dword [ebx]
mov edi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
lea ebx, [ebx]
mov esi, dword [ebx + 0x18]
mov ecx, dword [ebx]
test eax, eax
je 0x4cefed
cmp eax, ecx
je 0x4cefef
call edi
cmp dword [esp + 0x4c], esi
je 0x4cf053
lea ecx, [esp + 0x20]
call dword [0x55a6c4]
mov byte [esp + 0xa8], 0xf
lea esi, [esp + 0x48]
call fcn.0042cfc0
mov edx, dword [eax + 4]
push edx
lea eax, [esp + 0x24]
push str._s_
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call dword [0x55a4e8]
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
call fcn.0042d820
mov eax, dword [esp + 0x48]
jmp 0x4cefe0
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
add eax, 0xfffffffe
push eax
push 0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid_1]
mov byte [esp + 0xa8], 0x10
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push str.wtwOther
lea ecx, [esp + 0x1c]
call dword [0x55a504]
mov byte [esp + 0xa8], 0x11
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x24]
mov eax, dword [0x5c6f7c]
push ecx
push str.New_messages:__d
push 0x3f5
lea edx, [esp + 0x24]
push edx
call fcn.00504820
push eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0xc
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp dword [esp + 0x3c], 1
jne 0x4cf17e
push 0x30
lea ecx, [esp + 0x58]
push 0
push ecx
call sub.MSVCR90.dll_memset
mov edx, dword [esp + 0x28]
mov ecx, dword [0x5c6f3c]
mov eax, dword [esp + 0x1c]
add esp, 0xc
push ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], eax
mov eax, 3
lea edx, [esp + 0x58]
push 0
push edx
mov dword [esp + 0x60], 0x30
mov dword [esp + 0x84], 0xa
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], 0x4ce330
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], str.Image_Chat
mov dword [esp + 0x6c], str.WTW_NewEvents
mov dword [esp + 0x7c], eax
call fcn.004d6dc0
add esp, 0xc
jmp 0x4cf2a5
mov ebx, dword [0x5c7008]
lea eax, [esp + 0x24]
push eax
push 0
push str.IF_CH_NoBaloon
call fcn.00514350
push 0x40
lea ecx, [esp + 0x58]
push 0
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
cmp dword [esi + 0x24], 1
mov dword [esp + 0x54], 0x40
jne 0x4cf25c
cmp dword [esp + 0x24], 0
mov dword [esp + 0x58], 0x59000000
jne 0x4cf1cf
mov dword [esp + 0x58], 0xd9000000
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x5c7000]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x34]
add ecx, 0x34
push eax
mov ebx, str.MessageIcon
mov dword [esp + 0x74], str.Image_Chat
mov dword [esp + 0x60], str.WTW_NewEvents
mov dword [esp + 0x84], esi
mov dword [esp + 0x78], 0x4ce1a0
mov dword [esp + 0x68], edx
call fcn.004393e0
add esp, 4
mov byte [esp + 0xa8], 0x12
mov ebx, eax
lea edi, [esp + 0x84]
call fcn.0051cae0
mov byte [esp + 0xa8], 0xa
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov ecx, dword [0x5c7044]
add ecx, 0x1f8
lea edx, [esp + 0x54]
call fcn.00506cc0
jmp 0x4cf2a5
cmp dword [esp + 0x24], 0
mov dword [esp + 0x58], 0x10000000
jne 0x4cf273
mov dword [esp + 0x58], 0x90000000
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x5c7044]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x54]
push eax
add ecx, 0x1f8
mov dword [esp + 0x60], str.WTW_NewEvents
mov dword [esp + 0x68], edx
call fcn.00507090
mov byte [esp + 0xa8], 9
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov dword [esp + 0xa8], 0xffffffff
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
jmp 0x4cf3d4
push 1
call dword [sym.imp.USER32.dll_LockSetForegroundWindow]
mov ecx, dword [esi + 8]
push ecx
mov ecx, edi
call fcn.00454270
push 2
mov ebx, eax
call dword [sym.imp.USER32.dll_LockSetForegroundWindow]
cmp dword [esp + 0x48], 0
je 0x4cf35a
cmp dword [esp + 0x28], 0
jne 0x4cf35a
mov eax, ebx
call fcn.00450830
test eax, eax
jne 0x4cf339
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x20]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4cf322
mov ecx, dword [esi + 8]
push 9
call sub.mfc90u.dll_CWnd::ShowWindow
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [esi + 8]
call fcn.00454640
jmp 0x4cf35a
mov edx, dword [ebx + 0x20]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4cf350
push 9
mov ecx, ebx
call sub.mfc90u.dll_CWnd::ShowWindow
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test ebx, ebx
je 0x4cf369
mov eax, ebx
call fcn.00450830
test eax, eax
jne 0x4cf3a0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4cf3d4
cmp dword [esp + 0x28], eax
jne 0x4cf3d4
mov ecx, dword [esi + 8]
push 4
call sub.mfc90u.dll_CWnd::ShowWindow
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x20]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4cf3d4
mov ecx, dword [esi + 8]
jmp 0x4cf3cd
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4cf3d4
cmp dword [esp + 0x28], eax
jne 0x4cf3d4
push 4
mov ecx, ebx
call sub.mfc90u.dll_CWnd::ShowWindow
mov ecx, dword [ebx + 0x20]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4cf3d4
mov ecx, ebx
push 9
call sub.mfc90u.dll_CWnd::ShowWindow
xor eax, eax
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00532776
mov esp, ebp
pop ebp
ret