Function at 0x437360
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x448551
mov eax, dword fs:[0]
push eax
sub esp, 0xa10
mov eax, dword [0x467a74]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edx, dword [ebp + 8]
movzx eax, dx
mov esi, ecx
lea ecx, [eax - 0x40d]
cmp ecx, 0x2d
ja case.0x4373af.1038
movzx ecx, byte [ecx + 0x438904]
jmp dword [ecx*4 + 0x4388cc]
xor ebx, ebx
cmp byte [esi + 0xc7], bl
sete dl
mov byte [esi + 0xc7], dl
call sub.mfc100u.dll_AfxGetModuleState
cmp byte [esi + 0xc7], 1
mov eax, dword [eax + 8]
mov ecx, 0x454de4
je 0x4373e2
mov ecx, 0x454c18
push ebx
push 1
push eax
push ecx
push 0xf2
lea ecx, [esi + 0x2940]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinButton::SetButtonImage_unsigned_int__wchar_t_const___struct_HINSTANCE_____bool__bool_]
mov ecx, dword [esi + 0x20]
lea eax, [ebp - 0x470]
push eax
push ecx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [ebp - 0x464]
sub edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x468]
sub eax, dword [ebp - 0x470]
push edx
push eax
mov ecx, esi
call fcn.0042ea90
mov eax, 1
jmp 0x4388ae
mov ecx, dword [esi + 0x20]
push 0
push 0x801a
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0xec], 4
jne 0x437535
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea edx, [ebp - 0xa0c]
push edx
lea ecx, [esi + 0x22924]
mov dword [ebp - 4], 0
call sub.mfc100u.dll_CWnd::GetWindowTextW_1
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimLeft]
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::TrimRight]
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::IsEmpty]
test al, al
jne 0x43751e
push 0xffff
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_]
push eax
mov ecx, esi
call fcn.0042f250
cmp al, 1
jne 0x43751e
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov eax, dword [eax + 0x24]
push eax
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_]
push eax
lea ecx, [esi + 0x2bd0]
call dword [sym.imp.ShareControl.dll_public:_unsigned_long_int___thiscall_CWndChatControl::GetChatTargetUserID_void_]
push eax
mov ecx, esi
call fcn.00433900
push 0x44b36c
lea ecx, [esi + 0x22924]
call sub.mfc100u.dll_CWnd::SetWindowTextW
lea ecx, [esi + 0x22924]
call sub.mfc100u.dll_CWnd::SetFocus
lea ecx, [ebp - 0xa0c]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
mov eax, 1
jmp 0x4388ae
lea ecx, [ebp - 0x45c]
call dword [sym.imp.SkinControl.dll_public:_void___thiscall_CSkinMenu::constructor_void_]
mov edi, 1
lea ecx, [ebp - 0x45c]
mov dword [ebp - 4], edi
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::CreateMenu_void_]
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x43a]
push edx
mov word [ebp - 0x43c], cx
call sub.MSVCR100.dll_memset
lea eax, [ebp - 0x43c]
push 0x104
push eax
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::GetWorkDirectory_wchar_t__const__unsigned_short_int_]
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x67e]
push edx
mov word [ebp - 0x680], cx
call sub.MSVCR100.dll_memset
lea eax, [ebp - 0x43c]
push eax
push str._sPhraseInfo.ini
lea ecx, [ebp - 0x680]
push 0x104
push ecx
call dword [sym.imp.MSVCR100.dll__snwprintf]
xor eax, eax
push 0xfe
push eax
lea ecx, [ebp - 0x132]
xor edx, edx
push ecx
mov bl, 1
mov byte [ebp - 0xa05], 0
mov word [ebp - 0x34], dx
mov dword [ebp - 0x32], eax
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov word [ebp - 0x16], ax
mov word [ebp - 0x134], ax
call sub.MSVCR100.dll_memset
add esp, 0x3c
jmp 0x437610
push edi
push str.Phrase_d
lea edx, [ebp - 0x34]
push 0x10
push edx
call dword [sym.imp.MSVCR100.dll__snwprintf]
add esp, 0x10
lea eax, [ebp - 0x680]
push eax
push 0x80
lea ecx, [ebp - 0x134]
push ecx
push 0x44b36c
lea edx, [ebp - 0x34]
push edx
push str.ServerChatShort
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x134], 0
je 0x43768f
inc bl
movzx edi, bl
push 0
lea eax, [ebp - 0x134]
push eax
lea ecx, [edi + 0x52b]
push ecx
lea ecx, [ebp - 0x45c]
mov byte [ebp - 0xa05], 1
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendMenuW_unsigned_int__wchar_t_const___unsigned_int_]
cmp word [ebp - 0x134], 0
je 0x437698
cmp bl, 0x10
jb 0x437610
jmp 0x437698
cmp byte [ebp - 0xa05], 1
jne 0x4376e1
xor eax, eax
lea edx, [ebp - 0x470]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], eax
mov eax, dword [esi + 0x22a6c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x468]
push esi
push ecx
push edx
lea ecx, [ebp - 0x45c]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::TrackPopupMenu_int__int__class_CWnd__]
lea ecx, [ebp - 0x45c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.SkinControl.dll_public_virtual:_void___thiscall_CSkinMenu::destructor_void_]
mov eax, 1
jmp 0x4388ae
mov ecx, dword [esi + 0x22ca4]
lea eax, [ebp - 0x470]
xor ebx, ebx
push eax
push ecx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [esi + 0x1f84], ebx
jne 0x437773
push 0x9c
call sub.mfc100u.dll_new_1
mov edi, eax
add esp, 4
mov dword [ebp - 0xa14], edi
mov dword [ebp - 4], 2
cmp edi, ebx
je 0x437764
mov ecx, edi
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CExpressionControl::constructor_void_]
mov dword [edi], vtable.CExpressionControl.0
jmp 0x437766
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x1f84], edi
mov edx, dword [ebp - 0x46c]
mov ecx, dword [esi + 0x1f84]
lea eax, [esi + 0xac]
push eax
mov eax, dword [ebp - 0x470]
push edx
push eax
push esi
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CExpressionControl::ShowExpression_class_CWnd___int__int__struct_IExpressionSink__]
mov eax, 1
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
push fcn.004056a0
push fcn.00404780
push 9
push 0x34
lea ecx, [ebp - 0x208]
xor ebx, ebx
push ecx
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0x460], 0xff
mov dword [ebp - 0x45c], 0xffff
mov dword [ebp - 0x458], 0xff80
mov dword [ebp - 0x454], 0xffff00
mov dword [ebp - 0x450], 0x800000
mov dword [ebp - 0x44c], 0x8000
mov dword [ebp - 0x448], 0x800080
mov dword [ebp - 0x444], 0x80
mov dword [ebp - 0x440], ebx
call fcn.00442fc1
lea edi, [ebp - 0x208]
mov dword [ebp - 4], 3
mov dword [ebp - 0xa0c], edi
jmp 0x437838
mov edi, dword [ebp - 0xa0c]
push 0
push 0
push 0
push 0x10
push 0x10
push 0x48
mov ecx, edi
call fcn.00405730
mov ecx, edi
mov dword [ebp - 0xa1c], edi
call fcn.004047e0
mov dword [ebp - 0xa18], eax
test eax, eax
je 0x4379ea
push eax
mov byte [ebp - 4], 4
call sub.mfc100u.dll_CDC::FromHandle
mov edx, dword [ebp + ebx*4 - 0x460]
push edx
push 0xc
push 0x44
mov edi, eax
push 2
push 2
mov ecx, edi
call sub.mfc100u.dll_CDC::FillSolidRect
push 0
push 0
push 0x10
push 0x48
push 0
push 0
mov ecx, edi
call sub.mfc100u.dll_CDC::Draw3dRect
push 0xffffff
push 0xffffff
push 0xe
push 0x46
push 1
push 1
mov ecx, edi
call sub.mfc100u.dll_CDC::Draw3dRect
mov edi, dword [ebp - 0xa0c]
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00404840
inc ebx
add edi, 0x34
mov dword [ebp - 0xa0c], edi
cmp ebx, 9
jb 0x437832
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_void___thiscall_CSkinMenu::constructor_void_]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 5
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::CreateMenu_void_]
push 0
push 0x451fac
push 0x8048
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendMenuW_unsigned_int__wchar_t_const___unsigned_int_]
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendSeparator_void_]
lea eax, [ebp - 0x460]
mov edi, 0x4c8
mov dword [ebp - 0xa0c], eax
lea ebx, [ebp - 0x204]
mov dword [ebp - 0xa10], 9
mov edi, edi
mov eax, dword [ebx]
push 0
push eax
push edi
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendMenuW_unsigned_int__struct_HBITMAP_____unsigned_int_]
mov ecx, dword [ebp - 0xa14]
mov edx, dword [ecx + 0x24]
mov eax, dword [ebp - 0xa0c]
cmp edx, dword [eax]
jne 0x43795e
push 8
push edi
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_unsigned_int___thiscall_CSkinMenu::CheckMenuItem_unsigned_int__unsigned_int_]
add dword [ebp - 0xa0c], 4
add ebx, 0x34
inc edi
dec dword [ebp - 0xa10]
jne 0x437930
mov edx, dword [esi + 0x22d30]
xor eax, eax
lea ecx, [ebp - 0x470]
push ecx
push edx
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x46c]
mov ecx, dword [ebp - 0x470]
push esi
push eax
push ecx
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::TrackPopupMenu_int__int__class_CWnd__]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call dword [sym.imp.SkinControl.dll_public_virtual:_void___thiscall_CSkinMenu::destructor_void_]
push fcn.004056a0
push 9
push 0x34
lea edx, [ebp - 0x208]
push edx
mov dword [ebp - 4], 0xffffffff
call fcn.00442f5e
mov eax, 1
jmp 0x4388ae
push 0x8007000e
call fcn.004012d0
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_void___thiscall_CSkinMenu::constructor_void_]
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 6
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::CreateMenu_void_]
mov edi, dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendMenuW_unsigned_int__wchar_t_const___unsigned_int_]
xor ebx, ebx
push ebx
push 0x455cb8
push 0x8018
lea ecx, [ebp - 0x34]
call edi
push ebx
push 0x455ca8
push 0x8017
lea ecx, [ebp - 0x34]
call edi
push ebx
push 0x455c98
push 0x8019
lea ecx, [ebp - 0x34]
call edi
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov al, byte [eax + 0xc]
cmp al, bl
jne 0x437a5b
push 8
push 0x8018
jmp 0x437a73
cmp al, 1
jne 0x437a68
push 8
push 0x8017
jmp 0x437a73
cmp al, 2
jne 0x437a7c
push 8
push 0x8019
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_unsigned_int___thiscall_CSkinMenu::CheckMenuItem_unsigned_int__unsigned_int_]
mov ecx, dword [esi + 0x22dbc]
lea eax, [ebp - 0x470]
push eax
push ecx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x46c]
mov eax, dword [ebp - 0x470]
push esi
push edx
push eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::TrackPopupMenu_int__int__class_CWnd__]
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.SkinControl.dll_public_virtual:_void___thiscall_CSkinMenu::destructor_void_]
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1f88], 0
jne 0x437b4a
push 0x410
call sub.mfc100u.dll_new_1
mov edi, eax
add esp, 4
mov dword [ebp - 0xa14], edi
mov dword [ebp - 4], 7
test edi, edi
je 0x437b13
mov ecx, edi
call dword [sym.imp.GameProperty.dll_public:_void___thiscall_CDlgTrumpetItem::constructor_void_]
mov dword [edi], vtable.CDlgTrumpetItem.0
jmp 0x437b15
xor edi, edi
mov edx, dword [esi + 0x94]
mov eax, dword [edx + 4]
lea ecx, [esi + 0x94]
push 0x1010100
push 0x4545cc
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x1f88], edi
call eax
mov ecx, dword [esi + 0x1f88]
push eax
call dword [sym.imp.GameProperty.dll_public:_bool___thiscall_CDlgTrumpetItem::SetGameTrumpetSink_struct_IUnknownEx__]
mov ecx, dword [esi + 0xe0]
push ecx
mov ecx, dword [esi + 0x1f88]
push esi
call dword [sym.imp.GameProperty.dll_public:_void___thiscall_CDlgTrumpetItem::ShowTrumpetWindow_class_CWnd___struct_IClientUserItem__]
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0xec], 4
jne case.0x438122.32781
mov edx, 0xffff
cmp word [esi + 0xc8], dx
je 0x437b92
mov eax, edx
cmp word [esi + 0xca], ax
jne case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
cmp al, 5
jb 0x437be9
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0x1e
push 0x40
push 0x4550f4
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], 8
call dword [sym.imp.ShareControl.dll_public:_int___thiscall_CInformation::ShowMessageBox_wchar_t_const___unsigned_int__unsigned_int_]
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ShareControl.dll_public_virtual:_void___thiscall_CInformation::destructor_void_]
mov eax, 1
jmp 0x4388ae
mov ecx, dword [esi + 0xe8]
shr ecx, 6
mov ebx, 1
test bl, cl
je 0x437c15
push 0
push 0xffff
push 0xffff
mov ecx, esi
call fcn.00433c80
mov eax, ebx
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
movzx eax, byte [eax + 0xd]
sub eax, 3
je 0x437c48
sub eax, ebx
jne 0x437dee
mov edx, dword [esi + 0x20]
push eax
push 0x41a
push 0x111
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, ebx
jmp 0x4388ae
xor eax, eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], eax
mov eax, dword [esi + 0x3b50]
mov edx, dword [eax + 0x14]
lea ecx, [esi + 0x3b50]
mov byte [ebp - 0x46c], bl
mov word [ebp - 0x46a], pe_nt_image_headers32
mov byte [ebp - 0x468], bl
call edx
cmp ax, 2
setne al
mov byte [ebp - 0x46b], al
movzx eax, word [esi + 0xcc]
lea ecx, [ebp - 0x46c]
add ax, bx
push ecx
mov ecx, esi
mov dword [ebp - 0x464], 0xffffffff
mov word [ebp - 0x466], ax
call fcn.004316d0
mov ax, word [ebp - 0x464]
mov edx, 0xffff
mov word [esi + 0xcc], ax
cmp ax, dx
jne 0x437d44
mov eax, dword [esi + 0x3b50]
mov edx, dword [eax + 0x14]
lea ecx, [esi + 0x3b50]
mov word [ebp - 0x46a], 0x101
mov byte [ebp - 0x46c], bl
mov byte [ebp - 0x468], bl
call edx
cmp ax, 2
setne al
mov byte [ebp - 0x46b], al
movzx eax, word [esi + 0xcc]
lea ecx, [ebp - 0x46c]
add ax, bx
push ecx
mov ecx, esi
mov dword [ebp - 0x464], 0xffffffff
mov word [ebp - 0x466], ax
call fcn.004316d0
mov ax, word [ebp - 0x464]
mov edx, 0xffff
mov word [esi + 0xcc], ax
cmp ax, dx
je 0x437db2
movzx eax, word [ebp - 0x462]
mov edx, dword [esi + 0x3b50]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0xa10], eax
mov eax, dword [ebp - 0x464]
push eax
lea ecx, [esi + 0x3b50]
call edx
mov ecx, dword [ebp - 0xa10]
movzx edx, word [esi + 0xcc]
mov eax, dword [esi + 0x3b50]
mov eax, dword [eax + 0x38]
push ecx
push edx
lea ecx, [esi + 0x3b50]
call eax
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
cmp byte [eax + 0x1c], bl
jne 0x437dee
mov ecx, dword [ebp - 0xa10]
movzx edx, word [esi + 0xcc]
push ebx
push ecx
push edx
mov ecx, esi
call fcn.00433c80
mov eax, ebx
jmp 0x4388ae
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0x1e
push 0x40
push 0x455ac4
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], 9
call dword [sym.imp.ShareControl.dll_public:_int___thiscall_CInformation::ShowMessageBox_wchar_t_const___unsigned_int__unsigned_int_]
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ShareControl.dll_public_virtual:_void___thiscall_CInformation::destructor_void_]
mov eax, ebx
jmp 0x4388ae
cmp dword [esi + 0x1f78], 0
jne 0x437e5e
mov ebx, 0xa
push 0x2f8
mov dword [ebp - 4], ebx
call sub.mfc100u.dll_new_1
add esp, 4
mov dword [ebp - 0xa14], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x437e2c
mov ecx, eax
call fcn.00413e80
mov ecx, eax
jmp 0x437e2e
xor ecx, ecx
mov byte [ebp - 4], bl
mov dword [esi + 0x1f78], ecx
test ecx, ecx
je case.0x438122.32781
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.00414130
mov ecx, dword [esi + 0x1f78]
lea eax, [esi + 0x3adc]
push eax
call fcn.00414140
mov ecx, dword [esi + 0x1f78]
cmp dword [ecx + 0x20], 0
jne 0x437e77
mov edx, dword [ecx]
mov eax, dword [edx + 0x168]
push esi
push 0x65
call eax
mov ecx, dword [esi + 0x1f78]
push 5
call sub.mfc100u.dll_CWnd::ShowWindow
mov ecx, dword [esi + 0x1f78]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, 1
jmp 0x4388ae
lea ecx, [ebp - 0xa04]
call fcn.0041b9a0
mov eax, dword [esi + 0x1964]
cmp byte [eax + 4], 0
mov dword [ebp - 4], 0xd
je 0x437edc
push 0x21
add eax, 6
push eax
lea eax, [ebp - 0x6bc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x455a80
jmp 0x437ee1
push 0x455a64
lea ecx, [ebp - 0xa04]
call fcn.0041b930
lea ecx, [ebp - 0xa04]
call sub.mfc100u.dll_CDialog::DoModal
cmp eax, 1
jne 0x437f86
lea ecx, [ebp - 0x6bc]
push ecx
lea ecx, [ebp - 0xa10]
call dword [0x44adf4]
lea ecx, [ebp - 0xa10]
mov byte [ebp - 4], 0xe
call dword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::GetLength]
mov edx, dword [esi + 0x1964]
test eax, eax
jle 0x437f4c
mov byte [edx + 4], 1
mov ecx, dword [esi + 0x1964]
push 0x21
lea eax, [ebp - 0x6bc]
push eax
add ecx, 6
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
jmp 0x437f73
mov byte [edx + 4], 0
mov eax, dword [esi + 0x1964]
xor ecx, ecx
mov dword [eax + 6], ecx
mov dword [eax + 0xa], ecx
mov dword [eax + 0xe], ecx
mov dword [eax + 0x12], ecx
mov dword [eax + 0x16], ecx
mov dword [eax + 0x1a], ecx
mov dword [eax + 0x1e], ecx
mov dword [eax + 0x22], ecx
mov byte [eax + 0x26], cl
mov ecx, esi
call fcn.004336f0
lea ecx, [ebp - 0xa10]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_cla]
lea ecx, [ebp - 0xa04]
mov dword [ebp - 4], 0xffffffff
call fcn.0041b7d0
mov eax, 1
jmp 0x4388ae
lea ecx, [ebp - 0x97c]
call fcn.004035b0
mov eax, dword [esi]
mov edx, dword [eax + 0x1b4]
mov ecx, esi
mov dword [ebp - 4], 0xf
call edx
push eax
mov eax, dword [esi]
mov edx, dword [eax + 0x1b0]
mov ecx, esi
call edx
push eax
lea ecx, [ebp - 0x97c]
call fcn.00403740
lea ecx, [ebp - 0x97c]
call sub.mfc100u.dll_CDialog::DoModal
cmp eax, 1
jne 0x437ff0
mov ecx, esi
call fcn.004336f0
lea ecx, [ebp - 0x97c]
mov dword [ebp - 4], 0xffffffff
call fcn.00403680
mov eax, 1
jmp 0x4388ae
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_void___thiscall_CSkinMenu::constructor_void_]
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x10
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::CreateMenu_void_]
mov edi, dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendMenuW_unsigned_int__wchar_t_const___unsigned_int_]
xor ebx, ebx
push ebx
push 0x455a58
push 0x801e
lea ecx, [ebp - 0x34]
call edi
push ebx
push 0x455a4c
push 0x801f
lea ecx, [ebp - 0x34]
call edi
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
call edx
test al, al
je 0x4380cd
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_bool___thiscall_CSkinMenu::AppendSeparator_void_]
push ebx
push 0x455a38
push 0x8068
lea ecx, [ebp - 0x34]
call edi
push 2
push 0x455a24
push 0x805b
lea ecx, [ebp - 0x34]
call edi
push 2
push 0x455a10
push 0x801b
lea ecx, [ebp - 0x34]
call edi
mov eax, dword [esi + 0xdc]
shr eax, 0x19
test al, 1
je 0x4380b5
push ebx
push 0x805b
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_unsigned_int___thiscall_CSkinMenu::EnableMenuItem_unsigned_int__unsigned_int_]
test byte [esi + 0xdf], 1
je 0x4380cd
push ebx
push 0x801b
lea ecx, [ebp - 0x34]
call dword [sym.imp.SkinControl.dll_public:_unsigned_int___thiscall_CSkinMenu::EnableMenuItem_unsigned_int__unsigned_int_]
mov edx, dword [esi + 0x3a70]
lea ecx, [ebp - 0x470]
push ecx
push edx
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], ebx
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x464], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x470]
push esi
push eax
push ecx
jmp 0x437ab7
add eax, 0xffff7ff5
cmp eax, 0x5f
ja case.0x438122.32782
movzx eax, byte [eax + 0x43897c]
jmp dword [eax*4 + 0x438934]
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x67e]
push edx
mov word [ebp - 0x680], cx
call sub.MSVCR100.dll_memset
movzx eax, word [esi + 0x18ce]
movzx ecx, word [esi + 0x1842]
push eax
push ecx
push 0x4545dc
push str._s_GameRule.aspx_GameID_ldKindID_ld
lea edx, [ebp - 0x680]
push 0x104
push edx
call dword [sym.imp.MSVCR100.dll__snwprintf]
add esp, 0x24
push 1
push 0
push 0
lea eax, [ebp - 0x680]
push eax
push 0x44e998
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, 1
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CGlobalUserInfo____cdecl_CGlobalUserInfo::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.PlatformData.dll_public:_struct_tagGlobalUserData____thiscall_CGlobalUserInfo::GetGlobalUserData_void_]
xor ecx, ecx
push 0x1fe
push ecx
lea edx, [ebp - 0x232]
push edx
mov edi, eax
mov word [ebp - 0x234], cx
call sub.MSVCR100.dll_memset
mov eax, dword [edi]
movzx ecx, word [esi + 0x18d4]
movzx edx, word [esi + 0x18ce]
push eax
movzx eax, word [esi + 0x1842]
push ecx
push edx
push eax
push 0x4545dc
push str._s_GameChart.aspx_GameID_ldKindID_ldServerID_ldUserID_ld
lea ecx, [ebp - 0x234]
push pe_nt_image_headers32
push ecx
call dword [sym.imp.MSVCR100.dll__snwprintf]
add esp, 0x2c
push 1
push 0
push 0
lea edx, [ebp - 0x234]
push edx
push 0x44e998
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, 1
jmp 0x4388ae
mov ecx, dword [esi + 0x21c4]
test ecx, ecx
je 0x43823b
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
call edx
mov dword [esi + 0xec], 5
mov ecx, dword [0x46dc98]
test ecx, ecx
je 0x437ad0
push esi
call fcn.00424e90
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1978], 0
je case.0x438122.32781
mov eax, dword [esi + 0x196c]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
push eax
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::SetClipboardString_wchar_t_const__]
add esp, 4
lea ecx, [esi + 0x22924]
call fcn.0042e030
lea ecx, [esi + 0x22924]
call sub.mfc100u.dll_CWnd::SetFocus
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1978], 0
je case.0x438122.32781
mov ecx, dword [esi + 0xe8]
shr ecx, 6
test cl, 1
je 0x4382d2
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
jne 0x4382d2
xor eax, eax
jmp 0x4388ae
mov ecx, dword [esi + 0x196c]
mov edi, dword [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
mov edx, dword [edi]
movzx ebx, ax
mov eax, dword [edx + 0x54]
mov ecx, edi
mov dword [ebp - 0xa0c], ebx
call eax
mov edx, dword [edi]
movzx ecx, ax
mov eax, dword [edx + 0x58]
mov dword [ebp - 0xa14], ecx
mov ecx, edi
call eax
mov ecx, 0xffff
mov byte [ebp - 0xa05], al
cmp bx, cx
je 0x43836f
mov ecx, dword [0x46dce8]
push esi
call fcn.004418c0
mov edx, dword [esi + 0x3b50]
mov edx, dword [edx + 0x30]
mov eax, ebx
push eax
lea ecx, [esi + 0x3b50]
call edx
cmp byte [ebp - 0xa05], 4
mov eax, dword [esi + 0x3b50]
jne 0x438356
mov edx, dword [eax + 0x34]
mov ecx, ebx
push ecx
lea ecx, [esi + 0x3b50]
call edx
jmp 0x43836f
mov ecx, dword [ebp - 0xa14]
mov edx, dword [ebp - 0xa0c]
mov eax, dword [eax + 0x38]
push ecx
push edx
lea ecx, [esi + 0x3b50]
call eax
mov edx, dword [esi + 0x2d98]
lea ecx, [ebp - 0x478]
push ecx
xor eax, eax
push 0xffffffffffffffff
push 0x1053
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x470], eax
push edx
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x478], 1
mov dword [ebp - 0x470], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
je 0x437ad0
push 0
push edi
lea ecx, [esi + 0x2d78]
call fcn.0042e050
push 3
push 3
push edi
lea ecx, [esi + 0x2d78]
call sub.mfc100u.dll_CListCtrl::SetItemState
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1978], 0
je case.0x438122.32781
mov eax, dword [esi + 0x196c]
mov eax, dword [eax]
test eax, eax
je 0x437ad0
push eax
lea ecx, [esi + 0x2bd0]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CWndChatControl::SetChatTargetUser_struct_IClientUserItem__]
mov eax, 1
jmp 0x4388ae
push 0
lea ecx, [esi + 0x2bd0]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CWndChatControl::SetChatTargetUser_struct_IClientUserItem__]
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1978], 0
je case.0x438122.32781
mov ecx, dword [esi + 0x196c]
mov edi, dword [ecx]
mov edx, dword [edi]
mov eax, dword [edx + 0x8c]
mov ecx, edi
call eax
cmp al, 1
setne al
mov byte [ebp - 0xa14], al
mov byte [ebp - 0xa05], al
call dword [sym.imp.ShareControl.dll_public:_static_class_CUserInformation____cdecl_CUserInformation::GetInstance_void_]
mov ecx, dword [ebp - 0xa14]
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ecx
push edi
mov ecx, eax
call edx
mov esi, dword [esi + 0x283c]
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0xa05]
push ecx
push edi
mov ecx, esi
call edx
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0x1978], 0
je case.0x438122.32781
mov eax, dword [esi + 0x196c]
mov edi, dword [eax]
mov edx, dword [edi]
mov eax, dword [edx + 0x8c]
mov ecx, edi
call eax
sub al, 2
neg al
sbb al, al
and al, 2
mov byte [ebp - 0xa14], al
mov byte [ebp - 0xa05], al
call dword [sym.imp.ShareControl.dll_public:_static_class_CUserInformation____cdecl_CUserInformation::GetInstance_void_]
mov ecx, dword [ebp - 0xa14]
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
push ecx
push edi
mov ecx, eax
call edx
mov ecx, dword [esi + 0x283c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
lea edx, [ebp - 0xa05]
push edx
push edi
call eax
mov eax, 1
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov byte [eax + 0xc], 0
mov eax, 1
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov byte [eax + 0xc], 1
mov eax, 1
jmp 0x4388ae
call dword [sym.imp.PlatformData.dll_public:_static_class_CParameterGlobal____cdecl_CParameterGlobal::GetInstance_void_]
mov byte [eax + 0xc], 2
mov eax, 1
jmp 0x4388ae
mov eax, dword [esi + 0x1978]
test eax, eax
je case.0x438122.32781
mov ecx, dword [esi + 0xe8]
mov eax, dword [esi + 0x196c]
mov edi, dword [eax]
shr ecx, 6
and cl, 1
je 0x4385a5
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
jne 0x4385a5
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x48]
call eax
mov edx, dword [edi]
mov bl, al
mov eax, dword [edx + 0x48]
mov ecx, edi
call eax
cmp bl, al
jbe 0x4382cb
mov edx, dword [edi]
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x54]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x58]
mov ecx, edi
call eax
cmp al, 5
jne 0x43860a
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0
push 0x40
mov dword [ebp - 4], 0x11
push 0x455920
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_int___thiscall_CInformation::ShowMessageBox_wchar_t_const___unsigned_int__unsigned_int_]
lea ecx, [ebp - 0x78c]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ShareControl.dll_public_virtual:_void___thiscall_CInformation::destructor_void_]
mov eax, 1
jmp 0x4388ae
mov edx, dword [edi]
mov eax, dword [edx + 0x24]
mov ecx, edi
call eax
mov ecx, dword [esi + 0xe0]
mov dword [ebp - 0xa10], eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
mov esi, dword [esi + 0x21c4]
push 4
test al, al
je 0x438650
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
lea eax, [ebp - 0xa10]
push eax
push 4
push 6
mov ecx, esi
call edx
mov eax, 1
jmp 0x4388ae
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [ebp - 0xa10]
push ecx
push 8
push 3
mov ecx, esi
call edx
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0xec], 4
jne case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
cmp al, 5
jne 0x4386ae
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0
push 0x40
mov dword [ebp - 4], 0x12
push str.ck_WL
jmp 0x4385e1
mov eax, dword [esi + 0x196c]
mov edi, dword [eax]
test edi, edi
je case.0x438122.32781
mov eax, dword [edi]
mov edx, dword [eax + 0x58]
mov ecx, edi
call edx
cmp al, 5
je 0x4386ed
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0
push 0x40
mov dword [ebp - 4], 0x13
push 0x4558e0
jmp 0x4385e1
mov eax, dword [edi]
mov edx, dword [eax + 0x54]
mov ecx, edi
call edx
mov edx, dword [edi]
movzx eax, ax
push eax
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
movzx ecx, ax
push ecx
mov ecx, esi
call fcn.00433990
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0xec], 4
jne case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
cmp al, 5
je case.0x438122.32781
mov eax, dword [esi + 0x196c]
mov edi, dword [eax]
test edi, edi
je case.0x438122.32781
mov edx, dword [edi]
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
mov ecx, 0xffff
cmp ax, cx
jne 0x43877f
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0
push 0x40
mov dword [ebp - 4], 0x14
push 0x4558c8
jmp 0x4385e1
mov ebx, dword [esi + 0x3b50]
mov dword [ebp - 0xa10], ecx
mov eax, dword [edi]
lea edx, [ebp - 0xa10]
push edx
mov edx, dword [eax + 0x50]
mov ecx, edi
call edx
mov edx, dword [ebx + 0x44]
movzx eax, ax
push eax
lea ecx, [esi + 0x3b50]
call edx
movzx eax, ax
test ax, ax
jne 0x4387d4
push esi
lea ecx, [ebp - 0x78c]
call dword [sym.imp.ShareControl.dll_public:_void___thiscall_CInformation::constructor_class_CWnd__]
push 0
push 0x40
mov dword [ebp - 4], 0x15
push 0x455624
jmp 0x4385e1
mov eax, dword [ebp - 0xa10]
mov edx, dword [edi]
push 0
push eax
mov eax, dword [edx + 0x50]
mov ecx, edi
call eax
movzx ecx, ax
push ecx
mov ecx, esi
call fcn.00433c80
mov eax, 1
jmp 0x4388ae
cmp dword [esi + 0xec], 4
jne case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
cmp al, 5
je case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x50]
call eax
mov ecx, 0xffff
cmp ax, cx
je case.0x438122.32781
mov edx, dword [esi + 0x196c]
mov edi, dword [edx]
test edi, edi
je case.0x438122.32781
mov ecx, dword [esi + 0xe0]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
call edx
mov word [ebp - 0xa1c], ax
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
mov ecx, edi
call edx
mov ecx, dword [esi + 0x21c4]
push 6
lea edx, [ebp - 0xa1c]
push edx
mov dword [ebp - 0xa1a], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
push 6
push 3
call eax
mov edx, dword [esi + 0x22b50]
mov eax, dword [edx + 0x18]
lea ecx, [esi + 0x22b50]
push 0x4558b0
call eax
mov eax, 1
jmp 0x4388ae
mov ecx, dword [ebp + 0xc]
push ecx
push edx
mov ecx, esi
call sub.mfc100u.dll_CWnd::OnCommand
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00442c00
mov esp, ebp
pop ebp
ret 8