Function at 0x407dc0
Capabilities:
Check if file exists
Check os version
Get number of processors
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x575083
push eax
mov eax, 0x56d4
mov dword fs:[0], esp
call fcn.00573b80
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CString::CString_5
xor ebx, ebx
mov dword [esp + 0x56ec], ebx
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
cmp dword [eax + 0x288], ebx
je 0x407e51
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push 0x5e1514
add eax, 0x28c
push eax
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x56f0], 1
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], bl
call sub.MFC42.DLL_CString::CString
lea esi, [ebp + 0x50]
mov dword [esi], 1
jmp 0x407eaf
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x14]
push ecx
call fcn.00443770
add esp, 8
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x56f0], 2
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], bl
call sub.MFC42.DLL_CString::CString
push str._feiqFeiqCfg.xml
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_CString::operator_1
lea edx, [esp + 0x48]
lea esi, [ebp + 0x50]
push edx
push esi
mov ecx, ebp
call fcn.00411180
mov eax, dword [esp + 0x48]
lea edi, [ebp + 0x54]
push 0x104
push eax
push edi
call fcn.0043bab0
mov ecx, dword [ebp + 0x5050]
mov edx, dword [ebp + 0x504c]
add esp, 0xc
lea eax, [esp + 0x5a0]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.004107c0
mov eax, dword [esi]
cmp eax, ebx
mov eax, edi
jne 0x407eef
mov eax, 0x5f3788
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x5a8]
push ecx
push str.LUBENTAO
lea ecx, [esp + 0x90]
call fcn.0051e900
mov dword [ebp + 0x40], 1
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x48], 1
mov dword [ebp + 0x4c], 1
mov dword [ebp + 0x158], 1
mov dword [ebp + 0x15c], 1
mov dword [ebp + 0x160], ebx
mov dword [ebp + 0x164], 1
mov dword [ebp + 0x168], 1
mov dword [ebp + 0x170], 1
mov dword [ebp + 0x174], ebx
mov dword [ebp + 0x178], 1
mov dword [ebp + 0x17c], 1
mov dword [ebp + 0x184], ebx
mov dword [ebp + 0x188], 1
mov dword [ebp + 0x18c], 1
mov dword [ebp + 0x190], ebx
mov dword [ebp + 0x194], 1
mov dword [ebp + 0x198], 1
mov dword [ebp + 0x19c], 1
lea ecx, [ebp + 0x1a8]
push 0x5f3788
mov byte [esp + 0x56f0], 3
mov dword [ebp + 0x1a0], ebx
call sub.MFC42.DLL_CString::operator_2
mov dword [ebp + 0x1ac], 1
mov dword [ebp + 0x1b0], ebx
mov dword [ebp + 0x1a4], ebx
mov dword [ebp + 0x1b4], 1
mov dword [ebp + 0x1bc], 1
mov dword [ebp + 0x1c0], 1
mov dword [ebp + 0x1c4], 1
mov dword [ebp + 0x1c8], 0x1dd
mov dword [ebp + 0x1cc], ebx
mov dword [ebp + 0x4e5c], 1
mov dword [ebp + 0x1d4], ebx
mov dword [ebp + 0x1d8], ebx
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0x1dc], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x1e0]
mov eax, ecx
mov esi, edi
mov edi, edx
push str.226.81.9.8
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x1f4], ebx
mov dword [ebp + 0x1f8], 0x979
call sub.WSOCK32.dll_inet_addr
push eax
call sub.WSOCK32.dll_htonl
mov dword [ebp + 0x1fc], eax
mov eax, 1
mov dword [ebp + 0x214], eax
mov dword [ebp + 0x218], eax
mov dword [ebp + 0x204], ebx
mov dword [ebp + 0x4980], eax
mov dword [ebp + 0x4984], eax
mov dword [ebp + 0x4988], eax
mov dword [ebp + 0x498c], eax
mov dword [ebp + 0x20c], eax
mov dword [ebp + 0x4998], ebx
mov dword [ebp + 0x49a0], eax
or ecx, 0xffffffff
mov dword [ebp + 0x49a4], ebx
mov dword [ebp + 0x49a8], ecx
mov dword [ebp + 0x49ac], ecx
mov dword [ebp + 0x49b0], ecx
mov dword [ebp + 0x49b4], ecx
mov dword [ebp + 0x4d24], ebx
mov dword [ebp + 0x4d28], ebx
mov dword [ebp + 0x4d2c], eax
mov dword [ebp + 0x4d30], ebx
mov dword [ebp + 0x1d0], ebx
mov dword [ebp + 0x1b8], 0x3c
mov dword [ebp + 0x4d34], eax
mov dword [ebp + 0x4d38], ebx
mov dword [ebp + 0x4d3c], ebx
mov dword [ebp + 0x4e78], eax
mov dword [ebp + 0x4e7c], eax
mov edi, 0x5f3788
xor eax, eax
lea edx, [ebp + 0x4e80]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp + 0x4d54]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x4f84], ebx
mov dword [ebp + 0x4f88], ebx
mov dword [ebp + 0x4f8c], 0xffffff
mov dword [ebp + 0x4f90], 0xf8ebc4
mov dword [ebp + 0x4f94], 0xffffff
mov dword [ebp + 0x4f98], 0xc6a88b
mov dword [ebp + 0x4f9c], 0xfee9ce
mov dword [ebp + 0x4fa0], ebx
mov dword [ebp + 0x4fa4], 0x800000
mov dword [ebp + 0x4fa8], 0x808080
mov dword [ebp + 0x4fac], 0xff8080
mov dword [ebp + 0x4fb0], 0xff0000
mov dword [ebp + 0x4fbc], 0x404000
mov dword [ebp + 0x4fb8], 0x400040
mov dword [ebp + 0x4fb4], 0xa27a00
mov dword [ebp + 0x4fc4], 0xe5b88f
mov dword [ebp + 0x4fc8], 0xfaecd9
mov dword [ebp + 0x4fcc], 0xfffbdd
mov dword [ebp + 0x4fd0], 0xfffbdd
mov dword [ebp + 0x4fe8], ebx
mov dword [ebp + 0x4fec], ebx
mov dword [ebp + 0x4ff0], ebx
mov dword [ebp + 0x4ff4], ebx
mov dword [ebp + 0x4fc0], eax
mov dword [ebp + 0x4990], 0x200
mov dword [ebp + 0x4994], 0xa
mov dword [ebp + 0x4d48], eax
mov dword [ebp + 0x4d4c], ebx
mov dword [ebp + 0x4d50], eax
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [ebp + 0x4e58]
mov dword [esi], ebx
mov dword [ebp + 0x4e60], ebx
mov dword [ebp + 0x4e64], ebx
mov dword [ebp + 0x4e68], ebx
mov dword [ebp + 0x4e6c], 0xa
mov dword [ebp + 0x4e70], ebx
mov dword [ebp + 0x4e74], 1
mov dword [ebp + 0x4cfc], ebx
mov dword [ebp + 0x4d00], 1
lea ecx, [ebp + 0x55cc]
push 0x5e14d8
mov dword [ebp + 0x55c8], ebx
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp + 0x55d0]
push 0x5f3788
call sub.MFC42.DLL_CString::operator_2
mov dword [ebp + 0x16c], 1
mov dword [ebp + 0x180], 1
mov ecx, dword [ebp + 0x4fc8]
lea edx, [ebp + 0x4fd4]
lea edi, [ebp + 0x4d04]
push edx
mov dword [edx], ecx
mov eax, dword [ebp + 0x4fcc]
mov dword [ebp + 0x4fdc], eax
mov ecx, dword [ebp + 0x4fc4]
mov dword [ebp + 0x4fd8], ecx
mov ecx, 8
mov eax, 4
mov dword [ebp + 0x4fe0], 0x933e1e
rep stosd dword es:[edi], eax
push str.ChatBkColor1
lea ecx, [esp + 0x88]
call fcn.0051ef20
lea edx, [ebp + 0x4fe4]
lea ecx, [esp + 0x80]
push edx
push str.ChatWndEdgeClr
call fcn.0051ef20
lea eax, [ebp + 0x4fd8]
lea ecx, [esp + 0x80]
push eax
push str.ChatMsgWndFrameClr
call fcn.0051ef20
lea eax, [ebp + 0x4fdc]
lea ecx, [esp + 0x80]
push eax
push str.ChatBkColor2
call fcn.0051ef20
lea eax, [ebp + 0x4fe0]
lea ecx, [esp + 0x80]
push eax
push str.ChatFontColor
call fcn.0051ef20
lea eax, [ebp + 0x16c]
lea ecx, [esp + 0x80]
push eax
push str.GdiPlusTip
call fcn.0051eed0
lea eax, [ebp + 0x4d48]
lea ecx, [esp + 0x80]
push eax
push str.IPMsgCompatible
call fcn.0051eed0
lea eax, [ebp + 0x4d4c]
lea ecx, [esp + 0x80]
push eax
push str.AutoRecvFile
call fcn.0051eed0
lea eax, [ebp + 0x4d50]
lea ecx, [esp + 0x80]
push eax
push str.AutoRecvPath
call fcn.0051eed0
push esi
push str.IsCustomFilePath
lea ecx, [esp + 0x88]
call fcn.0051eed0
push ebx
lea eax, [ebp + 0x4d54]
push 0x104
push eax
push str.CustomRecvPath
lea ecx, [esp + 0x90]
call fcn.0051f130
lea edi, [ebp + 0x4990]
lea ecx, [esp + 0x80]
push edi
push str.BmpUdpSendSize
call fcn.0051eed0
mov edi, dword [edi]
cmp edi, 0xda
jl 0x408470
cmp edi, 0x10000
jle 0x40847a
mov dword [ebp + 0x4990], 0x200
lea esi, [ebp + 0x4994]
lea ecx, [esp + 0x80]
push esi
push str.BmpUdpTrys
call fcn.0051eed0
mov eax, dword [esi]
cmp eax, ebx
jl 0x40849d
cmp eax, 0xf
jle 0x4084a3
mov dword [esi], 0xa
lea eax, [ebp + 0x40]
lea esi, [ebp + 0x499c]
push eax
push str.DrawTitleBar
lea ecx, [esp + 0x88]
mov dword [esi], ebx
call fcn.0051eed0
lea eax, [ebp + 0x48]
lea ecx, [esp + 0x80]
push eax
push str.ChatShowWeb
call fcn.0051eed0
lea eax, [ebp + 0x4c]
lea ecx, [esp + 0x80]
push eax
push str.CloseDialogDeleteRes
call fcn.0051eed0
lea eax, [ebp + 0x158]
lea ecx, [esp + 0x80]
push eax
push str.SmallIconSelShowLarge
call fcn.0051eed0
lea eax, [ebp + 0x15c]
lea ecx, [esp + 0x80]
push eax
push str.MyFriendsAutoGroup
call fcn.0051eed0
lea eax, [ebp + 0x160]
lea ecx, [esp + 0x80]
push eax
push str.SkinWeekChange
call fcn.0051eed0
lea eax, [ebp + 0x164]
lea ecx, [esp + 0x80]
push eax
push str.ShowSearchWebBar
call fcn.0051eed0
lea eax, [ebp + 0x168]
lea ecx, [esp + 0x80]
push eax
push str.ShowBbsBar
call fcn.0051eed0
lea eax, [ebp + 0x170]
lea ecx, [esp + 0x80]
push eax
push str.SendOpenMsg
call fcn.0051eed0
lea eax, [ebp + 0x174]
lea ecx, [esp + 0x80]
push eax
push str.OPenMsgTip
call fcn.0051eed0
lea eax, [ebp + 0x178]
lea ecx, [esp + 0x80]
push eax
push str.ShakeMsgTip
call fcn.0051eed0
lea eax, [ebp + 0x17c]
lea ecx, [esp + 0x80]
push eax
push str.AutoMemMin
call fcn.0051eed0
lea eax, [ebp + 0x184]
lea ecx, [esp + 0x80]
push eax
push str.LButtonIconOpen
call fcn.0051eed0
lea eax, [ebp + 0x180]
lea ecx, [esp + 0x80]
push eax
push str.WndTopMost
call fcn.0051eed0
push esi
push str.SendRecvMsg
lea ecx, [esp + 0x88]
call fcn.0051eed0
lea eax, [ebp + 0x4fc0]
lea ecx, [esp + 0x80]
push eax
push str.NoShowHostIfMemo
call fcn.0051eed0
lea eax, [ebp + 0x4fa0]
lea ecx, [esp + 0x80]
push eax
push str.TreeNickClr
call fcn.0051ef20
lea eax, [ebp + 0x4fa4]
lea ecx, [esp + 0x80]
push eax
push str.TreeHostClr
call fcn.0051ef20
lea eax, [ebp + 0x4fa8]
lea ecx, [esp + 0x80]
push eax
push str.TreeSignClr
call fcn.0051ef20
lea eax, [ebp + 0x4fac]
lea ecx, [esp + 0x80]
push eax
push str.TreeIPClr
call fcn.0051ef20
lea eax, [ebp + 0x4fb0]
lea ecx, [esp + 0x80]
push eax
push str.TreeTypeClr
call fcn.0051ef20
lea eax, [ebp + 0x4fb4]
lea ecx, [esp + 0x80]
push eax
push str.TreeObjectGroupClr
call fcn.0051ef20
lea eax, [ebp + 0x4fbc]
lea ecx, [esp + 0x80]
push eax
push str.TreeUserClr
call fcn.0051ef20
lea eax, [ebp + 0x4fb8]
lea ecx, [esp + 0x80]
push eax
push str.TreeGroupClr
call fcn.0051ef20
lea esi, [ebp + 0x4fc4]
lea ecx, [esp + 0x80]
push esi
push str.MainBarFrameColor
call fcn.0051ef20
lea edi, [ebp + 0x4fc8]
lea ecx, [esp + 0x80]
push edi
push str.MainBarLeftTopColor
call fcn.0051ef20
lea eax, [ebp + 0x4fcc]
lea ecx, [esp + 0x80]
push eax
push str.MainBarRightBtmColor
call fcn.0051ef20
lea eax, [ebp + 0x4fd0]
lea ecx, [esp + 0x80]
push eax
push str.MainBarRightBtm2Color
call fcn.0051ef20
cmp dword [esi], 0xe99494
jne 0x40878a
mov dword [esi], 0xe5b88f
mov dword [edi], 0xfaecd9
mov dword [ebp + 0x4fcc], 0xfffbdd
mov dword [ebp + 0x4fd0], 0xfffbdd
mov eax, dword [edi]
mov dword [ebp + 0x4fd4], eax
mov ecx, dword [ebp + 0x4fcc]
mov dword [ebp + 0x4fdc], ecx
mov edx, dword [esi]
mov dword [ebp + 0x4fd8], edx
mov dword [ebp + 0x4fe0], 0x933e1e
cmp dword [ebp + 0x160], ebx
je 0x4088e7
lea eax, [esp + 0x50]
push eax
call sub.MFC42.DLL_COleDateTime::GetTickCount
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_COleDateTime::GetDayOfWeek
cmp eax, 1
jne 0x4087d3
mov dword [esi], 0x9e9e9e
mov dword [edi], 0xd8e9ec
mov dword [ebp + 0x4fcc], 0xd8e9ec
mov dword [ebp + 0x4fd0], 0xd8e9ec
jmp 0x4088c1
cmp eax, 2
jne 0x4087fd
mov dword [esi], 0xd490e5
mov dword [edi], 0xfae8ff
mov dword [ebp + 0x4fcc], 0xf8ddff
mov dword [ebp + 0x4fd0], 0xf8ddff
jmp 0x4088c1
cmp eax, 3
jne 0x408827
mov dword [esi], 0xe5b88f
mov dword [edi], 0xfaecd9
mov dword [ebp + 0x4fcc], 0xfffbdd
mov dword [ebp + 0x4fd0], 0xfffbdd
jmp 0x4088c1
cmp eax, 4
jne 0x40884e
mov dword [esi], 0xe99494
mov dword [edi], 0xffe8e8
mov dword [ebp + 0x4fcc], 0xffd3d3
mov dword [ebp + 0x4fd0], 0xffd3d3
jmp 0x4088c1
cmp eax, 5
jne 0x408875
mov dword [esi], 0x8de2a9
mov dword [edi], 0xe8fff0
mov dword [ebp + 0x4fcc], 0xd0ffdf
mov dword [ebp + 0x4fd0], 0xd0ffdf
jmp 0x4088c1
cmp eax, 6
jne 0x40889c
mov dword [esi], 0x8dcde2
mov dword [edi], 0xf6fdff
mov dword [ebp + 0x4fcc], 0xddf7ff
mov dword [ebp + 0x4fd0], 0xddf7ff
jmp 0x4088c1
cmp eax, 7
jne 0x4088c1
mov dword [esi], 0x9292e7
mov dword [edi], 0xe8e8ff
mov dword [ebp + 0x4fcc], 0xd0d0ff
mov dword [ebp + 0x4fd0], 0xd0d0ff
mov ecx, dword [edi]
mov dword [ebp + 0x4fd4], ecx
mov edx, dword [ebp + 0x4fcc]
mov dword [ebp + 0x4fdc], edx
mov eax, dword [esi]
mov dword [ebp + 0x4fd8], eax
mov dword [ebp + 0x4fe0], 0x933e1e
lea eax, [ebp + 0x4fe8]
lea ecx, [esp + 0x80]
push eax
push str.MainOpacity
call fcn.0051eed0
lea eax, [ebp + 0x4fec]
lea ecx, [esp + 0x80]
push eax
push str.ChatOpacity
call fcn.0051eed0
lea eax, [ebp + 0x4ff0]
lea ecx, [esp + 0x80]
push eax
push str.MsgOpacity
call fcn.0051eed0
lea eax, [ebp + 0x4ff4]
lea ecx, [esp + 0x80]
push eax
push str.OtherOpacity
call fcn.0051eed0
lea eax, [ebp + 0x4e78]
lea ecx, [esp + 0x80]
push eax
push str.TreeBkStyle
call fcn.0051eed0
lea eax, [ebp + 0x4e7c]
lea ecx, [esp + 0x80]
push eax
push str.TreeDefaultPic
call fcn.0051eed0
lea eax, [ebp + 0x4f84]
lea ecx, [esp + 0x80]
push eax
push str.TreeBmpStretch
call fcn.0051eed0
lea eax, [ebp + 0x4f88]
lea ecx, [esp + 0x80]
push eax
push str.TreeGradMode
call fcn.0051eed0
push ebx
lea eax, [ebp + 0x4e80]
push 0x104
push eax
push str.TreeBmpPath
lea ecx, [esp + 0x90]
call fcn.0051f130
lea eax, [ebp + 0x4f8c]
lea ecx, [esp + 0x80]
push eax
push str.TreeGradClr1
call fcn.0051ef20
lea eax, [ebp + 0x4f90]
lea ecx, [esp + 0x80]
push eax
push str.TreeGradClr2
call fcn.0051ef20
lea eax, [ebp + 0x4f94]
lea ecx, [esp + 0x80]
push eax
push str.TreeFillClr
call fcn.0051ef20
lea eax, [ebp + 0x4f98]
lea ecx, [esp + 0x80]
push eax
push str.TreeSelFrameClr
call fcn.0051ef20
lea eax, [ebp + 0x4f9c]
lea ecx, [esp + 0x80]
push eax
push str.TreeSelFillClr
call fcn.0051ef20
lea eax, [ebp + 0x44]
lea ecx, [esp + 0x80]
push eax
push str.EscCloseDlg
call fcn.0051eed0
lea eax, [ebp + 0x49a8]
lea ecx, [esp + 0x80]
push eax
push str.WndLeft
call fcn.0051eed0
lea eax, [ebp + 0x49ac]
lea ecx, [esp + 0x80]
push eax
push str.WndTop
call fcn.0051eed0
lea eax, [ebp + 0x49b0]
lea ecx, [esp + 0x80]
push eax
push str.WndWidth
call fcn.0051eed0
lea eax, [ebp + 0x49b4]
lea ecx, [esp + 0x80]
push eax
push str.WndHeight
call fcn.0051eed0
lea eax, [ebp + 0x49a4]
lea ecx, [esp + 0x80]
push eax
push str.HideMode
call fcn.0051eed0
lea eax, [ebp + 0x49a0]
lea ecx, [esp + 0x80]
push eax
push str.AutoHideWnd
call fcn.0051eed0
lea eax, [ebp + 0x4988]
lea ecx, [esp + 0x80]
push eax
push str.SendBmpZip
call fcn.0051eed0
lea eax, [ebp + 0x498c]
lea ecx, [esp + 0x80]
push eax
push str.ScreenShake
call fcn.0051eed0
lea eax, [ebp + 0x18c]
lea ecx, [esp + 0x80]
push eax
push str.FilePopup
call fcn.0051eed0
lea eax, [ebp + 0x188]
lea ecx, [esp + 0x80]
push eax
push str.MsgShowTipWnd
call fcn.0051eed0
lea eax, [ebp + 0x190]
lea ecx, [esp + 0x80]
push eax
push str.SingleChatCloseWnd
call fcn.0051eed0
lea eax, [ebp + 0x194]
lea ecx, [esp + 0x80]
push eax
push str.MutiChatCloseWnd
call fcn.0051eed0
lea eax, [ebp + 0x198]
lea ecx, [esp + 0x80]
push eax
push str.StartRun
call fcn.0051eed0
lea eax, [ebp + 0x19c]
lea ecx, [esp + 0x80]
push eax
push str.StartAutoMin
call fcn.0051eed0
lea eax, [ebp + 0x1a0]
lea ecx, [esp + 0x80]
push eax
push str.DbClickAutoMin
call fcn.0051eed0
lea eax, [ebp + 0x1ac]
lea ecx, [esp + 0x80]
push eax
push str.AutoReply
call fcn.0051eed0
lea eax, [ebp + 0x1b0]
lea ecx, [esp + 0x80]
push eax
push str.AutoWidth
call fcn.0051eed0
lea eax, [ebp + 0x1b4]
lea ecx, [esp + 0x80]
push eax
push str.AutoCheckVersion
call fcn.0051eed0
lea eax, [ebp + 0x1cc]
lea ecx, [esp + 0x80]
push eax
push str.SelfTeleVoiceChat
call fcn.0051eed0
lea eax, [ebp + 0x1bc]
lea ecx, [esp + 0x80]
push eax
push str.ShowChatRightWnd
call fcn.0051eed0
lea eax, [ebp + 0x1c0]
lea ecx, [esp + 0x80]
push eax
push str.SaveShowRightStatus
call fcn.0051eed0
lea eax, [ebp + 0x1c4]
lea ecx, [esp + 0x80]
push eax
push str.SaveChatDlgHeight
call fcn.0051eed0
lea esi, [ebp + 0x1c8]
lea ecx, [esp + 0x80]
push esi
push str.ChatDlgHeight
call fcn.0051eed0
lea eax, [ebp + 0x4e5c]
lea ecx, [esp + 0x80]
push eax
push str.NoShowInfoHaveFile
call fcn.0051eed0
lea eax, [ebp + 0x4e60]
lea ecx, [esp + 0x80]
push eax
push str.DragSendFileDirect
call fcn.0051eed0
lea eax, [ebp + 0x4e64]
lea ecx, [esp + 0x80]
push eax
push str.NoShowTimeOutDayTip
call fcn.0051eed0
lea eax, [ebp + 0x4e68]
lea ecx, [esp + 0x80]
push eax
push str.AutoChangeStatus
call fcn.0051eed0
lea eax, [ebp + 0x4e6c]
lea ecx, [esp + 0x80]
push eax
push str.ChangeStautsTime
call fcn.0051eed0
lea eax, [ebp + 0x4e70]
lea ecx, [esp + 0x80]
push eax
push str.OptChangeStauts
call fcn.0051eed0
lea eax, [ebp + 0x4e74]
lea ecx, [esp + 0x80]
push eax
push str.ShowRecvMsgBox
call fcn.0051eed0
mov eax, dword [esi]
cmp eax, 0x104
jl 0x408d32
cmp eax, 0x258
jle 0x408d38
mov dword [esi], 0x1dd
lea eax, [ebp + 0x1d4]
lea ecx, [esp + 0x80]
push eax
push str.NeedIPAddress
call fcn.0051eed0
lea eax, [ebp + 0x4d3c]
lea ecx, [esp + 0x80]
push eax
push str.AllBlackList
call fcn.0051eed0
lea ecx, [ebp + 0x4d40]
push ecx
push str.NoShowBlackUser
lea ecx, [esp + 0x88]
call fcn.0051eed0
lea edx, [ebp + 0x4d44]
lea ecx, [esp + 0x80]
push edx
push str.StopRubbish
call fcn.0051eed0
lea eax, [ebp + 0x1dc]
lea ecx, [esp + 0x80]
push eax
push str.NeedMacAddress
call fcn.0051eed0
push ebx
lea eax, [ebp + 0x1e0]
push 0x14
push eax
push str.MacAddressValue
lea ecx, [esp + 0x90]
call fcn.0051f130
lea eax, [ebp + 0x1f4]
lea ecx, [esp + 0x80]
push eax
push str.GetMacType
call fcn.0051eed0
lea eax, [ebp + 0x1d0]
lea ecx, [esp + 0x80]
push eax
push str.IsAutoRefresh
call fcn.0051eed0
lea esi, [ebp + 0x1b8]
lea ecx, [esp + 0x80]
push esi
push str.AutoRefreshTime
call fcn.0051eed0
cmp dword [esi], 0xa
jge 0x408e1e
mov dword [esi], 0xa
lea eax, [ebp + 0x4d24]
lea ecx, [esp + 0x80]
push eax
push str.QunNoAdd
call fcn.0051eed0
lea eax, [ebp + 0x4d28]
lea ecx, [esp + 0x80]
push eax
push str.QunNoRecvBmp
call fcn.0051eed0
lea eax, [ebp + 0x4d2c]
lea ecx, [esp + 0x80]
push eax
push str.QunNotice
call fcn.0051eed0
lea eax, [ebp + 0x4d30]
lea ecx, [esp + 0x80]
push eax
push str.QunMsgOpt
call fcn.0051eed0
lea eax, [ebp + 0x4d34]
lea ecx, [esp + 0x80]
push eax
push str.MembersShowMode
call fcn.0051eed0
lea esi, [ebp + 0x4d38]
lea ecx, [esp + 0x80]
push esi
push str.SendMsgEnter
call fcn.0051eed0
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov ecx, dword [esi]
lea edx, [esp + 0x6c]
mov dword [eax + 0x240], ecx
push edx
push str.IPAddressValue
lea ecx, [esp + 0x88]
mov dword [esp + 0x74], ebx
call fcn.0051ef20
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x80]
mov dword [ebp + 0x1d8], eax
lea eax, [ebp + 0x1f8]
push eax
push str.FeiqPortNo
call fcn.0051eed0
mov ecx, dword [ebp + 0x1fc]
lea edx, [esp + 0x6c]
mov dword [esp + 0x6c], ecx
push edx
push str.GroupIPAddress
lea ecx, [esp + 0x88]
call fcn.0051ef20
mov eax, dword [esp + 0x6c]
mov edi, 0x5e0e74
mov dword [ebp + 0x1fc], eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x400
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc30]
push ecx
push str.StrReply
lea ecx, [esp + 0x90]
call fcn.0051f130
lea edx, [esp + 0xc28]
lea esi, [ebp + 0x1a8]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::operator_2
mov ecx, esi
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, esi
call sub.MFC42.DLL_CString::TrimRight
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x400
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc30]
push ecx
push str.UrlLinkHistroy
lea ecx, [esp + 0x90]
call fcn.0051f130
lea esi, [ebp + 0x220]
lea edx, [esp + 0xc28]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::operator_2
mov ecx, esi
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, esi
call sub.MFC42.DLL_CString::TrimRight
lea eax, [ebp + 0x55c8]
lea ecx, [esp + 0x80]
push eax
push str.IsCustomBBS
call fcn.0051eed0
mov edi, 0x5e14d8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x400
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc30]
push ecx
push str.CustomBBSName
lea ecx, [esp + 0x90]
call fcn.0051f130
lea edx, [esp + 0xc28]
lea esi, [ebp + 0x55cc]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::operator_2
mov ecx, esi
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, esi
call sub.MFC42.DLL_CString::TrimRight
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
push 0x400
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc30]
push ecx
push str.CustomBBSWeb
lea ecx, [esp + 0x90]
call fcn.0051f130
lea edx, [esp + 0xc28]
lea esi, [ebp + 0x55d0]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::operator_2
mov ecx, esi
call sub.MFC42.DLL_CString::TrimLeft
mov ecx, esi
call sub.MFC42.DLL_CString::TrimRight
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x228]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x400
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
push str.PersonSign
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
call fcn.0051f130
lea ecx, [ebp + 0x200]
push ecx
push str.FaceImage
lea ecx, [esp + 0x88]
call fcn.0051eed0
lea edx, [ebp + 0x208]
lea ecx, [esp + 0x80]
push edx
push str.LargeImage
call fcn.0051eed0
lea eax, [ebp + 0x20c]
lea ecx, [esp + 0x80]
push eax
push str.LargeTreeImage
call fcn.0051eed0
lea eax, [ebp + 0x210]
lea ecx, [esp + 0x80]
push eax
push str.MutiLargeImage
call fcn.0051eed0
lea eax, [ebp + 0x214]
lea ecx, [esp + 0x80]
push eax
push str.NoTice
call fcn.0051eed0
lea eax, [ebp + 0x218]
lea ecx, [esp + 0x80]
push eax
push str.NoTice2
call fcn.0051eed0
lea eax, [ebp + 0x5db4]
lea ecx, [esp + 0x80]
push eax
push str.DialUpCheck
call fcn.0051eed0
mov dword [esp + 0x168], ebx
lea ecx, [esp + 0x168]
push ecx
push str.StatusValue
lea ecx, [esp + 0x88]
call fcn.0051ef20
mov edx, dword [esp + 0x168]
push ebx
lea eax, [esp + 0x6a0]
push 0x1e
or dl, 0x80
push eax
push str.UpgradeTime
lea ecx, [esp + 0x90]
mov dword [ebp + 0x204], edx
call fcn.0051f130
lea ecx, [esp + 0x69c]
push ecx
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x5c]
push 0x5f3788
push edx
mov byte [esp + 0x56f4], 4
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x409269
push ecx
lea eax, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42.DLL_CString::CString_4
call fcn.00441a60
add esp, 4
cmp eax, ebx
jne 0x4092c1
lea ecx, [esp + 0x50]
push ecx
call sub.MFC42.DLL_COleDateTime::GetTickCount
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_COleDateTime::GetSecond
push eax
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_COleDateTime::GetMinute
push eax
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_COleDateTime::GetHour
push eax
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_COleDateTime::GetDay
push eax
lea ecx, [esp + 0x60]
call sub.MFC42.DLL_COleDateTime::GetMonth
push eax
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_COleDateTime::GetYear
push eax
lea edx, [esp + 0x74]
push str._04d__02d__02d__02d:_02d:_02d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x20
lea eax, [esp + 0x5c]
lea ecx, [ebp + 0x21c]
push eax
call fcn.00572d3c
lea eax, [ebp + 0x224]
lea ecx, [esp + 0x80]
push eax
push str.UpgradeInterval
mov dword [eax], 0xa
call fcn.0051eed0
push ebx
lea ecx, [ebp + 0x628]
push 0x32
push ecx
push str.FileSharePwd
lea ecx, [esp + 0x90]
call fcn.0051f130
lea esi, [ebp + 0x65c]
lea ecx, [esp + 0x80]
push esi
push str.FileShareNo
call fcn.0051eed0
mov eax, dword [esi]
cmp eax, ebx
jl 0x40932f
cmp eax, 0x7ffffe0b
jle 0x409331
mov dword [esi], ebx
push ebx
lea edx, [ebp + 0x4660]
push 0x320
push edx
push str.PluginsPauseClsid
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x660]
push 0x4000
push eax
push str.FileShareInfo
lea ecx, [esp + 0x90]
call fcn.0051f130
lea edi, [ebp + 0x4cbc]
push ebx
push 0x40
push edi
push str.SerialNo
lea ecx, [esp + 0x90]
call fcn.0051f130
lea esi, [ebp + 0x4cfc]
lea ecx, [esp + 0x80]
push esi
push str.UserDenji
call fcn.0051eed0
lea eax, [ebp + 0x4d00]
lea ecx, [esp + 0x80]
push eax
push str.ShowDenji
call fcn.0051eed0
cmp dword [esi], ebx
nop
nop
nop
nop
nop
nop
lea ecx, [esp + 0x34]
push ecx
call fcn.004a0860
add esp, 4
mov edx, dword [esi]
lea eax, [esp + 0x34]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x56f8], 5
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0x30]
push ecx
call fcn.004a0340
add esp, 0xc
push edi
lea ecx, [esp + 0x24]
mov byte [esp + 0x56f0], 6
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jmp 0x409421
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x56ec], 5
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x56ec], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x80]
push ebp
push ecx
mov ecx, ebp
call fcn.0040d7c0
mov word [ebp + 0x503c], bx
mov word [ebp + 0x503e], bx
mov word [ebp + 0x5040], bx
mov word [ebp + 0x5042], bx
lea edx, [esp + 0x44]
mov word [ebp + 0x5044], bx
mov word [ebp + 0x5046], bx
push edx
mov word [ebp + 0x5048], bx
push str.virtualcode
lea ecx, [esp + 0x88]
mov word [ebp + 0x504a], bx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x48], 0x58
call fcn.0051eed0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
push str.modifiers
call fcn.0051eed0
lea eax, [ebp + 0x4980]
lea ecx, [esp + 0x80]
push eax
push str.CaptureSrnShowWnd
call fcn.0051eed0
lea eax, [ebp + 0x4984]
lea ecx, [esp + 0x80]
push eax
push str.ShowInputStatus
call fcn.0051eed0
lea eax, [ebp + 0x4998]
lea ecx, [esp + 0x80]
push eax
push str.CloseClearContent
call fcn.0051eed0
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x409527
mov word [ebp + 0x503c], ax
mov eax, dword [esp + 0x40]
cmp eax, ebx
jl 0x409536
mov word [ebp + 0x503e], ax
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], ebx
push ecx
push str.virtualcode2
lea ecx, [esp + 0x88]
mov dword [esp + 0x48], ebx
call fcn.0051eed0
lea edx, [esp + 0x40]
lea ecx, [esp + 0x80]
push edx
push str.modifiers2
call fcn.0051eed0
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x409579
mov word [ebp + 0x5040], ax
mov eax, dword [esp + 0x40]
cmp eax, ebx
jl 0x409588
mov word [ebp + 0x5042], ax
lea eax, [esp + 0x44]
lea ecx, [esp + 0x80]
push eax
push str.virtualcode3
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
call fcn.0051eed0
lea ecx, [esp + 0x40]
push ecx
push str.modifiers3
lea ecx, [esp + 0x88]
call fcn.0051eed0
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x4095cb
mov word [ebp + 0x5044], ax
mov eax, dword [esp + 0x40]
cmp eax, ebx
jl 0x4095da
mov word [ebp + 0x5046], ax
lea edx, [esp + 0x44]
lea ecx, [esp + 0x80]
push edx
push str.virtualcode4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
call fcn.0051eed0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x80]
push eax
push str.modifiers4
call fcn.0051eed0
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x40961d
mov word [ebp + 0x5048], ax
mov eax, dword [esp + 0x40]
cmp eax, ebx
jl 0x40962c
mov word [ebp + 0x504a], ax
or ecx, 0xffffffff
mov edi, 0x5e0c74
xor eax, eax
lea edx, [ebp + 0x49b8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0c58
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp + 0x4a38]
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0c50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp + 0x4ab8]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0c34
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp + 0x4b38]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor esi, esi
mov edi, edx
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_5
inc esi
lea ecx, [esp + 0x14]
push esi
push str.ReplyContent_d
push ecx
mov byte [esp + 0x56f8], 7
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x80]
push ebx
push 0x7e
push edi
push edx
call fcn.0051f130
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 4
call sub.MFC42.DLL_CString::CString
add edi, 0x80
cmp esi, 4
jl 0x4096e2
xor esi, esi
lea edi, [ebp + 0x4d04]
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_5
inc esi
lea eax, [esp + 0x14]
push esi
push str.InfoDelayTime_d
push eax
mov byte [esp + 0x56f8], 8
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x20]
add esp, 0xc
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0051eed0
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 4
call sub.MFC42.DLL_CString::CString
add edi, 4
cmp esi, 8
jl 0x409740
mov edi, 0x5e0b98
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x4bb8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x104
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
push str.CustomShowUserInfo
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
call fcn.0051f130
lea ecx, [esp + 0x17c]
call sub.MFC42.DLL_CStringArray::CStringArray
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x184]
mov byte [esp + 0x56f4], 9
call sub.MFC42.DLL_CStringArray::SetSize
lea ecx, [ebp + 0x5e28]
mov dword [esp + 0x74], ebx
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea ecx, [esp + 0x74]
push ebx
push ecx
push ebx
push str.memoGroupNames
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov ecx, dword [esp + 0x74]
cmp ecx, ebx
je 0x409971
cmp eax, 2
mov eax, ecx
jne 0x409830
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x409971
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
lea edx, [esp + 0x74]
mov esi, eax
lea ecx, [esp + 0x80]
push ebx
push edx
push esi
push str.memoGroupNames
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x74], 0x42
jb 0x409968
lea eax, [esi + 0x10]
mov dword [esp + 0x14], eax
mov eax, 0x32
sub eax, esi
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x668]
lea ecx, [esi - 0x10]
mov edx, dword [esi - 0x10]
mov dword [esp + 0x1c4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1c8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1cc], edx
lea edx, [esp + 0x1c4]
mov eax, dword [ecx + 0xc]
mov ecx, 0xc
mov dword [esp + 0x1d0], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x668]
push ecx
push edx
lea ecx, [ebp + 0x5e28]
movsw word es:[edi], word [esi]
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x184]
add edx, 0x42
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x14], edx
jle 0x409939
mov edi, dword [sym.imp.MSVCRT.dll__mbscmp]
mov eax, dword [esp + 0x180]
lea ecx, [esp + 0x668]
push ecx
mov eax, dword [eax + esi*4]
push eax
call edi
add esp, 8
test eax, eax
je 0x40992e
mov eax, dword [esp + 0x184]
inc esi
cmp esi, eax
jl 0x409904
jmp 0x409939
mov eax, dword [esp + 0x184]
cmp esi, eax
jl 0x40994e
lea edx, [esp + 0x668]
lea ecx, [esp + 0x17c]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jbe 0x409885
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
push 0xffffffffffffffff
lea ecx, [ebp + 0x5df8]
push ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ebx
call fcn.00411b30
lea ecx, [ebp + 0x5ec0]
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea ecx, [ebp + 0x5edc]
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea edx, [esp + 0x4c]
push ebx
push edx
push ebx
push str.MemberGroups
lea ecx, [esp + 0x90]
mov dword [esp + 0x5c], ebx
call fcn.0051f3d0
mov ecx, dword [esp + 0x4c]
mov edi, 0x1c0
cmp ecx, ebx
je 0x409c0a
cmp eax, 2
mov eax, ecx
jne 0x4099d4
lea eax, [ecx - 1]
xor edx, edx
mov esi, edi
div esi
test edx, edx
jne 0x409c0a
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
mov esi, eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x80]
push ebx
push eax
push esi
push str.MemberGroups
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x4c], edi
jb 0x409bf5
mov dword [esp + 0x14], edi
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x220]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0xffffffffffffffff
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2d0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
lea edi, [esp + 0x224]
lea esi, [edx + ecx - 0x1c0]
mov ecx, 0x70
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x70
lea esi, [esp + 0x224]
lea edi, [esp + 0x3e4]
mov dword [esp + 0x25c], ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5e00]
lea ecx, [ebp + 0x5df8]
lea eax, [esi + 1]
push eax
call fcn.00411b30
mov edx, dword [ebp + 0x5dfc]
lea edi, [esi*8]
sub edi, esi
mov ecx, 0x70
shl edi, 6
add edi, edx
lea esi, [esp + 0x3e0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5e00]
lea ecx, [esp + 0x10]
dec eax
push eax
push ecx
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea edx, [esp + 0x220]
push eax
push edx
lea ecx, [ebp + 0x5ec0]
mov byte [esp + 0x56f4], 0xa
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x3d8], ebx
je 0x409b83
cmp dword [esp + 0x3dc], ebx
je 0x409b83
mov eax, dword [ebp + 0x5e00]
dec eax
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x220]
push eax
push ecx
lea ecx, [ebp + 0x5edc]
mov byte [esp + 0x56f4], 0xb
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x3c]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x220]
lea ecx, [esp + 0x2c]
push edx
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x5e0b58
push eax
call esi
add esp, 8
test eax, eax
jne 0x409bb5
mov dword [esp + 0x28], 1
mov ecx, dword [esp + 0x2c]
push 0x5e0b50
push ecx
call esi
add esp, 8
test eax, eax
jne 0x409bd0
mov dword [esp + 0x34], 1
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
add esi, 0x1c0
mov dword [esp + 0x14], esi
call sub.MFC42.DLL_CString::CString
cmp esi, dword [esp + 0x4c]
jbe 0x409a17
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, ebx
jne 0x40a0da
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3e0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x48c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x418], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x41c], ebx
shr ecx, 2
mov dword [esp + 0x420], 1
mov dword [esp + 0x458], ebx
mov dword [esp + 0x478], ebx
mov dword [esp + 0x448], ebx
mov dword [esp + 0x444], ebx
mov dword [esp + 0x450], ebx
mov dword [esp + 0x468], ebx
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x454], ebx
mov dword [esp + 0x474], ebx
mov dword [esp + 0x44c], ebx
mov dword [esp + 0x464], ebx
mov dword [esp + 0x43c], ebx
mov dword [esp + 0x484], ebx
mov dword [esp + 0x47c], ebx
mov dword [esp + 0x424], ebx
mov dword [esp + 0x46c], ebx
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x440], ebx
mov dword [esp + 0x488], ebx
mov dword [esp + 0x480], ebx
mov dword [esp + 0x428], ebx
mov dword [esp + 0x470], ebx
mov dword [esp + 0x430], ebx
mov dword [esp + 0x460], ebx
lea edx, [esp + 0x3e0]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0b58
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x434], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x438], ebx
shr ecx, 2
mov dword [esp + 0x590], ebx
mov dword [esp + 0x594], ebx
mov dword [esp + 0x598], ebx
mov dword [esp + 0x59c], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x414], ebx
mov ecx, 0x70
lea esi, [esp + 0x3e0]
lea edi, [esp + 0x220]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5e00]
lea ecx, [ebp + 0x5df8]
lea edx, [esi + 1]
push edx
call fcn.00411b30
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5dfc]
shl edi, 6
add edi, esi
lea esi, [esp + 0x220]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5e00]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x3e0]
push eax
push ecx
lea ecx, [ebp + 0x5ec0]
mov byte [esp + 0x56f4], 0xc
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x598], ebx
je 0x409e6d
cmp dword [esp + 0x59c], ebx
je 0x409e6d
mov eax, dword [ebp + 0x5e00]
lea edx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5edc]
push eax
lea eax, [esp + 0x3e4]
push eax
mov byte [esp + 0x56f4], 0xd
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x4c], ebx
jne 0x40a0da
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x220]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2cc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x258], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x25c], ebx
shr ecx, 2
mov dword [esp + 0x260], 1
mov dword [esp + 0x298], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x294], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x280], ebx
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x268], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x2a0], ebx
lea edx, [esp + 0x220]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0b48
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x274], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x278], ebx
shr ecx, 2
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x3d4], ebx
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3dc], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x254], ebx
mov ecx, 0x70
lea esi, [esp + 0x220]
lea edi, [esp + 0x6bc]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5e00]
lea ecx, [ebp + 0x5df8]
lea edx, [esi + 1]
push edx
call fcn.00411b30
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5dfc]
shl edi, 6
add edi, esi
lea esi, [esp + 0x6bc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5e00]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x220]
push eax
push ecx
lea ecx, [ebp + 0x5ec0]
mov byte [esp + 0x56f4], 0xe
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x3d8], ebx
je 0x40a0da
cmp dword [esp + 0x3dc], ebx
je 0x40a0da
mov eax, dword [ebp + 0x5e00]
lea edx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5edc]
push eax
lea eax, [esp + 0x224]
push eax
mov byte [esp + 0x56f4], 0xf
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x34], ebx
jne 0x40a347
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x220]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2cc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x258], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x25c], ebx
shr ecx, 2
mov dword [esp + 0x260], 1
mov dword [esp + 0x298], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x294], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x280], ebx
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x268], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x2a0], ebx
lea edx, [esp + 0x220]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e0b50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x274], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x278], ebx
shr ecx, 2
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0x3d4], ebx
mov dword [esp + 0x3d8], ebx
mov dword [esp + 0x3dc], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x254], ebx
mov ecx, 0x70
lea esi, [esp + 0x220]
lea edi, [esp + 0x6bc]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5e00]
lea ecx, [ebp + 0x5df8]
lea edx, [esi + 1]
push edx
call fcn.00411b30
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5dfc]
shl edi, 6
add edi, esi
lea esi, [esp + 0x6bc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5e00]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x220]
push eax
push ecx
lea ecx, [ebp + 0x5ec0]
mov byte [esp + 0x56f4], 0x10
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x3d8], ebx
je 0x40a347
cmp dword [esp + 0x3dc], ebx
je 0x40a347
mov eax, dword [ebp + 0x5e00]
lea edx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5edc]
push eax
lea eax, [esp + 0x224]
push eax
mov byte [esp + 0x56f4], 0x11
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x184]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jle 0x40a647
mov eax, dword [ebp + 0x5e00]
xor edi, edi
cmp eax, ebx
jle 0x40a3af
mov ecx, dword [esp + 0x14]
xor esi, esi
lea edx, [ecx*4]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 0x5dfc]
mov edx, dword [esp + 0x10]
mov eax, esi
add eax, ecx
mov ecx, dword [esp + 0x180]
push eax
mov ecx, dword [edx + ecx]
push ecx
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x40a3af
mov eax, dword [ebp + 0x5e00]
inc edi
add esi, 0x1c0
cmp edi, eax
jl 0x40a377
cmp edi, dword [ebp + 0x5e00]
jl 0x40a62f
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3e0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x48c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x414], eax
mov dword [esp + 0x420], eax
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x418], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x41c], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x458], ebx
shr ecx, 2
mov dword [esp + 0x478], ebx
mov dword [esp + 0x448], ebx
mov dword [esp + 0x444], ebx
mov dword [esp + 0x450], ebx
mov dword [esp + 0x468], ebx
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x454], ebx
mov dword [esp + 0x474], ebx
mov dword [esp + 0x44c], ebx
mov dword [esp + 0x464], ebx
mov dword [esp + 0x43c], ebx
mov dword [esp + 0x484], ebx
mov dword [esp + 0x47c], ebx
mov dword [esp + 0x424], ebx
mov dword [esp + 0x46c], ebx
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x440], ebx
mov dword [esp + 0x488], ebx
mov dword [esp + 0x480], ebx
mov dword [esp + 0x428], ebx
mov dword [esp + 0x470], ebx
mov dword [esp + 0x430], ebx
mov dword [esp + 0x460], ebx
mov edx, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x434], ebx
mov dword [esp + 0x438], ebx
mov dword [esp + 0x590], ebx
mov dword [esp + 0x594], ebx
mov dword [esp + 0x598], ebx
mov dword [esp + 0x59c], ebx
mov edi, dword [ecx + edx*4]
or ecx, 0xffffffff
lea edx, [esp + 0x3e0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x70
lea esi, [esp + 0x3e0]
lea edi, [esp + 0x6bc]
mov dword [esp + 0x414], ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5e00]
lea ecx, [ebp + 0x5df8]
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
call fcn.00411b30
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5dfc]
shl edi, 6
add edi, esi
lea esi, [esp + 0x6bc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5e00]
dec eax
push eax
lea eax, [esp + 0x24]
push eax
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x3e0]
push eax
push ecx
lea ecx, [ebp + 0x5ec0]
mov byte [esp + 0x56f4], 0x12
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x598], ebx
je 0x40a62f
cmp dword [esp + 0x59c], ebx
je 0x40a62f
mov eax, dword [ebp + 0x5e00]
lea edx, [esp + 0x28]
dec eax
push eax
push edx
call fcn.004a0270
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5edc]
push eax
lea eax, [esp + 0x3e4]
push eax
mov byte [esp + 0x56f4], 0x13
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x28]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x184]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x40a35a
lea ecx, [ebp + 0x5e44]
mov dword [esp + 0x60], ebx
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea ecx, [esp + 0x60]
push ebx
push ecx
push ebx
push str.memoNickNames
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x40a75e
cmp eax, 2
mov eax, ecx
jne 0x40a684
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x40a75e
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
lea edx, [esp + 0x60]
mov esi, eax
lea ecx, [esp + 0x80]
push ebx
push edx
push esi
push str.memoNickNames
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x60], 0x42
jb 0x40a755
lea eax, [esi + 0x10]
mov dword [esp + 0x14], eax
mov eax, 0x32
sub eax, esi
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xaf0]
lea ecx, [esi - 0x10]
mov edx, dword [esi - 0x10]
mov dword [esp + 0x1f4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1f8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1fc], edx
lea edx, [esp + 0x1f4]
mov eax, dword [ecx + 0xc]
mov ecx, 0xc
mov dword [esp + 0x200], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xaf0]
push ecx
push edx
lea ecx, [ebp + 0x5e44]
movsw word es:[edi], word [esi]
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add eax, 0x42
mov dword [esp + 0x14], eax
add ecx, eax
cmp ecx, dword [esp + 0x60]
jbe 0x40a6d9
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp + 0x5e60]
mov dword [esp + 0x64], ebx
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea edx, [esp + 0x64]
push ebx
push edx
push ebx
push str.memoUsesInfos
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov ecx, dword [esp + 0x64]
cmp ecx, ebx
je 0x40a878
cmp eax, 2
mov eax, ecx
jne 0x40a79b
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x204
div esi
test edx, edx
jne 0x40a878
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
mov esi, eax
lea eax, [esp + 0x64]
lea ecx, [esp + 0x80]
push ebx
push eax
push esi
push str.memoUsesInfos
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x64], 0x204
jb 0x40a86f
mov eax, 0x1f4
lea ecx, [esi + 0x10]
sub eax, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x14f0]
lea edx, [esi - 0x10]
mov eax, dword [esi - 0x10]
mov dword [esp + 0x1b4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1b8], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x1bc], eax
lea eax, [esp + 0x1b4]
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0x14f0]
mov dword [esp + 0x1c0], ecx
mov ecx, 0x7d
rep movsd dword es:[edi], dword [esi]
push edx
push eax
lea ecx, [ebp + 0x5e60]
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add eax, 0x204
mov dword [esp + 0x14], eax
add ecx, eax
cmp ecx, dword [esp + 0x64]
jbe 0x40a7f3
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp + 0x5e7c]
mov dword [esp + 0x78], ebx
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea edx, [esp + 0x78]
push ebx
push edx
push ebx
push str.memoHostStatus
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov ecx, dword [esp + 0x78]
cmp ecx, ebx
je 0x40a990
cmp eax, 2
mov eax, ecx
jne 0x40a8b5
lea eax, [ecx - 1]
test al, 0x1f
jne 0x40a990
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
mov esi, eax
lea eax, [esp + 0x78]
lea ecx, [esp + 0x80]
push ebx
push eax
push esi
push str.memoHostStatus
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x78], 0x20
jb 0x40a987
mov eax, esi
mov edi, 0x10
sub edi, eax
lea esi, [eax + 0x10]
lea ecx, [esi - 0x10]
mov edx, dword [esi - 0x10]
mov dword [esp + 0x1a4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1a8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1ac], edx
mov eax, dword [ecx + 0xc]
mov ecx, esi
mov dword [esp + 0x1b0], eax
mov edx, dword [ecx]
mov dword [esp + 0x1d4], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1d8], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1dc], edx
lea edx, [esp + 0x1a4]
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x1d4]
push ecx
push edx
lea ecx, [ebp + 0x5e7c]
mov dword [esp + 0x1e8], eax
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [esp + 0x78]
add esi, 0x20
lea eax, [edi + esi]
cmp eax, ecx
jbe 0x40a8fb
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [ebp + 0x5e0c]
mov dword [esp + 0x70], ebx
call sub.MFC42.DLL_CMapStringToString::RemoveAll
lea ecx, [esp + 0x70]
push ebx
push ecx
push ebx
push str.ObjectGroupStatus
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
je 0x40aaa6
cmp eax, 2
mov eax, ecx
jne 0x40a9cd
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x40aaa6
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
lea edx, [esp + 0x70]
mov esi, eax
lea ecx, [esp + 0x80]
push ebx
push edx
push esi
push str.ObjectGroupStatus
mov dword [esp + 0x30], esi
call fcn.0051f3d0
cmp dword [esp + 0x70], 0x42
jb 0x40aa9d
lea eax, [esi + 0x32]
mov dword [esp + 0x14], eax
mov eax, 0x10
sub eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, 0xc
lea edi, [esp + 0xabc]
lea esi, [eax - 0x32]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, dword [eax]
mov dword [esp + 0x1e4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1e8], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1ec], ecx
lea ecx, [esp + 0xabc]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x1e4]
push eax
push ecx
lea ecx, [ebp + 0x5e0c]
mov dword [esp + 0x1f8], edx
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add eax, 0x42
mov dword [esp + 0x14], eax
add edx, eax
cmp edx, dword [esp + 0x70]
jbe 0x40aa22
mov esi, dword [esp + 0x20]
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
mov edi, 1
mov dword [ebp + 0x5060], edi
mov dword [ebp + 0x5064], edi
mov dword [ebp + 0x5068], edi
mov dword [ebp + 0x56e0], ebx
mov dword [ebp + 0x56e4], 0xbb8
mov dword [ebp + 0x56e8], 0x5dc
mov dword [ebp + 0x56ec], 3
call esi
cmp al, 4
jb 0x40aafb
call esi
cmp eax, 0x80000000
mov eax, 0x64
jb 0x40ab00
mov eax, 0x1e
mov dword [ebp + 0x56f0], eax
mov dword [ebp + 0x505c], ebx
mov dword [ebp + 0x5d64], ebx
mov dword [ebp + 0x5054], edi
mov dword [ebp + 0x5058], edi
mov dword [ebp + 0x55d4], ebx
mov dword [ebp + 0x55d8], ebx
mov dword [ebp + 0x55dc], 8
mov dword [ebp + 0x55e0], ebx
mov dword [ebp + 0x5070], 0x1f4
mov dword [ebp + 0x5640], ebx
mov dword [ebp + 0x506c], ebx
mov dword [ebp + 0x56d8], ebx
mov dword [ebp + 0x5db4], ebx
mov dword [ebp + 0x5670], edi
mov byte [ebp + 0x5674], bl
mov byte [ebp + 0x56a6], bl
mov dword [ebp + 0x56dc], edi
mov dword [ebp + 0x5d18], ebx
mov dword [ebp + 0x5d1c], 0xa
mov dword [ebp + 0x5d20], 0xed4e00
mov dword [ebp + 0x5d24], edi
mov dword [ebp + 0x5d28], ebx
mov dword [ebp + 0x5d2c], edi
mov dword [ebp + 0x5644], ebx
mov dword [ebp + 0x5648], ebx
mov dword [ebp + 0x5030], 5
mov dword [ebp + 0x5034], ebx
mov dword [ebp + 0x5650], edi
mov dword [ebp + 0x5654], ebx
mov dword [ebp + 0x5658], ebx
mov dword [ebp + 0x565c], 0x14
mov dword [ebp + 0x5660], 0x800000
mov dword [ebp + 0x5664], 0x10000
mov dword [ebp + 0x5668], 0x10000
mov dword [ebp + 0x566c], 0x40000
mov dword [ebp + 0x562c], ebx
mov dword [ebp + 0x563c], ebx
mov dword [ebp + 0x5610], ebx
call esi
cmp al, 5
jb 0x40ac26
call esi
cmp eax, 0x80000000
mov eax, 2
jb 0x40ac2b
mov eax, 3
mov dword [ebp + 0x5630], eax
mov dword [ebp + 0x5634], ebx
mov eax, 0x64
mov dword [ebp + 0x5638], ebx
mov dword [ebp + 0x5d68], eax
mov dword [ebp + 0x5d74], eax
mov dword [ebp + 0x5d80], eax
mov dword [ebp + 0x5d70], 0x96
mov dword [ebp + 0x5d78], 0x96
mov dword [ebp + 0x5d7c], eax
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0x5074], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xb24]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp + 0x5078]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp + 0x5068]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebp + 0x517c], bl
mov byte [ebp + 0x5280], bl
mov byte [ebp + 0x5384], bl
mov byte [ebp + 0x56fe], bl
mov byte [ebp + 0x5802], bl
mov byte [ebp + 0x5906], bl
mov byte [ebp + 0x5a0a], bl
mov byte [ebp + 0x5c12], bl
push str.NOSHAKEBEEP_STR
lea ecx, [esp + 0x88]
mov byte [ebp + 0x5b0e], bl
call fcn.0051eed0
lea eax, [ebp + 0x5064]
lea ecx, [esp + 0x80]
push eax
push str.NOQUNBEEP_STR
call fcn.0051eed0
lea eax, [ebp + 0x5060]
lea ecx, [esp + 0x80]
push eax
push str.NOBEEP_STR
call fcn.0051eed0
lea eax, [ebp + 0x56e0]
lea ecx, [esp + 0x80]
push eax
push str.LISTGET_STR
call fcn.0051eed0
lea eax, [ebp + 0x56e4]
lea ecx, [esp + 0x80]
push eax
push str.LISTGETMSEC_STR
call fcn.0051eed0
lea eax, [ebp + 0x56e8]
lea ecx, [esp + 0x80]
push eax
push str.RETRYMSEC_STR
call fcn.0051eed0
lea eax, [ebp + 0x56ec]
push eax
push str.RETRYMAX_STR
lea ecx, [esp + 0x88]
call fcn.0051eed0
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 4
jb 0x40adc3
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
mov ecx, str.RECVMAXNT_STR
jb 0x40adc8
mov ecx, str.RECVMAX95_STR
lea eax, [ebp + 0x56f0]
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0051eed0
lea eax, [ebp + 0x505c]
lea ecx, [esp + 0x80]
push eax
push str.NOERASE_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d64]
lea ecx, [esp + 0x80]
push eax
push str.DEBUG_STR
call fcn.0051eed0
lea eax, [ebp + 0x5054]
lea ecx, [esp + 0x80]
push eax
push str.NOPOPUPCHECK_STR
call fcn.0051eed0
lea eax, [ebp + 0x5058]
lea ecx, [esp + 0x80]
push eax
push str.OPENCHECK_STR
call fcn.0051eed0
lea esi, [ebp + 0x55d4]
lea ecx, [esp + 0x80]
push esi
push str.ABSENCESAVE_STR
call fcn.0051eed0
cmp dword [esi], ebx
je 0x40ae70
lea eax, [ebp + 0x55d8]
lea ecx, [esp + 0x80]
push eax
push str.ABSENCECHECK_STR
call fcn.0051eed0
lea esi, [ebp + 0x55dc]
lea ecx, [esp + 0x80]
push esi
push str.ABSENCEMAX_STR
call fcn.0051eed0
lea eax, [ebp + 0x5654]
lea ecx, [esp + 0x80]
push eax
push str.FILETRANSOPT_STR
call fcn.0051eed0
lea eax, [ebp + 0x5658]
lea ecx, [esp + 0x80]
push eax
push str.RESOLVEOPT_STR
call fcn.0051eed0
lea eax, [ebp + 0x565c]
lea ecx, [esp + 0x80]
push eax
push str.ENCRYPTNUM_STR
call fcn.0051eed0
lea edi, [ebp + 0x5660]
lea ecx, [esp + 0x80]
push edi
push str.VIEWMAX_STR
call fcn.0051eed0
cmp dword [edi], 0x100000
jge 0x40aef6
mov dword [edi], 0x800000
lea edi, [ebp + 0x5664]
lea ecx, [esp + 0x80]
push edi
push str.TRANSMAX_STR
call fcn.0051eed0
cmp dword [edi], 8
jge 0x40af19
mov dword [edi], 0x10000
lea edi, [ebp + 0x5668]
lea ecx, [esp + 0x80]
push edi
push str.RECVTRANSMAX_STR
call fcn.0051eed0
cmp dword [edi], 8
jge 0x40af3c
mov dword [edi], 0x10000
lea edi, [ebp + 0x566c]
lea ecx, [esp + 0x80]
push edi
push str.TCPBUFMAX_STR
call fcn.0051eed0
cmp dword [edi], 0x2000
jge 0x40af62
mov dword [edi], 0x40000
mov eax, dword [esi]
mov ecx, eax
shl ecx, 6
add ecx, eax
shl ecx, 2
push ecx
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [ebp + 0x55e4], edi
mov eax, dword [esi]
mov ecx, eax
push ebx
shl ecx, 6
add ecx, eax
xor eax, eax
shl ecx, 2
mov edx, ecx
push 0x104
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 0x55e4]
lea ecx, [esp + 0x88]
push eax
push str.ABSENCESTR_STR
call fcn.0051f130
mov eax, dword [esi]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 1
push ecx
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [ebp + 0x55e8], edi
mov eax, dword [esi]
mov dword [esp + 0x14], ebx
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
xor eax, eax
shl ecx, 1
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
cmp dword [esi], ebx
jle 0x40b092
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 0x1a8]
mov edx, dword [ebp + 0x55e4]
push 0x104
push eax
mov eax, dword [esp + 0x34]
add eax, edx
push eax
call fcn.0043bab0
mov eax, dword [esp + 0x20]
add esp, 0xc
xor ecx, ecx
cmp eax, 8
mov edx, dword [esp + 0x1c]
mov esi, dword [ebp + 0x55e8]
setge cl
dec ecx
add edx, esi
and ecx, eax
xor eax, eax
mov edi, dword [ecx*4 + 0x5e04a4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x1c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x14]
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x55dc]
add esi, 0x104
add edx, 0x32
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edx
jl 0x40b002
lea eax, [ebp + 0x5070]
lea ecx, [esp + 0x80]
push eax
push str.DELAYTIME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5640]
lea ecx, [esp + 0x80]
push eax
push str.IPADDRCHECK_STR
call fcn.0051eed0
lea eax, [ebp + 0x506c]
lea ecx, [esp + 0x80]
push eax
push str.ONECLICKPOPUP_STR
call fcn.0051eed0
lea eax, [ebp + 0x56d8]
lea ecx, [esp + 0x80]
push eax
push str.ABNORMALBTN_STR
call fcn.0051eed0
lea eax, [ebp + 0x5db4]
lea ecx, [esp + 0x80]
push eax
push str.DIALUPCHECK_STR
call fcn.0051eed0
lea esi, [ebp + 0x5670]
lea ecx, [esp + 0x80]
push esi
push str.NICKNAMECHECK_STR
call fcn.0051eed0
mov edx, dword [esi]
xor ecx, ecx
cmp edx, 1
lea eax, [ebp + 0x56dc]
sete cl
mov dword [esi], ecx
push eax
push str.ABSENCENONPOPUP_STR
lea ecx, [esp + 0x88]
call fcn.0051eed0
push ebx
lea eax, [ebp + 0x5674]
push 0x32
push eax
push str.NICKNAMESTR_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x56a6]
push 0x32
push eax
push str.GROUPNAMESTR_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
lea eax, [ebp + 0x5d18]
lea ecx, [esp + 0x80]
push eax
push str.SORT_STR
call fcn.0051ef20
lea eax, [ebp + 0x5d20]
lea ecx, [esp + 0x80]
push eax
push str.KEEPHOSTTIME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5644]
lea ecx, [esp + 0x80]
push eax
push str.CONTROLIME_STR
call fcn.0051eed0
lea esi, [ebp + 0x5074]
lea ecx, [esp + 0x80]
push esi
push str.LOGCHECK_STR
call fcn.0051eed0
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov edx, dword [esi]
push edx
mov ecx, eax
call fcn.00478340
push ebx
lea esi, [ebp + 0x5078]
push 0x104
push esi
push str.LOGFILE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
mov edi, 0x5f3788
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40b239
cmp al, bl
je 0x40b235
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40b239
add esi, 2
add edi, 2
cmp al, bl
jne 0x40b211
xor eax, eax
jmp 0x40b23e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40b34e
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x18]
push eax
call fcn.00443770
add esp, 8
mov ecx, eax
mov byte [esp + 0x56f0], 0x14
call fcn.0040d730
lea ecx, [esp + 0xb28]
push eax
push ecx
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
push 1
push ecx
lea edx, [esp + 0xb2c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42.DLL_CString::CString_3
call fcn.00443380
add esp, 8
lea eax, [esp + 0xb24]
lea ecx, [esp + 0x10]
push 1
push eax
call sub.MFC42.DLL_CString::CString_3
push ecx
mov byte [esp + 0x56f4], 0x15
mov ecx, esp
mov dword [esp + 0x20], esp
push str._feiq
push eax
push ecx
call sub.MFC42.DLL_operator
call fcn.00443380
add esp, 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
mov edi, str._feiq_feiq.fql
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xb24]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x104
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xb28]
mov ecx, edx
push eax
and ecx, 3
lea eax, [ebp + 0x5078]
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.0043bab0
add esp, 0xc
jmp 0x40b3b6
lea esi, [ebp + 0x5078]
push esi
call fcn.00440560
add esp, 4
test al, al
jne 0x40b3b6
lea ecx, [esp + 0x20]
push esi
push ecx
call fcn.004e07e0
add esp, 8
push 1
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x56f8], 0x16
call sub.MFC42.DLL_CString::CString_4
call fcn.00443380
push 0x104
lea eax, [esp + 0xb30]
push esi
push eax
call fcn.0043bab0
add esp, 0x14
lea ecx, [esp + 0x20]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
push ecx
lea esi, [ebp + 0x5078]
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call sub.MFC42.DLL_CString::CString_3
mov byte [esp + 0x56f0], 9
call fcn.0040d740
mov ecx, eax
call fcn.00477fa0
cmp dword [ebp + 0x5074], ebx
je 0x40b3ee
push esi
call fcn.0049ba30
add esp, 4
or ecx, 0xffffffff
mov edi, 0x5e0880
xor eax, eax
lea edx, [ebp + 0x558c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
push 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x5e087c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.TreeStryleLargeIcon1_STR
mov eax, ecx
mov esi, edi
shr ecx, 2
lea edi, [ebp + 0x5598]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.1364
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0x55a4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.123456
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0x55b0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5e084c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0x55bc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5598]
push 0xc
push eax
push str.TreeStryleLargeIcon2_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x55a4]
push 0xc
push eax
push str.TreeStryleSmallIcon_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x55b0]
push 0xc
push eax
push str.ListColStryle_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x55bc]
push 0xc
push eax
push str.GetMacStryle_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5384]
push 0x104
push eax
push str.SHAKESOUNDFILE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5280]
push 0x104
push eax
push str.QUNSOUNDFILE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x517c]
push 0x104
push eax
push str.SOUNDFILE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x56fe]
push 0x104
push eax
push str.ICON_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5802]
push 0x104
push eax
push str.REVICON_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5906]
push 0x104
push eax
push str.ICONNOVISIBLE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5a0a]
push 0x104
push eax
push str.MSGICON_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5c12]
push 0x104
push eax
push str.LASTOPEN_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
push ebx
lea eax, [ebp + 0x5b0e]
push 0x104
push eax
push str.LASTSAVE_STR
lea ecx, [esp + 0x90]
call fcn.0051f130
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
cmp dword [eax + 0x288], ebx
je 0x40b6e9
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
lea ecx, [esp + 0x1c]
add eax, 0x28c
push eax
call sub.MFC42.DLL_CString::CString_4
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x18
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x1c]
add eax, 0xfffffffb
push eax
push edx
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x56f0], 0x19
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x18
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x5488]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x56ec], 9
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
jmp 0x40b7c5
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x5488]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x104
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
push str.SYSWORKDIR_STR
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
call fcn.0051f130
mov edi, 0x5f3788
lea esi, [ebp + 0x5488]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40b75c
cmp al, bl
je 0x40b758
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40b75c
add esi, 2
add edi, 2
cmp al, bl
jne 0x40b734
xor eax, eax
jmp 0x40b761
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40b7b8
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x18]
push eax
call fcn.00443770
add esp, 8
mov ecx, eax
mov byte [esp + 0x56f0], 0x1a
call fcn.0040d730
push eax
lea eax, [ebp + 0x5488]
push eax
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 9
call sub.MFC42.DLL_CString::CString
call sub.MFC42.DLL_AfxGetModuleState
mov ecx, dword [eax + 4]
call fcn.00479070
lea ecx, [esp + 0x204]
call sub.MFC42.DLL_CFileFind::CFileFind
lea esi, [ebp + 0x5488]
push ebx
push esi
lea ecx, [esp + 0x20c]
mov byte [esp + 0x56f4], 0x1b
call sub.MFC42.DLL_CFileFind::FindFile
xor edi, edi
cmp eax, ebx
je 0x40b81b
lea ecx, [esp + 0x204]
call sub.MFC42.DLL_CFileFind::FindNextFileA
mov edx, dword [esp + 0x204]
push 0x10
lea ecx, [esp + 0x208]
call dword [edx + 0x40]
cmp eax, ebx
je 0x40b81b
mov edi, 1
lea ecx, [esp + 0x204]
call sub.MFC42.DLL_CFileFind::Close
cmp edi, ebx
jne 0x40b890
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x40b890
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x18]
push eax
call fcn.00443770
add esp, 8
mov ecx, eax
mov byte [esp + 0x56f0], 0x1c
call fcn.0040d730
push eax
push esi
call fcn.0043bab0
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x1b
call sub.MFC42.DLL_CString::CString
call sub.MFC42.DLL_AfxGetModuleState
mov ecx, dword [eax + 4]
call fcn.00479070
lea eax, [ebp + 0x5674]
lea ecx, [esp + 0x30]
push eax
call sub.MFC42.DLL_CString::CString_3
lea eax, [ebp + 0x56a6]
lea ecx, [esp + 0x38]
push eax
mov byte [esp + 0x56f0], 0x1d
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov byte [esp + 0x56ec], 0x1e
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::TrimRight
mov ecx, dword [esp + 0x30]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x5f3788
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40bad0
mov edx, dword [esp + 0x38]
push 0x5f3788
push edx
call esi
add esp, 8
test eax, eax
jne 0x40bad0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x80]
push eax
push str.Height
mov dword [esp + 0x28], ebx
call fcn.0051eed0
cmp dword [esp + 0x20], ebx
jne 0x40bad0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.NickNameStr
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebp
call fcn.004109c0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x56f0], 0x1f
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x1e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::TrimRight
mov edx, dword [esp + 0x30]
push 0x5f3788
push edx
call esi
add esp, 8
test eax, eax
je 0x40ba09
mov eax, dword [esp + 0x30]
cmp dword [eax - 8], 0x31
jl 0x40b9de
lea ecx, [esp + 0x10]
push 0x31
push ecx
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x56f0], 0x20
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x1e
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x30]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x5674]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.GroupNameStr
call sub.MFC42.DLL_CString::CString_3
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
call fcn.004109c0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x56f0], 0x21
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x1e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::TrimLeft
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::TrimRight
mov ecx, dword [esp + 0x38]
push 0x5f3788
push ecx
call esi
add esp, 8
test eax, eax
je 0x40bad0
mov edx, dword [esp + 0x38]
cmp dword [edx - 8], 0x31
jl 0x40baab
lea eax, [esp + 0x10]
push 0x31
push eax
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x56f0], 0x22
call fcn.00572d3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x56ec], 0x1e
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x38]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + 0x56a6]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push str.WINSIZE_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
je 0x40bb87
lea eax, [ebp + 0x5d68]
lea ecx, [esp + 0x80]
push eax
push str.SENDNICKNAME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d74]
lea ecx, [esp + 0x80]
push eax
push str.SENDHOSTNAME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d80]
lea ecx, [esp + 0x80]
push eax
push str.SENDUSERNAME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d70]
lea ecx, [esp + 0x80]
push eax
push str.SENDGROUPNAME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d78]
lea ecx, [esp + 0x80]
push eax
push str.SENDTYPENAME_STR
call fcn.0051eed0
lea eax, [ebp + 0x5d7c]
lea ecx, [esp + 0x80]
push eax
push str.SENDIPADDR_STR
call fcn.0051eed0
lea ecx, [esp + 0x80]
call fcn.0051ee70
lea ecx, [esp + 0x190]
call sub.MFC42.DLL_CStringArray::CStringArray
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x198]
mov byte [esp + 0x56f4], 0x23
call sub.MFC42.DLL_CStringArray::SetSize
push ebx
push str.BROADCAST_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
jne 0x40bbe0
lea eax, [esp + 0x190]
mov ecx, ebp
push eax
call fcn.00410f10
lea ecx, [esp + 0x190]
push ecx
mov ecx, ebp
call fcn.00410ac0
jmp 0x40bbec
lea ecx, [esp + 0x80]
call fcn.0051ee70
push 1
push str.BROADCAST_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
test eax, eax
je 0x40bc81
xor esi, esi
mov eax, esi
lea edx, [esp + 0x5a0]
push eax
push 0x5e0698
push edx
inc esi
call edi
add esp, 0xc
lea eax, [esp + 0x1028]
lea ecx, [esp + 0x5a0]
push ebx
push 0xc8
push eax
push ecx
lea ecx, [esp + 0x90]
call fcn.0051f130
cmp eax, 1
jne 0x40bc66
mov eax, dword [esp + 0x198]
lea edx, [esp + 0x1028]
push edx
push eax
lea ecx, [esp + 0x198]
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
jmp 0x40bc0b
lea ecx, [esp + 0x80]
call fcn.0051ee70
lea ecx, [esp + 0x190]
push ecx
mov ecx, ebp
call fcn.00410ac0
call sub.MFC42.DLL_AfxGetModuleState
mov edi, dword [eax + 4]
cmp dword [edi + 0x1c8], ebx
je 0x40bcd4
mov eax, dword [edi + 0x1cc]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jbe 0x40bcd4
mov edx, dword [edi + 0x1c8]
mov eax, dword [esp + 0x14]
mov esi, dword [edx + eax*4]
cmp esi, ebx
je 0x40bcc1
lea ecx, [esi + 0xc]
push 1
push ecx
call sub.MFC42.DLL_DestructElements
mov esi, dword [esi]
cmp esi, ebx
jne 0x40bcb0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x1cc]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x40bc9f
mov eax, dword [edi + 0x1c8]
push eax
call sub.MFC42.DLL_operatordelete
mov dword [edi + 0x1c8], ebx
mov dword [edi + 0x1d0], ebx
mov dword [edi + 0x1d4], ebx
mov ecx, dword [edi + 0x1d8]
add esp, 4
call sub.MFC42.DLL_CPlex::FreeDataChain
push ebx
push str.QUNGROUP_STR
lea ecx, [esp + 0x88]
mov dword [edi + 0x1d8], ebx
call fcn.0051ecd0
test eax, eax
je 0x40c6f0
xor esi, esi
mov dword [esp + 0x20], esi
push ebx
lea edx, [esp + 0x5a4]
push 0xc8
push edx
push esi
lea ecx, [esp + 0x90]
call fcn.0051f790
test eax, eax
jne 0x40bd67
lea eax, [esp + 0x5a0]
push 0xc8
push eax
push esi
lea ecx, [esp + 0x8c]
call fcn.0051f680
test eax, eax
je 0x40c6e4
lea ecx, [esp + 0x1c]
push 1
push ecx
lea edx, [esp + 0x5a8]
push ebx
push edx
lea ecx, [esp + 0x90]
mov dword [esp + 0x2c], ebx
call fcn.0051f3d0
mov eax, dword [esp + 0x1c]
cmp eax, 0x278
jb 0x40c6d4
push eax
call sub.MFC42.DLL_operatornew
mov edx, eax
or ecx, 0xffffffff
mov edi, 0x5f3788
xor eax, eax
add esp, 4
lea esi, [esp + 0x6c0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x5f3788
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x6f2]
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x732]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x832]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x876]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x5f3788
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x8be]
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x5f3788
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x8ce]
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x8fc]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x918]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x14], esi
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x20]
push ecx
push edx
lea edx, [esp + 0x5ac]
lea ecx, [esp + 0x8c]
push edx
call fcn.0051f3d0
test eax, eax
je 0x40c6c7
push 0x10
lea eax, [esp + 0x5a4]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll_strtoul]
add esp, 0xc
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
push 4
push ecx
lea ecx, [esp + 0x58]
call fcn.00404a70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x56ec], 0x24
cmp eax, 0x4000
jle 0x40bfb5
mov edx, dword [esp + 0x24]
push edx
jmp 0x40c0e3
mov esi, dword [esp + 0x24]
mov ecx, eax
mov edx, ecx
lea edi, [esp + 0x16e4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
push ebx
push 0x22
push eax
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x16f4]
lea ecx, [esp + 0x16f4]
push eax
push ecx
lea ecx, [esp + 0x68]
call fcn.00405700
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
push edx
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x20]
add esp, 4
cmp eax, ebx
jne 0x40c028
lea ecx, [esp + 0x50]
mov byte [esp + 0x56ec], 0x23
call fcn.00404ab0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x40bd26
push eax
call sub.MFC42.DLL_operatornew
mov ecx, dword [esp + 0x20]
lea esi, [esp + 0x16e8]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
mov dword [esp + 0x24], eax
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax]
xor ecx, ecx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x170], ecx
mov edi, str.QUNMSGMARK
mov dword [esp + 0x174], ecx
lea esi, [esp + 0x16c]
mov dword [esp + 0x178], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x170], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x174], edx
mov cx, word [eax + 0xc]
mov word [esp + 0x178], cx
mov dl, byte [eax + 0xe]
mov byte [esp + 0x17a], dl
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40c0d5
cmp al, bl
je 0x40c0d1
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40c0d5
add esi, 2
add edi, 2
cmp al, bl
jne 0x40c0ad
xor eax, eax
jmp 0x40c0da
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40c10c
mov eax, dword [esp + 0x24]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x50]
mov byte [esp + 0x56ec], 0x23
call fcn.00404ab0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x40bd26
mov ecx, dword [esp + 0x24]
lea edi, [esp + 0x6bc]
lea esi, [ecx + 0x10]
mov ecx, 0x9a
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14]
mov dword [esp + 0x8f0], ebx
call sub.MFC42.DLL_CString::CString_5
lea ecx, [esp + 0x2c]
mov byte [esp + 0x56ec], 0x25
call sub.MFC42.DLL_CString::CString_5
mov edx, dword [esp + 0x6bc]
lea eax, [esp + 0x14]
push edx
push 0x5e0674
push eax
mov byte [esp + 0x56f8], 0x26
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x5a0]
push ecx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::TrimRight
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x40c1e5
mov ecx, dword [esp + 0x24]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x56ec], 0x25
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 0x24
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x56ec], 0x23
call fcn.00404ab0
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x40bd26
xor esi, esi
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
cmp dword [eax + 0x1e8], ebx
jle 0x40c22a
xor edi, edi
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1e4]
mov eax, dword [esp + 0x6bc]
cmp dword [edx + edi], eax
je 0x40c22a
inc esi
add edi, 0x268
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
cmp esi, dword [eax + 0x1e8]
jl 0x40c1f9
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
cmp esi, dword [eax + 0x1e8]
jl 0x40c53e
call sub.MFC42.DLL_AfxGetModuleState
mov edi, dword [eax + 4]
mov dword [esp + 0x3c], edi
mov ecx, dword [edi + 0x1e8]
mov eax, ecx
mov dword [esp + 0x10], eax
lea esi, [eax + 1]
mov eax, dword [edi + 0x1e4]
cmp esi, ebx
jne 0x40c28b
cmp eax, ebx
je 0x40c27a
push eax
mov dword [esp + 0x1c], ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [edi + 0x1e4], ebx
mov dword [edi + 0x1ec], ebx
mov dword [edi + 0x1e8], ebx
jmp 0x40c3e2
cmp eax, ebx
jne 0x40c2c2
lea ecx, [esi + esi*8]
lea edx, [esi + ecx*2]
lea eax, [esi + edx*4]
shl eax, 3
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [edi + 0x1e4], eax
push esi
push eax
call fcn.00411f90
mov dword [edi + 0x1ec], esi
mov dword [edi + 0x1e8], esi
jmp 0x40c3e2
mov edx, dword [edi + 0x1ec]
cmp esi, edx
mov dword [esp + 0x68], edx
jg 0x40c309
cmp ecx, esi
jge 0x40c2f6
mov edx, esi
sub edx, ecx
push edx
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea ecx, [ecx + edx*4]
lea edx, [eax + ecx*8]
push edx
call fcn.00411f90
mov dword [edi + 0x1e8], esi
jmp 0x40c3e2
jle 0x40c2fe
sub ecx, esi
mov dword [esp + 0x18], ecx
mov dword [edi + 0x1e8], esi
jmp 0x40c3e2
mov eax, dword [edi + 0x1f0]
cmp eax, ebx
jne 0x40c336
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40c32a
mov eax, 4
jmp 0x40c336
cmp eax, 0x400
jle 0x40c336
mov eax, 0x400
mov ecx, dword [esp + 0x68]
add eax, ecx
cmp esi, eax
mov dword [esp + 0x68], eax
jl 0x40c348
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x68]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*4]
shl edx, 3
push edx
call sub.MFC42.DLL_operatornew
mov edx, dword [esp + 0x40]
mov edi, eax
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [edx + 0x1e8]
lea esi, [ecx + ecx*8]
lea esi, [ecx + esi*2]
lea ecx, [ecx + esi*4]
mov esi, dword [edx + 0x1e4]
shl ecx, 3
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x3c]
lea edi, [edx + 1]
mov edx, edi
mov ecx, dword [esi + 0x1e8]
sub edx, ecx
push edx
lea edx, [ecx + ecx*8]
lea edx, [ecx + edx*2]
lea ecx, [ecx + edx*4]
lea edx, [eax + ecx*8]
push edx
call fcn.00411f90
mov eax, dword [esi + 0x1e4]
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1e8], edi
add esp, 4
mov dword [esi + 0x1ec], ecx
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x6bc]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x1e4]
lea edi, [ecx + edx*8]
mov ecx, 0x9a
rep movsd dword es:[edi], dword [esi]
call sub.MFC42.DLL_AfxGetModuleState
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x6bc]
shr eax, 4
mov ecx, dword [esi + 0x1cc]
xor edx, edx
div ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x1c8]
cmp ecx, ebx
mov dword [esp + 0x3c], edx
je 0x40c463
mov eax, dword [ecx + edx*4]
cmp eax, ebx
je 0x40c45f
mov edx, dword [esp + 0x6bc]
mov edi, dword [eax + 8]
cmp edi, edx
je 0x40c455
mov eax, dword [eax]
cmp eax, ebx
jne 0x40c43f
jmp 0x40c45f
cmp eax, ebx
mov edi, eax
jne 0x40c531
cmp ecx, ebx
jne 0x40c49d
mov eax, dword [esp + 0x10]
lea edi, [eax*4]
push edi
call sub.MFC42.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [esi + 0x1c8], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x10]
mov dword [esi + 0x1cc], eax
cmp dword [esi + 0x1d4], ebx
jne 0x40c4e3
mov ecx, dword [esi + 0x1dc]
push 0x10
lea edx, [esi + 0x1d8]
push ecx
push edx
call sub.MFC42.DLL_CPlex::Create
mov ecx, dword [esi + 0x1dc]
mov edx, ecx
shl edx, 4
dec ecx
cmp ecx, ebx
lea eax, [edx + eax - 0xc]
jl 0x40c4e3
inc ecx
mov edx, dword [esi + 0x1d4]
mov dword [eax], edx
mov dword [esi + 0x1d4], eax
sub eax, 0x10
dec ecx
jne 0x40c4cf
mov edi, dword [esi + 0x1d4]
push 1
mov eax, dword [edi]
lea ecx, [edi + 0xc]
mov dword [esi + 0x1d4], eax
mov edx, dword [esi + 0x1d0]
inc edx
push ecx
mov dword [esi + 0x1d0], edx
mov dword [edi + 8], ebx
call sub.MFC42.DLL_ConstructElements
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x6bc]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [esi + 0x1c8]
mov edx, dword [ecx + eax*4]
mov dword [edi], edx
mov ecx, dword [esi + 0x1c8]
mov dword [ecx + eax*4], edi
lea edx, [esp + 0x14]
lea ecx, [edi + 0xc]
push edx
call fcn.00572d3c
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x27c
jb 0x40c694
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x278]
cmp eax, ebx
jle 0x40c694
mov esi, eax
shl esi, 4
add esi, 0x27c
cmp ecx, esi
jne 0x40c694
cmp eax, ebx
jle 0x40c694
add edx, 0x27c
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], edx
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x150]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx]
mov dword [esp + 0x150], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x154], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x158], edx
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [esp + 0x15c], eax
call sub.MFC42.DLL_CString::CString_5
mov esi, dword [esp + 0x6bc]
lea ecx, [esp + 0x150]
push ecx
push esi
lea edx, [esp + 0x30]
push str._08x_s
push edx
mov byte [esp + 0x56fc], 0x27
call sub.MFC42.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString_5
push esi
lea eax, [esp + 0x38]
push 0x5e0674
push eax
mov byte [esp + 0x56f8], 0x28
call sub.MFC42.DLL_CString::Format
add esp, 0xc
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea ecx, [eax + 0x208]
call sub.MFC42.DLL_CMapStringToString::operator__
mov ecx, eax
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x34]
mov byte [esp + 0x56ec], 0x27
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x56ec], 0x26
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
add ecx, 0x10
dec eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x10], eax
jne 0x40c589
lea ecx, [esp + 0x2c]
mov byte [esp + 0x56ec], 0x25
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 0x24
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0x56ec], 0x23
call fcn.00404ab0
mov eax, dword [esp + 0x24]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
mov esi, eax
jmp 0x40bd26
lea ecx, [esp + 0x80]
call fcn.0051ee70
mov eax, dword [ebp + 0x5de8]
cmp eax, ebx
je 0x40c709
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x5de8], ebx
push ebx
mov dword [ebp + 0x5df0], ebx
push str.RUBBISH_STR
lea ecx, [esp + 0x88]
mov dword [ebp + 0x5dec], ebx
call fcn.0051ecd0
test eax, eax
jne 0x40ca63
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x6bc]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x7d0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_5
push 0x5e05a0
lea ecx, [esp + 0x28]
mov byte [esp + 0x56f0], 0x2b
call sub.MFC42.DLL_CString::operator_2
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 8]
cmp eax, 0x103
jle 0x40c7e2
lea edx, [esp + 0x18]
push 0x103
push edx
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x56f0], 0x2c
call fcn.00572d3c
lea ecx, [esp + 0x18]
mov byte [esp + 0x56ec], 0x2b
call sub.MFC42.DLL_CString::CString
mov edi, dword [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x6bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x7d0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x7c0], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x7c4], 1
shr ecx, 2
mov dword [esp + 0x7c8], 2
mov dword [esp + 0x7cc], 3
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5dec]
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 1]
cmp eax, ebx
jne 0x40c896
mov eax, dword [ebp + 0x5de8]
cmp eax, ebx
je 0x40c885
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x5de8], ebx
mov dword [ebp + 0x5df0], ebx
mov dword [ebp + 0x5dec], ebx
jmp 0x40ca2b
mov edx, dword [ebp + 0x5de8]
cmp edx, ebx
jne 0x40c91b
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov edx, esi
shl edx, 5
add edx, esi
lea edi, [esi + edx*2]
shl edi, 3
push edi
call sub.MFC42.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [ebp + 0x5de8], edx
mov dword [esp + 0x14], edx
mov edi, edx
mov edx, ecx
xor eax, eax
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edi
cmp edi, ebx
mov byte [esp + 0x56ec], 0x2d
je 0x40c8f8
mov ecx, edi
call fcn.0040d750
add edi, 0x218
dec esi
mov dword [esp + 0x10], edi
jne 0x40c8dd
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ebp + 0x5df0], eax
mov dword [ebp + 0x5dec], eax
jmp 0x40ca2b
mov esi, dword [ebp + 0x5df0]
cmp eax, esi
jg 0x40c956
cmp eax, ecx
jle 0x40c948
mov eax, dword [esp + 0x1c]
inc eax
sub eax, ecx
push eax
mov eax, ecx
shl eax, 5
add eax, ecx
lea ecx, [ecx + eax*2]
lea edx, [edx + ecx*8]
push edx
call fcn.00411d90
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebp + 0x5dec], eax
jmp 0x40ca2b
mov eax, dword [ebp + 0x5df4]
cmp eax, ebx
jne 0x40c983
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40c977
mov eax, 4
jmp 0x40c983
cmp eax, 0x400
jle 0x40c983
mov eax, 0x400
mov ecx, dword [esp + 0x1c]
add eax, esi
inc ecx
mov dword [esp + 0x20], eax
cmp ecx, eax
jl 0x40c996
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov edx, eax
shl edx, 5
add edx, eax
lea eax, [eax + edx*2]
shl eax, 3
push eax
call sub.MFC42.DLL_operatornew
mov ecx, dword [ebp + 0x5dec]
mov esi, dword [ebp + 0x5de8]
mov edx, ecx
mov edi, eax
shl edx, 5
add edx, ecx
add esp, 4
mov dword [esp + 0x18], eax
lea ecx, [ecx + edx*2]
shl ecx, 3
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5dec]
lea esi, [edx + 1]
mov edx, esi
sub edx, ecx
push edx
mov edx, ecx
shl edx, 5
add edx, ecx
lea ecx, [ecx + edx*2]
lea edx, [eax + ecx*8]
push edx
call fcn.00411d90
mov eax, dword [ebp + 0x5de8]
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0x5de8], eax
mov dword [ebp + 0x5dec], esi
add esp, 4
mov dword [ebp + 0x5df0], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x5de8]
mov edx, eax
lea esi, [esp + 0x6bc]
shl edx, 5
add edx, eax
mov byte [esp + 0x56ec], 0x23
lea eax, [eax + edx*2]
lea edi, [ecx + eax*8]
mov ecx, 0x86
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
jmp 0x40ca6f
lea ecx, [esp + 0x80]
call fcn.0051ee70
push 1
push str.RUBBISH_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
je 0x40d16e
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10f0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x5a0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, ecx
inc ecx
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x5a4]
push 0x5e0698
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x10f0]
lea eax, [esp + 0x5a0]
lea ecx, [esp + 0x80]
push ebx
push 0x400
push edx
push eax
call fcn.0051f130
cmp eax, 1
jne 0x40d162
lea ecx, [esp + 0x10f0]
push ecx
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x150]
mov byte [esp + 0x56ec], 0x2e
call sub.MFC42.DLL_CStringArray::CStringArray
push 1
lea edx, [esp + 0x154]
push ebx
push edx
push ecx
mov byte [esp + 0x56fc], 0x2f
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x5e0598
call sub.MFC42.DLL_CString::CString_3
push ecx
lea eax, [esp + 0x48]
mov ecx, esp
mov dword [esp + 0x90], esp
push eax
mov byte [esp + 0x5704], 0x30
call sub.MFC42.DLL_CString::CString_4
mov byte [esp + 0x5700], 0x2f
call fcn.004406f0
mov eax, dword [esp + 0x16c]
add esp, 0x14
cmp eax, 6
jl 0x40d138
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 4]
cmp dword [edx - 8], 0x102
jg 0x40d138
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x6bc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x7d0]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x18], esi
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x6bc]
sub edi, ecx
mov eax, esi
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + 8]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov edx, dword [esp + 0x158]
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
mov edi, eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x7c4], edi
push eax
call esi
mov dword [esp + 0x7cc], eax
mov eax, dword [esp + 0x15c]
mov eax, dword [eax + 0x10]
push eax
call esi
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x7d4], eax
mov eax, dword [ecx + 0x14]
push eax
call esi
add esp, 0x10
cmp edi, ebx
mov dword [esp + 0x7cc], eax
jl 0x40ccb7
cmp edi, 3
jle 0x40ccbe
mov dword [esp + 0x7c0], ebx
mov ecx, dword [esp + 0x7c4]
cmp ecx, ebx
jl 0x40ccce
cmp ecx, 1
jle 0x40ccd5
mov dword [esp + 0x7c4], ebx
mov ecx, dword [esp + 0x7c8]
cmp ecx, ebx
jl 0x40cce5
cmp ecx, 2
jle 0x40ccec
mov dword [esp + 0x7c8], ebx
cmp eax, ebx
jl 0x40ccf5
cmp eax, 4
jle 0x40ccfc
mov dword [esp + 0x7cc], ebx
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x7d0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x158]
and ecx, 3
cmp eax, 6
rep movsb byte es:[edi], byte [esi]
jle 0x40cd68
mov ecx, dword [esp + 0x154]
mov edi, dword [ecx + 0x18]
cmp dword [edi - 8], 0x100
jg 0x40cd68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x7d0]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5dec]
mov eax, ecx
mov dword [esp + 0x1c], eax
inc eax
cmp eax, ebx
jne 0x40cda7
mov eax, dword [ebp + 0x5de8]
cmp eax, ebx
je 0x40cd96
push eax
mov dword [esp + 0x1c], ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x5de8], ebx
mov dword [ebp + 0x5df0], ebx
mov dword [ebp + 0x5dec], ebx
jmp 0x40d113
mov edx, dword [ebp + 0x5de8]
cmp edx, ebx
jne 0x40ce94
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov edx, esi
shl edx, 5
add edx, esi
lea edi, [esi + edx*2]
shl edi, 3
push edi
call sub.MFC42.DLL_operatornew
mov edx, eax
mov ecx, edi
mov dword [esp + 0x1c], edx
mov dword [ebp + 0x5de8], edx
mov edi, edx
mov edx, ecx
xor eax, eax
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov dword [esp + 0x20], esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
lea edx, [eax + 0x108]
lea ecx, [edx - 0x108]
test ecx, ecx
je 0x40ce6b
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx - 0x108]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [edx - 4], ebx
mov dword [edx], ebx
mov edi, 0x5f3788
or ecx, 0xffffffff
mov dword [edx + 4], ebx
lea esi, [edx + 0xc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
add edx, 0x218
dec eax
mov dword [esp + 0x20], eax
jne 0x40ce00
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebp + 0x5df0], eax
mov dword [ebp + 0x5dec], eax
jmp 0x40d113
mov esi, dword [ebp + 0x5df0]
cmp eax, esi
jg 0x40cf93
cmp ecx, eax
jge 0x40cf79
mov esi, ecx
sub eax, ecx
shl esi, 5
add esi, ecx
mov dword [esp + 0x18], eax
lea ecx, [ecx + esi*2]
lea edx, [edx + ecx*8]
mov ecx, eax
shl ecx, 5
add ecx, eax
mov edi, edx
lea ecx, [eax + ecx*2]
xor eax, eax
shl ecx, 3
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
je 0x40cf81
inc eax
mov dword [esp + 0x20], eax
cmp edx, ebx
je 0x40cf56
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [edx + 0x104], ebx
mov dword [edx + 0x108], ebx
mov edi, 0x5f3788
or ecx, 0xffffffff
mov dword [edx + 0x10c], ebx
lea esi, [edx + 0x114]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
add edx, 0x218
dec eax
mov dword [esp + 0x20], eax
jne 0x40cef0
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebp + 0x5dec], eax
jmp 0x40d113
jle 0x40cf81
sub ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [ebp + 0x5dec], eax
jmp 0x40d113
mov eax, dword [ebp + 0x5df4]
cmp eax, ebx
jne 0x40cfc0
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40cfb4
mov eax, 4
jmp 0x40cfc0
cmp eax, 0x400
jle 0x40cfc0
mov eax, 0x400
mov edx, dword [esp + 0x1c]
add eax, esi
mov dword [esp + 0x20], eax
lea ecx, [edx + 1]
cmp ecx, eax
jl 0x40cfd5
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov ecx, eax
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*2]
shl edx, 3
push edx
call sub.MFC42.DLL_operatornew
mov ecx, dword [ebp + 0x5dec]
mov esi, dword [ebp + 0x5de8]
mov edx, ecx
mov edi, eax
shl edx, 5
add edx, ecx
add esp, 4
mov dword [esp + 0x7c], eax
lea ecx, [ecx + edx*2]
shl ecx, 3
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x5dec]
mov ecx, dword [esp + 0x1c]
mov edx, esi
inc ecx
shl edx, 5
add edx, esi
sub ecx, esi
mov dword [esp + 0x18], ecx
lea edx, [esi + edx*2]
lea edx, [eax + edx*8]
mov eax, ecx
shl eax, 5
add eax, ecx
mov edi, edx
lea ecx, [ecx + eax*2]
xor eax, eax
shl ecx, 3
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
je 0x40d0e0
inc eax
mov dword [esp + 0x28], eax
cmp edx, ebx
je 0x40d0cf
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [edx + 0x104], ebx
mov dword [edx + 0x108], ebx
mov edi, 0x5f3788
or ecx, 0xffffffff
mov dword [edx + 0x10c], ebx
lea esi, [edx + 0x114]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x28]
add edx, 0x218
dec eax
mov dword [esp + 0x28], eax
jne 0x40d069
mov eax, dword [ebp + 0x5de8]
push eax
call sub.MFC42.DLL_operatordelete
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov dword [ebp + 0x5de8], ecx
add esp, 4
lea eax, [edx + 1]
mov dword [ebp + 0x5dec], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x5df0], eax
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x6bc]
mov ecx, eax
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*2]
mov eax, dword [ebp + 0x5de8]
mov ecx, 0x86
lea edi, [eax + edx*8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x150]
mov byte [esp + 0x56ec], 0x2e
call fcn.00572f3a
lea ecx, [esp + 0x34]
mov byte [esp + 0x56ec], 0x23
call sub.MFC42.DLL_CString::CString
jmp 0x40cae0
lea ecx, [esp + 0x80]
call fcn.0051ee70
push 0xffffffffffffffff
lea ecx, [ebp + 0x5e98]
push ebx
call sub.MFC42.DLL_CStringArray::SetSize
push 0xffffffffffffffff
lea ecx, [ebp + 0x5eac]
push ebx
call sub.MFC42.DLL_CStringArray::SetSize
push ebx
push 0x5e0588
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
je 0x40d360
mov edi, 0x5f3788
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10f0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x18], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x5a0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x5f3788
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
mov eax, edi
lea ecx, [esp + 0x5a0]
push eax
push 0x5e0698
push ecx
inc edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0x10f0]
lea eax, [esp + 0x5a0]
lea ecx, [esp + 0x80]
push ebx
push 0x400
push edx
push eax
call fcn.0051f130
cmp eax, 1
jne 0x40d354
lea ecx, [esp + 0x10f0]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
push 0x28
lea ecx, [esp + 0x18]
mov byte [esp + 0x56f0], 0x31
call sub.MFC42.DLL_CString::ReverseFind
mov esi, eax
cmp esi, 0xffffffff
je 0x40d33e
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_5
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 0x32
mov eax, dword [edx - 8]
sub eax, esi
push eax
lea eax, [esp + 0x1c]
push eax
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x56f0], 0x33
call fcn.00572d3c
lea ecx, [esp + 0x18]
mov byte [esp + 0x56ec], 0x32
call sub.MFC42.DLL_CString::CString
push 0x5f3788
push 0x5e0584
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Replace
push 0x5f3788
push 0x5e0580
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Replace
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 8], 0x11
jne 0x40d32d
mov eax, dword [ebp + 0x5ea0]
lea ecx, [ebp + 0x5e98]
lea edx, [esp + 0x14]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow
push 0x5f3788
push 0x5e057c
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Replace
mov eax, dword [ebp + 0x5eb4]
lea ecx, [ebp + 0x5eac]
lea edx, [esp + 0x1c]
push edx
push eax
call sub.MFC42.DLL_CStringArray::SetAtGrow
lea ecx, [esp + 0x1c]
mov byte [esp + 0x56ec], 0x31
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x56ec], 0x23
call sub.MFC42.DLL_CString::CString
jmp 0x40d1fc
lea ecx, [esp + 0x80]
call fcn.0051ee70
push 1
push str.CRYPT_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
je 0x40d45d
lea eax, [ebp + 0x562c]
push ebx
push eax
lea ecx, [esp + 0x88]
mov dword [eax], 0x400
lea eax, [esp + 0x6c4]
push eax
push str.PRIVBLOB_STR
mov dword [ebp + 0x5638], 0x400
call fcn.0051f3d0
test eax, eax
je 0x40d3e2
mov ecx, dword [ebp + 0x562c]
push ecx
call sub.MFC42.DLL_operatornew
mov dword [ebp + 0x5628], eax
mov ecx, dword [ebp + 0x562c]
mov edx, ecx
lea esi, [esp + 0x6c0]
mov edi, eax
add esp, 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp + 0x5638]
push ebx
push eax
lea eax, [esp + 0x6c4]
push eax
push str.PRIVSEED_STR
lea ecx, [esp + 0x90]
call fcn.0051f3d0
test eax, eax
je 0x40d439
mov ecx, dword [ebp + 0x5638]
push ecx
call sub.MFC42.DLL_operatornew
mov dword [ebp + 0x5634], eax
mov ecx, dword [ebp + 0x5638]
mov edx, ecx
lea esi, [esp + 0x6c0]
mov edi, eax
add esp, 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp + 0x5630]
lea ecx, [esp + 0x80]
push eax
push str.PRIVTYPE_STR
call fcn.0051eed0
lea ecx, [esp + 0x80]
call fcn.0051ee70
push ebx
push str.DEBUG_STR
lea ecx, [esp + 0x88]
call fcn.0051ecd0
test eax, eax
je 0x40d48c
lea ecx, [esp + 0x80]
call fcn.0051ee70
push ebx
lea ecx, [esp + 0x84]
call fcn.0051f8b0
lea esi, [ebp + 0x55ec]
mov dword [esi], ebx
mov eax, dword [ebp + 0x55f0]
cmp eax, ebx
je 0x40d4ad
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x55f0], ebx
lea edi, [ebp + 0x55f4]
mov dword [edi], ebx
mov eax, dword [ebp + 0x55f8]
cmp eax, ebx
je 0x40d4ce
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov dword [ebp + 0x55f8], ebx
mov eax, dword [ebp + 0x55f0]
push ebx
push esi
push eax
push str.UserCustomHeadPic
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov eax, dword [esi]
cmp eax, ebx
jle 0x40d511
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
lea ecx, [esp + 0x80]
mov dword [ebp + 0x55f0], eax
push ebx
push esi
push eax
push str.UserCustomHeadPic
call fcn.0051f3d0
mov ecx, dword [ebp + 0x55f8]
push ebx
push edi
push ecx
push str.UserCustomPicture
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov eax, dword [edi]
cmp eax, ebx
jle 0x40d554
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
lea ecx, [esp + 0x80]
mov dword [ebp + 0x55f8], eax
push ebx
push edi
push eax
push str.UserCustomPicture
call fcn.0051f3d0
lea edx, [esp + 0x14c]
mov byte [esp + 0x56ec], 0x34
push edx
push 0x5f3ddc
mov dword [esp + 0x154], ebx
call fcn.00551da0
mov eax, dword [esp + 0x14c]
cmp eax, ebx
je 0x40d665
push ecx
mov ecx, dword [0x5f3dc8]
mov eax, esp
mov dword [esp + 0x1c], esp
mov dword [eax], ecx
mov eax, ecx
cmp eax, ebx
je 0x40d59f
mov edx, dword [eax]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x54]
call fcn.00466090
push ebx
lea ecx, [esp + 0x154]
mov byte [esp + 0x56f0], 0x35
call fcn.00406050
lea eax, [esp + 0x14]
push ebx
push eax
push ebx
push str.UserCustomConfig
lea ecx, [esp + 0x90]
mov byte [esp + 0x56fc], 0x36
mov dword [esp + 0x24], ebx
call fcn.0051f3d0
mov eax, dword [esp + 0x14]
cmp eax, ebx
jle 0x40d639
push eax
call sub.MFC42.DLL_operatornew
add esp, 4
lea ecx, [esp + 0x14]
mov esi, eax
push ebx
push ecx
push esi
push str.UserCustomConfig
lea ecx, [esp + 0x90]
call fcn.0051f3d0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x150]
push edx
push esi
call fcn.004060b0
lea eax, [esp + 0x150]
push ebx
push eax
lea ecx, [esp + 0x58]
call fcn.00466170
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x150]
mov byte [esp + 0x56ec], 0x35
call fcn.00406090
lea ecx, [esp + 0x50]
mov byte [esp + 0x56ec], 0x34
call fcn.00466120
mov eax, dword [esp + 0x14c]
cmp eax, ebx
mov byte [esp + 0x56ec], 0x23
je 0x40d677
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x190]
mov byte [esp + 0x56ec], 0x1e
call fcn.00572f3a
lea ecx, [esp + 0x38]
mov byte [esp + 0x56ec], 0x1d
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x56ec], 0x1b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x204]
mov byte [esp + 0x56ec], 9
call fcn.00572f64
lea ecx, [esp + 0x17c]
mov byte [esp + 0x56ec], 4
call fcn.00572f3a
lea ecx, [esp + 0x5c]
mov byte [esp + 0x56ec], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x80]
mov byte [esp + 0x56ec], bl
call fcn.0051ead0
lea ecx, [esp + 0x48]
mov dword [esp + 0x56ec], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x56e4]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x56e0
ret