Function at 0x407980
Capabilities:
Check os version
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x56eca9
push eax
mov eax, 0x54c0
mov dword fs:[0], esp
call fcn.005417a0
mov eax, dword [0x5e8e38]
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x48], eax
xor ebx, ebx
mov dword [esp + 0x54d8], ebx
call fcn.00569c56
mov eax, dword [eax + 4]
cmp dword [eax + 0x284], ebx
je 0x407a11
call fcn.00569c56
mov eax, dword [eax + 4]
push 0x5d76c0
add eax, 0x288
lea ecx, [esp + 0x14]
push eax
push ecx
call fcn.005598c1
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x54dc], 1
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], bl
call fcn.0055962c
lea esi, [ebp + 0x4c]
mov dword [esi], 1
jmp 0x407a6f
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5ed678
call fcn.0055969a
lea edx, [esp + 0x14]
push edx
call fcn.0043fa70
add esp, 8
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x54dc], 2
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], bl
call fcn.0055962c
push str._feiqFeiqCfg.xml
lea ecx, [esp + 0x4c]
call fcn.00559a08
lea eax, [esp + 0x48]
lea esi, [ebp + 0x4c]
push eax
push esi
mov ecx, ebp
call fcn.00410610
mov ecx, dword [esp + 0x48]
lea edi, [ebp + 0x50]
push 0x104
push ecx
push edi
call fcn.00438200
mov edx, dword [ebp + 0x4d20]
mov eax, dword [ebp + 0x4d1c]
add esp, 0xc
lea ecx, [esp + 0x594]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.0040fc70
mov eax, dword [esi]
cmp eax, ebx
mov eax, edi
jne 0x407aaf
mov eax, 0x5ed678
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.0055969a
lea edx, [esp + 0x59c]
lea ecx, [esp + 0x84]
push edx
push str.LUBENTAO
call fcn.004f9b20
lea ecx, [ebp + 0x1a4]
push 0x5ed678
mov byte [esp + 0x54dc], 3
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], 1
mov dword [ebp + 0x48], 1
mov dword [ebp + 0x154], 1
mov dword [ebp + 0x158], 1
mov dword [ebp + 0x15c], ebx
mov dword [ebp + 0x160], 1
mov dword [ebp + 0x164], 1
mov dword [ebp + 0x16c], 1
mov dword [ebp + 0x170], ebx
mov dword [ebp + 0x174], 1
mov dword [ebp + 0x178], 1
mov dword [ebp + 0x180], ebx
mov dword [ebp + 0x184], 1
mov dword [ebp + 0x188], 1
mov dword [ebp + 0x18c], ebx
mov dword [ebp + 0x190], 1
mov dword [ebp + 0x194], 1
mov dword [ebp + 0x198], 1
mov dword [ebp + 0x19c], ebx
call fcn.005597b5
mov dword [ebp + 0x1a8], 1
mov dword [ebp + 0x1ac], ebx
mov dword [ebp + 0x1a0], ebx
mov dword [ebp + 0x1b0], 1
mov dword [ebp + 0x1b8], 1
mov dword [ebp + 0x1bc], 1
mov dword [ebp + 0x1c0], 1
mov dword [ebp + 0x1c4], 0x1dd
mov dword [ebp + 0x1c8], ebx
mov dword [ebp + 0x4b30], 1
mov dword [ebp + 0x1d0], ebx
mov dword [ebp + 0x1d4], ebx
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0x1d8], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x1dc]
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 + 0x1f0], ebx
mov dword [ebp + 0x1f4], 0x979
call sub.WSOCK32.dll_inet_addr
push eax
call sub.WSOCK32.dll_htonl
mov dword [ebp + 0x1f8], eax
mov eax, 1
mov dword [ebp + 0x210], eax
mov dword [ebp + 0x214], eax
mov dword [ebp + 0x200], ebx
mov dword [ebp + 0x4658], eax
mov dword [ebp + 0x465c], eax
mov dword [ebp + 0x4660], eax
mov dword [ebp + 0x4664], eax
mov dword [ebp + 0x208], eax
mov dword [ebp + 0x4670], ebx
mov dword [ebp + 0x4678], eax
or ecx, 0xffffffff
mov dword [ebp + 0x467c], ebx
mov dword [ebp + 0x4680], ecx
mov dword [ebp + 0x4684], ecx
mov dword [ebp + 0x4688], ecx
mov dword [ebp + 0x468c], ecx
mov dword [ebp + 0x49fc], ebx
mov dword [ebp + 0x4a00], ebx
mov dword [ebp + 0x4a04], eax
mov dword [ebp + 0x4a08], ebx
mov dword [ebp + 0x1cc], ebx
mov dword [ebp + 0x1b4], 0x3c
mov dword [ebp + 0x4a0c], eax
mov dword [ebp + 0x4a10], ebx
mov dword [ebp + 0x4a14], ebx
mov dword [ebp + 0x4b48], eax
mov dword [ebp + 0x4b4c], eax
mov edi, 0x5ed678
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp + 0x4b50]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp + 0x4a28]
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 + 0x4c54], ebx
mov dword [ebp + 0x4c58], ebx
mov dword [ebp + 0x4c5c], 0xffffff
mov dword [ebp + 0x4c60], 0xf8ebc4
mov dword [ebp + 0x4c64], 0xffffff
mov dword [ebp + 0x4c68], 0xc6a88b
mov dword [ebp + 0x4c6c], 0xfee9ce
mov dword [ebp + 0x4c70], ebx
mov dword [ebp + 0x4c74], 0x800000
mov dword [ebp + 0x4c78], 0x808080
mov dword [ebp + 0x4c7c], 0xff8080
mov dword [ebp + 0x4c80], 0xff0000
mov dword [ebp + 0x4c8c], 0x404000
mov dword [ebp + 0x4c88], 0x400040
mov dword [ebp + 0x4c84], 0xa27a00
mov dword [ebp + 0x4c94], 0xe5b88f
mov dword [ebp + 0x4c98], 0xfaecd9
mov dword [ebp + 0x4c9c], 0xfffbdd
mov dword [ebp + 0x4ca0], 0xfffbdd
mov dword [ebp + 0x4cb8], ebx
mov dword [ebp + 0x4cbc], ebx
mov dword [ebp + 0x4cc0], ebx
mov dword [ebp + 0x4cc4], ebx
mov dword [ebp + 0x4c90], eax
mov dword [ebp + 0x4668], 0x200
mov dword [ebp + 0x466c], 0xa
mov dword [ebp + 0x4a1c], eax
mov dword [ebp + 0x4a20], ebx
mov dword [ebp + 0x4a24], eax
mov edi, 0x5ed678
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 + 0x4b2c]
mov dword [esi], ebx
mov dword [ebp + 0x4b34], ebx
mov dword [ebp + 0x4b38], ebx
mov dword [ebp + 0x4b3c], ebx
mov dword [ebp + 0x4b40], 0xa
mov dword [ebp + 0x4b44], ebx
mov dword [ebp + 0x49d4], ebx
mov dword [ebp + 0x49d8], 1
mov dword [ebp + 0x168], 1
mov dword [ebp + 0x17c], 1
mov ecx, dword [ebp + 0x4c98]
lea edx, [ebp + 0x4ca4]
lea edi, [ebp + 0x49dc]
push edx
push str.ChatBkColor1
mov dword [edx], ecx
mov eax, dword [ebp + 0x4c9c]
mov dword [ebp + 0x4cac], eax
mov ecx, dword [ebp + 0x4c94]
mov dword [ebp + 0x4ca8], ecx
mov ecx, 8
mov eax, 4
mov dword [ebp + 0x4cb0], 0x933e1e
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x84]
call fcn.004fa130
lea edx, [ebp + 0x4cb4]
lea ecx, [esp + 0x7c]
push edx
push str.ChatWndEdgeClr
call fcn.004fa130
lea eax, [ebp + 0x4ca8]
lea ecx, [esp + 0x7c]
push eax
push str.ChatMsgWndFrameClr
call fcn.004fa130
lea eax, [ebp + 0x4cac]
lea ecx, [esp + 0x7c]
push eax
push str.ChatBkColor2
call fcn.004fa130
lea eax, [ebp + 0x4cb0]
lea ecx, [esp + 0x7c]
push eax
push str.ChatFontColor
call fcn.004fa130
lea eax, [ebp + 0x168]
lea ecx, [esp + 0x7c]
push eax
push str.GdiPlusTip
call fcn.004fa0e0
lea eax, [ebp + 0x4a1c]
lea ecx, [esp + 0x7c]
push eax
push str.IPMsgCompatible
call fcn.004fa0e0
lea eax, [ebp + 0x4a20]
lea ecx, [esp + 0x7c]
push eax
push str.AutoRecvFile
call fcn.004fa0e0
lea eax, [ebp + 0x4a24]
lea ecx, [esp + 0x7c]
push eax
push str.AutoRecvPath
call fcn.004fa0e0
push esi
push str.IsCustomFilePath
lea ecx, [esp + 0x84]
call fcn.004fa0e0
push ebx
lea eax, [ebp + 0x4a28]
push 0x104
push eax
push str.CustomRecvPath
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea edi, [ebp + 0x4668]
lea ecx, [esp + 0x7c]
push edi
push str.BmpUdpSendSize
call fcn.004fa0e0
mov edi, dword [edi]
cmp edi, 0xda
jl 0x407fde
cmp edi, 0x10000
jle 0x407fe8
mov dword [ebp + 0x4668], 0x200
lea esi, [ebp + 0x466c]
lea ecx, [esp + 0x7c]
push esi
push str.BmpUdpTrys
call fcn.004fa0e0
mov eax, dword [esi]
cmp eax, ebx
jl 0x408008
cmp eax, 0xf
jle 0x40800e
mov dword [esi], 0xa
lea eax, [ebp + 0x44]
lea esi, [ebp + 0x4674]
push eax
push str.ChatShowWeb
lea ecx, [esp + 0x84]
mov dword [esi], ebx
call fcn.004fa0e0
lea eax, [ebp + 0x48]
lea ecx, [esp + 0x7c]
push eax
push str.CloseDialogDeleteRes
call fcn.004fa0e0
lea eax, [ebp + 0x154]
lea ecx, [esp + 0x7c]
push eax
push str.SmallIconSelShowLarge
call fcn.004fa0e0
lea eax, [ebp + 0x158]
lea ecx, [esp + 0x7c]
push eax
push str.MyFriendsAutoGroup
call fcn.004fa0e0
lea eax, [ebp + 0x15c]
lea ecx, [esp + 0x7c]
push eax
push str.SkinWeekChange
call fcn.004fa0e0
lea eax, [ebp + 0x160]
lea ecx, [esp + 0x7c]
push eax
push str.ShowSearchWebBar
call fcn.004fa0e0
lea eax, [ebp + 0x164]
lea ecx, [esp + 0x7c]
push eax
push str.ShowBbsBar
call fcn.004fa0e0
lea eax, [ebp + 0x16c]
lea ecx, [esp + 0x7c]
push eax
push str.SendOpenMsg
call fcn.004fa0e0
lea eax, [ebp + 0x170]
lea ecx, [esp + 0x7c]
push eax
push str.OPenMsgTip
call fcn.004fa0e0
lea eax, [ebp + 0x174]
lea ecx, [esp + 0x7c]
push eax
push str.ShakeMsgTip
call fcn.004fa0e0
lea eax, [ebp + 0x178]
lea ecx, [esp + 0x7c]
push eax
push str.AutoMemMin
call fcn.004fa0e0
lea eax, [ebp + 0x180]
lea ecx, [esp + 0x7c]
push eax
push str.LButtonIconOpen
call fcn.004fa0e0
lea eax, [ebp + 0x17c]
lea ecx, [esp + 0x7c]
push eax
push str.WndTopMost
call fcn.004fa0e0
push esi
push str.SendRecvMsg
lea ecx, [esp + 0x84]
call fcn.004fa0e0
lea eax, [ebp + 0x4c90]
lea ecx, [esp + 0x7c]
push eax
push str.NoShowHostIfMemo
call fcn.004fa0e0
lea eax, [ebp + 0x4c70]
lea ecx, [esp + 0x7c]
push eax
push str.TreeNickClr
call fcn.004fa130
lea eax, [ebp + 0x4c74]
lea ecx, [esp + 0x7c]
push eax
push str.TreeHostClr
call fcn.004fa130
lea eax, [ebp + 0x4c78]
lea ecx, [esp + 0x7c]
push eax
push str.TreeSignClr
call fcn.004fa130
lea eax, [ebp + 0x4c7c]
lea ecx, [esp + 0x7c]
push eax
push str.TreeIPClr
call fcn.004fa130
lea eax, [ebp + 0x4c80]
lea ecx, [esp + 0x7c]
push eax
push str.TreeTypeClr
call fcn.004fa130
lea eax, [ebp + 0x4c84]
lea ecx, [esp + 0x7c]
push eax
push str.TreeObjectGroupClr
call fcn.004fa130
lea eax, [ebp + 0x4c8c]
lea ecx, [esp + 0x7c]
push eax
push str.TreeUserClr
call fcn.004fa130
lea eax, [ebp + 0x4c88]
lea ecx, [esp + 0x7c]
push eax
push str.TreeGroupClr
call fcn.004fa130
lea esi, [ebp + 0x4c94]
lea ecx, [esp + 0x7c]
push esi
push str.MainBarFrameColor
call fcn.004fa130
lea edi, [ebp + 0x4c98]
lea ecx, [esp + 0x7c]
push edi
push str.MainBarLeftTopColor
call fcn.004fa130
lea eax, [ebp + 0x4c9c]
lea ecx, [esp + 0x7c]
push eax
push str.MainBarRightBtmColor
call fcn.004fa130
lea eax, [ebp + 0x4ca0]
lea ecx, [esp + 0x7c]
push eax
push str.MainBarRightBtm2Color
call fcn.004fa130
cmp dword [esi], 0xe99494
jne 0x408295
mov dword [esi], 0xe5b88f
mov dword [edi], 0xfaecd9
mov dword [ebp + 0x4c9c], 0xfffbdd
mov dword [ebp + 0x4ca0], 0xfffbdd
mov eax, dword [edi]
mov dword [ebp + 0x4ca4], eax
mov ecx, dword [ebp + 0x4c9c]
mov dword [ebp + 0x4cac], ecx
mov edx, dword [esi]
mov dword [ebp + 0x4ca8], edx
mov dword [ebp + 0x4cb0], 0x933e1e
cmp dword [ebp + 0x15c], ebx
je 0x4083f2
lea eax, [esp + 0x6c]
push eax
call fcn.00538f34
lea ecx, [esp + 0x6c]
call fcn.00539084
cmp eax, 1
jne 0x4082de
mov dword [esi], 0x9e9e9e
mov dword [edi], 0xd8e9ec
mov dword [ebp + 0x4c9c], 0xd8e9ec
mov dword [ebp + 0x4ca0], 0xd8e9ec
jmp 0x4083cc
cmp eax, 2
jne 0x408308
mov dword [esi], 0xd490e5
mov dword [edi], 0xfae8ff
mov dword [ebp + 0x4c9c], 0xf8ddff
mov dword [ebp + 0x4ca0], 0xf8ddff
jmp 0x4083cc
cmp eax, 3
jne 0x408332
mov dword [esi], 0xe5b88f
mov dword [edi], 0xfaecd9
mov dword [ebp + 0x4c9c], 0xfffbdd
mov dword [ebp + 0x4ca0], 0xfffbdd
jmp 0x4083cc
cmp eax, 4
jne 0x408359
mov dword [esi], 0xe99494
mov dword [edi], 0xffe8e8
mov dword [ebp + 0x4c9c], 0xffd3d3
mov dword [ebp + 0x4ca0], 0xffd3d3
jmp 0x4083cc
cmp eax, 5
jne 0x408380
mov dword [esi], 0x8de2a9
mov dword [edi], 0xe8fff0
mov dword [ebp + 0x4c9c], 0xd0ffdf
mov dword [ebp + 0x4ca0], 0xd0ffdf
jmp 0x4083cc
cmp eax, 6
jne 0x4083a7
mov dword [esi], 0x8dcde2
mov dword [edi], 0xf6fdff
mov dword [ebp + 0x4c9c], 0xddf7ff
mov dword [ebp + 0x4ca0], 0xddf7ff
jmp 0x4083cc
cmp eax, 7
jne 0x4083cc
mov dword [esi], 0x9292e7
mov dword [edi], 0xe8e8ff
mov dword [ebp + 0x4c9c], 0xd0d0ff
mov dword [ebp + 0x4ca0], 0xd0d0ff
mov ecx, dword [edi]
mov dword [ebp + 0x4ca4], ecx
mov edx, dword [ebp + 0x4c9c]
mov dword [ebp + 0x4cac], edx
mov eax, dword [esi]
mov dword [ebp + 0x4ca8], eax
mov dword [ebp + 0x4cb0], 0x933e1e
lea eax, [ebp + 0x4cb8]
lea ecx, [esp + 0x7c]
push eax
push str.MainOpacity
call fcn.004fa0e0
lea eax, [ebp + 0x4cbc]
lea ecx, [esp + 0x7c]
push eax
push str.ChatOpacity
call fcn.004fa0e0
lea eax, [ebp + 0x4cc0]
lea ecx, [esp + 0x7c]
push eax
push str.MsgOpacity
call fcn.004fa0e0
lea eax, [ebp + 0x4cc4]
lea ecx, [esp + 0x7c]
push eax
push str.OtherOpacity
call fcn.004fa0e0
lea eax, [ebp + 0x4b48]
lea ecx, [esp + 0x7c]
push eax
push str.TreeBkStyle
call fcn.004fa0e0
lea eax, [ebp + 0x4b4c]
lea ecx, [esp + 0x7c]
push eax
push str.TreeDefaultPic
call fcn.004fa0e0
lea eax, [ebp + 0x4c54]
lea ecx, [esp + 0x7c]
push eax
push str.TreeBmpStretch
call fcn.004fa0e0
lea eax, [ebp + 0x4c58]
lea ecx, [esp + 0x7c]
push eax
push str.TreeGradMode
call fcn.004fa0e0
push ebx
lea eax, [ebp + 0x4b50]
push 0x104
push eax
push str.TreeBmpPath
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea eax, [ebp + 0x4c5c]
lea ecx, [esp + 0x7c]
push eax
push str.TreeGradClr1
call fcn.004fa130
lea eax, [ebp + 0x4c60]
lea ecx, [esp + 0x7c]
push eax
push str.TreeGradClr2
call fcn.004fa130
lea eax, [ebp + 0x4c64]
lea ecx, [esp + 0x7c]
push eax
push str.TreeFillClr
call fcn.004fa130
lea eax, [ebp + 0x4c68]
lea ecx, [esp + 0x7c]
push eax
push str.TreeSelFrameClr
call fcn.004fa130
lea eax, [ebp + 0x4c6c]
lea ecx, [esp + 0x7c]
push eax
push str.TreeSelFillClr
call fcn.004fa130
lea eax, [ebp + 0x40]
lea ecx, [esp + 0x7c]
push eax
push str.EscCloseDlg
call fcn.004fa0e0
lea eax, [ebp + 0x4680]
lea ecx, [esp + 0x7c]
push eax
push str.WndLeft
call fcn.004fa0e0
lea eax, [ebp + 0x4684]
lea ecx, [esp + 0x7c]
push eax
push str.WndTop
call fcn.004fa0e0
lea eax, [ebp + 0x4688]
lea ecx, [esp + 0x7c]
push eax
push str.WndWidth
call fcn.004fa0e0
lea eax, [ebp + 0x468c]
lea ecx, [esp + 0x7c]
push eax
push str.WndHeight
call fcn.004fa0e0
lea eax, [ebp + 0x467c]
lea ecx, [esp + 0x7c]
push eax
push str.HideMode
call fcn.004fa0e0
lea eax, [ebp + 0x4678]
lea ecx, [esp + 0x7c]
push eax
push str.AutoHideWnd
call fcn.004fa0e0
lea eax, [ebp + 0x4660]
lea ecx, [esp + 0x7c]
push eax
push str.SendBmpZip
call fcn.004fa0e0
lea eax, [ebp + 0x4664]
lea ecx, [esp + 0x7c]
push eax
push str.ScreenShake
call fcn.004fa0e0
lea eax, [ebp + 0x188]
lea ecx, [esp + 0x7c]
push eax
push str.FilePopup
call fcn.004fa0e0
lea eax, [ebp + 0x184]
lea ecx, [esp + 0x7c]
push eax
push str.MsgShowTipWnd
call fcn.004fa0e0
lea eax, [ebp + 0x18c]
lea ecx, [esp + 0x7c]
push eax
push str.SingleChatCloseWnd
call fcn.004fa0e0
lea eax, [ebp + 0x190]
lea ecx, [esp + 0x7c]
push eax
push str.MutiChatCloseWnd
call fcn.004fa0e0
lea eax, [ebp + 0x194]
lea ecx, [esp + 0x7c]
push eax
push str.StartRun
call fcn.004fa0e0
lea eax, [ebp + 0x198]
lea ecx, [esp + 0x7c]
push eax
push str.StartAutoMin
call fcn.004fa0e0
lea eax, [ebp + 0x19c]
lea ecx, [esp + 0x7c]
push eax
push str.DbClickAutoMin
call fcn.004fa0e0
lea eax, [ebp + 0x1a8]
lea ecx, [esp + 0x7c]
push eax
push str.AutoReply
call fcn.004fa0e0
lea eax, [ebp + 0x1ac]
lea ecx, [esp + 0x7c]
push eax
push str.AutoWidth
call fcn.004fa0e0
lea eax, [ebp + 0x1b0]
lea ecx, [esp + 0x7c]
push eax
push str.AutoCheckVersion
call fcn.004fa0e0
lea eax, [ebp + 0x1c8]
lea ecx, [esp + 0x7c]
push eax
push str.SelfTeleVoiceChat
call fcn.004fa0e0
lea eax, [ebp + 0x1b8]
lea ecx, [esp + 0x7c]
push eax
push str.ShowChatRightWnd
call fcn.004fa0e0
lea eax, [ebp + 0x1bc]
lea ecx, [esp + 0x7c]
push eax
push str.SaveShowRightStatus
call fcn.004fa0e0
lea eax, [ebp + 0x1c0]
lea ecx, [esp + 0x7c]
push eax
push str.SaveChatDlgHeight
call fcn.004fa0e0
lea esi, [ebp + 0x1c4]
lea ecx, [esp + 0x7c]
push esi
push str.ChatDlgHeight
call fcn.004fa0e0
lea eax, [ebp + 0x4b30]
lea ecx, [esp + 0x7c]
push eax
push str.NoShowInfoHaveFile
call fcn.004fa0e0
lea eax, [ebp + 0x4b34]
lea ecx, [esp + 0x7c]
push eax
push str.DragSendFileDirect
call fcn.004fa0e0
lea eax, [ebp + 0x4b38]
lea ecx, [esp + 0x7c]
push eax
push str.NoShowTimeOutDayTip
call fcn.004fa0e0
lea eax, [ebp + 0x4b3c]
lea ecx, [esp + 0x7c]
push eax
push str.AutoChangeStatus
call fcn.004fa0e0
lea eax, [ebp + 0x4b40]
lea ecx, [esp + 0x7c]
push eax
push str.ChangeStautsTime
call fcn.004fa0e0
lea eax, [ebp + 0x4b44]
lea ecx, [esp + 0x7c]
push eax
push str.OptChangeStauts
call fcn.004fa0e0
mov eax, dword [esi]
cmp eax, 0x104
jl 0x4087a4
cmp eax, 0x258
jle 0x4087aa
mov dword [esi], 0x1dd
lea eax, [ebp + 0x1d0]
lea ecx, [esp + 0x7c]
push eax
push str.NeedIPAddress
call fcn.004fa0e0
lea eax, [ebp + 0x4a14]
lea ecx, [esp + 0x7c]
push eax
push str.AllBlackList
call fcn.004fa0e0
lea ecx, [ebp + 0x4a18]
push ecx
push str.StopRubbish
lea ecx, [esp + 0x84]
call fcn.004fa0e0
lea eax, [ebp + 0x1d8]
lea ecx, [esp + 0x7c]
push eax
push str.NeedMacAddress
call fcn.004fa0e0
push ebx
lea eax, [ebp + 0x1dc]
push 0x14
push eax
push str.MacAddressValue
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea eax, [ebp + 0x1f0]
lea ecx, [esp + 0x7c]
push eax
push str.GetMacType
call fcn.004fa0e0
lea eax, [ebp + 0x1cc]
lea ecx, [esp + 0x7c]
push eax
push str.IsAutoRefresh
call fcn.004fa0e0
lea esi, [ebp + 0x1b4]
lea ecx, [esp + 0x7c]
push esi
push str.AutoRefreshTime
call fcn.004fa0e0
cmp dword [esi], 0xa
jge 0x408866
mov dword [esi], 0xa
lea eax, [ebp + 0x49fc]
lea ecx, [esp + 0x7c]
push eax
push str.QunNoAdd
call fcn.004fa0e0
lea eax, [ebp + 0x4a00]
lea ecx, [esp + 0x7c]
push eax
push str.QunNoRecvBmp
call fcn.004fa0e0
lea eax, [ebp + 0x4a04]
lea ecx, [esp + 0x7c]
push eax
push str.QunNotice
call fcn.004fa0e0
lea eax, [ebp + 0x4a08]
lea ecx, [esp + 0x7c]
push eax
push str.QunMsgOpt
call fcn.004fa0e0
lea eax, [ebp + 0x4a0c]
lea ecx, [esp + 0x7c]
push eax
push str.MembersShowMode
call fcn.004fa0e0
lea esi, [ebp + 0x4a10]
lea ecx, [esp + 0x7c]
push esi
push str.SendMsgEnter
call fcn.004fa0e0
call fcn.00569c56
mov eax, dword [eax + 4]
mov edx, dword [esi]
lea ecx, [esp + 0x7c]
mov dword [eax + 0x23c], edx
lea eax, [esp + 0x64]
push eax
push str.IPAddressValue
mov dword [esp + 0x6c], ebx
call fcn.004fa130
mov ecx, dword [esp + 0x64]
lea eax, [ebp + 0x1f4]
mov dword [ebp + 0x1d4], ecx
push eax
push str.FeiqPortNo
lea ecx, [esp + 0x84]
call fcn.004fa0e0
mov edx, dword [ebp + 0x1f8]
lea eax, [esp + 0x64]
push eax
push str.GroupIPAddress
lea ecx, [esp + 0x84]
mov dword [esp + 0x6c], edx
call fcn.004fa130
mov ecx, dword [esp + 0x64]
mov edi, 0x5d7060
mov dword [ebp + 0x1f8], ecx
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10e4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x1f6
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 + 0x10ec]
push ecx
push str.StrReply
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea edx, [esp + 0x10e4]
lea esi, [ebp + 0x1a4]
push edx
mov ecx, esi
call fcn.005597b5
mov ecx, esi
call fcn.00554e33
mov ecx, esi
call fcn.00554de7
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x220]
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 + 0x8c]
call fcn.004fa340
lea ecx, [ebp + 0x1fc]
push ecx
push str.FaceImage
lea ecx, [esp + 0x84]
call fcn.004fa0e0
lea edx, [ebp + 0x204]
lea ecx, [esp + 0x7c]
push edx
push str.LargeImage
call fcn.004fa0e0
lea eax, [ebp + 0x208]
lea ecx, [esp + 0x7c]
push eax
push str.LargeTreeImage
call fcn.004fa0e0
lea eax, [ebp + 0x20c]
lea ecx, [esp + 0x7c]
push eax
push str.MutiLargeImage
call fcn.004fa0e0
lea eax, [ebp + 0x210]
lea ecx, [esp + 0x7c]
push eax
push str.NoTice
call fcn.004fa0e0
lea eax, [ebp + 0x214]
lea ecx, [esp + 0x7c]
push eax
push str.NoTice2
call fcn.004fa0e0
lea eax, [ebp + 0x5a78]
lea ecx, [esp + 0x7c]
push eax
push str.DialUpCheck
call fcn.004fa0e0
lea ecx, [esp + 0x15c]
mov dword [esp + 0x15c], ebx
push ecx
push str.StatusValue
lea ecx, [esp + 0x84]
call fcn.004fa130
mov edx, dword [esp + 0x15c]
push ebx
lea eax, [esp + 0x694]
push 0x1e
or dl, 0x80
push eax
push str.UpgradeTime
lea ecx, [esp + 0x8c]
mov dword [ebp + 0x200], edx
call fcn.004fa340
lea ecx, [esp + 0x690]
push ecx
lea ecx, [esp + 0x6c]
call fcn.0055969a
mov edx, dword [esp + 0x68]
push 0x5ed678
push edx
mov byte [esp + 0x54e0], 4
call fcn.00541319
add esp, 8
test eax, eax
je 0x408b30
push ecx
lea eax, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call fcn.005593a1
call fcn.0043df40
add esp, 4
cmp eax, ebx
jne 0x408b8e
lea ecx, [esp + 0x6c]
push ecx
call fcn.00538f34
lea ecx, [esp + 0x6c]
call fcn.0053905a
push eax
lea ecx, [esp + 0x70]
call fcn.00539030
push eax
lea ecx, [esp + 0x74]
call fcn.00539006
push eax
lea ecx, [esp + 0x78]
call fcn.00538fdc
push eax
lea ecx, [esp + 0x7c]
call fcn.00538fb2
push eax
lea ecx, [esp + 0x80]
call fcn.00538f88
push eax
lea edx, [esp + 0x80]
push str._04d__02d__02d__02d:_02d:_02d
push edx
call fcn.00554dd4
add esp, 0x20
lea eax, [esp + 0x68]
lea ecx, [ebp + 0x218]
push eax
call fcn.00559765
lea eax, [ebp + 0x21c]
lea ecx, [esp + 0x7c]
push eax
push str.UpgradeInterval
mov dword [eax], 0xa
call fcn.004fa0e0
push ebx
lea ecx, [ebp + 0x620]
push 0x32
push ecx
push str.FileSharePwd
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea esi, [ebp + 0x654]
lea ecx, [esp + 0x7c]
push esi
push str.FileShareNo
call fcn.004fa0e0
mov eax, dword [esi]
cmp eax, ebx
jl 0x408bf6
cmp eax, 0x7ffffe0b
jle 0x408bf8
mov dword [esi], ebx
push ebx
lea edx, [ebp + 0x658]
push 0x4000
push edx
push str.FileShareInfo
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea edi, [ebp + 0x4994]
push ebx
push 0x40
push edi
push str.SerialNo
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea esi, [ebp + 0x49d4]
lea ecx, [esp + 0x7c]
push esi
push str.UserDenji
call fcn.004fa0e0
lea eax, [ebp + 0x49d8]
lea ecx, [esp + 0x7c]
push eax
push str.ShowDenji
call fcn.004fa0e0
cmp dword [esi], ebx
je 0x408cee
lea eax, [esp + 0x24]
push eax
call fcn.0048dc20
add esp, 4
mov ecx, dword [esi]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x54e4], 5
call fcn.005593a1
lea eax, [esp + 0x34]
push eax
call fcn.0048d700
add esp, 0xc
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x54dc], 6
call fcn.0055969a
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
push ecx
push edx
call fcn.00541319
add esp, 8
test eax, eax
je 0x408cc3
mov dword [esi], ebx
lea ecx, [esp + 0x1c]
call fcn.0055962c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54d8], 5
call fcn.0055962c
lea ecx, [esp + 0x24]
mov byte [esp + 0x54d8], 4
call fcn.0055962c
lea eax, [esp + 0x7c]
push ebp
push eax
mov ecx, ebp
call fcn.0040ceb0
mov word [ebp + 0x4d0c], bx
mov word [ebp + 0x4d0e], bx
mov word [ebp + 0x4d10], bx
mov word [ebp + 0x4d12], bx
lea ecx, [esp + 0x3c]
mov word [ebp + 0x4d14], bx
mov word [ebp + 0x4d16], bx
push ecx
mov word [ebp + 0x4d18], bx
push str.virtualcode
lea ecx, [esp + 0x84]
mov word [ebp + 0x4d1a], bx
mov dword [esp + 0x44], 6
mov dword [esp + 0x4c], 0x58
call fcn.004fa0e0
lea edx, [esp + 0x44]
lea ecx, [esp + 0x7c]
push edx
push str.modifiers
call fcn.004fa0e0
lea eax, [ebp + 0x4658]
lea ecx, [esp + 0x7c]
push eax
push str.CaptureSrnShowWnd
call fcn.004fa0e0
lea eax, [ebp + 0x465c]
lea ecx, [esp + 0x7c]
push eax
push str.ShowInputStatus
call fcn.004fa0e0
lea eax, [ebp + 0x4670]
lea ecx, [esp + 0x7c]
push eax
push str.CloseClearContent
call fcn.004fa0e0
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jl 0x408dba
mov word [ebp + 0x4d0c], ax
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x408dc9
mov word [ebp + 0x4d0e], ax
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x7c]
push eax
push str.virtualcode2
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebx
call fcn.004fa0e0
lea ecx, [esp + 0x44]
push ecx
push str.modifiers2
lea ecx, [esp + 0x84]
call fcn.004fa0e0
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jl 0x408e09
mov word [ebp + 0x4d10], ax
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x408e18
mov word [ebp + 0x4d12], ax
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x7c]
push edx
push str.virtualcode3
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebx
call fcn.004fa0e0
lea eax, [esp + 0x44]
lea ecx, [esp + 0x7c]
push eax
push str.modifiers3
call fcn.004fa0e0
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jl 0x408e55
mov word [ebp + 0x4d14], ax
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x408e64
mov word [ebp + 0x4d16], ax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
push ecx
push str.virtualcode4
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c], ebx
call fcn.004fa0e0
lea edx, [esp + 0x44]
lea ecx, [esp + 0x7c]
push edx
push str.modifiers4
call fcn.004fa0e0
mov eax, dword [esp + 0x3c]
cmp eax, ebx
jl 0x408ea4
mov word [ebp + 0x4d18], ax
mov eax, dword [esp + 0x44]
cmp eax, ebx
jl 0x408eb3
mov word [ebp + 0x4d1a], ax
or ecx, 0xffffffff
mov edi, 0x5d6eb0
xor eax, eax
lea edx, [ebp + 0x4690]
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, 0x5d6e94
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp + 0x4710]
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, 0x5d6e8c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp + 0x4790]
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, 0x5d6e70
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [ebp + 0x4810]
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
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov edi, edx
mov ecx, dword [0x5e8e38]
mov dword [esp + 0x14], ecx
lea esi, [eax + 1]
lea edx, [esp + 0x14]
push esi
push str.ReplyContent_d
push edx
mov byte [esp + 0x54e4], 7
call fcn.00554dd4
mov eax, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x7c]
push ebx
push 0x7e
push edi
push eax
call fcn.004fa340
lea ecx, [esp + 0x14]
mov byte [esp + 0x54d8], 4
call fcn.0055962c
mov eax, esi
add edi, 0x80
cmp eax, 4
jl 0x408f69
xor eax, eax
lea edi, [ebp + 0x49dc]
mov ecx, dword [0x5e8e38]
mov dword [esp + 0x14], ecx
lea esi, [eax + 1]
lea edx, [esp + 0x14]
push esi
push str.InfoDelayTime_d
push edx
mov byte [esp + 0x54e4], 8
call fcn.00554dd4
mov eax, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x7c]
push edi
push eax
call fcn.004fa0e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x54d8], 4
call fcn.0055962c
mov eax, esi
add edi, 4
cmp eax, 8
jl 0x408fc9
mov edi, 0x5d6dd4
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x4890]
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 + 0x8c]
call fcn.004fa340
lea ecx, [esp + 0x170]
call fcn.00557573
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x178]
mov byte [esp + 0x54e0], 9
call fcn.00557606
lea ecx, [ebp + 0x5aec]
mov dword [esp + 0x58], ebx
call fcn.00558112
lea ecx, [esp + 0x58]
push ebx
push ecx
push ebx
push str.memoGroupNames
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov ecx, dword [esp + 0x58]
cmp ecx, ebx
je 0x4091f6
cmp eax, 2
mov eax, ecx
jne 0x4090bb
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x4091f6
push ecx
call fcn.00558a23
add esp, 4
lea edx, [esp + 0x58]
mov esi, eax
lea ecx, [esp + 0x7c]
push ebx
push edx
push esi
push str.memoGroupNames
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x58], 0x42
jb 0x4091ed
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 + 0x65c]
lea ecx, [esi - 0x10]
mov edx, dword [esi - 0x10]
mov dword [esp + 0x1a8], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1ac], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1b0], edx
lea edx, [esp + 0x1a8]
mov eax, dword [ecx + 0xc]
mov ecx, 0xc
mov dword [esp + 0x1b4], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x65c]
push ecx
push edx
lea ecx, [ebp + 0x5aec]
movsw word es:[edi], word [esi]
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x178]
add edx, 0x42
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x14], edx
jle 0x4091be
mov eax, dword [esp + 0x174]
lea ecx, [esp + 0x65c]
push ecx
mov eax, dword [eax + esi*4]
push eax
call fcn.00541319
add esp, 8
test eax, eax
je 0x4091b3
mov eax, dword [esp + 0x178]
inc esi
cmp esi, eax
jl 0x409186
jmp 0x4091be
mov eax, dword [esp + 0x178]
cmp esi, eax
jl 0x4091d3
lea edx, [esp + 0x65c]
lea ecx, [esp + 0x170]
push edx
push eax
call fcn.005577af
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jbe 0x40910d
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
add esp, 4
push 0xffffffffffffffff
lea ecx, [ebp + 0x5abc]
push ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], ebx
call fcn.00411160
lea ecx, [ebp + 0x5b84]
call fcn.00558112
lea ecx, [ebp + 0x5ba0]
call fcn.00558112
lea edx, [esp + 0x4c]
push ebx
push edx
push ebx
push str.MemberGroups
lea ecx, [esp + 0x8c]
mov dword [esp + 0x5c], ebx
call fcn.004fa5e0
mov ecx, dword [esp + 0x4c]
mov edi, 0x1c0
cmp ecx, ebx
je 0x40948c
cmp eax, 2
mov eax, ecx
jne 0x409259
lea eax, [ecx - 1]
xor edx, edx
mov esi, edi
div esi
test edx, edx
jne 0x40948c
push ecx
call fcn.00558a23
add esp, 4
mov esi, eax
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x7c]
push ebx
push eax
push esi
push str.MemberGroups
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x4c], edi
jb 0x409477
mov dword [esp + 0x14], edi
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x214]
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 + 0x2c4]
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, 0x5ed678
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 + 0x20]
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 + 0x218]
lea esi, [edx + ecx - 0x1c0]
mov ecx, 0x70
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x70
lea esi, [esp + 0x218]
lea edi, [esp + 0x3d8]
mov dword [esp + 0x250], ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5ac4]
lea ecx, [ebp + 0x5abc]
lea eax, [esi + 1]
push eax
call fcn.00411160
mov edx, dword [ebp + 0x5ac0]
lea edi, [esi*8]
sub edi, esi
mov ecx, 0x70
shl edi, 6
add edi, edx
lea esi, [esp + 0x3d4]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5ac4]
lea ecx, [esp + 0x10]
dec eax
push eax
push ecx
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea edx, [esp + 0x214]
push eax
push edx
lea ecx, [ebp + 0x5b84]
mov byte [esp + 0x54e0], 0xa
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x3cc], ebx
je 0x409405
cmp dword [esp + 0x3d0], ebx
je 0x409405
mov eax, dword [ebp + 0x5ac4]
dec eax
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x214]
push eax
push ecx
lea ecx, [ebp + 0x5ba0]
mov byte [esp + 0x54e0], 0xb
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x40]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
lea edx, [esp + 0x214]
lea ecx, [esp + 0x30]
push edx
call fcn.0055969a
mov eax, dword [esp + 0x30]
push 0x5d6d94
push eax
call fcn.00541319
add esp, 8
test eax, eax
jne 0x409434
mov dword [esp + 0x2c], 1
mov ecx, dword [esp + 0x30]
push 0x5d6d8c
push ecx
call fcn.00541319
add esp, 8
test eax, eax
jne 0x409452
mov dword [esp + 0x24], 1
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
add esi, 0x1c0
mov dword [esp + 0x14], esi
call fcn.0055962c
cmp esi, dword [esp + 0x4c]
jbe 0x409299
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
mov eax, dword [esp + 0x30]
add esp, 4
cmp eax, ebx
jne 0x40995c
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3d4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x480]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x40c], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x410], ebx
shr ecx, 2
mov dword [esp + 0x414], 1
mov dword [esp + 0x44c], ebx
mov dword [esp + 0x46c], ebx
mov dword [esp + 0x43c], ebx
mov dword [esp + 0x438], ebx
mov dword [esp + 0x444], ebx
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x450], ebx
mov dword [esp + 0x448], ebx
mov dword [esp + 0x468], ebx
mov dword [esp + 0x440], ebx
mov dword [esp + 0x458], ebx
mov dword [esp + 0x430], ebx
mov dword [esp + 0x478], ebx
mov dword [esp + 0x470], ebx
mov dword [esp + 0x418], ebx
mov dword [esp + 0x460], ebx
mov dword [esp + 0x420], ebx
mov dword [esp + 0x434], ebx
mov dword [esp + 0x47c], ebx
mov dword [esp + 0x474], ebx
mov dword [esp + 0x41c], ebx
mov dword [esp + 0x464], ebx
mov dword [esp + 0x424], ebx
mov dword [esp + 0x454], ebx
lea edx, [esp + 0x3d4]
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, 0x5d6d94
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x428], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x42c], ebx
shr ecx, 2
mov dword [esp + 0x584], ebx
mov dword [esp + 0x588], ebx
mov dword [esp + 0x58c], ebx
mov dword [esp + 0x590], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x408], ebx
mov ecx, 0x70
lea esi, [esp + 0x3d4]
lea edi, [esp + 0x214]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5ac4]
lea ecx, [ebp + 0x5abc]
lea edx, [esi + 1]
push edx
call fcn.00411160
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5ac0]
shl edi, 6
add edi, esi
lea esi, [esp + 0x214]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5ac4]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x3d4]
push eax
push ecx
lea ecx, [ebp + 0x5b84]
mov byte [esp + 0x54e0], 0xc
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x58c], ebx
je 0x4096ef
cmp dword [esp + 0x590], ebx
je 0x4096ef
mov eax, dword [ebp + 0x5ac4]
lea edx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5ba0]
push eax
lea eax, [esp + 0x3d8]
push eax
mov byte [esp + 0x54e0], 0xd
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x4c], ebx
jne 0x40995c
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x214]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c0]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x24c], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x250], ebx
shr ecx, 2
mov dword [esp + 0x254], 1
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x278], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x280], ebx
mov dword [esp + 0x298], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x258], ebx
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x260], ebx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x294], ebx
lea edx, [esp + 0x214]
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, 0x5d6d84
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x268], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x26c], ebx
shr ecx, 2
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x3c8], ebx
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3d0], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x248], ebx
mov ecx, 0x70
lea esi, [esp + 0x214]
lea edi, [esp + 0x6b0]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5ac4]
lea ecx, [ebp + 0x5abc]
lea edx, [esi + 1]
push edx
call fcn.00411160
mov edi, dword [ebp + 0x5ac0]
lea eax, [esi*8]
sub eax, esi
mov ecx, 0x70
shl eax, 6
add edi, eax
lea esi, [esp + 0x6b0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5ac4]
lea ecx, [esp + 0x10]
dec eax
push eax
push ecx
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea edx, [esp + 0x214]
push eax
push edx
lea ecx, [ebp + 0x5b84]
mov byte [esp + 0x54e0], 0xe
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x3cc], ebx
je 0x40995c
cmp dword [esp + 0x3d0], ebx
je 0x40995c
mov eax, dword [ebp + 0x5ac4]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x214]
push eax
push ecx
lea ecx, [ebp + 0x5ba0]
mov byte [esp + 0x54e0], 0xf
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x24], ebx
jne 0x409bc9
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x214]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c0]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x24c], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x250], ebx
shr ecx, 2
mov dword [esp + 0x254], 1
mov dword [esp + 0x28c], ebx
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x27c], ebx
mov dword [esp + 0x278], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x29c], ebx
mov dword [esp + 0x290], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0x280], ebx
mov dword [esp + 0x298], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x2b8], ebx
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x258], ebx
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x260], ebx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x2bc], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x294], ebx
lea edx, [esp + 0x214]
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, 0x5d6d8c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x268], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x26c], ebx
shr ecx, 2
mov dword [esp + 0x3c4], ebx
mov dword [esp + 0x3c8], ebx
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3d0], ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x248], ebx
mov ecx, 0x70
lea esi, [esp + 0x214]
lea edi, [esp + 0x6b0]
push 0xffffffffffffffff
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5ac4]
lea ecx, [ebp + 0x5abc]
lea edx, [esi + 1]
push edx
call fcn.00411160
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5ac0]
shl edi, 6
add edi, esi
lea esi, [esp + 0x6b0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5ac4]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x214]
push eax
push ecx
lea ecx, [ebp + 0x5b84]
mov byte [esp + 0x54e0], 0x10
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x3cc], ebx
je 0x409bc9
cmp dword [esp + 0x3d0], ebx
je 0x409bc9
mov eax, dword [ebp + 0x5ac4]
lea edx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5ba0]
push eax
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x54e0], 0x11
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
mov eax, dword [esp + 0x178]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jle 0x409ec8
mov eax, dword [ebp + 0x5ac4]
xor edi, edi
cmp eax, ebx
jle 0x409c30
mov ecx, dword [esp + 0x14]
xor esi, esi
lea edx, [ecx*4]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 0x5ac0]
mov edx, dword [esp + 0x10]
mov eax, esi
add eax, ecx
mov ecx, dword [esp + 0x174]
push eax
mov ecx, dword [edx + ecx]
push ecx
call fcn.00541319
add esp, 8
test eax, eax
je 0x409c30
mov eax, dword [ebp + 0x5ac4]
inc edi
add esi, 0x1c0
cmp edi, eax
jl 0x409bf9
cmp edi, dword [ebp + 0x5ac4]
jl 0x409eb0
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3d4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x480]
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 + 0x408], eax
mov dword [esp + 0x414], eax
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x40c], ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x410], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x44c], ebx
shr ecx, 2
mov dword [esp + 0x46c], ebx
mov dword [esp + 0x43c], ebx
mov dword [esp + 0x438], ebx
mov dword [esp + 0x444], ebx
mov dword [esp + 0x45c], ebx
mov dword [esp + 0x450], ebx
mov dword [esp + 0x448], ebx
mov dword [esp + 0x468], ebx
mov dword [esp + 0x440], ebx
mov dword [esp + 0x458], ebx
mov dword [esp + 0x430], ebx
mov dword [esp + 0x478], ebx
mov dword [esp + 0x470], ebx
mov dword [esp + 0x418], ebx
mov dword [esp + 0x460], ebx
mov dword [esp + 0x420], ebx
mov dword [esp + 0x434], ebx
mov dword [esp + 0x47c], ebx
mov dword [esp + 0x474], ebx
mov dword [esp + 0x41c], ebx
mov dword [esp + 0x464], ebx
mov dword [esp + 0x424], ebx
mov dword [esp + 0x454], 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 + 0x174]
mov dword [esp + 0x428], ebx
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x584], ebx
mov dword [esp + 0x588], ebx
mov dword [esp + 0x58c], ebx
mov dword [esp + 0x590], ebx
mov edi, dword [ecx + edx*4]
or ecx, 0xffffffff
lea edx, [esp + 0x3d4]
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 + 0x3d4]
lea edi, [esp + 0x6b0]
mov dword [esp + 0x408], ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5ac4]
lea ecx, [ebp + 0x5abc]
push 0xffffffffffffffff
lea edx, [esi + 1]
push edx
call fcn.00411160
lea edi, [esi*8]
mov ecx, 0x70
sub edi, esi
mov esi, dword [ebp + 0x5ac0]
shl edi, 6
add edi, esi
lea esi, [esp + 0x6b0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x5ac4]
dec eax
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [esp + 0x3d4]
push eax
push ecx
lea ecx, [ebp + 0x5b84]
mov byte [esp + 0x54e0], 0x12
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
cmp dword [esp + 0x58c], ebx
je 0x409eb0
cmp dword [esp + 0x590], ebx
je 0x409eb0
mov eax, dword [ebp + 0x5ac4]
lea edx, [esp + 0x2c]
dec eax
push eax
push edx
call fcn.0048d630
add esp, 8
mov eax, dword [eax]
lea ecx, [ebp + 0x5ba0]
push eax
lea eax, [esp + 0x3d8]
push eax
mov byte [esp + 0x54e0], 0x13
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x178]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x409bdc
lea ecx, [ebp + 0x5b08]
mov dword [esp + 0x60], ebx
call fcn.00558112
lea ecx, [esp + 0x60]
push ebx
push ecx
push ebx
push str.memoNickNames
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x409fdc
cmp eax, 2
mov eax, ecx
jne 0x409f05
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x409fdc
push ecx
call fcn.00558a23
add esp, 4
lea edx, [esp + 0x60]
mov esi, eax
lea ecx, [esp + 0x7c]
push ebx
push edx
push esi
push str.memoNickNames
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x60], 0x42
jb 0x409fd3
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 + 0xae4]
lea ecx, [esi - 0x10]
mov edx, dword [esi - 0x10]
mov dword [esp + 0x1c8], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1cc], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1d0], edx
lea edx, [esp + 0x1c8]
mov eax, dword [ecx + 0xc]
mov ecx, 0xc
mov dword [esp + 0x1d4], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xae4]
push ecx
push edx
lea ecx, [ebp + 0x5b08]
movsw word es:[edi], word [esi]
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
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 0x409f57
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
add esp, 4
lea ecx, [ebp + 0x5b24]
mov dword [esp + 0x50], ebx
call fcn.00558112
lea edx, [esp + 0x50]
push ebx
push edx
push ebx
push str.memoUsesInfos
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x40a0f3
cmp eax, 2
mov eax, ecx
jne 0x40a019
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x204
div esi
test edx, edx
jne 0x40a0f3
push ecx
call fcn.00558a23
add esp, 4
mov esi, eax
lea eax, [esp + 0x50]
lea ecx, [esp + 0x7c]
push ebx
push eax
push esi
push str.memoUsesInfos
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x50], 0x204
jb 0x40a0ea
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 + 0x12dc]
lea edx, [esi - 0x10]
mov eax, dword [esi - 0x10]
mov dword [esp + 0x1e8], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x1ec], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1e8]
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0x12dc]
mov dword [esp + 0x1f4], ecx
mov ecx, 0x7d
rep movsd dword es:[edi], dword [esi]
push edx
push eax
lea ecx, [ebp + 0x5b24]
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
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 + 0x50]
jbe 0x40a06e
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
add esp, 4
lea ecx, [ebp + 0x5b40]
mov dword [esp + 0x5c], ebx
call fcn.00558112
lea edx, [esp + 0x5c]
push ebx
push edx
push ebx
push str.memoHostStatus
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
je 0x40a208
cmp eax, 2
mov eax, ecx
jne 0x40a130
lea eax, [ecx - 1]
test al, 0x1f
jne 0x40a208
push ecx
call fcn.00558a23
add esp, 4
mov esi, eax
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x7c]
push ebx
push eax
push esi
push str.memoHostStatus
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x5c], 0x20
jb 0x40a1ff
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 + 0x198], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x19c], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1a0], edx
mov eax, dword [ecx + 0xc]
mov ecx, esi
mov dword [esp + 0x1a4], eax
mov edx, dword [ecx]
mov dword [esp + 0x1b8], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x1bc], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x1c0], edx
lea edx, [esp + 0x198]
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x1b8]
push ecx
push edx
lea ecx, [ebp + 0x5b40]
mov dword [esp + 0x1cc], eax
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
mov ecx, dword [esp + 0x5c]
add esi, 0x20
lea eax, [edi + esi]
cmp eax, ecx
jbe 0x40a173
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
add esp, 4
lea ecx, [ebp + 0x5ad0]
mov dword [esp + 0x54], ebx
call fcn.00558112
lea ecx, [esp + 0x54]
push ebx
push ecx
push ebx
push str.ObjectGroupStatus
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov ecx, dword [esp + 0x54]
cmp ecx, ebx
je 0x40a31b
cmp eax, 2
mov eax, ecx
jne 0x40a245
lea eax, [ecx - 1]
xor edx, edx
mov esi, 0x42
div esi
test edx, edx
jne 0x40a31b
push ecx
call fcn.00558a23
add esp, 4
lea edx, [esp + 0x54]
mov esi, eax
lea ecx, [esp + 0x7c]
push ebx
push edx
push esi
push str.ObjectGroupStatus
mov dword [esp + 0x2c], esi
call fcn.004fa5e0
cmp dword [esp + 0x54], 0x42
jb 0x40a312
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 + 0xab0]
lea esi, [eax - 0x32]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, dword [eax]
mov dword [esp + 0x1d8], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1dc], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1e0], ecx
lea ecx, [esp + 0xab0]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x1d8]
push eax
push ecx
lea ecx, [ebp + 0x5ad0]
mov dword [esp + 0x1ec], edx
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
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 + 0x54]
jbe 0x40a297
mov esi, dword [esp + 0x1c]
push esi
call fcn.00558a4c
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
mov edi, 1
mov dword [ebp + 0x4d30], edi
mov dword [ebp + 0x4d34], edi
mov dword [ebp + 0x4d38], edi
mov dword [ebp + 0x53a4], ebx
mov dword [ebp + 0x53a8], 0xbb8
mov dword [ebp + 0x53ac], 0x5dc
mov dword [ebp + 0x53b0], 3
call esi
cmp al, 4
jb 0x40a370
call esi
cmp eax, 0x80000000
mov eax, 0x64
jb 0x40a375
mov eax, 0x1e
mov dword [ebp + 0x53b4], eax
mov dword [ebp + 0x4d2c], ebx
mov dword [ebp + 0x5a28], ebx
mov dword [ebp + 0x4d24], ebx
mov dword [ebp + 0x4d28], edi
mov dword [ebp + 0x5298], ebx
mov dword [ebp + 0x529c], ebx
mov dword [ebp + 0x52a0], 8
mov dword [ebp + 0x52a4], ebx
mov dword [ebp + 0x4d40], 0x1f4
mov dword [ebp + 0x5304], ebx
mov dword [ebp + 0x4d3c], ebx
mov dword [ebp + 0x539c], ebx
mov dword [ebp + 0x5a78], ebx
mov dword [ebp + 0x5334], edi
mov byte [ebp + 0x5338], bl
mov byte [ebp + 0x536a], bl
mov dword [ebp + 0x53a0], edi
mov dword [ebp + 0x59dc], ebx
mov dword [ebp + 0x59e0], 0xa
mov dword [ebp + 0x59e4], 0xed4e00
mov dword [ebp + 0x59e8], edi
mov dword [ebp + 0x59ec], ebx
mov dword [ebp + 0x59f0], edi
mov dword [ebp + 0x5308], ebx
mov dword [ebp + 0x530c], ebx
mov dword [ebp + 0x4d00], 5
mov dword [ebp + 0x4d04], ebx
mov dword [ebp + 0x5314], edi
mov dword [ebp + 0x5318], ebx
mov dword [ebp + 0x531c], ebx
mov dword [ebp + 0x5320], 0x14
mov dword [ebp + 0x5324], 0x800000
mov dword [ebp + 0x5328], 0x10000
mov dword [ebp + 0x532c], 0x10000
mov dword [ebp + 0x5330], 0x40000
mov dword [ebp + 0x52f0], ebx
mov dword [ebp + 0x5300], ebx
mov dword [ebp + 0x52d4], ebx
call esi
cmp al, 5
jb 0x40a49b
call esi
cmp eax, 0x80000000
mov eax, 2
jb 0x40a4a0
mov eax, 3
mov dword [ebp + 0x52f4], eax
mov dword [ebp + 0x52f8], ebx
mov eax, 0x64
mov dword [ebp + 0x52fc], ebx
mov dword [ebp + 0x5a2c], eax
mov dword [ebp + 0x5a38], eax
mov dword [ebp + 0x5a44], eax
mov dword [ebp + 0x5a34], 0x96
mov dword [ebp + 0x5a3c], 0x96
mov dword [ebp + 0x5a40], eax
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0x4d44], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xb18]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [ebp + 0x4d48]
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, 0x5ed678
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 + 0x4d38]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebp + 0x4e4c], bl
mov byte [ebp + 0x4f50], bl
mov byte [ebp + 0x5054], bl
mov byte [ebp + 0x53c2], bl
mov byte [ebp + 0x54c6], bl
mov byte [ebp + 0x55ca], bl
mov byte [ebp + 0x56ce], bl
mov byte [ebp + 0x58d6], bl
push str.NOSHAKEBEEP_STR
lea ecx, [esp + 0x84]
mov byte [ebp + 0x57d2], bl
call fcn.004fa0e0
lea eax, [ebp + 0x4d34]
lea ecx, [esp + 0x7c]
push eax
push str.NOQUNBEEP_STR
call fcn.004fa0e0
lea eax, [ebp + 0x4d30]
lea ecx, [esp + 0x7c]
push eax
push str.NOBEEP_STR
call fcn.004fa0e0
lea eax, [ebp + 0x53a4]
lea ecx, [esp + 0x7c]
push eax
push str.LISTGET_STR
call fcn.004fa0e0
lea eax, [ebp + 0x53a8]
lea ecx, [esp + 0x7c]
push eax
push str.LISTGETMSEC_STR
call fcn.004fa0e0
lea eax, [ebp + 0x53ac]
lea ecx, [esp + 0x7c]
push eax
push str.RETRYMSEC_STR
call fcn.004fa0e0
lea eax, [ebp + 0x53b0]
push eax
push str.RETRYMAX_STR
lea ecx, [esp + 0x84]
call fcn.004fa0e0
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 4
jb 0x40a629
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
mov ecx, str.RECVMAXNT_STR
jb 0x40a62e
mov ecx, str.RECVMAX95_STR
lea eax, [ebp + 0x53b4]
push eax
push ecx
lea ecx, [esp + 0x84]
call fcn.004fa0e0
lea eax, [ebp + 0x4d2c]
lea ecx, [esp + 0x7c]
push eax
push str.NOERASE_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a28]
lea ecx, [esp + 0x7c]
push eax
push str.DEBUG_STR
call fcn.004fa0e0
lea eax, [ebp + 0x4d24]
lea ecx, [esp + 0x7c]
push eax
push str.NOPOPUPCHECK_STR
call fcn.004fa0e0
lea eax, [ebp + 0x4d28]
lea ecx, [esp + 0x7c]
push eax
push str.OPENCHECK_STR
call fcn.004fa0e0
lea esi, [ebp + 0x5298]
lea ecx, [esp + 0x7c]
push esi
push str.ABSENCESAVE_STR
call fcn.004fa0e0
cmp dword [esi], ebx
je 0x40a6c4
lea eax, [ebp + 0x529c]
lea ecx, [esp + 0x7c]
push eax
push str.ABSENCECHECK_STR
call fcn.004fa0e0
lea esi, [ebp + 0x52a0]
lea ecx, [esp + 0x7c]
push esi
push str.ABSENCEMAX_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5318]
lea ecx, [esp + 0x7c]
push eax
push str.FILETRANSOPT_STR
call fcn.004fa0e0
lea eax, [ebp + 0x531c]
lea ecx, [esp + 0x7c]
push eax
push str.RESOLVEOPT_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5320]
lea ecx, [esp + 0x7c]
push eax
push str.ENCRYPTNUM_STR
call fcn.004fa0e0
lea edi, [ebp + 0x5324]
lea ecx, [esp + 0x7c]
push edi
push str.VIEWMAX_STR
call fcn.004fa0e0
cmp dword [edi], 0x100000
jge 0x40a73b
mov dword [edi], 0x800000
lea edi, [ebp + 0x5328]
lea ecx, [esp + 0x7c]
push edi
push str.TRANSMAX_STR
call fcn.004fa0e0
cmp dword [edi], 8
jge 0x40a75b
mov dword [edi], 0x10000
lea edi, [ebp + 0x532c]
lea ecx, [esp + 0x7c]
push edi
push str.RECVTRANSMAX_STR
call fcn.004fa0e0
cmp dword [edi], 8
jge 0x40a77b
mov dword [edi], 0x10000
lea edi, [ebp + 0x5330]
lea ecx, [esp + 0x7c]
push edi
push str.TCPBUFMAX_STR
call fcn.004fa0e0
cmp dword [edi], 0x2000
jge 0x40a79e
mov dword [edi], 0x40000
mov eax, dword [esi]
mov ecx, eax
shl ecx, 6
add ecx, eax
shl ecx, 2
push ecx
call fcn.00558a23
mov edi, eax
add esp, 4
mov dword [ebp + 0x52a8], 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 + 0x52a8]
lea ecx, [esp + 0x84]
push eax
push str.ABSENCESTR_STR
call fcn.004fa340
mov eax, dword [esi]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 1
push ecx
call fcn.00558a23
mov edi, eax
add esp, 4
mov dword [ebp + 0x52ac], 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 0x40a8ce
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x1a4]
mov edx, dword [ebp + 0x52a8]
push 0x104
push eax
mov eax, dword [esp + 0x38]
add eax, edx
push eax
call fcn.00438200
mov eax, dword [esp + 0x20]
add esp, 0xc
xor ecx, ecx
cmp eax, 8
mov edx, dword [esp + 0x20]
mov esi, dword [ebp + 0x52ac]
setge cl
dec ecx
add edx, esi
and ecx, eax
xor eax, eax
mov edi, dword [ecx*4 + 0x5d66f4]
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 + 0x20]
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 + 0x30]
mov ecx, dword [ebp + 0x52a0]
add esi, 0x104
add edx, 0x32
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], edx
jl 0x40a83e
lea eax, [ebp + 0x4d40]
lea ecx, [esp + 0x7c]
push eax
push str.DELAYTIME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5304]
lea ecx, [esp + 0x7c]
push eax
push str.IPADDRCHECK_STR
call fcn.004fa0e0
lea eax, [ebp + 0x4d3c]
lea ecx, [esp + 0x7c]
push eax
push str.ONECLICKPOPUP_STR
call fcn.004fa0e0
lea eax, [ebp + 0x539c]
lea ecx, [esp + 0x7c]
push eax
push str.ABNORMALBTN_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a78]
lea ecx, [esp + 0x7c]
push eax
push str.DIALUPCHECK_STR
call fcn.004fa0e0
lea esi, [ebp + 0x5334]
lea ecx, [esp + 0x7c]
push esi
push str.NICKNAMECHECK_STR
call fcn.004fa0e0
mov edx, dword [esi]
xor ecx, ecx
cmp edx, 1
lea eax, [ebp + 0x53a0]
sete cl
mov dword [esi], ecx
push eax
push str.ABSENCENONPOPUP_STR
lea ecx, [esp + 0x84]
call fcn.004fa0e0
push ebx
lea eax, [ebp + 0x5338]
push 0x32
push eax
push str.NICKNAMESTR_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x536a]
push 0x32
push eax
push str.GROUPNAMESTR_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
lea eax, [ebp + 0x59dc]
lea ecx, [esp + 0x7c]
push eax
push str.SORT_STR
call fcn.004fa130
lea eax, [ebp + 0x59e4]
lea ecx, [esp + 0x7c]
push eax
push str.KEEPHOSTTIME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5308]
lea ecx, [esp + 0x7c]
push eax
push str.CONTROLIME_STR
call fcn.004fa0e0
lea esi, [ebp + 0x4d44]
lea ecx, [esp + 0x7c]
push esi
push str.LOGCHECK_STR
call fcn.004fa0e0
call fcn.00569c56
mov eax, dword [eax + 4]
mov edx, dword [esi]
push edx
mov ecx, eax
call fcn.00471b70
push ebx
lea esi, [ebp + 0x4d48]
push 0x104
push esi
push str.LOGFILE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
mov edi, 0x5ed678
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40aa57
cmp al, bl
je 0x40aa53
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40aa57
add esi, 2
add edi, 2
cmp al, bl
jne 0x40aa2f
xor eax, eax
jmp 0x40aa5c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40ab6c
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5ed678
call fcn.0055969a
lea eax, [esp + 0x18]
push eax
call fcn.0043fa70
add esp, 8
mov ecx, eax
mov byte [esp + 0x54dc], 0x14
call fcn.0040ce20
lea ecx, [esp + 0xb1c]
push eax
push ecx
call fcn.00438200
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
push 1
push ecx
lea edx, [esp + 0xb20]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.0055969a
call fcn.0043f6a0
add esp, 8
lea eax, [esp + 0xb18]
lea ecx, [esp + 0x10]
push 1
push eax
call fcn.0055969a
push ecx
mov byte [esp + 0x54e0], 0x15
mov ecx, esp
mov dword [esp + 0x20], esp
push str._feiq
push eax
push ecx
call fcn.005598c1
call fcn.0043f6a0
add esp, 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
mov edi, str._feiq_feiq.fql
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xb18]
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 + 0xb1c]
mov ecx, edx
push eax
and ecx, 3
lea eax, [ebp + 0x4d48]
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00438200
add esp, 0xc
jmp 0x40abd4
lea esi, [ebp + 0x4d48]
push esi
call fcn.0043cbb0
add esp, 4
test al, al
jne 0x40abd4
lea ecx, [esp + 0x1c]
push esi
push ecx
call fcn.004c3520
add esp, 8
push 1
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
mov byte [esp + 0x54e4], 0x16
call fcn.005593a1
call fcn.0043f6a0
push 0x104
lea eax, [esp + 0xb24]
push esi
push eax
call fcn.00438200
add esp, 0x14
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
push ecx
lea esi, [ebp + 0x4d48]
mov ecx, esp
mov dword [esp + 0x1c], esp
push esi
call fcn.0055969a
mov byte [esp + 0x54dc], 9
call fcn.0040ce30
mov ecx, eax
call fcn.004717d0
cmp dword [ebp + 0x4d44], ebx
je 0x40ac0c
push esi
call fcn.00489090
add esp, 4
or ecx, 0xffffffff
mov edi, 0x5d6abc
xor eax, eax
lea edx, [ebp + 0x525c]
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, 0x5d6ab8
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 + 0x5268]
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 + 0x5274]
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 + 0x5280]
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, 0x5d6a88
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + 0x528c]
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 + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x5268]
push 0xc
push eax
push str.TreeStryleLargeIcon2_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x5274]
push 0xc
push eax
push str.TreeStryleSmallIcon_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x5280]
push 0xc
push eax
push str.ListColStryle_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x528c]
push 0xc
push eax
push str.GetMacStryle_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x5054]
push 0x104
push eax
push str.SHAKESOUNDFILE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x4f50]
push 0x104
push eax
push str.QUNSOUNDFILE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x4e4c]
push 0x104
push eax
push str.SOUNDFILE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x53c2]
push 0x104
push eax
push str.ICON_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x54c6]
push 0x104
push eax
push str.REVICON_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x55ca]
push 0x104
push eax
push str.ICONNOVISIBLE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x56ce]
push 0x104
push eax
push str.MSGICON_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x58d6]
push 0x104
push eax
push str.LASTOPEN_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
push ebx
lea eax, [ebp + 0x57d2]
push 0x104
push eax
push str.LASTSAVE_STR
lea ecx, [esp + 0x8c]
call fcn.004fa340
call fcn.00569c56
mov eax, dword [eax + 4]
cmp dword [eax + 0x284], ebx
je 0x40af07
call fcn.00569c56
mov eax, dword [eax + 4]
lea ecx, [esp + 0x20]
add eax, 0x288
push eax
call fcn.005593a1
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x18
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x20]
add eax, 0xfffffffb
push eax
push edx
call fcn.005549b4
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x54dc], 0x19
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x18
call fcn.0055962c
mov edi, dword [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x5158]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x54d8], 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 + 0x20]
call fcn.0055962c
jmp 0x40afe3
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0x5158]
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 + 0x8c]
call fcn.004fa340
mov edi, 0x5ed678
lea esi, [ebp + 0x5158]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40af7a
cmp al, bl
je 0x40af76
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40af7a
add esi, 2
add edi, 2
cmp al, bl
jne 0x40af52
xor eax, eax
jmp 0x40af7f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40afd6
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5ed678
call fcn.0055969a
lea eax, [esp + 0x18]
push eax
call fcn.0043fa70
add esp, 8
mov ecx, eax
mov byte [esp + 0x54dc], 0x1a
call fcn.0040ce20
push eax
lea eax, [ebp + 0x5158]
push eax
call fcn.00438200
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 9
call fcn.0055962c
call fcn.00569c56
mov ecx, dword [eax + 4]
call fcn.00472880
lea ecx, [esp + 0x1f8]
call fcn.0053943a
lea esi, [ebp + 0x5158]
push ebx
push esi
lea ecx, [esp + 0x200]
mov byte [esp + 0x54e0], 0x1b
call fcn.005394fd
xor edi, edi
cmp eax, ebx
je 0x40b039
lea ecx, [esp + 0x1f8]
call fcn.0053971d
mov edx, dword [esp + 0x1f8]
push 0x10
lea ecx, [esp + 0x1fc]
call dword [edx + 0x38]
cmp eax, ebx
je 0x40b039
mov edi, 1
lea ecx, [esp + 0x1f8]
call fcn.005394b3
cmp edi, ebx
jne 0x40b0a3
push 0x104
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5ed678
call fcn.0055969a
lea eax, [esp + 0x18]
push eax
call fcn.0043fa70
add esp, 8
mov ecx, eax
mov byte [esp + 0x54dc], 0x1c
call fcn.0040ce20
push eax
push esi
call fcn.00438200
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x1b
call fcn.0055962c
call fcn.00569c56
mov ecx, dword [eax + 4]
call fcn.00472880
lea eax, [ebp + 0x5338]
lea ecx, [esp + 0x34]
push eax
call fcn.0055969a
lea eax, [ebp + 0x536a]
lea ecx, [esp + 0x38]
push eax
mov byte [esp + 0x54dc], 0x1d
call fcn.0055969a
lea ecx, [esp + 0x34]
mov byte [esp + 0x54d8], 0x1e
call fcn.00554e33
lea ecx, [esp + 0x34]
call fcn.00554de7
lea ecx, [esp + 0x38]
call fcn.00554e33
lea ecx, [esp + 0x38]
call fcn.00554de7
mov ecx, dword [esp + 0x34]
push 0x5ed678
push ecx
call fcn.00541319
add esp, 8
test eax, eax
jne 0x40b2e0
mov edx, dword [esp + 0x38]
push 0x5ed678
push edx
call fcn.00541319
add esp, 8
test eax, eax
jne 0x40b2e0
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x7c]
push eax
push str.Height
mov dword [esp + 0x24], ebx
call fcn.004fa0e0
cmp dword [esp + 0x1c], ebx
jne 0x40b2e0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.NickNameStr
call fcn.0055969a
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebp
call fcn.0040fe70
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x54dc], 0x1f
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x1e
call fcn.0055962c
lea ecx, [esp + 0x34]
call fcn.00554e33
lea ecx, [esp + 0x34]
call fcn.00554de7
mov edx, dword [esp + 0x34]
push 0x5ed678
push edx
call fcn.00541319
add esp, 8
test eax, eax
je 0x40b216
mov eax, dword [esp + 0x34]
cmp dword [eax - 8], 0x31
jl 0x40b1f1
lea ecx, [esp + 0x10]
push 0x31
push ecx
lea ecx, [esp + 0x3c]
call fcn.005549b4
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x54dc], 0x20
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x1e
call fcn.0055962c
mov edi, dword [esp + 0x34]
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 + 0x5338]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.GroupNameStr
call fcn.0055969a
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
call fcn.0040fe70
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x54dc], 0x21
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x1e
call fcn.0055962c
lea ecx, [esp + 0x38]
call fcn.00554e33
lea ecx, [esp + 0x38]
call fcn.00554de7
mov ecx, dword [esp + 0x38]
push 0x5ed678
push ecx
call fcn.00541319
add esp, 8
test eax, eax
je 0x40b2e0
mov edx, dword [esp + 0x38]
cmp dword [edx - 8], 0x31
jl 0x40b2bb
lea eax, [esp + 0x10]
push 0x31
push eax
lea ecx, [esp + 0x40]
call fcn.005549b4
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x54dc], 0x22
call fcn.00559765
lea ecx, [esp + 0x10]
mov byte [esp + 0x54d8], 0x1e
call fcn.0055962c
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 + 0x536a]
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 + 0x84]
call fcn.004f9ee0
test eax, eax
je 0x40b382
lea eax, [ebp + 0x5a2c]
lea ecx, [esp + 0x7c]
push eax
push str.SENDNICKNAME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a38]
lea ecx, [esp + 0x7c]
push eax
push str.SENDHOSTNAME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a44]
lea ecx, [esp + 0x7c]
push eax
push str.SENDUSERNAME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a34]
lea ecx, [esp + 0x7c]
push eax
push str.SENDGROUPNAME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a3c]
lea ecx, [esp + 0x7c]
push eax
push str.SENDTYPENAME_STR
call fcn.004fa0e0
lea eax, [ebp + 0x5a40]
lea ecx, [esp + 0x7c]
push eax
push str.SENDIPADDR_STR
call fcn.004fa0e0
lea ecx, [esp + 0x7c]
call fcn.004fa080
lea ecx, [esp + 0x184]
call fcn.00557573
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x18c]
mov byte [esp + 0x54e0], 0x23
call fcn.00557606
push ebx
push str.BROADCAST_STR
lea ecx, [esp + 0x84]
call fcn.004f9ee0
test eax, eax
jne 0x40b3db
lea eax, [esp + 0x184]
mov ecx, ebp
push eax
call fcn.004103b0
lea ecx, [esp + 0x184]
push ecx
mov ecx, ebp
call fcn.0040ff70
jmp 0x40b3e4
lea ecx, [esp + 0x7c]
call fcn.004fa080
push 1
push str.BROADCAST_STR
lea ecx, [esp + 0x84]
call fcn.004f9ee0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
test eax, eax
je 0x40b476
xor esi, esi
mov eax, esi
lea edx, [esp + 0x594]
push eax
push 0x5d68d4
push edx
inc esi
call edi
add esp, 0xc
lea eax, [esp + 0xc1c]
lea ecx, [esp + 0x594]
push ebx
push 0xc8
push eax
push ecx
lea ecx, [esp + 0x8c]
call fcn.004fa340
cmp eax, 1
jne 0x40b45e
mov eax, dword [esp + 0x18c]
lea edx, [esp + 0xc1c]
push edx
push eax
lea ecx, [esp + 0x18c]
call fcn.005577af
jmp 0x40b403
lea ecx, [esp + 0x7c]
call fcn.004fa080
lea ecx, [esp + 0x184]
push ecx
mov ecx, ebp
call fcn.0040ff70
call fcn.00569c56
mov edi, dword [eax + 4]
cmp dword [edi + 0x1c4], ebx
je 0x40b4c9
mov eax, dword [edi + 0x1c8]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jbe 0x40b4c9
mov edx, dword [edi + 0x1c4]
mov eax, dword [esp + 0x14]
mov esi, dword [edx + eax*4]
cmp esi, ebx
je 0x40b4b6
lea ecx, [esi + 0xc]
push 1
push ecx
call fcn.00554eb3
mov esi, dword [esi]
cmp esi, ebx
jne 0x40b4a5
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x1c8]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jb 0x40b494
mov eax, dword [edi + 0x1c4]
push eax
call fcn.00558a4c
mov dword [edi + 0x1c4], ebx
mov dword [edi + 0x1cc], ebx
mov dword [edi + 0x1d0], ebx
mov ecx, dword [edi + 0x1d4]
add esp, 4
call fcn.0055799b
push ebx
push str.QUNGROUP_STR
lea ecx, [esp + 0x84]
mov dword [edi + 0x1d4], ebx
call fcn.004f9ee0
test eax, eax
je 0x40bedf
xor esi, esi
mov dword [esp + 0x1c], esi
push ebx
lea edx, [esp + 0x598]
push 0xc8
push edx
push esi
lea ecx, [esp + 0x8c]
call fcn.004fa9a0
test eax, eax
jne 0x40b55c
lea eax, [esp + 0x594]
push 0xc8
push eax
push esi
lea ecx, [esp + 0x88]
call fcn.004fa890
test eax, eax
je 0x40bed6
lea ecx, [esp + 0x20]
push 1
push ecx
lea edx, [esp + 0x59c]
push ebx
push edx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x30], ebx
call fcn.004fa5e0
mov eax, dword [esp + 0x20]
cmp eax, 0x278
jb 0x40bec6
push eax
call fcn.00558a23
mov edx, eax
or ecx, 0xffffffff
mov edi, 0x5ed678
xor eax, eax
add esp, 4
lea esi, [esp + 0x6b4]
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 + 0x28], 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, 0x5ed678
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x6e6]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x726]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x826]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x86a]
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, 0x5ed678
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x8b2]
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, 0x5ed678
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [esp + 0x8c2]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x8f0]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x90c]
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 + 0x24]
push ecx
push edx
lea edx, [esp + 0x5a0]
lea ecx, [esp + 0x88]
push edx
call fcn.004fa5e0
test eax, eax
je 0x40beb9
push 0x10
lea eax, [esp + 0x598]
push ebx
push eax
call fcn.00541784
add esp, 0xc
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], eax
push 4
push ecx
lea ecx, [esp + 0x74]
call fcn.00404aa0
mov eax, dword [esp + 0x20]
mov byte [esp + 0x54d8], 0x24
cmp eax, 0x4000
jle 0x40b7a9
mov edx, dword [esp + 0x28]
push edx
jmp 0x40b8da
mov esi, dword [esp + 0x28]
mov ecx, eax
mov edx, ecx
lea edi, [esp + 0x14d0]
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 + 0x14e0]
lea ecx, [esp + 0x14e0]
push eax
push ecx
lea ecx, [esp + 0x84]
call fcn.00405730
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
push edx
call fcn.00558a4c
mov eax, dword [esp + 0x24]
add esp, 4
cmp eax, ebx
jne 0x40b81f
lea ecx, [esp + 0x6c]
mov byte [esp + 0x54d8], 0x23
call fcn.00404ae0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov esi, eax
jmp 0x40b51b
push eax
call fcn.00558a23
mov ecx, dword [esp + 0x24]
lea esi, [esp + 0x14d4]
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 + 0x28], eax
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax]
xor ecx, ecx
mov dword [esp + 0x160], ecx
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], ecx
mov edi, str.QUNMSGMARK
mov dword [esp + 0x168], ecx
lea esi, [esp + 0x160]
mov dword [esp + 0x16c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x164], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x168], edx
mov cx, word [eax + 0xc]
mov word [esp + 0x16c], cx
mov dl, byte [eax + 0xe]
mov byte [esp + 0x16e], dl
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x40b8cc
cmp al, bl
je 0x40b8c8
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x40b8cc
add esi, 2
add edi, 2
cmp al, bl
jne 0x40b8a4
xor eax, eax
jmp 0x40b8d1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40b903
mov eax, dword [esp + 0x28]
push eax
call fcn.00558a4c
add esp, 4
lea ecx, [esp + 0x6c]
mov byte [esp + 0x54d8], 0x23
call fcn.00404ae0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov esi, eax
jmp 0x40b51b
mov ecx, dword [esp + 0x28]
mov eax, dword [0x5e8e38]
lea edi, [esp + 0x6b0]
lea esi, [ecx + 0x10]
mov ecx, 0x9a
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x8e4], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x6b0]
lea eax, [esp + 0x14]
push edx
push 0x5d68b0
push eax
mov byte [esp + 0x54e4], 0x26
call fcn.00554dd4
add esp, 0xc
lea ecx, [esp + 0x594]
push ecx
lea ecx, [esp + 0x34]
call fcn.005597b5
lea ecx, [esp + 0x30]
call fcn.00554de7
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.00541319
add esp, 8
test eax, eax
je 0x40b9ce
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00558a4c
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x54d8], 0x25
call fcn.0055962c
lea ecx, [esp + 0x14]
mov byte [esp + 0x54d8], 0x24
call fcn.0055962c
lea ecx, [esp + 0x6c]
mov byte [esp + 0x54d8], 0x23
call fcn.00404ae0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov esi, eax
jmp 0x40b51b
xor esi, esi
call fcn.00569c56
mov eax, dword [eax + 4]
cmp dword [eax + 0x1e4], ebx
jle 0x40ba13
xor edi, edi
call fcn.00569c56
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x1e0]
mov eax, dword [esp + 0x6b0]
cmp dword [edx + edi], eax
je 0x40ba13
inc esi
add edi, 0x268
call fcn.00569c56
mov eax, dword [eax + 4]
cmp esi, dword [eax + 0x1e4]
jl 0x40b9e2
call fcn.00569c56
mov eax, dword [eax + 4]
cmp esi, dword [eax + 0x1e4]
jl 0x40bd27
call fcn.00569c56
mov edi, dword [eax + 4]
mov dword [esp + 0x24], edi
mov ecx, dword [edi + 0x1e4]
mov eax, ecx
mov dword [esp + 0x10], eax
lea esi, [eax + 1]
mov eax, dword [edi + 0x1e0]
cmp esi, ebx
jne 0x40ba74
cmp eax, ebx
je 0x40ba63
push eax
mov dword [esp + 0x1c], ecx
call fcn.00558a4c
add esp, 4
mov dword [edi + 0x1e0], ebx
mov dword [edi + 0x1e8], ebx
mov dword [edi + 0x1e4], ebx
jmp 0x40bbcb
cmp eax, ebx
jne 0x40baab
lea ecx, [esi + esi*8]
lea edx, [esi + ecx*2]
lea eax, [esi + edx*4]
shl eax, 3
push eax
call fcn.00558a23
add esp, 4
mov dword [edi + 0x1e0], eax
push esi
push eax
call fcn.004115f0
mov dword [edi + 0x1e8], esi
mov dword [edi + 0x1e4], esi
jmp 0x40bbcb
mov edx, dword [edi + 0x1e8]
cmp esi, edx
mov dword [esp + 0x40], edx
jg 0x40baf2
cmp ecx, esi
jge 0x40badf
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.004115f0
mov dword [edi + 0x1e4], esi
jmp 0x40bbcb
jle 0x40bae7
sub ecx, esi
mov dword [esp + 0x18], ecx
mov dword [edi + 0x1e4], esi
jmp 0x40bbcb
mov eax, dword [edi + 0x1ec]
cmp eax, ebx
jne 0x40bb1f
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40bb13
mov eax, 4
jmp 0x40bb1f
cmp eax, 0x400
jle 0x40bb1f
mov eax, 0x400
mov ecx, dword [esp + 0x40]
add eax, ecx
cmp esi, eax
mov dword [esp + 0x40], eax
jl 0x40bb31
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x40]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*4]
shl edx, 3
push edx
call fcn.00558a23
mov edx, dword [esp + 0x28]
mov edi, eax
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [edx + 0x1e4]
lea esi, [ecx + ecx*8]
lea esi, [ecx + esi*2]
lea ecx, [ecx + esi*4]
mov esi, dword [edx + 0x1e0]
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 + 0x24]
lea edi, [edx + 1]
mov edx, edi
mov ecx, dword [esi + 0x1e4]
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.004115f0
mov eax, dword [esi + 0x1e0]
push eax
call fcn.00558a4c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], edi
add esp, 4
mov dword [esi + 0x1e8], ecx
mov eax, dword [esp + 0x10]
lea esi, [esp + 0x6b0]
lea edx, [eax + eax*8]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1e0]
lea edi, [ecx + edx*8]
mov ecx, 0x9a
rep movsd dword es:[edi], dword [esi]
call fcn.00569c56
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x6b0]
shr eax, 4
mov ecx, dword [esi + 0x1c8]
xor edx, edx
div ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0x1c4]
cmp ecx, ebx
mov dword [esp + 0x24], edx
je 0x40bc4c
mov eax, dword [ecx + edx*4]
cmp eax, ebx
je 0x40bc48
mov edx, dword [esp + 0x6b0]
mov edi, dword [eax + 8]
cmp edi, edx
je 0x40bc3e
mov eax, dword [eax]
cmp eax, ebx
jne 0x40bc28
jmp 0x40bc48
cmp eax, ebx
mov edi, eax
jne 0x40bd1a
cmp ecx, ebx
jne 0x40bc86
mov eax, dword [esp + 0x10]
lea edi, [eax*4]
push edi
call fcn.00558a23
mov edx, eax
mov ecx, edi
mov dword [esi + 0x1c4], 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 + 0x1c8], eax
cmp dword [esi + 0x1d0], ebx
jne 0x40bccc
mov ecx, dword [esi + 0x1d8]
push 0x10
lea edx, [esi + 0x1d4]
push ecx
push edx
call fcn.0055797b
mov ecx, dword [esi + 0x1d8]
mov edx, ecx
shl edx, 4
dec ecx
cmp ecx, ebx
lea eax, [edx + eax - 0xc]
jl 0x40bccc
inc ecx
mov edx, dword [esi + 0x1d0]
mov dword [eax], edx
mov dword [esi + 0x1d0], eax
sub eax, 0x10
dec ecx
jne 0x40bcb8
mov edi, dword [esi + 0x1d0]
push 1
mov eax, dword [edi]
lea ecx, [edi + 0xc]
mov dword [esi + 0x1d0], eax
mov edx, dword [esi + 0x1cc]
inc edx
push ecx
mov dword [esi + 0x1cc], edx
mov dword [edi + 8], ebx
call fcn.00554e85
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x6b0]
mov dword [edi + 4], eax
mov dword [edi + 8], edx
mov ecx, dword [esi + 0x1c4]
mov edx, dword [ecx + eax*4]
mov dword [edi], edx
mov ecx, dword [esi + 0x1c4]
mov dword [ecx + eax*4], edi
lea edx, [esp + 0x14]
lea ecx, [edi + 0xc]
push edx
call fcn.00559765
mov ecx, dword [esp + 0x20]
cmp ecx, 0x27c
jb 0x40be86
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x278]
cmp eax, ebx
jle 0x40be86
mov esi, eax
shl esi, 4
add esi, 0x27c
cmp ecx, esi
jne 0x40be86
cmp eax, ebx
jle 0x40be86
add edx, 0x27c
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], edx
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x148]
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 + 0x40]
mov edx, dword [ecx]
mov dword [esp + 0x148], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x14c], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x150], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x5e8e38]
mov dword [esp + 0x154], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x6b0]
lea edx, [esp + 0x148]
push edx
push eax
lea ecx, [esp + 0x2c]
push str._08x_s
push ecx
mov byte [esp + 0x54e8], 0x27
call fcn.00554dd4
mov edx, dword [0x5e8e38]
add esp, 0x10
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x6b0]
lea ecx, [esp + 0x2c]
push eax
push 0x5d68b0
push ecx
mov byte [esp + 0x54e4], 0x28
call fcn.00554dd4
add esp, 0xc
call fcn.00569c56
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x24]
push edx
push ecx
lea ecx, [eax + 0x204]
call fcn.005582ad
mov ecx, eax
call fcn.005597b5
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54d8], 0x27
call fcn.0055962c
lea ecx, [esp + 0x24]
mov byte [esp + 0x54d8], 0x26
call fcn.0055962c
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
add ecx, 0x10
dec eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x10], eax
jne 0x40bd72
lea ecx, [esp + 0x30]
mov byte [esp + 0x54d8], 0x25
call fcn.0055962c
lea ecx, [esp + 0x14]
mov byte [esp + 0x54d8], 0x24
call fcn.0055962c
lea ecx, [esp + 0x6c]
mov byte [esp + 0x54d8], 0x23
call fcn.00404ae0
mov edx, dword [esp + 0x28]
push edx
call fcn.00558a4c
add esp, 4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
mov esi, eax
jmp 0x40b51b
lea ecx, [esp + 0x7c]
call fcn.004fa080
mov eax, dword [ebp + 0x5aac]
cmp eax, ebx
je 0x40bef8
push eax
call fcn.00558a4c
add esp, 4
mov dword [ebp + 0x5aac], ebx
push ebx
mov dword [ebp + 0x5ab4], ebx
push str.RUBBISH_STR
lea ecx, [esp + 0x84]
mov dword [ebp + 0x5ab0], ebx
call fcn.004f9ee0
test eax, eax
jne 0x40c294
mov edi, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x6b0]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x7c4]
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, 0x5ed678
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 [0x5e8e38]
mov dword [esp + 0x28], ecx
push 0x5d67dc
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54dc], 0x2b
call fcn.005597b5
mov edx, dword [esp + 0x28]
mov eax, dword [edx - 8]
cmp eax, 0x103
jle 0x40bfd2
lea eax, [esp + 0x18]
push 0x103
push eax
lea ecx, [esp + 0x30]
call fcn.005549b4
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x54dc], 0x2c
call fcn.00559765
lea ecx, [esp + 0x18]
mov byte [esp + 0x54d8], 0x2b
call fcn.0055962c
mov edi, dword [esp + 0x28]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x6b0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x7c4]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x7b4], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x7b8], 1
shr ecx, 2
mov dword [esp + 0x7bc], 2
mov dword [esp + 0x7c0], 3
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x5aac]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5ab0]
mov edx, ecx
mov dword [esp + 0x20], edx
inc edx
cmp edx, ebx
jne 0x40c086
cmp eax, ebx
je 0x40c075
push eax
call fcn.00558a4c
add esp, 4
mov dword [ebp + 0x5aac], ebx
mov dword [ebp + 0x5ab4], ebx
mov dword [ebp + 0x5ab0], ebx
jmp 0x40c25c
cmp eax, ebx
jne 0x40c105
mov ecx, dword [esp + 0x20]
lea esi, [ecx + 1]
mov edx, esi
shl edx, 5
add edx, esi
lea edi, [esi + edx*2]
shl edi, 3
push edi
call fcn.00558a23
mov edx, eax
mov ecx, edi
mov dword [ebp + 0x5aac], 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 + 0x54d8], 0x2d
je 0x40c0e2
mov ecx, edi
call fcn.0040ce40
add edi, 0x218
dec esi
mov dword [esp + 0x10], edi
jne 0x40c0c7
mov eax, dword [esp + 0x20]
inc eax
mov dword [ebp + 0x5ab4], eax
mov dword [ebp + 0x5ab0], eax
jmp 0x40c25c
mov esi, dword [ebp + 0x5ab4]
cmp edx, esi
jg 0x40c187
cmp edx, ecx
jle 0x40c175
mov esi, ecx
sub edx, ecx
shl esi, 5
add esi, ecx
lea ecx, [ecx + esi*2]
lea edi, [eax + ecx*8]
mov eax, edx
shl eax, 5
add eax, edx
mov dword [esp + 0x10], edi
lea ecx, [edx + 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 ecx, edx
dec edx
test ecx, ecx
je 0x40c175
mov esi, dword [esp + 0x10]
lea edi, [edx + 1]
mov dword [esp + 0x18], esi
cmp esi, ebx
mov byte [esp + 0x54d8], 0x2e
je 0x40c168
mov ecx, esi
call fcn.0040ce40
add esi, 0x218
dec edi
mov dword [esp + 0x10], esi
jne 0x40c151
mov edx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x5ab0], eax
jmp 0x40c25c
mov eax, dword [ebp + 0x5ab8]
cmp eax, ebx
jne 0x40c1b4
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40c1a8
mov eax, 4
jmp 0x40c1b4
cmp eax, 0x400
jle 0x40c1b4
mov eax, 0x400
mov ecx, dword [esp + 0x20]
add eax, esi
inc ecx
mov dword [esp + 0x1c], eax
cmp ecx, eax
jl 0x40c1c7
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov edx, eax
shl edx, 5
add edx, eax
lea eax, [eax + edx*2]
shl eax, 3
push eax
call fcn.00558a23
mov ecx, dword [ebp + 0x5ab0]
mov esi, dword [ebp + 0x5aac]
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 + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5ab0]
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.004113f0
mov eax, dword [ebp + 0x5aac]
push eax
call fcn.00558a4c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0x5aac], eax
mov dword [ebp + 0x5ab0], esi
add esp, 4
mov dword [ebp + 0x5ab4], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x5aac]
mov edx, eax
lea esi, [esp + 0x6b0]
shl edx, 5
add edx, eax
mov byte [esp + 0x54d8], 0x23
lea eax, [eax + edx*2]
lea edi, [ecx + eax*8]
mov ecx, 0x86
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x28]
call fcn.0055962c
jmp 0x40c29d
lea ecx, [esp + 0x7c]
call fcn.004fa080
push 1
push str.RUBBISH_STR
lea ecx, [esp + 0x84]
call fcn.004f9ee0
test eax, eax
je 0x40c98e
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xce4]
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 + 0x594]
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, 0x5ed678
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 + 0x598]
push 0x5d68d4
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edx, [esp + 0xce4]
lea eax, [esp + 0x594]
lea ecx, [esp + 0x7c]
push ebx
push 0x400
push edx
push eax
call fcn.004fa340
cmp eax, 1
jne 0x40c985
lea ecx, [esp + 0xce4]
push ecx
lea ecx, [esp + 0x28]
call fcn.0055969a
lea ecx, [esp + 0x148]
mov byte [esp + 0x54d8], 0x2f
call fcn.00557573
lea edx, [esp + 0x148]
push ebx
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x5d67d4
mov byte [esp + 0x54e8], 0x30
call fcn.0055969a
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x88], esp
push eax
mov byte [esp + 0x54ec], 0x31
call fcn.005593a1
mov byte [esp + 0x54e8], 0x30
call fcn.0043cd40
mov eax, dword [esp + 0x160]
add esp, 0x10
cmp eax, 6
jl 0x40c95b
mov ecx, dword [esp + 0x14c]
mov edx, dword [ecx + 4]
cmp dword [edx - 8], 0x102
jg 0x40c95b
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x6b0]
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, 0x5ed678
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0x7c4]
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 + 0x6b0]
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 + 0x14c]
mov eax, dword [ecx + 8]
push eax
call fcn.005414a3
mov edx, dword [esp + 0x150]
mov esi, eax
mov dword [esp + 0x7b8], esi
mov eax, dword [edx + 0xc]
push eax
call fcn.005414a3
mov edi, eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x7c0], edi
mov eax, dword [eax + 0x10]
push eax
call fcn.005414a3
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x7c8], eax
mov eax, dword [ecx + 0x14]
push eax
call fcn.005414a3
add esp, 0x10
cmp esi, ebx
mov dword [esp + 0x7c0], eax
jl 0x40c4e4
cmp esi, 2
jle 0x40c4eb
mov dword [esp + 0x7b4], ebx
cmp edi, ebx
jl 0x40c4f4
cmp edi, 1
jle 0x40c4fb
mov dword [esp + 0x7b8], ebx
mov ecx, dword [esp + 0x7bc]
cmp ecx, ebx
jl 0x40c50b
cmp ecx, 2
jle 0x40c512
mov dword [esp + 0x7bc], ebx
cmp eax, ebx
jl 0x40c51b
cmp eax, 4
jle 0x40c522
mov dword [esp + 0x7c0], ebx
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x7c4]
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 + 0x150]
and ecx, 3
cmp eax, 6
rep movsb byte es:[edi], byte [esi]
jle 0x40c58e
mov ecx, dword [esp + 0x14c]
mov edi, dword [ecx + 0x18]
cmp dword [edi - 8], 0x100
jg 0x40c58e
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x7c4]
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 + 0x5ab0]
mov eax, ecx
mov dword [esp + 0x20], eax
inc eax
cmp eax, ebx
jne 0x40c5cd
mov eax, dword [ebp + 0x5aac]
cmp eax, ebx
je 0x40c5bc
push eax
mov dword [esp + 0x1c], ecx
call fcn.00558a4c
add esp, 4
mov dword [ebp + 0x5aac], ebx
mov dword [ebp + 0x5ab4], ebx
mov dword [ebp + 0x5ab0], ebx
jmp 0x40c936
mov edx, dword [ebp + 0x5aac]
cmp edx, ebx
jne 0x40c6ba
mov ecx, dword [esp + 0x20]
lea esi, [ecx + 1]
mov edx, esi
shl edx, 5
add edx, esi
lea edi, [esi + edx*2]
shl edi, 3
push edi
call fcn.00558a23
mov edx, eax
mov ecx, edi
mov dword [esp + 0x1c], edx
mov dword [ebp + 0x5aac], 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 + 0x1c], 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 0x40c691
mov edi, 0x5ed678
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, 0x5ed678
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 + 0x1c]
add edx, 0x218
dec eax
mov dword [esp + 0x1c], eax
jne 0x40c626
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebp + 0x5ab4], eax
mov dword [ebp + 0x5ab0], eax
jmp 0x40c936
mov esi, dword [ebp + 0x5ab4]
cmp eax, esi
jg 0x40c7b9
cmp ecx, eax
jge 0x40c79f
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 0x40c7a7
inc eax
mov dword [esp + 0x1c], eax
cmp edx, ebx
je 0x40c77c
mov edi, 0x5ed678
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, 0x5ed678
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 + 0x1c]
add edx, 0x218
dec eax
mov dword [esp + 0x1c], eax
jne 0x40c716
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebp + 0x5ab0], eax
jmp 0x40c936
jle 0x40c7a7
sub ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [ebp + 0x5ab0], eax
jmp 0x40c936
mov eax, dword [ebp + 0x5ab8]
cmp eax, ebx
jne 0x40c7e6
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp eax, 4
jge 0x40c7da
mov eax, 4
jmp 0x40c7e6
cmp eax, 0x400
jle 0x40c7e6
mov eax, 0x400
mov edx, dword [esp + 0x20]
add eax, esi
mov dword [esp + 0x1c], eax
lea ecx, [edx + 1]
cmp ecx, eax
jl 0x40c7fb
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov ecx, eax
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*2]
shl edx, 3
push edx
call fcn.00558a23
mov ecx, dword [ebp + 0x5ab0]
mov esi, dword [ebp + 0x5aac]
mov edx, ecx
mov edi, eax
shl edx, 5
add edx, ecx
add esp, 4
mov dword [esp + 0x78], 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 + 0x5ab0]
mov ecx, dword [esp + 0x20]
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 0x40c906
inc eax
mov dword [esp + 0x2c], eax
cmp edx, ebx
je 0x40c8f5
mov edi, 0x5ed678
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, 0x5ed678
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 + 0x2c]
add edx, 0x218
dec eax
mov dword [esp + 0x2c], eax
jne 0x40c88f
mov eax, dword [ebp + 0x5aac]
push eax
call fcn.00558a4c
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x7c]
mov dword [ebp + 0x5aac], ecx
add esp, 4
lea eax, [edx + 1]
mov dword [ebp + 0x5ab0], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x5ab4], eax
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x6b0]
mov ecx, eax
shl ecx, 5
add ecx, eax
lea edx, [eax + ecx*2]
mov eax, dword [ebp + 0x5aac]
mov ecx, 0x86
lea edi, [eax + edx*8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x148]
mov byte [esp + 0x54d8], 0x2f
call fcn.005575a6
lea ecx, [esp + 0x24]
mov byte [esp + 0x54d8], 0x23
call fcn.0055962c
jmp 0x40c30e
lea ecx, [esp + 0x7c]
call fcn.004fa080
push 0xffffffffffffffff
lea ecx, [ebp + 0x5b5c]
push ebx
call fcn.00557606
push 0xffffffffffffffff
lea ecx, [ebp + 0x5b70]
push ebx
call fcn.00557606
push ebx
push 0x5d67c4
lea ecx, [esp + 0x84]
call fcn.004f9ee0
test eax, eax
je 0x40cb7b
mov edi, 0x5ed678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xce4]
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 + 0x594]
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, 0x5ed678
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, dword [sym.imp.USER32.dll_wsprintfA]
mov esi, ebx
mov eax, esi
lea ecx, [esp + 0x594]
push eax
push 0x5d68d4
push ecx
inc esi
call edi
add esp, 0xc
lea edx, [esp + 0xce4]
lea eax, [esp + 0x594]
lea ecx, [esp + 0x7c]
push ebx
push 0x400
push edx
push eax
call fcn.004fa340
cmp eax, 1
jne 0x40cb72
lea ecx, [esp + 0xce4]
push ecx
lea ecx, [esp + 0x18]
call fcn.0055969a
push 0x28
lea ecx, [esp + 0x18]
mov byte [esp + 0x54dc], 0x32
call fcn.00554a2c
cmp eax, 0xffffffff
je 0x40cb5c
mov edx, dword [0x5e8e38]
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
mov byte [esp + 0x54d8], 0x33
mov ecx, dword [ecx - 8]
sub ecx, eax
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00554938
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x54dc], 0x34
call fcn.00559765
lea ecx, [esp + 0x18]
mov byte [esp + 0x54d8], 0x33
call fcn.0055962c
push 0x5ed678
push 0x5d67c0
lea ecx, [esp + 0x28]
call fcn.0055471c
push 0x5ed678
push 0x5d67bc
lea ecx, [esp + 0x28]
call fcn.0055471c
mov eax, dword [esp + 0x20]
cmp dword [eax - 8], 0x11
jne 0x40cb4b
mov eax, dword [ebp + 0x5b64]
lea ecx, [ebp + 0x5b5c]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.005577db
push 0x5ed678
push 0x5d67b8
lea ecx, [esp + 0x28]
call fcn.0055471c
mov eax, dword [ebp + 0x5b78]
lea ecx, [ebp + 0x5b70]
lea edx, [esp + 0x20]
push edx
push eax
call fcn.005577db
lea ecx, [esp + 0x20]
mov byte [esp + 0x54d8], 0x32
call fcn.0055962c
lea ecx, [esp + 0x14]
mov byte [esp + 0x54d8], 0x23
call fcn.0055962c
jmp 0x40ca22
lea ecx, [esp + 0x7c]
call fcn.004fa080
push 1
push str.CRYPT_STR
lea ecx, [esp + 0x84]
call fcn.004f9ee0
test eax, eax
je 0x40cc72
lea eax, [ebp + 0x52f0]
push ebx
push eax
lea ecx, [esp + 0x84]
mov dword [eax], 0x400
lea eax, [esp + 0x6b8]
push eax
push str.PRIVBLOB_STR
mov dword [ebp + 0x52fc], 0x400
call fcn.004fa5e0
test eax, eax
je 0x40cbfd
mov ecx, dword [ebp + 0x52f0]
push ecx
call fcn.00558a23
mov dword [ebp + 0x52ec], eax
mov ecx, dword [ebp + 0x52f0]
mov edx, ecx
lea esi, [esp + 0x6b4]
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 + 0x52fc]
push ebx
push eax
lea eax, [esp + 0x6b8]
push eax
push str.PRIVSEED_STR
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
test eax, eax
je 0x40cc54
mov ecx, dword [ebp + 0x52fc]
push ecx
call fcn.00558a23
mov dword [ebp + 0x52f8], eax
mov ecx, dword [ebp + 0x52fc]
mov edx, ecx
lea esi, [esp + 0x6b4]
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 + 0x52f4]
lea ecx, [esp + 0x7c]
push eax
push str.PRIVTYPE_STR
call fcn.004fa0e0
lea ecx, [esp + 0x7c]
call fcn.004fa080
push ebx
push str.DEBUG_STR
lea ecx, [esp + 0x84]
call fcn.004f9ee0
test eax, eax
je 0x40cc9e
lea ecx, [esp + 0x7c]
call fcn.004fa080
push ebx
lea ecx, [esp + 0x80]
call fcn.004faac0
lea esi, [ebp + 0x52b0]
mov dword [esi], ebx
mov eax, dword [ebp + 0x52b4]
cmp eax, ebx
je 0x40ccbf
push eax
call fcn.00558a4c
add esp, 4
mov dword [ebp + 0x52b4], ebx
lea edi, [ebp + 0x52b8]
mov dword [edi], ebx
mov eax, dword [ebp + 0x52bc]
cmp eax, ebx
je 0x40cce0
push eax
call fcn.00558a4c
add esp, 4
mov dword [ebp + 0x52bc], ebx
mov eax, dword [ebp + 0x52b4]
push ebx
push esi
push eax
push str.UserCustomHeadPic
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov eax, dword [esi]
cmp eax, ebx
jle 0x40cd20
push eax
call fcn.00558a23
add esp, 4
lea ecx, [esp + 0x7c]
mov dword [ebp + 0x52b4], eax
push ebx
push esi
push eax
push str.UserCustomHeadPic
call fcn.004fa5e0
mov ecx, dword [ebp + 0x52bc]
push ebx
push edi
push ecx
push str.UserCustomPicture
lea ecx, [esp + 0x8c]
call fcn.004fa5e0
mov eax, dword [edi]
cmp eax, ebx
jle 0x40cd60
push eax
call fcn.00558a23
add esp, 4
lea ecx, [esp + 0x7c]
mov dword [ebp + 0x52bc], eax
push ebx
push edi
push eax
push str.UserCustomPicture
call fcn.004fa5e0
lea ecx, [esp + 0x184]
mov byte [esp + 0x54d8], 0x1e
call fcn.005575a6
lea ecx, [esp + 0x38]
mov byte [esp + 0x54d8], 0x1d
call fcn.0055962c
lea ecx, [esp + 0x34]
mov byte [esp + 0x54d8], 0x1b
call fcn.0055962c
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x54d8], 9
call fcn.00539477
lea ecx, [esp + 0x170]
mov byte [esp + 0x54d8], 4
call fcn.005575a6
lea ecx, [esp + 0x68]
mov byte [esp + 0x54d8], 3
call fcn.0055962c
lea ecx, [esp + 0x7c]
mov byte [esp + 0x54d8], bl
call fcn.004f9ce0
lea ecx, [esp + 0x48]
mov dword [esp + 0x54d8], 0xffffffff
call fcn.0055962c
mov ecx, dword [esp + 0x54d0]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x54cc
ret