Function at 0x472710
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
sub esp, 0xec
cmp eax, 0xffffffff
mov dword [ebp - 0x6c], eax
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x78], 1
mov byte [ebp - 0x79], 1
je 0x472749
mov edx, dword [0x4f3b80]
shl eax, 6
add eax, edx
mov dword [ebp - 0x78], eax
movzx ecx, byte [eax + 0x24]
mov byte [ebp - 0x79], cl
mov eax, dword [ebp + 0x10]
mov ebx, str._dies.
mov dword [esp + 4], eax
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.004829d0
mov dword [ebp - 0x80], eax
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0xa8], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0xac], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xb8], eax
xor eax, eax
mov dword [ebp - 0xa4], edx
mov edx, dword [0x4f3b70]
mov dword [ebp - 0xbc], eax
mov eax, esi
shl eax, 8
mov byte [ebp - 0x98], 0
add eax, ecx
xor ecx, ecx
cmp byte [edx + eax*2], 0
mov byte [ebp - 0x99], 0
mov byte [ebp - 0x9a], 1
mov dword [ebp - 0xc0], ebx
js 0x472a30
lea eax, [esi + esi*4]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [ebp + 8]
add eax, edx
mov edx, dword [0x8730e0]
movzx eax, word [edx + eax*2]
test ax, ax
jle 0x472a30
cwde
cmp eax, dword [ebp - 0x6c]
je 0x472a30
mov ebx, eax
mov eax, dword [0x4f3b80]
shl ebx, 6
mov ecx, dword [0x4f2a70]
add ebx, eax
movsx eax, word [ebx]
lea edx, [eax + eax*4]
lea edx, [eax + edx*4]
lea edx, [ecx + edx*4]
lea eax, [eax + eax*8]
mov dword [ebp - 0x70], edx
mov edx, dword [0x4f1660]
lea eax, [edx + eax*4]
mov dword [ebp - 0x74], eax
cmp byte [ebx + 0x24], 0
jne 0x472a40
mov dword [esp + 8], ebx
xor ecx, ecx
mov edx, 0x50
mov dword [esp + 0xc], ecx
lea ecx, [ebp - 0x68]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.0045d890
mov edx, dword [ebp - 0x70]
mov eax, dword [edx + 0x2c]
test al, 0x10
jne 0x472880
test al, 0x20
jne 0x472880
test ah, 0x20
je 0x472a71
lea esi, [esi]
lea edi, [edi]
mov eax, str._is_destroyed.
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0x20]
mov ecx, eax
or ecx, 8
cmp dword [ebp - 0x6c], 0
mov edx, ecx
js 0x472a62
cmp dword [ebp + 0x18], 0x18
ja case.0x4728ac.1
mov eax, dword [ebp + 0x18]
jmp dword [eax*4 + 0x4b6d70]
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x4728c6
mov byte [ebp - 0x99], 1
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x80], 0
movsx eax, word [ebx + 6]
cmp eax, dword [ebp - 0x80]
jge 0x4730d8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xbc], edx
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x472909
movzx eax, word [ebx + 0x1a]
mov edx, dword [ebp - 0xb8]
sub eax, edx
mov word [ebx + 0x1a], ax
mov eax, dword [ebp - 0x80]
test eax, eax
jle 0x47291a
cmp byte [ebx + 0x24], 0
jne 0x47321c
mov edi, dword [ebp - 0x6c]
test edi, edi
jle 0x4732a8
lea eax, [esi + esi*4]
mov ecx, dword [0x4a49e8]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [ebp + 8]
lea edi, [eax + edx]
mov edx, dword [0x8730e0]
movzx eax, word [edx + edi*2]
cmp word [ecx + 0x480], ax
je 0x47327c
movzx eax, word [ebx + 6]
mov ecx, dword [ebp - 0x80]
or dword [ebx + 0x20], 8
sub eax, ecx
test ax, ax
mov word [ebx + 6], ax
jle 0x473337
mov dword [esp], ebx
call fcn.0040b700
mov eax, dword [ebp - 0xbc]
test eax, eax
setne dl
movzx eax, byte [ebp - 0x98]
and eax, 1
test eax, edx
jne 0x473315
mov eax, dword [ebp - 0x80]
test eax, eax
jle 0x4729b0
mov ecx, dword [ebp - 0x80]
mov eax, dword [0x8730e0]
mov dword [esp + 4], ecx
movsx eax, word [eax + edi*2]
mov dword [esp], eax
call fcn.00460cb0
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
jne 0x47328b
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esi + esi*4]
mov edi, dword [ebp + 8]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [0x8730e0]
add eax, edi
movsx eax, word [edx + eax*2]
mov dword [esp], eax
call fcn.0045dff0
mov edi, dword [ebp + 8]
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.004061c0
movzx eax, word [ebx]
mov edx, dword [0x4a49e8]
cmp word [edx + 0x482], ax
je 0x47315d
inc dword [0x4c5270]
mov eax, dword [ebp + 8]
movsx ecx, byte [ebp - 0x99]
mov dword [0x4c5290], esi
mov dword [0x4c5280], eax
lea esi, [esi]
lea edi, [edi]
add esp, 0xec
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp - 0x98], 1
jmp 0x472840
mov dword [ebx + 0x20], edx
add esp, 0xec
xor ecx, ecx
pop ebx
mov eax, ecx
pop esi
pop edi
pop ebp
ret
mov ecx, eax
or ecx, 0x20008
mov edx, ecx
jmp 0x47289f
movsx eax, byte [edx + 0x4f]
mov dword [esp], 0x4b6c8e
mov dword [esp + 4], eax
call sub.msvcrt.dll_strchr
test eax, eax
jne 0x472880
jmp 0x47288b
mov dword [ebx + 0x20], edx
mov ecx, dword [ebp - 0x70]
test byte [ecx + 0x2d], 0x20
je 0x472d8e
cmp byte [ebp - 0x98], 0
je 0x472abc
mov byte [ebp - 0x99], 1
mov eax, dword [ebp - 0x74]
or dword [eax + 0x1c], 0x2000
mov dword [esp], ebx
mov edx, 2
mov dword [esp + 4], edx
call fcn.0045dd30
mov dword [esp + 0xc], ebx
add eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 1
call fcn.0040b7b0
test eax, eax
jle 0x4736b3
mov eax, str._partly_shatters_
mov dword [ebp - 0xbc], eax
mov eax, str._shatters_
mov dword [ebp - 0xc0], eax
jmp 0x4728d6
movzx eax, word [ebx + 6]
movzx edx, word [ebx + 8]
cmp ax, dx
setne byte [ebp - 0xc1]
cmp byte [ebp - 0x98], 0
je 0x472b2c
mov byte [ebp - 0x99], 1
or ecx, 8
mov dword [ebx + 0x20], ecx
mov ecx, dword [ebp - 0x80]
add eax, ecx
cmp dx, ax
jge 0x473535
mov word [ebx + 6], dx
lea eax, [esi + esi*4]
mov ecx, dword [0x4a49e8]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [ebp + 8]
add eax, edx
mov edx, dword [0x8730e0]
movzx eax, word [edx + eax*2]
cmp word [ecx + 0x480], ax
je 0x473598
cmp byte [ebp - 0xc1], 0
jne 0x47353e
mov byte [ebp - 0x99], 0
cmp word [ebx + 0xa], 0xfff6
setge al
neg al
and byte [ebp - 0x9a], al
jmp 0x4728cf
mov dword [ebx + 0x20], edx
mov edx, dword [ebp + 8]
mov eax, esi
shl eax, 8
add eax, edx
mov edx, dword [0x4f3b70]
test byte [edx + eax*2 + 1], 4
je 0x472c24
mov edx, dword [ebp - 0x70]
test byte [edx + 0x2d], 0x10
je 0x4735a7
cmp byte [ebp - 0x98], 0
je 0x472bda
mov byte [ebp - 0x99], 1
mov ecx, dword [ebp - 0x74]
or dword [ecx + 0x1c], 0x1000
movzx eax, byte [ebp - 0x80]
movzx ecx, byte [ebx + 5]
add byte [ebx + 0x10], al
movzx eax, byte [ebx + 4]
mov edi, dword [0x4a49e8]
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [0x8730e0]
add eax, ecx
movzx eax, word [edx + eax*2]
cmp word [edi + 0x480], ax
je 0x4736c3
mov dword [ebp - 0x80], 0
mov edi, str._cringes_from_the_light_
mov dword [ebp - 0xbc], edi
mov byte [ebp - 0x9a], 0
jmp 0x4728d6
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472c43
mov byte [ebp - 0x99], 1
mov edx, dword [ebp - 0x70]
test byte [edx + 0x2e], 0x10
je 0x4728d6
cmp byte [ebp - 0x98], 0
mov edi, str._resists.
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x80], 0
je 0x4728d6
mov ecx, dword [ebp - 0x74]
or dword [ecx + 0x1c], 0x100000
jmp 0x4728d6
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472c91
mov byte [ebp - 0x99], 1
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + 0x2c]
test eax, 0x80000
je 0x472cc6
cmp byte [ebp - 0x98], 0
mov edx, str._resists.
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0x80], 0
je 0x472cc6
mov edi, dword [ebp - 0x74]
or dword [edi + 0x1c], 0x80000
mov eax, dword [ecx + 0x2c]
and eax, 0x8000
test ax, ax
je 0x4728d6
shl dword [ebp - 0x80], 1
mov eax, str._is_badly_hurt.
cmp byte [ebp - 0x98], 0
mov dword [ebp - 0xbc], eax
je 0x4728d6
mov eax, dword [ebp - 0x74]
or dword [eax + 0x1c], 0x8000
jmp 0x4728d6
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472d11
mov byte [ebp - 0x99], 1
mov dword [esp], ebx
mov eax, 5
mov dword [esp + 4], eax
call fcn.0045dc90
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x70]
test byte [ecx + 0x2f], 0x40
je 0x472d3a
add eax, 0x64
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], esi
mov edx, dword [0x4a49e8]
mov dword [esp + 0xc], eax
movsx eax, word [edx + 2]
mov dword [esp + 4], eax
movsx eax, word [edx]
mov dword [esp], eax
call fcn.00404ab0
mov dword [esp + 0xc], ebx
sub edi, eax
mov edx, dword [ebp - 0x84]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x78]
mov dword [esp], ecx
call fcn.0040b7b0
test eax, eax
jle 0x4735b3
add eax, 0xa
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0x9a], 0
jmp 0x4728cf
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472dad
mov byte [ebp - 0x99], 1
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xb0], eax
jmp 0x472b84
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472dce
mov byte [ebp - 0x99], 1
mov dword [esp], ebx
mov ecx, 5
mov dword [esp + 4], ecx
call fcn.0045dc90
mov dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x70]
test byte [edx + 0x2f], 8
je 0x472df7
add eax, 0x64
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 8], esi
mov edx, dword [0x4a49e8]
mov dword [esp + 0xc], ecx
movsx eax, word [edx + 2]
mov dword [esp + 4], eax
movsx eax, word [edx]
mov dword [esp], eax
call fcn.00404ab0
mov dword [esp + 0xc], ebx
sub edi, eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x78]
mov dword [esp], edx
call fcn.0040b7b0
test eax, eax
jle 0x473678
add eax, 0xa
mov dword [ebp - 0xac], eax
cmp word [ebx + 0xa], 0xfff6
mov eax, dword [ebp - 0xac]
setl dl
test eax, eax
sete al
or eax, edx
test al, 1
sete al
jmp 0x472b8c
mov dword [ebx + 0x20], edx
mov edi, dword [ebp - 0x80]
mov byte [ebp - 0x99], 1
mov dword [ebp - 0xa8], edi
jmp 0x4728cf
mov dword [ebx + 0x20], edx
mov eax, 5
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.0045dc90
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x70]
test byte [ecx + 0x2f], 0x10
je 0x472eae
add eax, 0x64
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], esi
mov edx, dword [0x4a49e8]
mov dword [esp + 0xc], eax
movsx eax, word [edx + 2]
mov dword [esp + 4], eax
movsx eax, word [edx]
mov dword [esp], eax
call fcn.00404ab0
mov dword [esp + 0xc], ebx
sub edi, eax
mov edx, dword [ebp - 0x84]
lea eax, [edi + 5]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x78]
mov dword [esp], ecx
call fcn.0040b7b0
test eax, eax
jle 0x473636
cmp byte [ebp - 0x98], 0
je 0x472f0c
mov byte [ebp - 0x99], 1
lea eax, [eax + eax*4]
shl eax, 2
mov dword [ebp - 0xb8], eax
jmp 0x4728cf
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472f30
mov byte [ebp - 0x99], 1
mov dword [esp], ebx
mov eax, 5
mov dword [esp + 4], eax
call fcn.0045dc90
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x2c]
test eax, eax
js 0x47362a
mov edx, dword [ebp + 8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov edx, dword [0x4a49e8]
movsx eax, word [edx + 2]
mov dword [esp + 4], eax
movsx eax, word [edx]
mov dword [esp], eax
call fcn.00404ab0
mov dword [esp + 0xc], ebx
sub edi, eax
mov ecx, dword [ebp - 0x84]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov edi, dword [ebp - 0x78]
mov dword [esp], edi
call fcn.0040b7b0
test eax, eax
jle 0x4735ee
add eax, 5
mov dword [ebp - 0xb4], eax
jmp 0x472d8e
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x472fc1
mov byte [ebp - 0x99], 1
mov edi, dword [ebp - 0x70]
mov eax, dword [edi + 0x2c]
test eax, 0x40000
je 0x472ff6
cmp byte [ebp - 0x98], 0
mov edx, str._resists.
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0x80], 0
je 0x472ff6
mov eax, dword [ebp - 0x74]
or dword [eax + 0x1c], 0x40000
mov eax, dword [edi + 0x2c]
test ah, 0x40
je 0x4728d6
shl dword [ebp - 0x80], 1
mov ecx, str._is_badly_hurt.
cmp byte [ebp - 0x98], 0
mov dword [ebp - 0xbc], ecx
je 0x4728d6
mov edx, dword [ebp - 0x74]
or dword [edx + 0x1c], 0x4000
jmp 0x4728d6
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x47303c
mov byte [ebp - 0x99], 1
mov edx, dword [ebp - 0x70]
test byte [edx + 0x2e], 2
je 0x4728d6
cmp byte [ebp - 0x98], 0
mov ecx, str._resists.
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x80], 0
je 0x4728d6
mov ecx, dword [ebp - 0x74]
or dword [ecx + 0x1c], 0x20000
jmp 0x4728d6
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x47308a
mov byte [ebp - 0x99], 1
mov edx, dword [ebp - 0x70]
test byte [edx + 0x30], 0x40
jne 0x4730a4
test byte [edx + 0x2c], 0x20
jne 0x4730a4
cmp word [edx + 0x10], 0
jns 0x4728d6
mov ecx, str._resists.
mov dword [ebp - 0xbc], ecx
jmp 0x4728cf
cmp byte [ebp - 0x98], 0
mov dword [ebx + 0x20], edx
je 0x4728d6
mov byte [ebp - 0x99], 1
jmp 0x4728d6
mov dword [ebx + 0x20], edx
jmp 0x4728d6
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x473169
mov eax, dword [0x4a49e8]
movsx eax, word [eax + 0x14]
test ax, ax
setne dl
cmp ax, 0x14
setne al
movzx eax, al
test eax, edx
je 0x4728ef
cmp byte [ebp - 0x98], 0
je 0x473117
mov byte [ebp - 0x99], 1
mov ecx, dword [ebp - 0xa0]
lea eax, [esi + esi*4]
mov edi, str._disappears_
mov dword [ebp - 0xbc], edi
mov edx, eax
shl edx, 5
mov dword [esp + 4], ecx
add eax, edx
mov esi, dword [ebp + 8]
mov edx, dword [0x8730e0]
add eax, esi
movsx eax, word [edx + eax*2]
mov dword [esp], eax
call fcn.004707c0
movzx esi, byte [ebx + 4]
movzx edi, byte [ebx + 5]
mov dword [ebp + 8], edi
jmp 0x4728ef
or dword [edx + 0x4bc], 0x20
jmp 0x472a0a
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x47338f
cmp byte [ebp - 0x98], 0
je 0x473187
mov byte [ebp - 0x99], 1
movzx ecx, byte [ebx + 0x10]
mov edx, str._is_more_dazed.
mov dword [ebp - 0xbc], edx
test cl, cl
jne 0x4731a5
mov eax, str._is_dazed.
mov dword [ebp - 0xbc], eax
mov edi, dword [ebp - 0xa8]
movzx eax, cl
lea edx, [eax + edi]
mov eax, dword [ebp - 0x70]
test byte [eax + 0x2f], 0x20
je 0x4734ed
cmp byte [ebp - 0x98], 0
je 0x4731d1
mov edx, dword [ebp - 0x74]
or dword [edx + 0x1c], 0x20000000
mov eax, str._is_unaffected_
mov dword [ebp - 0xbc], eax
movzx eax, byte [ebx + 4]
mov edi, dword [0x4a49e8]
movzx ecx, byte [ebx + 5]
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [0x8730e0]
add eax, ecx
movzx eax, word [edx + eax*2]
cmp word [edi + 0x480], ax
jne 0x4728ef
or dword [edi + 0x4b8], 0x800
jmp 0x4728ef
movsx eax, byte [ebp - 0x79]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0044dcf0
xor eax, eax
mov dword [esp + 0x20], eax
xor eax, eax
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, 0xffffffff
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x80]
mov dword [esp + 8], ecx
mov edi, dword [ebp + 0x10]
mov dword [esp + 4], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0044df10
jmp 0x47291a
or dword [ecx + 0x4b8], 0x800
jmp 0x472952
movsx eax, word [ebx + 0xa]
mov edx, dword [ebp - 0xb4]
mov dword [esp], ebx
sub eax, edx
mov dword [esp + 4], eax
call fcn.0040b440
jmp 0x4729be
cmp byte [ebp - 0x98], 0
jne 0x4732bc
mov eax, 0x4b6be6
mov dword [ebp - 0xc0], eax
mov edi, dword [ebp - 0x6c]
mov dword [esp + 0xc], edi
mov eax, dword [ebp - 0xc0]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x80]
lea eax, [esi + esi*4]
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
mov edx, eax
shl edx, 5
add eax, edx
lea edi, [eax + ecx]
mov eax, dword [0x8730e0]
movsx eax, word [eax + edi*2]
mov dword [esp], eax
call fcn.00494ce0
test al, al
je 0x4733f0
cmp byte [ebp - 0x98], 0
jne 0x4729be
inc dword [0x4c5260]
jmp 0x4729be
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0x68]
mov dword [esp + 4], edx
mov dword [esp], 0x4b6d18
mov dword [esp + 8], eax
call fcn.004811e0
jmp 0x4729b0
movsx eax, word [edx + edi*2]
mov dword [esp], eax
call fcn.004949f0
mov eax, dword [0x8730e0]
movsx eax, word [eax + edi*2]
mov dword [esp], eax
call fcn.0045cb30
movzx eax, byte [ebp - 0x98]
mov edx, dword [ebp - 0xbc]
test edx, edx
setne dl
and eax, 1
test eax, edx
je 0x47330a
mov ecx, dword [ebp - 0xbc]
lea edi, [ebp - 0x68]
mov dword [esp + 4], edi
mov dword [esp], 0x4b6d18
mov dword [esp + 8], ecx
call fcn.004811e0
jmp 0x4729be
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x473487
cmp byte [ebp - 0x98], 0
je 0x4733ad
mov byte [ebp - 0x99], 1
movzx ecx, byte [ebx + 0x11]
mov eax, str._looks_more_confused.
mov dword [ebp - 0xbc], eax
test cl, cl
jne 0x4733cb
mov eax, str._looks_confused.
mov dword [ebp - 0xbc], eax
mov edi, dword [ebp - 0xa4]
movzx eax, cl
lea edx, [eax + edi]
cmp edx, 0xc8
mov eax, edx
jle 0x4733e6
mov eax, 0xc8
add cl, al
mov byte [ebx + 0x11], cl
jmp 0x4731dc
cmp byte [ebp - 0x9a], 0
setne al
xor edx, edx
cmp dword [ebp - 0x80], 0
sete dl
test edx, eax
jne 0x473528
mov eax, dword [ebp - 0xbc]
test eax, eax
setne dl
movzx eax, byte [ebp - 0x98]
and eax, 1
test eax, edx
jne 0x473506
mov eax, dword [ebp - 0x80]
test eax, eax
jle 0x473447
mov edx, dword [ebp - 0x80]
mov eax, dword [0x8730e0]
mov dword [esp + 4], edx
movsx eax, word [eax + edi*2]
mov dword [esp], eax
call fcn.00460cb0
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x4729b0
cmp byte [ebx + 0x24], 0
je 0x4729b0
lea ecx, [ebp - 0x68]
mov edi, str._s_cowers.
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
movsx eax, word [ebx]
mov dword [esp], 3
mov dword [esp + 4], eax
call fcn.00481310
jmp 0x4729b0
mov eax, dword [ebp - 0xac]
test eax, eax
jne 0x47354e
mov edi, dword [ebp - 0xb0]
test edi, edi
je 0x4728ef
movsx eax, word [ebx + 0x14]
mov edi, dword [ebp - 0xb0]
lea edx, [eax + edi]
movsx eax, byte [ebp - 0x98]
mov dword [esp + 8], eax
movsx eax, dx
mov dword [esp + 4], eax
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 5]
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [0x8730e0]
add eax, ecx
movsx eax, word [edx + eax*2]
mov dword [esp], eax
call fcn.0045f3c0
jmp 0x4728ef
cmp edx, 0xc8
mov eax, edx
jle 0x4734fc
mov eax, 0xc8
add cl, al
mov byte [ebx + 0x10], cl
jmp 0x4731dc
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0x68]
mov dword [esp + 4], eax
mov dword [esp], 0x4b6d18
mov dword [esp + 8], edi
call fcn.004811e0
jmp 0x473447
mov dword [esp], ebx
call fcn.0040b700
jmp 0x47340b
mov word [ebx + 6], ax
jmp 0x472b44
mov edi, str._looks_healthier.
mov dword [ebp - 0xbc], edi
jmp 0x472b84
movsx eax, word [ebx + 0x12]
mov ecx, dword [ebp - 0xac]
lea edx, [eax + ecx]
movsx eax, byte [ebp - 0x98]
mov dword [esp + 8], eax
movsx eax, dx
mov dword [esp + 4], eax
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 5]
lea eax, [eax + eax*4]
mov edx, eax
shl edx, 5
add eax, edx
mov edx, dword [0x8730e0]
add eax, ecx
movsx eax, word [edx + eax*2]
mov dword [esp], eax
call fcn.0045f4a0
jmp 0x4728ef
or dword [ecx + 0x4b8], 0x800
jmp 0x472b70
mov dword [ebp - 0x80], 0
jmp 0x472c24
cmp byte [ebp - 0x98], 0
mov ecx, str._is_unaffected_
mov dword [ebp - 0xbc], ecx
mov byte [ebp - 0x99], 0
je 0x472d8e
mov edi, dword [ebp - 0x70]
test byte [edi + 0x2f], 0x40
je 0x472d8e
mov eax, dword [ebp - 0x74]
or dword [eax + 0x1c], 0x40000000
jmp 0x472d8e
cmp byte [ebp - 0x98], 0
mov eax, str._is_unaffected_
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0x99], 0
je 0x472d8e
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x2c]
test eax, eax
jns 0x472d8e
mov edx, dword [ebp - 0x74]
or dword [edx + 0x1c], 0x80000000
jmp 0x472d8e
add dword [ebp - 0x84], 0x64
jmp 0x472f55
cmp byte [ebp - 0x98], 0
mov eax, str._is_unaffected_
mov byte [ebp - 0x9a], 0
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0x99], 0
je 0x4728cf
mov edi, dword [ebp - 0x70]
test byte [edi + 0x2f], 0x10
je 0x4728cf
mov eax, dword [ebp - 0x74]
or dword [eax + 0x1c], 0x10000000
jmp 0x4728cf
cmp byte [ebp - 0x98], 0
mov edx, str._is_unaffected_
mov dword [ebp - 0xbc], edx
mov byte [ebp - 0x99], 0
je 0x472e4b
mov ecx, dword [ebp - 0x70]
test byte [ecx + 0x2f], 8
je 0x472e4b
mov edi, dword [ebp - 0x74]
or dword [edi + 0x1c], 0x8000000
jmp 0x472e4b
mov eax, str._resists_
mov dword [ebp - 0xbc], eax
jmp 0x4728cf
or dword [edi + 0x4b8], 0x800
jmp 0x472c12