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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c4b2e
mov eax, dword fs:[0]
push eax
sub esp, 0x9a8
mov eax, dword [0x62a780]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x934], edi
cmp byte [edi + 0x14f90], 0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x8e4], esi
jne 0x48be71
mov dword [edi + 0x14f18], 1
mov dword [ebp - 0x8f0], 0
mov dword [ebp - 0x914], 0
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x90c], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x92f], al
mov eax, ecx
shr eax, 0x10
mov byte [ebp - 0x930], cl
mov byte [ebp - 0x92e], al
lea eax, [ebp - 0x930]
shr ecx, 0x18
push eax
mov byte [ebp - 0x92d], cl
lea ecx, [ebp - 0x914]
push 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x92c], 0
call fcn.0043ec20
mov ecx, esi
mov byte [ebp - 0x88c], 0x17
call fcn.0044cd10
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 - 0x904], eax
je 0x48c3f1
mov edx, dword [edi + 0x118]
mov ecx, eax
sub ecx, edx
mov dword [edi + 0x14f58], 0
test edx, edx
je 0x48bf39
cmp eax, edx
jae 0x48bf40
mov ecx, dword [edi + 0x14f80]
inc ecx
mov dword [edi + 0x14ea0], 0
cmp ecx, dword [edi + 0x14f80]
jbe 0x4908dd
mov ecx, esi
mov dword [edi + 0x120], 0
call fcn.0044cd10
test eax, eax
jne 0x48c17e
mov ecx, 0x6102d4
mov dword [ebp - 0x8ec], ecx
nop word [eax + eax]
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48bfa9
mov eax, dword [ecx]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x48c05d
mov eax, dword [ecx - 4]
sub eax, dword [edi + 0x110]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48c05d
mov eax, dword [ecx]
sub eax, dword [edi + 0x114]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48c05d
cmp dword [esi + 0x124], 0
jne 0x48c05d
lea eax, [ecx - 0x44]
push eax
lea eax, [ebp - 0x410]
push str.You_are_entering__s.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
imul ecx, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0x8ec]
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
add ecx, 0x50
mov dword [ebp - 0x8ec], ecx
cmp ecx, 0x610a54
jl 0x48bf80
mov ecx, 0x6102d0
mov dword [ebp - 0x8ec], ecx
nop dword [eax]
mov eax, dword [ecx]
sub eax, dword [edi + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48c169
mov eax, dword [ecx + 4]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48c169
mov eax, dword [ecx]
sub eax, dword [edi + 0x110]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x48c0d6
mov eax, dword [ecx + 4]
sub eax, dword [edi + 0x114]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jle 0x48c169
cmp dword [esi + 0x124], 0
jne 0x48c169
lea eax, [ecx - 0x40]
push eax
lea eax, [ebp - 0x410]
push str.You_are_leaving__s.
push eax
call fcn.0043d370
mov ecx, 0xf
lea esi, [ebp - 0x410]
lea edi, [ebp - 0x88b]
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x914]
push edx
push 0
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x88c]
push edx
push 0x65
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x8e4]
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x934]
mov edx, dword [ebp - 0x8ec]
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 ecx, edx
add ecx, 0x50
mov dword [ebp - 0x8ec], ecx
cmp ecx, 0x610a50
jl 0x48c080
cmp dword [edi + 0x14f14], 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 - 0x924], 5
mov dword [ebp - 0x923], eax
mov byte [ebp - 0x91f], cl
mov byte [ebp - 0x91e], dl
jne 0x48c1f7
cmp dword [edi + 0x14f24], 0
jne 0x48c1f7
push 0
movd xmm0, edx
lea eax, [ebp - 0x924]
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.0052a350
jmp 0x48c214
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
push edx
push 0
lea edx, [ebp - 0x924]
mov eax, dword [ecx]
push edx
push 7
call dword [eax + 4]
push 0
push 0
push esi
mov ecx, edi
call fcn.00490910
push esi
mov ecx, edi
call fcn.00488610
mov ecx, dword [esi + 0x118]
push 1
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00513be0
mov ecx, eax
mov dword [ebp - 0x8ec], ecx
test ecx, ecx
je 0x48c361
call fcn.0044cd10
cmp eax, 1
jne 0x48c346
mov ecx, dword [ebp - 0x8ec]
mov eax, dword [edi + 0x108]
mov edx, dword [ecx + 0x108]
cmp edx, eax
jne 0x48c309
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48c303
cmp dword [ecx + 0x204], 0
mov dword [ebp - 0x8f0], ecx
jne 0x48c2f7
cmp dword [edi + 0x14f14], 0
jne 0x48c2f7
cmp dword [ecx + 0x21c], 0
jne 0x48c2f7
mov eax, dword [ecx + 0x220]
cmp eax, 7
je 0x48c2f7
cmp eax, 0x1f
je 0x48c2f7
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x48c2ce
push edi
mov ecx, eax
call fcn.004ee630
test eax, eax
jne 0x48c2f7
call fcn.00567e12
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x904]
sub eax, edx
mov dword [ecx + 0x11c], eax
mov dword [ecx + 0x204], edi
jmp 0x48c346
mov dword [ebp - 0x8f0], 0
jmp 0x48c346
mov eax, dword [edi + 0x108]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x48c346
mov eax, dword [ecx + 0x10c]
sub eax, dword [edi + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jge 0x48c346
cmp dword [edi + 0x14f14], 0
jne 0x48c346
cmp dword [ecx + 0x21c], 0
jne 0x48c346
push esi
push edi
call fcn.00498c90
mov ecx, dword [esi + 0x118]
call fcn.00513c90
mov ecx, eax
mov dword [ebp - 0x8ec], eax
test ecx, ecx
jne 0x48c251
cmp dword [edi + 0x14ea0], 0
jne 0x48c3c3
mov ecx, dword [ebp - 0x8f0]
test ecx, ecx
je 0x48c3c3
cmp dword [edi + 0x14f14], 0
jne 0x48c3c3
cmp dword [ecx + 0x21c], 0
jne 0x48c3c3
cmp dword [edi + 0x14f48], 0
jne 0x48c3c3
imul eax, dword [edi + 0x188], 0x980
mov edx, dword [ebp - 0x904]
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, 0x62f620
push dword [edi + 0x108]
push esi
add eax, 0x2a0
add eax, edi
push eax
call fcn.0052d440
jmp 0x4908dd
mov edx, dword [ebp - 0x904]
mov ecx, edx
mov eax, dword [edi + 0x11c]
sub ecx, eax
mov dword [ebp - 0x934], ecx
test eax, eax
je 0x48c40f
cmp edx, eax
jae 0x48c419
mov dword [ebp - 0x934], 0x7d1
imul eax, dword [edi + 0x188], 0x980
mov edx, 0x2ee
mov dword [ebp - 0x8ec], edx
cmp dword [eax + edi + 0x2e8], 9
jle 0x48c452
mov eax, dword [eax + edi + 0xbd0]
mov edx, 0x316
lea eax, [eax + eax*4]
shl eax, 3
sub edx, eax
mov dword [ebp - 0x8ec], edx
mov ecx, dword [edi + 0x14ea0]
test ecx, ecx
je 0x48c488
cmp dword [ecx + 0x224], 0
jne 0x48c488
mov eax, dword [ecx + 0x220]
sub eax, 9
mov dword [ebp - 0x8fc], 0x3e8
cmp eax, 8
cmovbe edx, dword [ebp - 0x8fc]
mov dword [ebp - 0x8ec], edx
mov eax, dword [ebp - 0x934]
movss xmm1, dword [edi + 0x15c]
mulss xmm1, dword [0x5d63dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5d1230]
lea eax, [edx + edx]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x48ec73
test ecx, ecx
je 0x48ec73
mov ecx, dword [ebp - 0x940]
test ecx, ecx
je 0x48c4fc
push edi
call fcn.004ee630
test eax, eax
je 0x48c4fc
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48ec6d
mov eax, dword [ebp - 0x904]
mov ecx, 1
movss xmm0, dword [edi + 0x170]
mov dword [edi + 0x11c], eax
xor eax, eax
comiss xmm0, dword [0x5d2054]
push 0
mov dword [ebp - 0x8c8], 0xfffffffd
push dword [edi + 0x10c]
push dword [edi + 0x108]
cmova eax, ecx
mov ecx, dword [esi + 0x118]
mov dword [ebp - 0x944], eax
call fcn.00513be0
mov dword [ebp - 0x8e0], eax
test eax, eax
je 0x48ec5c
mov dword [ebp - 0x908], 0x9c4
mov ecx, dword [ebp - 0x908]
mov dword [ebp - 0x938], ecx
nop
cmp dword [ebp - 0x944], 0
jne 0x48eb2a
cmp eax, dword [edi + 0x14ea0]
jne 0x48eb11
mov ecx, eax
call fcn.0044cd10
cmp eax, 1
jne 0x48eb11
mov ecx, dword [ebp - 0x8e0]
cmp dword [ecx + 0x124], 0
jne 0x48eb11
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48eb11
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48eb11
mov ecx, dword [ecx + 0x21c]
mov dword [ebp - 0x944], 1
test ecx, ecx
je 0x48c60a
call fcn.00474a20
cmp eax, 9
jle 0x48c60a
mov eax, dword [ebp - 0x8e0]
mov eax, dword [eax + 0x204]
test eax, eax
je 0x48ebeb
cmp eax, edi
jne 0x48ebeb
imul eax, dword [edi + 0x188], 0x980
or ecx, 0xffffffff
mov dword [ebp - 0x8f0], ecx
mov dword [ebp - 0x93c], 0
mov dword [ebp - 0x948], 0
mov dword [ebp - 0x994], 0
mov dword [ebp - 0x998], 0
mov dword [ebp - 0x99c], 0
mov dword [ebp - 0x8dc], 0
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
mov dword [ebp - 0x8e8], 0
call fcn.0044e370
mov dword [ebp - 0x8f4], eax
test eax, eax
je 0x48c7e6
mov edx, dword [ebp - 0x8f0]
cmp edx, 0xffffffff
jne 0x48c7d3
cmp dword [ebp - 0x8e8], 0
jne 0x48c998
cmp dword [eax + 0x110], 1
jne 0x48c789
cmp dword [eax + 0x118], 1
jle 0x48c73f
push 0x120
call fcn.00558629
add esp, 4
mov dword [ebp - 0x9a0], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x48c6eb
push 0x5d4288
push 0
push 1
mov ecx, eax
call fcn.0050b6c0
mov edx, eax
mov dword [ebp - 0x8f0], eax
jmp 0x48c6f3
xor edx, edx
mov dword [ebp - 0x8f0], edx
mov ecx, dword [ebp - 0x8f4]
push edx
mov byte [ebp - 4], 0
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [ebp - 0x8f4]
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, 4
call fcn.0044e480
mov eax, dword [ebp - 0x8f0]
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x8dc], ecx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x8f0], edx
mov edx, dword [ecx]
mov dword [ebp - 0x918], edx
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x99c], edx
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x998], edx
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x994], edx
mov edx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x948], edx
mov dword [ebp - 0x93c], ecx
cmp dword [eax + 0x110], 0xe
jne 0x48c7a6
mov eax, dword [eax + 0x11c]
xor ecx, ecx
cmp dword [eax], 0xd
cmove eax, ecx
mov dword [ebp - 0x8e8], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x8f4], eax
test eax, eax
jne 0x48c680
mov edx, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8e8]
test eax, eax
jne 0x48c99e
cmp edx, 0xffffffff
jne 0x48c7fa
mov dword [ebp - 0x8f0], 1
mov dword [ebp - 0x918], 1
mov ecx, edi
call fcn.004872a0
mov ecx, dword [ebp - 0x8e0]
movsx edx, byte [edi + 0x14f07]
add eax, dword [ebp - 0x8f0]
movss xmm1, dword [edi + 0x160]
sub edx, dword [ecx + 0x1bc]
add edx, eax
comiss xmm1, dword [0x5d2054]
mov dword [ebp - 0x8f0], edx
jbe 0x48c848
movd xmm0, edx
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x8f0], eax
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8f0]
add edx, esi
lea esi, [eax + 2]
add eax, 0x28
add esi, edx
cmp eax, ecx
jg 0x48c890
call fcn.00567e12
cdq
mov ecx, 0x190
idiv ecx
mov eax, 0x1e
cmp edx, 6
cmove esi, eax
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x48c8a0
cmp dword [eax + 0x3c], 0xd
je 0x48c8a9
cmp esi, 0x14
jle 0x48ea88
mov ecx, edi
call fcn.004872a0
movd xmm0, dword [ebp - 0x918]
mov ecx, edi
cvtdq2ps xmm0, xmm0
mov esi, dword [ebp - 0x8e4]
push esi
movd xmm1, eax
movsx eax, byte [edi + 0x14f04]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x5d6308]
addss xmm1, dword [0x5d2058]
mulss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8e8], eax
call fcn.00472cc0
mov eax, dword [edi + 0x14f30]
mov dword [ebp - 0x8fc], 0
test eax, eax
jle 0x48c944
movd xmm0, dword [ebp - 0x8e8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d6300]
addss xmm1, dword [0x5d2058]
mulss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8dc]
test edx, edx
je 0x48df08
cmp dword [edx + 0x3c], 3
jne 0x48cda6
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 3
jne 0x48cd2c
test byte [edi + 0x238], 1
mov eax, dword [ebp - 0x8e8]
lea eax, [eax + eax*2]
mov dword [ebp - 0x8e8], eax
je 0x48cda0
push str.With_a_burst_of_strength__you_do_THREE_TIMES_as_much_damage_.
jmp 0x48cd5a
mov eax, dword [ebp - 0x8e8]
cmp byte [eax + 0xc], 0
je 0x48eb11
movd xmm0, dword [edi + 0x10c]
mov ecx, esi
mov eax, dword [edi + 0x180]
push 0
mov dword [ebp - 0x98f], eax
mov eax, dword [ebp - 0x8e0]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x98b], eax
lea eax, [ebp - 0x990]
push eax
push 0x15
mov byte [ebp - 0x990], 0x24
cvttss2si eax, xmm0
mov dword [ebp - 0x987], 0xfffffffe
mov dword [ebp - 0x983], 0xfffffc18
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov eax, dword [ebp - 0x8e0]
cmp dword [eax + 0x204], 0
je 0x48ca41
cmp dword [eax + 0x220], 0x18
jne 0x48ca53
call fcn.00567e12
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x48ca53
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x904]
mov dword [eax + 0x11c], ecx
mov dword [eax + 0x204], edi
push dword [ebp - 0x8e8]
call fcn.0052bc00
add esp, 4
mov dword [ebp - 0x938], eax
test eax, eax
jle 0x48ca9e
mov eax, dword [ebp - 0x8e8]
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x8d0], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x8c0], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x8b0], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebp - 0x8a0], xmm0
jmp 0x48cab8
push dword [ebp - 0x8e0]
mov ecx, edi
push dword [ebp - 0x8e8]
push esi
call fcn.00490a10
mov eax, dword [ebp - 0x8e8]
dec dword [eax + 8]
cmp dword [eax + 8], 0
jg 0x48eb11
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov ecx, eax
mov dword [ebp - 0x948], ecx
test ecx, ecx
je 0x48cbad
nop
cmp dword [ecx + 0x110], 0xe
jne 0x48cb84
mov eax, dword [ebp - 0x8e8]
cmp eax, dword [ecx + 0x11c]
jne 0x48cb84
imul eax, dword [edi + 0x188], 0x980
push ecx
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0x948]
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 - 0x91f], eax
lea eax, [ebp - 0x920]
push eax
push 5
mov dword [ebp - 0x8e8], 0
cvttss2si eax, xmm0
mov byte [ebp - 0x920], 0x20
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov ecx, eax
mov dword [ebp - 0x948], eax
test ecx, ecx
jne 0x48caf0
imul eax, dword [edi + 0x188], 0x980
mov byte [ebp - 0x978], 0x21
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
test eax, eax
je 0x48eb11
mov ecx, dword [eax + 0x110]
cmp ecx, 1
jne 0x48cc20
push edi
push eax
lea eax, [ebp - 0x978]
push eax
call fcn.004a2150
add esp, 0xc
cmp dword [edi + 0x14f14], 0
je 0x48ccb7
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
push edx
push 0
lea edx, [ebp - 0x978]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x48cced
cmp ecx, 0xe
jne 0x48cd06
mov ecx, dword [eax + 0x11c]
mov dword [ebp - 0x973], eax
mov dword [ebp - 0x977], 0x40800000
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x6255d8]
mov byte [ebp - 0x95e], al
mov eax, dword [ecx]
movzx eax, byte [eax + eax*2 + 0x6255d9]
mov byte [ebp - 0x95d], al
mov eax, dword [ecx]
mov byte [ebp - 0x95f], 0x80
movzx eax, byte [eax + eax*2 + 0x6255da]
mov byte [ebp - 0x95c], al
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x96f], eax
xor eax, eax
mov word [ebp - 0x961], ax
cmp dword [ecx], 0xd
je 0x48cd06
cmp dword [edi + 0x14f14], eax
je 0x48ccb7
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
push edx
push 0
lea edx, [ebp - 0x978]
mov eax, dword [ecx]
push edx
push 0x1d
call dword [eax + 4]
jmp 0x48cced
movd xmm0, dword [edi + 0x10c]
lea eax, [ebp - 0x978]
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.0052a350
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
test eax, eax
jne 0x48cbd5
jmp 0x48eb11
call fcn.00567e12
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jne 0x48cda0
mov eax, dword [ebp - 0x8e8]
add eax, eax
test byte [edi + 0x238], 1
mov dword [ebp - 0x8e8], eax
je 0x48cda0
push str.With_a_burst_of_strength__you_do_TWICE_as_much_damage_.
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 4
jne 0x48ceb2
call fcn.00567e12
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 8
jne 0x48ceac
movd xmm0, dword [ebp - 0x8e8]
sub esp, 8
mov ecx, dword [ebp - 0x8e0]
cvtdq2ps xmm0, xmm0
mov dword [esp + 4], 0x40000000
mulss xmm0, dword [0x5d63d8]
movss dword [esp], xmm0
push 7
call fcn.00498740
mov ecx, eax
imul eax, dword [ebp - 0x8e8], 0x32
test byte [edi + 0x238], 1
mov dword [ebp - 0x8fc], eax
je 0x48ceac
mov eax, dword [edi + 0x188]
cmp ecx, 1
mov ecx, dword [ebp - 0x8e0]
mov dword [ebp - 0x8f0], eax
jne 0x48ce35
mov dword [ebp - 0x8f4], str.The__s_resists_stunning_by__ss_Claw_
jmp 0x48ce45
mov dword [ebp - 0x8f4], str.The__s_gets_stunned_by__ss_Claw_
mov dword [ebp - 0x8f0], eax
call fcn.00498970
imul ecx, dword [ebp - 0x8f0], 0x980
mov edx, edi
add ecx, 0x2a0
add ecx, edx
push ecx
push eax
push dword [ebp - 0x8f4]
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x20
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 5
jne 0x48ceeb
call fcn.00567e12
cdq
mov ecx, 3
idiv ecx
cmp edx, 1
jne 0x48cee5
push dword [ebp - 0x8e0]
mov eax, dword [ebp - 0x8dc]
mov ecx, edi
push dword [ebp - 0x8e8]
push eax
push esi
call fcn.004807a0
mov edx, dword [ebp - 0x8dc]
mov eax, dword [edx + 0x3c]
sub eax, 6
cmp eax, 0x79
ja 0x48cf3f
call fcn.00567e12
and eax, reloc.WS2_32.dll_accept
jns 0x48cf07
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [ebp - 0x8dc]
cmp eax, 1
jne 0x48cf3f
cmp dword [edx + 0x3c], 0xd
je 0x48cf3f
mov eax, dword [ebp - 0x8e8]
mov ecx, edi
push dword [ebp - 0x8e0]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x8dc]
push eax
push esi
call fcn.004807a0
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x38], 0
jle 0x48df08
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x8f4], eax
add eax, 0xfffffffa
cmp eax, 0x79
ja 0x48df08
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
cvtdq2ps xmm1, xmm1
imul eax, eax, 0x3e8
cmp dword [ebp - 0x8f4], 7
movss dword [ebp - 0x8f0], xmm1
mov dword [ebp - 0x8f8], eax
jne 0x48d059
mov ecx, dword [ebp - 0x8e0]
sub esp, 8
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 3
call fcn.00498740
movss xmm1, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8f8]
jmp 0x48d061
movss dword [ebp - 0x8f0], xmm1
mov edx, dword [ebp - 0x8dc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cmp dword [edx + 0x3c], 9
movss dword [ebp - 0x8f4], xmm0
jne 0x48d0a7
mov ecx, dword [ebp - 0x8e0]
sub esp, 8
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 4
call fcn.00498740
movss xmm0, dword [ebp - 0x8f4]
mov edx, dword [ebp - 0x8dc]
jmp 0x48d0af
movss dword [ebp - 0x8f4], xmm0
cmp dword [edx + 0x3c], 8
jne 0x48d0de
movss xmm1, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8e0]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 2
call fcn.00498740
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 0xa
jne 0x48d115
movss xmm0, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8e0]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x8f4]
movss dword [esp], xmm0
push 7
call fcn.00498740
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 0xb
jne 0x48d14c
movss xmm0, dword [ebp - 0x8f0]
sub esp, 8
mov ecx, dword [ebp - 0x8e0]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x8f4]
movss dword [esp], xmm0
push 8
call fcn.00498740
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 0xd
jne 0x48df08
mov ecx, edi
call fcn.00474a20
mov edx, dword [ebp - 0x8dc]
cmp eax, 9
jle 0x48dea2
mov ecx, dword [ebp - 0x8e0]
mov eax, dword [edx + 0x34]
cmp eax, dword [ecx + 0x1bc]
jl 0x48de2c
cmp dword [ecx + 0x238], 4
jge 0x48de2c
mov ecx, edi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
cmp eax, dword [ecx + 0x220]
jg 0x48d20b
mov ecx, edi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
cmp eax, dword [ecx + 0x220]
jne 0x48d1ce
mov ecx, edi
call fcn.004819b0
mov ecx, dword [ebp - 0x8e0]
inc eax
cmp eax, dword [ecx + 0x224]
jge 0x48d20b
mov ecx, edi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
inc eax
cmp eax, dword [ecx + 0x220]
jne 0x48de26
mov ecx, edi
call fcn.004819b0
mov ecx, dword [ebp - 0x8e0]
cmp eax, 5
jne 0x48de26
cmp dword [ecx + 0x224], 0
jne 0x48de26
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x15c]
jb 0x48d25f
comiss xmm0, dword [ecx + 0x160]
jb 0x48d25f
comiss xmm0, dword [ecx + 0x170]
jb 0x48d25f
mov eax, dword [ecx + 0x204]
test eax, eax
je 0x48d251
cmp eax, edi
je 0x48d251
cmp dword [ecx + 0x238], 4
jge 0x48d24a
mov dword [ecx + 0x238], 0
push str.Cannot_tame_a_monster_attacking_another_player.
jmp 0x48d264
inc dword [ecx + 0x238]
mov edx, dword [ebp - 0x8dc]
jmp 0x48d2b9
push str.Cant_tame_a_monster_that_is_blinded__slowed__or_stunned.
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc]
mov ecx, dword [ebp - 0x8e0]
inc dword [edx + 0x38]
cmp dword [ecx + 0x238], 3
jle 0x48dea2
mov eax, dword [edi + 0x14f48]
test eax, eax
je 0x48d71e
lea ecx, [ebp - 0x410]
add eax, 0x184
push ecx
push str.___s____n_
push eax
call fcn.0043dd00
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x810]
push str.Stabled__s
push eax
call fcn.0043d370
imul eax, dword [edi + 0x188], 0x980
add esp, 0x18
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e370
xor cl, cl
mov dword [ebp - 0x8f8], eax
mov byte [ebp - 0x8fd], cl
test eax, eax
je 0x48d4c2
mov esi, eax
nop word [eax + eax]
cmp dword [esi + 0x110], 0x15
jne 0x48d48d
lea ecx, [esi + 8]
lea eax, [ebp - 0x810]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48d376
test dl, dl
je 0x48d372
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48d376
add eax, 2
add ecx, 2
test dl, dl
jne 0x48d356
xor eax, eax
jmp 0x48d37b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48d48d
mov ecx, dword [esi + 0x11c]
mov edx, dword [edi + 0x14f48]
mov eax, dword [ecx]
cmp eax, dword [edx + 0x220]
jne 0x48d48d
mov eax, dword [ecx + 4]
cmp eax, dword [edx + 0x224]
jne 0x48d48d
mov eax, dword [ecx + 0x14]
mov byte [ebp - 0x8fd], 1
cmp eax, dword [edx + 0x1bc]
jge 0x48d474
movzx eax, byte [edx + 0x1a7]
mov byte [ecx + 0x27], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a4]
mov byte [ecx + 0x24], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a5]
mov byte [ecx + 0x25], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a6]
mov byte [ecx + 0x26], al
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b4]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x234]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1f4]
mov dword [ecx + 0x20], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1a8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b8]
mov dword [ecx + 0x18], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e3e0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x48d340
mov esi, dword [ebp - 0x8e4]
cmp byte [ebp - 0x8fd], al
jne 0x48d624
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x410]
push 0x5d1428
push eax
call fcn.0043d370
push 0x120
call fcn.00558629
add esp, 0x10
mov dword [ebp - 0x9a4], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x48d50b
lea ecx, [ebp - 0x410]
push ecx
push 0
push 0x15
mov ecx, eax
call fcn.0050b6c0
mov edx, eax
jmp 0x48d50d
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 + 0x14f48]
push edx
mov byte [ebp - 4], 0
movzx eax, byte [eax + 0x1a7]
mov byte [ecx + 0x27], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a6]
mov byte [ecx + 0x26], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a5]
mov byte [ecx + 0x25], al
mov eax, dword [edi + 0x14f48]
movzx eax, byte [eax + 0x1a4]
mov byte [ecx + 0x24], al
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b4]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1bc]
mov dword [ecx + 0x14], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x234]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1f4]
mov dword [ecx + 0x20], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b0]
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1a8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x224]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x1b8]
mov dword [ecx + 0x18], eax
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x220]
mov dword [ecx], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e480
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x23c], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x240], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x244], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x248], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x24c], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x250], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x254], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x258], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x25c], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x260], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x1c0], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x1ac], 0
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x220], 0x19
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x124], 1
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x21c], 0
mov dword [edi + 0x14f48], 0
mov ecx, edi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
inc eax
cmp dword [ecx + 0x220], eax
jg 0x48dab9
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x8f0], eax
test eax, eax
je 0x48dab9
nop
mov ecx, eax
call fcn.0044cd20
mov ecx, 0x5d43d8
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48d790
test dl, dl
je 0x48d78c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48d790
add ecx, 2
add eax, 2
test dl, dl
jne 0x48d770
xor eax, eax
jmp 0x48d795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48da8c
mov esi, dword [ebp - 0x8f0]
mov ecx, edi
mov esi, dword [esi + 0x11c]
mov dword [ebp - 0x8f4], esi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
cmp dword [ecx + 0x220], eax
jne 0x48d7e1
mov ecx, edi
call fcn.004819b0
mov ecx, dword [ebp - 0x8e0]
inc eax
cmp eax, dword [ecx + 0x224]
jne 0x48d7e1
add dword [esi], 1
adc dword [esi + 4], 0
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov dword [ebp - 0x8f8], 0x5d43e0
mov esi, eax
call fcn.004819b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f8]
imul eax, eax, 0x64
add eax, str.Whight
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48d830
test dl, dl
je 0x48d82c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48d830
add eax, 2
add ecx, 2
test dl, dl
jne 0x48d810
xor eax, eax
jmp 0x48d835
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48d846
mov eax, dword [ebp - 0x8f4]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov dword [ebp - 0x8f8], 0x5d43e8
mov esi, eax
call fcn.004819b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f8]
imul eax, eax, 0x64
add eax, str.Whight
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48d894
test dl, dl
je 0x48d890
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48d894
add eax, 2
add ecx, 2
test dl, dl
jne 0x48d874
xor eax, eax
jmp 0x48d899
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48d8aa
mov eax, dword [ebp - 0x8f4]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov dword [ebp - 0x8f8], 0x5d43f4
mov esi, eax
call fcn.004819b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f8]
imul eax, eax, 0x64
add eax, str.Whight
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48d8f8
test dl, dl
je 0x48d8f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48d8f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x48d8d8
xor eax, eax
jmp 0x48d8fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48d90e
mov eax, dword [ebp - 0x8f4]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.00481a80
mov ecx, edi
mov dword [ebp - 0x8f8], 0x5d43fc
mov esi, eax
call fcn.004819b0
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x8f8]
imul eax, eax, 0x64
add eax, str.Whight
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x48d960
test dl, dl
je 0x48d95c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x48d960
add eax, 2
add ecx, 2
test dl, dl
jne 0x48d940
xor eax, eax
jmp 0x48d965
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48d976
mov eax, dword [ebp - 0x8f4]
add dword [eax], 1
adc dword [eax + 4], 0
mov ecx, edi
call fcn.004819b0
cmp eax, 5
jge 0x48d9b8
mov ecx, edi
call fcn.00481a80
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.004819b0
add eax, esi
mov esi, dword [ebp - 0x8f4]
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x48d9be
mov dword [esi], 5
mov dword [esi + 4], 0
jmp 0x48d9be
mov esi, dword [ebp - 0x8f4]
mov ecx, edi
call fcn.00481a80
mov ecx, dword [ebp - 0x8e0]
inc eax
cmp dword [ecx + 0x220], eax
jne 0x48d9db
add dword [esi], 1
adc dword [esi + 4], 0
cmp dword [esi + 4], 0
ja 0x48d9e6
cmp dword [esi], 5
jbe 0x48da4c
add dword [esi + 8], 1
lea eax, [ebp - 0x410]
push str.You_gained_Taming_skill__
adc dword [esi + 0xc], 0
push eax
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x18
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov ecx, edi
call fcn.004819b0
cmp eax, 5
jge 0x48da8c
mov ecx, edi
call fcn.00481a80
mov ecx, edi
lea esi, [eax + eax*2]
add esi, esi
call fcn.004819b0
add eax, esi
imul eax, eax, 0x64
cmp byte [eax + str.Whight], 0
jne 0x48da8c
mov eax, dword [ebp - 0x8f4]
mov dword [eax], 5
mov dword [eax + 4], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x8f0], eax
test eax, eax
jne 0x48d760
mov esi, dword [ebp - 0x8e4]
mov eax, dword [ebp - 0x8e0]
mov dword [edi + 0x14ea0], 0
mov dword [eax + 0x204], 0
mov dword [eax + 0x214], 0
mov dword [edi + 0x14f48], eax
mov dword [eax + 0x21c], edi
mov edx, dword [edi + 0x14f48]
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 - 0x410]
push str._ss__s
push eax
call fcn.0043d370
mov eax, dword [edi + 0x14f48]
push 0x1f
add eax, 0x184
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [edi + 0x14f48]
add esp, 0x20
mov edx, dword [eax + 0x218]
test edx, edx
je 0x48db87
cmp dword [edx + 4], 0
jne 0x48ebfa
mov eax, dword [eax + 0x220]
add eax, 0xb
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x14f48]
mov eax, dword [eax + 0x224]
lea eax, [eax + ecx*2]
dec dword [edx + eax*4]
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x218], 0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x220], 0x10
jne 0x48dc13
cmp dword [eax + 0x224], 1
jne 0x48dc13
cmp byte [eax + 0x1dd], 0
jne 0x48dc13
push 0x1dc
call fcn.00558629
add esp, 4
mov dword [ebp - 0x9a8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x48dbfa
mov ecx, dword [edi + 0x14f48]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00496c20
jmp 0x48dbfc
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.00513bc0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x220], 0xb
jne 0x48dc8f
cmp dword [eax + 0x224], 1
jne 0x48dc8f
cmp byte [eax + 0x1dd], 0
jne 0x48dc8f
push 0x1dc
call fcn.00558629
add esp, 4
mov dword [ebp - 0x9ac], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x48dc76
mov ecx, dword [edi + 0x14f48]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00496c20
jmp 0x48dc78
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.00513bc0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x220], 0x1b
jne 0x48dd23
cmp byte [eax + 0x1dd], 0
jne 0x48dd23
push 0x1dc
call fcn.00558629
add esp, 4
mov dword [ebp - 0x9b0], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x48dced
mov ecx, dword [edi + 0x14f48]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00496c20
jmp 0x48dcef
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.00513bc0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x220], 0x1e
jne 0x48dd9f
cmp dword [eax + 0x224], 1
jle 0x48dd9f
cmp byte [eax + 0x1dd], 0
jne 0x48dd9f
push 0x1dc
call fcn.00558629
add esp, 4
mov dword [ebp - 0x9b4], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x48dd86
mov ecx, dword [edi + 0x14f48]
push dword [ecx + 0x22c]
push dword [ecx + 0x228]
push dword [ecx + 0x224]
push dword [ecx + 0x220]
mov ecx, eax
call fcn.00496c20
jmp 0x48dd88
xor eax, eax
mov byte [eax + 0x190], 0
mov ecx, dword [esi + 0x118]
push eax
mov byte [ebp - 4], 0
call fcn.00513bc0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x1b4], 4
jge 0x48ddb8
mov dword [eax + 0x1b4], 4
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x234], 1
mov eax, dword [edi + 0x14f48]
mov dword [edi + 0x184], 1
cmp dword [eax + 0x220], 0x15
jne 0x48ddeb
mov dword [eax + 0x1d8], 0
mov eax, dword [edi + 0x14f48]
push esi
mov dword [eax + 0x234], 1
mov ecx, dword [edi + 0x14f48]
call fcn.00497120
mov eax, dword [edi + 0x14f48]
mov ecx, edi
mov byte [eax + 0x1dd], 1
call fcn.0048b230
mov edx, dword [ebp - 0x8dc]
jmp 0x48dea2
mov edx, dword [ebp - 0x8dc]
cmp dword [ecx + 0x238], 3
jle 0x48de3c
mov edx, str.This_monster_is_untamable.
jmp 0x48de52
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 - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc]
inc dword [edx + 0x38]
cmp dword [edx + 0x3c], 0xd
jne 0x48df08
mov ecx, edi
call fcn.00474a20
cmp eax, 0xa
jge 0x48df08
lea eax, [ebp - 0x410]
push str.You_arent_a_Beastmaster__dont_try_to_use_this.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x18
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov ecx, dword [ebp - 0x8dc]
inc dword [ecx + 0x38]
mov al, byte [edi + 0x14f0e]
test al, al
jle 0x48df8a
movsx ecx, al
mov eax, 0x66666667
imul ecx, dword [ebp - 0x8e8]
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 - 0x8e8]
sar eax, 2
cmp esi, eax
cmovle eax, esi
mov esi, dword [ebp - 0x8e4]
add dword [ecx + edi + 0x2fc], eax
add edx, eax
imul eax, dword [edi + 0x188], 0x980
mov dword [ebp - 0x8e8], edx
mov ecx, dword [eax + edi + 0x2f8]
cmp dword [eax + edi + 0x2fc], ecx
jle 0x48df90
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48df90
mov edx, dword [ebp - 0x8e8]
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x48e002
push dword [eax + 0x3c]
mov ecx, edi
call fcn.00481800
imul ecx, dword [edi + 0x188], 0x980
imul eax, dword [ecx + edi + 0x2e8]
cdq
sub eax, edx
mov edx, dword [ebp - 0x8e8]
sar eax, 1
add edx, eax
mov eax, dword [ebp - 0x8dc]
mov dword [ebp - 0x8e8], edx
cmp dword [eax + 0x3c], 0xd
jne 0x48e002
cmp edx, 1
jle 0x48e002
mov eax, dword [ebp - 0x8e0]
mov ecx, eax
push edi
push 1
mov dword [ebp - 0x8e8], 1
dec dword [eax + 0x1ac]
call fcn.00499290
mov edx, dword [ebp - 0x8dc]
jmp 0x48e025
mov eax, dword [ebp - 0x8e0]
mov ecx, eax
push edi
push edx
sub dword [eax + 0x1ac], edx
call fcn.00499290
mov edx, dword [ebp - 0x8dc]
test edx, edx
je 0x48e419
cmp dword [edx + 0x3c], 1
mov ecx, 1
mov eax, 0x15
cmovne eax, ecx
mov ecx, dword [edx + 0x34]
sub ecx, eax
add ecx, dword [edx + 0x2c]
add ecx, dword [edx + 0x28]
add ecx, dword [edx + 0x24]
add ecx, dword [edx + 0x20]
add ecx, dword [edx + 4]
mov dword [ebp - 0x8f8], ecx
mov ecx, dword [edx + 0x38]
mov dword [ebp - 0x8f4], ecx
cmp ecx, 0x3f5ad
jge 0x48e06b
inc ecx
mov dword [ebp - 0x8f4], ecx
mov dword [edx + 0x38], ecx
cmp ecx, 0x2710
jle 0x48e099
cmp dword [ebp - 0x8f8], 5
jl 0x48e087
cmp dword [edx], 0x48
mov dword [ebp - 0x8f4], ecx
jge 0x48e099
mov ecx, 0x2710
mov dword [edx + 0x38], 0x2710
mov dword [ebp - 0x8f4], ecx
mov eax, dword [edx + 0x3c]
add eax, 0xfffffffa
cmp eax, 0x79
ja 0x48e0be
dec ecx
lea eax, [ecx - 1]
mov dword [ebp - 0x8f4], eax
mov dword [edx + 0x38], eax
test eax, eax
jns 0x48e0be
mov dword [edx + 0x38], ecx
mov dword [ebp - 0x8f4], ecx
mov ecx, dword [edx + 0x3c]
cmp ecx, 6
jge 0x48e2bc
cmp ecx, 2
jne 0x48e0d4
cmp dword [edx], 0x65
jg 0x48e0dd
cmp dword [edx], 0x47
jle 0x48e2bc
cmp ecx, 1
mov eax, 0x15
mov ecx, 1
cmovne eax, ecx
mov ecx, dword [edx + 0x34]
sub ecx, eax
add ecx, dword [edx + 0x2c]
add ecx, dword [edx + 0x28]
add ecx, dword [edx + 0x24]
add ecx, dword [edx + 0x20]
add ecx, dword [edx + 4]
cmp ecx, 4
jle 0x48e2bc
mov ecx, dword [ebp - 0x8f4]
xor eax, eax
mov dword [ebp - 0x8f0], eax
cmp ecx, 0x2710
jle 0x48e157
lea eax, [ecx - 0x2710]
cdq
idiv dword [ebp - 0x908]
mov eax, dword [ebp - 0x8f0]
test edx, edx
mov edx, 1
cmove eax, edx
mov dword [ebp - 0x8f0], eax
cmp ecx, 0x1adb0
jne 0x48e165
mov dword [ebp - 0x8f0], 3
jmp 0x48e187
jne 0x48e16b
mov dword [ebp - 0x8f0], 2
jmp 0x48e187
mov edx, dword [ebp - 0x8dc]
cmp ecx, 0x3f5ac
jne 0x48e17f
mov dword [ebp - 0x8f0], 0xa
jmp 0x48e187
test eax, eax
je 0x48e2bc
push 0x198
call fcn.00558629
add esp, 4
mov dword [ebp - 0x930], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x48e1b3
mov ecx, eax
call fcn.004957b0
mov ecx, eax
mov dword [ebp - 0x8f4], eax
jmp 0x48e1bb
xor ecx, ecx
mov dword [ebp - 0x8f4], ecx
mov eax, dword [ebp - 0x8f0]
mov dword [ecx + 0x180], 4
mov dword [ecx + 0x188], 0x14
mov dword [ecx + 0x18c], 0x3c
lea eax, [eax + eax*4]
mov dword [ecx + 0x190], 0x80
shl eax, 2
mov dword [ecx + 0x184], eax
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.00513bc0
mov ecx, dword [ebp - 0x8f4]
mov dword [ebp - 0x81f], ecx
mov byte [ebp - 0x820], 0x53
push 0
movzx eax, byte [ecx + 0x180]
mov byte [ebp - 0x81b], al
mov eax, dword [ecx + 0x184]
mov dword [ebp - 0x815], eax
movzx eax, byte [ecx + 0x108]
mov byte [ebp - 0x817], al
movzx eax, byte [ecx + 0x10c]
mov byte [ebp - 0x816], al
movzx eax, byte [ecx + 0x188]
mov byte [ebp - 0x81a], al
movzx eax, byte [ecx + 0x18c]
mov byte [ebp - 0x819], al
movzx eax, byte [ecx + 0x190]
mov ecx, esi
push 5
mov byte [ebp - 0x818], al
lea eax, [ebp - 0x820]
push eax
push 0xf
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a350
mov edx, dword [ebp - 0x8dc]
cmp dword [edx + 0x3c], 0xd
je 0x48e419
cmp dword [ebp - 0x93c], 0
jle 0x48e419
mov esi, dword [edx + 0x78]
mov eax, 0x60
add esi, dword [edx + 0x74]
add esi, dword [edx + 0x70]
add esi, dword [edx + 0x6c]
add esi, dword [edx + 0x68]
add esi, dword [edx + 0x64]
add esi, dword [edx + 0x60]
add esi, dword [edx + 0x5c]
add esi, dword [edx + 0x58]
add esi, dword [edx + 0x54]
add esi, dword [edx + 0x50]
add esi, dword [edx + 0x4c]
add esi, dword [edx + 0x48]
add esi, dword [edx + 0x44]
add esi, dword [edx + 0x40]
cmp esi, 0x60
cmovg esi, eax
call fcn.00567e12
cdq
mov ecx, 0x90
idiv ecx
cmp edx, esi
jge 0x48e413
mov ecx, dword [ebp - 0x93c]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x93c], eax
je 0x48e421
movd xmm0, dword [ebp - 0x8fc]
sub esp, 8
mov esi, dword [ebp - 0x8e0]
movd xmm1, ecx
mov ecx, esi
cvtdq2ps xmm1, xmm1
mov dword [esp + 4], 0x3f800000
cvtdq2ps xmm0, xmm0
mulss xmm1, dword [0x5d63e0]
addss xmm1, xmm0
movss dword [esp], xmm1
push 7
call fcn.00498740
mov edx, eax
mov eax, dword [ebp - 0x93c]
sub dword [esi + 0x1ac], eax
test byte [edi + 0x238], 1
mov dword [ebp - 0x8f8], edx
je 0x48e421
cmp edx, 1
je 0x48e3a2
mov dword [ebp - 0x93c], eax
mov ecx, esi
call fcn.00498970
push dword [ebp - 0x93c]
cmp dword [ebp - 0x8f8], 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 - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov esi, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x20
mov ecx, dword [esi + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48e427
mov edx, dword [ebp - 0x8dc]
mov esi, dword [ebp - 0x8e4]
jmp 0x48e42d
mov esi, dword [ebp - 0x8e4]
mov edx, dword [ebp - 0x8dc]
mov eax, dword [ebp - 0x8e0]
cmp dword [eax + 0x1ac], 0
jg 0x48e5f6
test edx, edx
je 0x48e45b
mov ecx, dword [edx + 0x3c]
cmp ecx, 5
jle 0x48e45b
cmp ecx, 0x80
jge 0x48e45b
mov byte [eax + 0x1f8], 1
mov eax, dword [edi + 0x180]
mov ecx, esi
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x98f], eax
mov eax, dword [ebp - 0x8e0]
push 0
mov dword [ebp - 0x98b], eax
mov eax, dword [ebp - 0x8e8]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x987], eax
lea eax, [ebp - 0x990]
push eax
push 0x15
mov byte [ebp - 0x990], 0x24
cvttss2si eax, xmm0
mov dword [ebp - 0x983], 0xfffffc18
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov ecx, dword [ebp - 0x8e0]
movss xmm0, dword [ecx + 0x17c]
comiss xmm0, dword [0x5d2054]
mov dword [ecx + 0x124], 1
mov dword [ecx + 0x208], edi
jbe 0x48e561
call fcn.00498970
push eax
lea eax, [ebp - 0x410]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov ecx, dword [ebp - 0x8e0]
movd xmm0, dword [ecx + 0x1c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6328]
cvttss2si eax, xmm0
mov dword [ecx + 0x1c0], eax
call fcn.004986d0
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48e5d8
call fcn.0044cd10
cmp eax, 1
jne 0x48e5d2
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x970]
push eax
call fcn.00513d10
mov edx, dword [ebp - 0x8e0]
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 - 0x970]
mov eax, dword [ebp - 0x960]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00513ee0
jmp 0x48eb11
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48eb11
call fcn.0044cd10
cmp eax, 2
jne 0x48eb11
jmp 0x48e580
cmp dword [eax + 0x204], 0
je 0x48e620
cmp dword [eax + 0x220], 0x18
jne 0x48e632
call fcn.00567e12
cdq
mov ecx, 0xa
idiv ecx
mov eax, dword [ebp - 0x8e0]
cmp edx, 3
jne 0x48e632
mov ecx, dword [ebp - 0x904]
mov dword [eax + 0x11c], ecx
mov dword [eax + 0x204], edi
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48e64c
call fcn.0044cd10
cmp eax, 1
je 0x48e660
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [eax + 0x218]
test ecx, ecx
je 0x48e6ad
call fcn.0044cd10
cmp eax, 2
jne 0x48e6ad
mov ecx, dword [esi + 0x118]
lea eax, [ebp - 0x970]
push eax
call fcn.00513d10
mov edx, dword [ebp - 0x8e0]
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 - 0x970]
mov eax, dword [ebp - 0x960]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x118]
call fcn.00513ee0
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x98f], eax
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x98b], eax
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x987], eax
push 0
mov byte [ebp - 0x990], 0x24
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x983], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x97f], eax
lea eax, [ebp - 0x990]
push eax
push 0x15
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov ecx, dword [ebp - 0x8e0]
movd xmm0, dword [edi + 0x10c]
push 0
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x953], eax
mov eax, dword [ecx + 0x1b0]
push 2
mov dword [ebp - 0x94f], eax
lea eax, [ebp - 0x958]
push eax
cvttss2si eax, xmm0
push 0xd
mov dword [ebp - 0x957], ecx
mov ecx, esi
mov byte [ebp - 0x958], 0x27
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x48e87e
cmp dword [eax + 0x3c], 0xd
je 0x48e87e
cmp dword [ebp - 0x994], 0
jle 0x48e87e
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x994]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48e87e
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3aa8]
movss dword [esp], xmm0
push 2
call fcn.00498740
test byte [edi + 0x238], 1
mov dword [ebp - 0x8f8], eax
je 0x48e87e
mov ecx, dword [ebp - 0x8e0]
call fcn.00498970
cmp dword [ebp - 0x8f8], 1
mov ecx, str.The__s_resisted_the_slowing_effect.
push eax
mov eax, str.The__s_is_Slowed.
cmove eax, ecx
push eax
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
cmp dword [ebp - 0x998], 0
jle 0x48e8d3
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x998]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48e8d9
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3aa8]
movss dword [esp], xmm0
push 0xa
call fcn.00498740
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x99c]
test ecx, ecx
jle 0x48e994
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3aa8]
movss dword [esp], xmm0
push 9
call fcn.00498740
mov ecx, dword [ebp - 0x99c]
mov eax, 0x66666667
imul ecx, ecx
push edi
imul ecx
mov ecx, dword [ebp - 0x8e0]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.00499290
test byte [edi + 0x238], 1
je 0x48e994
mov ecx, dword [ebp - 0x8e0]
call fcn.00498970
push eax
lea eax, [ebp - 0x410]
push str.The__s_is_more_vulnerable_to_other_dusts.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x8dc]
test eax, eax
je 0x48eb11
cmp dword [eax + 0x3c], 0xd
je 0x48eb11
cmp dword [ebp - 0x948], 0
jle 0x48eb11
call fcn.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [ebp - 0x948]
add edx, ecx
sub edx, dword [eax + 0x1bc]
cmp edx, 0xa
jle 0x48eb11
movd xmm0, ecx
sub esp, 8
cvtdq2ps xmm0, xmm0
mov ecx, eax
movss dword [esp + 4], xmm0
mulss xmm0, dword [0x5d3aa8]
movss dword [esp], xmm0
push 3
call fcn.00498740
test byte [edi + 0x238], 1
mov dword [ebp - 0x8f8], eax
je 0x48eb11
mov ecx, dword [ebp - 0x8e0]
call fcn.00498970
cmp dword [ebp - 0x8f8], 1
mov ecx, str.The__s_resisted_the_blinding_effect.
push eax
mov eax, str.The__s_is_Blinded.
cmove eax, ecx
push eax
lea eax, [ebp - 0x410]
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48eb11
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x98f], eax
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x98b], eax
mov esi, dword [ebp - 0x8e4]
push 0
mov byte [ebp - 0x990], 0x24
mov dword [ebp - 0x987], 0xffffffff
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x983], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x97f], eax
lea eax, [ebp - 0x990]
push eax
push 0x15
cvttss2si eax, xmm0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov ecx, dword [esi + 0x118]
call fcn.00513c90
mov dword [ebp - 0x8e0], eax
test eax, eax
jne 0x48c570
mov eax, dword [ebp - 0x938]
cmp dword [ebp - 0x8c8], 0xfffffffd
je 0x48ebc9
mov ecx, dword [esi + 0x118]
push eax
push dword [edi + 0x10c]
push dword [edi + 0x108]
call fcn.00513be0
mov dword [ebp - 0x8fc], eax
test eax, eax
je 0x48ebc9
nop
mov ecx, eax
call fcn.0044cd10
cmp eax, 1
jne 0x48ebb4
mov ecx, dword [ebp - 0x8fc]
mov eax, dword [edi + 0x108]
sub eax, dword [ecx + 0x108]
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 0x938]
jg 0x48ebb4
mov eax, dword [edi + 0x10c]
sub eax, dword [ecx + 0x10c]
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [ebp - 0x938]
jg 0x48ebb4
push ecx
lea eax, [ebp - 0x8d0]
mov ecx, edi
push eax
push esi
call fcn.00490a10
mov ecx, dword [esi + 0x118]
call fcn.00513c90
mov dword [ebp - 0x8fc], eax
test eax, eax
jne 0x48eb60
cmp dword [ebp - 0x944], 0
mov edx, dword [ebp - 0x8ec]
jne 0x48ec73
mov dword [edi + 0x14ea0], 0
jmp 0x48ec73
mov dword [edi + 0x14ea0], 0
jmp 0x48eb2a
cmp dword [eax + 0x1b4], 4
jge 0x48ec0d
mov dword [eax + 0x1b4], 4
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x234], 1
mov eax, dword [edi + 0x14f48]
mov dword [eax + 0x218], 0
mov eax, dword [edi + 0x14f48]
cmp dword [eax + 0x220], 0x15
jne 0x48ec46
mov dword [eax + 0x1d8], 0
mov ecx, edi
call fcn.0048b230
mov dword [edi + 0x14f18], 1
jmp 0x4908dd
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x938], eax
jmp 0x48eb30
mov edx, dword [ebp - 0x8ec]
mov eax, dword [ebp - 0x934]
movss xmm1, dword [edi + 0x15c]
mulss xmm1, dword [0x5d63dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x5d1230]
lea eax, [edx + edx]
cvtpd2ps xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
jbe 0x48ecd9
mov eax, dword [edi + 0x14ea4]
test eax, eax
je 0x48ecd9
cmp byte [edi + 0x14f91], 0
je 0x48ecd9
cmp byte [eax + 0x14f91], 0
je 0x48ecd9
push eax
push esi
mov ecx, edi
call fcn.00473700
mov edx, dword [ebp - 0x904]
xor ecx, ecx
mov dword [ebp - 0x934], 0
mov dword [ebp - 0x944], ecx
imul esi, dword [edi + 0x188], 0x980
mov eax, edx
add esi, 0x334
add esi, edi
add esi, ecx
mov dword [ebp - 0x8dc], esi
mov ecx, dword [esi + 0x1c]
sub eax, ecx
test ecx, ecx
je 0x48ed1a
cmp edx, ecx
jae 0x48ed1f
mov eax, 0xbb9
cmp byte [esi + 0x10], 0xff
je 0x48f407
cmp eax, 0xbb8
jbe 0x48f407
cmp dword [edi + 0x14ea0], 0
je 0x48f407
mov eax, dword [ebp - 0x940]
test eax, eax
je 0x48ed6a
push edi
mov ecx, eax
call fcn.004ee630
test eax, eax
je 0x48ed6a
mov eax, dword [edi + 0x14ea0]
cmp byte [eax + 0x1df], 0
je 0x48f401
call fcn.00567e12
cdq
mov ecx, 0xc8
idiv ecx
mov eax, dword [ebp - 0x904]
sub eax, edx
mov dword [ebp - 0x8fc], 0
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x8e4]
push 0
push dword [edi + 0x10c]
push dword [edi + 0x108]
mov ecx, dword [eax + 0x118]
call fcn.00513be0
mov ecx, eax
mov dword [ebp - 0x8e8], ecx
test ecx, ecx
je 0x48f401
nop dword [eax + eax]
cmp dword [ebp - 0x8fc], 0
jne 0x48f401
cmp dword [ecx + 0x124], 0
jne 0x48f3e0
cmp ecx, dword [edi + 0x14ea0]
jne 0x48f3e0
mov eax, dword [ecx + 0x108]
cmp eax, dword [edi + 0x108]
jne 0x48f3e0
mov eax, dword [ecx + 0x10c]
cmp eax, dword [edi + 0x10c]
jne 0x48f3e0
call fcn.0044cd10
cmp eax, 1
jne 0x48f3e0
movzx edx, byte [esi + 0x11]
movzx esi, byte [esi + 0x13]
mov dword [ebp - 0x8fc], eax
inc esi
mov eax, dword [ebp - 0x8dc]
lea ecx, [edx*8]
mov byte [ebp - 0x8fd], 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 - 0x8dc]
mulss xmm0, dword [eax + 0x20]
mulss xmm1, dword [ecx + 0x611538]
divss xmm1, dword [0x5d2e88]
addss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x8ec], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov esi, eax
test esi, esi
je 0x48f0f2
nop dword [eax]
cmp byte [ebp - 0x8fd], 0
jne 0x48f0f2
mov ecx, esi
call fcn.0044cd20
mov ecx, str.Drake_Mastery
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x48eef0
test dl, dl
je 0x48eeec
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x48eef0
add ecx, 2
add eax, 2
test dl, dl
jne 0x48eed0
xor eax, eax
jmp 0x48eef5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48f0cf
mov eax, dword [0x62eb80]
mov esi, dword [esi + 0x11c]
mov byte [ebp - 0x8fd], 1
mov eax, dword [eax + 0xac]
cdq
add eax, dword [esi]
mov ecx, edx
mov dword [ebp - 0x8f8], eax
adc ecx, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x908], ecx
mov dword [esi + 4], ecx
test eax, eax
ja 0x48f0b0
jb 0x48ef45
cmp dword [esi + 8], 0x64
jae 0x48f0b0
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 - 0x908]
ja 0x48f0b0
jb 0x48ef74
cmp eax, dword [ebp - 0x8f8]
ja 0x48f0b0
mov dword [ebp - 0x928], 0
mov dword [ebp - 0x924], 0
mov dword [ebp - 0x920], 0
mov ecx, dword [edi + 0x180]
mov eax, ecx
sar eax, 8
mov byte [ebp - 0x92f], al
mov eax, ecx
sar eax, 0x10
mov byte [ebp - 0x930], cl
mov byte [ebp - 0x92e], al
lea eax, [ebp - 0x930]
sar ecx, 0x18
push eax
mov byte [ebp - 0x92d], cl
lea ecx, [ebp - 0x928]
push 0
mov byte [ebp - 4], 8
mov byte [ebp - 0x92c], 0
call fcn.0043ec20
add dword [esi + 8], 1
lea eax, [ebp - 0x410]
push str.You_gained_Drake_Mastery_skill___You_feel_more_in_tune_with_your_drakes.
adc dword [esi + 0xc], 0
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x928]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [ebp - 0x928]
mov byte [ebp - 4], 0
mov dword [ebp - 0x908], eax
test eax, eax
je 0x48f0b0
mov ecx, dword [ebp - 0x920]
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x908]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x48f088
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x490905
push edx
push ecx
call fcn.00558659
add esp, 8
mov dword [ebp - 0x928], 0
mov dword [ebp - 0x924], 0
mov dword [ebp - 0x920], 0
mov ecx, edi
call fcn.00485890
push dword [esi + 0xc]
cdq
push dword [esi + 8]
push edx
push eax
call fcn.005597a0
shrd eax, edx, 1
add dword [ebp - 0x8ec], eax
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov esi, eax
test esi, esi
jne 0x48eeb0
mov esi, dword [ebp - 0x8e8]
mov ecx, dword [ebp - 0x8ec]
push edi
push ecx
sub dword [esi + 0x1ac], ecx
mov ecx, esi
call fcn.00499290
cmp dword [esi + 0x204], 0
je 0x48f131
cmp dword [esi + 0x220], 0x18
jne 0x48f143
call fcn.00567e12
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jne 0x48f143
mov eax, dword [ebp - 0x904]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x204], edi
mov eax, dword [ebp - 0x8dc]
movzx edx, byte [eax + 0x10]
mov dword [ebp - 0x918], edx
cmp edx, 6
jne 0x48f16b
call fcn.00567e12
cdq
mov ecx, 6
idiv ecx
mov dword [ebp - 0x918], edx
mov eax, dword [edi + 0x180]
movd xmm0, dword [edi + 0x10c]
mov dword [ebp - 0x823], eax
mov eax, dword [ebp - 0x8ec]
push 0
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x819], eax
mov eax, dword [ebp - 0x934]
cvtdq2ps xmm0, xmm0
push 2
mov byte [ebp - 0x81b], al
lea eax, [ebp - 0x824]
push eax
push 0x13
mov byte [ebp - 0x824], 0x3d
cvttss2si eax, xmm0
mov dword [ebp - 0x81f], esi
mov byte [ebp - 0x81a], dl
mov dword [ebp - 0x815], 0
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
movd xmm0, dword [edi + 0x10c]
mov eax, dword [esi + 0x1ac]
push 0
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x953], eax
mov eax, dword [esi + 0x1b0]
cvtdq2ps xmm0, xmm0
push 2
mov dword [ebp - 0x94f], eax
lea eax, [ebp - 0x958]
push eax
push 0xd
mov byte [ebp - 0x958], 0x27
cvttss2si eax, xmm0
mov dword [ebp - 0x957], esi
movd xmm0, dword [edi + 0x108]
cvtdq2ps xmm0, xmm0
push eax
cvttss2si eax, xmm0
push eax
push 0
call fcn.0052a350
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48f259
call fcn.0044cd10
cmp eax, 1
je 0x48f26d
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48f2c0
call fcn.0044cd10
cmp eax, 2
jne 0x48f2c0
lea eax, [ebp - 0x970]
push eax
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [eax + 0x118]
call fcn.00513d10
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 - 0x970]
mov eax, dword [ebp - 0x960]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [eax + 0x118]
call fcn.00513ee0
cmp dword [esi + 0x1ac], 0
jg 0x48f4b5
mov ecx, esi
mov dword [esi + 0x124], 1
mov dword [esi + 0x208], edi
call fcn.004986d0
movss xmm0, dword [esi + 0x17c]
comiss xmm0, dword [0x5d2054]
jbe 0x48f36b
mov ecx, esi
call fcn.00498970
push eax
lea eax, [ebp - 0x410]
push str.Loot_falls_from_the_sky_onto_the__ss_corpse_
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
movd xmm0, dword [esi + 0x1c0]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6328]
cvttss2si eax, xmm0
mov dword [esi + 0x1c0], eax
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48f494
call fcn.0044cd10
cmp eax, 1
jne 0x48f494
lea eax, [ebp - 0x970]
push eax
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [eax + 0x118]
call fcn.00513d10
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 - 0x970]
mov eax, dword [ebp - 0x960]
sub esp, 0x14
mov ecx, esp
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [eax + 0x118]
call fcn.00513ee0
mov esi, dword [ebp - 0x8dc]
mov eax, dword [ebp - 0x8e4]
mov ecx, dword [eax + 0x118]
call fcn.00513c90
mov ecx, eax
mov dword [ebp - 0x8e8], eax
test ecx, ecx
jne 0x48edc0
mov edx, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x944]
inc dword [ebp - 0x934]
add ecx, 0x34
mov dword [ebp - 0x944], ecx
cmp ecx, 0x68
jl 0x48ecf1
mov eax, dword [edi + 0x244]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48fb03
cmp edx, eax
jb 0x48fb03
mov esi, dword [ebp - 0x8e4]
cmp ecx, 0x493e0
jbe 0x48fb1b
mov ecx, esi
mov dword [edi + 0x244], edx
call fcn.0044cd10
imul ecx, dword [edi + 0x188], 0x980
test eax, eax
je 0x48fa8f
mov eax, dword [edi + ecx + 0x310]
mov dword [edi + ecx + 0x308], eax
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [ecx + edi + 0x314]
jmp 0x48faac
mov ecx, dword [esi + 0x218]
test ecx, ecx
je 0x48f3da
call fcn.0044cd10
cmp eax, 2
jne 0x48f3da
jmp 0x48f387
mov eax, dword [ebp - 0x918]
cmp eax, 1
jne 0x48f53b
mov esi, dword [ebp - 0x8dc]
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 0x48f3e0
mov dword [eax + edi + 0x2fc], ecx
jmp 0x48f3e0
cmp eax, 2
jne 0x48f647
mov edx, dword [ebp - 0x8dc]
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.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48f3da
mov eax, dword [ebp - 0x8dc]
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 [0x5d63e8]
mov esi, dword [ebp - 0x8e8]
mov ecx, esi
movss dword [esp], xmm0
push 2
call fcn.00498740
test byte [edi + 0x238], 1
je 0x48f3da
mov ecx, esi
call fcn.00498970
mov esi, dword [ebp - 0x8dc]
push eax
push esi
lea eax, [ebp - 0x410]
push str._s_slows_the__s.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48f3e0
cmp eax, 4
jne 0x48f779
mov edx, dword [ebp - 0x8dc]
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.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48f3da
mov eax, dword [ebp - 0x8dc]
sub esp, 8
mov esi, dword [ebp - 0x8e8]
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 [0x5d63e8]
movss dword [esp], xmm0
push 4
call fcn.00498740
mov eax, dword [ebp - 0x8dc]
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.00499290
test byte [edi + 0x238], 1
je 0x48f3da
mov ecx, esi
call fcn.00498970
mov esi, dword [ebp - 0x8dc]
push eax
push esi
lea eax, [ebp - 0x410]
push str._s_poisons_the__s.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48f3e0
cmp eax, 3
jne 0x48f885
mov edx, dword [ebp - 0x8dc]
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.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48f3da
mov eax, dword [ebp - 0x8dc]
sub esp, 8
mov esi, dword [ebp - 0x8e8]
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 [0x5d63e8]
movss dword [esp], xmm0
push 3
call fcn.00498740
test byte [edi + 0x238], 1
je 0x48f3da
mov ecx, esi
call fcn.00498970
mov esi, dword [ebp - 0x8dc]
push eax
push esi
lea eax, [ebp - 0x410]
push str._s_blinds_the__s.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
jmp 0x48f3e0
mov esi, dword [ebp - 0x8dc]
cmp eax, 5
jne 0x48f3e0
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 0x48f900
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.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48fa00
mov eax, dword [ebp - 0x8dc]
sub esp, 8
mov esi, dword [ebp - 0x8e8]
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.00498740
test byte [edi + 0x238], 1
je 0x48fa00
mov ecx, esi
call fcn.00498970
push eax
push dword [ebp - 0x8dc]
lea eax, [ebp - 0x410]
push str._s_blinds_the__s.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x20
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
mov edx, dword [ebp - 0x8dc]
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.00567e12
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x8e8]
sub esi, dword [eax + 0x1bc]
add esi, edx
cmp esi, 0xa
jle 0x48f3da
mov eax, dword [ebp - 0x8dc]
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 0x48f5c1
mov eax, dword [edi + 0x108]
mov dword [edi + ecx + 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 + 0x14f54], 0
jne 0x48fae3
cmp byte [edi + 0x14f90], 0
je 0x48fae3
mov ecx, edi
call fcn.0048b230
push esi
mov ecx, edi
call fcn.004824a0
push esi
mov ecx, edi
call fcn.00486650
push esi
mov ecx, edi
call fcn.0048ae70
inc dword [edi + 0x14f28]
jmp 0x48fb15
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [ebp - 0x8e4]
mov dword [edi + 0x244], eax
mov edx, dword [ebp - 0x904]
cmp dword [edi + 0x14f3c], 0xffffffff
jle 0x48fb82
mov eax, edx
sub eax, dword [edi + 0x14f40]
cmp eax, 0x2710
jbe 0x48fb82
mov eax, dword [edi + 0x180]
mov ecx, esi
push 0
push 5
mov dword [ebp - 0x923], eax
lea eax, [ebp - 0x924]
push eax
push 8
push dword [edi + 0x10c]
mov dword [edi + 0x14f3c], 0xffffffff
push dword [edi + 0x108]
mov byte [ebp - 0x924], 0x39
push 0
mov word [ebp - 0x91e], 0
mov byte [ebp - 0x91f], 0
call fcn.0052a350
mov edx, dword [ebp - 0x904]
mov ecx, edx
mov eax, dword [edi + 0x248]
sub ecx, eax
test eax, eax
je 0x48fba6
cmp edx, eax
jb 0x48fba6
cmp ecx, 0x1388
jbe 0x48fd92
imul ecx, dword [edi + 0x188], 0x980
cmp dword [edi + 0x14ea0], 0
movd xmm1, dword [ecx + edi + 0x2f8]
cvtdq2ps xmm1, xmm1
je 0x48fbe9
movsx eax, byte [edi + 0x14f08]
mulss xmm1, dword [0x5d630c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x5d6310]
minss xmm1, xmm0
jmp 0x48fbf1
divss xmm1, dword [0x5d63a8]
addss xmm1, dword [0x5d6318]
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 0x48fc3b
mov dword [eax + edi + 0x2fc], ecx
imul ecx, dword [edi + 0x188], 0x980
lea edx, [ebp - 0x914]
mov byte [ebp - 0x958], 0x26
push edx
push 0
lea edx, [ebp - 0x958]
push edx
push 0xd
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x953], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, dword [esi + 0x11c]
mov dword [ebp - 0x94f], eax
mov eax, dword [edi + 0x180]
mov dword [ebp - 0x957], eax
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x14f48]
test eax, eax
je 0x48fd80
cmp dword [eax + 0x214], 0
jne 0x48fd80
cmp dword [eax + 0x204], 0
jne 0x48fd80
mov ecx, edi
call fcn.00474a20
cmp eax, 9
jle 0x48fd80
mov ecx, dword [edi + 0x14f48]
movd xmm0, dword [ecx + 0x1b0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x5d6350]
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 + 0x14f48]
mov ecx, dword [eax + 0x1b0]
cmp dword [eax + 0x1ac], ecx
jle 0x48fd18
mov dword [eax + 0x1ac], ecx
mov ecx, dword [edi + 0x14f48]
mov dword [ebp - 0x927], ecx
mov byte [ebp - 0x928], 0x27
push 0
mov eax, dword [ecx + 0x1ac]
mov dword [ebp - 0x923], eax
mov eax, dword [ecx + 0x1b0]
mov dword [ebp - 0x91f], eax
lea eax, [ebp - 0x928]
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.0052a350
nop dword [eax]
push esi
mov ecx, edi
call fcn.00489cd0
test eax, eax
jne 0x48fd80
mov edx, dword [ebp - 0x904]
mov eax, dword [edi + 0x24c]
mov ecx, edx
sub ecx, eax
test eax, eax
je 0x48fdb0
cmp edx, eax
jb 0x48fdb0
cmp ecx, 0x2710
jbe 0x48ff95
mov dword [edi + 0x24c], edx
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x8ec], eax
movss xmm1, dword [edi + eax*4 + 0x154]
comiss xmm1, xmm0
jbe 0x48feb9
cmp dword [edi + eax*4 + 0x128], edx
jae 0x48fdec
mov dword [edi + eax*4 + 0x154], 0
jmp 0x48feb9
cmp eax, 4
jne 0x48feb9
imul ecx, dword [edi + 0x188], 0x980
mulss xmm1, dword [0x5d25dc]
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 - 0x958], 0x27
mov dword [ebp - 0x957], edi
mov eax, dword [ecx + edi + 0x2fc]
mov dword [ebp - 0x953], eax
mov eax, dword [ecx + edi + 0x2f8]
mov ecx, esi
mov dword [ebp - 0x94f], eax
lea eax, [ebp - 0x958]
push eax
push 0xd
push dword [edi + 0x10c]
push dword [edi + 0x108]
push 0
call fcn.0052a350
imul eax, dword [edi + 0x188], 0x980
xorps xmm0, xmm0
mov edx, dword [ebp - 0x904]
cmp dword [eax + edi + 0x2fc], 0
jg 0x48feb3
mov dword [eax + edi + 0x2fc], 0
mov eax, dword [ebp - 0x8ec]
mov dword [edi + 0x124], 1
inc eax
jmp 0x48fdbb
mov eax, dword [ebp - 0x8ec]
inc eax
mov dword [ebp - 0x8ec], eax
cmp eax, 0xb
jl 0x48fdc1
mov ecx, dword [esi + 0x110]
call fcn.0044e370
mov dword [ebp - 0x908], eax
cmp eax, edi
je 0x48ff12
lea ecx, [edi + 0x18c]
push ecx
lea ecx, [eax + 0x18c]
push ecx
call fcn.0044d5d0
add esp, 8
test eax, eax
je 0x48ff12
mov eax, dword [ebp - 0x908]
mov dword [edi + 0x14f18], 1
mov dword [eax + 0x14f18], 1
mov ecx, dword [esi + 0x110]
call fcn.0044e420
mov ecx, dword [esi + 0x110]
push edi
call fcn.0044e320
cmp dword [edi + 0x14f10], 1
jne 0x48ff8f
mov byte [ebp - 0x924], 0x4a
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x62eb80]
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 [0x62eb7c]
shr edx, 5
mov word [ebp - 0x91f], dx
lea edx, [ebp - 0x914]
push edx
push 0
mov word [ebp - 0x923], ax
lea edx, [ebp - 0x924]
mov eax, dword [ecx]
push edx
push 7
call dword [eax + 4]
mov edx, dword [ebp - 0x904]
cmp dword [edi + 0x25c], 0
je 0x490023
mov ecx, dword [edi + 0x250]
mov eax, edx
sub eax, ecx
mov dword [ebp - 0x8fc], eax
test ecx, ecx
je 0x48ffba
cmp edx, ecx
jae 0x48ffc4
mov dword [ebp - 0x8fc], 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 - 0x8e4]
lea eax, [edx - 1]
cmovle eax, edx
imul eax, eax, 0x3e8
cmp dword [ebp - 0x8fc], eax
jbe 0x490029
push esi
mov ecx, edi
mov dword [edi + 0x25c], 0
call fcn.00474e10
jmp 0x490029
mov esi, dword [ebp - 0x8e4]
mov edx, dword [ebp - 0x904]
mov ecx, edx
mov eax, dword [edi + 0x254]
sub ecx, eax
test eax, eax
je 0x49004d
cmp edx, eax
jb 0x49004d
cmp ecx, 0xea60
jbe 0x4908dd
mov dword [edi + 0x254], edx
lea eax, [ebp - 0x908]
push eax
mov dword [edi + 0x14f38], 0
mov dword [edi + 0x14f34], 0
mov dword [edi + 0x14f30], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [0x62eb80]
add eax, 0x2a0
add eax, edi
push eax
call fcn.004bbdd0
test eax, eax
je 0x4900c3
mov ecx, dword [ebp - 0x908]
mov eax, dword [ecx + 0x15c]
mov dword [edi + 0x14f30], eax
mov eax, dword [ecx + 0x160]
mov dword [edi + 0x14f34], eax
mov eax, dword [ecx + 0x164]
mov dword [edi + 0x14f38], eax
xorps xmm0, xmm0
movq qword [edi + 0x14f04], xmm0
mov dword [edi + 0x14f0c], 0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x8ec], eax
test eax, eax
je 0x4901f4
nop
cmp dword [eax + 0x110], 2
jne 0x4901cd
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x824]
mov dword [ebp - 0x8f8], eax
call fcn.00513940
mov eax, dword [ebp - 0x8f8]
cmp byte [eax + 8], 0
je 0x4901cd
lea ecx, [ebp - 0x824]
push ecx
lea ecx, [eax + 0xa]
call fcn.005139a0
test eax, eax
js 0x4901cd
mov ecx, dword [ebp - 0x8ec]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x410]
push str._s_disintegrates.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8ec]
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0x8ec]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2d8]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x8ec], eax
test eax, eax
jne 0x490100
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x8ec], eax
test eax, eax
je 0x490314
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x4902ed
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x824]
mov dword [ebp - 0x8f8], eax
call fcn.00513940
mov eax, dword [ebp - 0x8f8]
cmp byte [eax + 8], 0
je 0x4902ed
lea ecx, [ebp - 0x824]
push ecx
lea ecx, [eax + 0xa]
call fcn.005139a0
test eax, eax
js 0x4902ed
mov ecx, dword [ebp - 0x8ec]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x410]
push str._s_disintegrates.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8ec]
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0x8ec]
push 1
mov eax, dword [ecx]
call dword [eax]
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2dc]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x8ec], eax
test eax, eax
jne 0x490220
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x8ec], eax
test eax, eax
je 0x490494
nop dword [eax + eax]
cmp dword [eax + 0x110], 2
jne 0x49046d
mov eax, dword [eax + 0x11c]
lea ecx, [ebp - 0x824]
mov dword [ebp - 0x8fc], eax
call fcn.00513940
mov edx, dword [ebp - 0x8fc]
cmp byte [edx + 8], 0
je 0x49046d
lea eax, [ebp - 0x824]
push eax
lea ecx, [edx + 0xa]
call fcn.005139a0
test eax, eax
js 0x49040f
mov ecx, dword [ebp - 0x8ec]
call fcn.0044cd20
push eax
lea eax, [ebp - 0x410]
push str._s_disintegrates.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
push dword [ebp - 0x8ec]
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e560
mov ecx, dword [ebp - 0x8ec]
push 1
mov eax, dword [ecx]
call dword [eax]
jmp 0x49046d
mov edx, dword [ebp - 0x8fc]
cmp byte [edx + 8], 0
je 0x49046d
movd xmm0, dword [edx + 4]
xor ecx, ecx
movss xmm1, dword [edx + 0x40]
mov edx, dword [edx]
cvtdq2ps xmm0, xmm0
subss xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
cmp edx, 7
jl 0x490449
cmp edx, 9
jg 0x490449
cvttss2si ecx, xmm1
jmp 0x49045a
cmp edx, 0xb
jne 0x49045a
xor eax, eax
comiss xmm1, dword [0x5d2054]
cmova ecx, eax
movsx eax, byte [edi + edx + 0x14f04]
cmp ecx, eax
jle 0x49046d
mov byte [edi + edx + 0x14f04], cl
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e4]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x8ec], eax
test eax, eax
jne 0x490340
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e370
mov dword [ebp - 0x940], eax
test eax, eax
je 0x49073b
nop dword [eax + eax]
mov ecx, eax
call fcn.0044cd20
mov ecx, str.Dodging
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4904f0
test dl, dl
je 0x4904ec
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4904f0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4904d0
xor eax, eax
jmp 0x4904f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4905ea
mov eax, dword [ebp - 0x940]
mov eax, dword [eax + 0x11c]
mov dword [ebp - 0x8f8], eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push eax
push ecx
push eax
push ecx
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x918], eax
call fcn.005597a0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, eax
add esi, edx
mov eax, dword [ebp - 0x8f8]
cmp esi, dword [eax + 4]
ja 0x4905ea
jb 0x49055d
cmp ecx, dword [eax]
ja 0x4905ea
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x918]
add ecx, 1
mov dword [eax + 8], ecx
adc edx, 0
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x410]
push str.You_gained_Dodging_skill__
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d6314]
movss dword [eax + edi + 0x300], xmm0
mov esi, dword [ebp - 0x940]
mov ecx, esi
call fcn.0044cd20
mov ecx, str.Pet_Energy
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x490620
test dl, dl
je 0x49061c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x490620
add ecx, 2
add eax, 2
test dl, dl
jne 0x490600
xor eax, eax
jmp 0x490625
sbb eax, eax
or eax, 1
test eax, eax
jne 0x490714
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x8f8], eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push eax
push ecx
push eax
push ecx
mov dword [ebp - 0x8fc], ecx
mov dword [ebp - 0x918], eax
call fcn.005597a0
mov ecx, eax
mov esi, 0x64
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x64
mul ecx
mov ecx, eax
add esi, edx
mov eax, dword [ebp - 0x8f8]
cmp esi, dword [eax + 4]
ja 0x490714
jb 0x490687
cmp ecx, dword [eax]
ja 0x490714
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ebp - 0x918]
add ecx, 1
mov dword [eax + 8], ecx
adc edx, 0
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x410]
push str.You_gained_Pet_Energy__
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov eax, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
add esp, 0x18
mov ecx, dword [eax + 0x11c]
push edx
push 0
lea edx, [ebp - 0x88c]
mov eax, dword [ecx]
push edx
push 0x65
call dword [eax + 4]
imul eax, dword [edi + 0x188], 0x980
movss xmm0, dword [eax + edi + 0x300]
addss xmm0, dword [0x5d6314]
movss dword [eax + edi + 0x300], xmm0
imul eax, dword [edi + 0x188], 0x980
mov ecx, dword [eax + edi + 0x2e0]
add ecx, 4
call fcn.0044e420
mov dword [ebp - 0x940], eax
test eax, eax
jne 0x4904c0
imul esi, dword [edi + 0x188], 0x980
mov ecx, edi
call fcn.004872a0
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 edx, dword [eax + edi + 0xbd0]
lea ecx, [eax + edi]
mov eax, dword [ecx + 0x2f8]
cmp edx, 6
jge 0x490795
imul eax, edx
jmp 0x490798
lea eax, [eax + eax*4]
mov dword [ecx + 0x2f8], eax
imul eax, dword [edi + 0x188], 0x980
cvttss2si ecx, dword [eax + edi + 0x304]
cvttss2si eax, dword [eax + edi + 0x300]
cmp ecx, eax
je 0x4908dd
lea eax, [ebp - 0x8d8]
mov byte [ebp - 0x8d8], 9
push eax
mov ecx, edi
call fcn.00474c50
mov esi, dword [ebp - 0x8e4]
lea edx, [ebp - 0x914]
push edx
push 0
lea edx, [ebp - 0x8d8]
mov ecx, dword [esi + 0x11c]
push edx
push 0x49
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 - 0x410]
push str.You_gained_a_Level____You_are_now_Level__ld.
push eax
call fcn.0043d370
push 0x64
lea eax, [ebp - 0x88b]
push eax
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0044d210
mov ecx, dword [esi + 0x11c]
lea edx, [ebp - 0x914]
add esp, 0x1c
mov eax, dword [ecx]
push edx
push 0
lea edx, [ebp - 0x88c]
push edx
push 0x65
call dword [eax + 4]
mov eax, dword [edi + 0x180]
mov ecx, esi
mov dword [ebp - 0x823], eax
movzx eax, byte [edi + 0x108]
push 0
mov byte [ebp - 0x81b], al
movzx eax, byte [edi + 0x10c]
push 5
mov byte [ebp - 0x81a], al
lea eax, [ebp - 0x824]
push eax
push 0x11
push dword [edi + 0x10c]
mov byte [ebp - 0x824], 0x38
push dword [edi + 0x108]
mov dword [ebp - 0x81f], 0xffffffff
push 0
mov word [ebp - 0x819], 0xff28
mov dword [ebp - 0x817], 0x50028
call fcn.0052a350
imul ecx, dword [edi + 0x188], 0x980
mov eax, dword [ecx + edi + 0x300]
mov dword [ecx + edi + 0x304], eax
lea ecx, [ebp - 0x914]
call fcn.004728c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00558667
mov esp, ebp
pop ebp
ret 4
call fcn.0058fdc0
int3