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

Disassembly:
push ebp
xor eax, eax
push edi
push esi
push ebx
sub esp, 0xadc
mov word [esp + 0x70], ax
mov eax, dword [0x11641a0]
cmp byte [eax], 4
je 0x46c687
lea eax, [esp + 0x6e]
mov dword [esp + 0x18], 0xde82c4
mov dword [esp + 0x14], 0xde82c8
mov dword [esp + 0x10], 0xde82cc
mov dword [esp + 0xc], 0xde82d0
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_d_d_d_d
mov dword [esp], 0x1164190
mov byte [0xd786cc], 0
call fcn.00404900
test eax, eax
jle 0x46c669
call fcn.0045e6e0
mov eax, dword [0xde82c4]
test al, 1
je 0x46b90f
mov byte [0xdd2179], 1
test al, 2
je 0x46b91a
mov byte [0xdd2178], 1
test al, 4
je 0x46b925
mov byte [0xdd2174], 1
test al, 8
je 0x46b930
mov byte [0xdd2177], 1
test al, 0x10
je 0x46b93b
mov byte [0xdd2176], 1
test al, 0x20
je 0x46b946
mov byte [0xdd2175], 1
test al, 0x40
je 0x46b951
mov byte [0xdd2173], 1
test al, 0x80
je 0x46b95c
mov byte [0xdd2172], 1
test ah, 1
je 0x46b968
mov byte [0xdd2171], 1
test ah, 2
je 0x46b974
mov byte [0xdd2170], 1
mov eax, dword [0xde82c8]
test al, 1
je 0x46b984
mov byte [0xde82c0], 1
test al, 2
jne 0x46b9be
cmp dword [0x5029b0], 0x42
je 0x46c787
mov dword [0x5029b0], 0x42
mov dword [0x5029ac], 0x16
mov dword [esp + 4], 0x18
mov dword [esp], 0x50
call dword [0x54b7c8]
mov eax, dword [0xde82cc]
mov edx, 8
mov dword [0xdd216c], eax
mov eax, dword [0xde82d0]
mov ebp, eax
movzx ecx, ah
and ebp, 0xff
cmove ebp, edx
test ah, 0xff
mov edx, 2
cmovne edx, ecx
mov dword [0x503574], ebp
mov ebx, ebp
mov dword [esp + 0x40], edx
mov edx, eax
shr edx, 0x10
test eax, 0xff0000
mov eax, 1
movzx edx, dl
cmovne eax, edx
mov dword [esp + 0x3c], eax
call fcn.004a2d80
movsx eax, byte [0x114ee60]
test al, al
je 0x46ba3b
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
cmp byte [0xd787d0], 0
mov byte [0x114ee60], al
jne 0x46c6dc
call fcn.00409190
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 8
mov dword [esp + 8], 5
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c70
test al, al
jne 0x46bfd7
movzx eax, byte [0xdd2173]
cmp byte [0xdd2172], 1
sbb eax, 0xffffffff
mov dword [esp + 0x38], eax
cmp byte [0xdd2177], 0
jne 0x46c00d
cmp byte [0xdd2179], 0
jne 0x46cd4a
mov eax, dword [esp + 0x38]
add ebp, eax
cmp byte [0xdd2176], 0
jne 0x46c126
cmp byte [0xdd2178], 0
jne 0x46ccdf
cmp byte [0xdd2174], 0
jne 0x46c157
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 4], str.Character_Overview
mov dword [esp], 0xd
call fcn.00412680
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x46cbaa
cmp ebp, 1
je 0x46cc3c
mov dword [esp + 4], ebp
mov dword [esp], str._You_can_create_up_to__d_different_characters_to_play_with_
call fcn.00402550
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], 0xd
call fcn.00412680
cmp byte [0x503541], 0
jne 0x46cb58
mov dword [esp + 0xc], 1
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51cc78
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51cc7a
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51cc7e
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xe
mov dword [esp + 4], 0x51cc84
mov dword [esp], 8
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51cc78
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x4d
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51cc7a
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x4d
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51cc7e
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x51cc82
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x4e
mov dword [esp + 8], 0xe
mov dword [esp + 4], 0x51cc84
mov dword [esp], 8
call fcn.00412680
cmp ebp, 0xc
jle 0x46cade
cmp ebp, 0xf
jle 0x46cc65
mov byte [esp + 0x4e], 0
mov ebp, 0x10
mov dword [esp + 0x34], 2
mov byte [esp + 0x4d], 0
mov edi, ebp
mov byte [esp + 0x4c], 1
mov byte [esp + 0x4f], 1
mov byte [esp + 0xcd], 0
xor ebx, ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
lea esi, [esi]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 7
mov dword [esp + 8], 5
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c70
test al, al
je 0x46c180
lea eax, [esp + 0xcd]
mov dword [esp + 0x14], 0x1163d00
mov dword [esp + 0x24], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x72]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x76]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x7d]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x70]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x6e]
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_hd_s_s_hd_hd_hd_s
mov dword [esp], 0x1164190
call fcn.00404900
test eax, eax
setg al
mov esi, eax
mov eax, esi
test al, al
je 0x46c3aa
cmp byte [0x1163d00], 0
je 0x46c3aa
cmp ebx, edi
je 0x46bde8
mov dword [esp + 4], 0x1163d00
mov dword [esp], 0x114ee60
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x46c39f
mov dword [esp + 4], 0x114f440
lea ebp, [esp + 0x11d]
mov dword [esp], 0x1163d00
call sub.msvcrt.dll_strcmp
mov dword [esp + 4], 0x1163d00
test eax, eax
movzx eax, byte [esp + 0x4d]
cmove eax, esi
mov byte [esp + 0x4d], al
lea eax, [ebx + ebx*4]
shl eax, 4
lea eax, [esp + eax + 0x170]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0x51ccd8
lea esi, [ebx + eax]
mov dword [esp], 1
mov dword [esp + 8], esi
call fcn.00412680
movsx eax, word [esp + 0x74]
imul eax, eax, 0x644
add eax, dword [0xdfd634]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
movsx eax, word [esp + 0x72]
imul eax, eax, 0x638
add eax, dword [0xdfd638]
mov eax, dword [eax]
mov dword [esp + 0x10], 0x1163d00
mov dword [esp + 4], str._c___s_s___d____s__s
mov dword [esp + 0x18], eax
movsx eax, word [esp + 0x76]
mov dword [esp], ebp
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7d]
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x61]
mov dword [esp + 8], eax
call fcn.0045f500
mov dword [esp + 0xc], 4
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], 1
call fcn.00412680
movzx eax, word [esp + 0x70]
test al, 0x80
jne 0x46c270
test al, 0x40
jne 0x46c2be
cmp byte [esp + 0xcd], 0
jne 0x46c30d
add ebx, 1
jmp 0x46bde8
xor eax, eax
cmp byte [0xdd2173], 0
cmovne eax, dword [esp + 0x40]
cmp byte [0xdd2172], 0
mov dword [esp + 0x38], eax
je 0x46ba99
mov ecx, dword [esp + 0x3c]
add eax, ecx
cmp byte [0xdd2177], 0
mov dword [esp + 0x38], eax
je 0x46baa6
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0x15
mov dword [esp + 4], str.The_server_is_running_ARCADE_SERVER_settings.
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c00
mov ecx, dword [esp + 0x40]
mov edx, eax
xor eax, eax
test dl, dl
cmovne ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x3c]
cmovne ecx, eax
cmove eax, dword [esp + 0x38]
cmp byte [0xdd2179], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
je 0x46bab7
cmp byte [0xdd2177], 0
je 0x46cd4a
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c00
test al, al
je 0x46bab3
cmp byte [0xdd2175], 0
mov eax, 1
mov dword [esp + 0x40], 0
cmove ebp, eax
cmp byte [0xdd2176], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov ebx, ebp
je 0x46bac6
mov dword [esp + 0xc], 0x19
mov dword [esp + 8], 0x16
mov dword [esp + 4], str.The_server_is_running_TEST_SERVER_settings.
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdd2174], 0
je 0x46bae0
mov dword [esp + 0xc], 0x19
mov dword [esp + 8], 0x17
mov dword [esp + 4], str.This_server_is_running_PARTY_SERVER_settings.
mov dword [esp], 2
call fcn.00412680
jmp 0x46bae0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c70
test al, al
lea eax, [esp + 0x74]
je 0x46c220
mov dword [esp + 0x20], eax
lea eax, [esp + 0x72]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x76]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x7d]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x70]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x6e]
mov dword [esp + 0x14], 0x1163d00
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_hd_s_s_hd_hd_hd
mov dword [esp], 0x1164190
call fcn.00404900
test eax, eax
setg al
mov esi, eax
jmp 0x46be8a
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x72]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x76]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7d]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x6e]
mov dword [esp + 0x10], 0x1163d00
mov dword [esp + 8], eax
mov dword [esp + 4], str._c_s_s_hd_hd_hd
mov dword [esp], 0x1164190
call fcn.00404900
test eax, eax
setg al
mov esi, eax
jmp 0x46be8a
lea eax, [esp + 0x7d]
mov dword [esp + 0xc], 0x51cd37
mov dword [esp + 8], eax
mov dword [esp + 4], 0x51cd3b
mov dword [esp], ebp
add dword [esp + 0x48], 1
call fcn.0045f500
mov dword [esp + 0xc], 0x34
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], 1
call fcn.00412680
movzx eax, word [esp + 0x70]
test al, 0x40
je 0x46bfc1
lea eax, [esp + 0x7d]
mov dword [esp + 0xc], str.IDDC
mov dword [esp + 8], eax
mov dword [esp + 4], 0x51cd3b
mov dword [esp], ebp
add dword [esp + 0x44], 1
call fcn.0045f500
mov dword [esp + 0xc], 0x34
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], 1
call fcn.00412680
cmp byte [esp + 0xcd], 0
je 0x46bfcf
lea eax, [esp + 0xcd]
mov dword [esp + 4], 0x51cd3b
mov dword [esp + 0xc], eax
lea eax, [esp + 0x7d]
mov dword [esp + 8], eax
mov dword [esp], ebp
call fcn.0045f500
mov dword [esp + 0xc], 0x39
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], 1
call fcn.00412680
jmp 0x46bfcf
movsx edx, al
cmp edx, esi
jg 0x46c5e0
sub eax, 0x61
movsx eax, al
lea eax, [eax + eax*4]
shl eax, 4
lea eax, [esp + eax + 0x170]
mov dword [esp], 0x1163d00
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
call fcn.00409190
mov dword [esp + 4], 0x1163d00
mov dword [esp], 0x114ee60
call sub.msvcrt.dll_strcpy
add esp, 0xadc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [0x11638a0], ebx
cmp edi, ebx
jle 0x46c4c7
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edi
lea esi, [ebx + eax]
lea ebp, [eax + edi - 1]
mov eax, dword [esp + 0x44]
mov edi, ebp
mov ebp, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
mov ebx, eax
jmp 0x46c435
test esi, esi
je 0x46c408
cmp dword [esp + 0x3c], ebx
jg 0x46cbe0
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x40], ecx
jg 0x46cc08
lea esi, [esi]
mov dword [esp + 0xc], 4
mov dword [esp + 8], edi
mov dword [esp + 4], str._free_slot_
mov dword [esp], 2
call fcn.00412680
lea eax, [edi - 1]
cmp ebp, edi
je 0x46c4bf
mov edi, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 8
mov dword [esp + 8], 5
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c70
test al, al
jne 0x46c3e8
cmp esi, 2
jne 0x46c408
test ebx, ebx
je 0x46cd08
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x46c408
mov dword [esp + 0xc], 4
mov dword [esp + 8], edi
mov dword [esp + 4], str._free_IDDC_exclusive_slot_
mov dword [esp], 2
call fcn.00412680
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], eax
jmp 0x46c428
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov edx, ebx
mov ebp, dword [esp + 0x44]
lea esi, [eax + edi + 1]
mov eax, esi
sub esi, edi
add esi, 0xb
cmp edi, 0xb
cmovge esi, eax
sub edx, ecx
mov eax, edi
sub edx, ebp
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x3c]
sub eax, edx
mov edx, dword [esp + 0x40]
sub eax, edx
movzx edx, byte [esp + 0x4f]
cmp dword [esp + 0x44], eax
mov eax, 0
cmovge edx, eax
mov eax, dword [esp + 0x40]
mov byte [esp + 0x4f], dl
mov edx, dword [esp + 0x3c]
cmp ecx, edx
setge dl
cmp ebp, eax
setge al
test dl, al
jne 0x46c533
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x46c72e
cmp ebx, edi
jge 0x46c799
cmp byte [esp + 0x4f], 0
jne 0x46cd93
mov byte [esp + 0x4c], 0
mov dword [esp + 0xc], 2
cmp edi, 0xd
jle 0x46c7fe
cmp edi, 0xe
je 0x46cdef
cmp edi, 0xf
je 0x46cd73
lea eax, [esi + 3]
mov dword [esp + 4], str.Q__Quit_the_game
mov dword [esp + 8], eax
mov dword [esp], 0xd
call fcn.00412680
lea ebp, [esi + 2]
mov dword [esp + 0x48], ebx
lea esi, [ebx + 0x60]
movzx ebx, byte [esp + 0x4f]
mov edx, dword [0x54b7c4]
cmp byte [esp + 0x4e], 0
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
jne 0x46d143
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x48]
movzx eax, byte [esp + 0x6e]
lea esi, [esi]
cmp al, 0x60
jg 0x46c358
cmp al, 0x4e
je 0x46c848
cmp al, 0x45
je 0x46c9b0
call fcn.0040dac0
mov edx, eax
mov byte [esp + 0x6e], al
and edx, 0xffffffbf
cmp dl, 0x11
je 0x46c990
cmp al, 0x14
jne 0x46c5c8
mov dword [esp + 4], 2
mov dword [esp], 0x51ce7d
call fcn.004478c0
call fcn.004075b0
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x51c3d2
call fcn.0040eb00
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 4], str.Character_Overview
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c5bd
mov dword [esp], str.Packet_scan_error_when_trying_to_read_server_flags.
call fcn.00401610
mov byte [0xd786cb], 1
add esp, 0xadc
pop ebx
pop esi
pop edi
pop ebp
ret
call dword [sym.imp.msvcrt.dll__errno]
mov byte [0xd786cb], 1
mov dword [eax], 0
mov eax, dword [0x11641a0]
add eax, 1
mov dword [esp], eax
call fcn.00401610
mov eax, dword [0x11641a0]
mov dword [esp + 4], str.a_different_name
lea ebx, [eax + 1]
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
test eax, eax
je 0x46c821
mov byte [0x114f440], 0
add esp, 0xadc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x114ee60
call fcn.0044a1c0
cmp byte [0xdfd675], 0
je 0x46ba3b
movzx eax, word [0xdfd664]
mov word [0xdfd666], ax
movzx eax, word [0xdfd670]
mov word [0xdfd672], ax
movzx eax, word [0xdfd66c]
mov word [0xdfd66e], ax
movzx eax, word [0xdfd65c]
mov word [0xdfd65e], ax
jmp 0x46c39f
cmp ebx, edi
jge 0x46c79e
cmp byte [esp + 0x4f], 0
jne 0x46d015
cmp byte [esp + 0x4c], 0
je 0x46c546
cmp byte [0x5029a8], 0
je 0x46c75f
mov edx, dword [0x11638a0]
test edx, edx
je 0x46c54b
lea eax, [esi + 1]
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov dword [esp + 4], str.E__Create_a_new_slot_exclusive_character__IDDC_or_PvP_only_
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c54b
cmp dword [0x5029ac], 0x16
jne 0x46b995
jmp 0x46b9be
mov byte [esp + 0x4c], 0
mov dword [esp + 4], edi
mov dword [esp], str._Maximum_of__d_character_reached.
call fcn.00402550
mov dword [esp + 0xc], 2
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], 0xd
call fcn.00412680
lea eax, [esi + 1]
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov dword [esp + 4], str._Get_rid_of_one__suicide__before_creating_another._
mov dword [esp], 0xd
call fcn.00412680
mov dword [esp + 0xc], 2
cmp edi, 0xd
jg 0x46c55c
lea eax, [esi + 6]
mov dword [esp + 4], str.Q__Quit_the_game
lea ebp, [esi + 3]
mov dword [esp + 8], eax
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c58c
mov dword [esp + 4], str.enter_a_password
mov dword [esp], ebx
call sub.msvcrt.dll_strstr
test eax, eax
je 0x46c39f
mov byte [0xd786ca], 1
jmp 0x46c39f
test bl, bl
je 0x46c5e0
cmp ebp, edi
jge 0x46c5e0
mov ebp, dword [esp + 0x44]
lea edx, [eax - 0x45]
cmp dl, 9
ja case.0x46c86b.1
movzx edx, dl
jmp dword [edx*4 + 0x51d058]
cmp byte [0x5029a8], 0
jne 0x46d03a
cmp byte [0x114ee60], 0
jne 0x46cac5
cmp byte [0x114ee00], 0
jne 0x46cbc7
cmp byte [esp + 0x4d], 0
je 0x46cd31
mov byte [0x1163d00], 0
cmp edi, 0x10
je 0x46caa0
lea eax, [ebp + 1]
mov dword [esp + 0xc], 4
mov dword [esp + 8], eax
mov dword [esp + 4], str._Keep_blank_to_pick_a_random_name__ESC_to_cancel_
mov dword [esp], 2
call fcn.00412680
jmp 0x46c901
cmp byte [0x1163d00], 0
jne 0x46c9cd
mov dword [esp + 4], 0x1163d00
mov dword [esp], 0
call fcn.00478f80
mov dword [esp + 0xc], 4
mov dword [esp + 8], ebp
mov dword [esp + 4], str.New_name:
mov dword [esp], 0xb
call fcn.00412680
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf
mov dword [esp], 0x1163d00
call fcn.0040f0c0
test al, al
jne 0x46c8e0
mov dword [esp + 8], 0x50
mov dword [esp + 4], ebp
mov dword [esp], 0
cmp edi, 0x10
je 0x46cc32
call fcn.00409060
lea eax, [ebp + 1]
mov dword [esp + 8], 0x50
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00409060
mov byte [esp + 0x6e], 0
jmp 0x46c598
mov dword [esp], 0
call fcn.00401670
movzx eax, byte [esp + 0x6e]
cmp al, 0x14
jne 0x46c5c8
jmp 0x46c5fb
cmp byte [esp + 0x4c], 0
je 0x46c5e0
cmp byte [0x5029a8], 0
jne 0x46c5e0
jmp 0x46c850
movzx ecx, byte [esp + 0x6e]
test cl, cl
je 0x46c598
lea ebx, [esp + 0x11d]
mov dword [esp + 4], 0x1163d00
mov dword [esp], ebx
mov byte [esp + 0x4c], cl
call sub.msvcrt.dll_strcpy
cmp byte [esp + 0x11d], 0x20
movzx ecx, byte [esp + 0x4c]
jne 0x46d2fa
lea eax, [esp + 0x11e]
mov edx, eax
add eax, 1
cmp byte [eax - 1], 0x20
je 0x46ca0f
mov dword [esp + 4], edx
mov dword [esp], 0x1163d00
mov byte [esp + 0x4c], cl
call sub.msvcrt.dll_strcpy
mov dword [esp], 0x1163d00
call sub.msvcrt.dll_strlen
movzx ecx, byte [esp + 0x4c]
mov edx, eax
lea eax, [eax + 0x1163cff]
cmp byte [edx + 0x1163cff], 0x20
mov dword [0x1163cf0], eax
jne 0x46ca65
mov byte [eax], 0
sub eax, 1
cmp byte [eax], 0x20
je 0x46ca55
mov dword [0x1163cf0], eax
movsx eax, byte [0x1163d00]
mov byte [esp + 0x4c], cl
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_toupper]
movzx ecx, byte [esp + 0x4c]
mov byte [0x1163d00], al
cmp cl, 0x45
jne 0x46c386
or word [0xdfd666], 0xc0
jmp 0x46c386
mov dword [esp + 0xc], 0x23
mov dword [esp + 8], ebp
mov dword [esp + 4], str._Keep_blank_to_pick_a_random_name__ESC_to_cancel_
mov dword [esp], 2
call fcn.00412680
jmp 0x46c901
mov dword [esp + 4], 0x114ee60
mov dword [esp], 0x1163d00
call sub.msvcrt.dll_strcpy
jmp 0x46c8ab
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], 7
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c00
mov dword [esp + 0xc], 2
mov dword [esp + 8], 3
test al, al
je 0x46cdc9
mov dword [esp + 4], 0x51cc86
mov dword [esp], 0xd
call fcn.00412680
mov byte [esp + 0x4e], 0
mov dword [esp + 0x34], 4
jmp 0x46bdba
mov dword [esp + 4], str.return_get_music_index__account__
mov dword [esp], 0
call fcn.004a30d0
mov dword [esp], eax
call fcn.00416900
test al, al
je 0x46cdb8
cmp byte [0x503541], 0
je 0x46bb56
mov dword [esp + 4], str.return_get_sound_index__ambient_fireplace__
mov dword [esp], 0
call fcn.004a30d0
mov dword [esp], eax
call fcn.00416990
jmp 0x46bb56
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp], str._You_can_create_up_to__d_d_different_characters_to_play_with_
mov dword [esp + 8], eax
call fcn.00402550
jmp 0x46bb29
mov dword [esp + 4], 0x114ee00
mov dword [esp], 0x1163d00
call sub.msvcrt.dll_strcpy
jmp 0x46c8ab
mov dword [esp + 0xc], 4
add ebx, 1
mov dword [esp + 8], edi
mov dword [esp + 4], str._free_PvP_exclusive_slot_
mov dword [esp], 2
call fcn.00412680
jmp 0x46c428
mov dword [esp + 0xc], 4
mov dword [esp + 8], edi
mov dword [esp + 4], str._free_IDDC_exclusive_slot_
mov dword [esp], 2
call fcn.00412680
add dword [esp + 0x50], 1
jmp 0x46c428
call fcn.00409060
jmp 0x46c97d
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 1
mov dword [esp + 4], str._You_can_create_only_ONE_characters_at_a_time_to_play_with_
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46bb49
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 3
mov dword [esp + 8], 7
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c00
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
test al, al
je 0x46d2ca
mov dword [esp + 4], 0x51cc86
mov dword [esp], 0xd
call fcn.00412680
mov byte [esp + 0x4e], 0
mov dword [esp + 0x34], 3
jmp 0x46bdba
mov dword [esp + 0xc], 0x19
mov dword [esp + 8], 0x16
mov dword [esp + 4], str.The_server_is_running_FUN_SERVER_settings.
mov dword [esp], 2
call fcn.00412680
jmp 0x46bad3
mov dword [esp + 0xc], 4
mov dword [esp + 8], edi
mov dword [esp + 4], str._free_PvP_exclusive_slot_
mov dword [esp], 2
call fcn.00412680
mov ebx, dword [esp + 0x3c]
jmp 0x46c428
mov dword [esp + 4], 0x114f440
mov dword [esp], 0x1163d00
call sub.msvcrt.dll_strcpy
jmp 0x46c8ab
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0x15
mov dword [esp + 4], str.The_server_is_running_IRONMAN_SERVER_settings.
mov dword [esp], 2
call fcn.00412680
jmp 0x46c0ac
lea eax, [esi + 4]
mov dword [esp + 4], str.Q__Quit_the_game
mov dword [esp + 8], eax
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c589
mov dword [esp + 0xc], 2
mov dword [esp + 8], esi
mov dword [esp + 4], str.N__Create_a_new_character
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c546
mov dword [esp], 0xfffffffc
call fcn.00416900
jmp 0x46cb7c
mov dword [esp + 4], str.Choose_an_existing_character:__S_I_A_to_reorder_
mov dword [esp], 0xd
call fcn.00412680
mov byte [esp + 0x4e], 1
mov dword [esp + 0x34], 4
jmp 0x46bdba
lea eax, [esi + 5]
mov dword [esp + 4], str.Q__Quit_the_game
mov dword [esp + 8], eax
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c589
mov byte [esp + 0x50], 3
mov dword [esp + 0xc], 5
movzx eax, byte [esp + 0x50]
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Press_the_slot_letter_of_the_character_to_move..
mov dword [esp], 0xe
mov byte [esp + 0x6e], al
call fcn.00412680
mov eax, dword [esp + 0x48]
add eax, 0x60
mov dword [esp + 0x44], eax
lea esi, [esi]
nop
mov byte [esp + 0x6f], 0
call fcn.0040dac0
mov byte [esp + 0x6f], al
cmp al, 0x1b
je 0x46d048
cmp al, 0x60
jle 0x46ce50
movsx edx, al
cmp dword [esp + 0x44], edx
jl 0x46ce50
lea eax, [ebp + 1]
mov dword [esp + 4], edx
mov dword [esp + 0x54], eax
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp], str.Selected:__c___s
lea eax, [esp + eax - 0x1ce0]
mov dword [esp + 0x58], edx
mov dword [esp + 8], eax
call fcn.00402550
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], 5
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], 2
call fcn.00412680
movzx eax, byte [esp + 0x50]
mov edx, dword [esp + 0x58]
cmp al, 2
je 0x46d0d9
cmp al, 3
je 0x46d0f6
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Press_the_slot_letter_of_the_second_of_two_characters_to_swap..
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x5c]
lea esi, [esi]
mov byte [esp + 0x6f], 0
call fcn.0040dac0
mov byte [esp + 0x6f], al
cmp al, 0x1b
je 0x46d088
cmp al, 0x60
jle 0x46cf08
movsx eax, al
cmp dword [esp + 0x44], eax
jl 0x46cf08
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x51cecc
mov dword [esp], 0xe
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
call fcn.00412680
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], 5
mov dword [esp + 4], 0x51cecc
mov dword [esp + 8], eax
mov dword [esp], 0xe
call fcn.00412680
movsx ecx, byte [esp + 0x50]
mov edx, dword [esp + 0x48]
mov dword [esp], str._c_c_c
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00402550
mov dword [esp + 8], 0xc
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c_s
mov dword [esp], 0x1164178
call fcn.00404660
mov eax, dword [0x1164184]
test eax, eax
jne 0x46d113
mov eax, dword [0x116417c]
mov dword [0x1164188], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], str._c_d_d_d_d
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
lea eax, [esp + 0x6f]
mov dword [esp + 8], eax
mov dword [esp], 0x1164190
call fcn.00404900
test eax, eax
jle 0x46c669
mov byte [esp + 0x6e], 0
jmp 0x46bdcb
mov dword [esp + 0xc], 2
mov dword [esp + 8], esi
mov dword [esp + 4], str.N__Create_a_new_character
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46c73d
mov eax, 0xfffff740
jmp 0x46c36f
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x51cecc
mov dword [esp], 0xe
call fcn.00412680
movzx eax, byte [0xd786cb]
mov byte [esp + 0x6e], 0
test al, al
je 0x46c598
jmp 0x46c39f
mov dword [esp + 0xc], 5
mov esi, dword [esp + 0x58]
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x51cecc
mov dword [esp], 0xe
call fcn.00412680
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], 5
mov dword [esp + 4], 0x51cecc
mov dword [esp + 8], eax
mov dword [esp], 0xe
call fcn.00412680
movzx eax, byte [0xd786cb]
jmp 0x46d06f
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Press_the_slot_letter_of_a_character_before_which_to_insert..
jmp 0x46cef0
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Press_the_slot_letter_of_a_character_after_which_to_insert..
jmp 0x46cef0
mov dword [esp], 0x1164178
call fcn.00404050
cmp eax, 0xffffffff
je 0x46cfd3
mov dword [esp], 0x1164178
call fcn.00403df0
mov eax, dword [0x11638a8]
mov dword [0x1163d54], eax
jmp 0x46cfd3
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], esi
add eax, 0x60
mov esi, eax
movzx eax, byte [esp + 0x6e]
lea esi, [esi]
cmp al, 0x60
jle 0x46d1f8
movsx edx, al
cmp esi, edx
jge case.0x46c86b.1
call fcn.0040dac0
mov edx, eax
mov byte [esp + 0x6e], al
and edx, 0xffffffbf
cmp dl, 0x11
je 0x46d290
cmp al, 0x14
jne 0x46d158
mov dword [esp + 4], 2
mov dword [esp], 0x51ce7d
call fcn.004478c0
call fcn.004075b0
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x51c3d2
call fcn.0040eb00
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 4], str.Character_Overview
mov dword [esp], 0xd
call fcn.00412680
jmp 0x46d150
cmp al, 0x4e
je 0x46d26f
cmp al, 0x45
je 0x46d2b0
mov edx, eax
and edx, 0xfffffff7
cmp dl, 0x41
je 0x46d216
cmp al, 0x53
jne 0x46d16b
lea edx, [eax - 0x41]
mov esi, dword [esp + 0x44]
cmp dl, 0x12
ja case.0x46c86b.1
movzx edx, dl
jmp dword [edx*4 + 0x51d080]
cmp al, 0x49
je 0x46d2f0
cmp al, 0x53
jne case.0x46c86b.4
mov dword [esp + 0xc], 5
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Press_the_slot_letter_of_the_first_of_two_characters_to_swap..
mov dword [esp], 0xe
mov byte [esp + 0x6e], 1
call fcn.00412680
mov byte [esp + 0x50], 1
jmp 0x46ce3d
test bl, bl
je 0x46d16b
cmp dword [esp + 0x48], edi
jge 0x46d16b
mov esi, dword [esp + 0x44]
jmp 0x46c85c
mov dword [esp], 0
call fcn.00401670
movzx eax, byte [esp + 0x6e]
cmp al, 0x14
jne 0x46d158
jmp 0x46d186
cmp byte [esp + 0x4c], 0
je 0x46d16b
cmp byte [0x5029a8], 0
jne 0x46d16b
jmp 0x46d277
mov dword [esp + 4], str.Choose_an_existing_character:__S_I_A_to_reorder_
mov dword [esp], 0xd
call fcn.00412680
mov byte [esp + 0x4e], 1
mov dword [esp + 0x34], 3
jmp 0x46bdba
mov byte [esp + 0x50], 2
jmp 0x46ce14
mov edx, ebx
jmp 0x46ca1a