Function at 0x4302a0
Capabilities:
Contain obfuscated stackstrings
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ecx, 0x17
mov edx, 0x2d
push edi
push esi
push ebx
sub esp, 0x72c
cmp dword [0x5029ac], 0x17
mov edi, dword [0x54c658]
cmovl edx, ecx
mov esi, dword [esp + 0x748]
mov ecx, 0x14
mov eax, dword [esp + 0x740]
mov dword [esp + 0x70], edi
mov ebx, dword [esp + 0x744]
mov dword [esp + 0x68], edx
mov edx, 0x2a
mov dword [esp + 0x50], esi
cmovl edx, ecx
mov esi, dword [0xd786c4]
mov byte [esp + 0x89], al
mov dword [esp + 0x4c], edx
cmp esi, 0xffffffff
je 0x4307b1
mov ebp, dword [esp + 0x50]
mov byte [esp + 0xbc], 0
mov byte [esp + 0x10c], 0
test ebp, ebp
setne dl
test ebx, ebx
jne 0x430337
test dl, dl
je 0x430337
mov dword [0x54c658], 0
mov byte [esp + 0x1ac], 0
cmp al, 3
jne 0x4304ac
test dl, dl
je 0x4304ac
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov byte [esp + 0x89], 3
cmp eax, 1
je 0x43342a
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
lea eax, [esp + 0x33e]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 0x38], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], edi
mov esi, dword [sym.imp.msvcrt.dll__strnicmp]
mov dword [esp + 8], 4
mov dword [esp + 4], str.prob
call esi
test eax, eax
jne 0x430e57
movzx eax, byte [esp + 0x33e]
mov edi, dword [esp + 0x38]
test al, al
jne 0x4303cb
jmp 0x4303d5
movzx eax, byte [edi + 1]
add edi, 1
test al, al
je 0x4303d5
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
jbe 0x4303c0
mov dword [esp], edi
call sub.msvcrt.dll_atoi
mov byte [edi], 0
mov esi, eax
mov eax, dword [esp + 0x38]
mov dword [esp], str.problem
mov dword [esp + 4], eax
call fcn.00405160
test eax, eax
je 0x4348ef
test esi, esi
jne 0x4334aa
mov eax, dword [esp + 0x50]
mov dword [eax], 0x756f7254
mov dword [eax + 4], 0x73656c62
mov dword [eax + 8], 0x746f6f68
mov dword [eax + 0xc], 0x676e69
mov byte [esp + 0x89], 3
mov byte [esp + 0x33e], 0
mov eax, dword [esp + 0x50]
movzx eax, byte [eax]
cmp al, 0x2f
je 0x430e4a
cmp al, 0x40
je 0x430450
cmp al, 0x21
jne 0x433383
mov eax, dword [esp + 0x50]
cmp byte [eax + 2], 0
jne 0x430514
movsx ebx, byte [eax + 1]
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_toupper]
cmp ebx, eax
je 0x4333cd
mov byte [esp + 0x6e], 1
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
lea eax, [esp + 0x1ac]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x8a], 0
mov byte [esp + 0x89], 1
mov dword [esp + 0x64], 0x73
jmp 0x430556
lea edx, [eax - 2]
cmp dl, 1
jbe 0x43347e
mov esi, dword [esp + 0x50]
test esi, esi
jne 0x430435
cmp al, 3
jbe 0x430ee7
cmp byte [esp + 0x89], 4
jne 0x430ecd
mov dword [esp + 4], ebx
mov dword [esp], 0x50e36a
call fcn.00402550
mov dword [esp + 4], eax
lea eax, [esp + 0x1ac]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6e], 0
mov byte [esp + 0x8a], 0
mov dword [esp + 0x64], 0x23
jmp 0x430556
cmp byte [esp + 0x89], 3
jne 0x430e2c
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
lea eax, [esp + 0x1ac]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6e], 0
mov byte [esp + 0x8a], 0
mov byte [esp + 0x89], 3
mov dword [esp + 0x64], 0x63
call fcn.00409a70
mov byte [0xdfdfd9], 1
xor edi, edi
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x78], 0xfffffc19
mov byte [esp + 0x6d], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x74], 0
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
mov byte [esp + 0x4b], 0
mov byte [esp + 0x6f], 0
mov byte [esp + 0x88], 0
mov dword [esp + 0x40], 0xffffffff
mov eax, edi
test al, al
je 0x4309e5
mov edx, dword [0xd786c4]
cmp byte [esp + 0x4b], 0
mov eax, dword [0x54c658]
lea ecx, [edx + 1]
jne 0x432480
add eax, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], str._The_Guide___line__5d_of__5d_
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov esi, dword [esp + 0x68]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_c_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0x1a
call fcn.00408cb0
mov dword [esp + 0x10], 0x510a27
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0x4d
call fcn.00408cb0
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 7
call fcn.00408cb0
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov eax, edi
test al, al
je 0x432606
movzx eax, byte [esp + 0x4a]
movzx ebx, byte [esp + 0x6c]
mov edx, dword [0x54b7c4]
test bl, bl
cmove ebx, eax
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov eax, dword [esp + 0x64]
mov byte [esp + 0x4a], bl
mov byte [0xdfdfd6], 0
test eax, eax
jne 0x43152f
lea edi, [esp + 0x29c]
mov ecx, 0x14
xor eax, eax
mov ebp, dword [0x54c658]
mov dword [esp + 0x3c], edi
rep stosd dword es:[edi], eax
mov edi, dword [0xd67a88]
cmp ebp, edi
jl 0x43279a
lea eax, [ebp + ebp*8]
mov esi, ebp
lea ebx, [eax + eax*8 + 0xaad460]
jmp 0x43073e
sub esi, 1
sub ebx, 0x51
cmp esi, edi
jl 0x43279a
cmp byte [ebx], 0x28
jne 0x430730
movzx eax, byte [ebx + 1]
sub eax, 0x30
cmp al, 9
ja 0x430730
movzx eax, byte [ebx + 2]
cmp al, 0x29
je 0x432dd7
cmp al, 0x2e
jne 0x430730
movzx eax, byte [ebx + 3]
sub eax, 0x30
cmp al, 9
ja 0x430730
mov dword [esp + 4], 0x29
mov dword [esp], ebx
call sub.msvcrt.dll_strchr
mov edx, eax
lea eax, [ebx + 8]
cmp eax, edx
jb 0x430730
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x38], edx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov edx, dword [esp + 0x38]
sub edx, ebx
mov byte [esp + edx + 0x29d], 0
movzx edx, byte [esp + 0x29c]
jmp 0x432e01
mov eax, dword [0xd786c0]
test eax, eax
jle 0x430f11
cmp eax, 2
je 0x433837
mov dword [esp + 0x744], eax
mov dword [esp + 0x740], 0x51036c
add esp, 0x72c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00414150
movzx edi, byte [esp + 0x1ac]
mov esi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 4], esi
lea esi, [esp + 0x33e]
mov dword [esp + 0x10], str.Enter_chapter_to_jump_to:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], esi
mov dword [esp + 0x38], esi
call sub.msvcrt.dll_strcpy
mov eax, edi
movzx ebx, byte [0xdfdfd8]
mov byte [0xdfdfd8], 1
test al, al
je 0x432e5b
lea eax, [esp + 0x1ac]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x1ac], 0
mov byte [0xdfdfd8], bl
movzx ebx, byte [esp + 0x33e]
test bl, bl
je 0x432e3d
mov esi, dword [esp + 0x38]
mov dword [esp], 0x54c5a0
mov dword [esp + 4], esi
call sub.msvcrt.dll_strcpy
mov dword [esp + 4], esi
mov dword [esp], 0x54c600
call sub.msvcrt.dll_strcpy
movsx eax, bl
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_isalpha]
test eax, eax
jne 0x4334e8
cmp byte [esp + 0x33e], 0x40
jne 0x43329a
cmp byte [esp + 0x33f], 0x40
jne 0x43329a
cmp byte [esp + 0x340], 0
jne 0x43329a
mov dword [esp + 0x34e], 0x49545049
xor edi, edi
mov dword [esp + 0x33e], 0x4d455449
mov dword [esp + 0x342], 0x574f5020
mov dword [esp + 0x346], 0x49205245
mov dword [esp + 0x34a], 0x5243534e
mov dword [esp + 0x351], 0x4e4f49
mov dword [0x54c658], 0
mov byte [esp + 0x6d], 0
mov byte [esp + 0x88], 4
mov dword [esp + 0x60], 0x63
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
mov eax, dword [esp + 0x38]
lea ebx, [esp + 0x10c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [0x54c658]
mov edx, dword [0xd786c4]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov dword [0x54c650], eax
sub edx, esi
add eax, 1
mov dword [0x54c658], eax
cmp eax, edx
jle 0x4309ac
mov dword [0x54c658], edx
mov eax, edx
test eax, eax
js 0x433850
sub eax, 1
mov dword [esp + 0x40], eax
cmp byte [esp + 0x88], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x54c600
setne al
shl eax, 2
mov byte [esp + 0x6e], al
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x88], 0
call fcn.00409190
cmp byte [esp + 0x4b], 0
mov edx, dword [0xd786c4]
mov eax, dword [0x54c658]
lea ecx, [edx + 1]
je 0x4305d0
sub edx, eax
mov dword [esp + 8], ecx
lea eax, [edx + 1]
mov dword [esp], str._The_Guide___line__5d_of__5d_
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov edi, dword [esp + 0x68]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_c_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x1a
call fcn.00408cb0
mov dword [esp + 0x10], 0x510a27
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x4d
call fcn.00408cb0
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 7
call fcn.00408cb0
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov ebx, dword [0xd786c4]
movzx eax, byte [esp + 0xbc]
mov dword [0x54c5f0], ebx
mov byte [esp + 0x3c], al
test al, al
jne 0x43263e
cmp byte [esp + 0x6f], 0
jne 0x430b1b
sub ebx, dword [0x54c658]
mov dword [0x54c5f0], ebx
lea eax, [esp + 0x33e]
cmp byte [esp + 0x4b], 0
mov byte [esp + 0x15c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], eax
je 0x430dfc
lea esi, [esi]
test ebx, ebx
js 0x4312a8
lea eax, [ebx + ebx*8]
sub ebx, 1
lea eax, [eax + eax*8 + 0xaad460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov edi, dword [esp + 0x38]
mov dword [0x54c5f0], ebx
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov byte [esp + eax + 0x33d], 0
movzx eax, byte [esp + 0x33e]
test al, al
je 0x431360
lea ebp, [esp + 0x3df]
mov edx, edi
xor ebx, ebx
mov ecx, ebp
jmp 0x430be0
mov byte [ecx], al
lea esi, [ecx + 1]
cmp al, 0x29
jne 0x430f40
test bl, bl
je 0x430f40
movzx eax, word [0x515126]
add ecx, 3
xor ebx, ebx
mov word [ecx - 2], ax
movzx eax, byte [edx + 1]
add edx, 1
test al, al
je 0x430c15
cmp al, 0x28
jne 0x430bb0
movsx eax, byte [edx + 1]
sub eax, 0x30
cmp eax, 9
ja 0x430c04
movzx eax, byte [edx + 2]
cmp al, 0x2e
je 0x431020
cmp al, 0x29
je 0x431220
movzx eax, byte [edx + 1]
mov byte [ecx], 0x28
add edx, 1
add ecx, 1
test al, al
jne 0x430be0
cmp byte [esp + 0x4a], 0
mov byte [ecx], 0
jne 0x430fb0
movzx ebx, byte [esp + 0x3c]
cmp bl, 0x28
setne al
test bl, bl
setne dl
and al, dl
jne 0x430f50
test bl, bl
jne 0x430fda
cmp byte [esp + 0x10c], 0
je 0x431173
add dword [esp + 0x40], 1
cmp byte [esp + 0x6f], 0
mov edi, dword [esp + 0x40]
je 0x430c6d
cmp dword [0x54c658], edi
je 0x432870
cmp byte [esp + 0x6d], 0
je 0x432653
lea eax, [esp + 0x98]
mov dword [esp], ebp
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x15c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1fc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
call fcn.004056a0
test al, al
je 0x43292f
cmp byte [esp + 0x4b], 0
mov eax, dword [0xd786c4]
je 0x430d20
mov edi, dword [esp + 0x40]
mov esi, eax
add dword [0x54c5f0], 2
sub esi, edi
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
mov dword [esp], str._The_Guide___line__5d_of__5d_
mov byte [esp + 0x10c], 0
cmp edi, 0xffffffff
mov dword [0x54c658], esi
cmove edi, esi
add eax, 1
mov dword [esp + 8], eax
lea eax, [esi + 1]
mov dword [esp + 4], eax
mov dword [esp + 0x54], edi
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov byte [esp + 0x4a], 0
mov byte [esp + 0x4b], 0
mov byte [esp + 0x6f], 0
lea esi, [esi]
cmp byte [esp + 0x15c], 0
jne 0x43136e
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], 1
lea eax, [edi + 2]
mov dword [esp + 8], 0xffffffff
add edi, 1
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 0x44], edi
mov byte [esp + 0x3c], 0
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x4c], edi
jle 0x43125b
cmp byte [esp + 0x4b], 0
mov ebx, dword [0x54c5f0]
jne 0x430b48
mov esi, dword [0xd786c4]
cmp esi, ebx
jl 0x431238
lea eax, [ebx + ebx*8]
add ebx, 1
lea eax, [eax + eax*8 + 0xaad460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
jmp 0x430b6d
ja 0x4304cc
movzx eax, byte [esp + 0x89]
cmp al, 1
je 0x434c00
cmp al, 2
jne 0x430eef
mov byte [esp + 0x8a], 0
jmp 0x4333d5
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x5103e0
mov dword [esp], eax
call esi
test eax, eax
je 0x4303ac
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.setting
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434910
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5103fb
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434964
mov eax, dword [esp + 0x50]
mov dword [eax + 4], 0x435f444c
mov dword [eax], 0x4955472f
mov dword [eax + 7], 0x474643
jmp 0x4334db
mov byte [esp + 0x6e], 0
mov byte [esp + 0x8a], 0
mov dword [esp + 0x64], 0
jmp 0x430556
cmp al, 1
je 0x434c00
mov byte [esp + 0x6e], 0
mov byte [esp + 0x8a], 0
mov byte [esp + 0x89], 0
mov dword [esp + 0x64], 0
jmp 0x430556
mov dword [esp], 0x5102ac
call fcn.00412f10
mov dword [esp + 0x740], 0x5102dc
add esp, 0x72c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00412f10
mov ecx, esi
jmp 0x430bd5
lea esi, [esp + 0xbc]
mov dword [esp], ebp
mov eax, dword [esp + 0x40]
mov dword [esp + 4], esi
lea ebx, [eax + 1]
call sub.msvcrt.dll_strstr
mov edi, eax
cmp eax, ebp
je 0x431080
test eax, eax
je 0x430fa0
cmp byte [esp + 0x3c], 0x20
je 0x430fa0
cmp ebp, eax
jae 0x431080
mov eax, ebp
jmp 0x430f9b
add eax, 1
cmp edi, eax
je 0x431080
cmp byte [eax], 0x20
je 0x430f90
mov dword [esp + 0x40], ebx
jmp 0x430ddd
cmp byte [esp + 0x10c], 0
je 0x4312e0
movzx eax, byte [esp + 0x3c]
test al, al
je 0x431304
cmp al, 0x28
jne 0x430f50
cmp byte [esp + 0x3c], 0
je 0x431304
mov eax, dword [esp + 0x40]
lea ebx, [eax + 1]
cmp dword [0xd67a88], ebx
jg 0x43100b
lea eax, [esp + 0xbc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.msvcrt.dll_strstr
lea edx, [esp + 0x3e1]
cmp edx, eax
je 0x43148e
mov dword [esp + 0x40], ebx
mov byte [esp + 0x3c], 0x28
jmp 0x430ddd
movsx eax, byte [edx + 3]
sub eax, 0x30
cmp eax, 9
ja 0x430c04
movzx edi, byte [edx + 4]
mov eax, edi
cmp al, 0x29
je 0x431060
movzx eax, byte [edx + 5]
cmp al, 0x29
je 0x431060
cmp byte [edx + 6], 0x29
jne 0x430c04
cmp al, 0x39
jg 0x431060
mov eax, edi
cmp al, 0x39
jle 0x430c04
lea esi, [esi]
mov ebx, 0x47ff
mov byte [ecx + 2], 0x28
add ecx, 3
mov word [ecx - 3], bx
mov ebx, 1
jmp 0x430bd5
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [sym.imp.msvcrt.dll_isalpha]
mov ecx, eax
movsx eax, byte [esp + eax + 0xbb]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
mov dword [esp + 0x5c], edx
call edx
mov ecx, dword [esp + 0x58]
test eax, eax
je 0x4310c6
movsx eax, byte [edi + ecx]
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
call edx
mov ecx, dword [esp + 0x58]
test eax, eax
jne 0x430fa0
mov eax, dword [esp + 0x54]
lea edx, [ecx + 1]
cmp eax, 0xffffffff
cmove eax, ebx
mov dword [esp + 0x54], eax
lea eax, [esp + 0x15c]
cmp edx, 4
jae 0x431330
test edx, edx
je 0x431103
movzx eax, byte [esp + 0xbc]
mov byte [esp + 0x15c], al
test dl, 2
jne 0x432bae
mov eax, dword [0xd786c4]
cmp byte [esp + 0x4b], 0
mov byte [esp + 0xbc], 0
mov dword [0x54c658], ebx
lea edx, [eax + 1]
mov dword [esp + 8], edx
je 0x431350
sub eax, ebx
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], str._The_Guide___line__5d_of__5d_
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov dword [esp + 0x40], ebx
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
cmp byte [esp + 0x6d], 0
jne 0x430d98
cmp byte [esp + 0x15c], 0
je 0x430da6
movzx eax, byte [esp + 0x6e]
lea esi, [esp + 0x15c]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0x3c], eax
call fcn.00405240
test eax, eax
je 0x430da6
mov ebx, dword [esp + 0x38]
mov dword [esp + 4], ebp
mov edi, ebp
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
movzx eax, byte [esp + 0x33e]
test al, al
je 0x43120f
mov byte [esp + 0x58], 0
xor edx, edx
mov dword [esp + 0x5c], ebp
mov ebp, edx
cmp al, 0xff
jne 0x432728
movzx eax, byte [ebx + 1]
mov edx, ebp
cmp al, 0x47
je 0x4329ae
test dl, dl
jne 0x4329c8
mov byte [edi], 0xff
test al, al
jne 0x433782
mov ebp, dword [esp + 0x5c]
add edi, 1
mov byte [edi], 0
jmp 0x430da6
mov eax, dword [esp + 0x38]
cmp edx, eax
jne 0x430c04
jmp 0x431060
lea eax, [esi + esi*8]
add esi, 1
lea eax, [eax + eax*8 + 0xaad460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [0x54c5f0], esi
cmp byte [esp + 0x3c], 0
jne 0x4312cd
lea esi, [esi]
cmp byte [esp + 0x10c], 0
je 0x432771
cmp byte [esp + 0x6f], 0
je 0x43285c
mov eax, dword [0x54c658]
mov byte [esp + 0x10c], 0
xor edi, edi
mov byte [esp + 0x4b], 0
mov dword [esp + 0x70], eax
mov byte [esp + 0x6f], 0
jmp 0x4309e5
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0xaad460
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
cmp byte [esp + 0x3c], 0
mov dword [0x54c5f0], 0xffffffff
je 0x431268
mov byte [esp + 0xbc], 0
xor edi, edi
jmp 0x4309e5
lea eax, [esp + 0x10c]
mov dword [esp + 4], 0x54c600
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [esp + 0x3c]
test al, al
jne 0x430fcb
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
lea eax, [esp + 0x15c]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x10c], 0
jmp 0x431173
mov edi, dword [esp + edx + 0xb8]
shr ecx, 2
mov dword [esp + edx + 0x158], edi
mov edi, eax
rep movsd dword es:[edi], dword [esi]
jmp 0x431103
mov eax, dword [esp + 0x40]
add eax, 2
jmp 0x43112d
lea ebp, [esp + 0x3df]
mov ecx, ebp
jmp 0x430c15
lea eax, [esp + 0x1fc]
lea ebx, [esp + 0x98]
mov dword [esp], ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x9c]
lea esi, [esp + 0x15c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
call fcn.004056a0
test al, al
je 0x430da6
mov byte [esp + 0x5c], al
movzx eax, byte [esp + 0x1fc]
mov dword [esp + 4], ebp
mov byte [esp + 0x8b], al
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [esp + 0x33e]
test al, al
je 0x4348e8
mov byte [esp + 0x58], 0
mov edi, ebp
mov edx, dword [esp + 0x38]
mov byte [esp + 0x3c], 0
mov dword [esp + 0x7c], ebp
movzx ebp, byte [esp + 0x5c]
mov dword [esp + 0x80], esi
xor esi, esi
cmp al, 0xff
je 0x43282f
lea eax, [edx + 1]
cmp byte [esp + 0x58], 0
mov dword [esp + 0x5c], eax
je 0x4329f2
movzx eax, byte [edx]
mov byte [edi], al
mov eax, esi
lea edx, [edi + 1]
test al, al
jne 0x4328c6
mov edi, edx
mov edx, dword [esp + 0x5c]
movzx eax, byte [edx]
test al, al
jne 0x43144c
mov ebp, dword [esp + 0x7c]
jmp 0x43120f
mov dword [esp + 4], 0x29
mov dword [esp], ebp
call sub.msvcrt.dll_strchr
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x43100b
mov eax, dword [esp + 0x54]
mov byte [esp + 0xbc], 0
mov dword [0x54c658], ebx
cmp eax, 0xffffffff
cmove eax, ebx
cmp byte [esp + 0x4b], 0
mov dword [esp + 0x54], eax
mov eax, dword [0xd786c4]
lea edx, [eax + 1]
mov dword [esp + 8], edx
je 0x432823
sub eax, ebx
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], str._The_Guide___line__5d_of__5d_
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov dword [esp + 0x40], ebx
jmp 0x431173
cmp eax, 0xff
je 0x432230
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0xff
add eax, 0x7f
cmp eax, 0xfe
ja case.0x431550.124
jmp dword [eax*4 + 0x511d8c]
mov dword [0x54c658], 0
mov byte [esp + 0x6c], 0
xor edi, edi
jmp 0x4309e5
lea ebx, [eax - 0x41]
cmp ebx, 0x13
ja case.0x431550.98
mov edx, dword [ebx*4 + 0xd62ba0]
test edx, edx
jne 0x432939
add eax, 0x20
mov dword [esp + 4], eax
mov dword [esp], 0x5103bc
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
call fcn.00409190
mov dword [esp + 0x10], str._The_Guide___Bookmarks_Menu_
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov dword [esp + 4], 0x14
mov dword [esp], str._You_can_set_a_maximum_amount_of__d_bookmarks._Use_
call fcn.00402550
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 2
mov dword [esp], 1
call fcn.00408cb0
xor eax, eax
mov dword [esp + 0x98], 0
jmp 0x43168b
imul eax, eax, 0x3c
add edx, 1
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp], 0x51164f
add eax, 0xd626e0
mov dword [esp + 0xc], eax
call fcn.00402550
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], 0xb
add eax, 3
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 4
call fcn.00408cb0
mov eax, dword [esp + 0x98]
add eax, 1
mov dword [esp + 0x98], eax
cmp eax, 0x13
jg 0x43256a
mov edx, dword [eax*4 + 0xd62ba0]
lea ecx, [eax + 0x61]
test edx, edx
jne 0x431620
mov dword [esp + 4], ecx
mov dword [esp], 0x511647
call fcn.00402550
jmp 0x431643
mov edx, dword [0xd786c4]
mov edi, dword [esp + 0x4c]
mov eax, dword [0x54c658]
sub edx, edi
cmp edx, eax
jle case.0x431550.55
mov ecx, edi
sar ecx, 1
add ecx, eax
add eax, edi
test byte [0xdfdfd6], 1
cmovne eax, ecx
add edx, 1
cmp edx, eax
jl 0x4337a3
mov edx, eax
test edx, edx
mov edx, 0
cmovs eax, edx
mov dword [0x54c658], eax
xor edi, edi
mov byte [esp + 0x6c], 0
jmp 0x4309e5
mov edx, dword [0x54c658]
test edx, edx
jne 0x432db7
mov eax, dword [0xd786c4]
mov esi, dword [esp + 0x4c]
sub eax, esi
add eax, 1
test eax, eax
jns 0x4316ed
mov dword [0x54c658], 0
xor edi, edi
mov byte [esp + 0x6c], 0
jmp 0x4309e5
mov edx, dword [0x54c658]
mov esi, dword [esp + 0x4c]
lea eax, [edx + 1]
mov dword [0x54c658], eax
mov eax, dword [0xd786c4]
sub eax, esi
cmp edx, eax
jg 0x43171e
mov byte [esp + 0x6c], 0
xor edi, edi
jmp 0x4309e5
sub dword [0x54c658], 1
jns case.0x431550.124
mov eax, dword [0xd786c4]
mov esi, dword [esp + 0x4c]
mov edx, 0
mov byte [esp + 0x6c], 0
sub eax, esi
add eax, 1
cmovs eax, edx
xor edi, edi
mov dword [0x54c658], eax
jmp 0x4309e5
mov edi, dword [esp + 0x4c]
mov eax, dword [0xd786c4]
mov edx, 0
mov byte [esp + 0x6c], 0
sub eax, edi
add eax, 1
cmovs eax, edx
xor edi, edi
mov dword [0x54c658], eax
jmp 0x4309e5
mov dword [esp + 4], 0
mov dword [esp], 0x50e711
call fcn.004478c0
mov byte [esp + 0x6c], 0
mov edi, 1
jmp 0x4305b7
mov eax, dword [0x54c658]
mov edx, dword [0xd786c4]
lea ecx, [eax + 1]
cmp ecx, edx
jge 0x432e7c
lea edx, [eax + eax*8 + 0x12]
lea edx, [edx + edx*8 + 0xaad460]
lea ecx, [ecx + ecx*8]
lea ecx, [ecx + ecx*8 + 0xaad460]
lea eax, [eax + eax*8]
lea ebp, [esp + 0x480]
mov dword [esp + 0x10], edx
lea eax, [eax + eax*8 + 0xaad460]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str._s__s__s
mov dword [esp], ebp
call fcn.00427940
movzx edx, byte [esp + 0x480]
test dl, dl
je 0x4336ff
mov eax, ebp
cmp dl, 0xa
je 0x4328af
movzx edx, byte [eax + 1]
add eax, 1
test dl, dl
jne 0x431845
cmp byte [esp + 0x480], 0
je 0x4336ff
lea edx, [esp + 0x5d0]
mov eax, ebp
mov dword [esp + 0x38], edx
mov edi, edx
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
lea ebx, [eax + 1]
mov edx, esi
cmp dl, 0xff
jne 0x43370d
test cl, cl
jne 0x43264b
movzx edx, byte [ebx + 1]
add eax, 2
mov byte [edi], cl
cmp cl, 0x20
je 0x432b64
cmp cl, 0x2d
je 0x432bc3
cmp cl, 0x3d
je 0x432c1c
add edi, 1
test dl, dl
jne 0x431876
mov edx, dword [esp + 0x38]
mov eax, dword [0x54c658]
mov byte [edi], 0
mov dword [esp + 0xc], edx
add eax, 1
mov dword [esp + 4], 0x511d6d
mov dword [esp + 8], eax
mov dword [esp], ebp
call fcn.00427940
cmp dword [esp + 0x60], 0xb
mov byte [esp + 0x57f], 0
mov dword [esp], ebp
je 0x4334a0
call fcn.00470250
xor edi, edi
mov byte [esp + 0x6c], 0
mov dword [esp + 0x60], 0xc
jmp 0x4309e5
cmp byte [esp + 0x4a], 0
jne 0x4319c1
xor edi, edi
cmp byte [0x54c600], 0
mov byte [esp + 0x6c], 0
je 0x4309e5
lea eax, [esp + 0x10c]
mov dword [esp + 4], 0x54c600
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6c], 1
jmp 0x4309e5
lea eax, [esp + 0x29c]
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.Uninscribe_what_
mov dword [esp], eax
mov dword [0xdfe128], 0
mov dword [0x54c7e4], 0x50df04
mov dword [0x54c7e0], 0x4413b0
call fcn.00443190
mov edi, eax
test al, al
je 0x4317cc
mov eax, dword [esp + 0x29c]
mov dword [esp], eax
call fcn.0046fdc0
mov byte [esp + 0x6c], 0
jmp 0x4305ad
cmp byte [0x54c600], 0
jne 0x433093
mov byte [esp + 0x6c], 0
xor edi, edi
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov esi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea edi, [esp + 0x33e]
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_topic_to_search_for:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], esi
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], edi
mov dword [esp + 0x38], edi
call sub.msvcrt.dll_strcpy
cmp byte [esp + 0x1ac], 0
movzx ebx, byte [0xdfdfd8]
mov byte [0xdfdfd8], 1
je 0x432ea6
lea eax, [esp + 0x1ac]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x1ac], 0
cmp byte [esp + 0x33e], 0
mov byte [0xdfdfd8], bl
je 0x432e90
mov eax, dword [esp + 0x38]
mov dword [esp], 0x510add
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp], eax
call fcn.00470250
call fcn.00409b30
mov eax, dword [esp + 0x78]
test eax, eax
je 0x43376e
add esp, 0x72c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x54c658]
test edx, edx
jne 0x432ec7
mov dword [esp], 0x5114cc
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
jmp case.0x431550.124
mov edi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea esi, [esp + 0x10c]
mov dword [esp], 0
mov dword [esp + 4], edi
mov byte [esp + 0xbc], 0
call fcn.00409060
mov dword [esp + 0x10], str.Enter_mark_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], esi
call sub.msvcrt.dll_strcpy
mov dword [esp], esi
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
cmp byte [esp + 0x10c], 0
mov byte [0xdfdfd8], bl
jne 0x4331b8
mov byte [esp + 0x6d], 0
xor edi, edi
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6c], 0
jmp 0x4309e5
call fcn.00409190
mov dword [esp + 0x10], str._The_Guide___Navigation_Keys_
xor edi, edi
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_c_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov dword [esp], 0x1a
mov dword [esp + 0x98], 1
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], 0x510a27
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 0x4d
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], 7
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.Those_keys_can_be_used_to_navigate_the_guide._Heres_a_detailed_explanation:
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._Space_n___p:_Move_down___up_by_one_page__ENTER_BACKSPACE_move_by_one_line_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._s____________:_Search_for_a_text_string__use_all_uppercase_for_strict_mode_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._r___R______:_Search_for_a_regular_expression__R__case_sensitive_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._d____________:_..after_s_r_R__this_jumps_to_the_next_match.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._D_or_f_____:_..after_s_r_R__this_jumps_to_the_previous_match.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._a___A______:_Mark_old_new_search_results_on_currently_visible_guide_part.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._S____________:_..resets_screen_to_where_you_were_before_you_did_a_search.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._c___C______:_Chapter_Search._A_special_search_that_skips_most_basic_text
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.__________________to_only_match_specific_topics_and_keywords._C_is_like___
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.__________________command__encompassing_more._Use_c_for_race__classe__skill_
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.__________________spell__school__technique__dungeon__bosses__events__lineage_
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.__________________depths__stair_types__or_actual_chapter_titles_or_indices.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._____________:_Jump_to_a_specific_line_number.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._b___B______:_Open_bookmark_menu___add_bookmark_at_current_position.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._CTRLK_L_______:_Copy_current_lines_to_clipboard___Chat_paste_current_line_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str._ESC____________:_The_Escape_key_will_exit_the_guide_screen.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.In_addition__the_arrow_keys_and_the_number_pad_keys_can_be_used__and_the_keys
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.PgUp_PgDn_Home_End_should_work_both_on_the_main_keyboard_and_the_number_pad.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.This_might_depend_on_your_specific_OS_flavour_and_desktop_environment_though.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], str.Searching_in_all_caps_gives_emphasized_results_first_in_a_line__eg_flags_.
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
lea edx, [eax + 1]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x98], edx
call fcn.00408cb0
mov dword [esp + 0x10], str._Press_any_key_to_go_back_
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x17
mov dword [esp], 0x19
call fcn.00408cb0
call fcn.0040dac0
mov byte [esp + 0x6c], 0
jmp 0x4309e5
mov edi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
mov dword [esp], 0
mov dword [esp + 4], edi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_line_number_to_jump_to:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov eax, dword [0x54c654]
mov dword [esp + 4], 0x50e36a
mov dword [esp + 8], eax
lea eax, [esp + 0x33e]
mov dword [esp], eax
mov dword [esp + 0x38], eax
call fcn.00427940
cmp byte [esp + 0x1ac], 0
movzx ebx, byte [0xdfdfd8]
mov byte [0xdfdfd8], 1
jne 0x432d3e
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], 7
mov dword [esp], eax
call fcn.0040f0c0
test al, al
jne 0x432d5d
mov byte [0xdfdfd8], bl
jmp case.0x431550.124
mov edx, dword [esp + 0x50]
test edx, edx
je 0x4306f5
mov eax, dword [0x54c658]
test eax, eax
jne 0x4306f5
cmp byte [esp + 0x89], 2
mov eax, dword [esp + 0x50]
je 0x4337d7
cmp byte [esp + 0x89], 3
mov dword [esp + 4], eax
je 0x432c2f
mov dword [esp], str.Search_term__s_not_found.
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
call fcn.00409b30
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4331de
mov byte [0xdfdfd9], 0
add esp, 0x72c
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0042d3f0
mov edi, 1
mov byte [esp + 0x6c], 0
jmp 0x4305b7
call fcn.00427970
mov edi, 1
mov byte [esp + 0x6c], 0
jmp 0x4305b7
cmp byte [0x54c600], 0
je 0x4319c1
mov edi, dword [0x54c658]
mov dword [esp + 4], 0x54c600
lea eax, [edi + 1]
mov dword [esp + 0x40], edi
mov dword [0x54c658], eax
lea eax, [esp + 0x10c]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 0x70], edi
xor edi, edi
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov eax, dword [0x54c650]
mov dword [0x54c658], eax
jmp 0x4319c1
mov esi, dword [esp + 0x68]
xor eax, eax
mov dword [esp + 8], 0x50
lea ebx, [esp + 0x10c]
cmp dword [esp + 0x60], 0x72
mov dword [esp], 0
mov dword [esp + 4], esi
sete al
lea eax, [eax + eax + 1]
mov dword [esp + 0x98], eax
call fcn.00409060
mov dword [esp + 4], esi
mov dword [esp + 0x10], str.Enter_search_regexp:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp], ebx
movzx esi, byte [0xdfdfd8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov byte [esp + 0x10c], 0
mov byte [0xdfdfd8], 1
call fcn.0040f0c0
mov eax, esi
cmp byte [esp + 0x10c], 0
mov byte [0xdfdfd8], al
je 0x4319c1
mov ecx, dword [esp + 0x78]
lea esi, [esp + 0x9c]
test ecx, ecx
je 0x4336ba
mov eax, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.libgnurx_0.dll_regcomp
mov dword [esp + 0x78], eax
test eax, eax
jne 0x433691
mov eax, dword [0x54c658]
mov edx, dword [0xd786c4]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov dword [0x54c650], eax
sub edx, esi
add eax, 1
mov dword [0x54c658], eax
cmp eax, edx
jle 0x43242d
mov dword [0x54c658], edx
mov eax, edx
test eax, eax
js 0x43378c
sub eax, 1
mov dword [esp + 0x40], eax
mov dword [esp + 4], ebx
xor edi, edi
mov dword [esp], 0x54c600
call sub.msvcrt.dll_strcpy
lea eax, [esp + 0x1fc]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6d], 1
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
jmp 0x4309e5
sub edx, eax
mov dword [esp + 8], ecx
lea eax, [edx + 1]
mov dword [esp], str._The_Guide___line__5d_of__5d_
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov edi, dword [esp + 0x68]
mov dword [esp + 0x10], str._s_r_R_d_D_f_a_A_S_c_:src_nx_pv_mark_rs_chpt_line
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x1a
call fcn.00408cb0
mov dword [esp + 0x10], 0x510a27
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0x4d
call fcn.00408cb0
mov dword [esp + 0x10], str.SPC_n_p_ENT_BCK_ESC
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 7
call fcn.00408cb0
mov dword [esp + 0x10], str._:Help
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
jmp 0x4306bd
mov dword [esp + 0x10], str.___Press_letter_to_jump_to_bookmark__SHIFTletter_to_delete_it__ESC_to_leave.
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0x17
mov dword [esp], 0
call fcn.00408cb0
call fcn.0040dac0
mov edx, eax
movsx eax, al
cmp dl, 0x1b
je case.0x431550.124
lea edx, [eax - 0x61]
cmp edx, 0x13
ja 0x431570
mov edx, dword [edx*4 + 0xd62ba0]
test edx, edx
je 0x43158a
lea eax, [edx + 1]
mov edi, dword [esp + 0x4c]
mov dword [0x54c658], edx
mov dword [0x54c654], eax
mov eax, dword [0xd786c4]
sub eax, edi
cmp edx, eax
jle 0x4325e8
mov dword [0x54c658], eax
mov edx, eax
mov byte [esp + 0x6c], 0
xor edi, edi
test edx, edx
jns 0x4309e5
mov dword [0x54c658], 0
jmp 0x4309e5
movzx eax, byte [esp + 0xbc]
xor ebx, ebx
mov dword [0x54c5f0], 0
mov byte [esp + 0x3c], al
test al, al
jne 0x43263e
cmp byte [esp + 0x6f], 0
jne 0x430b1b
mov ebx, dword [0x54c658]
mov dword [0x54c5f0], ebx
jmp 0x430b1b
mov dword [esp + 0x40], 0xffffffff
jmp 0x430b1b
add eax, 2
jmp 0x431876
movzx eax, byte [esp + 0x6e]
lea esi, [esp + 0x10c]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00405240
test eax, eax
je 0x43292f
mov eax, dword [esp + 0x54]
mov ebx, dword [0xd786c4]
cmp eax, 0xffffffff
je 0x4329e5
cmp dword [esp + 0x40], eax
je 0x432b77
cmp byte [esp + 0x4b], 0
je 0x4326ae
mov edi, dword [esp + 0x40]
mov eax, ebx
add dword [0x54c5f0], 2
sub eax, edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x15c]
mov dword [esp + 4], esi
add ebx, 1
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [esp + 0x40]
mov dword [esp + 8], ebx
mov dword [esp], str._The_Guide___line__5d_of__5d_
mov dword [0x54c658], eax
add eax, 1
mov dword [esp + 4], eax
mov byte [esp + 0x10c], 0
call fcn.00402550
mov dword [esp + 0xc], 0xe
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0x17
call fcn.00408cb0
mov byte [esp + 0x4a], 0
mov byte [esp + 0x4b], 0
mov byte [esp + 0x6f], 0
jmp 0x43117e
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00405240
lea edx, [ebx + 1]
cmp ebx, eax
je 0x432ae7
movzx ecx, byte [ebx]
mov ebx, ebp
lea eax, [edi + 1]
mov byte [edi], cl
test bl, bl
jne 0x432da1
mov edi, eax
mov ebx, edx
movzx eax, byte [ebx]
test al, al
jne 0x4311df
mov ebp, dword [esp + 0x5c]
jmp 0x43120f
cmp byte [esp + 0x4b], 0
je 0x43278b
mov eax, dword [0xd786c4]
sub eax, dword [0x54c658]
add eax, 1
mov dword [0x54c658], eax
mov byte [esp + 0x4b], 0
movzx eax, byte [esp + 0x4a]
jmp 0x4306c2
mov eax, dword [0xd786c4]
lea ecx, [ebp + 1]
add eax, 1
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], str._The_Guide___line__5d_of__5d___contents_listing_
call fcn.00402550
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0xe
call fcn.00408cb0
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0040e0f0
mov dword [esp + 0x64], 0
movsx eax, al
mov dword [esp + 0x60], eax
jmp 0x431546
mov eax, dword [esp + 0x40]
add eax, 2
jmp 0x4314ee
movzx eax, byte [edx + 1]
mov ecx, esi
cmp al, 0x47
je 0x432c01
test cl, cl
jne 0x432be7
mov byte [edi], 0xff
test al, al
jne 0x433687
mov ebp, dword [esp + 0x7c]
add edi, 1
jmp 0x43120f
mov dword [esp + 0x40], 0xffffffff
xor edi, edi
mov byte [esp + 0x6f], 1
jmp 0x4309e5
movzx ebx, byte [esp + 0x6e]
cmp bl, 1
ja 0x432bd6
mov edi, eax
mov eax, dword [esp + 0x70]
mov byte [esp + 0x10c], 0
mov byte [esp + 0x15c], 0
mov byte [0x54c600], 0
mov dword [0x54c658], eax
mov byte [esp + 0x4b], 0
mov byte [esp + 0x6f], 0
jmp 0x4309e5
mov byte [eax], 0x20
movzx edx, byte [eax + 1]
add eax, 1
test dl, dl
jne 0x431845
jmp 0x431859
add dword [esp + 0x74], 1
mov eax, dword [esp + 0x74]
mov ecx, edi
mov edi, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
mov esi, ebp
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x5c]
cmp eax, ecx
mov ecx, dword [esp + 0x8c]
jne 0x43147e
cmp byte [esp + 0x3c], 1
mov byte [ecx + 1], 0xff
lea edi, [ecx + 3]
sbb eax, eax
mov byte [esp + 0x3c], 0
xor esi, esi
and eax, 0x30
add eax, 0x47
mov byte [ecx + 2], al
jmp 0x43147e
mov byte [esp + 0x4a], 0
jmp 0x430ddd
imul esi, ebx, 0x3c
add edx, 1
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], 0x5116b4
add esi, 0xd626e0
mov dword [esp + 0xc], esi
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
mov dword [esp + 0x98], ebx
cmp ebx, 0x13
je 0x43299f
add ebx, 1
mov eax, dword [ebx*4 + 0xd62ba0]
mov dword [ebx*4 + 0xd62b9c], eax
mov eax, esi
add esi, 0x3c
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp + 0x98], ebx
cmp ebx, 0x13
jne 0x432971
mov dword [0xd62bec], 0
jmp case.0x431550.98
test dl, dl
jne 0x4329d2
mov byte [edi], 0xff
mov byte [esp + 0x58], 1
mov byte [edi + 1], al
add ebx, 2
add edi, 2
jmp 0x43275d
test al, al
je 0x432768
xor ebp, ebp
mov eax, ebp
add ebx, 2
mov ebp, 1
mov byte [esp + 0x58], al
jmp 0x43275d
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], eax
jmp 0x432694
mov eax, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1fc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x20], eax
call fcn.004056a0
mov edx, dword [esp + 0x84]
test al, al
je 0x431466
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], edx
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x84]
mov ecx, eax
movzx eax, byte [edx]
cmp ecx, dword [esp + 0x98]
jne 0x431469
cmp byte [esp + 0x8b], 0x5e
mov edx, 0x52ff
mov byte [edi + 2], al
lea ecx, [edi + 2]
mov word [edi], dx
sete byte [esp + 0x58]
add edi, 3
mov dword [esp + 0x84], 1
mov dword [esp + 0x74], 1
jmp 0x4328da
movzx eax, byte [ebx]
mov dword [esp + 0x7c], 1
mov ebp, 0x52ff
lea ecx, [edi + 2]
mov dword [esp + 0x74], 1
add edi, 3
mov word [edi - 3], bp
mov byte [edi - 1], al
mov dword [esp], esi
mov ebp, 1
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
cmp eax, edx
jne 0x43275d
cmp byte [esp + 0x58], 1
mov byte [ecx + 1], 0xff
lea edi, [ecx + 3]
sbb eax, eax
mov byte [esp + 0x58], 0
xor ebp, ebp
and eax, 0x30
add eax, 0x47
mov byte [ecx + 2], al
jmp 0x43275d
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x20
je 0x432b66
jmp 0x4318b7
movzx eax, byte [esp + 0x89]
sub eax, 2
cmp al, 1
ja 0x432694
mov eax, dword [esp + 0x40]
mov byte [esp + 0x4a], 0
mov byte [esp + 0x6f], 0
mov dword [0x54c658], eax
lea eax, [ebx + 1]
mov dword [esp + 0x54], eax
mov byte [esp + 0x6e], 0
jmp 0x430ddd
movzx eax, word [esp + edx + 0xba]
mov word [esp + edx + 0x15a], ax
jmp 0x431103
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x2d
je 0x432bc5
jmp 0x4318b7
sub ebx, 1
mov byte [esp + 0x6f], 0
mov byte [esp + 0x6e], bl
jmp 0x430ddd
test al, al
je 0x431485
xor esi, esi
mov eax, esi
add edx, 2
mov esi, ebp
mov byte [esp + 0x3c], al
jmp 0x43147e
test cl, cl
jne 0x432bf1
mov ecx, ebp
mov byte [edi], 0xff
mov byte [esp + 0x3c], cl
mov byte [edi + 1], al
add edx, 2
add edi, 2
jmp 0x43147e
mov eax, ebx
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x3d
je 0x432c1e
jmp 0x4318b7
lea ebx, [esp + 0x1ac]
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
cmp dword [esp + 0x60], 0x73
movsx eax, byte [esp + 0x1ac]
je 0x4337aa
mov esi, dword [sym.imp.msvcrt.dll_toupper]
test al, al
je 0x43300d
mov dword [esp], eax
add ebx, 1
call esi
mov byte [ebx - 1], al
movsx eax, byte [ebx]
test al, al
jne 0x432c5f
movzx edi, byte [esp + 0x1ac]
mov esi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea ebx, [esp + 0x10c]
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 4], esi
mov dword [esp + 0x10], str.Enter_search_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov eax, edi
movzx esi, byte [0xdfdfd8]
mov byte [0xdfdfd8], 1
test al, al
je 0x433076
lea eax, [esp + 0x1ac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x1ac], 0
movzx ebp, byte [esp + 0x10c]
mov eax, esi
mov byte [0xdfdfd8], al
mov eax, ebp
test al, al
jne 0x4330dd
mov byte [esp + 0x6d], 0
xor edi, edi
mov dword [esp + 0x60], 0x73
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
jmp 0x4309e5
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x1ac], 0
mov eax, dword [esp + 0x38]
mov byte [0xdfdfd8], bl
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [0xd786c4]
mov edi, dword [esp + 0x4c]
mov dword [0x54c654], eax
sub eax, 1
sub edx, edi
mov dword [0x54c658], eax
cmp eax, edx
jle 0x432d94
mov dword [0x54c658], edx
mov eax, edx
test eax, eax
jns case.0x431550.124
jmp 0x43171e
add dword [esp + 0x74], 1
mov ebx, dword [esp + 0x74]
mov ecx, edi
mov edi, eax
mov dword [esp + 0x7c], ebx
jmp 0x432b0c
mov edi, dword [esp + 0x4c]
mov eax, edx
sub eax, edi
test byte [0xdfdfd6], 1
je 0x43171a
shr edi, 1
mov eax, edx
sub eax, edi
jmp 0x43171a
lea eax, [esi + esi*8]
lea eax, [eax + eax*8 + 0xaad460]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x29f], 0
movzx edx, byte [esp + 0x29c]
mov eax, dword [0xd786c4]
lea ecx, [ebp + 1]
add eax, 1
test dl, dl
je 0x4327a5
mov edi, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edi
mov dword [esp], str._The_Guide___line__5d_of__5d___chapter__s_
call fcn.00402550
jmp 0x4327b9
mov byte [esp + 0xbc], 0
mov byte [esp + 0x6d], 0
xor edi, edi
mov dword [esp + 0x60], 0x63
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov dword [esp], eax
call fcn.0040f0c0
jmp 0x430882
cmp eax, edx
mov edx, 0x50ebe5
jl 0x4317fc
mov ecx, edx
jmp 0x431806
mov byte [esp + 0x6d], 0
xor edi, edi
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov dword [esp], eax
call fcn.0040f0c0
jmp 0x431a68
mov dword [esp + 0x98], 0
xor eax, eax
xor ecx, ecx
cmp dword [eax*4 + 0xd62ba0], edx
je 0x432f0c
mov edx, dword [eax*4 + 0xd62ba0]
test edx, edx
je 0x432f40
add eax, 1
mov dword [esp + 0x98], eax
cmp eax, 0x13
jg 0x432fd4
mov edx, dword [0x54c658]
cmp dword [eax*4 + 0xd62ba0], edx
jne 0x432edf
test ecx, ecx
jne 0x432edf
add edx, 1
add eax, 0x61
mov dword [esp], 0x511504
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
mov eax, dword [esp + 0x98]
mov ecx, 1
jmp 0x432edf
mov edi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea esi, [esp + 0x2ed]
mov dword [esp], 0
mov dword [esp + 4], edi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_description:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp], esi
movzx ebx, byte [0xdfdfd8]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3b
mov byte [0xdfdfd8], 1
mov byte [esp + 0x2ed], 0
call fcn.0040f0c0
cmp byte [esp + 0x2ed], 0
mov byte [0xdfdfd8], bl
jne 0x43371c
mov eax, dword [esp + 0x98]
cmp eax, 0x14
jne case.0x431550.124
mov dword [esp + 4], 0x14
xor edi, edi
mov dword [esp], 0x511588
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
mov byte [esp + 0x6c], 0
jmp 0x4309e5
mov byte [esp + 0x89], 0
mov esi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea ebx, [esp + 0x10c]
mov dword [esp], 0
mov dword [esp + 4], esi
call fcn.00409060
mov dword [esp + 4], esi
mov dword [esp + 0x10], str.Enter_search_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
movzx esi, byte [0xdfdfd8]
mov byte [0xdfdfd8], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f
mov dword [esp], ebx
call fcn.0040f0c0
jmp 0x432d07
mov esi, dword [0x54c658]
mov eax, dword [0xd786c4]
mov dword [esp + 4], 0x54c600
xor edi, edi
sub eax, esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x40], eax
add eax, 1
mov dword [0x54c658], eax
lea eax, [esp + 0x10c]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
mov byte [esp + 0x4b], 1
jmp 0x4309e5
mov eax, dword [0x54c658]
mov ecx, dword [0xd786c4]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov dword [0x54c650], eax
sub ecx, edi
add eax, 1
mov dword [0x54c658], eax
cmp eax, ecx
jle 0x43310b
mov dword [0x54c658], ecx
mov eax, ecx
test eax, eax
js 0x4336c7
sub eax, 1
mov dword [esp + 0x40], eax
mov eax, ebp
mov edx, dword [sym.imp.msvcrt.dll_isalpha]
mov byte [esp + 0x38], 0
lea edi, [esp + 0x10d]
mov byte [esp + 0x3c], al
mov esi, dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp + 0x44], ebx
mov ebx, edx
mov edx, ebp
cmp byte [esp + 0x38], 0
movsx ebp, dl
jne 0x433156
mov dword [esp], ebp
call ebx
test eax, eax
setne byte [esp + 0x38]
mov dword [esp], ebp
call esi
cmp eax, ebp
je 0x434686
mov byte [esp + 0x6e], 0
mov edx, ebx
movzx ebp, byte [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov eax, ebp
movsx eax, al
mov dword [esp], eax
call edx
test eax, eax
jne 0x4336de
lea eax, [ebp - 0x2f]
cmp al, 0xa
jbe 0x43321f
mov eax, ebp
cmp al, 0x2a
je 0x43321f
cmp al, 0x21
je 0x4331f2
cmp al, 0x40
je 0x4331f2
mov byte [esp + 0x6e], 0
movzx edi, byte [esp + 0x6e]
jmp 0x433236
mov dword [esp + 4], esi
xor edi, edi
mov dword [esp], 0x54c600
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6d], 0
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6c], 1
jmp 0x4309e5
lea eax, [esp + 0x9c]
mov dword [esp], eax
call sub.libgnurx_0.dll_regfree
jmp 0x432292
cmp byte [esp + 0x10e], 0
jne 0x4331a2
mov eax, ebp
cmp al, 0x21
je 0x433206
cmp al, 0x40
jne 0x43321f
movsx edi, byte [esp + 0x10d]
mov dword [esp], edi
call esi
cmp edi, eax
sete al
add eax, 1
mov byte [esp + 0x6e], al
movzx esi, byte [esp + 0x6e]
xor eax, eax
cmp byte [esp + 0x38], 0
cmove esi, eax
mov eax, esi
mov edi, esi
mov byte [esp + 0x6e], al
cmp byte [esp + 0x8a], 0
mov eax, 2
mov dword [esp + 4], 0x511458
cmovne edi, eax
mov dword [esp], ebx
mov eax, edi
mov byte [esp + 0x6e], al
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x433867
mov dword [esp + 4], ebx
xor edi, edi
mov dword [esp], 0x54c600
call sub.msvcrt.dll_strcpy
mov byte [esp + 0x6d], 0
mov byte [esp + 0x8a], 0
mov dword [esp + 0x60], 0x73
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51143e
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4308fa
movzx edx, byte [esp + 0x33f]
cmp bl, 0x28
lea eax, [esp + 0x33f]
cmovne eax, dword [esp + 0x38]
mov byte [esp + 0x346], 0
cmovne edx, ebx
mov byte [esp + 0xc3], 0
mov dword [esp + 0xbf], 0
mov byte [esp + 0xbd], dl
movzx edx, byte [eax + 1]
mov byte [esp + 0xbc], 0x28
mov byte [esp + 0xbe], dl
cmp dl, 0x29
je 0x433365
test dl, dl
je 0x4347d4
movzx ecx, word [eax + 2]
movsx edx, ch
mov word [esp + 0xbf], cx
cmp dl, 0x29
je 0x433365
test dl, dl
je 0x4347ee
movzx edx, byte [eax + 4]
mov byte [esp + 0xc1], dl
cmp dl, 0x29
je 0x433365
test dl, dl
je 0x4347e1
movzx eax, byte [eax + 5]
mov byte [esp + 0xc2], al
cmp al, 0x29
je 0x433365
test al, al
jne 0x432e35
mov byte [esp + 0xc2], 0x29
mov byte [esp + 0x6d], 0
xor edi, edi
mov dword [esp + 0x60], 0x63
mov byte [esp + 0x6c], 1
mov byte [esp + 0x4a], 0
jmp 0x4309e5
cmp al, 0x2d
jne 0x430514
mov eax, dword [esp + 0x50]
cmp byte [eax + 2], 0
jne 0x430514
mov dword [eax], 0x444e4957
mov dword [eax + 4], 0x2053574f
mov dword [eax + 8], 0x4d4d4f43
mov dword [eax + 0xc], 0x2d444e41
mov dword [eax + 0x10], 0x454e494c
mov dword [eax + 0x14], 0x54504f20
mov dword [eax + 0x18], 0x534e4f49
mov byte [eax + 0x1c], 0
mov byte [esp + 0x8a], 1
mov eax, dword [esp + 0x50]
lea ebx, [esp + 0x1ac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
movsx eax, byte [esp + 0x1ac]
test al, al
je 0x433410
mov esi, dword [sym.imp.msvcrt.dll_toupper]
mov dword [esp], eax
add ebx, 1
call esi
mov byte [ebx - 1], al
movsx eax, byte [ebx]
test al, al
jne 0x4333fe
mov byte [esp + 0x6e], 0
mov byte [esp + 0x89], 2
mov dword [esp + 0x64], 0x73
jmp 0x430556
mov eax, dword [esp + 0x50]
movsx edx, byte [eax]
lea eax, [edx - 0x61]
cmp al, 0x13
ja 0x43036c
lea eax, [edx - 0x61]
mov dword [esp + 0x98], eax
mov eax, dword [eax*4 + 0xd62ba0]
test eax, eax
je 0x434757
mov edi, dword [esp + 0x4c]
add eax, 1
mov byte [esp + 0x89], 4
mov dword [0x54c654], eax
sub esi, edi
cmp esi, eax
cmovle eax, esi
mov ebx, eax
xor eax, eax
test ebx, ebx
cmovs ebx, eax
jmp 0x4304da
mov edi, dword [esp + 0x50]
test edi, edi
jne 0x43036c
cmp al, 3
je 0x430522
jmp 0x430e4a
call fcn.0040eb50
jmp case.0x431550.124
mov edi, dword [esp + 0x50]
mov dword [edi], 0x424f5250
mov dword [edi + 4], 0x204d454c
mov byte [edi + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0x50e36a
call fcn.00402550
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcat
mov byte [esp + 0x89], 2
jmp 0x43042d
xor eax, eax
lea edi, [esp + 0x29c]
mov ecx, 0x14
mov byte [esp + 0xbc], 0
mov dword [esp + 0x3c], edi
mov ebp, dword [sym.imp.msvcrt.dll__strnicmp]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 4
mov dword [esp + 4], str.prob
mov dword [esp], eax
call ebp
test eax, eax
je 0x4346b0
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x5103e0
mov dword [esp], eax
call ebp
test eax, eax
je 0x4346b0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.about
mov ebx, dword [sym.imp.msvcrt.dll__stricmp]
mov dword [esp], eax
call ebx
test eax, eax
je 0x4347fb
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b04
mov dword [esp], eax
call ebx
test eax, eax
jne 0x434829
mov dword [esp + 0x33e], 0x6f6d7261
mov eax, 0x3a
mov dword [esp + 0x342], 0x63207275
mov dword [esp + 0x346], 0x7373616c
mov word [esp + 0x34a], ax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b0c
mov dword [esp], eax
call ebx
test eax, eax
je 0x433876
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b0f
mov dword [esp], eax
call ebx
test eax, eax
je 0x434660
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b12
mov dword [esp], eax
call ebx
test eax, eax
je 0x433626
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.bags
mov dword [esp], esi
call ebx
test eax, eax
je 0x433626
mov dword [esp + 4], str.container
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x4338a7
mov dword [esp + 0x33e], 0x69627553
mov eax, 0x3a
mov dword [esp + 0x342], 0x6e65766e
mov dword [esp + 0x346], 0x79726f74
mov word [esp + 0x34a], ax
mov byte [esp + 0x88], 4
mov byte [esp + 0x6c], 1
mov eax, 1
mov byte [esp + 0x6d], 0
xor edi, edi
mov dword [esp + 0x60], 0x63
mov byte [esp + 0x4a], 0
test al, al
je 0x4309e5
jmp 0x430967
mov byte [esp + 0x3c], 0
jmp 0x432c0e
mov dword [esp + 4], eax
xor edi, edi
mov dword [esp], 0x511474
call fcn.00414150
mov byte [esp + 0x10c], 0
mov byte [esp + 0x6c], 0
mov byte [esp + 0x4a], 0
jmp 0x4309e5
mov dword [esp], esi
call sub.libgnurx_0.dll_regfree
jmp 0x4323dc
mov dword [0x54c658], 0
mov dword [esp + 0x40], 0xffffffff
jmp 0x43311a
mov eax, ebp
cmp al, 0x21
je 0x4336ec
cmp al, 0x40
jne 0x43321f
cmp byte [esp + 0x10e], 0
jne 0x43321f
jmp 0x433206
lea edx, [esp + 0x5d0]
mov edi, edx
jmp 0x4318c2
mov edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, eax
mov eax, esi
jmp 0x43189a
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], esi
imul eax, ebx, 0x3c
add eax, 0xd626e0
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [0x54c658]
mov dword [esp + 0xc], esi
mov dword [esp], 0x511558
mov dword [ebx*4 + 0xd62ba0], eax
add eax, 1
add ebx, 1
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
jmp 0x432fcd
lea eax, [esp + 0x9c]
mov dword [esp], eax
call sub.libgnurx_0.dll_regfree
jmp 0x431aa9
mov byte [esp + 0x58], 0
jmp 0x4329ba
mov dword [0x54c658], 0
mov dword [esp + 0x40], 0xffffffff
jmp 0x43243c
mov eax, edx
jmp 0x4316e3
test al, al
je 0x433005
mov esi, dword [sym.imp.msvcrt.dll_tolower]
mov dword [esp], eax
add ebx, 1
call esi
mov byte [ebx - 1], al
movsx eax, byte [ebx]
test al, al
jne 0x4337b8
mov byte [esp + 0x89], 0
jmp case.0x431550.115
lea ebx, [esp + 0x1ac]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
movzx edi, byte [esp + 0x1ac]
mov eax, edi
test al, al
je 0x434862
mov esi, dword [sym.imp.msvcrt.dll_tolower]
movsx eax, al
add ebx, 1
mov dword [esp], eax
call esi
mov byte [ebx - 1], al
movzx eax, byte [ebx]
test al, al
jne 0x433802
cmp dword [esp + 0x60], 0x63
movzx edi, byte [esp + 0x1ac]
jne 0x4307f0
mov byte [esp + 0x89], 0
jmp 0x432c79
mov dword [esp], 0x510328
call fcn.00414150
jmp 0x430f1d
mov dword [0x54c658], 0
mov dword [esp + 0x40], 0xffffffff
jmp 0x4309bb
mov dword [ebx], 0x20494f47
mov byte [ebx + 4], 0
jmp 0x433264
mov dword [esp + 0x346], 0x616c6320
mov dword [esp + 0x33e], 0x61657274
mov dword [esp + 0x342], 0x65727573
mov dword [esp + 0x349], 0x737361
jmp 0x4335cb
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.subinv
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433626
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b2c
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433626
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.sub_inv
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433626
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b3c
mov dword [esp], eax
call ebx
test eax, eax
je 0x4350f1
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433944
mov dword [esp + 4], str._auto
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x435106
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.weap
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x434c4b
mov dword [esp + 4], str.clas
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x434c4b
mov edi, dword [esp + 0x38]
mov esi, str.weapon_types
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
mov dword [esp], str.obtaining
mov dword [esp + 4], esi
call fcn.00405160
test eax, eax
je 0x4339ad
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp eax, 2
ja 0x4339c5
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.chemic
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4339da
mov esi, str.OBTAINING_CHEMICALS_INGREDIENTS
mov ecx, 8
mov edi, dword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp], str.charges
mov dword [esp + 4], eax
call fcn.00405160
test eax, eax
je 0x433a07
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, 4
ja 0x4350c0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.reci
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433a3b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.preci
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4350dc
mov esi, dword [esp + 0x38]
mov dword [esp + 4], 0x510bc9
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433a7b
mov dword [esp + 4], 0x5104d2
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433b75
mov edi, dword [esp + 0x38]
mov esi, str.Experience_Points_Table
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.demo
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433ab3
mov dword [esp + 4], str.char
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433ab3
mov esi, str.Demolition_Charges
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
mov dword [esp + 8], 5
mov dword [esp + 4], str.demol
mov dword [esp], esi
call ebp
test eax, eax
jne 0x433ae8
mov dword [esp + 4], str.char
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433bb2
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.load
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433e28
mov dword [esp + 4], str.trap
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433e0c
mov edi, dword [esp + 0x38]
mov esi, str.Trap_kit_load
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.race
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433cac
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.bonus
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433bce
mov edi, dword [esp + 0x38]
mov esi, str.Race________STR
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x43365c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.tabl
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433a6b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51048a
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433a6b
jmp 0x433a7b
xor eax, eax
mov edi, dword [esp + 0x38]
mov esi, str.DEMOLITIONIST
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
mov dword [0x54c658], eax
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.boni
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b60
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.malus
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b60
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.mali
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b60
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51048a
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b60
mov edi, dword [esp + 0x38]
mov dword [esp], 0x5104d2
mov dword [esp + 4], edi
call fcn.00405160
test eax, eax
je 0x433c67
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp eax, 2
ja 0x433b60
mov esi, dword [esp + 0x38]
mov dword [esp + 4], 0x5104d8
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433d31
mov dword [esp + 4], str.bonus
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433ccd
mov edi, dword [esp + 0x38]
mov esi, str.Class_________STR
mov ecx, 0x12
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.racial
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b48
jmp 0x433c3e
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.boni
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433c97
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.malus
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433c97
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.mali
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433c97
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51048a
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433c97
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510c4f
mov dword [esp], eax
call ebx
test eax, eax
je 0x4351ab
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510c68
mov dword [esp], eax
call ebx
test eax, eax
je 0x4350b1
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510c80
mov dword [esp], eax
call ebx
test eax, eax
je 0x435133
mov eax, dword [esp + 0x38]
mov dword [esp], str.slaying
mov dword [esp + 4], eax
call ebx
test eax, eax
je 0x434643
mov eax, dword [esp + 0x38]
mov dword [esp], str.nothing
mov dword [esp + 4], eax
call ebx
test eax, eax
je 0x43444e
mov eax, dword [esp + 0x38]
mov dword [esp], str.morgul
mov dword [esp + 4], eax
call ebx
test eax, eax
je 0x433f13
mov edi, dword [esp + 0x38]
mov dword [esp], 0x510ce6
mov dword [esp + 4], edi
call fcn.00405160
test eax, eax
je 0x433f28
mov dword [esp + 4], 0x510cea
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433ee6
mov esi, str.MAGIC_AMMUNITION
mov ecx, 0x11
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510c2d
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433b1c
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.trap
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433e99
mov dword [esp + 4], 0x510c2d
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433e6c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b12
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433e84
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510728
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433e99
mov edi, dword [esp + 0x38]
mov esi, str.ABOUT_TRAP_KITS:
mov ecx, 0x11
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.trap
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434494
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510b12
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433b2c
mov edi, dword [esp + 0x38]
mov esi, str.Trap_Kit_Bag
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x510cff
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434463
mov esi, str.SILVER_AMMUNITION
mov ecx, 0x12
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov edi, dword [esp + 0x38]
mov esi, str.WEAPONS_OF_MORGUL
mov ecx, 0x12
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov esi, dword [esp + 0x38]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x510d2d
mov dword [esp], esi
call ebp
test eax, eax
jne 0x433f5d
mov dword [esp + 4], esi
mov dword [esp], str.Enlightened:
call fcn.00405160
test eax, eax
jne 0x4344b5
mov edi, dword [esp + 0x38]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x510d4b
mov dword [esp], edi
call ebp
test eax, eax
jne 0x433f92
mov dword [esp + 4], edi
mov dword [esp], str.Corrupted:
call fcn.00405160
test eax, eax
jne 0x4344d2
mov esi, dword [esp + 0x38]
mov dword [esp + 8], 4
mov dword [esp + 4], str.trai
mov dword [esp], esi
call ebp
test eax, eax
jne 0x433fc7
mov dword [esp + 4], esi
mov dword [esp], str.traits:
call fcn.00405160
test eax, eax
jne 0x4344ef
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.cloak
mov dword [esp], eax
call ebx
test eax, eax
je 0x43434e
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.cloaking
mov dword [esp], edi
call ebx
test eax, eax
je 0x43434e
mov dword [esp + 4], str.black
mov dword [esp], edi
call fcn.00405160
cmp edi, eax
je 0x43432d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510dae
mov dword [esp], eax
call ebx
test eax, eax
jne 0x43403c
mov dword [esp + 0x33e], 0x677a616e
mov dword [esp + 0x341], 0x6c7567
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x510db6
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434074
mov dword [esp + 4], 0x510dba
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434074
mov esi, str.Artifact_creation
mov ecx, 0x12
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.stats
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4343b2
mov edi, dword [esp + 0x38]
mov esi, str.Attributes
mov ecx, 0xb
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510de6
mov dword [esp], eax
call ebx
test eax, eax
je 0x43439d
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.strength
mov dword [esp], edi
call ebx
test eax, eax
je 0x43439d
mov dword [esp + 4], 0x510df3
mov dword [esp], edi
call ebx
test eax, eax
je 0x434388
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.intelligence
mov dword [esp], esi
call ebx
test eax, eax
je 0x434388
mov dword [esp + 4], 0x510e04
mov dword [esp], esi
call ebx
test eax, eax
je 0x434373
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.wisdom
mov dword [esp], edi
call ebx
test eax, eax
je 0x434373
mov dword [esp + 4], 0x510e0f
mov dword [esp], edi
call ebx
test eax, eax
je 0x4343e5
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.dexterity
mov dword [esp], esi
call ebx
test eax, eax
je 0x4343e5
mov dword [esp + 4], 0x510e1d
mov dword [esp], esi
call ebx
test eax, eax
je 0x4343d0
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.constitution
mov dword [esp], edi
call ebx
test eax, eax
je 0x4343d0
mov dword [esp + 4], 0x510e2e
mov dword [esp], edi
call ebx
test eax, eax
je 0x4343fa
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.charisma
mov dword [esp], edi
call ebx
test eax, eax
je 0x4343fa
mov dword [esp + 4], 0x510e3b
mov dword [esp], edi
call fcn.00405160
cmp edi, eax
jne 0x4341d9
mov edi, dword [esp + 0x38]
mov esi, str.Abilities
mov ecx, 0xa
rep movsb byte es:[edi], byte [esi]
movzx eax, byte [esp + 0x33e]
and eax, 0xffffffdf
cmp al, 0x50
jne 0x4341fb
movzx eax, byte [esp + 0x33f]
sub eax, 0x30
cmp al, 9
jbe 0x43440f
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.inst
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43422b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.install
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43425b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434270
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510e6b
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434270
mov edi, dword [esp + 0x38]
mov esi, str.Temple
mov ecx, 9
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.Bree
mov dword [esp], eax
call ebx
test eax, eax
je 0x43429d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.Barrow
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4342bf
mov dword [esp + 0xbc], 0x65657242
mov dword [esp + 0xbf], 0x202065
mov byte [esp + 0x6c], 1
xor eax, eax
jmp 0x433666
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.strain
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43456f
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510e82
mov dword [esp], eax
call ebx
test eax, eax
je 0x43429d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.Gond
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43450c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.brea
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434026
jmp 0x434011
xor ebx, ebx
mov edi, dword [esp + 0x38]
mov esi, str.cloaking_mode
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [0x54c658], ebx
mov byte [esp + 0x88], 0
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.Wisdom__WIS_
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.Intelligence__INT_
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.Strength__STR_
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.stat
mov dword [esp], eax
call ebx
test eax, eax
je 0x43408d
jmp 0x43409d
mov edi, dword [esp + 0x38]
mov esi, str.Constitution__CON_
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.Dexterity__DEX_
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.Charisma__CHR_
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x43365c
lea eax, [esp + 0x33f]
lea ebx, [esp + 0x24c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 4], str.PROBLEM__d:
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00427940
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
jmp 0x43365c
mov edi, dword [esp + 0x38]
mov esi, str.WEAPONS_OF_NOTHINGNESS
mov ecx, 0x17
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510d15
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x433f28
mov edi, dword [esp + 0x38]
mov esi, str.ETHEREAL_AMMUNITION
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jmp 0x433654
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510c2d
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433eb5
jmp 0x433b2c
xor ebp, ebp
mov edi, dword [esp + 0x38]
mov esi, str.ENLIGHTENED:
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
mov dword [0x54c658], ebp
jmp 0x433654
mov edi, dword [esp + 0x38]
mov esi, str.CORRUPTED:
mov ecx, 0xb
rep movsb byte es:[edi], byte [esi]
xor edi, edi
mov dword [0x54c658], edi
jmp 0x433654
mov edi, dword [esp + 0x38]
mov esi, str.Table_of_their_traits:
mov ecx, 0x17
rep movsb byte es:[edi], byte [esi]
xor esi, esi
mov dword [0x54c658], esi
jmp 0x433654
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.Train
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x4342db
mov dword [esp + 4], 0x510e8b
mov dword [esp], esi
call fcn.00405160
test eax, eax
jne 0x43429d
jmp 0x4342db
mov edi, dword [esp + 0x38]
mov esi, str.WEAPONS_OF_SLAYING
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov dword [esp + 0x342], 0x67616d2d
mov dword [esp + 0x33e], 0x69746e61
mov dword [esp + 0x345], 0x636967
jmp 0x4335e4
movzx edx, byte [edi]
add edi, 1
test dl, dl
jne 0x433140
mov edx, ebx
movzx ebp, byte [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov byte [esp + 0x6e], 4
jmp 0x433173
mov eax, dword [esp + 0x38]
lea ebx, [esp + 0x24c]
mov dword [esp], ebx
mov edi, ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [esp + 0x24c]
test al, al
jne 0x4346eb
jmp 0x4346f5
movzx eax, byte [edi + 1]
add edi, 1
test al, al
je 0x4346f5
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
jbe 0x4346e0
mov dword [esp], edi
call sub.msvcrt.dll_atoi
mov byte [edi], 0
mov dword [esp + 4], ebx
mov esi, eax
mov dword [esp], str.problem
call fcn.00405160
test eax, eax
je 0x4347b7
test esi, esi
jne 0x434774
mov dword [esp + 0x33e], 0x756f7254
mov dword [esp + 0x342], 0x73656c62
mov dword [esp + 0x346], 0x746f6f68
mov dword [esp + 0x34a], 0x676e69
mov byte [esp + 0x24c], 0
jmp 0x43354c
mov dword [esp + 4], edx
mov dword [esp], 0x5103bc
call fcn.00402550
mov dword [esp], eax
call fcn.00412f10
jmp 0x431aa9
mov dword [esp + 4], esi
mov dword [esp], 0x50e36a
mov dword [esp + 0x33e], 0x424f5250
mov dword [esp + 0x342], 0x204d454c
mov byte [esp + 0x346], 0
call fcn.00402550
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sub.msvcrt.dll_strcat
jmp 0x433654
mov dword [esp + 4], ebx
mov dword [esp], str.prblem
call fcn.00405160
test eax, eax
jne 0x43471a
jmp 0x43474a
mov byte [esp + 0xbe], 0x29
jmp 0x433365
mov byte [esp + 0xc1], 0x29
jmp 0x433365
mov byte [esp + 0xc0], 0x29
jmp 0x433365
mov dword [esp + 0x33e], 0x72746e69
mov dword [esp + 0x342], 0x6375646f
mov dword [esp + 0x346], 0x6e6f6974
mov byte [esp + 0x34a], 0
jmp 0x43356b
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.armo
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x4335b2
mov dword [esp + 4], str.clas
mov dword [esp], esi
call fcn.00405160
test eax, eax
jne 0x433584
jmp 0x4335b2
cmp dword [esp + 0x60], 0x63
jne 0x4307f0
mov edi, dword [esp + 0x68]
mov dword [esp + 8], 0x50
lea ebx, [esp + 0x10c]
mov dword [esp], 0
mov dword [esp + 4], edi
call fcn.00409060
mov dword [esp + 0x10], str.Enter_search_string:
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], 0
call fcn.00408cb0
mov dword [esp + 4], 0x54c5a0
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
movzx esi, byte [0xdfdfd8]
mov byte [esp + 0x89], 0
mov byte [0xdfdfd8], 1
jmp 0x433076
mov edi, ebp
jmp 0x43120f
mov eax, dword [esp + 0x38]
mov dword [esp], str.prblem
mov dword [esp + 4], eax
call fcn.00405160
test eax, eax
jne 0x4303fe
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.config
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x430e94
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510408
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x430e94
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51040c
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x430e94
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.undo
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434a90
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.skil
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4349b5
mov eax, dword [esp + 0x50]
mov dword [eax], 0x444e552f
mov dword [eax + 4], 0x494b534f
mov dword [eax + 8], 0x534c4c
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.spec
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp], str.undo
mov esi, dword [sym.imp.msvcrt.dll__stricmp]
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp], str.reset
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.respec
mov dword [esp], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.respecc
mov dword [esp], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.reskill
mov dword [esp], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.reskil
mov dword [esp], eax
call esi
test eax, eax
je 0x434998
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510443
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434ab1
mov eax, dword [esp + 0x50]
mov dword [eax], 0x656d6974
mov dword [eax + 4], 0x74756f
jmp 0x430425
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.reset
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434980
jmp 0x4349cd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.time_out
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434a75
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.delet
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434b9c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.char
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434a75
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510464
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434a75
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.form
mov dword [esp], eax
call esi
test eax, eax
jne 0x434b85
mov eax, dword [0x503558]
cmp byte [eax + 0x1a4], 9
je 0x434b70
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.form
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434bbd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.druid
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434bbd
mov edi, dword [esp + 0x50]
mov esi, str.Druid_forms
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
jmp 0x430425
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.forms
mov dword [esp], eax
call esi
test eax, eax
je 0x434b32
jmp 0x434b40
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.eras
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434ae5
jmp 0x434b1d
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.race
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434c0a
mov dword [esp + 4], 0x51048a
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434c0a
mov edi, dword [esp + 0x50]
mov esi, str.Race________STR
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4334db
mov byte [esp + 0x6e], 0
jmp 0x430478
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.clas
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434c84
mov dword [esp + 4], 0x51048a
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434c84
mov edi, dword [esp + 0x50]
mov esi, str.Class_________STR
mov ecx, 0x12
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov esi, dword [esp + 0x38]
mov dword [esp + 4], str.weap
mov dword [esp], esi
call fcn.00405160
test eax, eax
je 0x433988
mov dword [esp + 4], 0x510b71
mov dword [esp], esi
call fcn.00405160
test eax, eax
jne 0x433978
jmp 0x433988
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.race
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x434ec9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.bonus
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434be9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.boni
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434be9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.malus
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434be9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.mali
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434be9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51048a
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434be9
cmp byte [esp + 0x89], 3
je 0x434e97
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x5104d8
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434dde
mov dword [esp + 4], str.bonus
mov dword [esp], edi
call fcn.00405160
test eax, eax
jne 0x434c36
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.boni
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434c36
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.malus
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434c36
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.mali
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434c36
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51048a
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434c36
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5104de
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x434fbb
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5104f1
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x434fa6
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510508
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x434fd0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510519
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x434f91
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51052d
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x434f2b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510544
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x434eea
mov edi, dword [esp + 0x50]
mov esi, str.Charisma__CHR_
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov edi, dword [esp + 0x38]
mov dword [esp], 0x5104d2
mov dword [esp + 4], edi
call fcn.00405160
test eax, eax
je 0x434d3a
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp eax, 2
jbe 0x434d3a
jmp 0x434be9
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.racial
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x434ca0
jmp 0x434d2c
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434f40
mov dword [esp + 4], str.reincar
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x434f40
mov edi, dword [esp + 0x50]
mov esi, str.reincarnation
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.Constitution__CON_
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510572
mov dword [esp], eax
call esi
test eax, eax
je 0x43506d
cmp byte [esp + 0x89], 3
je 0x43503e
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.team
mov dword [esp], eax
call esi
test eax, eax
jne 0x434fe5
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6d616574
mov word [eax + 4], 0x73
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.Dexterity__DEX_
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x4334db
mov edi, dword [esp + 0x50]
mov esi, str.Intelligence__INT_
mov ecx, 0x13
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov edi, dword [esp + 0x50]
mov esi, str.Strength__STR_
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov edi, dword [esp + 0x50]
mov esi, str.Wisdom__WIS_
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.iron_team
mov dword [esp], eax
call esi
test eax, eax
je 0x434f7c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.ironteam
mov dword [esp], eax
call esi
test eax, eax
je 0x434f7c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5103fb
mov dword [esp], eax
call esi
test eax, eax
jne 0x435082
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6c697567
mov dword [eax + 3], 0x73646c
jmp 0x43042d
mov eax, dword [esp + 0x50]
mov dword [esp], str.color
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x434f67
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6f6c6f63
mov dword [eax + 3], 0x72756f
jmp 0x430425
mov edi, dword [esp + 0x50]
mov esi, str.Go_challenge
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105a0
mov dword [esp], eax
call esi
test eax, eax
jne 0x4351c0
mov eax, dword [esp + 0x50]
mov dword [eax], 0x74726170
mov dword [eax + 4], 0x736569
jmp 0x43042d
mov esi, str.RESTORE_LIFE_LEVELS
mov ecx, 5
jmp 0x4339cf
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510bb4
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x433a07
mov edi, dword [esp + 0x38]
mov esi, str.CHARGE_TYPE
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
jmp 0x433654
mov edi, dword [esp + 0x38]
mov esi, str.updating
mov ecx, 9
rep movsb byte es:[edi], byte [esi]
jmp 0x433914
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x510b52
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x433944
mov esi, str.auto_ret
mov ecx, 9
rep movsb byte es:[edi], byte [esi]
jmp 0x433944
mov esi, str.WORD_OF_RECALL
mov ecx, 0xf
mov edi, dword [esp + 0x38]
rep movsb byte es:[edi], byte [esi]
jmp 0x433654
mov edi, dword [esp + 0x38]
mov esi, str.Protection_from_evil
mov ecx, 0x15
rep movsb byte es:[edi], byte [esi]
jmp 0x433d4a
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.magical
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435233
mov dword [esp + 4], 0x5105ae
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435233
mov edi, dword [esp + 0x50]
mov esi, str.magic_devices
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105c0
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4352bc
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105c4
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4352d8
mov eax, dword [esp + 0x50]
mov dword [eax], 0x64207068
mov dword [eax + 3], 0x656964
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.dice
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x43524b
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105cc
mov dword [esp], eax
call esi
test eax, eax
jne 0x43537d
mov edi, dword [esp + 0x50]
mov esi, str.Death__Ghosts
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.dead
mov dword [esp], eax
call esi
test eax, eax
je 0x4352f1
mov eax, dword [esp + 0x38]
mov dword [esp], str.rescue
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435407
mov edi, dword [esp + 0x50]
mov esi, str.Getting_Help
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.mirror
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435431
mov eax, dword [esp + 0x38]
mov dword [esp], str.change_fate
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x4354a1
mov edi, dword [esp + 0x50]
mov esi, str.The_Mirror
mov ecx, 0xb
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.shop
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435529
mov dword [esp + 4], str.serv
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435529
mov edi, dword [esp + 0x50]
mov esi, str.services
mov ecx, 9
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.stor
mov dword [esp], eax
call esi
test eax, eax
jne 0x43559a
mov eax, dword [esp + 0x50]
mov dword [eax], 0x706f6853
mov word [eax + 4], 0x73
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.store
mov dword [esp], eax
call esi
test eax, eax
je 0x43553e
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.stores
mov dword [esp], eax
call esi
test eax, eax
je 0x43553e
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.shop
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4356a5
mov dword [esp + 4], str.player
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4356a5
mov edi, dword [esp + 0x50]
mov esi, str.Player_stores
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.store
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4356d5
mov dword [esp + 4], str.player
mov dword [esp], edi
call fcn.00405160
test eax, eax
jne 0x4355fc
mov eax, dword [esp + 0x38]
mov dword [esp], 0x510651
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435747
mov eax, dword [esp + 0x50]
mov dword [eax], 0x677a614e
mov dword [eax + 3], 0x6c7567
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510654
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.winning
mov dword [esp], eax
call esi
test eax, eax
jne 0x4357ba
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6c616f67
mov byte [eax + 4], 0
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.winner
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.winners
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.king
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.queen
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.emperor
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.empress
mov dword [esp], eax
call esi
test eax, eax
je 0x435771
mov eax, dword [esp + 0x38]
mov dword [esp], 0x51068a
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x4358f3
mov eax, dword [esp + 0x50]
mov dword [eax], 0x20444f4f
mov word [eax + 4], 0x20
jmp 0x43042d
mov ebp, dword [esp + 0x38]
mov dword [esp + 4], str.town
mov dword [esp], ebp
call fcn.00405160
mov edi, eax
test eax, eax
je 0x435929
mov dword [esp + 4], 0x510693
mov dword [esp], ebp
call fcn.00405160
cmp edi, eax
jae 0x435929
test eax, eax
jne 0x4359ca
mov ebp, dword [esp + 0x38]
mov dword [esp + 4], str.town
mov dword [esp], ebp
call fcn.00405160
mov edi, eax
test eax, eax
je 0x43595f
mov dword [esp + 4], 0x510693
mov dword [esp], ebp
call fcn.00405160
cmp eax, edi
jae 0x43595f
test eax, eax
jne 0x4359df
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x510693
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435a39
mov dword [esp + 4], str.list
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435a39
mov eax, dword [esp + 0x50]
mov dword [eax], 0x676e7544
mov dword [eax + 4], 0x6e6f65
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.town_dungeons
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x50]
mov dword [eax], 0x43444449
mov byte [eax + 4], 0
jmp 0x43042d
mov edi, dword [esp + 0x38]
mov dword [esp + 4], 0x5105cc
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435b12
mov dword [esp + 4], 0x5106aa
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x435b12
mov edi, dword [esp + 0x50]
mov esi, str.death_messages
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.speed
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435ba4
mov eax, dword [esp + 0x50]
mov dword [eax], 0x656d6974
mov byte [eax + 4], 0
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.city
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435c4b
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6e776f74
mov byte [eax + 4], 0
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.cities
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435d05
mov eax, dword [esp + 0x50]
mov dword [eax], 0x6e776f74
mov word [eax + 4], 0x73
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], 0x5106cf
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435d92
mov edi, dword [esp + 0x50]
mov esi, str.dual_wield
mov ecx, 0xb
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], 0x5106e5
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435d1a
mov eax, dword [esp + 0x38]
mov dword [esp], str.dual_wielding
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435d1a
mov eax, dword [esp + 0x38]
mov dword [esp], 0x510701
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435e35
mov edi, dword [esp + 0x50]
mov esi, 0x51070d
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.spell_pow
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435dd9
mov eax, dword [esp + 0x38]
mov dword [esp], str.crit
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x435f9f
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510728
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x435f8a
mov edi, dword [esp + 0x50]
mov esi, str.Critical_hits_by_monsters
mov ecx, 0x1a
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.critical_strike
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.crits
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435e63
mov eax, dword [esp + 0x38]
mov dword [esp], str.critical
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x435e63
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.crit
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436039
mov dword [esp + 4], 0x51073b
mov dword [esp], edi
call fcn.00405160
test eax, eax
jne 0x435e63
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.strike
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x435e63
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510728
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x435e63
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.tech
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436116
mov dword [esp + 4], 0x510775
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4360e5
mov edi, dword [esp + 0x50]
mov esi, str.Technique_levels
mov ecx, 0x11
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.fight
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4364c5
mov edi, dword [esp + 0x50]
mov esi, str.Fighting_techniques
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp], str.encumbrance
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x43652c
mov edi, dword [esp + 0x50]
mov esi, str.encumberment
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.melee
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x436101
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.shoot
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43676c
mov edi, dword [esp + 0x50]
mov esi, str.Shooting_techniques
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jmp 0x4334db
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436570
mov dword [esp + 4], 0x510834
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436570
mov dword [esp + 4], str.auto_des
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436888
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4365b4
mov dword [esp + 4], str.pick
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4365b4
mov dword [esp + 4], 0x510851
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x436635
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.auto
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4365f4
mov dword [esp + 4], 0x510865
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4365f4
mov dword [esp + 4], str.auto_ins
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x43664a
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.forc
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x43665f
mov dword [esp + 4], str.stack
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x43665f
mov edi, dword [esp + 0x50]
mov esi, str.force_stack
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.auto_pick
mov ecx, 0xa
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.auto_inscri
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], 0x510895
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x4367d1
mov edi, dword [esp + 0x50]
mov esi, str.Command_keys
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.range
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4364fd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.firing
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4364fd
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.rogue
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x436814
mov edi, dword [esp + 0x50]
mov esi, str.Rogue_specific_fighting_techniques
mov ecx, 0x23
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp], str.keys
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x436678
mov eax, dword [esp + 0x38]
mov dword [esp], str.command
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x436845
mov edi, dword [esp + 0x50]
mov esi, str.Slash_commands
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.other
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.Other_fighting_techniques
mov ecx, 0x1a
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp], str.commands
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x4367ff
mov eax, dword [esp + 0x38]
mov dword [esp], str.macro
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x43691c
mov edi, dword [esp + 0x50]
mov esi, str.basic_macros
mov ecx, 0xd
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov edi, dword [esp + 0x50]
mov esi, str.auto_destr
mov ecx, 0xb
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.macros
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x436873
mov eax, dword [esp + 0x38]
mov dword [esp], 0x5108e5
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x436bcf
mov edi, dword [esp + 0x50]
mov esi, str.user_interface
mov ecx, 0xf
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], 0x5108f7
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x43694e
mov eax, dword [esp + 0x38]
mov dword [esp], str.fight
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x436cce
mov edi, dword [esp + 0x50]
mov esi, str.FIGHTING
mov ecx, 9
rep movsb byte es:[edi], byte [esi]
jmp 0x4334db
mov eax, dword [esp + 0x38]
mov dword [esp], str.fighting
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x436c01
mov eax, dword [esp + 0x38]
mov dword [esp], str.shoot
mov dword [esp + 4], eax
call esi
test eax, eax
jne 0x436d89
mov eax, dword [esp + 0x50]
mov dword [eax], 0x676e6152
mov dword [eax + 3], 0x646567
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp], str.shooting
mov dword [esp + 4], eax
call esi
test eax, eax
je 0x436d00
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510916
mov dword [esp], eax
call esi
test eax, eax
jne 0x436e3f
mov edi, dword [esp + 0x50]
mov esi, str.blacklist
mov ecx, 0xa
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510923
mov dword [esp], eax
call esi
test eax, eax
jne 0x436ece
mov edi, dword [esp + 0x50]
mov esi, str.__inscription
mov ecx, 0xe
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x510933
mov dword [esp], eax
call esi
test eax, eax
jne 0x436f5e
mov eax, dword [esp + 0x50]
mov dword [eax], 0x7263616d
mov word [eax + 4], 0x6f
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.slays
mov dword [esp], eax
call esi
test eax, eax
jne 0x43744d
mov eax, dword [esp + 0x50]
mov dword [eax], 0x79616c73
mov byte [eax + 4], 0
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.brands
mov dword [esp], eax
call esi
test eax, eax
je 0x436f77
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.brand
mov dword [esp], eax
call esi
test eax, eax
je 0x436f77
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.wield
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4374fa
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.book
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x4374fa
mov edi, dword [esp + 0x50]
mov esi, str.Wielding_a_spell_book
mov ecx, 0x16
rep movsb byte es:[edi], byte [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.quirk
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43752a
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.book
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4374af
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.wield
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43755e
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51096f
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4374af
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.quirk
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x437592
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x51096f
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4374af
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.wield
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x437838
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105ae
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x437838
mov edi, dword [esp + 0x50]
mov esi, str.Wielding_a_magic_device
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x43042d
mov eax, dword [esp + 0x38]
mov dword [esp + 4], str.quirk
mov dword [esp], eax
call fcn.00405160
test eax, eax
je 0x43786c
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x5105ae
mov dword [esp], eax
call fcn.00405160
test eax, eax
jne 0x4375ca
mov edi, dword [esp + 0x38]
mov dword [esp + 4], str.wield
mov dword [esp], edi
call fcn.00405160
test eax, eax
je 0x4378e5