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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
push esi
mov eax, ecx
movsd qword [esp + 0x5c], xmm3
push edi
lea ecx, [esp + 0x2c]
movsd qword [esp + 0x40], xmm2
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], eax
push ecx
push dword [ebp + 8]
mov ecx, dword [eax + 0x20]
call fcn.101c7310
movsd xmm0, qword [esp + 0x60]
sub esp, 8
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x58], xmm0
movaps xmm0, xmm1
addsd xmm0, qword [0x10588a80]
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x28], 0xffffffff
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fstp qword [esp]
call sub.MSVCR120.dll_floor
movsd xmm0, qword [esp + 0x68]
addsd xmm0, qword [0x10588a80]
fstp qword [esp + 0x38]
cvttsd2si eax, qword [esp + 0x38]
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
mov dword [esp + 0x44], eax
call sub.MSVCR120.dll_floor
fstp qword [esp + 0x20]
cvttsd2si edx, qword [esp + 0x20]
xor al, al
mov dword [esp + 0x1c], 0
add esp, 8
mov byte [esp + 0x13], al
or esi, 0xffffffff
cmp dword [esp + 0x24], 0
mov dword [esp + 0x5c], edx
jle 0x101c7821
mov edi, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x40]
add edi, 8
lea ecx, [ecx]
mov ecx, dword [edi - 8]
test ecx, ecx
jne 0x101c75df
cmp dword [edi], ecx
je 0x101c76ac
test al, al
je 0x101c761b
cvttsd2si eax, qword [esp + 0x30]
cmp eax, ecx
jl 0x101c76a8
mov eax, dword [edi]
add eax, ecx
cvttsd2si ecx, qword [esp + 0x30]
cmp ecx, eax
jg 0x101c76a8
mov ecx, dword [edi - 4]
cmp edx, ecx
jl 0x101c76a8
mov eax, dword [edi + 4]
add eax, ecx
cmp edx, eax
jg 0x101c76a8
cvttsd2si ecx, qword [esp + 0x60]
mov eax, dword [edi + 4]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [edi]
sub ecx, dword [edi - 4]
mov dword [esp + 0x40], ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
cvttsd2si ecx, xmm0
sar eax, 1
imul edx, edx
sub ecx, eax
mov eax, dword [edi - 8]
sub ecx, eax
imul ecx, ecx
add edx, ecx
cmp edx, dword [esp + 0x20]
jae 0x101c765e
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], edx
cmp byte [esp + 0x13], 0
jne 0x101c76a2
cmp dword [esp + 0x3c], eax
jl 0x101c76a2
add eax, dword [edi]
cmp dword [esp + 0x3c], eax
jg 0x101c76a2
cvttsd2si eax, qword [esp + 0x18]
cmp eax, dword [edi - 4]
jl 0x101c76a2
mov eax, dword [edi - 4]
add eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x5c], eax
jg 0x101c76a2
mov al, 1
mov dword [esp + 0x20], edx
cvttsd2si edx, qword [esp + 0x18]
mov byte [esp + 0x13], al
mov esi, ecx
jmp 0x101c76ac
cvttsd2si edx, qword [esp + 0x18]
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x14]
add edi, 0x10
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x24]
jl 0x101c75d0
cmp esi, 0xffffffff
je 0x101c7821
mov edi, dword [esp + 0x2c]
mov eax, esi
shl eax, 4
add eax, edi
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
movd xmm0, dword [eax + 4]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x68], xmm0
movd xmm0, dword [eax + 8]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
movd xmm0, dword [eax + 0xc]
mov eax, dword [esp + 0x28]
cvtdq2pd xmm0, xmm0
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 4]
movsd qword [esp + 0x78], xmm0
test ecx, ecx
jne 0x101c7736
xorps xmm0, xmm0
movupd xmmword [esp + 0x80], xmm0
movupd xmmword [esp + 0x90], xmm0
jmp 0x101c776f
movdqu xmm0, xmmword [esp + 0x60]
mov edx, dword [ecx]
push 0
push 0
push ecx
mov dword [esp], 0x3f800000
push dword [ebp + 8]
sub esp, 0x20
mov eax, esp
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [esp + 0xa0]
movdqu xmmword [eax + 0x10], xmm0
lea eax, [esp + 0xb0]
push eax
call dword [edx + 0x20]
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [esp + 0x48]
mov eax, dword [eax + 0x1c]
movaps xmmword [esp + 0x60], xmm0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x101c778c
xorps xmm1, xmm1
jmp 0x101c77ba
movdqu xmm0, xmmword [esp + 0x60]
mov edx, dword [ecx]
push 0
push 0
push ecx
mov dword [esp], 0x3f800000
push dword [ebp + 8]
sub esp, 0x10
mov eax, esp
movdqu xmmword [eax], xmm0
lea eax, [esp + 0x68]
push eax
call dword [edx + 0x24]
movsd xmm1, qword [esp + 0x48]
movsd xmm0, qword [esp + 0x90]
mulsd xmm0, qword [0x10588a80]
addsd xmm0, qword [esp + 0x80]
comisd xmm1, xmm0
jbe 0x101c7817
mov edx, dword [esp + 0x24]
inc esi
cmp esi, edx
jge 0x101c7817
mov eax, esi
lea ecx, [edi - 8]
shl eax, 4
add ecx, eax
lea ecx, [ecx]
mov eax, dword [ecx - 8]
cmp eax, dword [ecx + 8]
jne 0x101c7817
mov eax, dword [ecx - 4]
cmp eax, dword [ecx + 0xc]
jne 0x101c7817
mov eax, dword [ecx]
cmp eax, dword [ecx + 0x10]
jne 0x101c7817
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 0x14]
jne 0x101c7817
inc esi
add ecx, 0x10
cmp esi, edx
jl 0x101c77f0
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 4