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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2bc
movzx eax, word [0xdfd666]
mov dword [esp + 8], 1
mov dword [esp + 4], 2
test al, 0xc0
mov dword [esp], str.Name__:
setne byte [0xdfd674]
and al, 0x3f
mov word [0xdfd666], ax
call fcn.00412710
mov dword [esp + 0xc], 9
mov dword [esp + 8], 2
mov dword [esp + 4], 0x114ee60
mov dword [esp], 1
call fcn.00412680
mov dword [esp + 8], 0x6138
mov dword [esp + 4], 0
mov dword [esp], 0xdf6980
call sub.msvcrt.dll_memset
mov dword [esp + 8], 0x5b80
mov dword [esp + 4], 0
mov dword [esp], 0xdf0e00
call sub.msvcrt.dll_memset
mov dword [esp + 8], 0x8940
mov dword [esp + 4], 0
mov dword [esp], 0xde84c0
call sub.msvcrt.dll_memset
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 5
mov dword [esp + 4], 4
mov dword [esp], 0xddf36c
call fcn.00405c70
test al, al
je 0x474768
mov dword [esp + 0x20], 0
xor edi, edi
lea ebx, [esp + 0x170]
lea esi, [esi]
nop
movzx edx, byte [0xee7882]
test dl, dl
je 0x47463d
mov eax, dword [esp + 0x20]
xor esi, esi
lea ebp, [eax + 0xdf6980]
jmp 0x47461a
mov dword [esp + 0xc], edi
add esi, 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.return_get_race_diz___s____d_
mov dword [esp], ebx
call fcn.004720b0
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004a3160
mov dword [esp], ebp
add ebp, 0x2dc
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [0xee7882]
mov edx, eax
cmp esi, eax
jge 0x47463d
mov ecx, dword [0xdfd638]
imul eax, esi, 0x638
mov eax, dword [ecx + eax]
test eax, eax
jne 0x4745d0
add esi, 1
movzx eax, dl
add ebp, 0x2dc
cmp eax, esi
jg 0x474620
movzx edx, byte [0xee7883]
test dl, dl
je 0x4746cd
mov eax, dword [esp + 0x20]
xor esi, esi
lea ebp, [eax + 0xdf0e00]
jmp 0x4746aa
mov dword [esp + 0xc], edi
add esi, 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.return_get_class_diz___s____d_
mov dword [esp], ebx
call fcn.004720b0
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004a3160
mov dword [esp], ebp
add ebp, 0x2dc
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [0xee7883]
mov edx, eax
cmp esi, eax
jge 0x4746cd
mov ecx, dword [0xdfd634]
imul eax, esi, 0x644
mov eax, dword [ecx + eax]
test eax, eax
jne 0x474660
add esi, 1
movzx eax, dl
add ebp, 0x2dc
cmp eax, esi
jg 0x4746b0
movzx edx, byte [0xee7884]
test dl, dl
je 0x474757
mov eax, dword [esp + 0x20]
xor esi, esi
lea ebp, [eax + 0xde84c0]
jmp 0x47473a
mov dword [esp + 0xc], edi
add esi, 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.return_get_trait_diz___s____d_
mov dword [esp], ebx
call fcn.004720b0
mov dword [esp + 4], ebx
mov dword [esp], 0
call fcn.004a3160
mov dword [esp], ebp
add ebp, 0x2dc
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [0xee7884]
mov edx, eax
cmp eax, esi
jle 0x474757
mov ecx, dword [0xdfd630]
mov eax, dword [ecx + esi*8]
test eax, eax
jne 0x4746f0
add esi, 1
movzx eax, dl
add ebp, 0x2dc
cmp eax, esi
jg 0x474740
add edi, 1
add dword [esp + 0x20], 0x3d
cmp edi, 0xc
jne 0x4745b0
mov dword [esp], 0x114ee60
call fcn.0044a1c0
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], str.Sex___:
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x4747ca
test byte [0xdfd665], 1
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
je 0x474e38
mov dword [esp + 4], 0x51e19b
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 8], 1
mov dword [esp + 4], 5
mov dword [esp], str.Class_:
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x47480a
movsx eax, word [0xdfd66c]
test ax, ax
js 0x47480a
movzx edx, byte [0xee7883]
cmp eax, edx
jl 0x477cae
mov dword [esp + 8], 1
mov dword [esp + 4], 6
mov dword [esp], str.Race__:
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x474865
movsx eax, word [0xdfd670]
test ax, ax
js 0x47484a
movzx edx, byte [0xee7882]
cmp eax, edx
jl 0x477cd8
movsx eax, word [0xdfd65c]
test ax, ax
jle 0x474865
movzx edx, byte [0xee7884]
cmp eax, edx
jl 0x477c4c
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov dword [esp], str.Body__:
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x4748bb
test byte [0xdfd665], 2
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
je 0x474e1f
mov dword [esp + 4], str.Fruit_bat
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 8], 1
mov dword [esp + 4], 9
mov dword [esp], str.Mode__:
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x474945
movzx eax, word [0xdfd664]
mov edx, eax
not edx
and edx, 6
je 0x477d20
test al, 2
jne 0x477ead
mov edx, eax
mov dword [esp + 0xc], 9
not edx
mov dword [esp + 8], 9
and edx, 5
je 0x477f8e
test al, 4
jne 0x477d64
test al, 8
jne 0x477fd2
test al, 0x10
je 0x477fb9
mov dword [esp + 4], 0x51e207
mov dword [esp], 2
call fcn.00412680
mov dword [esp], 0x14
call fcn.00415090
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
cmp byte [0xd786cb], 0
jne 0x474dee
mov dword [esp], 0x64
xor ebx, ebx
call fcn.00402660
mov word [0xdfd666], bx
cmp eax, 0x31
jle 0x474df9
mov dword [esp + 8], 0x11
mov dword [esp + 4], 0x15
mov dword [esp], str.m__Male
call fcn.00412710
mov eax, 2
mov dword [esp + 8], eax
mov dword [esp + 4], 0x15
mov dword [esp], str.f__Female
call fcn.00412710
mov dword [esp + 8], 9
mov dword [esp + 4], 4
mov dword [esp], 0x51e224
call fcn.00412710
cmp byte [0xdfd675], 0
je 0x474b2b
test byte [0xdfd665], 1
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
je 0x477b3f
mov dword [esp + 4], 0x51e19b
mov dword [esp], 2
call fcn.00412680
movzx esi, byte [0xd787d0]
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov eax, esi
mov dword [esp], 0x12
neg al
sbb bl, bl
and ebx, 0x23
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
movzx eax, byte [0xdfd675]
test al, al
jne 0x474d16
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x14
mov dword [esp + 4], str.Choose_sex___for_random__Q_to_quit_:
mov dword [esp], 2
call fcn.00412680
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov eax, esi
test al, al
je 0x475375
mov eax, ebx
and eax, 0xffffffbf
cmp al, 0x11
je 0x474e51
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x3f
je 0x47542e
jg 0x47538d
cmp bl, 0x25
je 0x4753db
cmp bl, 0x2a
je 0x4753fb
cmp bl, 0x23
jne 0x4753ea
movzx esi, byte [0xdfd675]
mov eax, esi
test al, al
je 0x477d7d
movzx eax, word [0xdfd664]
and ax, 0x100
cmp ax, 1
sbb ebx, ebx
and ebx, 0xfffffff9
add ebx, 0x6d
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x14
mov dword [esp + 4], str.Choose_sex___for_random_
mov dword [esp], 2
call fcn.00412680
jmp 0x474c8e
cmp cl, 0x1b
je 0x474d4d
cmp cl, 0xd
jne 0x4771dc
mov edi, dword [esp + 0x38]
test edi, edi
jle 0x477e26
mov dword [esp + 4], edi
mov dword [esp], 0x51e53e
call fcn.00402550
mov dword [esp + 0xc], 0x36
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov dword [esp], 0x2f
call fcn.00412680
mov dword [esp + 4], edi
mov dword [esp], str.You_still_have__d_stat_points_left_to_distribute__Really_continue_
call fcn.00402550
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00412750
test al, al
jne 0x477e26
mov dword [esp + 4], edi
mov dword [esp], 0x51e53e
call fcn.00402550
mov dword [esp + 0xc], 0x36
mov dword [esp + 8], 0xc
mov dword [esp + 4], eax
mov dword [esp], 0xd
call fcn.00412680
cmp byte [0xd786cb], 0
je 0x476d0b
add esp, 0x2bc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 2
mov dword [esp + 4], 0x15
mov dword [esp], str.m__Male
call fcn.00412710
mov eax, 0x11
jmp 0x474abd
mov dword [esp + 4], str.Normal_body
mov dword [esp], 2
call fcn.00412680
jmp 0x4748bb
mov dword [esp + 4], 0x51e1a0
mov dword [esp], 2
call fcn.00412680
jmp 0x4747ca
mov dword [esp], 0
call fcn.00401670
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x3f
je 0x47542e
jle 0x474cd3
cmp bl, 0x6d
jne 0x4753ea
mov dword [esp + 8], 9
mov dword [esp + 4], 4
mov dword [esp], 0x51e224
or word [0xdfd666], 0x100
call fcn.00412710
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51e19b
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp], 0x13
call fcn.00415090
cmp byte [0xd786cb], 0
jne 0x474dee
call fcn.004720e0
test al, al
je 0x478040
cmp byte [0xd786cb], 0
jne 0x474dee
cmp byte [0xdfd675], 0
je 0x474f1e
movsx eax, word [0xdfd65c]
test ax, ax
jle 0x474f1e
movzx edx, byte [0xee7884]
cmp eax, edx
jl 0x477f2c
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov dword [esp], 0x51e297
call fcn.00412710
call fcn.00472a00
test al, al
je 0x47802e
movzx eax, byte [0xd786cb]
mov byte [esp + 0x6c], al
cmp byte [esp + 0x6c], 0
jne 0x474dee
call fcn.004734e0
mov byte [esp + 0x6c], al
test al, al
je 0x474eed
cmp byte [0xd786cb], 0
jne 0x474dee
mov dword [esp + 8], 2
mov dword [esp + 4], 0x14
mov dword [esp], str.n__Normal_body
and word [0xdfd666], 0xfdff
call fcn.00412710
cmp byte [0x5029a8], 0
je 0x474faf
mov ecx, dword [0x11638a0]
test ecx, ecx
je 0x475013
mov dword [esp + 8], 2
mov dword [esp + 4], 0x15
mov dword [esp], str.f__Fruit_bat
call fcn.00412710
movzx eax, word [0xdfd66e]
cmp ax, 5
je 0x477d9f
lea edx, [eax - 9]
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0x15
cmp dx, 1
jbe 0x474fff
cmp ax, 4
jne 0x477c11
mov dword [esp + 4], str._not_recommended_for_shapeshifters:_Mimics__Druids__Shamans__
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
cmp byte [0xdfd675], 0
je 0x475071
test byte [0xdfd665], 2
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
je 0x477b58
mov dword [esp + 4], str.Fruit_bat
mov dword [esp], 2
call fcn.00412680
movzx esi, byte [0xd787d0]
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov eax, esi
mov dword [esp], 0x12
neg al
sbb bl, bl
and ebx, 0x23
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
movzx eax, byte [0xdfd675]
lea esi, [esi]
nop
test al, al
jne 0x475246
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x13
mov dword [esp + 4], str.Choose_body_modification___for_random__Q_quit__BACKSPACE_to_go_back____guide_:
mov dword [esp], 2
call fcn.00412680
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov eax, esi
test al, al
je 0x475290
mov eax, ebx
and eax, 0xffffffbf
cmp al, 0x11
je 0x47526f
cmp byte [0xd786cb], 0
jne 0x475456
cmp bl, 0x3f
je 0x47534d
cmp bl, 8
je 0x47543f
cmp bl, 0x66
jne 0x47529c
cmp byte [0x5029a8], 0
je 0x477ed6
call fcn.0040e990
movzx eax, byte [0xdfd675]
test al, al
je 0x4751b8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x13
mov dword [esp + 4], str.Choose_body_mod___random_
mov dword [esp], 2
call fcn.00412680
jmp 0x4751dc
mov dword [esp], 0
call fcn.00401670
cmp byte [0xd786cb], 0
je 0x475232
jmp 0x475456
call fcn.0040dac0
mov ebx, eax
jmp 0x4751f8
cmp bl, 0x6e
je 0x475470
cmp bl, 0x2a
je 0x4752d5
cmp bl, 0x23
je 0x475324
cmp bl, 0x25
jne 0x475232
mov byte [0xd787d0], 1
movzx esi, byte [esp + 0x6c]
mov ebx, 0x23
movzx eax, byte [0xdfd675]
jmp 0x4751b0
cmp word [0xdfd66e], 5
je 0x47530e
mov dword [esp], 2
call fcn.00402660
test eax, eax
je 0x47530e
cmp eax, 1
movzx esi, byte [esp + 0x6c]
movzx eax, byte [0xdfd675]
jne 0x4751b0
mov ebx, 0x66
jmp 0x4751b0
movzx eax, byte [0xdfd675]
movzx esi, byte [esp + 0x6c]
mov ebx, 0x6e
jmp 0x4751b0
movzx esi, byte [0xdfd675]
mov eax, esi
test al, al
je 0x475381
movzx eax, word [0xdfd664]
and ax, 0x200
cmp ax, 1
sbb ebx, ebx
and ebx, 8
add ebx, 0x66
jmp 0x475246
mov dword [esp + 8], str.body_mod
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.004302a0
movzx eax, byte [0xdfd675]
jmp 0x4751b0
call fcn.0040dac0
mov ebx, eax
jmp 0x474caa
mov byte [0xd787d0], 0
jmp 0x4751b8
cmp bl, 0x66
jne 0x474e75
mov dword [esp + 8], 9
mov dword [esp + 4], 4
mov dword [esp], 0x51e224
call fcn.00412710
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51e1a0
mov dword [esp], 0xe
call fcn.00412680
jmp 0x474ec7
movzx eax, byte [0xdfd675]
test al, al
jne 0x477c39
call fcn.0040e990
movzx eax, byte [0xdfd675]
jmp 0x474c62
mov dword [esp], 2
call fcn.00402660
test eax, eax
je 0x477d89
cmp eax, 1
mov esi, 1
movzx eax, byte [0xdfd675]
jne 0x474c62
mov ebx, 0x6d
jmp 0x474c62
movzx eax, byte [0xdfd675]
mov ebx, 0x3f
jmp 0x474c62
mov dword [esp], 0x13
call fcn.00415090
movzx eax, byte [0xd786cb]
mov byte [esp + 0x6c], al
cmp word [0xdfd65e], 0xffff
jne 0x474f52
jmp 0x474eed
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
mov dword [esp + 4], str.Normal_body
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp], 0x13
call fcn.00415090
lea esi, [esi]
cmp byte [0xd786cb], 0
jne 0x474dee
lea eax, [esp + 0xf8]
lea ebp, [esp + 0x210]
mov dword [esp + 0x34], eax
mov eax, dword [0xdfd634]
mov edi, dword [esp + 0x34]
mov esi, str.Strength
xor edx, edx
mov word [0xdfd642], dx
xor edx, edx
mov dword [esp + 0x28], eax
movzx eax, word [0xdfd66e]
mov word [esp + 0x30], ax
mov eax, dword [0xdfd638]
mov dword [esp + 0x38], eax
movzx eax, word [0xdfd672]
mov word [esp + 0x3c], ax
mov eax, 0x1e
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov edi, 0xdfcac4
mov dword [0xdfcac0], 0
mov dword [0xdfd62c], 0
and edi, 0xfffffffc
mov eax, ecx
mov ecx, dword [0xdfd650]
mov dword [esp + 0x44], ecx
mov ecx, dword [0xdfd654]
mov dword [esp + 0x48], ecx
mov ecx, dword [0xdfd658]
mov dword [esp + 0x40], ecx
mov ecx, 0xdfcac0
sub ecx, edi
add ecx, 0xb70
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x34], eax
mov esi, eax
lea esi, [esi]
mov dword [esp + 0x24], 0xdfcac0
lea ebx, [edx + 0xdfcac0]
xor edi, edi
mov dword [esp + 0x20], edx
lea esi, [esi]
mov dword [esp + 0xc], edi
add edi, 1
mov dword [esp + 8], esi
mov dword [esp + 4], str.return_get_attribute_diz___s____d_
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.004a3160
mov dword [esp], ebx
add ebx, 0x3d
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcpy
cmp edi, 8
jne 0x4755a8
mov edx, dword [esp + 0x20]
add esi, 0x14
add edx, 0x1e8
cmp edx, 0xb70
jne 0x475590
mov eax, dword [0x503570]
test eax, eax
je 0x475dd3
cmp eax, 1
je 0x476885
cmp byte [0xd786cb], 0
jne 0x474dee
cmp word [0xdfd65e], 0xffff
jne 0x475632
xor edx, edx
mov word [0xdfd65e], dx
movzx ebx, byte [0xdfd674]
test bl, bl
jne 0x476120
cmp byte [0xdd2179], 0
je 0x4765c2
mov dword [esp + 8], 2
mov dword [esp + 4], 0x11
mov dword [esp], str.g__No_Ghost
call fcn.00412710
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0x11
mov dword [esp + 4], str._Unworldly___One_life_only._The_traditional_rogue_like_way_
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 8], 2
mov dword [esp + 4], 0x12
mov dword [esp], str.s__Soloist
call fcn.00412710
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0x12
mov dword [esp + 4], str._Same_as_No_Ghost_but_cannot_exchange_gold_items_with_anybody_
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdd2179], 0
je 0x47657d
cmp byte [0x5029a8], 0
je 0x4756ed
mov eax, dword [0x11638a0]
test eax, eax
je 0x47573a
mov dword [esp + 8], 2
mov dword [esp + 4], 0x14
mov dword [esp], str.H__Hellish
call fcn.00412710
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], 0x14
mov dword [esp + 4], str._Like_Unworldly_mode_but_extra_hard___sort_of_ridiculous_
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdd2179], 0
je 0x476840
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
cmp byte [0xdfd675], 0
je 0x4757b0
movzx eax, word [0xdfd664]
mov edx, eax
not edx
and edx, 6
je 0x47777d
mov edx, eax
not edx
and edx, 5
je 0x4777a6
test al, 4
jne 0x477724
movzx edx, byte [0xdd2179]
test al, 8
je 0x4776eb
test dl, dl
je 0x477bcf
lea esi, [esi]
nop
movzx esi, byte [0xd787d0]
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov eax, esi
mov dword [esp], 0x12
neg al
sbb bl, bl
and ebx, 0x23
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
movzx eax, byte [0xdfd675]
lea esi, [esi]
nop
test al, al
jne 0x475989
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf
mov dword [esp + 4], str.Choose_mode___for_random__Q_to_quit__BACKSPACE_to_go_back____guide_:
mov dword [esp], 2
call fcn.00412680
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov eax, esi
test al, al
je 0x475c48
cmp byte [0xdd2179], 0
je 0x4759b8
lea eax, [ebx - 0x65]
cmp al, 0xb
ja 0x4759b8
mov ecx, 0xa01
bt ecx, eax
jb 0x475975
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x70
jne 0x475d6c
cmp byte [0x5029a8], 0
je 0x47786a
call fcn.0040e990
movzx eax, byte [0xdfd675]
test al, al
je 0x4758f8
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf
mov dword [esp + 4], str.Choose_mode___random_
mov dword [esp], 2
call fcn.00412680
jmp 0x47591c
mov eax, ebx
and eax, 0xffffffbf
cmp al, 0x11
je 0x475c58
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x3f
je 0x475cc1
cmp bl, 8
je 0x4760fd
cmp bl, 0x70
je 0x475968
cmp bl, 0x6e
je 0x4775ab
cmp bl, 0x67
je 0x475d7e
cmp bl, 0x73
je 0x47766c
cmp bl, 0x48
jne 0x478052
cmp byte [0x5029a8], 0
jne 0x475975
or word [0xdfd666], 6
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Hellish
mov dword [esp], 0xe
call fcn.00412680
nop
mov dword [esp], 0xf
call fcn.00415090
test byte [0xdfd666], 0x90
je 0x475aa5
cmp word [0xdfd672], 0x11
jne 0x475aa5
cmp byte [0xdd2170], 0
je 0x475aa5
call fcn.004734e0
test al, al
je 0x4754c8
cmp byte [0xd786cb], 0
jne 0x474dee
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
cmp byte [0xdfd674], 0
je 0x475bf7
movzx edx, word [0xdfd666]
mov ecx, edx
mov eax, edx
or ecx, 0x40
or al, 0x80
and edx, 0x10
cmove eax, ecx
mov word [0xdfd666], ax
mov dword [esp + 4], 0
mov dword [esp], 0x114ee60
call fcn.00449f50
mov dword [esp + 8], 1
mov dword [esp + 4], 0x15
mov dword [esp], str.Entering_game...___Hit_any_key_
call fcn.00412710
call fcn.0040dac0
mov dword [esp], 0x14
call fcn.00415090
add esp, 0x2bc
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0040dac0
mov ebx, eax
jmp 0x475938
mov dword [esp], 0
call fcn.00401670
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x2a
jne 0x475ce9
cmp byte [0xdd2179], 1
sbb eax, eax
and eax, 3
add eax, 3
mov dword [esp], eax
call fcn.00402660
cmp eax, 5
ja 0x475cb0
movzx ebx, byte [eax + str.gHspen]
movzx esi, byte [esp + 0x6c]
movzx eax, byte [0xdfd675]
jmp 0x4758f0
movzx eax, byte [0xdfd675]
movzx esi, byte [esp + 0x6c]
jmp 0x4758f0
mov dword [esp + 8], str.modes
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.004302a0
movzx eax, byte [0xdfd675]
jmp 0x4758f0
cmp bl, 0x23
je 0x475d14
cmp bl, 0x25
jne 0x475975
mov byte [0xd787d0], 1
movzx esi, byte [esp + 0x6c]
mov ebx, 0x23
movzx eax, byte [0xdfd675]
jmp 0x4758f0
movzx esi, byte [0xdfd675]
mov eax, esi
test al, al
je 0x4760f1
movzx eax, word [0xdfd664]
mov edx, eax
not edx
and edx, 6
je 0x476573
mov edx, eax
not edx
and edx, 5
je 0x476836
test al, 4
jne 0x47682c
movzx edx, byte [0xdd2179]
test al, 8
je 0x47774d
test dl, dl
mov eax, 0x65
cmove ebx, eax
jmp 0x475989
cmp bl, 0x6e
je 0x4775ab
cmp bl, 0x67
jne 0x475a08
or word [0xdfd666], 4
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.No_Ghost
mov dword [esp], 0xe
call fcn.00412680
jmp 0x475a70
mov dword [esp], str.Stat_order__:
lea esi, [esp + 0x90]
xor ebx, ebx
lea edi, [esp + 0xa8]
mov dword [esp + 8], 1
mov dword [esp + 4], 0xb
mov dword [esp + 0x20], eax
call fcn.00412710
mov dword [esp + 0x2c], esi
lea esi, [esi]
nop
mov eax, dword [ebx + 0x502588]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
lea eax, [esi + ebx]
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
mov byte [esp + ebx + 0x93], 0
mov dword [edi + ebx], 1
add ebx, 4
cmp ebx, 0x18
jne 0x475e10
mov eax, dword [esp + 0x20]
xor esi, esi
xor ebx, ebx
mov edi, eax
mov dword [esp], 0x14
call fcn.00415090
mov eax, dword [esp + 0xa8]
test eax, eax
jne 0x47667d
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4766c4
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x47670e
mov eax, dword [esp + 0xb4]
test eax, eax
jne 0x476758
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x4767a2
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x4767ec
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov dword [esp + 4], 0x51d763
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
lea esi, [esi]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14
mov dword [esp], str.Choose_your_stat_order___for_random__Q_to_quit_:
call fcn.00412710
mov eax, esi
test al, al
je 0x476088
mov dword [esp], 6
call fcn.00402660
cmp eax, 5
ja 0x47601e
mov edx, dword [esp + eax*4 + 0xa8]
test edx, edx
jne 0x476514
cmp bl, 0x3f
je 0x475fd8
call fcn.0040e990
jmp 0x475fd8
mov dword [esp], 0
call fcn.00401670
movzx eax, byte [0xd786cb]
mov byte [esp + 0x20], al
test al, al
jne 0x474dee
movsx esi, bl
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_islower]
test eax, eax
jne 0x4760e8
call fcn.0040e990
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14
mov dword [esp], str.Choose_your_stat_order___for_random__Q_to_quit_:
call fcn.00412710
lea esi, [esi]
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
call fcn.0040dac0
mov ebx, eax
and eax, 0xffffffbf
cmp al, 0x11
je 0x476030
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x2a
movsx edx, bl
sete al
mov dword [esp], edx
mov dword [esp + 0x20], edx
mov esi, eax
call dword [sym.imp.msvcrt.dll_islower]
test eax, eax
je 0x47601e
mov edx, dword [esp + 0x20]
lea eax, [edx - 0x61]
jmp 0x47600a
mov edx, esi
movzx esi, byte [esp + 0x20]
jmp 0x4760d9
mov byte [0xd787d0], 0
jmp 0x4758f8
mov dword [esp], 0xf
call fcn.00415090
cmp byte [0xd786cb], 0
je 0x4754e7
jmp 0x474dee
mov dword [esp + 8], 2
mov dword [esp + 4], 0x10
mov dword [esp], str.i__Ironman_Deep_Dive_Challenge
call fcn.00412710
mov dword [esp + 0xc], 0x21
mov dword [esp + 8], 0x10
mov dword [esp + 4], str._Unworldly___one_life_only._
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 8], 2
mov dword [esp + 4], 0x11
mov dword [esp], str.s__Ironman_Deep_Dive_Challenge_Soloist
call fcn.00412710
mov dword [esp + 0xc], 0x29
mov dword [esp + 8], 0x11
mov dword [esp + 4], str._Cannot_trade_with_other_players_
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 8], 2
mov dword [esp + 4], 0x12
mov dword [esp], str.H__Hellish_Ironman_Deep_Dive_Challenge
call fcn.00412710
mov dword [esp + 0xc], 0x29
mov dword [esp + 8], 0x12
mov dword [esp + 4], str._Extra_hard__sort_of_ridiculous_
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdd2179], 0
je 0x477539
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
cmp byte [0xdfd675], 0
je 0x476277
movzx eax, word [0xdfd664]
mov edx, eax
not edx
and edx, 6
je 0x477937
mov edx, eax
mov dword [esp + 0xc], 9
not edx
mov dword [esp + 8], 9
and edx, 5
je 0x477960
test al, 4
jne 0x47791e
test al, 8
jne 0x477bb6
test al, 0x10
je 0x477bf8
mov dword [esp + 4], 0x51e207
mov dword [esp], 2
call fcn.00412680
movzx esi, byte [0xd787d0]
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
mov eax, esi
mov dword [esp + 4], 0x51d763
mov dword [esp], 0x12
neg al
sbb al, al
mov edi, eax
call fcn.00412680
mov dword [esp + 0xc], 0x1b
and edi, 0x23
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
mov ecx, edi
movzx eax, byte [0xdfd675]
mov edi, ebx
mov ebx, ecx
test al, al
je 0x476450
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf
mov dword [esp + 4], str.Choose_mode___random_
mov dword [esp], 2
call fcn.00412680
mov edx, dword [0x54b7c4]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
mov eax, esi
test al, al
je 0x476508
mov eax, ebx
and eax, 0xffffffbf
cmp al, 0x11
je 0x476479
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x3f
je 0x477679
cmp bl, 8
je 0x4760fd
cmp bl, 0x70
jne 0x476607
cmp byte [0xdd2179], 0
je 0x478020
call fcn.0040e990
movzx eax, byte [0xdfd675]
test al, al
jne 0x4763be
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf
mov dword [esp + 4], str.Choose_mode___for_random__Q_to_quit__BACKSPACE_to_go_back____guide_:
mov dword [esp], 2
call fcn.00412680
jmp 0x4763e2
mov dword [esp], 0
call fcn.00401670
cmp byte [0xd786cb], 0
jne 0x474dee
cmp bl, 0x48
je 0x4775f8
jg 0x47643c
cmp bl, 0x25
je 0x477639
cmp bl, 0x2a
je 0x477605
cmp bl, 0x23
jne 0x47643c
movzx esi, byte [0xdfd675]
mov eax, esi
test al, al
je 0x477912
movzx eax, word [0xdfd664]
movzx edx, byte [0xdd2179]
mov ecx, eax
not ecx
and ecx, 6
je 0x477ba1
test al, 2
je 0x477b71
test al, 0x90
jne 0x477c9c
or eax, 0x40
mov word [0xdfd664], ax
mov ebx, 0x48
jmp 0x4763be
call fcn.0040dac0
mov ebx, eax
jmp 0x4763fe
mov ecx, dword [esp + 0x2c]
lea edx, [edi + edi*4 + 0xf]
mov dword [esp + 8], 8
mov dword [esp + 0xc], edx
lea edx, [ecx + eax*4]
mov dword [esp], 0xe
mov dword [esp + 4], edx
mov word [edi + edi + 0xdfd650], ax
add edi, 1
mov dword [esp + 0x20], eax
call fcn.00412680
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xa8], 0
cmp edi, 6
jne 0x475e4e
mov dword [esp], 0x14
call fcn.00415090
jmp 0x475612
mov ebx, 0x48
jmp 0x475989
mov dword [esp + 8], 2
mov dword [esp + 4], 0x13
mov dword [esp], str.e__Everlasting
call fcn.00412710
mov dword [esp + 0xc], 0x11
mov dword [esp + 8], 0x13
mov dword [esp + 4], str._You_may_resurrect_infinite_times_but_cannot_enter_highscore_
mov dword [esp], 2
call fcn.00412680
jmp 0x4756db
mov dword [esp + 8], 2
mov dword [esp + 4], 0x10
mov dword [esp], str.n__Normal
call fcn.00412710
mov dword [esp + 0xc], 0xc
mov dword [esp + 8], 0x10
mov dword [esp + 4], str._3_lives_
mov dword [esp], 2
call fcn.00412680
jmp 0x47564e
cmp bl, 0x48
je 0x4775f8
jle 0x47649d
cmp bl, 0x69
je 0x47765f
cmp bl, 0x73
jne 0x47643c
or word [0xdfd666], 0x45
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Soloist
mov dword [esp], 0xe
call fcn.00412680
jmp 0x475a70
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], 0x61
mov dword [esp + 4], str._c___s
mov dword [esp + 0xc], eax
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
mov eax, dword [esp + 0xac]
test eax, eax
je 0x475e78
lea eax, [esp + 0x94]
mov dword [esp + 8], 0x62
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c___s
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 9
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x475e87
lea eax, [esp + 0x98]
mov dword [esp + 8], 0x63
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c___s
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 0x12
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x475e96
lea eax, [esp + 0x9c]
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c___s
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 0x1b
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x475ea5
lea eax, [esp + 0xa0]
mov dword [esp + 8], 0x65
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c___s
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 0x24
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x475eb4
lea eax, [esp + 0xa4]
mov dword [esp + 8], 0x66
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._c___s
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 8], 0x2d
mov dword [esp + 4], 0x15
mov dword [esp], ebp
call fcn.00412710
jmp 0x475eb4
mov ebx, 0x67
jmp 0x475989
mov ebx, 0x73
jmp 0x475989
mov dword [esp + 8], 2
mov dword [esp + 4], 0x15
mov dword [esp], str.p__PvP
call fcn.00412710
mov dword [esp + 0xc], 9
mov dword [esp + 8], 0x15
mov dword [esp + 4], str._Cant_beat_the_game__instead_special_player_vs_player_rules_apply_
mov dword [esp], 2
call fcn.00412680
jmp 0x47573a
movsx eax, word [0xdfd66e]
imul eax, eax, 0x644
add eax, dword [0xdfd634]
mov eax, dword [eax]
mov dword [esp + 4], str.return_get_class_bpr2___s___0__0__0_
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.004720b0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.004a3160
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 0x50], eax
call sub.msvcrt.dll_strcpy
movzx eax, byte [esp + 0xa8]
cmp al, 0x58
je 0x477979
cmp al, 0x4e
movzx eax, byte [esp + 0x6c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov byte [esp + 0x6e], al
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
setne byte [esp + 0x6d]
mov dword [esp], 0xe
call fcn.00415090
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0xc
mov dword [esp + 4], str.Distribute_your_attribute_points__
mov dword [esp], 2
call fcn.00412680
mov dword [esp + 4], 0x1e
mov dword [esp], 0x51e53e
call fcn.00402550
mov dword [esp + 0xc], 0x36
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov dword [esp], 0xd
call fcn.00412680
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0xd
mov dword [esp + 4], str.If_any_values_are_shown_under_recommended_minimum__try_to_reach_those.
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdfd675], 0
mov dword [esp + 0xc], 0x23
mov dword [esp + 8], 0xf
je 0x4776a1
mov dword [esp + 4], str.Current:____Base___Prev__Recommended_min:
mov dword [esp], 2
call fcn.00412680
cmp byte [0xdfd675], 0
jne 0x4776c2
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x11
mov dword [esp + 4], 0x51e60c
mov dword [esp], 1
call fcn.00412680
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x12
mov dword [esp + 4], 0x51e638
mov dword [esp], 1
call fcn.00412680
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x13
mov dword [esp + 4], str.RETURN
mov dword [esp], 1
call fcn.00412680
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0x51e694
mov dword [esp], 1
call fcn.00412680
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0xe
mov dword [esp + 4], str.No_more_than_1_attribute_out_of_the_6_is_allowed_to_be_maximised.
mov dword [esp], 2
call fcn.00412680
cmp byte [esp + 0x6d], 0
jne 0x47780f
lea eax, [esp + 0xf8]
mov esi, 0xdfcca8
mov ebx, 3
mov dword [esp], str.______s__
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], 0xf
call fcn.00412680
mov edi, dword [esp + 0x24]
nop
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 4], edi
add edi, 0x3d
mov dword [esp + 0xc], 0x1e
mov dword [esp], 0xb
call fcn.00412680
cmp esi, edi
jne 0x476ae0
lea eax, [esp + 0x90]
xor ebx, ebx
mov dword [esp + 0x2c], eax
mov edi, eax
mov eax, 0xa
mov dword [esp + 8], 3
mov word [ebx + ebx + 0xdfd650], ax
mov eax, dword [ebx*4 + 0x502588]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncpy
cmp byte [0xdfd675], 0
mov byte [edi + 3], 0
jne 0x4771a1
lea edi, [ebx + 1]
cmp ebx, 5
je 0x476b97
mov eax, dword [esp + 0x2c]
lea ebx, [eax + edi*4]
lea esi, [esi]
mov eax, 0xa
mov dword [esp], ebx
add ebx, 4
mov word [edi + edi + 0xdfd650], ax
mov eax, dword [edi*4 + 0x502588]
add edi, 1
mov dword [esp + 8], 3
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncpy
mov byte [ebx - 1], 0
cmp edi, 6
jne 0x476b60
movzx eax, byte [0xd787d0]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 3
neg al
mov dword [esp + 4], 0x51d763
sbb al, al
mov dword [esp], 0x12
mov edi, eax
movsx eax, word [esp + 0x30]
and edi, 0x23
imul eax, eax, 0x644
mov esi, edi
add ecx, eax
movsx eax, word [esp + 0x3c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x38]
imul eax, eax, 0x638
add ecx, eax
mov dword [esp + 0x28], ecx
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 4
mov dword [esp + 4], 0x51d765
mov dword [esp], 0x12
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 5
mov dword [esp + 4], 0x51d767
mov dword [esp], 0x37
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 6
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 7
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d769
mov dword [esp], 7
call fcn.00412680
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x51d76b
mov dword [esp], 8
call fcn.00412680
mov dword [esp + 0x68], 0
mov dword [esp + 0x38], 0x1e
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x38]
mov dword [esp], 0x51e53e
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0x36
mov dword [esp + 8], 0xc
mov dword [esp + 4], eax
mov dword [esp], 0xd
call fcn.00412680
cmp byte [esp + 0x6d], 0
je 0x476e10
cmp byte [esp + 0x6e], 0
je 0x4773cc
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
movsx eax, word [0xdfd656]
movsx edx, word [ecx + 0xe]
add eax, edx
movsx edx, word [edi + 0xa]
add eax, edx
mov dword [esp + 0x10], eax
movsx eax, word [0xdfd650]
movsx edx, word [ecx + 8]
add eax, edx
movsx edx, word [edi + 4]
add eax, edx
mov dword [esp + 0xc], eax
movsx eax, word [0xdfd66e]
imul eax, eax, 0x644
add eax, dword [0xdfd634]
mov eax, dword [eax]
mov dword [esp + 4], str.return_get_class_bpr3___s____d___d_
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.004720b0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.004a3160
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
cmp byte [esp + 0xa8], 0xff
mov dword [esp + 0xc], 0x41
mov dword [esp + 8], 0x17
je 0x477764
mov dword [esp + 4], str._____________
mov dword [esp], 3
call fcn.00412680
lea esi, [esi]
lea esi, [esi]
mov eax, esi
xor ebx, ebx
mov byte [esp + 0x3c], al
jmp 0x476ec1
test eax, eax
je 0x476e73
cmp eax, 0x12
jle 0x476e33
lea eax, [eax + eax*4]
lea eax, [eax + eax - 0xa2]
lea ecx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x30], eax
call fcn.00479160
mov eax, dword [esp + 0x30]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0x3d
cmp edi, eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
jl 0x476f98
mov dword [esp], 0xd
call fcn.00412680
cmp dword [esp + 0x24], ebx
movzx eax, word [ebx + ebx + 0xdfd650]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0x23
mov dword [esp + 4], ebp
je 0x476fb0
cmp ax, 8
je 0x477190
cmp ax, 0x11
je 0x477178
mov dword [esp], 0xf
call fcn.00412680
add ebx, 1
cmp ebx, 6
je 0x476fe0
mov eax, dword [esp + 0x20]
movsx edx, word [ebx + ebx + 0xdfd650]
movsx eax, word [eax + ebx*2 + 8]
add edx, eax
mov eax, dword [esp + 0x28]
movsx eax, word [eax + ebx*2 + 4]
lea edi, [edx + eax]
cmp edi, 0x12
jle 0x476eef
lea eax, [edi + edi*4]
lea edi, [eax + eax - 0xa2]
lea eax, [esp + 0x78]
mov dword [esp], edi
lea esi, [ebx + 0x10]
mov dword [esp + 4], eax
call fcn.00479160
movsx eax, word [ebx + ebx + 0xdfd650]
mov dword [esp + 4], 0x51e53e
mov dword [esp + 8], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.004720b0
lea eax, [esp + 0x80]
mov dword [esp + 4], str._s:__s___s_
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], ebp
lea eax, [eax + ebx*4]
mov dword [esp + 8], eax
call fcn.004720b0
mov eax, dword [esp + 0x20]
movsx eax, word [eax + ebx*2 + 0x14]
cmp eax, 0x63
jle 0x476e20
mov dword [esp + 0xc], 0x45
sub eax, 0x64
mov dword [esp + 8], esi
mov dword [esp + 4], str._main_
mov dword [esp], 5
mov dword [esp + 0x30], eax
call fcn.00412680
mov eax, dword [esp + 0x30]
jmp 0x476e20
mov dword [esp], 5
call fcn.00412680
jmp 0x476e73
cmp ax, 8
je 0x4772b3
cmp ax, 0x11
je 0x477210
mov dword [esp], 3
add ebx, 1
call fcn.00412680
cmp ebx, 6
jne 0x476ec1
lea esi, [esi]
mov edx, dword [0x54b7c4]
cmp byte [0xd787d0], 0
movzx esi, byte [esp + 0x3c]
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x24]
mov byte [eax], 1
mov dword [eax + 4], edx
je 0x477221
mov eax, esi
cmp al, 0x3f
je 0x477232
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
movsx ebx, word [edx + eax*2 + 4]
movsx ecx, word [ecx + eax*2 + 8]
mov eax, esi
cmp al, 0x2d
sete dl
cmp al, 0x34
sete al
or al, dl
jne 0x4771ca
mov eax, esi
cmp al, 0x68
je 0x4771ca
cmp al, 0x2b
mov ecx, esi
sete al
cmp cl, 0x36
sete dl
or al, dl
jne 0x47705c
cmp cl, 0x6c
jne 0x4772c4
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx + ecx + 0xdfd650]
cmp ax, 0x10
jle 0x477286
cmp byte [0xd786cb], 0
jne 0x474dee
mov eax, esi
cmp al, 8
je 0x477e5c
mov eax, esi
cmp al, 0x23
jne 0x477317
cmp byte [0xdfd675], 0
je 0x477653
movzx edx, word [0xdfd644]
mov eax, 8
mov ebx, 2
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd650], dx
movzx edx, word [0xdfd646]
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd652], dx
movzx edx, word [0xdfd648]
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd654], dx
movzx edx, word [0xdfd64a]
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd656], dx
movzx edx, word [0xdfd64c]
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd658], dx
movzx edx, word [0xdfd64e]
lea ecx, [edx - 8]
cmp cx, 9
cmova edx, eax
mov word [0xdfd65a], dx
lea esi, [esi]
mov dword [esp + 4], ebx
add ebx, 1
mov dword [esp + 8], 0xff
mov dword [esp], 0x1e
call fcn.00409060
cmp ebx, 0xb
jne 0x477140
mov dword [esp], 0xc
call fcn.00415090
jmp 0x475612
mov dword [esp], 0xa
call fcn.00412680
jmp 0x476eb5
mov dword [esp], 4
call fcn.00412680
jmp 0x476eb5
movsx eax, word [ebx + ebx + 0xdfd644]
lea edx, [eax - 8]
cmp dx, 9
jbe 0x4774c1
add ebx, 1
cmp ebx, 6
je 0x476b97
add edi, 4
jmp 0x476b15
mov eax, dword [esp + 0x24]
movzx eax, word [eax + eax + 0xdfd650]
cmp ax, 8
jg 0x477253
mov eax, esi
and eax, 0xffffffbf
cmp al, 0x11
jne 0x477072
mov dword [esp], 0
call fcn.00401670
cmp byte [0xd786cb], 0
je 0x476d0b
jmp 0x474dee
mov dword [esp], 0xe
call fcn.00412680
jmp 0x476eb5
call fcn.0040dac0
mov esi, eax
mov eax, esi
cmp al, 0x3f
jne 0x47700e
mov dword [esp + 8], str.attributes
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.004302a0
jmp 0x476d0b
cmp ax, 0xa
jg 0x47757e
add ecx, ebx
movsx edx, ax
add edx, ecx
cmp edx, 3
jle 0x4771dc
mov ecx, dword [esp + 0x24]
sub eax, 1
add dword [esp + 0x38], 1
mov word [ecx + ecx + 0xdfd650], ax
jmp 0x4771dc
cmp ax, 0xb
jg 0x477507
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x477072
add eax, 1
sub edx, 1
mov word [ecx + ecx + 0xdfd650], ax
mov dword [esp + 0x38], edx
jmp 0x477072
mov dword [esp], 0xc
call fcn.00412680
jmp 0x476eb5
cmp cl, 0x32
sete al
mov ebx, eax
cmp cl, 0x6a
je 0x4772d5
test al, al
je 0x477330
mov ecx, dword [esp + 0x24]
add ecx, 1
mov eax, 0x2aaaaaab
imul ecx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
lea eax, [edx + edx*2]
add eax, eax
sub ecx, eax
mov dword [esp + 0x24], ecx
test bl, bl
jne 0x47734e
lea eax, [esi - 0x6a]
cmp al, 1
jbe 0x47734e
cmp byte [0xd786cb], 0
jne 0x474dee
mov eax, esi
cmp al, 0x23
je 0x477093
cmp al, 0x25
jne 0x476d0b
mov byte [0xd787d0], 1
mov esi, 0x23
jmp 0x476d0b
cmp cl, 0x38
sete al
mov ebx, eax
cmp cl, 0x6b
je 0x477345
test al, al
je 0x474d3f
mov ecx, dword [esp + 0x24]
add ecx, 5
jmp 0x4772dc
mov edi, dword [esp + 0x24]
mov dword [esp], str.______s__
mov ebx, 3
lea eax, [edi + edi*4]
lea eax, [esp + eax*4 + 0xf8]
mov dword [esp + 4], eax
call fcn.00402550
mov dword [esp + 0xc], 0x1e
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], 0xf
call fcn.00412680
imul eax, edi, 0x1e8
add eax, 0xdfcac0
mov edi, eax
nop
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 4], edi
add edi, 0x3d
mov dword [esp + 0xc], 0x1e
mov dword [esp], 0xb
call fcn.00412680
cmp ebx, 0xb
jne 0x4773a0
jmp 0x477072
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x4778f0
mov edx, dword [esp + 0x60]
movsx eax, word [0xdfd650]
mov dword [esp + 0x3c], 1
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
movsx eax, word [0xdfd656]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, edx
lea edx, [edx + edi*4]
mov dword [esp + 0x30], edx
mov edx, esi
mov byte [esp + 0x6f], dl
lea esi, [esi]
mov esi, dword [eax]
test esi, esi
je 0x47745d
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
movsx edx, word [edx + 8]
add edx, edi
mov edi, dword [esp + 0x28]
movsx edi, word [edi + 4]
add edx, edi
cmp edx, dword [ecx]
jl 0x47745d
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x64]
movsx edx, word [edx + 0xe]
add edx, edi
mov edi, dword [esp + 0x28]
movsx edi, word [edi + 0xa]
add edx, edi
cmp edx, dword [ebx]
cmovl esi, dword [esp + 0x3c]
mov dword [esp + 0x3c], esi
add eax, 4
add ebx, 4
add ecx, 4
cmp dword [esp + 0x30], eax
jne 0x477418
mov edi, dword [esp + 0x3c]
movzx esi, byte [esp + 0x6f]
mov dword [esp], ebp
mov dword [esp + 4], 0x51e78a
mov dword [esp + 8], edi
call fcn.004720b0
cmp edi, 1
je 0x477908
xor eax, eax
cmp dword [esp + 0x3c], 2
setne al
lea eax, [eax + eax + 0xb]
mov dword [esp + 0xc], 0x49
mov dword [esp + 8], 0x17
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00412680
jmp 0x476e10
mov dword [esp + 8], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], str.__2d_
mov dword [esp], eax
call fcn.004720b0
lea eax, [ebx + 0x10]
mov dword [esp + 0xc], 0x36
mov dword [esp + 8], eax
lea eax, [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.00412680
jmp 0x4771b6
cmp ax, 0xd
jg 0x4777cf
mov ecx, dword [esp + 0x38]
cmp ecx, 1
jle 0x477072
mov edx, dword [esp + 0x24]
add eax, 1
sub ecx, 2
mov dword [esp + 0x38], ecx
mov word [edx + edx + 0xdfd650], ax
jmp 0x477072
mov dword [esp + 8], 2
mov dword [esp + 4], 0x13
mov dword [esp], str.p__PvP
call fcn.00412710
mov dword [esp + 0xc], 9
mov dword [esp + 8], 0x13
mov dword [esp + 4], str._Cant_beat_the_game__instead_special_player_vs_player_rules_apply_
mov dword [esp], 2
call fcn.00412680
jmp 0x4761ed
lea edx, [eax - 1]
cmp ax, 0xc
jle 0x47726d
cmp ax, 0xe
jg 0x47784a
mov eax, dword [esp + 0x24]
add dword [esp + 0x38], 2
mov word [eax + eax + 0xdfd650], dx
jmp 0x4771dc
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Normal
mov dword [esp], 0xe
call fcn.00412680
jmp 0x475a70
or word [0xdfd666], 0x46
jmp 0x475a26
movzx edx, byte [0xdd2179]
mov eax, 4
sub eax, edx
mov dword [esp], eax
call fcn.00402660
cmp eax, 3
ja 0x477801
movzx ebx, byte [eax + str.isHpa]
mov esi, edi
movzx eax, byte [0xdfd675]
jmp 0x4763b6
mov byte [0xd787d0], 1
movzx eax, byte [0xdfd675]
mov esi, edi
mov ebx, 0x23
jmp 0x4763b6
mov byte [0xd787d0], 0
jmp 0x477326
or word [0xdfd666], 0x44
jmp 0x475d86
or word [0xdfd666], 5
jmp 0x476630
mov dword [esp + 8], str.modes
mov dword [esp + 4], 0
mov dword [esp], 3
call fcn.004302a0
movzx eax, byte [0xdfd675]
jmp 0x4763b6
mov dword [esp + 4], str.Current:____Base_________Recommended_min:
mov dword [esp], 9
call fcn.00412680
cmp byte [0xdfd675], 0
je 0x4769db
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.Press
mov dword [esp], 2
call fcn.00412680
jmp 0x4769db
test al, 0x10
je 0x4778bf
test dl, dl
jne 0x4757b0
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51e207
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.No_Ghost
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
test al, 0x10
je 0x477838
test dl, dl
mov eax, 0x70
cmove ebx, eax
jmp 0x475989
mov eax, dword [esp + 0x50]
mov dword [esp], 0xd
mov dword [esp + 4], eax
call fcn.00412680
jmp 0x476e10
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Hellish
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Soloist
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
cmp ax, 0x10
je 0x477dec
mov ecx, dword [esp + 0x38]
cmp ecx, 2
jle 0x477072
mov edx, dword [esp + 0x24]
add eax, 1
sub ecx, 3
mov dword [esp + 0x38], ecx
mov word [edx + edx + 0xdfd650], ax
jmp 0x477072
movzx eax, byte [0xdfd675]
mov esi, edi
jmp 0x4763b6
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x17
mov dword [esp + 4], str.BpR_this_character_gets_with_lightest_sword_blunt_axe_polearm:
mov dword [esp], 9
call fcn.00412680
jmp 0x476a9a
test dl, dl
mov eax, 0x6e
cmove ebx, eax
cmovne esi, edx
jmp 0x475989
cmp ax, 0x10
mov eax, dword [esp + 0x24]
mov word [eax + eax + 0xdfd650], dx
jg 0x477c2a
add dword [esp + 0x38], 3
jmp 0x4771dc
or word [0xdfd666], 0x10
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51e207
mov dword [esp], 0xe
call fcn.00412680
jmp 0x475a70
test dl, dl
jne 0x4757b0
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Normal
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x51e78a
mov dword [esp], ebp
call fcn.004720b0
mov eax, 3
jmp 0x4774a0
mov byte [0xd787d0], 0
jmp 0x476450
mov dword [esp + 4], str.No_Ghost
mov dword [esp], 2
call fcn.00412680
jmp 0x476277
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Hellish
mov dword [esp], 2
call fcn.00412680
jmp 0x476277
mov dword [esp + 4], str.Soloist
mov dword [esp], 2
call fcn.00412680
jmp 0x476277
mov dword [esp + 4], str.return_get_class_bpr_tablesize__
mov dword [esp], ebp
call fcn.004720b0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.004a3160
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 0x54], eax
test eax, eax
je 0x477b18
jle 0x477b18
lea ebx, [eax*4]
lea esi, [esp + 0xa9]
mov dword [esp], ebx
call fcn.00401ab0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x58], eax
call fcn.00401ab0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5c], eax
call fcn.00401ab0
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp + 0x60], eax
mov edi, eax
jmp 0x477a79
add eax, 1
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, dword [esp + 0x2c]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0x42
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x477af1
add eax, 1
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [edi + ebx*4], eax
add ebx, 1
cmp dword [esp + 0x54], ebx
je 0x477b05
movsx eax, word [0xdfd66e]
mov dword [esp + 0xc], ebx
imul eax, eax, 0x644
add eax, dword [0xdfd634]
mov eax, dword [eax]
mov dword [esp + 4], str.return_get_class_bpr___s____d_
mov dword [esp], ebp
mov dword [esp + 8], eax
call fcn.004720b0
mov dword [esp + 4], ebp
mov dword [esp], 0
call fcn.004a3160
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov dword [esp], esi
call sub.msvcrt.dll_atoi
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0x44
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x477a30
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6d], 0
cmp dword [esp + 0x54], ebx
jne 0x476915
mov eax, dword [edi]
mov byte [esp + 0x6e], 0
test eax, eax
setne byte [esp + 0x6d]
jmp 0x476915
mov byte [esp + 0x6e], 0
mov byte [esp + 0x6d], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
jmp 0x476915
mov dword [esp + 4], 0x51e1a0
mov dword [esp], 2
call fcn.00412680
jmp 0x474b2b
mov dword [esp + 4], str.Normal_body
mov dword [esp], 2
call fcn.00412680
jmp 0x475071
mov ecx, eax
not ecx
and ecx, 5
je 0x477d49
test al, 0xc
je 0x477feb
test al, 0x90
jne 0x477f7c
or eax, 0x40
mov ebx, 0x69
mov word [0xdfd664], ax
jmp 0x4763be
test al, 0x90
je 0x4764f0
or al, 0x80
mov word [0xdfd664], ax
jmp 0x4764f9
mov dword [esp + 4], str.Everlasting
mov dword [esp], 2
call fcn.00412680
jmp 0x476277
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Everlasting
mov dword [esp], 2
call fcn.00412680
jmp 0x4757b0
mov dword [esp + 4], str.Normal
mov dword [esp], 2
call fcn.00412680
jmp 0x476277
mov dword [esp + 4], str._Bats_are_faster_and_vampiric__but_cant_wear_certain_items_
mov dword [esp], 2
call fcn.00412680
jmp 0x475013
add dword [esp + 0x38], 4
sub dword [esp + 0x68], 1
jmp 0x4771dc
mov byte [0xd787d0], 1
mov esi, eax
mov ebx, 0x23
jmp 0x474d16
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov dword [esp], str.Trait_:
call fcn.00412710
movsx edx, word [0xdfd65c]
mov eax, dword [0xdfd630]
mov dword [esp + 0xc], 9
mov dword [esp + 8], 7
mov eax, dword [eax + edx*8]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.00412680
jmp 0x474865
or al, 0x80
mov ebx, 0x48
mov word [0xdfd664], ax
jmp 0x4763be
mov eax, dword [0xdfd668]
mov dword [esp + 0xc], 9
mov dword [esp + 8], 5
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.00412680
jmp 0x47480a
imul eax, eax, 0x638
add eax, dword [0xdfd638]
mov dword [esp + 0xc], 9
mov dword [esp + 8], 6
mov eax, dword [eax]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.00412680
cmp byte [0xdfd675], 0
jne 0x47484a
jmp 0x474865
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Hellish
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
test al, 0x90
jne 0x477fa7
or eax, 0x40
mov ebx, 0x73
mov word [0xdfd664], ax
jmp 0x4763be
mov dword [esp + 4], str.No_Ghost
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
mov byte [0xd787d0], 0
jmp 0x474c6a
movzx eax, byte [0xdfd675]
mov esi, 1
mov ebx, 0x66
jmp 0x474c62
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x15
mov dword [esp + 4], str.f__Fruit_bat
mov dword [esp], 8
call fcn.00412680
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 0x15
mov dword [esp + 4], str._WARNING:_Do_not_pick_this_as_Archer__as_bats_cannot_use_bows__
mov dword [esp], 8
call fcn.00412680
jmp 0x475013
mov eax, dword [esp + 0x38]
cmp eax, 3
jle 0x477072
mov edi, dword [esp + 0x68]
test edi, edi
jne 0x477072
mov ebx, 0x11
sub eax, 4
mov dword [esp + 0x68], 1
mov word [ecx + ecx + 0xdfd650], bx
mov dword [esp + 0x38], eax
jmp 0x477072
mov ebx, 2
mov dword [esp + 4], ebx
add ebx, 1
mov dword [esp + 8], 0xff
mov dword [esp], 0x1e
call fcn.00409060
cmp ebx, 0xb
jne 0x477e2b
mov dword [esp], 0xc
call fcn.00415090
jmp 0x475612
mov eax, dword [esp + 0x44]
mov ebx, 2
mov dword [0xdfd650], eax
mov eax, dword [esp + 0x48]
mov dword [0xdfd654], eax
mov eax, dword [esp + 0x40]
mov dword [0xdfd658], eax
mov dword [esp + 4], ebx
add ebx, 1
mov dword [esp + 8], 0xff
mov dword [esp], 0x1e
call fcn.00409060
cmp ebx, 0xb
jne 0x477e7c
mov dword [esp], 0xc
call fcn.00415090
jmp 0x474f6a
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Hard
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
or word [0xdfd666], 0x200
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 8
mov dword [esp + 4], str.Fruit_bat
mov dword [esp], 0xe
call fcn.00412680
jmp 0x4754b8
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov dword [esp], str.Trait_:
call fcn.00412710
movsx edx, word [0xdfd65c]
mov eax, dword [0xdfd630]
mov dword [esp + 0xc], 9
mov dword [esp + 8], 7
mov eax, dword [eax + edx*8]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.00412680
jmp 0x474f3a
or al, 0x80
mov ebx, 0x69
mov word [0xdfd664], ax
jmp 0x4763be
mov dword [esp + 4], str.Soloist
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
or al, 0x80
mov ebx, 0x73
mov word [0xdfd664], ax
jmp 0x4763be
mov dword [esp + 4], str.Normal
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
mov dword [esp + 4], str.Everlasting
mov dword [esp], 2
call fcn.00412680
jmp 0x474945
test al, 0x10
je 0x477b86
test dl, dl
jne 0x477b86
test al, 0x90
jne 0x4780b0
or eax, 0x40
mov ebx, 0x70
mov word [0xdfd664], ax
jmp 0x4763be
or word [0xdfd666], 0x90
jmp 0x477872
cmp byte [0xd786cb], 0
je 0x474ee0
jmp 0x474dee
cmp byte [0xd786cb], 0
je 0x474a7e
jmp 0x474dee
cmp bl, 0x65
jne 0x475c71
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], 0x51d747
mov dword [esp], 0xe
or word [0xdfd666], 8
call fcn.00412680
mov dword [esp + 0xc], 9
mov dword [esp + 8], 9
mov dword [esp + 4], str.Everlasting
mov dword [esp], 0xe
call fcn.00412680
jmp 0x475a70
or al, 0x80
mov ebx, 0x70
mov word [0xdfd664], ax
jmp 0x4763be