Function at 0x463a80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x504681
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x54f018]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push esi
push edi
mov eax, dword [0x54f018]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x18], ebx
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x24]
mov dword [esp + 0x98], ebx
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea eax, [esp + 0x14]
mov byte [esp + 0x98], 2
mov esi, dword [sym.imp.mfc100.dll_Ordinal_6970]
lea ecx, [edi + 0x27f0]
push eax
mov dword [esp + 0x50], ecx
call esi
lea edx, [esp + 0x24]
lea ecx, [edi + 0x2708]
push edx
mov dword [esp + 0x4c], ecx
call esi
lea eax, [esp + 0x1c]
lea ecx, [edi + 0x277c]
push eax
mov dword [esp + 0x48], ecx
call esi
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [esp + 0x98], 5
call fcn.00493c40
mov ecx, eax
call fcn.00494010
push eax
lea ecx, [esp + 0x70]
push ebx
push ecx
call fcn.004eac70
sub esp, 0x14
mov edx, esp
mov dword [esp + 0x40], esp
push str.UI_3language
push eax
push edx
mov byte [esp + 0xc4], 6
call fcn.004040e0
add esp, 0xc
lea edi, [esp + 0x50]
call fcn.00401040
mov esi, 0x10
mov byte [esp + 0x98], 8
cmp dword [esp + 0x80], esi
jb 0x463bba
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
mov eax, 0xf
push 0x12
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x10], ebx
push str.LOG_CHAR_LIMIT_LEN
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], 0
mov byte [ecx], 0
call fcn.004016d0
lea edi, [esp + 0x6c]
lea ecx, [esp + 0x4c]
call fcn.00401240
mov byte [esp + 0x98], 9
cmp dword [eax + 0x14], esi
jb 0x463c0f
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
mov byte [esp + 0x98], 8
cmp dword [esp + 0x64], esi
jb 0x463c36
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x14
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.LOG_CHAR_LIMIT_AFTER
mov byte [ecx], 0
call fcn.004016d0
lea edi, [esp + 0x6c]
lea ecx, [esp + 0x4c]
call fcn.00401240
mov byte [esp + 0x98], 0xa
cmp dword [eax + 0x14], esi
jb 0x463c74
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x44]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
mov byte [esp + 0x98], 8
cmp dword [esp + 0x64], esi
jb 0x463c9b
mov edx, dword [esp + 0x50]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x13
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
push str.LOG_CHAR_LIMIT_RULE
mov byte [ecx], 0
call fcn.004016d0
lea edi, [esp + 0x6c]
lea ecx, [esp + 0x4c]
call fcn.00401240
mov byte [esp + 0x98], 0xb
cmp dword [eax + 0x14], esi
jb 0x463cd9
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
mov byte [esp + 0x98], 8
cmp dword [esp + 0x64], esi
jb 0x463d00
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
xor edi, edi
xor bl, bl
mov byte [esp + 0x13], 0
mov byte [esp + 0x12], 0xff
mov dword [esp + 0x38], edi
test eax, eax
jg 0x463dc6
mov esi, dword [sym.imp.mfc100.dll_Ordinal_12868]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
push eax
call esi
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x48]
call esi
mov byte [esp + 0x98], 5
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], vtable.CLanguage.0
test ecx, ecx
je 0x463d65
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x40]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004e8d32
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x38]
movzx esi, bl
push esi
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc100.dll_Ordinal_4464]
mov byte [esp + 0x20], al
cmp al, 0x23
jne 0x463e46
mov al, byte [esp + 0x13]
inc al
mov byte [esp + 0x13], al
cmp al, 0x13
jbe 0x463e20
cmp dword [esp + 0x18], 0
jne 0x463e20
mov edx, dword [esp + 0x28]
push 0
push 0
push edx
mov ecx, dword [esp + 0x48]
call dword [sym.imp.mfc100.dll_Ordinal_7871]
mov dword [esp + 0x18], 1
push 1
push esi
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc100.dll_Ordinal_3404]
dec bl
jmp 0x463ec4
cmp byte [esp + 0x12], 0xff
jne 0x463e30
mov byte [esp + 0x12], bl
jmp 0x463ec4
cmp edi, 1
jne 0x463ec4
cmp dword [esp + 0x18], 0
jne 0x463ec4
jmp 0x463e04
cmp byte [esp + 0x12], 0xff
je 0x463e59
test edi, edi
jne 0x463e59
mov dword [esp + 0x38], 1
cmp al, 0x30
jl 0x463e61
cmp al, 0x39
jle 0x463e86
cmp al, 0x61
jl 0x463e69
cmp al, 0x7a
jle 0x463e86
cmp al, 0x41
jl 0x463e71
cmp al, 0x5a
jle 0x463e86
cmp dword [esp + 0x18], 0
jne 0x463e0c
mov eax, dword [esp + 0x2c]
push 0
push 0
push eax
jmp 0x463dfa
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
cmp dword [ecx - 0xc], esi
push edi
lea ecx, [esp + 0x28]
jle 0x463ea1
push esi
call dword [sym.imp.mfc100.dll_Ordinal_12090]
jmp 0x463ea7
call dword [sym.imp.mfc100.dll_Ordinal_2151]
mov edx, dword [esp + 0x1c]
push edi
lea ecx, [esp + 0x20]
cmp dword [edx - 0xc], esi
jle 0x463ebe
push esi
call dword [sym.imp.mfc100.dll_Ordinal_12090]
jmp 0x463ec4
call dword [sym.imp.mfc100.dll_Ordinal_2151]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
inc bl
movzx edx, bl
cmp edx, eax
jl 0x463dc2
cmp dword [esp + 0x18], 0
je 0x463d21
mov esi, dword [sym.imp.mfc100.dll_Ordinal_12868]
push ecx
mov ecx, dword [esp + 0x50]
call esi
jmp 0x463d27