Function at 0x488090
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 0x5c58ee
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x9c0
mov eax, dword [0x62c7a8]
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 0x4880f5
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.0043ec40
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 0x4886f5
mov edx, dword [edi + 0x118]
mov ecx, eax
sub ecx, edx
mov dword [edi + 0x14f80], 0
test edx, edx
je 0x4881bd
cmp eax, edx
jae 0x4881c4
mov ecx, dword [edi + 0x14fa8]
inc ecx
mov dword [edi + 0x14ea0], 0
cmp ecx, dword [edi + 0x14fa8]
jbe 0x48cdeb
mov ecx, esi
mov dword [edi + 0x120], 0
call fcn.0044c8d0
test eax, eax
jne 0x488472
mov ecx, 0x6122b4
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 0x488239
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 0x488329
mov eax, dword [ebp - 0x900]
jmp 0x48823f
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 0x488329
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 0x488329
cmp dword [esi + 0x124], 0
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x900], eax
jne 0x488329
lea eax, [ecx - 0x44]
push eax
lea eax, [ebp - 0x418]
push str.You_are_entering__s.
push eax
call fcn.0043d380
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, 0x612a34
jl 0x488200
mov eax, 0x6122b0
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 0x488458
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 0x488458
mov eax, dword [ebp - 0x908]
sub eax, dword [edi + 0x110]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x4883c1
mov eax, dword [ebp - 0x918]
sub eax, dword [edi + 0x114]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x488458
cmp dword [esi + 0x124], 0
jne 0x488458
mov eax, dword [ebp - 0x8f8]
add eax, 0xffffffc0
push eax
lea eax, [ebp - 0x418]
push str.You_are_leaving__s.
push eax
call fcn.0043d380
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, 0x612a30
jl 0x488350
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 0x4884eb
cmp dword [edi + 0x14f4c], 0
jne 0x4884eb
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.0052bf40
jmp 0x488508
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.0048ce20
push esi
mov ecx, edi
call fcn.00484600
mov ecx, dword [esi + 0x118]
push 1
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00515600
mov ecx, eax
mov dword [ebp - 0x95c], ecx
test ecx, ecx
je 0x488665
call fcn.0044c8d0
cmp eax, 1
jne 0x48864a
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 0x488601
mov eax, dword [eax]
cmp eax, dword [edi + 0x10c]
jne 0x488607
cmp dword [ecx + 0x204], 0
mov dword [ebp - 0x904], ecx
jne 0x4885f5
cmp dword [edi + 0x14f38], 0
jne 0x4885f5
cmp dword [ecx + 0x21c], 0
jne 0x4885f5
mov eax, dword [ecx + 0x220]
cmp eax, 7
je 0x4885f5
cmp eax, 0x1f
je 0x4885f5
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x4885cc
push edi
mov ecx, eax
call fcn.004ec7f0
test eax, eax
jne 0x4885f5
call fcn.00568dab
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 0x48864a
mov dword [ebp - 0x904], 0
jmp 0x48864a
mov dword [ebp - 0x914], eax
sub edx, dword [edi + 0x108]
mov eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x48864a
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 0x48864a
cmp dword [edi + 0x14f38], 0
jne 0x48864a
cmp dword [ecx + 0x21c], 0
jne 0x48864a
push esi
push edi
call fcn.00495470
mov ecx, dword [esi + 0x118]
call fcn.005156b0
mov ecx, eax
mov dword [ebp - 0x95c], eax
test ecx, ecx
jne 0x488545
cmp dword [edi + 0x14ea0], 0
jne 0x4886c7
mov ecx, dword [ebp - 0x904]
test ecx, ecx
je 0x4886c7
cmp dword [edi + 0x14f38], 0
jne 0x4886c7
cmp dword [ecx + 0x21c], 0
jne 0x4886c7
cmp dword [edi + 0x14f70], 0
jne 0x4886c7
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, 0x631538
push dword [edi + 0x108]
push esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052f030
jmp 0x48cdeb
mov ecx, dword [edi + 0x11c]
sub eax, ecx
mov dword [ebp - 0x914], eax
test ecx, ecx
je 0x48870f
cmp dword [ebp - 0x910], ecx
jae 0x488719
mov dword [ebp - 0x914], 0x7d1
imul eax, dword [edi + 0x188], 0x980
mov ecx, 0x2ee
cmp dword [eax + edi + 0x2e8], 9
jle 0x488773
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 0x48876c
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 0x4887a3
cmp dword [edx + 0x224], 0
jne 0x4887a3
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 + 0x5d2230]
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 [0x5d6e70]
movss xmm1, dword [ebp - 0x950]
addss xmm0, xmm1
comiss xmm2, xmm0
jbe 0x48af43
test edx, edx
je 0x48af43
mov ecx, dword [ebp - 0x940]
test ecx, ecx
je 0x488837
push edi
call fcn.004ec7f0
test eax, eax
je 0x488837
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48af3b
mov eax, dword [ebp - 0x910]
mov ecx, 1
movss xmm0, dword [edi + 0x170]
mov dword [edi + 0x11c], eax
xor eax, eax
comiss xmm0, dword [0x5d3044]
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.00515600
mov dword [ebp - 0x8f4], eax
test eax, eax
je 0x48af28
mov dword [ebp - 0x958], 0x9c4
nop dword [eax]
cmp dword [ebp - 0x914], 0
jne 0x48af3b
cmp eax, dword [edi + 0x14ea0]
jne 0x48af0f
mov ecx, eax
call fcn.0044c8d0
cmp eax, 1
jne 0x48af0f
mov ecx, dword [ebp - 0x8f4]
cmp dword [ecx + 0x124], 0
jne 0x48af0f
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48af0f
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48af0f
mov ecx, dword [ecx + 0x21c]
mov dword [ebp - 0x914], 1
test ecx, ecx
je 0x48893a
call fcn.0046fde0
cmp eax, 9
jle 0x48893a
mov eax, dword [ebp - 0x8f4]
mov eax, dword [eax + 0x204]
test eax, eax
je 0x48af31
cmp eax, edi
jne 0x48af31
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 0x488b16
mov ecx, dword [ebp - 0x900]
cmp ecx, 0xffffffff
jne 0x488b03
cmp dword [ebp - 0x8f8], 0
jne 0x488be4
cmp dword [eax + 0x110], 1
jne 0x488ab9
cmp dword [eax + 0x118], 1
jle 0x488a6f
push 0x120
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x9b8], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x488a1b
push 0x5d4cd4
push 0
push 1
mov ecx, eax
call fcn.0050ce40
mov edx, eax
mov dword [ebp - 0x8f0], eax
jmp 0x488a23
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 0x488ad6
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 0x4889b0
mov ecx, dword [ebp - 0x900]
mov eax, dword [ebp - 0x8f8]
test eax, eax
jne 0x488bea
cmp ecx, 0xffffffff
jne 0x488b2a
mov dword [ebp - 0x900], 1
mov dword [ebp - 0x954], 1
mov ecx, edi
call fcn.00483280
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 [0x5d3044]
mov dword [ebp - 0x8f0], edx
jbe 0x488b77
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x8f0], eax
call fcn.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00568dab
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 0x488bbf
call fcn.00568dab
cdq
mov ecx, 0x190
idiv ecx
mov eax, 0x1e
cmp edx, 6
cmove esi, eax
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x48902b
add eax, 0x3c
mov dword [ebp - 0x8ec], eax
cmp dword [eax], 0xd
jne 0x48902e
jmp 0x48903d
mov eax, dword [ebp - 0x8f8]
cmp byte [eax + 0xc], 0
je 0x48af0f
mov eax, dword [ebp - 0x8f4]
cmp dword [eax + 0x204], 0
je 0x488c24
cmp dword [eax + 0x220], 0x18
jne 0x488c36
call fcn.00568dab
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x488c36
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.0046e050
push dword [ebp - 0x8f8]
mov dword [ebp - 0x8f0], 0
call fcn.0052d7f0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x91c], ecx
test ecx, ecx
jle 0x488d31
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.00515600
mov dword [ebp - 0x944], eax
test eax, eax
je 0x488d4b
nop dword [eax]
mov ecx, eax
call fcn.0044c8d0
cmp eax, 1
jne 0x488d1a
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 0x488d1a
mov eax, dword [edi + 0x10c]
sub eax, dword [ecx + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 0x91c]
jg 0x488d1a
push ecx
lea eax, [ebp - 0x8e0]
mov ecx, edi
push eax
push esi
call fcn.0048cf20
mov dword [ebp - 0x8f0], eax
mov ecx, dword [esi + 0x118]
call fcn.005156b0
mov dword [ebp - 0x944], eax
test eax, eax
jne 0x488cc0
jmp 0x488d4b
push dword [ebp - 0x8f4]
mov ecx, edi
push dword [ebp - 0x8f8]
push esi
call fcn.0048cf20
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x8f8]
dec dword [eax + 8]
cmp dword [eax + 8], 0
jg 0x488fc7
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 0x488e4d
nop word [eax + eax]
cmp dword [ecx + 0x110], 0xe
jne 0x488e24
mov eax, dword [ebp - 0x8f8]
cmp eax, dword [ecx + 0x11c]
jne 0x488e24
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.0052bf40
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 0x488d90
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 0x488fc7
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x488ec0
push edi
push eax
lea eax, [ebp - 0x9b0]
push eax
call fcn.0049e940
add esp, 0xc
cmp dword [edi + 0x14f38], 0
je 0x488f57
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 0x488f8d
cmp ecx, 0xe
jne 0x488fa6
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 + 0x627638]
mov byte [ebp - 0x996], al
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x627639]
mov byte [ebp - 0x995], al
mov eax, dword [ecx]
mov byte [ebp - 0x997], 0x80
movzx eax, byte [eax + eax*2 + 0x62763a]
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 0x488fa6
cmp dword [edi + 0x14f38], eax
je 0x488f57
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 0x488f8d
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.0052bf40
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 0x488e75
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 0x48aedf
add eax, 0x3c
mov dword [ebp - 0x8ec], eax
cmp esi, 0x14
jle 0x48ae7c
mov ecx, edi
call fcn.00483280
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 [0x5d6d94]
addss xmm1, dword [0x5d3048]
mulss xmm1, xmm0
movd xmm0, dword [edi + 0x14f04]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8f8], eax
call fcn.0046e050
mov eax, dword [edi + 0x14f58]
mov dword [ebp - 0x918], 0
test eax, eax
jle 0x4890d5
movd xmm0, dword [ebp - 0x8f8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d6d8c]
addss xmm1, dword [0x5d3048]
mulss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8f8], eax
cmp dword [ebp - 0x904], 0
je 0x48a34b
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 3
jne 0x48919c
call fcn.00568dab
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 3
jne 0x489122
test byte [edi + 0x238], 1
mov ecx, dword [ebp - 0x8f8]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x8f8], ecx
je 0x489196
push str.With_a_burst_of_strength__you_do_THREE_TIMES_as_much_damage_.
jmp 0x489150
call fcn.00568dab
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jne 0x489196
mov eax, dword [ebp - 0x8f8]
add eax, eax
test byte [edi + 0x238], 1
mov dword [ebp - 0x8f8], eax
je 0x489196
push str.With_a_burst_of_strength__you_do_TWICE_as_much_damage_.
lea eax, [ebp - 0x418]
push eax
call fcn.0043d380
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 0x489293
call fcn.00568dab
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 8
jne 0x48928d
movd xmm0, dword [ebp - 0x8f8]
sub esp, 8
mov ecx, dword [ebp - 0x8f4]
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x40000000
mulss xmm0, dword [0x5d6e6c]
movss dword [esp], xmm0
push 7
call fcn.00494f20
mov dword [ebp - 0x8f0], eax
imul eax, dword [ebp - 0x8f8], 0x32
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48928d
mov ecx, dword [ebp - 0x8f4]
mov esi, dword [edi + 0x188]
call fcn.00495150
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.0043d380
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 0x4892ca
call fcn.00568dab
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x4892c4
push dword [ebp - 0x8f4]
mov ecx, edi
push dword [ebp - 0x8f8]
push dword [ebp - 0x904]
push esi
call fcn.0047c250
mov eax, dword [ebp - 0x8ec]
mov eax, dword [eax]
sub eax, 6
cmp eax, 0x79
ja 0x489315
call fcn.00568dab
and eax, reloc.WS2_32.dll_accept
jns 0x4892e5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
mov eax, dword [ebp - 0x8ec]
jne 0x48931b
cmp dword [eax], 0xd
je 0x48931b
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.0047c250
mov eax, dword [ebp - 0x8ec]
mov edx, dword [ebp - 0x904]
cmp dword [edx + 0x38], 0
jle 0x48a34b
mov eax, dword [eax]
add eax, 0xfffffffa
cmp eax, 0x79
ja 0x48a34b
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 0x489440
mov ecx, dword [ebp - 0x8f4]
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 3
call fcn.00494f20
movss xmm0, dword [ebp - 0x900]
movss xmm1, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8ec]
jmp 0x489448
movss dword [ebp - 0x900], xmm0
cmp dword [eax], 9
jne 0x48946e
mov ecx, dword [ebp - 0x8f4]
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 4
call fcn.00494f20
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 8
jne 0x4894a4
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.00494f20
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xa
jne 0x4894da
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.00494f20
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xb
jne 0x489510
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.00494f20
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
jne 0x48a34b
mov ecx, edi
call fcn.0046fde0
cmp eax, 9
jle 0x48a2e0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x8f4]
mov eax, dword [edx + 0x34]
cmp eax, dword [ecx + 0x1bc]
jl 0x48a26a
cmp dword [ecx + 0x238], 4
jge 0x48a26a
mov ecx, edi
call fcn.0047d5a0
mov ecx, dword [ebp - 0x8f4]
cmp eax, dword [ecx + 0x220]
jg 0x4895ce
mov ecx, edi
call fcn.0047d5a0
mov ecx, dword [ebp - 0x8f4]
cmp eax, dword [ecx + 0x220]
jne 0x489591
mov ecx, edi
call fcn.0047d4d0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x224]
jge 0x4895ce
mov ecx, edi
call fcn.0047d5a0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x220]
jne 0x48a264
mov ecx, edi
call fcn.0047d4d0
mov ecx, dword [ebp - 0x8f4]
cmp eax, 5
jne 0x48a264
cmp dword [ecx + 0x224], 0
jne 0x48a264
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x15c]
jb 0x489689
comiss xmm0, dword [ecx + 0x160]
jb 0x489689
comiss xmm0, dword [ecx + 0x170]
jb 0x489689
mov eax, dword [ecx + 0x204]
lea edx, [ecx + 0x204]
mov dword [ebp - 0x8f0], edx
test eax, eax
je 0x489681
cmp eax, edi
je 0x489681
cmp dword [ecx + 0x238], 4
jge 0x489625
mov dword [ecx + 0x238], 0
lea eax, [ebp - 0x418]
push str.Cannot_tame_a_monster_attacking_another_player.
push eax
call fcn.0043d380
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 0x4896ef
inc dword [ecx + 0x238]
jmp 0x4896ef
lea eax, [ebp - 0x418]
push str.Cant_tame_a_monster_that_is_blinded__slowed__or_stunned.
push eax
call fcn.0043d380
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 0x48a2e0
mov eax, dword [edi + 0x14f70]
test eax, eax
je 0x489b48
lea ecx, [ebp - 0x418]
add eax, 0x184
push ecx
push str.___s____n_
push eax
call fcn.0043dd20
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x818]
push str.Stabled__s
push eax
call fcn.0043d380
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 0x4898ec
nop word [eax + eax]
cmp dword [esi + 0x110], 0x15
jne 0x4898bd
lea ecx, [esi + 8]
lea eax, [ebp - 0x818]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4897a6
test dl, dl
je 0x4897a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4897a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x489786
xor eax, eax
jmp 0x4897ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4898bd
mov ecx, dword [esi + 0x11c]
mov edx, dword [edi + 0x14f70]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x220]
jne 0x4898bd
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x224]
jne 0x4898bd
mov eax, dword [ecx + 0x14]
mov byte [ebp - 0x909], 1
cmp eax, dword [edx + 0x1bc]
jge 0x4898a4
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 0x489770
cmp byte [ebp - 0x909], al
jne 0x489a4e
lea eax, [ebp - 0x818]
push eax
lea eax, [ebp - 0x418]
push 0x5d30e0
push eax
call fcn.0043d380
push 0x120
call fcn.005596ac
add esp, 0x10
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x489935
lea ecx, [ebp - 0x418]
push ecx
push 0
push 0x15
mov ecx, eax
call fcn.0050ce40
mov edx, eax
jmp 0x489937
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.0047d5a0
mov esi, dword [ebp - 0x8f4]
inc eax
cmp dword [esi + 0x220], eax
jg 0x489ef1
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 0x489ef7
nop
mov ecx, eax
call fcn.0044c8e0
mov ecx, 0x5d4e24
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x489bc0
test dl, dl
je 0x489bbc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x489bc0
add ecx, 2
add eax, 2
test dl, dl
jne 0x489ba0
xor eax, eax
jmp 0x489bc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489ebc
mov esi, dword [ebp - 0x900]
mov ecx, edi
mov esi, dword [esi + 0x11c]
mov dword [ebp - 0x900], esi
call fcn.0047d5a0
mov ecx, dword [ebp - 0x8f4]
cmp dword [ecx + 0x220], eax
jne 0x489c11
mov ecx, edi
call fcn.0047d4d0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp eax, dword [ecx + 0x224]
jne 0x489c11
add dword [esi], 1
adc dword [esi + 4], 0
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d4e2c
mov esi, eax
call fcn.0047d4d0
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 0x489c60
test dl, dl
je 0x489c5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489c60
add eax, 2
add ecx, 2
test dl, dl
jne 0x489c40
xor eax, eax
jmp 0x489c65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489c76
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d4e34
mov esi, eax
call fcn.0047d4d0
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 0x489cc4
test dl, dl
je 0x489cc0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489cc4
add eax, 2
add ecx, 2
test dl, dl
jne 0x489ca4
xor eax, eax
jmp 0x489cc9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489cda
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d4e40
mov esi, eax
call fcn.0047d4d0
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 0x489d28
test dl, dl
je 0x489d24
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489d28
add eax, 2
add ecx, 2
test dl, dl
jne 0x489d08
xor eax, eax
jmp 0x489d2d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489d3e
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
mov dword [ebp - 0x8f0], 0x5d4e48
mov esi, eax
call fcn.0047d4d0
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 0x489d90
test dl, dl
je 0x489d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x489d70
xor eax, eax
jmp 0x489d95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x489da6
mov eax, dword [ebp - 0x900]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.0047d4d0
cmp eax, 5
jge 0x489de8
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.0047d4d0
add eax, esi
mov esi, dword [ebp - 0x900]
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x489dee
mov dword [esi], 5
mov dword [esi + 4], 0
jmp 0x489dee
mov esi, dword [ebp - 0x900]
mov ecx, edi
call fcn.0047d5a0
mov ecx, dword [ebp - 0x8f4]
inc eax
cmp dword [ecx + 0x220], eax
jne 0x489e0b
add dword [esi], 1
adc dword [esi + 4], 0
cmp dword [esi + 4], 0
ja 0x489e16
cmp dword [esi], 5
jbe 0x489e7c
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.0043d380
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.0047d4d0
cmp eax, 5
jge 0x489ebc
mov ecx, edi
call fcn.0047d5a0
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.0047d4d0
add eax, esi
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x489ebc
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 0x489b90
mov esi, dword [ebp - 0x8f4]
lea ecx, [esi + 0x204]
jmp 0x489ef7
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.0043d380
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 0x489fb5
cmp dword [edx + 4], 0
jne 0x48b1b0
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 0x48a04d
cmp dword [eax + 0x224], 1
jne 0x48a04d
cmp byte [eax + 0x1dd], 0
jne 0x48a04d
push 0x1e4
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x9c0], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x48a02c
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.00493260
jmp 0x48a02e
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.005155e0
jmp 0x48a053
mov esi, dword [ebp - 0x8fc]
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0xb
jne 0x48a0cf
cmp dword [eax + 0x224], 1
jne 0x48a0cf
cmp byte [eax + 0x1dd], 0
jne 0x48a0cf
push 0x1e4
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x9c4], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x48a0b6
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.00493260
jmp 0x48a0b8
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.005155e0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x1b
jne 0x48a167
cmp byte [eax + 0x1dd], 0
jne 0x48a167
push 0x1e4
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x9c8], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x48a131
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.00493260
jmp 0x48a133
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.005155e0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x220], 0x1e
jne 0x48a1e3
cmp dword [eax + 0x224], 1
jle 0x48a1e3
cmp byte [eax + 0x1dd], 0
jne 0x48a1e3
push 0x1e4
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x9cc], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x48a1ca
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.00493260
jmp 0x48a1cc
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.005155e0
mov eax, dword [edi + 0x14f70]
cmp dword [eax + 0x1b4], 4
jge 0x48a1fc
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 0x48a22f
mov dword [eax + 0x1d8], 0
mov eax, dword [edi + 0x14f70]
push esi
mov dword [eax + 0x234], 1
mov ecx, dword [edi + 0x14f70]
call fcn.00493770
mov eax, dword [edi + 0x14f70]
mov ecx, edi
mov byte [eax + 0x1dd], 1
call fcn.00487320
jmp 0x48a2e0
mov edx, dword [ebp - 0x904]
cmp dword [ecx + 0x238], 3
jle 0x48a27a
mov edx, str.This_monster_is_untamable.
jmp 0x48a290
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.0043d380
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 0x48a34b
mov ecx, edi
call fcn.0046fde0
cmp eax, 0xa
jge 0x48a34b
lea eax, [ebp - 0x418]
push str.You_arent_a_Beastmaster__dont_try_to_use_this.
push eax
call fcn.0043d380
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 0x48a3ca
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 0x48a3d0
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48a3d0
mov edx, dword [ebp - 0x8f8]
mov esi, dword [ebp - 0x904]
test esi, esi
je 0x48a43e
mov ecx, edi
call fcn.0047d2a0
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 0x48a43e
cmp edx, 1
jle 0x48a43e
mov esi, dword [ebp - 0x8f4]
mov ecx, esi
push edi
push 1
mov dword [ebp - 0x8f8], 1
dec dword [esi + 0x1ac]
call fcn.00495a60
mov esi, dword [ebp - 0x904]
jmp 0x48a459
mov ecx, dword [ebp - 0x8f4]
push edi
push edx
sub dword [ecx + 0x1ac], edx
call fcn.00495a60
test esi, esi
je 0x48a7f1
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 0x48a49c
inc ecx
mov dword [eax + 0x38], ecx
cmp ecx, 0x2710
jle 0x48a4ba
cmp esi, 5
jl 0x48a4ae
cmp dword [eax], 0x48
jge 0x48a4ba
mov dword [eax + 0x38], 0x2710
mov ecx, 0x2710
lea eax, [edx - 6]
cmp eax, 0x79
ja 0x48a4e6
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 0x48a4e6
mov ecx, dword [ebp - 0x904]
mov dword [ecx + 0x38], eax
mov ecx, eax
cmp edx, 6
jge 0x48a68e
mov eax, dword [ebp - 0x904]
cmp edx, 2
jne 0x48a4ff
cmp dword [eax], 0x65
jg 0x48a508
cmp dword [eax], 0x47
jle 0x48a68e
cmp esi, 4
jle 0x48a68e
xor esi, esi
cmp ecx, 0x2710
jle 0x48a53f
lea eax, [ecx - 0x2710]
cdq
idiv dword [ebp - 0x958]
mov eax, 1
test edx, edx
cmove esi, eax
cmp ecx, 0x1adb0
jne 0x48a548
lea esi, [eax + 2]
jmp 0x48a55f
jne 0x48a548
mov esi, 2
jmp 0x48a55f
cmp ecx, 0x3f5ac
jne 0x48a557
mov esi, 0xa
jmp 0x48a55f
test esi, esi
je 0x48a68e
push 0x198
call fcn.005596ac
add esp, 4
mov dword [ebp - 0x94c], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x48a58b
mov ecx, eax
call fcn.00491da0
mov ecx, eax
mov dword [ebp - 0x8f0], eax
jmp 0x48a593
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.005155e0
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.0052bf40
mov ecx, dword [ebp - 0x8ec]
cmp dword [ecx], 0xd
je 0x48a7e9
cmp dword [ebp - 0x960], 0
jle 0x48a7e9
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.00568dab
cdq
mov ecx, 0x90
idiv ecx
cmp edx, esi
jge 0x48a7e3
mov ecx, dword [ebp - 0x960]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x960], eax
je 0x48a7f1
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 [0x5d6e80]
addss xmm1, xmm0
movss dword [esp], xmm1
push 7
call fcn.00494f20
mov dword [ebp - 0x918], eax
mov eax, dword [ebp - 0x960]
sub dword [esi + 0x1ac], eax
test byte [edi + 0x238], 1
je 0x48a7f1
mov ecx, esi
call fcn.00495150
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.0043d380
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 0x48a7f7
mov ecx, dword [ebp - 0x8ec]
mov esi, dword [ebp - 0x8fc]
jmp 0x48a7fd
mov esi, dword [ebp - 0x8fc]
mov ecx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8f4]
cmp dword [eax + 0x1ac], 0
jg 0x48a9d8
cmp dword [ebp - 0x904], 0
je 0x48a82f
mov ecx, dword [ecx]
cmp ecx, 5
jle 0x48a82f
cmp ecx, 0x80
jge 0x48a82f
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.0052bf40
mov ecx, dword [ebp - 0x8f4]
movss xmm0, dword [ecx + 0x17c]
comiss xmm0, dword [0x5d3044]
mov dword [ecx + 0x124], 1
mov dword [ecx + 0x208], edi
jbe 0x48a943
call fcn.00495150
push eax
lea eax, [ebp - 0x418]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d380
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 [0x5d6db4]
cvttss2si eax, xmm0
mov dword [ecx + 0x1c0], eax
call fcn.00494ea0
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48a9ba
call fcn.0044c8d0
cmp eax, 1
jne 0x48a9b4
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x98c]
push eax
call fcn.00515730
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.00515910
jmp 0x48af0f
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48af0f
call fcn.0044c8d0
cmp eax, 2
jne 0x48af0f
jmp 0x48a962
cmp dword [eax + 0x204], 0
je 0x48aa02
cmp dword [eax + 0x220], 0x18
jne 0x48aa14
call fcn.00568dab
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x8f4]
cmp edx, 3
jne 0x48aa14
mov ecx, dword [ebp - 0x910]
mov dword [eax + 0x11c], ecx
mov dword [eax + 0x204], edi
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48aa2e
call fcn.0044c8d0
cmp eax, 1
je 0x48aa42
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48aa8f
call fcn.0044c8d0
cmp eax, 2
jne 0x48aa8f
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x98c]
push eax
call fcn.00515730
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.00515910
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.0052bf40
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.0052bf40
cmp dword [ebp - 0x904], 0
je 0x48ac6e
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
je 0x48ac6e
cmp dword [ebp - 0x9b4], 0
jle 0x48ac6e
call fcn.00568dab
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 0x48ac6e
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d44b0]
movss dword [esp], xmm0
push 2
call fcn.00494f20
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48ac6e
mov ecx, dword [ebp - 0x8f4]
call fcn.00495150
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.0043d380
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 0x48acc3
call fcn.00568dab
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 0x48acc9
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d44b0]
movss dword [esp], xmm0
push 0xa
call fcn.00494f20
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x944]
test ecx, ecx
jle 0x48ad84
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d44b0]
movss dword [esp], xmm0
push 9
call fcn.00494f20
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.00495a60
test byte [edi + 0x238], 1
je 0x48ad84
mov ecx, dword [ebp - 0x8f4]
call fcn.00495150
push eax
lea eax, [ebp - 0x418]
push str.The__s_is_more_vulnerable_to_other_dusts.
push eax
call fcn.0043d380
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 0x48af0f
mov eax, dword [ebp - 0x8ec]
cmp dword [eax], 0xd
je 0x48af0f
cmp dword [ebp - 0x91c], 0
jle 0x48af0f
call fcn.00568dab
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 0x48af0f
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d44b0]
movss dword [esp], xmm0
push 3
call fcn.00494f20
test byte [edi + 0x238], 1
mov dword [ebp - 0x918], eax
je 0x48af0f
mov ecx, dword [ebp - 0x8f4]
call fcn.00495150
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.0043d380
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 0x48af0f
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.0052bf40
mov ecx, dword [esi + 0x118]
call fcn.005156b0
mov dword [ebp - 0x8f4], eax
test eax, eax
jne 0x4888a0
cmp dword [ebp - 0x914], 0
jne 0x48af3b
mov dword [edi + 0x14ea0], 0
movss xmm1, dword [ebp - 0x950]
movss xmm0, dword [edi + 0x15c]
mulss xmm0, dword [0x5d6e70]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x908]
comiss xmm1, xmm0
jbe 0x48af89
mov eax, dword [edi + 0x14ea4]
test eax, eax
je 0x48af89
cmp byte [edi + 0x14fb9], 0
je 0x48af89
cmp byte [eax + 0x14fb9], 0
je 0x48af89
push eax
push esi
mov ecx, edi
call fcn.0046eae0
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 0x48afd9
cmp edx, ecx
jae 0x48afde
mov eax, 0xbb9
cmp byte [esi + 0x10], 0xff
je 0x48b6e1
cmp eax, 0xbb8
jbe 0x48b6e1
cmp dword [edi + 0x14ea0], 0
je 0x48b6e1
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x48b029
push edi
mov ecx, eax
call fcn.004ec7f0
test eax, eax
je 0x48b029
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48b6db
call fcn.00568dab
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.00515600
mov ecx, eax
mov dword [ebp - 0x8f8], ecx
test ecx, ecx
je 0x48b6db
nop word [eax + eax]
cmp dword [ebp - 0x908], 0
jne 0x48b6db
cmp dword [ecx + 0x124], 0
jne 0x48b6ba
cmp ecx, dword [edi + 0x14ea0]
jne 0x48b6ba
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48b6ba
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48b6ba
call fcn.0044c8d0
cmp eax, 1
jne 0x48b6ba
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 + 0x613518]
divss xmm1, dword [0x5d3bd8]
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 0x48b3cc
nop dword [eax]
cmp byte [ebp - 0x909], 0
jne 0x48b3cc
mov ecx, esi
call fcn.0044c8e0
mov ecx, str.Drake_Mastery
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48b212
test dl, dl
je 0x48b1ac
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48b212
add ecx, 2
add eax, 2
test dl, dl
jne 0x48b190
xor eax, eax
jmp 0x48b217
cmp dword [esi + 0x1b4], 4
jge 0x48b1c3
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 0x48b1fc
mov dword [eax + 0x1d8], 0
mov ecx, edi
call fcn.00487320
mov dword [edi + 0x14f40], 1
jmp 0x48cdeb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b3a9
mov eax, dword [0x630ad0]
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 0x48b38a
jb 0x48b267
cmp dword [esi + 8], 0x64
jae 0x48b38a
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 0x48b38a
jb 0x48b296
cmp eax, dword [ebp - 0x918]
ja 0x48b38a
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.0043ec40
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.0043d380
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 [0x5d3048]
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.0046dc50
mov ecx, edi
call fcn.004816a0
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.0055a830
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 0x48b170
mov esi, dword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x8f0]
push edi
push ecx
sub dword [esi + 0x1ac], ecx
mov ecx, esi
call fcn.00495a60
cmp dword [esi + 0x204], 0
je 0x48b40b
cmp dword [esi + 0x220], 0x18
jne 0x48b41d
call fcn.00568dab
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x48b41d
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 0x48b445
call fcn.00568dab
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.0052bf40
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.0052bf40
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b533
call fcn.0044c8d0
cmp eax, 1
je 0x48b547
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b59a
call fcn.0044c8d0
cmp eax, 2
jne 0x48b59a
lea eax, [ebp - 0x98c]
push eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.00515730
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.00515910
cmp dword [esi + 0x1ac], 0
jg 0x48b78f
mov ecx, esi
mov dword [esi + 0x124], 1
mov dword [esi + 0x208], edi
call fcn.00494ea0
movss xmm0, dword [esi + 0x17c]
comiss xmm0, dword [0x5d3044]
jbe 0x48b645
mov ecx, esi
call fcn.00495150
push eax
lea eax, [ebp - 0x418]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d380
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 [0x5d6db4]
cvttss2si eax, xmm0
mov dword [esi + 0x1c0], eax
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b76e
call fcn.0044c8d0
cmp eax, 1
jne 0x48b76e
lea eax, [ebp - 0x98c]
push eax
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.00515730
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.00515910
mov esi, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 0x118]
call fcn.005156b0
mov ecx, eax
mov dword [ebp - 0x8f8], eax
test ecx, ecx
jne 0x48b080
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 0x48afb0
mov eax, dword [edi + 0x244]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48bddd
cmp edx, eax
jb 0x48bddd
mov esi, dword [ebp - 0x8fc]
cmp ecx, 0x493e0
jbe 0x48bdf5
mov ecx, esi
mov dword [edi + 0x244], edx
call fcn.0044c8d0
imul ecx, dword [edi + 0x188], 0x980
test eax, eax
je 0x48bd69
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 0x48bd86
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48b6b4
call fcn.0044c8d0
cmp eax, 2
jne 0x48b6b4
jmp 0x48b661
mov eax, dword [ebp - 0x918]
cmp eax, 1
jne 0x48b815
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 0x48b6ba
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48b6ba
cmp eax, 2
jne 0x48b921
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.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b6b4
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 [0x5d6e88]
mov esi, dword [ebp - 0x8f8]
mov ecx, esi
movss dword [esp], xmm0
push 2
call fcn.00494f20
test byte [edi + 0x238], 1
je 0x48b6b4
mov ecx, esi
call fcn.00495150
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_slows_the__s.
push eax
call fcn.0043d380
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 0x48b6ba
cmp eax, 4
jne 0x48ba53
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.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b6b4
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 [0x5d6e88]
movss dword [esp], xmm0
push 4
call fcn.00494f20
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.00495a60
test byte [edi + 0x238], 1
je 0x48b6b4
mov ecx, esi
call fcn.00495150
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_poisons_the__s.
push eax
call fcn.0043d380
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 0x48b6ba
cmp eax, 3
jne 0x48bb5f
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.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b6b4
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 [0x5d6e88]
movss dword [esp], xmm0
push 3
call fcn.00494f20
test byte [edi + 0x238], 1
je 0x48b6b4
mov ecx, esi
call fcn.00495150
mov esi, dword [ebp - 0x8ec]
push eax
push esi
lea eax, [ebp - 0x418]
push str._s_blinds_the__s.
push eax
call fcn.0043d380
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 0x48b6ba
mov esi, dword [ebp - 0x8ec]
cmp eax, 5
jne 0x48b6ba
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 0x48bbda
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.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48bcda
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.00494f20
test byte [edi + 0x238], 1
je 0x48bcda
mov ecx, esi
call fcn.00495150
push eax
push dword [ebp - 0x8ec]
lea eax, [ebp - 0x418]
push str._s_blinds_the__s.
push eax
call fcn.0043d380
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.00568dab
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48b6b4
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 0x48b89b
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 0x48bdbd
cmp byte [edi + 0x14fb8], 0
je 0x48bdbd
mov ecx, edi
call fcn.00487320
push esi
mov ecx, edi
call fcn.0047dfc0
push esi
mov ecx, edi
call fcn.00482470
push esi
mov ecx, edi
call fcn.00486f70
inc dword [edi + 0x14f50]
jmp 0x48bdef
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 0x48be5c
mov eax, edx
sub eax, dword [edi + 0x14f68]
cmp eax, 0x2710
jbe 0x48be5c
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.0052bf40
mov edx, dword [ebp - 0x910]
mov ecx, edx
mov eax, dword [edi + 0x248]
sub ecx, eax
test eax, eax
je 0x48be80
cmp edx, eax
jb 0x48be80
cmp ecx, 0x1388
jbe 0x48c062
imul ecx, dword [edi + 0x188], 0x980
cmp dword [edi + 0x14ea0], 0
movd xmm1, dword [ecx + edi + 0x2f8]
cvtdq2ps xmm1, xmm1
je 0x48bec0
movd xmm0, dword [edi + 0x14f14]
mulss xmm1, dword [0x5d6d98]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6d9c]
minss xmm1, xmm0
jmp 0x48bec8
divss xmm1, dword [0x5d6e3c]
addss xmm1, dword [0x5d6da4]
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 0x48bf12
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 0x48c050
cmp dword [eax + 0x214], 0
jne 0x48c050
cmp dword [eax + 0x204], 0
jne 0x48c050
mov ecx, edi
call fcn.0046fde0
cmp eax, 9
jle 0x48c050
mov ecx, dword [edi + 0x14f70]
movd xmm0, dword [ecx + 0x1b0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5d6de0]
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 0x48bfef
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.0052bf40
push esi
mov ecx, edi
call fcn.00485ce0
test eax, eax
jne 0x48c050
mov edx, dword [ebp - 0x910]
mov eax, dword [edi + 0x24c]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48c080
cmp edx, eax
jb 0x48c080
cmp ecx, 0x2710
jbe 0x48c265
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 0x48c189
cmp dword [edi + eax*4 + 0x128], edx
jae 0x48c0bc
mov dword [edi + eax*4 + 0x154], 0
jmp 0x48c189
cmp eax, 4
jne 0x48c189
imul ecx, dword [edi + 0x188], 0x980
mulss xmm1, dword [0x5d3bb4]
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.0052bf40
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov edx, dword [ebp - 0x910]
cmp dword [eax + edi + 0x2fc], 0
jg 0x48c183
mov dword [eax + edi + 0x2fc], 0
mov eax, dword [ebp - 0x8f0]
mov dword [edi + 0x124], 1
inc eax
jmp 0x48c08b
mov eax, dword [ebp - 0x8f0]
inc eax
mov dword [ebp - 0x8f0], eax
cmp eax, 0xb
jl 0x48c091
mov ecx, dword [esi + 0x110]
call fcn.0044e020
mov dword [ebp - 0x958], eax
cmp eax, edi
je 0x48c1e2
lea ecx, [edi + 0x18c]
push ecx
lea ecx, [eax + 0x18c]
push ecx
call fcn.0044d200
add esp, 8
test eax, eax
je 0x48c1e2
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 0x48c25f
mov byte [ebp - 0x92c], 0x4b
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x630ad0]
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 [0x630acc]
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 0x48c2f3
mov ecx, dword [edi + 0x250]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x908], eax
test ecx, ecx
je 0x48c28a
cmp edx, ecx
jae 0x48c294
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 0x48c2f9
push esi
mov ecx, edi
mov dword [edi + 0x25c], 0
call fcn.004701e0
jmp 0x48c2f9
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 0x48c31d
cmp edx, eax
jb 0x48c31d
cmp ecx, 0xea60
jbe 0x48cdeb
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 [0x630ad0]
add eax, 0x2a0
add eax, edi
push eax
call fcn.004b8b20
test eax, eax
je 0x48c393
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 0x48c4c6
cmp dword [eax + 0x110], 2
jne 0x48c49f
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515360
mov eax, dword [ebp - 0x908]
cmp byte [eax + 8], 0
je 0x48c49f
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.005153c0
test eax, eax
js 0x48c49f
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d380
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 0x48c3d2
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 0x48c5e4
nop dword [eax]
cmp dword [eax + 0x110], 2
jne 0x48c5bd
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515360
mov eax, dword [ebp - 0x908]
cmp byte [eax + 8], 0
je 0x48c5bd
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [eax + 0xa]
call fcn.005153c0
test eax, eax
js 0x48c5bd
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d380
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 0x48c4f0
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 0x48c761
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x48c73a
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x82c]
mov dword [ebp - 0x908], eax
call fcn.00515360
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48c73a
lea eax, [ebp - 0x82c]
push eax
lea ecx, [edx + 0xa]
call fcn.005153c0
test eax, eax
js 0x48c6df
mov ecx, dword [ebp - 0x8f0]
call fcn.0044c8e0
push eax
lea eax, [ebp - 0x418]
push str._s_disintegrates.
push eax
call fcn.0043d380
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 0x48c73a
mov edx, dword [ebp - 0x908]
cmp byte [edx + 8], 0
je 0x48c73a
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 0x48c719
cmp eax, 9
jg 0x48c719
cvttss2si ecx, xmm1
jmp 0x48c72a
cmp eax, 0xb
jne 0x48c72a
xor edx, edx
comiss xmm1, dword [0x5d3044]
cmova ecx, edx
cmp ecx, dword [edi + eax*4 + 0x14f04]
jle 0x48c73a
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 0x48c610
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 0x48cc3a
mov ecx, eax
call fcn.0044c8e0
mov ecx, str.Dodging
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48c7b4
test dl, dl
je 0x48c7b0
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48c7b4
add ecx, 2
add eax, 2
test dl, dl
jne 0x48c794
xor eax, eax
jmp 0x48c7b9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48c9cd
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.0055a830
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 0x48c9cd
jb 0x48c827
cmp eax, dword [ebp - 0x940]
ja 0x48c9cd
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.00559aa0
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x48c8e4
sqrtsd xmm0, xmm0
jmp 0x48c8e9
call fcn.00595ca0
movaps xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x5d3050]
movlpd qword [ebp - 0x930], xmm0
movsd xmm0, qword [0x5d6e78]
comisd xmm1, xmm0
jb 0x48c92e
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x48c92e
mov esi, dword [ebp - 0x930]
mov edi, dword [ebp - 0x92c]
add esi, 0
adc edi, 0x80000000
jmp 0x48c93a
mov edi, dword [ebp - 0x92c]
mov esi, dword [ebp - 0x930]
movaps xmm0, xmm1
call fcn.005599f0
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.0043d380
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 [0x5d6da0]
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 0x48ca00
test dl, dl
je 0x48c9fc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48ca00
add ecx, 2
add eax, 2
test dl, dl
jne 0x48c9e0
xor eax, eax
jmp 0x48ca05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48cc13
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.0055a830
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 0x48cc13
jb 0x48ca6d
cmp eax, dword [ebp - 0x940]
ja 0x48cc13
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.00559aa0
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x48cb2a
sqrtsd xmm0, xmm0
jmp 0x48cb2f
call fcn.00595ca0
movaps xmm1, xmm0
xorps xmm0, xmm0
addsd xmm1, qword [0x5d3050]
movlpd qword [ebp - 0x930], xmm0
movsd xmm0, qword [0x5d6e78]
comisd xmm1, xmm0
jb 0x48cb74
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x48cb74
mov esi, dword [ebp - 0x930]
mov edi, dword [ebp - 0x92c]
add esi, 0
adc edi, 0x80000000
jmp 0x48cb80
mov edi, dword [ebp - 0x92c]
mov esi, dword [ebp - 0x930]
movaps xmm0, xmm1
call fcn.005599f0
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.0043d380
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 [0x5d6da0]
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 0x48c788
imul esi, dword [edi + 0x188], 0x980
mov ecx, edi
call fcn.00483280
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 0x48cc92
imul ecx, edx
jmp 0x48cc95
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 0x48cddd
lea eax, [ebp - 0x8e8]
mov byte [ebp - 0x8e8], 9
push eax
mov ecx, edi
call fcn.00470010
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.0043d380
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.0052bf40
imul edx, dword [edi + 0x188], 0x980
mov eax, dword [edx + edi + 0x300]
mov dword [edx + edi + 0x304], eax
jmp 0x48cde3
mov esi, dword [ebp - 0x8fc]
push esi
mov ecx, edi
call fcn.00487d50
lea ecx, [ebp - 0x93c]
call fcn.0046dc50
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.005596ea
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4