Function at 0x40276b
Capabilities:
Contain obfuscated stackstrings
Read .ini file

Disassembly:
jmp 0x43bdb0
push 0xffffffffffffffff
push 0x4650a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
push ebx
push esi
mov esi, ecx
push str.MENU
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], esi
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esi + 0x20]
xor ebx, ebx
push eax
mov dword [esp + 0x50], ebx
call dword [sym.imp.USER32.dll_GetMenu]
push eax
call sub.MFC42.DLL_CMenu::FromHandle
mov esi, eax
cmp esi, ebx
jne 0x43be1c
lea ecx, [esp + 0xc]
mov dword [esp + 0x4c], 0xffffffff
call sub.MFC42.DLL_CString::CString
pop esi
pop ebx
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
add esp, 0x48
ret
mov ecx, dword [esi + 4]
push ebp
push edi
push ecx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
cmp eax, 7
push str.FILE
jne 0x43c073
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 1
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_ModifyMenuA]
add esp, 0xc
push eax
push ebx
push 0x400
push ebx
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 2
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 1
push 0x400
push 1
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.PROGRAM
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 3
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 2
push 0x400
push 2
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.SETTING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 4
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 3
push 0x400
push 3
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.VIEW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 5
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 4
push 0x400
push 4
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.WINDOW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 6
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 5
push 0x400
push 5
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.HELP
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
mov byte [esp + 0x54], 7
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 6
push 0x400
push 6
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x54], bl
lea ecx, [esp + 0x20]
jmp 0x43c2ab
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 8
call fcn.00401ded
mov eax, dword [eax]
mov edi, dword [sym.imp.USER32.dll_ModifyMenuA]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push ebx
push 0x400
push ebx
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 9
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 1
push 0x400
push 1
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.PROGRAM
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0xa
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 2
push 0x400
push 2
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.SETTING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0xb
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 3
push 0x400
push 3
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.VIEW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0xc
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 4
push 0x400
push 4
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.WINDOW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0xd
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 5
push 0x400
push 5
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.HELP
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
mov byte [esp + 0x54], 0xe
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 6
push 0x400
push 6
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x54], bl
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
push str.FILE_NEW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0xf
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe100
push ebx
push 0xe100
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.FILE_OPEN
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x10
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe101
push ebx
push 0xe101
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.FILE_SAVE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x11
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0xe103
push ebx
push 0xe103
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.FILE_SAVE_AS
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x12
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe104
push ebx
push 0xe104
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.FILE_PRINT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x13
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe107
push ebx
push 0xe107
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.FILE_PRINT_PREVIEW
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x14
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0xe109
push ebx
push 0xe109
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.APP_EXIT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
mov byte [esp + 0x54], 0x15
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe141
push ebx
push 0xe141
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_BASICINFO
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x16
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8004
push ebx
push 0x8004
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_GENERALSETTING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x17
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8006
push ebx
push 0x8006
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_MENUITEM
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], 0x18
push ecx
lea edx, [esp + 0x18]
lea eax, [esp + 0x28]
push edx
push eax
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8007
push ebx
push 0x8007
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_BUTTONS
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x19
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8008
push ebx
push 0x8008
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_TEXTMESSGE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x1a
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8009
push ebx
push 0x8009
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_PRIVACYSETTING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
mov byte [esp + 0x5c], 0x1b
push eax
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0x800a
push ebx
push 0x800a
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_EMERGENCYSYSTEM
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x1c
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x800b
push ebx
push 0x800b
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_CONTACT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x1d
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x800c
push ebx
push 0x800c
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_RXGROUPCALL
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x1e
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
mov ecx, dword [esi + 4]
push eax
push 0x800d
push ebx
push 0x800d
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_ZONE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x1f
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x800e
push ebx
push 0x800e
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_SCANLIST
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x20
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8014
push ebx
push 0x8014
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_CHANNELINFO
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x21
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
push 0x8015
push ebx
mov ecx, dword [esi + 4]
push 0x8015
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_DTMFSIGNALING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x22
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8017
push ebx
push 0x8017
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.EDIT_TIMESETTING
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x23
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8018
push ebx
push 0x8018
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.PROGRAM_READDATA
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x24
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0x800f
push ebx
push 0x800f
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.PROGRAM_WRITEDATA
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x25
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8010
push ebx
push 0x8010
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.PROGRAM_TESTMODE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x26
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8005
push ebx
push 0x8005
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.SETTING_CHINESE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x27
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8011
push ebx
push 0x8011
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.SETTING_ENGLISH
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x28
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0x8012
push ebx
push 0x8012
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.VIEW_TREEBAR
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x29
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8003
push ebx
push 0x8003
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.VIEW_TOOLBAR
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x2a
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe800
push ebx
push 0xe800
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.VIEW_STATUS_BAR
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x2b
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe801
push ebx
push 0xe801
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.WINDOW_CASCADE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x2c
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0xe132
push ebx
push 0xe132
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.WINDOW_TILE_HORZ
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x2d
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe133
push ebx
push 0xe133
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.WINDOW_ARRANGE
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x20]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x60], 0x2e
call fcn.00401ded
mov eax, dword [eax]
mov edx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe131
push ebx
push 0xe131
push edx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.HELP_HELP
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x60], 0x2f
call fcn.00401ded
mov eax, dword [eax]
add esp, 0xc
push eax
mov eax, dword [esi + 4]
push 0x8013
push ebx
push 0x8013
push eax
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
push str.APP_ABOUT
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x28]
push edx
push eax
mov byte [esp + 0x60], 0x30
call fcn.00401ded
mov eax, dword [eax]
mov ecx, dword [esi + 4]
add esp, 0xc
push eax
push 0xe140
push ebx
push 0xe140
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
call fcn.0045f748
lea ecx, [esp + 0x18]
mov byte [esp + 0x54], 0x31
call fcn.0045f748
mov edx, dword [0x479cac]
lea ecx, [esp + 0x1c]
push edx
push 0x104
push 0x104
mov byte [esp + 0x60], 0x32
call sub.MFC42.DLL_CString::GetBuffer
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push eax
push 0x479a40
push str.testmode
push str.setup
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::ReleaseBuffer
mov eax, dword [0x479cac]
lea ecx, [esp + 0x18]
push eax
push 0x104
push 0x104
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0x479a40
push str.languagemenu
push str.setup
call edi
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::ReleaseBuffer
mov ecx, dword [esp + 0x1c]
mov ebp, dword [sym.imp.MSVCRT.dll__mbscmp]
push str.testmode
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43ce90
mov edx, dword [esi + 4]
push ebx
push 0x8005
push edx
call dword [sym.imp.USER32.dll_RemoveMenu]
mov eax, dword [esi + 4]
push ebx
push 0x8013
push eax
call dword [sym.imp.USER32.dll_RemoveMenu]
mov ecx, dword [esp + 0x18]
push 0x478900
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43cec4
mov edx, dword [esi + 4]
push 0x400
push 3
push edx
call dword [sym.imp.USER32.dll_RemoveMenu]
mov eax, dword [0x479cb8]
push str.D600
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [0x479cb8]
push str.PX700
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [0x479cb8]
push str.A_85T
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [0x479cb8]
push str.LS_35
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [0x479cb8]
push 0x4787d0
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [0x479cb8]
push str.IC_DP2
push eax
call ebp
add esp, 8
test eax, eax
je 0x43cf48
mov eax, dword [esi + 4]
push ebx
push 0x8007
push eax
jmp 0x43cf53
mov ecx, dword [esi + 4]
push 3
push 0x8007
push ecx
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov edx, dword [0x479cac]
lea eax, [esp + 0x2c]
push edx
push 0x3c
push eax
push ebx
push str.timesetting
push str.setup
call edi
test eax, eax
je 0x43cfb9
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [eax]
push 0x478900
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
setne byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x43cfb9
mov edx, dword [esi + 4]
push ebx
push 0x8018
push edx
call dword [sym.imp.USER32.dll_RemoveMenu]
mov eax, dword [0x479cac]
lea ecx, [esp + 0x2c]
push eax
push 0x3c
push ecx
push ebx
push str.voiceencrypt
push str.setup
call edi
test eax, eax
je 0x43d018
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x24]
push edx
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [eax]
push 0x478900
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x24]
test eax, eax
setne byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
cmp byte [esp + 0x13], bl
je 0x43d018
mov eax, dword [esi + 4]
push ebx
push 0x800a
push eax
call dword [sym.imp.USER32.dll_RemoveMenu]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_DrawMenuBar]
lea ecx, [esp + 0x18]
mov byte [esp + 0x54], 0x31
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x4c]
pop edi
pop ebp
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x48
ret