Function at 0x10063150
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
mov esi, ecx
mov dword [esp + 0xc], edx
mov ecx, dword [0x1017bfd8]
push edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x19e4]
cmp byte [edi + 0x7f], 0
jne 0x100637a3
push ecx
push esi
mov ecx, edi
call fcn.100448e0
mov dword [esp + 0x44], eax
mov ecx, esi
cmp esi, 0xffffffff
jae 0x100631b6
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x100631b6
cmp dl, 0x23
jne 0x100631b0
cmp byte [ecx + 1], dl
je 0x100631b6
inc ecx
cmp ecx, 0xffffffff
jb 0x100631a0
mov eax, dword [0x1017bfd8]
movss xmm0, dword [eax + 0x1900]
movss dword [esp + 0x28], xmm0
cmp esi, ecx
jne 0x100631d2
xorps xmm3, xmm3
jmp 0x10063215
push ecx
push ecx
push esi
push ecx
lea ecx, [esp + 0x40]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18fc]
movaps xmm2, xmm0
call fcn.1005fe90
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x10145038]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x28], xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm1, dword [edi + 0xcc]
lea ecx, [esp + 0x10]
addss xmm1, dword [0x101450a4]
mov eax, dword [esp + 0x10]
movss xmm0, dword [edi + 0xc8]
addss xmm0, dword [0x10145040]
movss xmm2, dword [0x10145188]
push dword [eax + 4]
movss dword [esp + 0x34], xmm1
movss xmm1, dword [edi + 0x14]
subss xmm1, dword [0x10145184]
push dword [eax]
movss dword [esp + 0x2c], xmm3
movss dword [esp + 0x34], xmm0
call fcn.10045300
movss xmm2, dword [esp + 0x34]
lea ecx, [esp + 0x18]
movss xmm3, dword [esp + 0x38]
movaps xmm1, xmm2
addss xmm1, dword [esp + 0x18]
movss xmm0, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
addss xmm0, xmm3
movss dword [esp + 0x58], xmm2
movss dword [esp + 0x5c], xmm3
movss dword [esp + 0x60], xmm1
movss xmm1, dword [eax + 0x153c]
movss dword [esp + 0x64], xmm0
call fcn.10044ce0
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x58]
push 0
mov edx, esi
call fcn.10044e10
add esp, 0xc
test al, al
je 0x100637a3
mov eax, dword [edi + 0x168]
lea ecx, [esp + 0x50]
shr eax, 1
mov edx, esi
and eax, 1
push eax
lea eax, [esp + 0xe]
push eax
lea eax, [esp + 0x13]
push eax
call fcn.10062930
add esp, 0xc
mov byte [esp + 0xb], al
test al, al
je 0x10063336
mov eax, dword [0x1017bfd8]
mov ecx, dword [eax + 0x1a04]
cmp ecx, esi
je 0x10063322
test ecx, ecx
je 0x10063322
cmp byte [eax + 0x1cc0], 0
je 0x10063788
mov byte [eax + 0x1a17], 1
mov eax, dword [eax + 0x19e4]
or dword [eax + 0x110], 4
cmp byte [esp + 0xa], 0
xorps xmm1, xmm1
mov eax, dword [esp + 0xc]
mov esi, dword [edi + 0x274]
movss xmm5, dword [0x10145264]
movss xmm4, dword [0x10144fec]
movss xmm3, dword [eax + 0x1500]
mov dword [esp + 0x10], esi
je 0x1006341a
comiss xmm1, xmm3
jbe 0x100633a1
xorps xmm0, xmm0
xorps xmm3, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
xorps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si ecx, xmm0
xorps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si edx, xmm0
jmp 0x100633e6
movss xmm6, dword [0x10145040]
movaps xmm2, xmm3
movaps xmm1, xmm3
minss xmm2, xmm6
movaps xmm0, xmm3
minss xmm1, xmm6
minss xmm0, xmm6
minss xmm3, xmm6
mulss xmm2, xmm5
mulss xmm0, xmm5
mulss xmm1, xmm5
addss xmm2, xmm4
addss xmm0, xmm4
addss xmm1, xmm4
cvttss2si edx, xmm2
cvttss2si eax, xmm0
cvttss2si ecx, xmm1
mulss xmm3, xmm5
shl eax, 0x18
shl ecx, 0x18
or eax, 0x777777
shl edx, 0x18
or ecx, 0x515151
addss xmm3, xmm4
or edx, 0x515151
cvttss2si esi, xmm3
shl esi, 0x18
or esi, 0x777777
jmp 0x100634c9
comiss xmm1, xmm3
jbe 0x10063451
xorps xmm0, xmm0
xorps xmm3, xmm3
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
xorps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si ecx, xmm0
xorps xmm0, xmm0
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si edx, xmm0
jmp 0x10063496
movss xmm6, dword [0x10145040]
movaps xmm2, xmm3
movaps xmm1, xmm3
minss xmm2, xmm6
movaps xmm0, xmm3
minss xmm1, xmm6
minss xmm0, xmm6
minss xmm3, xmm6
mulss xmm2, xmm5
mulss xmm0, xmm5
mulss xmm1, xmm5
addss xmm2, xmm4
addss xmm0, xmm4
addss xmm1, xmm4
cvttss2si edx, xmm2
cvttss2si eax, xmm0
cvttss2si ecx, xmm1
mulss xmm3, xmm5
mov dword [esp + 0x10], esi
shl eax, 0x18
shl ecx, 0x18
or eax, 0x6d6d6d
addss xmm3, xmm4
shl edx, 0x18
or ecx, 0x474747
or edx, 0x474747
cvttss2si esi, xmm3
shl esi, 0x18
or esi, 0x6d6d6d
push edx
push ecx
mov ecx, dword [esp + 0x18]
push eax
push esi
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.1005cc30
mov eax, dword [esp + 0xc]
xorps xmm3, xmm3
mov esi, dword [edi + 0x274]
movss xmm4, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x58]
movss xmm0, dword [eax + 0x1500]
comiss xmm3, xmm0
ja 0x100635f0
movss xmm5, dword [0x10145040]
movaps xmm6, xmm2
movss xmm1, dword [0x10144fec]
minss xmm0, xmm5
movaps xmm7, xmm4
addss xmm6, xmm5
addss xmm7, xmm5
mulss xmm0, dword [0x10145264]
addss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x50]
subss xmm0, xmm5
shl eax, 0x18
mov ecx, eax
or ecx, 0x191919
mov dword [esp + 0x2c], ecx
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x54]
subss xmm0, xmm5
movss dword [esp + 0x30], xmm0
test eax, eax
je 0x100635f0
movss xmm0, dword [esp + 0x44]
lea eax, [esp + 0x10]
subss xmm6, dword [0x10144fe8]
subss xmm7, dword [0x10144fe8]
addss xmm0, xmm1
mov ecx, esi
push 0xf
push eax
lea eax, [esp + 0x4c]
movss dword [esp + 0x18], xmm6
push eax
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x3c]
addss xmm0, xmm1
movss dword [esp + 0x20], xmm7
movss dword [esp + 0x54], xmm0
call fcn.1005c5f0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
push dword [esp + 0x34]
push dword [esi + 0x54]
push dword [esi + 0x5c]
call fcn.1005b4f0
movss xmm2, dword [esp + 0x58]
movss xmm4, dword [esp + 0x5c]
mov dword [esi + 0x54], 0
mov esi, dword [edi + 0x274]
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x30], xmm0
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x10063656
mov eax, dword [esi + 0x44]
mov ecx, edx
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 - 0x10]
comiss xmm0, dword [esp + 0x50]
movaps xmmword [esp + 0x10], xmm0
jbe 0x10063625
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x14]
comiss xmm0, dword [esp + 0x54]
jbe 0x10063638
movss dword [esp + 0x34], xmm0
movss xmm1, dword [esp + 0x18]
comiss xmm2, xmm1
ja 0x10063649
movss xmm1, dword [esp + 0x38]
movss xmm0, dword [esp + 0x1c]
comiss xmm4, xmm0
ja 0x10063662
jmp 0x1006365c
movss xmm1, dword [esp + 0x38]
movss xmm0, dword [esp + 0x3c]
maxss xmm1, dword [esp + 0x30]
maxss xmm0, dword [esp + 0x34]
mov eax, dword [esi + 0x40]
movss dword [esp + 0x38], xmm1
movss dword [esp + 0x3c], xmm0
cmp edx, eax
jne 0x100636a5
lea ecx, [edx + 1]
test eax, eax
je 0x10063692
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 0x40]
jmp 0x10063697
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x3c]
call fcn.10060fe0
mov eax, dword [esi + 0x3c]
mov ecx, esi
mov edx, dword [esi + 0x44]
add eax, eax
movups xmm0, xmmword [esp + 0x30]
movups xmmword [edx + eax*8], xmm0
inc dword [esi + 0x3c]
call fcn.1005ae30
mov eax, dword [esp + 0xc]
xorps xmm1, xmm1
movss xmm2, dword [eax + 0x1500]
comiss xmm1, xmm2
jbe 0x100636d9
xorps xmm2, xmm2
jmp 0x100636e1
minss xmm2, dword [0x10145040]
movss xmm3, dword [esp + 0x58]
subss xmm3, dword [esp + 0x50]
movss xmm0, dword [0x10144fec]
movss xmm5, dword [esp + 0x24]
mulss xmm2, dword [0x10145264]
push 0
mulss xmm3, xmm0
push ecx
mulss xmm5, xmm0
addss xmm2, xmm0
mov ecx, dword [edi + 0x274]
mov dword [esp], 0
push 0
subss xmm3, xmm5
movss xmm5, dword [esp + 0x34]
push dword [esp + 0x58]
cvttss2si eax, xmm2
mulss xmm5, xmm0
xorps xmm2, xmm2
shl eax, 0x18
addss xmm3, dword [esp + 0x60]
or eax, 0x2d2d2d
push eax
lea eax, [esp + 0x58]
push eax
movss dword [esp + 0x5c], xmm3
movss xmm3, dword [esp + 0x74]
subss xmm3, dword [esp + 0x6c]
push 0
mulss xmm3, xmm0
subss xmm3, xmm5
addss xmm3, dword [esp + 0x70]
movss dword [esp + 0x64], xmm3
call fcn.1005cec0
mov ecx, dword [edi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jg 0x10063790
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
dec eax
mov dword [ecx + 0x3c], eax
call fcn.1005ae30
mov al, byte [esp + 0xb]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret