Function at 0x10087700
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
movss xmm7, dword [0x10155b60]
push edi
mov edi, dword [0x10223950]
movss dword [ebp - 0x24], xmm1
mov eax, dword [edi + 0x19b0]
mov byte [eax + 0x8c], 1
mov eax, dword [edi + 0x19b0]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0xc], eax
movzx eax, al
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm7
cmp dl, 0xcc
jne 0x10087786
mov ebx, edx
shr ebx, 8
cmp bl, dl
jne 0x10087786
mov ecx, edx
shr ecx, 0x10
mov dword [ebp - 4], ecx
cmp cl, dl
jne 0x10087786
cmp byte [ebp - 0xc], 0xff
jne 0x10087786
mov dword [ebp - 8], 0xffcccccc
mov al, byte [ebp - 6]
mov dword [ebp - 0x1c], eax
mov al, byte [ebp - 7]
mov dword [ebp - 0x14], eax
mov al, byte [ebp - 8]
mov dword [ebp - 8], eax
jmp 0x100877ec
movss xmm5, dword [0x10155ecc]
mov eax, edx
shr eax, 0x10
mov ebx, edx
mov dword [ebp - 4], eax
movaps xmm0, xmm5
movzx eax, dl
shr ebx, 8
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
cvttss2si eax, xmm0
movaps xmm0, xmm5
mov dword [ebp - 8], eax
movzx eax, bl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
cvttss2si eax, xmm0
movaps xmm0, xmm5
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
mov ecx, dword [ebp - 4]
cvttss2si eax, xmm0
mov dword [ebp - 0x1c], eax
movss xmm0, dword [ebp + 0xc]
movss xmm6, dword [0x10155eec]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov dword [ebp - 0x28], eax
cmp eax, 0xff
jle 0x10087814
mov edx, dword [ebp + 8]
mov byte [ebp - 0x20], 0xff
jmp 0x10087827
test eax, eax
movzx esi, al
mov dword [ebp + 0xc], 0
cmovs esi, dword [ebp + 0xc]
mov dword [ebp - 0x20], esi
cmp dl, 0x80
jne 0x10087852
cmp bl, dl
jne 0x10087852
cmp cl, dl
jne 0x10087852
cmp byte [ebp - 0xc], 0xff
jne 0x10087852
mov dword [ebp + 0xc], 0xff808080
mov cl, byte [ebp + 0xe]
mov dl, byte [ebp + 0xc]
mov bl, byte [ebp + 0xd]
mov dword [ebp - 0xc], ecx
mov dword [ebp + 0xc], edx
jmp 0x100878a8
movss xmm5, dword [0x10155e94]
movzx eax, dl
movaps xmm0, xmm5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
cvttss2si eax, xmm0
movaps xmm0, xmm5
mov dword [ebp + 0xc], eax
movzx eax, bl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
mov eax, dword [ebp - 4]
movzx eax, al
cvttss2si ebx, xmm0
movd xmm1, eax
movaps xmm0, xmm5
cvtdq2ps xmm1, xmm1
call fcn.10083fc0
cvttss2si eax, xmm0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xff
jle 0x100878b4
or dl, 0xff
jmp 0x100878be
xor ecx, ecx
movzx edx, al
test eax, eax
cmovs edx, ecx
mov eax, dword [ebp - 8]
movzx eax, al
movss xmm4, dword [0x10155c80]
movd xmm2, eax
mov eax, dword [ebp - 0x14]
movzx eax, al
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [ebp - 0x20]
movzx eax, al
cvtdq2ps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm2, xmm7
mulss xmm3, dword [edi + 0x1510]
mulss xmm1, xmm7
mulss xmm0, xmm7
mulss xmm3, xmm7
xorps xmm7, xmm7
comiss xmm7, xmm2
jbe 0x1008791f
xorps xmm2, xmm2
jmp 0x10087923
minss xmm2, xmm4
movss xmm5, dword [0x10155c24]
mulss xmm2, xmm6
addss xmm2, xmm5
cvttss2si ecx, xmm2
shl ecx, 0x10
comiss xmm7, xmm1
jbe 0x10087944
xorps xmm1, xmm1
jmp 0x10087948
minss xmm1, xmm4
mulss xmm1, xmm6
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x10087963
xorps xmm0, xmm0
jmp 0x10087967
minss xmm0, xmm4
mulss xmm0, xmm6
addss xmm0, xmm5
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm3
jbe 0x1008797f
xorps xmm3, xmm3
jmp 0x10087983
minss xmm3, xmm4
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
mulss xmm3, xmm6
xorps xmm0, xmm0
movzx eax, al
movss xmm2, dword [0x10155b60]
addss xmm3, xmm5
cvttss2si esi, xmm3
xorps xmm3, xmm3
cvtsi2ss xmm3, eax
movzx eax, bl
shl esi, 0x18
or esi, ecx
cvtsi2ss xmm1, eax
mov eax, dword [ebp - 0xc]
movzx eax, al
mulss xmm3, xmm2
cvtsi2ss xmm0, eax
movzx eax, dl
comiss xmm7, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm2
xorps xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm2, dword [edi + 0x1510]
mulss xmm2, dword [0x10155b60]
jbe 0x100879f0
xorps xmm3, xmm3
jmp 0x100879f4
minss xmm3, xmm4
mulss xmm3, xmm6
addss xmm3, xmm5
cvttss2si ecx, xmm3
shl ecx, 0x10
comiss xmm7, xmm1
jbe 0x10087a0d
xorps xmm1, xmm1
jmp 0x10087a11
minss xmm1, xmm4
mulss xmm1, xmm6
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm7, xmm0
jbe 0x10087a2c
xorps xmm0, xmm0
jmp 0x10087a30
minss xmm0, xmm4
mulss xmm0, xmm6
addss xmm0, xmm5
cvttss2si eax, xmm0
or ecx, eax
comiss xmm7, xmm2
jbe 0x10087a48
xorps xmm2, xmm2
jmp 0x10087a4c
minss xmm2, xmm4
mov ebx, dword [ebp - 0x2c]
lea eax, [ebp + 0x18]
mulss xmm2, xmm6
push 0xf
push ecx
mov dword [esp], 0x40800000
addss xmm2, xmm5
push esi
push eax
lea eax, [ebp + 0x10]
push eax
cvttss2si edi, xmm2
shl edi, 0x18
or edi, ecx
mov ecx, dword [ebx + 0x284]
call fcn.10023720
movss xmm0, dword [ebp + 0x24]
xor esi, esi
movss xmm6, dword [ebp + 0x14]
movss xmm5, dword [ebp + 0x1c]
addss xmm0, xmm6
comiss xmm5, xmm0
jbe 0x10087c03
movss xmm3, dword [ebp + 0x18]
lea ecx, [esi + 1]
movss xmm4, dword [ebp + 0x10]
nop dword [eax]
comiss xmm6, xmm0
jbe 0x10087abf
movaps xmm7, xmm6
movss dword [ebp + 0xc], xmm6
jmp 0x10087acb
movaps xmm7, xmm5
minss xmm7, xmm0
movss dword [ebp + 0xc], xmm7
movss xmm1, dword [ebp - 0x24]
addss xmm0, xmm1
movss dword [ebp - 0x1c], xmm0
minss xmm0, xmm5
comiss xmm7, xmm0
movss dword [ebp - 0x2c], xmm0
jae 0x10087bf4
movss xmm0, dword [ebp + 0x20]
mov eax, esi
and eax, 1
addss xmm0, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
addss xmm2, xmm0
comiss xmm3, xmm2
movss dword [ebp - 0x20], xmm2
jbe 0x10087bf4
movaps xmm0, xmm1
addss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
comiss xmm4, xmm2
jbe 0x10087b2c
movaps xmm1, xmm4
jmp 0x10087b33
movaps xmm1, xmm3
minss xmm1, xmm2
movaps xmm0, xmm2
addss xmm0, dword [ebp - 0x24]
minss xmm0, xmm3
comiss xmm1, xmm0
jae 0x10087bda
xor eax, eax
comiss xmm6, xmm7
jb 0x10087b5d
comiss xmm4, xmm1
cmovae eax, ecx
comiss xmm0, xmm3
jb 0x10087b5d
or eax, 2
movss xmm6, dword [ebp - 0x2c]
comiss xmm6, xmm5
jb 0x10087b77
comiss xmm4, xmm1
jb 0x10087b6f
or eax, 4
comiss xmm0, xmm3
jb 0x10087b77
or eax, 8
test eax, eax
je 0x10087b85
movss xmm2, dword [0x10155d28]
jmp 0x10087b88
xorps xmm2, xmm2
push eax
push ecx
mov ecx, dword [ebx + 0x284]
lea eax, [ebp - 0x18]
movss dword [esp], xmm2
push edi
push eax
lea eax, [ebp - 0x10]
movss dword [ebp - 0x18], xmm0
push eax
movss dword [ebp - 0x14], xmm6
movss dword [ebp - 0x10], xmm1
movss dword [ebp - 0xc], xmm7
call fcn.10023720
movss xmm5, dword [ebp + 0x1c]
mov ecx, 1
movss xmm3, dword [ebp + 0x18]
movss xmm6, dword [ebp + 0x14]
movss xmm4, dword [ebp + 0x10]
movss xmm2, dword [ebp - 0x20]
movss xmm7, dword [ebp + 0xc]
movss xmm0, dword [ebp - 0x28]
addss xmm0, xmm2
movaps xmm2, xmm0
movss dword [ebp - 0x20], xmm0
comiss xmm3, xmm2
ja 0x10087b22
movss xmm0, dword [ebp - 0x1c]
inc esi
comiss xmm5, xmm0
ja 0x10087ab0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret