Function at 0x461080
Capabilities:
Authenticate hmac
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
lea eax, [ebp - 0x22c]
push edi
push esi
push ebx
sub esp, 0x25c
mov byte [ebp - 0x24d], 0
xor ebx, ebx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x230]
mov dword [esp + 8], eax
lea eax, [ebp - 0x234]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [0x4d8fa0]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x238]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x23c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x240]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.004629d0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x234]
movzx esi, word [eax + 8]
movsx eax, si
cdq
mov edi, edx
xor edi, eax
sub edi, edx
test cl, 1
je 0x461111
mov eax, dword [str.strength]
mov ebx, 1
mov dword [ebp - 0x28], eax
test cl, 2
je 0x461120
mov eax, dword [str.dexterity]
mov dword [ebp + ebx*4 - 0x28], eax
inc ebx
test cl, 4
je 0x46112f
mov eax, dword [str.constitution]
mov dword [ebp + ebx*4 - 0x28], eax
inc ebx
test cl, 8
je 0x46113e
mov eax, dword [str.grace]
mov dword [ebp + ebx*4 - 0x28], eax
inc ebx
xor eax, eax
test ebx, ebx
je 0x4611a1
cmp ebx, 4
je 0x461d9e
test si, si
mov eax, str.increases
js 0x461e94
mov dword [esp + 4], eax
mov dword [esp], str.It__s_your
call fcn.00495450
call fcn.00460f70
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00460fb0
mov dword [esp + 4], edi
mov dword [esp], str._by__i.
call fcn.00495450
call fcn.00460f70
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, dword [ebp - 0x234]
movzx esi, word [edx + 8]
test al, al
je 0x4611ac
mov byte [ebp - 0x24d], 1
movsx eax, si
xor ebx, ebx
cdq
mov edi, edx
xor edi, eax
sub edi, edx
test cl, 0x10
je 0x4611ca
mov eax, dword [str.strength]
mov ebx, 1
mov dword [ebp - 0x38], eax
test cl, 0x20
je 0x4611d9
mov eax, dword [str.dexterity]
mov dword [ebp + ebx*4 - 0x38], eax
inc ebx
test cl, 0x40
je 0x4611e8
mov eax, dword [str.constitution]
mov dword [ebp + ebx*4 - 0x38], eax
inc ebx
test cl, cl
jns 0x4611f6
mov eax, dword [str.grace]
mov dword [ebp + ebx*4 - 0x38], eax
inc ebx
xor eax, eax
test ebx, ebx
je 0x46125a
cmp ebx, 4
je 0x461d75
test si, si
mov eax, str.increases
js 0x461214
mov eax, str.decreases
mov dword [esp + 4], eax
mov dword [esp], str.It__s_your
call fcn.00495450
call fcn.00460f70
lea eax, [ebp - 0x38]
mov edx, ebx
call fcn.00460fb0
mov dword [esp + 4], edi
mov dword [esp], str._by__i.
call fcn.00495450
call fcn.00460f70
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, dword [ebp - 0x234]
movzx esi, word [edx + 8]
test al, al
je 0x461265
mov byte [ebp - 0x24d], 1
movsx eax, si
xor ebx, ebx
cdq
mov edi, edx
xor edi, eax
sub edi, edx
test ch, 1
je 0x461282
mov dword [ebp - 0x58], str.melee
mov ebx, 1
test ch, 2
je 0x461291
mov eax, str.archery
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ch, 4
je 0x4612a0
mov eax, str.stealth
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ch, 8
je 0x4612af
mov edx, str.perception
mov dword [ebp + ebx*4 - 0x58], edx
inc ebx
test ch, 0x10
je 0x4612be
mov eax, str.will
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ch, 0x20
je 0x4612cd
mov eax, str.smithing
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ch, 0x40
je 0x4612dc
mov eax, str.song
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ecx, 0x20000
je 0x4612ee
mov eax, str.tunneling
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
test ecx, 0x10000
je 0x461300
mov eax, str.damage_sides
mov dword [ebp + ebx*4 - 0x58], eax
inc ebx
xor eax, eax
test ebx, ebx
je 0x461353
test si, si
mov eax, str.improves
js 0x461e07
mov dword [esp + 4], eax
mov dword [esp], str.It__s_your
call fcn.00495450
call fcn.00460f70
mov edx, ebx
lea eax, [ebp - 0x58]
call fcn.00460fb0
mov dword [esp + 4], edi
mov dword [esp], str._by__i.
call fcn.00495450
call fcn.00460f70
mov ecx, dword [ebp - 0x234]
mov eax, 1
test al, al
je 0x46135e
mov byte [ebp - 0x24d], 1
xor ebx, ebx
test ecx, 0x800000
je 0x461374
mov dword [ebp - 0x78], str.wolves
mov ebx, 1
test ecx, 0x200000
je 0x461386
mov eax, str.orcs
mov dword [ebp + ebx*4 - 0x78], eax
inc ebx
test ecx, 0x400000
je 0x461398
mov edi, str.trolls
mov dword [ebp + ebx*4 - 0x78], edi
inc ebx
test ecx, 0x1000000
je 0x4613aa
mov esi, str.spiders
mov dword [ebp + ebx*4 - 0x78], esi
inc ebx
test ecx, 0x8000000
je 0x4613bc
mov edx, str.dragons
mov dword [ebp + ebx*4 - 0x78], edx
inc ebx
test ecx, 0x4000000
je 0x4613ce
mov eax, str.raukar
mov dword [ebp + ebx*4 - 0x78], eax
inc ebx
test ecx, 0x2000000
je 0x4613e0
mov eax, str.undead
mov dword [ebp + ebx*4 - 0x78], eax
inc ebx
test ebx, ebx
je 0x461416
mov ecx, dword [ebp + 8]
mov eax, str.It_slays
cmp byte [ecx + 0xb], 1
je 0x4613f7
mov eax, str.They_slay
call fcn.00460f70
lea eax, [ebp - 0x78]
mov edx, ebx
call fcn.00460fb0
mov eax, 0x4b4921
call fcn.00460f70
mov ecx, dword [ebp - 0x234]
test ebx, ebx
je 0x461421
mov byte [ebp - 0x24d], 1
xor ebx, ebx
test ecx, 0x40000000
je 0x46143b
mov eax, str.lightning
mov ebx, 1
mov dword [ebp - 0x98], eax
test ecx, 0x20000000
je 0x461450
mov eax, str.flame
mov dword [ebp + ebx*4 - 0x98], eax
inc ebx
test ecx, 0x10000000
je 0x461465
mov eax, str.frost
mov dword [ebp + ebx*4 - 0x98], eax
inc ebx
test ecx, ecx
js 0x461cf7
mov eax, dword [ebp + 8]
cmp byte [eax + 0xb], 1
je 0x461c8e
mov dword [esp], ebx
lea edx, [ebp - 0x98]
mov eax, str.They_are_branded_with
call fcn.00461030
test ebx, ebx
je 0x461498
mov byte [ebp - 0x24d], 1
mov ebx, dword [ebp - 0x234]
xor eax, eax
test ebx, 0x40000
je 0x4614c2
mov edx, dword [ebp + 8]
mov eax, str.It_cuts_easily_through_armour.
cmp byte [edx + 0xb], 1
je 0x4614bb
mov eax, str.They_cut_easily_through_armour.
call fcn.00460f70
mov al, 1
test ebx, 0x80000
jne 0x461c3e
and ebx, 0x100000
jne 0x461c2d
test al, al
je 0x4614e5
mov byte [ebp - 0x24d], 1
mov eax, dword [ebp - 0x230]
xor ebx, ebx
test al, 0x10
je 0x461501
mov edi, str.cold
mov ebx, 1
mov dword [ebp - 0xe8], edi
test al, 0x20
je 0x461512
mov esi, str.fire
mov dword [ebp + ebx*4 - 0xe8], esi
inc ebx
test al, 0x40
je 0x461523
mov ecx, str.lightning
mov dword [ebp + ebx*4 - 0xe8], ecx
inc ebx
test al, al
jns 0x461534
mov edx, str.poison
mov dword [ebp + ebx*4 - 0xe8], edx
inc ebx
test ah, 1
je 0x461546
mov edi, str.dark
mov dword [ebp + ebx*4 - 0xe8], edi
inc ebx
test ah, 2
je 0x461558
mov esi, str.fear
mov dword [ebp + ebx*4 - 0xe8], esi
inc ebx
test ah, 4
je 0x46156a
mov ecx, str.blindness
mov dword [ebp + ebx*4 - 0xe8], ecx
inc ebx
test ah, 8
je 0x46157c
mov edx, str.confusion
mov dword [ebp + ebx*4 - 0xe8], edx
inc ebx
test ah, 0x10
je 0x46158e
mov edi, str.stunning
mov dword [ebp + ebx*4 - 0xe8], edi
inc ebx
test ah, 0x20
je 0x4615a0
mov esi, str.hallucination
mov dword [ebp + ebx*4 - 0xe8], esi
inc ebx
mov dword [esp], ebx
lea edx, [ebp - 0xe8]
mov eax, str.It_provides_resistance_to
call fcn.00461030
test ebx, ebx
je 0x4615be
mov byte [ebp - 0x24d], 1
mov eax, dword [ebp - 0x230]
xor ebx, ebx
test eax, 0x20000000
je 0x4615dd
mov ebx, str.cold
mov dword [ebp - 0x138], ebx
mov ebx, 1
test eax, 0x40000000
je 0x4615f1
mov ecx, str.fire
mov dword [ebp + ebx*4 - 0x138], ecx
inc ebx
test eax, eax
js 0x461ce5
mov dword [esp], ebx
lea edx, [ebp - 0x138]
mov eax, str.It_makes_you_more_vulnerable_to
call fcn.00461030
test ebx, ebx
je 0x461617
mov byte [ebp - 0x24d], 1
mov edx, dword [ebp - 0x230]
xor ebx, ebx
test dl, 1
je 0x461634
mov eax, dword [str.strength]
mov ebx, 1
mov dword [ebp - 0x148], eax
test dl, 2
je 0x461646
mov eax, dword [str.dexterity]
mov dword [ebp + ebx*4 - 0x148], eax
inc ebx
test dl, 4
je 0x461658
mov eax, dword [str.constitution]
mov dword [ebp + ebx*4 - 0x148], eax
inc ebx
test dl, 8
je 0x46166a
mov eax, dword [str.grace]
mov dword [ebp + ebx*4 - 0x148], eax
inc ebx
cmp ebx, 4
je 0x461ca1
mov dword [esp], ebx
lea edx, [ebp - 0x148]
mov eax, str.It_sustains_your
call fcn.00461030
test ebx, ebx
je 0x461691
mov byte [ebp - 0x24d], 1
mov byte [ebp - 0x255], 0
mov ecx, dword [ebp - 0x22c]
xor esi, esi
xor edi, edi
mov ebx, dword [ebp - 0x230]
mov dword [ebp - 0x254], ecx
and ecx, 0x100000
jne 0x461c4f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 6]
cmp dl, 0x27
je 0x461c85
test ebx, 0x10000
je 0x4616df
mov eax, str.lights_the_dungeon_around_you
mov dword [ebp + esi*4 - 0x168], eax
inc esi
test ebx, 0x10000
je 0x4616f0
cmp dl, 0x27
je 0x461d3f
mov eax, ebx
and eax, 0x8000
test ax, ax
je 0x461709
mov eax, str.reduces_your_need_for_food
mov dword [ebp + esi*4 - 0x168], eax
inc esi
test bh, 0x40
je 0x461717
cmp dl, 0x13
je 0x461d51
test bh, 0x40
je 0x461725
cmp dl, 0x1e
je 0x461d63
test ebx, 0x20000
je 0x46173a
mov eax, str.speeds_your_regeneration__which_also_increases_your_hunger_
mov dword [ebp + esi*4 - 0x168], eax
inc esi
mov dword [esp], esi
lea edx, [ebp - 0x168]
mov eax, 0x4b4b68
call fcn.00461030
test esi, esi
je 0x461758
mov byte [ebp - 0x255], 1
xor esi, esi
test ebx, 0x200000
je 0x461772
mov esi, str.great_speed
mov dword [ebp - 0x168], esi
mov esi, 1
test ebx, 0x80000
je 0x461787
mov ecx, str.freedom_of_movement
mov dword [ebp + esi*4 - 0x168], ecx
inc esi
test ebx, 0x40000
je 0x46179c
mov edx, str.the_ability_to_see_invisible_creatures
mov dword [ebp + esi*4 - 0x168], edx
inc esi
test ebx, 0x4000000
je 0x4617b5
mov eax, str.makes_you_encounter_more_dangerous_creatures__even_when_not_worn_
mov dword [ebp + edi*4 - 0x188], eax
mov edi, 1
test ebx, 0x400000
je 0x4617ca
mov eax, str.causes_you_to_panic_in_combat
mov dword [ebp + edi*4 - 0x188], eax
inc edi
test ebx, 0x800000
je 0x4617df
mov eax, str.increases_your_hunger
mov dword [ebp + edi*4 - 0x188], eax
inc edi
test ebx, 0x1000000
je 0x4617f4
mov eax, str.creates_an_unnatural_darkness
mov dword [ebp + edi*4 - 0x188], eax
inc edi
test ebx, 0x2000000
je 0x461809
mov eax, str.slows_your_movement
mov dword [ebp + edi*4 - 0x188], eax
inc edi
test ebx, 0x8000000
je 0x46181e
mov eax, str.enrages_nearby_creatures
mov dword [ebp + edi*4 - 0x188], eax
inc edi
and ebx, 0x10000000
je 0x461833
mov ebx, str.draws_wraiths_to_your_level
mov dword [ebp + edi*4 - 0x188], ebx
inc edi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
test al, 0x40
je 0x461870
mov ecx, dword [ebp - 0x254]
test ecx, ecx
js 0x461df5
test dword [ebp - 0x254], 0x40000000
je 0x461d09
mov eax, str.is_heavily_cursed
mov dword [ebp + edi*4 - 0x188], eax
inc edi
nop
lea esi, [esi]
test esi, esi
jne 0x4619ae
test edi, edi
jne 0x4619c9
or esi, edi
je 0x46188b
mov byte [ebp - 0x255], 1
cmp byte [ebp - 0x255], 0
je 0x46189b
mov byte [ebp - 0x24d], 1
mov edx, dword [ebp - 0x22c]
test edx, 0x400000
jne 0x4619f8
xor eax, eax
test al, al
je 0x4618ba
mov byte [ebp - 0x24d], 1
test edx, 0x10000
je 0x4618e0
test edx, 0x40000
je 0x4618e0
and edx, 0x80000
jne 0x461e11
lea esi, [esi]
lea edi, [edi]
xor eax, eax
test al, al
je 0x4618ed
mov byte [ebp - 0x24d], 1
mov eax, dword [ebp + 8]
xor esi, esi
mov ecx, dword [eax + 0x1c]
test cl, 8
jne 0x461920
movsx eax, word [eax]
mov edx, dword [0x4f33c0]
lea eax, [eax + eax*8]
shl eax, 3
test byte [eax + edx + 0x27], 1
je 0x461b5f
cmp byte [eax + edx + 0x42], 0
je 0x461b5f
nop
mov edx, dword [ebp + 8]
xor ebx, ebx
cmp byte [edx + 0x28], 0
je 0x461b75
nop
mov ecx, dword [ebp + 8]
movzx eax, byte [ebx + ecx + 0x31]
mov dword [esp + 4], eax
movzx eax, byte [ebx + ecx + 0x29]
inc ebx
mov dword [esp], eax
call fcn.0041bc90
mov ecx, dword [0x8732e0]
lea eax, [eax + eax*8]
mov edx, dword [0x873490]
mov edi, dword [ecx + eax*4]
add edx, edi
mov dword [ebp + esi*4 - 0x228], edx
mov edx, dword [ebp + 8]
inc esi
movzx eax, byte [edx + 0x28]
cmp eax, ebx
jg 0x461930
test esi, esi
je 0x461b75
cmp esi, 1
mov eax, str.It_grants_you_the_ability:
je 0x461988
mov eax, str.It_grants_you_the_abilities:
call fcn.00460f70
lea eax, [ebp - 0x228]
mov edx, esi
call fcn.00460fb0
mov eax, 0x4b4921
call fcn.00460f70
mov eax, 1
jmp 0x461b77
mov eax, str.It_grants_you
call fcn.00460f70
mov edx, esi
lea eax, [ebp - 0x168]
call fcn.00460fb0
test edi, edi
je 0x4619e9
test esi, esi
mov eax, str.__but_it_also
jne 0x4619d7
mov eax, 0x4b4b68
call fcn.00460f70
lea eax, [ebp - 0x188]
mov edx, edi
call fcn.00460fb0
mov eax, 0x4b4921
call fcn.00460f70
jmp 0x461880
mov eax, 0x78
lea ebx, [ebp - 0x208]
mov dword [esp + 8], eax
mov eax, str.It_activates_for
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00498050
mov ecx, ebx
lea esi, [esi]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x461a20
test edx, 0x8080
jne 0x461a45
shr edx, 0x10
add ecx, 2
lea eax, [ebp - 0x244]
add dl, dl
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x248]
mov dword [esp + 8], eax
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
sbb ecx, 3
sub ecx, ebx
movzx edi, cx
mov dword [esp], eax
call fcn.004629d0
test byte [ebp - 0x242], 0x40
je 0x461b18
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + 0xe]
test cl, cl
je 0x461b18
mov eax, dword [0x872c90]
movzx dx, cl
cmp dx, word [eax + 0x26]
jae 0x461b18
movzx eax, cl
imul esi, eax, 0x5c
mov eax, dword [0x873500]
add esi, eax
cmp byte [esi + 0x49], 0x36
ja 0x461b18
mov eax, 0x78
mov dword [esp + 8], eax
movzx eax, byte [esi + 0x49]
mov dword [esp], ebx
mov eax, dword [eax*4 + 0x4a3780]
mov dword [esp + 4], eax
call fcn.004980b0
movzx edx, word [esi + 0x4a]
test dx, dx
je 0x461eca
movzx eax, word [esi + 0x4c]
test ax, ax
jne 0x461eea
mov dword [esp], str._every__d_turns
movzx eax, dx
mov dword [esp + 4], eax
call fcn.00495450
mov dword [esp + 4], eax
mov ecx, 0x78
mov dword [esp + 8], ecx
mov dword [esp], ebx
call fcn.004980b0
mov ecx, ebx
lea esi, [esi]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
and edx, 0x80808080
je 0x461b20
test edx, 0x8080
jne 0x461b45
shr edx, 0x10
add ecx, 2
add dl, dl
sbb ecx, 3
sub ecx, ebx
cmp ecx, edi
ja 0x461e5c
mov edx, dword [ebp - 0x22c]
jmp 0x4618ad
xor eax, eax
test cl, 0x10
je 0x461b77
mov edx, dword [ebp + 8]
xor ebx, ebx
cmp byte [edx + 0x28], 0
jne 0x461930
xor eax, eax
test al, al
je 0x461b82
mov byte [ebp - 0x24d], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x238]
movzx eax, byte [ecx + 6]
xor ecx, ecx
sub eax, 0x14
cmp eax, 3
ja 0x461bc0
test edx, 0x8000000
mov eax, str.It_does_extra_damage_when_wielded_with_both_hands.
jne 0x461e2a
xor ecx, ecx
test edx, 0x10000000
jne 0x461e25
nop
lea esi, [esi]
test cl, cl
je 0x461bcb
mov byte [ebp - 0x24d], 1
mov eax, edx
and eax, 0x8000
xor edx, edx
test ax, ax
jne 0x461c1c
test dl, dl
je 0x461be4
mov byte [ebp - 0x24d], 1
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 6]
cmp dl, 0x13
je 0x461e3f
xor eax, eax
cmp dl, 0x11
je 0x461cb0
test al, al
je 0x461c0a
mov byte [ebp - 0x24d], 1
movsx eax, byte [ebp - 0x24d]
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, str.It_counts_as_a_type_of_polearm.
call fcn.00460f70
mov edx, 1
jmp 0x461bd9
mov eax, str.It_drains_life_from_your_enemies.
call fcn.00460f70
mov al, 1
jmp 0x4614da
mov eax, str.It_cuts_very_easily_through_armour.
call fcn.00460f70
mov al, 1
jmp 0x4614ce
mov eax, dword [ebp + 8]
mov esi, 1
mov dword [esp], eax
call fcn.004166f0
mov dword [esp + 4], eax
mov dword [esp], str.can_be_thrown_effectively___d_squares_
call fcn.00495450
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 6]
cmp dl, 0x27
jne 0x4616ca
cmp byte [ecx + 0xe], 0
jmp 0x4616d0
mov dword [esp], ebx
lea edx, [ebp - 0x98]
mov eax, str.It_is_branded_with
jmp 0x461488
mov eax, str.It_sustains_all_your_stats.
call fcn.00460f70
jmp 0x461686
mov eax, dword [0x4f3410]
cmp word [eax + 0x5dc], 0
jne 0x461dc6
mov ecx, dword [ebp + 8]
mov eax, str.It_can_be_shot_by_a_bow.
cmp byte [ecx + 0xb], 1
je 0x461cd6
mov eax, str.They_can_be_shot_by_a_bow.
call fcn.00460f70
mov eax, 1
jmp 0x461bff
mov edx, str.poison
mov dword [ebp + ebx*4 - 0x138], edx
inc ebx
jmp 0x4615f9
mov eax, str.venom
mov dword [ebp + ebx*4 - 0x98], eax
inc ebx
jmp 0x46146d
test al, 8
jne 0x461d35
mov ecx, dword [ebp + 8]
mov edx, dword [0x4f33c0]
movsx eax, word [ecx]
lea eax, [eax + eax*8]
shl eax, 3
test byte [eax + edx + 0x27], 1
je 0x461870
cmp byte [eax + edx + 0x42], 0
je 0x461870
mov eax, str.is_cursed
jmp 0x461860
mov eax, str.burns_brightly__increasing_your_light_radius_by_an_additional_square
mov dword [ebp + esi*4 - 0x168], eax
inc esi
jmp 0x4616f0
mov eax, str.fires_shining_arrows
mov dword [ebp + esi*4 - 0x168], eax
inc esi
jmp 0x461717
mov eax, str.lights_your_path_behind_you
mov dword [ebp + esi*4 - 0x168], eax
inc esi
jmp 0x461725
test si, si
mov eax, str.increases
js 0x461d84
mov eax, str.decreases
mov dword [esp + 4], eax
mov dword [esp], str.It__s_all_your_stats
call fcn.00495450
call fcn.00460f70
jmp 0x461233
test si, si
mov eax, str.increases
js 0x461ec0
mov dword [esp + 4], eax
mov dword [esp], str.It__s_all_your_stats
call fcn.00495450
call fcn.00460f70
jmp 0x46117a
mov edx, dword [ebp + 8]
cmp byte [edx + 0xb], 1
je 0x461e9e
add eax, 0x5dc
mov dword [esp], eax
call fcn.004166b0
mov dword [esp + 4], eax
mov dword [esp], str.They_can_be_shot__d_squares__with_your_current_strength_and_bow_.
call fcn.00495450
jmp 0x461cd6
mov edx, str.is_permanently_cursed
mov dword [ebp + edi*4 - 0x188], edx
inc edi
jmp 0x461870
mov eax, str.worsens
jmp 0x461314
mov eax, str.It_cannot_be_harmed_by_the_elements.
call fcn.00460f70
mov eax, 1
jmp 0x4618e2
mov eax, str.It_requires_both_hands_to_wield_it_properly.
call fcn.00460f70
mov edx, dword [ebp - 0x238]
mov ecx, 1
jmp 0x461bc0
mov dword [esp], eax
call fcn.004166b0
mov dword [esp + 4], eax
mov dword [esp], str.It_can_shoot_arrows__d_squares__with_your_current_strength_.
call fcn.00495450
jmp 0x461cd6
mov dword [esp], 0x4b4921
call fcn.00495450
mov dword [esp + 4], eax
mov edx, 0x78
mov dword [esp + 8], edx
mov dword [esp], ebx
call fcn.004980b0
mov eax, ebx
call fcn.00460f70
mov edx, dword [ebp - 0x22c]
mov eax, 1
jmp 0x4618af
mov eax, str.decreases
jmp 0x46115b
add eax, 0x5dc
mov dword [esp], eax
call fcn.004166b0
mov dword [esp + 4], eax
mov dword [esp], str.It_can_be_shot__d_squares__with_your_current_strength_and_bow_.
call fcn.00495450
jmp 0x461cd6
mov eax, str.decreases
jmp 0x461dac
movzx eax, word [esi + 0x4c]
test ax, ax
je 0x461b18
mov dword [esp], str._every_d_d_turns
movzx eax, ax
mov dword [esp + 4], eax
jmp 0x461afe
movzx eax, ax
mov dword [esp + 8], eax
movzx eax, word [esi + 0x4a]
mov dword [esp], str._every__dd_d_turns
mov dword [esp + 4], eax
call fcn.00495450
jmp 0x461b03