Function at 0x488070
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c266e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x9c0
mov eax, dword [0x6287a8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x95c], edi
cmp byte [edi + 0x14fb8], 0
mov esi, dword [ebx + 8]
mov dword [ebp - 0x8fc], esi
jne 0x4880d5
mov dword [edi + 0x14f40], 1
mov dword [ebp - 0x904], 0
mov dword [ebp - 0x93c], 0
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x934], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x94b], al
mov eax, ecx
shr eax, 0x10
mov byte [ebp - 0x94c], cl
mov byte [ebp - 0x94a], al
lea eax, [ebp - 0x94c]
shr ecx, 0x18
push eax
mov byte [ebp - 0x949], cl
lea ecx, [ebp - 0x93c]
push 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x948], 0
call fcn.0043ec20
mov ecx, esi
mov byte [ebp - 0x898], 0x17
call fcn.0044c8d0
xor edx, edx
mov ecx, esi
cmp eax, 1
cmovne ecx, edx
mov dword [ebp - 0x940], ecx
call dword [sym.imp.WINMM.dll_timeGetTime]
cmp dword [edi + 0x120], 0
mov dword [ebp - 0x910], eax
je 0x4886d5
mov edx, dword [edi + 0x118]
mov ecx, eax
sub ecx, edx
mov dword [edi + 0x14f80], 0
test edx, edx
je 0x48819d
cmp eax, edx
jae 0x4881a4
mov ecx, dword [edi + 0x14fa8]
inc ecx
mov dword [edi + 0x14ea0], 0
cmp ecx, dword [edi + 0x14fa8]
jbe 0x48cdcb
mov ecx, esi
mov dword [edi + 0x120], 0
call fcn.0044c8d0
test eax, eax
jne 0x488452
mov ecx, 0x60e2b4
mov dword [ebp - 0x950], ecx
nop
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x488219
mov eax, dword [ecx]
lea edx, [edi + 0x10c]
sub eax, dword [edx]
mov dword [ebp - 0x900], edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x488309
mov eax, dword [ebp - 0x900]
jmp 0x48821f
lea eax, [edi + 0x10c]
mov edx, eax
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x110]
mov dword [ebp - 0x8f0], edx
mov dword [ebp - 0x900], edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x488309
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x900], eax
mov eax, dword [ecx]
sub eax, dword [edi + 0x114]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x488309
cmp dword [esi + 0x124], 0
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x900], eax
jne 0x488309
lea eax, [ecx - 0x44]
push eax
lea eax, [ebp - 0x418]
push str.You_are_entering__s.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0x950]
mov eax, dword [edx - 4]
mov dword [ecx + edi + 0x310], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edx]
mov dword [ecx + edi + 0x314], eax
mov ecx, edx
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x900], eax
add ecx, 0x50
mov dword [ebp - 0x950], ecx
cmp ecx, 0x60ea34
jl 0x4881e0
mov eax, 0x60e2b0
mov dword [ebp - 0x8f8], eax
nop dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x908], eax
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x488438
mov eax, dword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x900]
mov eax, dword [eax + 4]
mov dword [ebp - 0x918], eax
sub eax, dword [ecx]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x488438
mov eax, dword [ebp - 0x908]
sub eax, dword [edi + 0x110]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4883a1
mov eax, dword [ebp - 0x918]
sub eax, dword [edi + 0x114]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x488438
cmp dword [esi + 0x124], 0
jne 0x488438
mov eax, dword [ebp - 0x8f8]
add eax, 0xffffffc0
push eax
lea eax, [ebp - 0x418]
push str.You_are_leaving__s.
push eax
call fcn.0043d360
mov ecx, 0xf
lea esi, [ebp - 0x418]
lea edi, [ebp - 0x897]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x93c]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x898]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x8fc]
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x95c]
mov edx, dword [ebp - 0x8f8]
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edx]
mov dword [ecx + edi + 0x310], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edx + 4]
mov dword [ecx + edi + 0x314], eax
mov eax, dword [ebp - 0x8f8]
add eax, 0x50
mov dword [ebp - 0x8f8], eax
cmp eax, 0x60ea30
jl 0x488330
cmp dword [edi + 0x14f38], 0
mov ecx, dword [edi + 0x110]
mov edx, dword [edi + 0x114]
mov eax, dword [edi + 0x180]
mov dword [edi + 0x108], ecx
mov dword [edi + 0x10c], edx
mov byte [ebp - 0x92c], 5
mov dword [ebp - 0x92b], eax
mov byte [ebp - 0x927], cl
mov byte [ebp - 0x926], dl
jne 0x4884cb
cmp dword [edi + 0x14f4c], 0
jne 0x4884cb
push 0
movd xmm0, edx
lea eax, [ebp - 0x92c]
cvtdq2ps xmm0, xmm0
push 5
push eax
push 7
cvttss2si eax, xmm0
movd xmm0, ecx
mov ecx, esi
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
jmp 0x4884e8
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
push edx
push 0
lea edx, [ebp - 0x92c]
mov eax, dword [ecx]
push edx
push 7
call dword [eax + 4]
push 0
push 0
push esi
mov ecx, edi
call fcn.0048ce00
push esi
mov ecx, edi
call fcn.004845e0
mov ecx, dword [esi + 0x118]
push 1
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.005155e0
mov ecx, eax
mov dword [ebp - 0x95c], ecx
test ecx, ecx
je 0x488645
call fcn.0044c8d0
cmp eax, 1
jne 0x48862a
mov ecx, dword [ebp - 0x95c]
mov edx, dword [ecx + 0x108]
lea eax, [ecx + 0x10c]
mov dword [ebp - 0x914], eax
cmp edx, dword [edi + 0x108]
jne 0x4885e1
mov eax, dword [eax]
cmp eax, dword [edi + 0x10c]
jne 0x4885e7
cmp dword [ecx + 0x204], 0
mov dword [ebp - 0x904], ecx
jne 0x4885d5
cmp dword [edi + 0x14f38], 0
jne 0x4885d5
cmp dword [ecx + 0x21c], 0
jne 0x4885d5
mov eax, dword [ecx + 0x220]
cmp eax, 7
je 0x4885d5
cmp eax, 0x1f
je 0x4885d5
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x4885ac
push edi
mov ecx, eax
call fcn.004ec7b0
test eax, eax
jne 0x4885d5
call fcn.00565b3a
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [ebp - 0x95c]
mov eax, dword [ebp - 0x910]
sub eax, edx
mov dword [ecx + 0x11c], eax
mov dword [ecx + 0x204], edi
jmp 0x48862a
mov dword [ebp - 0x904], 0
jmp 0x48862a
mov dword [ebp - 0x914], eax
sub edx, dword [edi + 0x108]
mov eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x48862a
mov eax, dword [ebp - 0x914]
mov eax, dword [eax]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x48862a
cmp dword [edi + 0x14f38], 0
jne 0x48862a
cmp dword [ecx + 0x21c], 0
jne 0x48862a
push esi
push edi
call fcn.00495440
mov ecx, dword [esi + 0x118]
call fcn.00515690
mov ecx, eax
mov dword [ebp - 0x95c], eax
test ecx, ecx
jne 0x488525
cmp dword [edi + 0x14ea0], 0
jne 0x4886a7
mov ecx, dword [ebp - 0x904]
test ecx, ecx
je 0x4886a7
cmp dword [edi + 0x14f38], 0
jne 0x4886a7
cmp dword [ecx + 0x21c], 0
jne 0x4886a7
cmp dword [edi + 0x14f70], 0
jne 0x4886a7
imul eax, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0x910]
mov dword [edi + 0x11c], edx
mov dword [eax + edi + 0x350], edx
imul eax, dword [edi + 0x188], 0x980
mov dword [eax + edi + 0x384], edx
mov dword [edi + 0x14ea0], ecx
push dword [edi + 0x10c]
imul eax, dword [edi + 0x188], 0x980
mov ecx, 0x62d4e8
push dword [edi + 0x108]
push esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052ddc0
jmp 0x48cdcb
mov ecx, dword [edi + 0x11c]
sub eax, ecx
mov dword [ebp - 0x914], eax
test ecx, ecx
je 0x4886ef
cmp dword [ebp - 0x910], ecx
jae 0x4886f9
mov dword [ebp - 0x914], 0x7d1
imul eax, dword [edi + 0x188], 0x980
mov ecx, 0x2ee
cmp dword [eax + edi + 0x2e8], 9
jle 0x488753
mov eax, dword [eax + edi + 0xbd0]
push 9
dec eax
push 0
push eax
call fcn.0044cb60
add esp, 0xc
lea edx, [eax + eax*4]
imul eax, dword [edi + 0x188], 0x980
shl edx, 3
mov eax, dword [eax + edi + 0xbd0]
cmp eax, 0xa
jl 0x48874c
lea eax, [eax + eax*4]
lea eax, [eax - 0x2d]
lea edx, [edx + eax*2]
mov ecx, 0x2ee
sub ecx, edx
mov edx, dword [edi + 0x14ea0]
test edx, edx
je 0x488783
cmp dword [edx + 0x224], 0
jne 0x488783
mov eax, dword [edx + 0x220]
sub eax, 9
mov dword [ebp - 0x908], 0x3e8
cmp eax, 8
cmovbe ecx, dword [ebp - 0x908]
mov eax, dword [ebp - 0x914]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5cf230]
lea eax, [ecx + ecx]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x908], xmm0
movss xmm2, dword [ebp - 0x908]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x950], xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, dword [0x5d3e70]
movss xmm1, dword [ebp - 0x950]
addss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x48af23
test edx, edx
je 0x48af23
mov ecx, dword [ebp - 0x940]
test ecx, ecx
je 0x488817
push edi
call fcn.004ec7b0
test eax, eax
je 0x488817
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48af1b
mov eax, dword [ebp - 0x910]
mov ecx, 1
movss xmm0, dword [edi + 0x170]
mov dword [edi + 0x11c], eax
xor eax, eax
comiss xmm0, dword [0x5d0044]
push 0
mov dword [ebp - 0x8d8], 0xfffffffd
push dword [edi + 0x10c]
push dword [edi + 0x108]
cmova eax, ecx
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x914], eax
call fcn.005155e0
mov dword [ebp - 0x8f4], eax
test eax, eax
je 0x48af08
mov dword [ebp - 0x958], 0x9c4
nop dword [eax]
cmp dword [ebp - 0x914], 0
jne 0x48af1b
cmp eax, dword [edi + 0x14ea0]
jne 0x48aeef
mov ecx, eax
call fcn.0044c8d0
cmp eax, 1
jne 0x48aeef
mov ecx, dword [ebp - 0x8f4]
cmp dword [ecx + 0x124], 0
jne 0x48aeef
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48aeef
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48aeef
mov ecx, dword [ecx + 0x21c]
mov dword [ebp - 0x914], 1
test ecx, ecx
je 0x48891a
call fcn.0046fdd0
cmp eax, 9
jle 0x48891a
mov eax, dword [ebp - 0x8f4]
mov eax, dword [eax + 0x204]
test eax, eax
je 0x48af11
cmp eax, edi
jne 0x48af11
imul eax, dword [edi + 0x188], 0x980
or ecx, 0xffffffff
mov dword [ebp - 0x900], ecx
mov dword [ebp - 0x960], 0
mov dword [ebp - 0x91c], 0
mov dword [ebp - 0x9b4], 0
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x944], 0
mov dword [ebp - 0x904], 0
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
mov dword [ebp - 0x8f8], 0
call fcn.0044e020
mov dword [ebp - 0x8ec], eax
test eax, eax
je 0x488af6
mov ecx, dword [ebp - 0x900]
cmp ecx, 0xffffffff
jne 0x488ae3
cmp dword [ebp - 0x8f8], 0
jne 0x488bc4
cmp dword [eax + 0x110], 1
jne 0x488a99
cmp dword [eax + 0x118], 1
jle 0x488a4f
push 0x120
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x9b8], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x4889fb
push 0x5d1cd4
push 0
push 1
mov ecx, eax
call fcn.0050ce20
mov edx, eax
mov dword [ebp - 0x8f0], eax
jmp 0x488a03
xor edx, edx
mov dword [ebp - 0x8f0], edx
mov ecx, dword [ebp - 0x8ec]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [ebp - 0x8ec]
dec dword [eax + 0x118]
mov eax, dword [ebp - 0x8f0]
push eax
mov dword [eax + 0x118], 1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e130
mov eax, dword [ebp - 0x8f0]
mov edx, dword [eax + 0x11c]
mov dword [ebp - 0x904], edx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x900], ecx
mov ecx, dword [edx]
mov dword [ebp - 0x954], ecx
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x944], ecx
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x974], ecx
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x9b4], ecx
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x91c], ecx
mov ecx, dword [edx + 0x30]
mov dword [ebp - 0x960], ecx
cmp dword [eax + 0x110], 0xe
jne 0x488ab6
mov eax, dword [eax + 0x11c]
xor ecx, ecx
cmp dword [eax], 0xd
cmove eax, ecx
mov dword [ebp - 0x8f8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x8ec], eax
test eax, eax
jne 0x488990
mov ecx, dword [ebp - 0x900]
mov eax, dword [ebp - 0x8f8]
test eax, eax
jne 0x488bca
cmp ecx, 0xffffffff
jne 0x488b0a
mov dword [ebp - 0x900], 1
mov dword [ebp - 0x954], 1
mov ecx, edi
call fcn.00483260
mov ecx, dword [ebp - 0x8f4]
mov edx, dword [edi + 0x14f10]
add eax, dword [ebp - 0x900]
movss xmm1, dword [edi + 0x160]
sub edx, dword [ecx + 0x1bc]
add edx, eax
comiss xmm1, dword [0x5d0044]
mov dword [ebp - 0x8f0], edx
jbe 0x488b57
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x8f0], eax
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f0]
add esi, 2
add edx, eax
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x488b9f
call fcn.00565b3a
cdq
mov ecx, 0x190
idiv ecx
mov eax, 0x1e
cmp edx, 6
cmove esi, eax
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x48900b
add eax, 0x3c
mov dword [ebp - 0x8ec], eax
cmp dword [eax], 0xd
jne 0x48900e
jmp 0x48901d
mov eax, dword [ebp - 0x8f8]
cmp byte [eax + 0xc], 0
je 0x48aeef
mov eax, dword [ebp - 0x8f4]
cmp dword [eax + 0x204], 0
je 0x488c04
cmp dword [eax + 0x220], 0x18
jne 0x488c16
call fcn.00565b3a
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x488c16
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x910]
mov dword [eax + 0x11c], ecx
mov dword [eax + 0x204], edi
push esi
mov ecx, edi
call fcn.0046e040
push dword [ebp - 0x8f8]
mov dword [ebp - 0x8f0], 0
call fcn.0052c580
mov ecx, eax
add esp, 4
mov dword [ebp - 0x91c], ecx
test ecx, ecx
jle 0x488d11
mov eax, dword [ebp - 0x8f8]
push ecx
push dword [edi + 0x10c]
mov ecx, dword [esi + 0x118]
movups xmm0, xmmword [eax]
push dword [edi + 0x108]
movups xmmword [ebp - 0x8e0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x8d0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x8c0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebp - 0x8b0], xmm0
call fcn.005155e0
mov dword [ebp - 0x944], eax
test eax, eax
je 0x488d2b
nop dword [eax]
mov ecx, eax
call fcn.0044c8d0
cmp eax, 1
jne 0x488cfa
mov ecx, dword [ebp - 0x944]
mov eax, dword [edi + 0x108]
sub eax, dword [ecx + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 0x91c]
jg 0x488cfa
mov eax, dword [edi + 0x10c]
sub eax, dword [ecx + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 0x91c]
jg 0x488cfa
push ecx
lea eax, [ebp - 0x8e0]
mov ecx, edi
push eax
push esi
call fcn.0048cf00
mov dword [ebp - 0x8f0], eax
mov ecx, dword [esi + 0x118]
call fcn.00515690
mov dword [ebp - 0x944], eax
test eax, eax
jne 0x488ca0
jmp 0x488d2b
push dword [ebp - 0x8f4]
mov ecx, edi
push dword [ebp - 0x8f8]
push esi
call fcn.0048cf00
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x8f8]
dec dword [eax + 8]
cmp dword [eax + 8], 0
jg 0x488fa7
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e020
mov ecx, eax
mov dword [ebp - 0x91c], ecx
test ecx, ecx
je 0x488e2d
nop word [eax + eax]
cmp dword [ecx + 0x110], 0xe
jne 0x488e04
mov eax, dword [ebp - 0x8f8]
cmp eax, dword [ecx + 0x11c]
jne 0x488e04
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e210
mov ecx, dword [ebp - 0x91c]
push 1
mov eax, dword [ecx]
call dword [eax]
movd xmm0, dword [edi + 0x10c]
mov ecx, esi
mov eax, dword [edi + 0x180]
push 0
cvtdq2ps xmm0, xmm0
push 5
mov dword [ebp - 0x927], eax
lea eax, [ebp - 0x928]
push eax
push 5
mov dword [ebp - 0x8f8], 0
cvttss2si eax, xmm0
mov byte [ebp - 0x928], 0x20
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e0d0
mov ecx, eax
mov dword [ebp - 0x91c], eax
test ecx, ecx
jne 0x488d70
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 0x9b0], 0x21
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e020
test eax, eax
je 0x488fa7
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x488ea0
push edi
push eax
lea eax, [ebp - 0x9b0]
push eax
call fcn.0049e910
add esp, 0xc
cmp dword [edi + 0x14f38], 0
je 0x488f37
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
push edx
push 0
lea edx, [ebp - 0x9b0]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x488f6d
cmp ecx, 0xe
jne 0x488f86
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x9ab], eax
mov dword [ebp - 0x9af], 0x40800000
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x623638]
mov byte [ebp - 0x996], al
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x623639]
mov byte [ebp - 0x995], al
mov eax, dword [ecx]
mov byte [ebp - 0x997], 0x80
movzx eax, byte [eax + eax*2 + 0x62363a]
mov byte [ebp - 0x994], al
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x9a7], eax
xor eax, eax
mov word [ebp - 0x999], ax
cmp dword [ecx], 0xd
je 0x488f86
cmp dword [edi + 0x14f38], eax
je 0x488f37
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
push edx
push 0
lea edx, [ebp - 0x9b0]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x488f6d
movd xmm0, dword [edi + 0x10c]
lea eax, [ebp - 0x9b0]
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.0052acd0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e090
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e0d0
test eax, eax
jne 0x488e55
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x98f], eax
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x98b], eax
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x987], eax
mov byte [ebp - 0x990], 0x24
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x983], eax
mov eax, dword [ecx + edi + 0x2f8]
mov dword [ebp - 0x97f], eax
lea eax, [ebp - 0x990]
mov dword [ebp - 0x97b], 0
jmp 0x48aebf
add eax, 0x3c
mov dword [ebp - 0x8ec], eax
cmp esi, 0x14
jle 0x48ae5c
mov ecx, edi
call fcn.00483260
movd xmm0, dword [ebp - 0x954]
mov ecx, edi
cvtdq2ps xmm0, xmm0
mov esi, dword [ebp - 0x8fc]
push esi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5d3d94]
addss xmm1, dword [0x5d0048]
mulss xmm1, xmm0
movd xmm0, dword [edi + 0x14f04]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8f8], eax
call fcn.0046e040
mov eax, dword [edi + 0x14f58]
mov dword [ebp - 0x918], 0
test eax, eax
jle 0x4890b5
movd xmm0, dword [ebp - 0x8f8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d3d8c]
addss xmm1, dword [0x5d0048]
mulss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8f8], eax
cmp dword [ebp - 0x904], 0
je 0x48a32b
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 3
jne 0x48917c
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 3
jne 0x489102
test byte [edi + 0x238], 1
mov ecx, dword [ebp - 0x8f8]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x8f8], ecx
je 0x489176
push str.With_a_burst_of_strength__you_do_THREE_TIMES_as_much_damage_.
jmp 0x489130
call fcn.00565b3a
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jne 0x489176
mov eax, dword [ebp - 0x8f8]
add eax, eax
test byte [edi + 0x238], 1
mov dword [ebp - 0x8f8], eax
je 0x489176
push str.With_a_burst_of_strength__you_do_TWICE_as_much_damage_.
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 4
jne 0x489273
call fcn.00565b3a
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 8
jne 0x48926d
movd xmm0, dword [ebp - 0x8f8]
sub esp, 8
mov ecx, dword [ebp - 0x8f4]
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x40000000
mulss xmm0, dword [0x5d3e6c]
movss dword [esp], xmm0
push 7
call fcn.00494ef0
mov dword [ebp - 0x8f0], eax
imul eax, dword [ebp - 0x8f8], 0x32
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48926d
mov ecx, dword [ebp - 0x8f4]
mov esi, dword [edi + 0x188]
call fcn.00495120
imul ecx, esi, 0x980
add ecx, 0x2a0
add ecx, edi
cmp dword [ebp - 0x8f0], 1
push ecx
push eax
mov ecx, str.The__s_resists_stunning_by__ss_Claw_
mov eax, str.The__s_gets_stunned_by__ss_Claw_
cmove eax, ecx
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov esi, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 5
jne 0x4892aa
call fcn.00565b3a
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x4892a4
push dword [ebp - 0x8f4]
mov ecx, edi
push dword [ebp - 0x8f8]
push dword [ebp - 0x904]
push esi
call fcn.0047c230
mov eax, dword [ebp - 0x8ec]
mov eax, dword [eax]
sub eax, 6
cmp eax, 0x79
ja 0x4892f5
call fcn.00565b3a
and eax, reloc.WS2_32.dll_accept
jns 0x4892c5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
mov eax, dword [ebp - 0x8ec]
jne 0x4892fb
cmp dword [eax], 0xd
je 0x4892fb
mov eax, dword [ebp - 0x8f8]
mov ecx, edi
push dword [ebp - 0x8f4]
cdq
sub eax, edx
sar eax, 1
push eax
push dword [ebp - 0x904]
push esi
call fcn.0047c230
mov eax, dword [ebp - 0x8ec]
mov edx, dword [ebp - 0x904]
cmp dword [edx + 0x38], 0
jle 0x48a32b
mov eax, dword [eax]
add eax, 0xfffffffa
cmp eax, 0x79
ja 0x48a32b
mov ecx, dword [edx + 0x44]
cmp ecx, dword [edx + 0x40]
mov eax, dword [edx + 0x48]
cmovle ecx, dword [edx + 0x40]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x4c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edx + 0x50]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x54]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edx + 0x58]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x5c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edx + 0x60]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x64]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edx + 0x68]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x6c]
cmp ecx, eax
cmovle ecx, eax
mov eax, dword [edx + 0x70]
cmp eax, ecx
cmovle eax, ecx
mov ecx, dword [edx + 0x74]
mov edx, dword [edx + 0x78]
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 xmm1, eax
imul eax, eax, 0x3e8
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x8f0], xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x8ec]
cvtdq2ps xmm0, xmm0
cmp dword [eax], 7
movss dword [ebp - 0x900], xmm0
jne 0x489420
mov ecx, dword [ebp - 0x8f4]
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 3
call fcn.00494ef0
movss xmm0, dword [ebp - 0x900]
movss xmm1, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8ec]
jmp 0x489428
movss dword [ebp - 0x900], xmm0
cmp dword [eax], 9
jne 0x48944e
mov ecx, dword [ebp - 0x8f4]
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 4
call fcn.00494ef0
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 8
jne 0x489484
movss xmm0, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8f4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x900]
movss dword [esp], xmm0
push 2
call fcn.00494ef0
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xa
jne 0x4894ba
movss xmm0, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8f4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x900]
movss dword [esp], xmm0
push 7
call fcn.00494ef0
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xb
jne 0x4894f0
movss xmm0, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8f4]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x900]
movss dword [esp], xmm0
push 8
call fcn.00494ef0
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
jne 0x48a32b
mov ecx, edi
call fcn.0046fdd0
cmp eax, 9
jle 0x48a2c0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x8f4]
mov eax, dword [edx + 0x34]
cmp eax, dword [ecx + 0x1bc]
jl 0x48a24a
cmp dword [ecx + 0x238], 4
jge 0x48a24a
mov ecx, edi
call fcn.0047d580
mov ecx, dword [ebp - 0x8f4]
cmp eax, dword [ecx + 0x220]
jg 0x4895ae
mov ecx, edi
call fcn.0047d580
mov ecx, dword [ebp - 0x8f4]
cmp eax, dword [ecx + 0x220]
jne 0x489571
mov ecx, edi
call fcn.0047d4b0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x224]
jge 0x4895ae
mov ecx, edi
call fcn.0047d580
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x220]
jne 0x48a244
mov ecx, edi
call fcn.0047d4b0
mov ecx, dword [ebp - 0x8f4]
cmp eax, 5
jne 0x48a244
cmp dword [ecx + 0x224], 0
jne 0x48a244
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x15c]
jb 0x489669
comiss xmm0, dword [ecx + 0x160]
jb 0x489669
comiss xmm0, dword [ecx + 0x170]
jb 0x489669
mov eax, dword [ecx + 0x204]
lea edx, [ecx + 0x204]
mov dword [ebp - 0x8f0], edx
test eax, eax
je 0x489661
cmp eax, edi
je 0x489661
cmp dword [ecx + 0x238], 4
jge 0x489605
mov dword [ecx + 0x238], 0
lea eax, [ebp - 0x418]
push str.Cannot_tame_a_monster_attacking_another_player.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x8f4]
inc dword [eax + 0x38]
jmp 0x4896cf
inc dword [ecx + 0x238]
jmp 0x4896cf
lea eax, [ebp - 0x418]
push str.Cant_tame_a_monster_that_is_blinded__slowed__or_stunned.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x8f4]
inc dword [eax + 0x38]
lea eax, [ecx + 0x204]
mov dword [ebp - 0x8f0], eax
cmp dword [ecx + 0x238], 3
jle 0x48a2c0
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x489b28
lea ecx, [ebp - 0x418]
add eax, 0x184
push ecx
push str.___s____n_
push eax
call fcn.0043dd00
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x818]
push str.Stabled__s
push eax
call fcn.0043d360
imul eax, dword [edi + 0x188], 0x980
add esp, 0x18
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e020
mov esi, eax
xor al, al
mov byte [ebp - 0x909], al
test esi, esi
je 0x4898cc
nop word [eax + eax]
cmp dword [esi + 0x110], 0x15
jne 0x48989d
lea ecx, [esi + 8]
lea eax, [ebp - 0x818]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489786
test dl, dl
je 0x489782
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489786
add eax, 2
add ecx, 2
test dl, dl
jne 0x489766
xor eax, eax
jmp 0x48978b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48989d
mov ecx, dword [esi + 0x11c]
mov edx, dword [edi + 0x14f70]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x220]
jne 0x48989d
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x224]
jne 0x48989d
mov eax, dword [ecx + 0x14]
mov byte [ebp - 0x909], 1
cmp eax, dword [edx + 0x1bc]
jge 0x489884
movzx eax, byte [edx + 0x1a7]
mov byte [ecx + 0x27], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a4]
mov byte [ecx + 0x24], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a5]
mov byte [ecx + 0x25], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a6]
mov byte [ecx + 0x26], al
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b4]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x234]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1f4]
mov dword [ecx + 0x20], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1a8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b8]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e090
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e0d0
mov esi, eax
test esi, esi
jne 0x489750
cmp byte [ebp - 0x909], al
jne 0x489a2e
lea eax, [ebp - 0x818]
push eax
lea eax, [ebp - 0x418]
push 0x5d00e0
push eax
call fcn.0043d360
push 0x120
call fcn.0055644a
add esp, 0x10
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x489915
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0x15
mov ecx, eax
call fcn.0050ce20
mov edx, eax
jmp 0x489917
xor edx, edx
mov ecx, dword [edx + 0x11c]
mov dword [edx + 0x108], 0
mov dword [edx + 0x10c], 0x447a0000
mov dword [edx + 0x118], 1
mov eax, dword [edi + 0x14f70]
push edx
mov byte [ebp - 4], 0
movzx eax, byte [eax + 0x1a7]
mov byte [ecx + 0x27], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a6]
mov byte [ecx + 0x26], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a5]
mov byte [ecx + 0x25], al
mov eax, dword [edi + 0x14f70]
movzx eax, byte [eax + 0x1a4]
mov byte [ecx + 0x24], al
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b4]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x234]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1f4]
mov dword [ecx + 0x20], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1a8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x224]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x1b8]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x14f70]
mov eax, dword [eax + 0x220]
mov dword [ecx], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e130
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x23c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x240], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x244], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x248], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x24c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x250], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x254], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x258], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x25c], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x260], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x1c0], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x1ac], 0
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x220], 0x19
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x124], 1
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x21c], 0
mov dword [edi + 0x14f70], 0
mov ecx, edi
call fcn.0047d580
mov esi, dword [ebp - 0x8f4]
inc eax
cmp dword [esi + 0x220], eax
jg 0x489ed1
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e020
mov ecx, dword [ebp - 0x8f0]
mov dword [ebp - 0x900], eax
test eax, eax
je 0x489ed7
nop
mov ecx, eax
call fcn.0044c8e0
mov ecx, 0x5d1e24
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x489ba0
test dl, dl
je 0x489b9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x489ba0
add ecx, 2
add eax, 2
test dl, dl
jne 0x489b80
xor eax, eax
jmp 0x489ba5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489e9c
mov esi, dword [ebp - 0x900]
mov ecx, edi
mov esi, dword [esi + 0x11c]
mov dword [ebp - 0x900], esi
call fcn.0047d580
mov ecx, dword [ebp - 0x8f4]
cmp dword [ecx + 0x220], eax
jne 0x489bf1
mov ecx, edi
call fcn.0047d4b0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x224]
jne 0x489bf1
add dword [esi], 1
adc dword [esi + 4], 0
mov ecx, edi
call fcn.0047d580
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d1e2c
mov esi, eax
call fcn.0047d4b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f0]
imul eax, eax, 0x64
add eax, str.Whight
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489c40
test dl, dl
je 0x489c3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489c40
add eax, 2
add ecx, 2
test dl, dl
jne 0x489c20
xor eax, eax
jmp 0x489c45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489c56
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d580
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d1e34
mov esi, eax
call fcn.0047d4b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f0]
imul eax, eax, 0x64
add eax, str.Whight
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489ca4
test dl, dl
je 0x489ca0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489ca4
add eax, 2
add ecx, 2
test dl, dl
jne 0x489c84
xor eax, eax
jmp 0x489ca9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489cba
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d580
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d1e40
mov esi, eax
call fcn.0047d4b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f0]
imul eax, eax, 0x64
add eax, str.Whight
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489d08
test dl, dl
je 0x489d04
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489d08
add eax, 2
add ecx, 2
test dl, dl
jne 0x489ce8
xor eax, eax
jmp 0x489d0d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489d1e
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d580
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d1e48
mov esi, eax
call fcn.0047d4b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f0]
imul eax, eax, 0x64
add eax, str.Whight
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489d70
test dl, dl
je 0x489d6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489d70
add eax, 2
add ecx, 2
test dl, dl
jne 0x489d50
xor eax, eax
jmp 0x489d75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489d86
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d4b0
cmp eax, 5
jge 0x489dc8
mov ecx, edi
call fcn.0047d580
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.0047d4b0
add eax, esi
mov esi, dword [ebp - 0x900]
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x489dce
mov dword [esi], 5
mov dword [esi + 4], 0
jmp 0x489dce
mov esi, dword [ebp - 0x900]
mov ecx, edi
call fcn.0047d580
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp dword [ecx + 0x220], eax
jne 0x489deb
add dword [esi], 1
adc dword [esi + 4], 0
cmp dword [esi + 4], 0
ja 0x489df6
cmp dword [esi], 5
jbe 0x489e5c
add dword [esi + 8], 1
lea eax, [ebp - 0x418]
push str.You_gained_Taming_skill__
adc dword [esi + 0xc], 0
push eax
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov ecx, edi
call fcn.0047d4b0
cmp eax, 5
jge 0x489e9c
mov ecx, edi
call fcn.0047d580
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.0047d4b0
add eax, esi
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x489e9c
mov eax, dword [ebp - 0x900]
mov dword [eax], 5
mov dword [eax + 4], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x900], eax
test eax, eax
jne 0x489b70
mov esi, dword [ebp - 0x8f4]
lea ecx, [esi + 0x204]
jmp 0x489ed7
mov ecx, dword [ebp - 0x8f0]
mov dword [edi + 0x14ea0], 0
mov dword [ecx], 0
mov dword [esi + 0x214], 0
mov dword [edi + 0x14f70], esi
mov dword [esi + 0x21c], edi
mov edx, dword [edi + 0x14f70]
mov eax, dword [edx + 0x220]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x224]
lea eax, [eax + ecx*2]
imul eax, eax, 0x64
add eax, str.Ghost
push eax
imul eax, dword [edi + 0x188], 0x980
add eax, 0x2a0
add eax, edi
push eax
lea eax, [ebp - 0x418]
push str._ss__s
push eax
call fcn.0043d360
mov eax, dword [edi + 0x14f70]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov esi, dword [edi + 0x14f70]
add esp, 0x20
mov edx, dword [esi + 0x218]
test edx, edx
je 0x489f95
cmp dword [edx + 4], 0
jne 0x48b190
mov eax, dword [esi + 0x220]
add eax, 0xb
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x224]
lea eax, [eax + ecx*2]
dec dword [edx + eax*4]
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x218], 0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x10
jne 0x48a02d
cmp dword [eax + 0x224], 1
jne 0x48a02d
cmp byte [eax + 0x1dd], 0
jne 0x48a02d
push 0x1e4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x9c0], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x48a00c
mov ecx, dword [edi + 0x14f70]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00493240
jmp 0x48a00e
xor eax, eax
mov esi, dword [ebp - 0x8fc]
mov byte [eax + 0x190], 0
push eax
mov byte [ebp - 4], 0
mov ecx, dword [esi + 0x118]
call fcn.005155c0
jmp 0x48a033
mov esi, dword [ebp - 0x8fc]
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0xb
jne 0x48a0af
cmp dword [eax + 0x224], 1
jne 0x48a0af
cmp byte [eax + 0x1dd], 0
jne 0x48a0af
push 0x1e4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x9c4], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x48a096
mov ecx, dword [edi + 0x14f70]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00493240
jmp 0x48a098
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.005155c0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x1b
jne 0x48a147
cmp byte [eax + 0x1dd], 0
jne 0x48a147
push 0x1e4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x9c8], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x48a111
mov ecx, dword [edi + 0x14f70]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00493240
jmp 0x48a113
xor eax, eax
mov dword [ebp - 0x8f0], eax
mov byte [ebp - 4], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [ebp - 0x8f0]
add eax, 0xdbba00
push ecx
mov dword [ecx + 0x194], eax
mov byte [ecx + 0x190], 0
mov ecx, dword [esi + 0x118]
call fcn.005155c0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x1e
jne 0x48a1c3
cmp dword [eax + 0x224], 1
jle 0x48a1c3
cmp byte [eax + 0x1dd], 0
jne 0x48a1c3
push 0x1e4
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x9cc], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x48a1aa
mov ecx, dword [edi + 0x14f70]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00493240
jmp 0x48a1ac
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.005155c0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x1b4], 4
jge 0x48a1dc
mov dword [eax + 0x1b4], 4
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x234], 1
mov eax, dword [edi + 0x14f70]
mov dword [edi + 0x184], 1
cmp dword [eax + 0x220], 0x15
jne 0x48a20f
mov dword [eax + 0x1d8], 0
mov eax, dword [edi + 0x14f70]
push esi
mov dword [eax + 0x234], 1
mov ecx, dword [edi + 0x14f70]
call fcn.00493750
mov eax, dword [edi + 0x14f70]
mov ecx, edi
mov byte [eax + 0x1dd], 1
call fcn.00487300
jmp 0x48a2c0
mov edx, dword [ebp - 0x904]
cmp dword [ecx + 0x238], 3
jle 0x48a25a
mov edx, str.This_monster_is_untamable.
jmp 0x48a270
mov eax, dword [edx + 0x34]
mov edx, str.You_have_insufficient_Gold_Dusts_to_tame_this_monster.
cmp eax, dword [ecx + 0x1bc]
mov eax, str.Your_Taming_skill_is_too_low_to_tame_this_monster.
cmovge edx, eax
push edx
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x904]
inc dword [eax + 0x38]
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
jne 0x48a32b
mov ecx, edi
call fcn.0046fdd0
cmp eax, 0xa
jge 0x48a32b
lea eax, [ebp - 0x418]
push str.You_arent_a_Beastmaster__dont_try_to_use_this.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x904]
inc dword [eax + 0x38]
mov eax, dword [edi + 0x14f2c]
test eax, eax
jle 0x48a3aa
mov ecx, dword [ebp - 0x8f8]
imul ecx, eax
mov eax, 0x66666667
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 - 0x8f8]
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 - 0x8f8], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x48a3b0
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48a3b0
mov edx, dword [ebp - 0x8f8]
mov esi, dword [ebp - 0x904]
test esi, esi
je 0x48a41e
mov ecx, edi
call fcn.0047d280
imul ecx, dword [edi + 0x188], 0x980
imul eax, dword [ecx + edi + 0x2e8]
cdq
sub eax, edx
mov edx, dword [ebp - 0x8f8]
sar eax, 1
add edx, eax
mov eax, dword [ebp - 0x8ec]
mov dword [ebp - 0x8f8], edx
cmp dword [eax], 0xd
jne 0x48a41e
cmp edx, 1
jle 0x48a41e
mov esi, dword [ebp - 0x8f4]
mov ecx, esi
push edi
push 1
mov dword [ebp - 0x8f8], 1
dec dword [esi + 0x1ac]
call fcn.00495a30
mov esi, dword [ebp - 0x904]
jmp 0x48a439
mov ecx, dword [ebp - 0x8f4]
push edi
push edx
sub dword [ecx + 0x1ac], edx
call fcn.00495a30
test esi, esi
je 0x48a7d1
mov eax, dword [ebp - 0x8ec]
mov ecx, 1
mov edx, dword [eax]
cmp edx, 1
mov eax, 0x15
cmovne eax, ecx
mov ecx, dword [esi + 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x904]
add ecx, dword [esi + 0x2c]
add ecx, dword [esi + 0x28]
add ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x20]
mov esi, dword [esi + 4]
add esi, ecx
mov ecx, dword [eax + 0x38]
cmp ecx, 0x3f5ad
jge 0x48a47c
inc ecx
mov dword [eax + 0x38], ecx
cmp ecx, 0x2710
jle 0x48a49a
cmp esi, 5
jl 0x48a48e
cmp dword [eax], 0x48
jge 0x48a49a
mov dword [eax + 0x38], 0x2710
mov ecx, 0x2710
lea eax, [edx - 6]
cmp eax, 0x79
ja 0x48a4c6
mov edi, dword [ebp - 0x904]
lea eax, [ecx - 1]
lea ecx, [eax - 1]
mov dword [edi + 0x38], ecx
mov edi, dword [ebp - 0x95c]
test ecx, ecx
jns 0x48a4c6
mov ecx, dword [ebp - 0x904]
mov dword [ecx + 0x38], eax
mov ecx, eax
cmp edx, 6
jge 0x48a66e
mov eax, dword [ebp - 0x904]
cmp edx, 2
jne 0x48a4df
cmp dword [eax], 0x65
jg 0x48a4e8
cmp dword [eax], 0x47
jle 0x48a66e
cmp esi, 4
jle 0x48a66e
xor esi, esi
cmp ecx, 0x2710
jle 0x48a51f
lea eax, [ecx - 0x2710]
cdq
idiv dword [ebp - 0x958]
mov eax, 1
test edx, edx
cmove esi, eax
cmp ecx, 0x1adb0
jne 0x48a528
lea esi, [eax + 2]
jmp 0x48a53f
jne 0x48a528
mov esi, 2
jmp 0x48a53f
cmp ecx, 0x3f5ac
jne 0x48a537
mov esi, 0xa
jmp 0x48a53f
test esi, esi
je 0x48a66e
push 0x198
call fcn.0055644a
add esp, 4
mov dword [ebp - 0x94c], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x48a56b
mov ecx, eax
call fcn.00491d80
mov ecx, eax
mov dword [ebp - 0x8f0], eax
jmp 0x48a573
xor ecx, ecx
mov dword [ebp - 0x8f0], ecx
lea eax, [esi + esi*4]
mov dword [ecx + 0x180], 4
mov esi, dword [ebp - 0x8fc]
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.005155c0
mov ecx, dword [ebp - 0x8f0]
mov dword [ebp - 0x827], ecx
mov byte [ebp - 0x828], 0x54
push 0
movzx eax, byte [ecx + 0x180]
mov byte [ebp - 0x823], al
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x81d], eax
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x81f], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x81e], al
movzx eax, byte [ecx + 0x188]
mov byte [ebp - 0x822], al
movzx eax, byte [ecx + 0x18c]
mov byte [ebp - 0x821], al
movzx eax, byte [ecx + 0x190]
mov ecx, esi
push 5
mov byte [ebp - 0x820], al
lea eax, [ebp - 0x828]
push eax
push 0xf
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052acd0
mov ecx, dword [ebp - 0x8ec]
cmp dword [ecx], 0xd
je 0x48a7c9
cmp dword [ebp - 0x960], 0
jle 0x48a7c9
mov eax, dword [ebp - 0x904]
mov esi, dword [eax + 0x78]
add esi, dword [eax + 0x74]
add esi, dword [eax + 0x70]
add esi, dword [eax + 0x6c]
add esi, dword [eax + 0x68]
add esi, dword [eax + 0x64]
add esi, dword [eax + 0x60]
add esi, dword [eax + 0x5c]
add esi, dword [eax + 0x58]
add esi, dword [eax + 0x54]
add esi, dword [eax + 0x50]
add esi, dword [eax + 0x4c]
add esi, dword [eax + 0x48]
add esi, dword [eax + 0x44]
add esi, dword [eax + 0x40]
mov eax, 0x60
cmp esi, 0x60
cmovg esi, eax
call fcn.00565b3a
cdq
mov ecx, 0x90
idiv ecx
cmp edx, esi
jge 0x48a7c3
mov ecx, dword [ebp - 0x960]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x960], eax
je 0x48a7d1
movd xmm0, dword [ebp - 0x918]
sub esp, 8
mov esi, dword [ebp - 0x8f4]
movd xmm1, ecx
mov ecx, esi
cvtdq2ps xmm1, xmm1
mov dword [esp + 4], 0x3f800000
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d3e80]
addss xmm1, xmm0
movss dword [esp], xmm1
push 7
call fcn.00494ef0
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x960]
sub dword [esi + 0x1ac], eax
test byte [edi + 0x238], 1
je 0x48a7d1
mov ecx, esi
call fcn.00495120
push dword [ebp - 0x960]
cmp dword [ebp - 0x918], 1
mov ecx, str.The__s_gets_shocked_by__d_lightning_damage_but_resisted_the_stunning_effect.
push eax
mov eax, str.The__s_gets_shocked_by__d_lightning_damage_and_is_stunned.
cmove eax, ecx
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov esi, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48a7d7
mov ecx, dword [ebp - 0x8ec]
mov esi, dword [ebp - 0x8fc]
jmp 0x48a7dd
mov esi, dword [ebp - 0x8fc]
mov ecx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8f4]
cmp dword [eax + 0x1ac], 0
jg 0x48a9b8
cmp dword [ebp - 0x904], 0
je 0x48a80f
mov ecx, dword [ecx]
cmp ecx, 5
jle 0x48a80f
cmp ecx, 0x80
jge 0x48a80f
mov byte [eax + 0x1f8], 1
mov eax, dword [edi + 0x180]
mov ecx, esi
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x9ab], eax
mov eax, dword [ebp - 0x8f4]
push 0
mov dword [ebp - 0x9a7], eax
mov eax, dword [ebp - 0x8f8]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x9a3], eax
lea eax, [ebp - 0x9ac]
push eax
push 0x19
mov byte [ebp - 0x9ac], 0x24
cvttss2si eax, xmm0
mov dword [ebp - 0x99f], 0xfffffc18
mov dword [ebp - 0x997], 1
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
mov ecx, dword [ebp - 0x8f4]
movss xmm0, dword [ecx + 0x17c]
comiss xmm0, dword [0x5d0044]
mov dword [ecx + 0x124], 1
mov dword [ecx + 0x208], edi
jbe 0x48a923
call fcn.00495120
push eax
lea eax, [ebp - 0x418]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov ecx, dword [ebp - 0x8f4]
movd xmm0, dword [ecx + 0x1c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d3db4]
cvttss2si eax, xmm0
mov dword [ecx + 0x1c0], eax
call fcn.00494e80
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48a99a
call fcn.0044c8d0
cmp eax, 1
jne 0x48a994
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x98c]
push eax
call fcn.00515710
mov edx, dword [ebp - 0x8f4]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 1
mov ecx, dword [edx + 0x218]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
movups xmm0, xmmword [ebp - 0x98c]
mov eax, dword [ebp - 0x97c]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.005158f0
jmp 0x48aeef
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48aeef
call fcn.0044c8d0
cmp eax, 2
jne 0x48aeef
jmp 0x48a942
cmp dword [eax + 0x204], 0
je 0x48a9e2
cmp dword [eax + 0x220], 0x18
jne 0x48a9f4
call fcn.00565b3a
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x8f4]
cmp edx, 3
jne 0x48a9f4
mov ecx, dword [ebp - 0x910]
mov dword [eax + 0x11c], ecx
mov dword [eax + 0x204], edi
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48aa0e
call fcn.0044c8d0
cmp eax, 1
je 0x48aa22
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48aa6f
call fcn.0044c8d0
cmp eax, 2
jne 0x48aa6f
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x98c]
push eax
call fcn.00515710
mov edx, dword [ebp - 0x8f4]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 0
mov ecx, dword [edx + 0x218]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
movups xmm0, xmmword [ebp - 0x98c]
mov eax, dword [ebp - 0x97c]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.005158f0
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x9ab], eax
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x9a7], eax
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x9a3], eax
push 0
mov byte [ebp - 0x9ac], 0x24
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x99f], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x99b], eax
lea eax, [ebp - 0x9ac]
push eax
push 0x19
mov dword [ebp - 0x997], 1
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
mov ecx, dword [ebp - 0x8f4]
movd xmm0, dword [edi + 0x10c]
push 0
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x96b], eax
mov eax, dword [ecx + 0x1b0]
push 2
mov dword [ebp - 0x967], eax
lea eax, [ebp - 0x970]
push eax
cvttss2si eax, xmm0
push 0xd
mov dword [ebp - 0x96f], ecx
mov ecx, esi
mov byte [ebp - 0x970], 0x27
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
cmp dword [ebp - 0x904], 0
je 0x48ac4e
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
je 0x48ac4e
cmp dword [ebp - 0x9b4], 0
jle 0x48ac4e
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x9b4]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48ac4e
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d14b0]
movss dword [esp], xmm0
push 2
call fcn.00494ef0
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48ac4e
mov ecx, dword [ebp - 0x8f4]
call fcn.00495120
cmp dword [ebp - 0x918], 1
mov ecx, str.The__s_is_Slowed.
push eax
mov eax, str.The__s_resisted_the_slowing_effect.
cmove ecx, eax
lea eax, [ebp - 0x418]
push ecx
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
cmp dword [ebp - 0x974], 0
jle 0x48aca3
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x974]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48aca9
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d14b0]
movss dword [esp], xmm0
push 0xa
call fcn.00494ef0
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x944]
test ecx, ecx
jle 0x48ad64
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d14b0]
movss dword [esp], xmm0
push 9
call fcn.00494ef0
mov ecx, dword [ebp - 0x944]
mov eax, 0x66666667
imul ecx, ecx
push edi
imul ecx
mov ecx, dword [ebp - 0x8f4]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.00495a30
test byte [edi + 0x238], 1
je 0x48ad64
mov ecx, dword [ebp - 0x8f4]
call fcn.00495120
push eax
lea eax, [ebp - 0x418]
push str.The__s_is_more_vulnerable_to_other_dusts.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
cmp dword [ebp - 0x904], 0
je 0x48aeef
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
je 0x48aeef
cmp dword [ebp - 0x91c], 0
jle 0x48aeef
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x91c]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48aeef
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d14b0]
movss dword [esp], xmm0
push 3
call fcn.00494ef0
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48aeef
mov ecx, dword [ebp - 0x8f4]
call fcn.00495120
cmp dword [ebp - 0x918], 1
mov ecx, str.The__s_is_Blinded.
push eax
mov eax, str.The__s_resisted_the_blinding_effect.
cmove ecx, eax
lea eax, [ebp - 0x418]
push ecx
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48aeef
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
mov esi, dword [ebp - 0x8fc]
mov dword [ebp - 0x9ab], eax
mov eax, dword [ebp - 0x8f4]
mov dword [ebp - 0x9a7], eax
mov byte [ebp - 0x9ac], 0x24
mov dword [ebp - 0x9a3], 0xffffffff
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x99f], eax
mov eax, dword [ecx + edi + 0x2f8]
mov dword [ebp - 0x99b], eax
lea eax, [ebp - 0x9ac]
mov dword [ebp - 0x997], 1
movd xmm0, dword [edi + 0x10c]
mov ecx, esi
push 0
cvtdq2ps xmm0, xmm0
push 2
push eax
push 0x19
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
mov ecx, dword [esi + 0x118]
call fcn.00515690
mov dword [ebp - 0x8f4], eax
test eax, eax
jne 0x488880
cmp dword [ebp - 0x914], 0
jne 0x48af1b
mov dword [edi + 0x14ea0], 0
movss xmm1, dword [ebp - 0x950]
movss xmm0, dword [edi + 0x15c]
mulss xmm0, dword [0x5d3e70]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x908]
comiss xmm1, xmm0
jbe 0x48af69
mov eax, dword [edi + 0x14ea4]
test eax, eax
je 0x48af69
cmp byte [edi + 0x14fb9], 0
je 0x48af69
cmp byte [eax + 0x14fb9], 0
je 0x48af69
push eax
push esi
mov ecx, edi
call fcn.0046ead0
mov edx, dword [ebp - 0x910]
xor ecx, ecx
mov dword [ebp - 0x914], 0
mov dword [ebp - 0x954], ecx
nop dword [eax]
nop word [eax + eax]
imul eax, dword [edi + 0x188], 0x980
lea esi, [ecx + 0x334]
add eax, edi
add esi, eax
mov eax, edx
mov dword [ebp - 0x8ec], esi
mov ecx, dword [esi + 0x1c]
sub eax, ecx
test ecx, ecx
je 0x48afb9
cmp edx, ecx
jae 0x48afbe
mov eax, 0xbb9
cmp byte [esi + 0x10], 0xff
je 0x48b6c1
cmp eax, 0xbb8
jbe 0x48b6c1
cmp dword [edi + 0x14ea0], 0
je 0x48b6c1
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x48b009
push edi
mov ecx, eax
call fcn.004ec7b0
test eax, eax
je 0x48b009
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48b6bb
call fcn.00565b3a
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x910]
sub eax, edx
mov dword [ebp - 0x908], 0
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x8fc]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.005155e0
mov ecx, eax
mov dword [ebp - 0x8f8], ecx
test ecx, ecx
je 0x48b6bb
nop word [eax + eax]
cmp dword [ebp - 0x908], 0
jne 0x48b6bb
cmp dword [ecx + 0x124], 0
jne 0x48b69a
cmp ecx, dword [edi + 0x14ea0]
jne 0x48b69a
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48b69a
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48b69a
call fcn.0044c8d0
cmp eax, 1
jne 0x48b69a
movzx edx, byte [esi + 0x11]
movzx esi, byte [esi + 0x13]
mov dword [ebp - 0x908], eax
inc esi
mov eax, dword [ebp - 0x8ec]
lea ecx, [edx*8]
mov byte [ebp - 0x909], 0
sub ecx, edx
movd xmm0, esi
movzx eax, byte [eax + 0x10]
add ecx, eax
lea eax, [edx + 1]
imul eax, esi
cvtdq2ps xmm0, xmm0
lea ecx, [ecx + ecx*8]
shl ecx, 4
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [ebp - 0x8ec]
mulss xmm0, dword [eax + 0x20]
mulss xmm1, dword [ecx + 0x60f518]
divss xmm1, dword [0x5d0bd8]
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8f0], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e020
mov esi, eax
test esi, esi
je 0x48b3ac
nop dword [eax]
cmp byte [ebp - 0x909], 0
jne 0x48b3ac
mov ecx, esi
call fcn.0044c8e0
mov ecx, str.Drake_Mastery
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48b1f2
test dl, dl
je 0x48b18c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48b1f2
add ecx, 2
add eax, 2
test dl, dl
jne 0x48b170
xor eax, eax
jmp 0x48b1f7
cmp dword [esi + 0x1b4], 4
jge 0x48b1a3
mov dword [esi + 0x1b4], 4
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x234], 1
mov eax, dword [edi + 0x14f70]
mov dword [eax + 0x218], 0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x15
jne 0x48b1dc
mov dword [eax + 0x1d8], 0
mov ecx, edi
call fcn.00487300
mov dword [edi + 0x14f40], 1
jmp 0x48cdcb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b389
mov eax, dword [0x62ca90]
mov esi, dword [esi + 0x11c]
mov byte [ebp - 0x909], 1
mov eax, dword [eax + 0xac]
cdq
add eax, dword [esi]
mov ecx, edx
mov dword [ebp - 0x918], eax
adc ecx, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x958], ecx
mov dword [esi + 4], ecx
test eax, eax
ja 0x48b36a
jb 0x48b247
cmp dword [esi + 8], 0x64
jae 0x48b36a
mov ecx, 0x186a0
mul ecx
mov edx, 0x186a0
mov ecx, eax
mov eax, dword [esi + 8]
mul edx
add ecx, edx
cmp ecx, dword [ebp - 0x958]
ja 0x48b36a
jb 0x48b276
cmp eax, dword [ebp - 0x918]
ja 0x48b36a
mov dword [ebp - 0x930], 0
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x928], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x94b], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x94c], cl
mov byte [ebp - 0x94a], al
lea eax, [ebp - 0x94c]
sar ecx, 0x18
push eax
mov byte [ebp - 0x949], cl
lea ecx, [ebp - 0x930]
push 0
mov byte [ebp - 4], 8
mov byte [ebp - 0x948], 0
call fcn.0043ec20
add dword [esi + 8], 1
lea eax, [ebp - 0x418]
push str.You_gained_Drake_Mastery_skill___You_feel_more_in_tune_with_your_drakes.
adc dword [esi + 0xc], 0
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
imul eax, dword [edi + 0x188], 0x980
lea edx, [ebp - 0x930]
add esp, 0x18
push edx
push 0
lea edx, [ebp - 0x898]
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d0048]
push edx
push 0x65
movss dword [eax + edi + 0x300], xmm0
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x11c]
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x930]
mov byte [ebp - 4], 0
call fcn.0046dc40
mov ecx, edi
call fcn.00481680
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.005575c0
shrd eax, edx, 1
add dword [ebp - 0x8f0], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e0d0
mov esi, eax
test esi, esi
jne 0x48b150
mov esi, dword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x8f0]
push edi
push ecx
sub dword [esi + 0x1ac], ecx
mov ecx, esi
call fcn.00495a30
cmp dword [esi + 0x204], 0
je 0x48b3eb
cmp dword [esi + 0x220], 0x18
jne 0x48b3fd
call fcn.00565b3a
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x48b3fd
mov eax, dword [ebp - 0x910]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x204], edi
mov eax, dword [ebp - 0x8ec]
movzx edx, byte [eax + 0x10]
mov dword [ebp - 0x918], edx
cmp edx, 6
jne 0x48b425
call fcn.00565b3a
cdq
mov ecx, 6
idiv ecx
mov dword [ebp - 0x918], edx
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x82b], eax
mov eax, dword [ebp - 0x8f0]
push 0
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x821], eax
mov eax, dword [ebp - 0x914]
cvtdq2ps xmm0, xmm0
push 2
mov byte [ebp - 0x823], al
lea eax, [ebp - 0x82c]
push eax
push 0x13
mov byte [ebp - 0x82c], 0x3d
cvttss2si eax, xmm0
mov dword [ebp - 0x827], esi
mov byte [ebp - 0x822], dl
mov dword [ebp - 0x81d], 0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
movd xmm0, dword [edi + 0x10c]
mov eax, dword [esi + 0x1ac]
push 0
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x96b], eax
mov eax, dword [esi + 0x1b0]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x967], eax
lea eax, [ebp - 0x970]
push eax
push 0xd
mov byte [ebp - 0x970], 0x27
cvttss2si eax, xmm0
mov dword [ebp - 0x96f], esi
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b513
call fcn.0044c8d0
cmp eax, 1
je 0x48b527
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b57a
call fcn.0044c8d0
cmp eax, 2
jne 0x48b57a
lea eax, [ebp - 0x98c]
push eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.00515710
mov ecx, dword [esi + 0x218]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 0
mov eax, dword [ecx]
push esi
call dword [eax + 0x1c]
movups xmm0, xmmword [ebp - 0x98c]
mov eax, dword [ebp - 0x97c]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.005158f0
cmp dword [esi + 0x1ac], 0
jg 0x48b76f
mov ecx, esi
mov dword [esi + 0x124], 1
mov dword [esi + 0x208], edi
call fcn.00494e80
movss xmm0, dword [esi + 0x17c]
comiss xmm0, dword [0x5d0044]
jbe 0x48b625
mov ecx, esi
call fcn.00495120
push eax
lea eax, [ebp - 0x418]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
movd xmm0, dword [esi + 0x1c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d3db4]
cvttss2si eax, xmm0
mov dword [esi + 0x1c0], eax
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b74e
call fcn.0044c8d0
cmp eax, 1
jne 0x48b74e
lea eax, [ebp - 0x98c]
push eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.00515710
mov ecx, dword [esi + 0x218]
push 0xfffffffffffffff6
push 0xfffffffffffffff6
push 1
mov eax, dword [ecx]
push esi
call dword [eax + 0x1c]
movups xmm0, xmmword [ebp - 0x98c]
mov eax, dword [ebp - 0x97c]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.005158f0
mov esi, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.00515690
mov ecx, eax
mov dword [ebp - 0x8f8], eax
test ecx, ecx
jne 0x48b060
mov edx, dword [ebp - 0x910]
mov ecx, dword [ebp - 0x954]
inc dword [ebp - 0x914]
add ecx, 0x34
mov dword [ebp - 0x954], ecx
cmp ecx, 0x68
jl 0x48af90
mov eax, dword [edi + 0x244]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48bdbd
cmp edx, eax
jb 0x48bdbd
mov esi, dword [ebp - 0x8fc]
cmp ecx, 0x493e0
jbe 0x48bdd5
mov ecx, esi
mov dword [edi + 0x244], edx
call fcn.0044c8d0
imul ecx, dword [edi + 0x188], 0x980
test eax, eax
je 0x48bd49
mov eax, dword [ecx + edi + 0x310]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [ecx + edi + 0x314]
jmp 0x48bd66
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b694
call fcn.0044c8d0
cmp eax, 2
jne 0x48b694
jmp 0x48b641
mov eax, dword [ebp - 0x918]
cmp eax, 1
jne 0x48b7f5
mov esi, dword [ebp - 0x8ec]
imul edx, dword [edi + 0x188], 0x980
movzx ecx, byte [esi + 0x13]
movzx eax, byte [esi + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
shr eax, 1
mulss xmm0, dword [esi + 0x20]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movd xmm0, dword [edx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [edx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x48b69a
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48b69a
cmp eax, 2
jne 0x48b901
mov edx, dword [ebp - 0x8ec]
movzx ecx, byte [edx + 0x13]
movzx eax, byte [edx + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [edx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si esi, xmm1
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b694
mov eax, dword [ebp - 0x8ec]
movzx ecx, byte [eax + 0x13]
movzx eax, byte [eax + 0x11]
inc ecx
inc eax
imul ecx, eax
sub esp, 8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3e88]
mov esi, dword [ebp - 0x8f8]
mov ecx, esi
movss dword [esp], xmm0
push 2
call fcn.00494ef0
test byte [edi + 0x238], 1
je 0x48b694
mov ecx, esi
call fcn.00495120
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_slows_the__s.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48b69a
cmp eax, 4
jne 0x48ba33
mov edx, dword [ebp - 0x8ec]
movzx ecx, byte [edx + 0x13]
movzx eax, byte [edx + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [edx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si esi, xmm1
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b694
mov eax, dword [ebp - 0x8ec]
sub esp, 8
mov esi, dword [ebp - 0x8f8]
movzx ecx, byte [eax + 0x13]
movzx eax, byte [eax + 0x11]
inc ecx
inc eax
imul ecx, eax
movd xmm0, ecx
mov ecx, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3e88]
movss dword [esp], xmm0
push 4
call fcn.00494ef0
mov eax, dword [ebp - 0x8ec]
push edi
movzx ecx, byte [eax + 0x13]
movzx eax, byte [eax + 0x11]
inc ecx
inc eax
imul ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, esi
shr edx, 4
push edx
call fcn.00495a30
test byte [edi + 0x238], 1
je 0x48b694
mov ecx, esi
call fcn.00495120
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_poisons_the__s.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48b69a
cmp eax, 3
jne 0x48bb3f
mov edx, dword [ebp - 0x8ec]
movzx ecx, byte [edx + 0x13]
movzx eax, byte [edx + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [edx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si esi, xmm1
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b694
mov eax, dword [ebp - 0x8ec]
sub esp, 8
mov esi, dword [ebp - 0x8f8]
movzx ecx, byte [eax + 0x13]
movzx eax, byte [eax + 0x11]
inc ecx
inc eax
imul ecx, eax
movd xmm0, ecx
mov ecx, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3e88]
movss dword [esp], xmm0
push 3
call fcn.00494ef0
test byte [edi + 0x238], 1
je 0x48b694
mov ecx, esi
call fcn.00495120
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_blinds_the__s.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48b69a
mov esi, dword [ebp - 0x8ec]
cmp eax, 5
jne 0x48b69a
movzx ecx, byte [esi + 0x13]
movzx eax, byte [esi + 0x11]
inc ecx
imul edx, dword [edi + 0x188], 0x980
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
shr eax, 1
mulss xmm0, dword [esi + 0x20]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
movd xmm0, dword [edx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [edx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x48bbba
mov dword [eax + edi + 0x2fc], ecx
movzx ecx, byte [esi + 0x13]
movzx eax, byte [esi + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [esi + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si esi, xmm1
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48bcba
mov eax, dword [ebp - 0x8ec]
sub esp, 8
mov esi, dword [ebp - 0x8f8]
movzx edx, byte [eax + 0x13]
movzx ecx, byte [eax + 0x11]
inc ecx
lea eax, [edx + 1]
imul eax, ecx
movd xmm0, eax
lea eax, [edx + 1]
imul eax, ecx
mov ecx, esi
cvtdq2ps xmm0, xmm0
imul eax, eax, 0x7d0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 3
call fcn.00494ef0
test byte [edi + 0x238], 1
je 0x48bcba
mov ecx, esi
call fcn.00495120
push eax
push dword [ebp - 0x8ec]
lea eax, [ebp - 0x418]
push str._s_blinds_the__s.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8ec]
movzx ecx, byte [edx + 0x13]
movzx eax, byte [edx + 0x11]
inc ecx
inc eax
imul eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [edx + 0x20]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si esi, xmm1
call fcn.00565b3a
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b694
mov eax, dword [ebp - 0x8ec]
sub esp, 8
movzx edx, byte [eax + 0x13]
movzx ecx, byte [eax + 0x11]
inc ecx
lea eax, [edx + 1]
imul eax, ecx
movd xmm0, eax
lea eax, [edx + 1]
imul eax, ecx
cvtdq2ps xmm0, xmm0
imul eax, eax, 0x7d0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x48b87b
mov eax, dword [edi + 0x108]
mov dword [ecx + edi + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x10c]
mov dword [ecx + edi + 0x30c], eax
imul eax, dword [edi + 0x188], 0x980
inc dword [eax + edi + 0x31c]
inc dword [edi + 0x258]
cmp dword [edi + 0x14f7c], 0
jne 0x48bd9d
cmp byte [edi + 0x14fb8], 0
je 0x48bd9d
mov ecx, edi
call fcn.00487300
push esi
mov ecx, edi
call fcn.0047dfa0
push esi
mov ecx, edi
call fcn.00482450
push esi
mov ecx, edi
call fcn.00486f50
inc dword [edi + 0x14f50]
jmp 0x48bdcf
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [ebp - 0x8fc]
mov dword [edi + 0x244], eax
mov edx, dword [ebp - 0x910]
cmp dword [edi + 0x14f64], 0xffffffff
jle 0x48be3c
mov eax, edx
sub eax, dword [edi + 0x14f68]
cmp eax, 0x2710
jbe 0x48be3c
mov eax, dword [edi + 0x180]
mov ecx, esi
push 0
push 5
mov dword [ebp - 0x92b], eax
lea eax, [ebp - 0x92c]
push eax
push 8
push dword [edi + 0x10c]
mov dword [edi + 0x14f64], 0xffffffff
push dword [edi + 0x108]
mov byte [ebp - 0x92c], 0x39
push 0
mov word [ebp - 0x926], 0
mov byte [ebp - 0x927], 0
call fcn.0052acd0
mov edx, dword [ebp - 0x910]
mov ecx, edx
mov eax, dword [edi + 0x248]
sub ecx, eax
test eax, eax
je 0x48be60
cmp edx, eax
jb 0x48be60
cmp ecx, 0x1388
jbe 0x48c042
imul ecx, dword [edi + 0x188], 0x980
cmp dword [edi + 0x14ea0], 0
movd xmm1, dword [ecx + edi + 0x2f8]
cvtdq2ps xmm1, xmm1
je 0x48bea0
movd xmm0, dword [edi + 0x14f14]
mulss xmm1, dword [0x5d3d98]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d3d9c]
minss xmm1, xmm0
jmp 0x48bea8
divss xmm1, dword [0x5d3e3c]
addss xmm1, dword [0x5d3da4]
mov dword [edi + 0x248], edx
movd xmm0, dword [ecx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ecx + edi + 0x2fc], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x48bef2
mov dword [eax + edi + 0x2fc], ecx
imul ecx, dword [edi + 0x188], 0x980
lea edx, [ebp - 0x93c]
mov byte [ebp - 0x970], 0x26
push edx
push 0
lea edx, [ebp - 0x970]
push edx
push 0xd
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x96b], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, dword [esi + 0x11c]
mov dword [ebp - 0x967], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x96f], eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x48c030
cmp dword [eax + 0x214], 0
jne 0x48c030
cmp dword [eax + 0x204], 0
jne 0x48c030
mov ecx, edi
call fcn.0046fdd0
cmp eax, 9
jle 0x48c030
mov ecx, dword [edi + 0x14f70]
movd xmm0, dword [ecx + 0x1b0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5d3de0]
cvtpd2ps xmm1, xmm0
movd xmm0, dword [ecx + 0x1ac]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ecx + 0x1ac], eax
mov eax, dword [edi + 0x14f70]
mov ecx, dword [eax + 0x1b0]
cmp dword [eax + 0x1ac], ecx
jle 0x48bfcf
mov dword [eax + 0x1ac], ecx
mov ecx, dword [edi + 0x14f70]
mov dword [ebp - 0x92f], ecx
mov byte [ebp - 0x930], 0x27
push 0
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x92b], eax
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x927], eax
lea eax, [ebp - 0x930]
movd xmm0, dword [ecx + 0x10c]
cvtdq2ps xmm0, xmm0
push 2
push eax
push 0xd
cvttss2si eax, xmm0
movd xmm0, dword [ecx + 0x108]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052acd0
push esi
mov ecx, edi
call fcn.00485cc0
test eax, eax
jne 0x48c030
mov edx, dword [ebp - 0x910]
mov eax, dword [edi + 0x24c]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48c060
cmp edx, eax
jb 0x48c060
cmp ecx, 0x2710
jbe 0x48c245
mov dword [edi + 0x24c], edx
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x8f0], eax
movss xmm1, dword [edi + eax*4 + 0x154]
comiss xmm1, xmm0
jbe 0x48c169
cmp dword [edi + eax*4 + 0x128], edx
jae 0x48c09c
mov dword [edi + eax*4 + 0x154], 0
jmp 0x48c169
cmp eax, 4
jne 0x48c169
imul ecx, dword [edi + 0x188], 0x980
mulss xmm1, dword [0x5d0bb4]
push 0
push 2
movd xmm0, dword [ecx + edi + 0x2fc]
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ecx + edi + 0x2fc], eax
imul ecx, dword [edi + 0x188], 0x980
mov byte [ebp - 0x970], 0x27
mov dword [ebp - 0x96f], edi
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x96b], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
mov dword [ebp - 0x967], eax
lea eax, [ebp - 0x970]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052acd0
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov edx, dword [ebp - 0x910]
cmp dword [eax + edi + 0x2fc], 0
jg 0x48c163
mov dword [eax + edi + 0x2fc], 0
mov eax, dword [ebp - 0x8f0]
mov dword [edi + 0x124], 1
inc eax
jmp 0x48c06b
mov eax, dword [ebp - 0x8f0]
inc eax
mov dword [ebp - 0x8f0], eax
cmp eax, 0xb
jl 0x48c071
mov ecx, dword [esi + 0x110]
call fcn.0044e020
mov dword [ebp - 0x958], eax
cmp eax, edi
je 0x48c1c2
lea ecx, [edi + 0x18c]
push ecx
lea ecx, [eax + 0x18c]
push ecx
call fcn.0044d200
add esp, 8
test eax, eax
je 0x48c1c2
mov eax, dword [ebp - 0x958]
mov dword [edi + 0x14f40], 1
mov dword [eax + 0x14f40], 1
mov ecx, dword [esi + 0x110]
call fcn.0044e0d0
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044dfd0
cmp dword [edi + 0x14f34], 1
jne 0x48c23f
mov byte [ebp - 0x92c], 0x4b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x62ca90]
mov edx, eax
mov eax, 0x10624dd3
sub edx, dword [ecx + 0x58]
mov ecx, dword [esi + 0x11c]
mul edx
mov eax, 0x88888889
shr edx, 6
mul edx
mov ax, word [0x62ca8c]
shr edx, 5
mov word [ebp - 0x927], dx
lea edx, [ebp - 0x93c]
push edx
push 0
mov word [ebp - 0x92b], ax
lea edx, [ebp - 0x92c]
mov eax, dword [ecx]
push edx
push 7
call dword [eax + 4]
mov edx, dword [ebp - 0x910]
cmp dword [edi + 0x25c], 0
je 0x48c2d3
mov ecx, dword [edi + 0x250]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x908], eax
test ecx, ecx
je 0x48c26a
cmp edx, ecx
jae 0x48c274
mov dword [ebp - 0x908], 0x1389
imul eax, dword [edi + 0x188], 0x980
mov esi, dword [eax + edi + 0xbd0]
xor eax, eax
cmp esi, 3
setle al
add eax, 4
cmp esi, 4
lea ecx, [eax - 1]
cmovle ecx, eax
cmp esi, 5
lea edx, [ecx - 1]
cmovle edx, ecx
cmp esi, 6
mov esi, dword [ebp - 0x8fc]
lea eax, [edx - 1]
cmovle eax, edx
imul eax, eax, 0x3e8
cmp dword [ebp - 0x908], eax
jbe 0x48c2d9
push esi
mov ecx, edi
mov dword [edi + 0x25c], 0
call fcn.004701c0
jmp 0x48c2d9
mov esi, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x910]
mov ecx, edx
mov eax, dword [edi + 0x254]
sub ecx, eax
test eax, eax
je 0x48c2fd
cmp edx, eax
jb 0x48c2fd
cmp ecx, 0xea60
jbe 0x48cdcb
mov dword [edi + 0x254], edx
lea eax, [ebp - 0x958]
push eax
mov dword [edi + 0x14f60], 0
mov dword [edi + 0x14f5c], 0
mov dword [edi + 0x14f58], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [0x62ca90]
add eax, 0x2a0
add eax, edi
push eax
call fcn.004b8ae0
test eax, eax
je 0x48c373
mov ecx, dword [ebp - 0x958]
mov eax, dword [ecx + 0x15c]
mov dword [edi + 0x14f58], eax
mov eax, dword [ecx + 0x160]
mov dword [edi + 0x14f5c], eax
mov eax, dword [ecx + 0x164]
mov dword [edi + 0x14f60], eax
xorps xmm0, xmm0
movups xmmword [edi + 0x14f04], xmm0
movups xmmword [edi + 0x14f14], xmm0
movups xmmword [edi + 0x14f24], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e020
mov dword [ebp - 0x8f0], eax
test eax, eax
je 0x48c4a6
cmp dword [eax + 0x110], 2
jne 0x48c47f
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515340
mov eax, dword [ebp - 0x908]
cmp byte [eax + 8], 0
je 0x48c47f
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.005153a0
test eax, eax
js 0x48c47f
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8f0]
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e210
mov ecx, dword [ebp - 0x8f0]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x8f0], eax
test eax, eax
jne 0x48c3b2
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e020
mov dword [ebp - 0x8f0], eax
test eax, eax
je 0x48c5c4
nop dword [eax]
cmp dword [eax + 0x110], 2
jne 0x48c59d
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515340
mov eax, dword [ebp - 0x908]
cmp byte [eax + 8], 0
je 0x48c59d
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.005153a0
test eax, eax
js 0x48c59d
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8f0]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e210
mov ecx, dword [ebp - 0x8f0]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x8f0], eax
test eax, eax
jne 0x48c4d0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e020
mov dword [ebp - 0x8f0], eax
test eax, eax
je 0x48c741
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x48c71a
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515340
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48c71a
lea eax, [ebp - 0x82c]
push eax
lea ecx, [edx + 0xa]
call fcn.005153a0
test eax, eax
js 0x48c6bf
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8f0]
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e210
mov ecx, dword [ebp - 0x8f0]
push 1
mov eax, dword [ecx]
call dword [eax]
jmp 0x48c71a
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48c71a
movd xmm0, dword [edx + 4]
xor ecx, ecx
movss xmm1, dword [edx + 0x40]
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, dword [edx]
cmp eax, 7
jl 0x48c6f9
cmp eax, 9
jg 0x48c6f9
cvttss2si ecx, xmm1
jmp 0x48c70a
cmp eax, 0xb
jne 0x48c70a
xor edx, edx
comiss xmm1, dword [0x5d0044]
cmova ecx, edx
cmp ecx, dword [edi + eax*4 + 0x14f04]
jle 0x48c71a
mov dword [edi + eax*4 + 0x14f04], ecx
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x8f0], eax
test eax, eax
jne 0x48c5f0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e020
mov dword [ebp - 0x91c], eax
test eax, eax
je 0x48cc1a
mov ecx, eax
call fcn.0044c8e0
mov ecx, str.Dodging
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48c794
test dl, dl
je 0x48c790
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48c794
add ecx, 2
add eax, 2
test dl, dl
jne 0x48c774
xor eax, eax
jmp 0x48c799
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c9ad
mov esi, dword [ebp - 0x91c]
mov esi, dword [esi + 0x11c]
mov dword [ebp - 0x974], esi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi]
push eax
push ecx
push eax
mov dword [ebp - 0x940], edx
mov edx, dword [esi + 4]
push ecx
mov dword [ebp - 0x914], edx
call fcn.005575c0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0x914]
add esi, edx
cmp esi, ecx
ja 0x48c9ad
jb 0x48c807
cmp eax, dword [ebp - 0x940]
ja 0x48c9ad
mov eax, dword [ebp - 0x940]
mov edx, 0xe147ae15
mul edx
mov dword [ebp - 0x930], eax
mov esi, edx
mov eax, dword [ebp - 0x940]
mov edx, 0x47ae147a
mul edx
mov edi, eax
mov dword [ebp - 0x918], edx
mov eax, ecx
mov ecx, 0xe147ae15
mul ecx
mov ecx, eax
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x914]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov esi, dword [ebp - 0x940]
mov dword [ebp - 0x944], edx
mov edx, dword [ebp - 0x908]
adc edx, 0
mov dword [ebp - 0x954], eax
add edi, ecx
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x930], edi
adc ecx, 0
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0x954]
adc eax, eax
add ecx, edx
mov edx, dword [ebp - 0x944]
adc edx, eax
mov eax, dword [ebp - 0x914]
sub esi, ecx
sbb eax, edx
shrd esi, eax, 1
shr eax, 1
add ecx, esi
adc eax, edx
shrd ecx, eax, 6
shr eax, 6
mov edx, eax
call fcn.00556830
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x48c8c4
sqrtsd xmm0, xmm0
jmp 0x48c8c9
call fcn.00592a30
movaps xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x5d0050]
movlpd qword [ebp - 0x930], xmm0
movsd xmm0, qword [0x5d3e78]
comisd xmm1, xmm0
jb 0x48c90e
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x48c90e
mov esi, dword [ebp - 0x930]
mov edi, dword [ebp - 0x92c]
add esi, 0
adc edi, 0x80000000
jmp 0x48c91a
mov edi, dword [ebp - 0x92c]
mov esi, dword [ebp - 0x930]
movaps xmm0, xmm1
call fcn.00556780
mov ecx, dword [ebp - 0x974]
add eax, esi
push str.You_gained_Dodging_skill__
adc edx, edi
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov edi, dword [ebp - 0x95c]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d3da0]
movss dword [eax + edi + 0x300], xmm0
mov esi, dword [ebp - 0x91c]
mov ecx, esi
call fcn.0044c8e0
mov ecx, str.Pet_Energy
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48c9e0
test dl, dl
je 0x48c9dc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48c9e0
add ecx, 2
add eax, 2
test dl, dl
jne 0x48c9c0
xor eax, eax
jmp 0x48c9e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cbf3
mov esi, dword [esi + 0x11c]
mov dword [ebp - 0x944], esi
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi]
push eax
push ecx
push eax
mov dword [ebp - 0x940], edx
mov edx, dword [esi + 4]
push ecx
mov dword [ebp - 0x914], edx
call fcn.005575c0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, dword [ebp - 0x914]
add esi, edx
cmp esi, ecx
ja 0x48cbf3
jb 0x48ca4d
cmp eax, dword [ebp - 0x940]
ja 0x48cbf3
mov eax, dword [ebp - 0x940]
mov edx, 0xe147ae15
mul edx
mov dword [ebp - 0x930], eax
mov esi, edx
mov eax, dword [ebp - 0x940]
mov edx, 0x47ae147a
mul edx
mov edi, eax
mov dword [ebp - 0x918], edx
mov eax, ecx
mov ecx, 0xe147ae15
mul ecx
mov ecx, eax
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x914]
mov edx, 0x47ae147a
mul edx
add ecx, esi
mov esi, dword [ebp - 0x940]
mov dword [ebp - 0x91c], edx
mov edx, dword [ebp - 0x908]
adc edx, 0
mov dword [ebp - 0x954], eax
add edi, ecx
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x930], edi
adc ecx, 0
xor eax, eax
add edx, ecx
mov ecx, dword [ebp - 0x954]
adc eax, eax
add ecx, edx
mov edx, dword [ebp - 0x91c]
adc edx, eax
mov eax, dword [ebp - 0x914]
sub esi, ecx
sbb eax, edx
shrd esi, eax, 1
shr eax, 1
add ecx, esi
adc eax, edx
shrd ecx, eax, 6
shr eax, 6
mov edx, eax
call fcn.00556830
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x48cb0a
sqrtsd xmm0, xmm0
jmp 0x48cb0f
call fcn.00592a30
movaps xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x5d0050]
movlpd qword [ebp - 0x930], xmm0
movsd xmm0, qword [0x5d3e78]
comisd xmm1, xmm0
jb 0x48cb54
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x48cb54
mov esi, dword [ebp - 0x930]
mov edi, dword [ebp - 0x92c]
add esi, 0
adc edi, 0x80000000
jmp 0x48cb60
mov edi, dword [ebp - 0x92c]
mov esi, dword [ebp - 0x930]
movaps xmm0, xmm1
call fcn.00556780
mov ecx, dword [ebp - 0x944]
add eax, esi
push str.You_gained_Pet_Energy__
adc edx, edi
mov dword [ecx + 8], eax
lea eax, [ebp - 0x418]
push eax
mov dword [ecx + 0xc], edx
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov eax, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x898]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov edi, dword [ebp - 0x95c]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d3da0]
movss dword [eax + edi + 0x300], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 8
call fcn.0044e0d0
mov dword [ebp - 0x91c], eax
test eax, eax
jne 0x48c768
imul esi, dword [edi + 0x188], 0x980
mov ecx, edi
call fcn.00483260
lea eax, [eax + eax*2]
lea eax, [eax*2 + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [esi + edi + 0x300]
cvttss2si eax, xmm0
mov dword [esi + edi + 0x2f8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0xbd0]
mov edx, dword [eax + edi + 0x2f8]
cmp ecx, 6
jge 0x48cc72
imul ecx, edx
jmp 0x48cc75
lea ecx, [edx + edx*4]
mov dword [eax + edi + 0x2f8], ecx
imul eax, dword [edi + 0x188], 0x980
cvttss2si ecx, dword [eax + edi + 0x304]
cvttss2si eax, dword [eax + edi + 0x300]
cmp ecx, eax
je 0x48cdbd
lea eax, [ebp - 0x8e8]
mov byte [ebp - 0x8e8], 9
push eax
mov ecx, edi
call fcn.00470000
mov esi, dword [ebp - 0x8fc]
lea edx, [ebp - 0x93c]
push edx
push 0
lea edx, [ebp - 0x8e8]
mov ecx, dword [esi + 0x11c]
push edx
push 0x4d
mov eax, dword [ecx]
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
cvttss2si eax, dword [eax + edi + 0x300]
push eax
lea eax, [ebp - 0x418]
push str.You_gained_a_Level____You_are_now_Level__ld.
push eax
call fcn.0043d360
push 0x64
lea eax, [ebp - 0x897]
push eax
lea eax, [ebp - 0x418]
push 0x400
push eax
call fcn.0044cdd0
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x93c]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x898]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x82b], eax
movzx eax, byte [edi + 0x108]
push 0
mov byte [ebp - 0x823], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x822], al
lea eax, [ebp - 0x82c]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x82c], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x827], 0xffffffff
push 0
mov word [ebp - 0x821], 0xff28
mov dword [ebp - 0x81f], 0x50028
call fcn.0052acd0
imul edx, dword [edi + 0x188], 0x980
mov eax, dword [edx + edi + 0x300]
mov dword [edx + edi + 0x304], eax
jmp 0x48cdc3
mov esi, dword [ebp - 0x8fc]
push esi
mov ecx, edi
call fcn.00487d30
lea ecx, [ebp - 0x93c]
call fcn.0046dc40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00556488
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4