Function at 0x422fa0
Capabilities:
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x4a5198
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_1]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
xor ebx, ebx
push 0x4ad3b0
mov dword [esp + 0x34], ebx
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.AutoPopChannelList
mov byte [esp + 0x38], 1
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 2
call dword [0x4ab700]
lea eax, [esp + 0x20]
lea edi, [esi + 0xe8]
push eax
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 3
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
mov ebp, dword [sym.imp.MSVCR71.dll_atoi]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xdc], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.MouseMovePopChannelList
mov byte [esp + 0x38], 4
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 5
call dword [0x4ab700]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 6
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xcc], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.MouseLeaveShinkChannelList
mov byte [esp + 0x38], 7
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 8
call dword [0x4ab700]
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 9
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xc8], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.UseMouseLeftMenu
mov byte [esp + 0x38], 0xa
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0xb
call dword [0x4ab700]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0xc
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov dword [esi + 0xd4], eax
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.AutoPlayNext
mov byte [esp + 0x38], 0xd
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0xe
call dword [0x4ab700]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0xf
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xd8], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.AutoDownNext
mov byte [esp + 0x38], 0x10
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x11
call dword [0x4ab700]
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x12
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4add00
mov dword [esi + 0xe0], eax
call dword [0x4ab700]
push ecx
mov byte [esp + 0x34], 0x13
mov ecx, esp
mov dword [esp + 0x24], esp
push str.NeedWriteWndStatus
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x14
call dword [0x4ab700]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x15
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xe4], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.SendToMsn
mov byte [esp + 0x38], 0x16
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x17
call dword [0x4ab700]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x18
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xec], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.AutoUpdateConfig
mov byte [esp + 0x38], 0x19
call dword [0x4ab700]
push ecx
mov byte [esp + 0x38], 0x1a
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
call dword [0x4ab700]
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x1b
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xf0], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.ShowLogoFullScreen
mov byte [esp + 0x38], 0x1c
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x1d
call dword [0x4ab700]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x1e
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xf4], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.OpenBookMarket
mov byte [esp + 0x38], 0x1f
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x20
call dword [0x4ab700]
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x3c], bl
mov ecx, edi
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x21
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0xf8], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.EnablePopInfo
mov byte [esp + 0x38], 0x22
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x23
call dword [0x4ab700]
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x24
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], bl
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ad3b0
mov dword [esi + 0x100], eax
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.AutoDownloadSequence
mov byte [esp + 0x38], 0x25
call dword [0x4ab700]
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x4ac6b4
mov byte [esp + 0x3c], 0x26
call dword [0x4ab700]
lea eax, [esp + 0x20]
push eax
mov ecx, edi
mov byte [esp + 0x3c], bl
call fcn.0042c6b0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 0x27
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_1]
mov byte [esp + 0x2c], bl
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push ebx
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetBuffer_1]
push eax
call ebp
add esp, 4
mov ecx, 0x4cc840
mov dword [esi + 0xfc], eax
call sub.MFC71.DLL_CWinThread::GetMainWnd
mov ecx, dword [eax + 0x524]
mov edx, dword [esi + 0xe0]
push edx
mov dword [esi + 0xd0], ecx
push 0x3f6
mov ecx, esi
call sub.MFC71.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC71.DLL_CWnd::EnableWindow
push ebx
mov ecx, esi
call sub.MFC71.DLL_CWnd::UpdateData
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x20
ret