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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c42fa
mov eax, dword fs:[0]
push eax
sub esp, 0x4e4
mov eax, dword [0x62a780]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x484], esi
call dword [sym.imp.WINMM.dll_timeGetTime]
mov dword [ebp - 0x4ec], eax
mov byte [ebp - 0x478], 0x17
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x493], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x494], cl
mov byte [ebp - 0x492], al
lea eax, [ebp - 0x494]
sar ecx, 0x18
push eax
mov byte [ebp - 0x491], cl
lea ecx, [ebp - 0x4ac]
push 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x490], 0
call fcn.0043ec20
mov eax, dword [esi + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x4749b2
mov eax, dword [esi + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x4749b2
imul eax, dword [edi + 0x188], 0x980
or ecx, 0xffffffff
mov dword [ebp - 0x48c], ecx
xor ebx, ebx
mov dword [ebp - 0x4a0], 0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x47c], ebx
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x498], eax
test eax, eax
je 0x473cac
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x48c]
cmp ecx, 0xffffffff
jne 0x47398c
cmp dword [ebp - 0x47c], 0
jne 0x473999
cmp dword [eax + 0x110], 1
jne 0x473942
cmp dword [eax + 0x118], 1
jle 0x473907
push 0x120
call fcn.00558849
add esp, 4
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4738bb
push 0x5d4288
push 0
push 1
mov ecx, eax
call fcn.0050b900
mov ecx, eax
mov dword [ebp - 0x488], eax
jmp 0x4738c3
xor ecx, ecx
mov dword [ebp - 0x488], ecx
mov ebx, dword [ebp - 0x498]
push ecx
mov ecx, ebx
mov byte [ebp - 4], 0
mov eax, dword [ebx]
call dword [eax + 0x18]
dec dword [ebx + 0x118]
mov ebx, dword [ebp - 0x488]
push ebx
mov dword [ebx + 0x118], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e480
mov eax, ebx
mov ebx, dword [eax + 0x11c]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x48c], ecx
mov ecx, dword [ebx]
mov dword [ebp - 0x49c], ecx
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x488], ecx
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x4f0], ecx
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x4c8], ecx
mov ecx, dword [ebx + 0x34]
mov dword [ebp - 0x4a0], ecx
cmp dword [eax + 0x110], 0xe
jne 0x47395f
mov eax, dword [eax + 0x11c]
xor ecx, ecx
cmp dword [eax], 0xd
cmove eax, ecx
mov dword [ebp - 0x47c], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x498], eax
test eax, eax
jne 0x473850
mov ecx, dword [ebp - 0x48c]
cmp dword [ebp - 0x47c], 0
je 0x473ca7
mov ebx, dword [ebp - 0x47c]
cmp byte [ebx + 0xc], 0
je 0x4749b2
movd xmm0, dword [edi + 0x10c]
mov eax, dword [edi + 0x180]
push 0
mov ecx, dword [ebp - 0x480]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x4c3], eax
lea eax, [ebp - 0x4c4]
push eax
push 0x15
mov byte [ebp - 0x4c4], 0x24
cvttss2si eax, xmm0
mov dword [ebp - 0x4bf], esi
mov dword [ebp - 0x4bb], 0xfffffffe
mov dword [ebp - 0x4b7], 0xfffffc18
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
mov eax, dword [ebp - 0x4ec]
push ebx
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea4], edi
call fcn.0052be30
add esp, 4
test eax, eax
jg 0x473a41
push esi
mov esi, dword [ebp - 0x480]
mov ecx, edi
push ebx
push esi
call fcn.00491150
jmp 0x473a47
mov esi, dword [ebp - 0x480]
dec dword [ebx + 8]
cmp dword [ebx + 8], 0
jg 0x4749b2
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x488], eax
test eax, eax
je 0x473b27
nop dword [eax + eax]
cmp dword [eax + 0x110], 0xe
jne 0x473b00
cmp ebx, dword [eax + 0x11c]
jne 0x473b00
push eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0x488]
push 1
mov eax, dword [ecx]
call dword [eax]
movd xmm0, dword [edi + 0x10c]
xor ebx, ebx
mov eax, dword [edi + 0x180]
mov ecx, esi
push ebx
cvtdq2ps xmm0, xmm0
push 5
mov dword [ebp - 0x493], eax
lea eax, [ebp - 0x494]
push eax
push 5
mov byte [ebp - 0x494], 0x20
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push ebx
call fcn.0052a580
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x488], eax
test eax, eax
jne 0x473a80
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 0x4e8], 0x21
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x4749b2
nop
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x473b9b
push edi
push eax
lea eax, [ebp - 0x4e8]
push eax
call fcn.004a2190
add esp, 0xc
cmp dword [edi + 0x14f14], 0
je 0x473c32
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x4ac]
push edx
push 0
lea edx, [ebp - 0x4e8]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x473c68
cmp ecx, 0xe
jne 0x473c81
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x4e3], eax
mov dword [ebp - 0x4e7], 0x40800000
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x6255e8]
mov byte [ebp - 0x4ce], al
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x6255e9]
mov byte [ebp - 0x4cd], al
mov eax, dword [ecx]
mov byte [ebp - 0x4cf], 0x80
movzx eax, byte [eax + eax*2 + 0x6255ea]
mov byte [ebp - 0x4cc], al
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x4df], eax
xor eax, eax
mov word [ebp - 0x4d1], ax
cmp dword [ecx], 0xd
je 0x473c81
cmp dword [edi + 0x14f14], eax
je 0x473c32
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x4ac]
push edx
push 0
lea edx, [ebp - 0x4e8]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x473c68
movd xmm0, dword [edi + 0x10c]
lea eax, [ebp - 0x4e8]
push 0
cvtdq2ps xmm0, xmm0
push 5
push eax
push 0x1d
mov ecx, esi
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x473b50
jmp 0x4749b2
cmp ecx, 0xffffffff
jne 0x473cb6
mov dword [ebp - 0x49c], 1
imul eax, dword [esi + 0x188], 0x980
movd xmm0, dword [ebp - 0x4a0]
movss xmm1, dword [edi + 0x160]
comiss xmm1, dword [0x5d2054]
cvtdq2ps xmm0, xmm0
subss xmm0, dword [eax + esi + 0x300]
cvttss2si eax, xmm0
mov dword [ebp - 0x4a0], eax
jbe 0x473d04
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x4a0], eax
call fcn.00568035
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00568035
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x4a0]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x473d46
call fcn.00568035
cdq
mov ecx, 0x190
idiv ecx
cmp edx, 6
je 0x473d4f
cmp esi, 0x14
jle 0x47492b
mov ecx, edi
call fcn.004872a0
movd xmm0, dword [ebp - 0x49c]
mov ecx, edi
cvtdq2ps xmm0, xmm0
mov esi, dword [ebp - 0x480]
push esi
movd xmm1, eax
movsx eax, byte [edi + 0x14f04]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5d6308]
addss xmm1, dword [0x5d2058]
mulss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x47c], eax
call fcn.00472cc0
mov eax, dword [edi + 0x14f30]
test eax, eax
jle 0x473de0
movd xmm0, dword [ebp - 0x47c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d6300]
addss xmm1, dword [0x5d2058]
mulss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x47c], eax
test ebx, ebx
je 0x4741ab
cmp dword [ebx + 0x3c], 3
jne 0x473e9b
call fcn.00568035
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 3
jne 0x473e27
test byte [edi + 0x238], 1
mov eax, dword [ebp - 0x47c]
lea eax, [eax + eax*2]
mov dword [ebp - 0x47c], eax
je 0x473e9b
push str.With_a_burst_of_strength__you_do_THREE_TIMES_as_much_damage_.
jmp 0x473e55
call fcn.00568035
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jne 0x473e9b
mov eax, dword [ebp - 0x47c]
add eax, eax
test byte [edi + 0x238], 1
mov dword [ebp - 0x47c], eax
je 0x473e9b
push str.With_a_burst_of_strength__you_do_TWICE_as_much_damage_.
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x4ac]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x478]
push edx
push 0x65
call dword [eax + 4]
cmp dword [ebx + 0x3c], 4
jne 0x473f60
call fcn.00568035
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 8
jne 0x473f60
movd xmm0, dword [ebp - 0x47c]
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0x40000000
mulss xmm0, dword [0x5d63d8]
call fcn.005589b0
mov esi, dword [ebp - 0x484]
mov ecx, esi
push eax
push 7
call fcn.00496920
test byte [edi + 0x238], 1
je 0x473f66
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [esi + 0x18c]
push eax
lea eax, [ebp - 0x410]
push str._s_gets_stunned_by__ss_Claw_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [ebp - 0x480]
lea edx, [ebp - 0x4ac]
add esp, 0x20
mov ecx, dword [ecx + 0x11c]
push edx
push 0
lea edx, [ebp - 0x478]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x473f66
mov esi, dword [ebp - 0x484]
cmp dword [ebx + 0x3c], 5
jne 0x473f93
call fcn.00568035
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x473f93
push esi
push dword [ebp - 0x47c]
mov ecx, edi
push ebx
push dword [ebp - 0x480]
call fcn.00481220
mov eax, dword [ebx + 0x3c]
sub eax, 6
cmp eax, 0x79
ja 0x473fd5
call fcn.00568035
and eax, reloc.WS2_32.dll_accept
jns 0x473faf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x473fd5
cmp dword [ebx + 0x3c], 0xd
je 0x473fd5
mov eax, dword [ebp - 0x47c]
mov ecx, edi
cdq
push esi
sub eax, edx
sar eax, 1
push eax
push ebx
push dword [ebp - 0x480]
call fcn.00481220
cmp dword [ebx + 0x38], 0
jle 0x4741ab
mov eax, dword [ebx + 0x3c]
add eax, 0xfffffffa
cmp eax, 0x79
ja 0x4741ab
mov ecx, dword [ebx + 0x44]
cmp ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x48]
cmovle ecx, dword [ebx + 0x40]
cmp eax, ecx
mov edx, dword [ebx + 0x78]
cmovle eax, ecx
mov ecx, dword [ebx + 0x4c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebx + 0x50]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebx + 0x58]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebx + 0x5c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebx + 0x60]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebx + 0x64]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebx + 0x68]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebx + 0x6c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [ebx + 0x70]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [ebx + 0x74]
cmp ecx, eax
cmovle ecx, eax
cmp edx, ecx
cmovle edx, ecx
xor eax, eax
cmp edx, 0x41
setg al
inc eax
cmp edx, 0x43
lea ecx, [eax + 1]
cmovle ecx, eax
cmp edx, 0x47
lea eax, [ecx + 1]
cmovle eax, ecx
cmp edx, 0x4f
lea ecx, [eax + 1]
cmovle ecx, eax
cmp edx, 0x5f
lea eax, [ecx + 1]
cmovle eax, ecx
lea eax, [eax + eax*4]
add eax, 3
movd xmm0, eax
cvtdq2ps xmm0, xmm0
imul eax, eax, 0x3e8
cmp dword [ebx + 0x3c], 7
movss dword [ebp - 0x498], xmm0
mov dword [ebp - 0x48c], eax
jne 0x4740d2
push ecx
movss dword [esp], xmm0
mov ecx, esi
push eax
push 3
call fcn.00496920
movss xmm0, dword [ebp - 0x498]
mov eax, dword [ebp - 0x48c]
cmp dword [ebx + 0x3c], 9
jne 0x4740e8
push ecx
movss dword [esp], xmm0
mov ecx, esi
push eax
push 4
call fcn.00496920
cmp dword [ebx + 0x3c], 8
jne 0x47410b
movss xmm0, dword [ebp - 0x498]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push dword [ebp - 0x48c]
push 2
call fcn.00496920
cmp dword [ebx + 0x3c], 0xa
jne 0x47412e
movss xmm0, dword [ebp - 0x498]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push dword [ebp - 0x48c]
push 7
call fcn.00496920
cmp dword [ebx + 0x3c], 0xb
jne 0x474151
movss xmm0, dword [ebp - 0x498]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push dword [ebp - 0x48c]
push 8
call fcn.00496920
cmp dword [ebx + 0x3c], 0xd
jne 0x4741ab
lea eax, [ebp - 0x410]
push str.This_doesnt_work_on_players.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x480]
lea edx, [ebp - 0x4ac]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x478]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
inc dword [ebx + 0x38]
mov al, byte [edi + 0x14f0e]
test al, al
jle 0x474227
movsx ecx, al
mov eax, 0x66666667
imul ecx, dword [ebp - 0x47c]
imul ecx
imul ecx, dword [edi + 0x188], 0x980
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, dword [ecx + edi + 0x2f8]
cdq
and edx, 3
add eax, edx
mov edx, dword [ebp - 0x47c]
sar eax, 2
cmp esi, eax
cmovle eax, esi
add dword [ecx + edi + 0x2fc], eax
add edx, eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0x47c], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x47422d
mov dword [eax + edi + 0x2fc], ecx
jmp 0x47422d
mov edx, dword [ebp - 0x47c]
test ebx, ebx
je 0x47428e
push dword [ebx + 0x3c]
mov ecx, edi
call fcn.00481800
imul ecx, dword [edi + 0x188], 0x980
imul eax, dword [ecx + edi + 0x2e8]
cdq
sub eax, edx
mov edx, dword [ebp - 0x47c]
sar eax, 1
add edx, eax
cmp dword [ebx + 0x3c], 0xd
mov dword [ebp - 0x47c], edx
jne 0x47428e
cmp edx, 1
jle 0x47428e
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x47c], 1
imul eax, dword [ecx + 0x188], 0x980
dec dword [eax + ecx + 0x2fc]
jmp 0x4742ad
mov ecx, dword [ebp - 0x484]
imul eax, dword [ecx + 0x188], 0x980
sub dword [eax + ecx + 0x2fc], edx
test ebx, ebx
je 0x4745c0
mov esi, dword [ebx + 0x3c]
mov ecx, 1
mov edx, dword [ebx + 0x34]
cmp esi, ecx
mov eax, 0x15
cmovne eax, ecx
mov ecx, dword [ebx + 0x38]
sub edx, eax
add edx, dword [ebx + 0x2c]
add edx, dword [ebx + 0x28]
add edx, dword [ebx + 0x24]
add edx, dword [ebx + 0x20]
add edx, dword [ebx + 4]
cmp ecx, 0x3f5ad
jge 0x4742e2
inc ecx
mov dword [ebx + 0x38], ecx
cmp ecx, 0x2710
jle 0x474300
cmp edx, 5
jl 0x4742f4
cmp dword [ebx], 0x48
jge 0x474300
mov dword [ebx + 0x38], 0x2710
mov ecx, 0x2710
lea eax, [esi - 6]
cmp eax, 0x79
ja 0x47431a
lea eax, [ecx - 1]
lea ecx, [eax - 1]
mov dword [ebx + 0x38], ecx
test ecx, ecx
jns 0x47431a
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp esi, 6
jge 0x4744ea
cmp esi, 2
jne 0x47432d
cmp dword [ebx], 0x65
jg 0x474336
cmp dword [ebx], 0x47
jle 0x4744ea
cmp esi, 1
mov eax, 1
mov edx, 0x15
cmovne edx, eax
mov eax, dword [ebx + 0x34]
sub eax, edx
add eax, dword [ebx + 0x2c]
add eax, dword [ebx + 0x28]
add eax, dword [ebx + 0x24]
add eax, dword [ebx + 0x20]
add eax, dword [ebx + 4]
cmp eax, 4
jle 0x4744ea
xor esi, esi
cmp ecx, 0x2710
jle 0x47439b
lea eax, [ecx - 0x2710]
mov dword [ebp - 0x49c], 0x9c4
cdq
idiv dword [ebp - 0x49c]
mov eax, 1
test edx, edx
cmove esi, eax
cmp ecx, 0x1adb0
jne 0x4743a4
lea esi, [eax + 2]
jmp 0x4743bb
jne 0x4743a4
mov esi, 2
jmp 0x4743bb
cmp ecx, 0x3f5ac
jne 0x4743b3
mov esi, 0xa
jmp 0x4743bb
test esi, esi
je 0x4744ea
push 0x198
call fcn.00558849
add esp, 4
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4743e7
mov ecx, eax
call fcn.004957b0
mov ecx, eax
mov dword [ebp - 0x49c], eax
jmp 0x4743ef
xor ecx, ecx
mov dword [ebp - 0x49c], ecx
lea eax, [esi + esi*4]
mov dword [ecx + 0x180], 4
mov esi, dword [ebp - 0x480]
shl eax, 2
mov dword [ecx + 0x184], eax
mov dword [ecx + 0x188], 0x14
mov dword [ecx + 0x18c], 0x3c
mov dword [ecx + 0x190], 0x80
mov eax, dword [edi + 0x108]
mov dword [ecx + 0x108], eax
mov eax, dword [edi + 0x10c]
mov dword [ecx + 0x10c], eax
mov dword [ecx + 0x194], 0x190
push ecx
mov ecx, dword [esi + 0x118]
mov byte [ebp - 4], 0
call fcn.00513e00
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x4db], ecx
mov byte [ebp - 0x4dc], 0x53
push 0
movzx eax, byte [ecx + 0x180]
mov byte [ebp - 0x4d7], al
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x4d1], eax
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x4d3], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x4d2], al
movzx eax, byte [ecx + 0x188]
mov byte [ebp - 0x4d6], al
movzx eax, byte [ecx + 0x18c]
mov byte [ebp - 0x4d5], al
movzx eax, byte [ecx + 0x190]
mov ecx, esi
push 5
mov byte [ebp - 0x4d4], al
lea eax, [ebp - 0x4dc]
push eax
push 0xf
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a580
cmp dword [ebx + 0x3c], 0xd
je 0x4745c4
cmp dword [ebp - 0x4c8], 0
jle 0x4745c4
mov ecx, ebx
call fcn.004817d0
mov esi, eax
mov eax, 0x60
cmp esi, eax
cmovg esi, eax
call fcn.00568035
cdq
mov ecx, 0x90
idiv ecx
cmp edx, esi
mov esi, dword [ebp - 0x484]
jge 0x4745ca
mov eax, dword [ebp - 0x4c8]
cdq
sub eax, edx
sar eax, 1
je 0x4745ca
imul ecx, dword [esi + 0x188], 0x980
sub dword [ecx + esi + 0x2fc], eax
test byte [edi + 0x238], 1
je 0x4745ca
push eax
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x410]
push str._s_gets_shocked_by__d_lightning_damage_and_is_stunned.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x480]
lea edx, [ebp - 0x4ac]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x478]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x4745ca
mov esi, ecx
jmp 0x4745d0
mov esi, dword [ebp - 0x484]
mov edx, dword [ebp - 0x47c]
imul eax, dword [esi + 0x188], 0x980
cmp dword [eax + esi + 0x2fc], 0
jg 0x474656
movd xmm0, dword [edi + 0x10c]
mov eax, dword [edi + 0x180]
push 0
mov ecx, dword [ebp - 0x480]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x4c3], eax
lea eax, [ebp - 0x4c4]
push eax
push 0x15
mov byte [ebp - 0x4c4], 0x24
cvttss2si eax, xmm0
mov dword [ebp - 0x4bf], esi
mov dword [ebp - 0x4bb], edx
mov dword [ebp - 0x4b7], 0xfffffc18
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
mov dword [esi + 0x124], 1
jmp 0x4749b2
cmp dword [esi + 0x14ea4], 0
jne 0x474671
mov eax, dword [ebp - 0x4ec]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x14ea4], edi
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x4c3], eax
push 0
mov byte [ebp - 0x4c4], 0x24
mov dword [ebp - 0x4bf], esi
mov dword [ebp - 0x4bb], edx
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x4b7], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, dword [ebp - 0x480]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x4b3], eax
lea eax, [ebp - 0x4c4]
push eax
push 0x15
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
imul ecx, dword [esi + 0x188], 0x980
movd xmm0, dword [edi + 0x10c]
push 0
mov byte [ebp - 0x4d8], 0x27
mov dword [ebp - 0x4d7], esi
cvtdq2ps xmm0, xmm0
push 2
mov eax, dword [ecx + esi + 0x2fc]
mov dword [ebp - 0x4d3], eax
mov eax, dword [ecx + esi + 0x2f8]
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0x4cf], eax
lea eax, [ebp - 0x4d8]
push eax
cvttss2si eax, xmm0
push 0xd
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
test ebx, ebx
je 0x4749b2
cmp dword [ebx + 0x3c], 0xd
je 0x4749b2
cmp dword [ebp - 0x488], 0
jle 0x474844
call fcn.00568035
cdq
mov ecx, 0x14
idiv ecx
mov ecx, dword [ebp - 0x488]
imul eax, dword [esi + 0x188], 0x980
add edx, ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, dword [eax + esi + 0x300]
comiss xmm0, dword [0x5d25e4]
jbe 0x474844
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
mulss xmm0, dword [0x5d3aa8]
call fcn.005589b0
push eax
push 2
mov ecx, esi
call fcn.00496920
test byte [edi + 0x238], 1
je 0x474844
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x410]
push str._s_is_Slowed.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x480]
lea edx, [ebp - 0x4ac]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x478]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
cmp dword [ebx + 0x3c], 0xd
je 0x4749b2
mov ebx, dword [ebp - 0x4f0]
test ebx, ebx
jle 0x4749b2
call fcn.00568035
cdq
mov ecx, 0x14
idiv ecx
imul eax, dword [esi + 0x188], 0x980
add edx, ebx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, dword [eax + esi + 0x300]
comiss xmm0, dword [0x5d25e4]
jbe 0x4749b2
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
push ecx
movss dword [esp], xmm0
mulss xmm0, dword [0x5d3aa8]
call fcn.005589b0
push eax
push 3
mov ecx, esi
call fcn.00496920
test byte [edi + 0x238], 1
je 0x4749b2
imul eax, dword [esi + 0x188], 0x980
add eax, 0x2a0
add eax, esi
push eax
lea eax, [ebp - 0x410]
push str._s_is_Blinded.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x477]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x480]
lea edx, [ebp - 0x4ac]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x478]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x4749b2
mov ecx, dword [ebp - 0x484]
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x4bf], ecx
imul ecx, dword [edi + 0x188], 0x980
mov dword [ebp - 0x4c3], eax
push 0
mov byte [ebp - 0x4c4], 0x24
mov dword [ebp - 0x4bb], 0xffffffff
cvtdq2ps xmm0, xmm0
push 2
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x4b7], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, dword [ebp - 0x480]
mov dword [ebp - 0x4b3], eax
lea eax, [ebp - 0x4c4]
push eax
cvttss2si eax, xmm0
push 0x15
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a580
mov esi, dword [ebp - 0x4ac]
test esi, esi
je 0x4749fb
mov ecx, dword [ebp - 0x4a4]
mov eax, 0x66666667
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, esi
cmp ecx, 0x1000
jb 0x4749f1
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x474a19
push ecx
push esi
call fcn.00558879
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00558887
mov esp, ebp
pop ebp
ret 8
call fcn.0058ffe0
int3