Function at 0x100952d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x2b4
mov eax, dword [0x102d94c0]
xor eax, esp
mov dword [esp + 0x2b0], eax
mov eax, dword [ebp + 8]
mov ecx, 4
push ebx
push esi
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x24], eax
movsd xmm5, qword [esi + 8]
lea eax, [esi + 0x18]
push edi
movaps xmm6, xmm5
nop
lea eax, [eax + 0x40]
minsd xmm6, qword [eax - 0x50]
maxsd xmm5, qword [eax - 0x50]
minsd xmm6, qword [eax - 0x40]
maxsd xmm5, qword [eax - 0x40]
minsd xmm6, qword [eax - 0x30]
maxsd xmm5, qword [eax - 0x30]
minsd xmm6, qword [eax - 0x20]
maxsd xmm5, qword [eax - 0x20]
sub ecx, 1
jne 0x10095310
mov edi, dword [ebp + 0x10]
xorps xmm4, xmm4
comisd xmm6, xmm4
movd xmm0, edi
cvtdq2pd xmm0, xmm0
jb 0x1009535f
comisd xmm0, xmm5
jb 0x1009535f
or edx, 0xffffffff
jmp 0x10095378
comisd xmm6, xmm0
jae 0x10095aff
comisd xmm4, xmm5
jae 0x10095aff
mov edx, 1
movsd xmm5, qword [esi]
xor eax, eax
movaps xmm6, xmm5
nop dword [eax]
nop word [eax + eax]
minsd xmm6, qword [eax + esi]
maxsd xmm5, qword [eax + esi]
minsd xmm6, qword [eax + esi + 0x10]
maxsd xmm5, qword [eax + esi + 0x10]
minsd xmm6, qword [eax + esi + 0x20]
maxsd xmm5, qword [eax + esi + 0x20]
minsd xmm6, qword [eax + esi + 0x30]
maxsd xmm5, qword [eax + esi + 0x30]
add eax, 0x40
cmp eax, 0x100
jl 0x10095390
comisd xmm6, xmm4
mov ebx, dword [ebp + 0xc]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
jb 0x100953e4
comisd xmm0, xmm5
jb 0x100953e4
or eax, 0xffffffff
jmp 0x100953f9
comisd xmm6, xmm0
jae 0x100953f7
comisd xmm4, xmm5
jae 0x100953f7
mov eax, 1
jmp 0x100953f9
xor eax, eax
and edx, eax
je 0x10095aff
lea eax, [esi + 0x38]
mov ecx, 4
nop dword [eax]
movsd xmm0, qword [eax - 0x38]
movsd xmm2, qword [eax - 0x30]
movsd xmm7, qword [eax - 0x28]
movaps xmm6, xmm2
movsd xmm1, qword [eax - 0x20]
movsd xmm3, qword [eax - 0x10]
subsd xmm6, xmm1
subsd xmm3, qword [eax]
movsd qword [esp + 0x30], xmm0
subsd xmm0, xmm7
mulsd xmm6, xmm6
mulsd xmm0, xmm0
mulsd xmm3, xmm3
addsd xmm6, xmm0
movsd xmm0, qword [eax - 0x18]
subsd xmm0, qword [eax - 8]
movaps xmm5, xmm6
mulsd xmm0, xmm0
addsd xmm3, xmm0
comisd xmm5, xmm3
ja 0x1009546c
movaps xmm5, xmm3
movsd xmm0, qword [esp + 0x30]
subsd xmm2, qword [eax - 0x10]
subsd xmm0, qword [eax - 0x18]
mulsd xmm2, xmm2
mulsd xmm0, xmm0
addsd xmm2, xmm0
movsd xmm0, qword [0x10235428]
mulsd xmm2, xmm0
comisd xmm5, xmm2
ja 0x1009549d
movaps xmm5, xmm2
subsd xmm1, qword [eax]
subsd xmm7, qword [eax - 8]
mulsd xmm1, xmm1
mulsd xmm7, xmm7
addsd xmm1, xmm7
mulsd xmm1, xmm0
comisd xmm5, xmm1
ja 0x100954bf
movaps xmm5, xmm1
movsd xmm0, qword [0x10235c20]
mulsd xmm5, xmm0
comisd xmm4, xmm5
ja 0x100954f3
movaps xmm4, xmm6
comisd xmm4, xmm3
ja 0x100954dd
movaps xmm4, xmm3
comisd xmm4, xmm2
ja 0x100954e6
movaps xmm4, xmm2
comisd xmm4, xmm1
ja 0x100954ef
movaps xmm4, xmm1
mulsd xmm4, xmm0
add eax, 0x40
sub ecx, 1
jne 0x10095410
cmp edx, 0xffffffff
jne 0x1009550e
movsd xmm0, qword [0x10235c48]
jmp 0x10095516
movsd xmm0, qword [0x10236b98]
comisd xmm4, xmm0
jb 0x10095ac1
movsd xmm5, qword [0x102c6208]
movsd xmm4, qword [esi]
movsd xmm3, qword [esi + 0x20]
movsd xmm1, qword [esi + 0x30]
movsd xmm2, qword [esi + 0x10]
addsd xmm2, xmm3
movsd qword [esp + 0x38], xmm4
addsd xmm4, qword [esi + 0x10]
addsd xmm3, xmm1
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esi + 0x38]
movsd qword [esp + 0x170], xmm1
mulsd xmm2, xmm5
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x48], xmm4
addsd xmm4, xmm2
movsd qword [esp + 0x158], xmm3
addsd xmm3, xmm2
movsd xmm2, qword [esi + 0x18]
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x58], xmm4
addsd xmm4, xmm3
movsd qword [esp + 0x148], xmm3
movsd xmm3, qword [esi + 0x28]
addsd xmm2, xmm3
addsd xmm3, xmm1
movsd xmm1, qword [esi + 0x70]
movsd qword [esp + 0x1a8], xmm1
mulsd xmm4, xmm5
mulsd xmm2, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x138], xmm4
movsd qword [esp + 0x68], xmm4
movsd xmm4, qword [esi + 8]
movsd qword [esp + 0x40], xmm4
addsd xmm4, qword [esi + 0x18]
movsd qword [esp + 0x160], xmm3
addsd xmm3, xmm2
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x50], xmm4
addsd xmm4, xmm2
movsd xmm2, qword [esi + 0x50]
movsd qword [esp + 0x150], xmm3
mulsd xmm4, xmm5
addsd xmm3, xmm4
movsd qword [esp + 0x60], xmm4
movsd xmm4, qword [esi + 0x40]
movsd qword [esp + 0x78], xmm4
addsd xmm4, qword [esi + 0x50]
mulsd xmm3, xmm5
mulsd xmm4, xmm5
movsd qword [esp + 0x140], xmm3
movsd qword [esp + 0x70], xmm3
movsd xmm3, qword [esi + 0x60]
addsd xmm2, xmm3
movsd qword [esp + 0x88], xmm4
addsd xmm3, xmm1
movsd xmm1, qword [esi + 0x78]
movsd qword [esp + 0x1b0], xmm1
mulsd xmm2, xmm5
mulsd xmm3, xmm5
addsd xmm4, xmm2
movsd qword [esp + 0x198], xmm3
addsd xmm3, xmm2
movsd xmm2, qword [esi + 0x58]
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x98], xmm4
addsd xmm4, xmm3
movsd qword [esp + 0x188], xmm3
movsd xmm3, qword [esi + 0x48]
movsd qword [esp + 0x80], xmm3
mulsd xmm4, xmm5
movsd qword [esp + 0x178], xmm4
movsd qword [esp + 0xa8], xmm4
movsd xmm4, qword [esi + 0x68]
addsd xmm2, xmm4
mulsd xmm2, xmm5
addsd xmm3, qword [esi + 0x58]
addsd xmm4, xmm1
movsd xmm0, qword [esi + 0x90]
movsd xmm1, qword [esi + 0xb0]
movsd qword [esp + 0x1e8], xmm1
mulsd xmm3, xmm5
mulsd xmm4, xmm5
movsd qword [esp + 0x90], xmm3
addsd xmm3, xmm2
movsd qword [esp + 0x1a0], xmm4
addsd xmm4, xmm2
movaps xmm2, xmm0
mulsd xmm3, xmm5
mulsd xmm4, xmm5
movsd qword [esp + 0xa0], xmm3
movsd qword [esp + 0x190], xmm4
addsd xmm4, xmm3
movsd xmm3, qword [esi + 0xa0]
addsd xmm2, xmm3
addsd xmm3, xmm1
movsd xmm1, qword [esi + 0xb8]
movsd qword [esp + 0x1f0], xmm1
mulsd xmm4, xmm5
mulsd xmm2, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x180], xmm4
movsd qword [esp + 0xb0], xmm4
movsd xmm4, qword [esi + 0x80]
movsd qword [esp + 0xb8], xmm4
addsd xmm4, xmm0
movsd xmm0, qword [esi + 0x98]
movsd qword [esp + 0x1d8], xmm3
addsd xmm3, xmm2
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0xc8], xmm4
addsd xmm4, xmm2
movaps xmm2, xmm0
movsd qword [esp + 0x1c8], xmm3
mulsd xmm4, xmm5
movsd qword [esp + 0xd8], xmm4
addsd xmm4, xmm3
movsd xmm3, qword [esi + 0x88]
movsd qword [esp + 0xc0], xmm3
addsd xmm3, xmm0
movsd xmm0, qword [esi + 0xd0]
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x1b8], xmm4
movsd qword [esp + 0xe8], xmm4
movsd xmm4, qword [esi + 0xa8]
addsd xmm2, xmm4
movsd qword [esp + 0xd0], xmm3
addsd xmm4, xmm1
movsd xmm1, qword [esi + 0xf0]
movsd qword [esp + 0x228], xmm1
mulsd xmm2, xmm5
mulsd xmm4, xmm5
addsd xmm3, xmm2
movsd qword [esp + 0x1e0], xmm4
addsd xmm4, xmm2
movaps xmm2, xmm0
mulsd xmm3, xmm5
mulsd xmm4, xmm5
movsd qword [esp + 0xe0], xmm3
movsd qword [esp + 0x1d0], xmm4
addsd xmm4, xmm3
movsd xmm3, qword [esi + 0xe0]
addsd xmm2, xmm3
addsd xmm3, xmm1
mulsd xmm4, xmm5
mulsd xmm2, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x1c0], xmm4
movsd qword [esp + 0xf0], xmm4
movsd xmm4, qword [esi + 0xc0]
movsd qword [esp + 0xf8], xmm4
addsd xmm4, xmm0
movsd qword [esp + 0x218], xmm3
mulsd xmm4, xmm5
movsd qword [esp + 0x108], xmm4
addsd xmm4, xmm2
movsd xmm0, qword [esi + 0xd8]
movsd xmm1, qword [esi + 0xf8]
addsd xmm3, xmm2
mov edi, dword [esp + 0x28]
lea edx, [esp + 0x238]
movaps xmm2, xmm0
movsd qword [esp + 0x230], xmm1
sub edx, edi
xor ecx, ecx
mulsd xmm4, xmm5
lea eax, [edi + 0x20]
mulsd xmm3, xmm5
movsd qword [esp + 0x118], xmm4
addsd xmm4, xmm3
movsd qword [esp + 0x208], xmm3
movsd xmm3, qword [esi + 0xc8]
movsd qword [esp + 0x100], xmm3
addsd xmm3, xmm0
mulsd xmm4, xmm5
mulsd xmm3, xmm5
movsd qword [esp + 0x1f8], xmm4
movsd qword [esp + 0x128], xmm4
movsd xmm4, qword [esi + 0xe8]
lea esi, [esp + 0x258]
addsd xmm2, xmm4
movsd qword [esp + 0x110], xmm3
addsd xmm4, xmm1
sub esi, edi
lea edi, [esp + 0x278]
sub edi, dword [esp + 0x28]
mulsd xmm2, xmm5
mulsd xmm4, xmm5
addsd xmm3, xmm2
movsd qword [esp + 0x220], xmm4
addsd xmm4, xmm2
mulsd xmm3, xmm5
mulsd xmm4, xmm5
movsd qword [esp + 0x120], xmm3
movsd qword [esp + 0x210], xmm4
addsd xmm4, xmm3
mulsd xmm4, xmm5
movsd qword [esp + 0x200], xmm4
movsd qword [esp + 0x130], xmm4
movsd xmm0, qword [eax - 0x20]
movsd xmm1, qword [eax]
movsd qword [esp + ecx*8 + 0x238], xmm0
inc ecx
addsd xmm0, qword [eax + 0x20]
movsd qword [edx + eax], xmm1
addsd xmm1, qword [eax + 0x40]
mulsd xmm0, xmm5
mulsd xmm1, xmm5
movsd qword [esi + eax], xmm0
movsd qword [edi + eax], xmm1
add eax, 8
cmp ecx, 4
jl 0x100959d2
mov edi, dword [ebp + 0x14]
lea eax, [esp + 0x238]
mov esi, dword [ebp + 0x10]
push eax
lea eax, [esp + 0x3c]
push eax
push edi
push esi
push ebx
push dword [esp + 0x40]
call fcn.100952d0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x270]
add esp, 0x18
lea esi, [esp + 0x298]
xor eax, eax
add ecx, 0x60
nop word [eax + eax]
movsd xmm0, qword [esp + eax*8 + 0x278]
lea ecx, [ecx + 8]
movsd qword [edx + eax*8 - 0x20], xmm0
movsd xmm0, qword [esi + eax*8]
movsd qword [edx + eax*8], xmm0
movsd xmm0, qword [ecx - 0x28]
movsd qword [esp + eax*8 + 0x278], xmm0
movsd xmm0, qword [ecx - 8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, 4
jl 0x10095a50
mov esi, dword [ebp + 0x10]
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x13c]
push eax
push edi
push esi
push ebx
push dword [esp + 0x40]
call fcn.100952d0
add esp, 0x18
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2b0]
xor ecx, esp
call fcn.101f469d
mov esp, ebp
pop ebp
ret
movsd xmm0, qword [0x102c6248]
lea eax, [esp + 0x30]
push eax
maxsd xmm0, xmm4
sub esp, 8
movsd qword [esp], xmm0
call fcn.102069ed
push dword [esp + 0x34]
mov eax, dword [esp + 0x40]
fstp st(0)
push esi
inc eax
sar eax, 1
push eax
push dword [ebp + 0x14]
push edi
push ebx
push dword [esp + 0x50]
call fcn.10095ee0
add esp, 0x28
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101f469d
mov esp, ebp
pop ebp
ret