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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xf4
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0xc8], eax
mov dword [esp + 0x5c], 0
push 0x10
inc dword [0x10210a54]
push edi
call fcn.101beb7a
add esp, 8
mov dword [esp + 0xcc], eax
cmp dword [ebp + 0x18], 0
je 0x100aa0a5
push 0x20
push edi
call fcn.101beb7a
add esp, 8
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x100aa0bc
push 0x20
push edi
call fcn.101beb7a
mov edx, dword [ebp + 0x20]
add esp, 8
mov dword [edx], eax
cmp dword [esp + 0xc8], 0
je 0x100aa0d3
mov eax, dword [esp + 0xc8]
mov dword [eax], 0
test esi, esi
je 0x100aa0dd
mov dword [esi], 0
mov eax, dword [ebp + 0x10]
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
test edi, edi
jle 0x100aad58
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xd0], esi
xor ebx, ebx
xor eax, eax
lea ecx, [ecx + 0x10]
mov dword [esp + 0xd8], ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsd xmm5, qword [edx + 0x10]
lea esi, [eax + 1]
xor edi, edi
cmp esi, dword [ebp + 0xc]
mov dword [esp + 0xd4], esi
cmovne edi, esi
mov esi, eax
shl esi, 4
movsd xmm3, qword [ecx + esi]
shl edi, 4
add edi, ecx
movsd xmm6, qword [edi]
comisd xmm3, xmm6
jbe 0x100aa1a4
comisd xmm5, xmm1
jbe 0x100aa176
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm3
comisd xmm1, xmm0
ja 0x100aa316
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm5
comisd xmm6, xmm0
ja 0x100aa316
jmp 0x100aa204
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm3
comisd xmm5, xmm0
ja 0x100aa316
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm1
comisd xmm6, xmm0
ja 0x100aa316
jmp 0x100aa204
comisd xmm5, xmm1
jbe 0x100aa1d8
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm6
comisd xmm1, xmm0
ja 0x100aa316
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm5
comisd xmm3, xmm0
ja 0x100aa316
jmp 0x100aa204
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm6
comisd xmm5, xmm0
ja 0x100aa316
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, xmm1
comisd xmm3, xmm0
ja 0x100aa316
mov edx, dword [ebp + 8]
movsd xmm7, qword [edi + 8]
movsd qword [esp + 0x78], xmm7
lea ecx, [edx + esi]
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [ecx + 8]
movsd xmm4, qword [edx + 0x18]
movsd qword [esp + 0x88], xmm0
comisd xmm0, xmm7
mov dword [esp + 0x44], ecx
jbe 0x100aa2b0
comisd xmm4, xmm2
jbe 0x100aa27b
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, qword [esp + 0x88]
comisd xmm2, xmm0
ja 0x100aa316
movsd xmm7, qword [0x101e5ca8]
movsd xmm0, qword [esp + 0x78]
addsd xmm7, xmm4
comisd xmm0, xmm7
ja 0x100aa316
jmp 0x100aa325
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, qword [esp + 0x88]
comisd xmm4, xmm0
ja 0x100aa316
movsd xmm7, qword [0x101e5ca8]
movsd xmm0, qword [esp + 0x78]
addsd xmm7, xmm2
comisd xmm0, xmm7
ja 0x100aa316
jmp 0x100aa325
comisd xmm4, xmm2
jbe 0x100aa2e7
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, qword [esp + 0x78]
comisd xmm2, xmm0
ja 0x100aa316
movsd xmm7, qword [0x101e5ca8]
movsd xmm0, qword [esp + 0x88]
addsd xmm7, xmm4
comisd xmm0, xmm7
ja 0x100aa316
jmp 0x100aa325
movsd xmm0, qword [0x101e5ca8]
addsd xmm0, qword [esp + 0x78]
comisd xmm4, xmm0
ja 0x100aa316
movsd xmm7, qword [0x101e5ca8]
movsd xmm0, qword [esp + 0x88]
addsd xmm7, xmm2
comisd xmm0, xmm7
jbe 0x100aa325
cmp dword [ebp + 0x14], 1
je 0x100aae90
jmp 0x100aaad8
movsd qword [esp + 0xb8], xmm3
movsd qword [esp + 0xc0], xmm6
subsd xmm6, xmm3
movsd xmm3, qword [esp + 0x78]
subsd xmm3, qword [esp + 0x88]
movsd qword [esp + 0x98], xmm6
movsd qword [esp + 0x90], xmm3
movaps xmm0, xmm6
movaps xmm7, xmm3
mulsd xmm6, xmm6
mulsd xmm3, xmm3
subsd xmm5, xmm1
mulsd xmm7, xmm5
subsd xmm4, xmm2
mulsd xmm0, xmm4
addsd xmm6, xmm3
movaps xmm3, xmm5
mulsd xmm3, xmm5
subsd xmm0, xmm7
movsd qword [esp + 0x80], xmm0
movaps xmm7, xmm4
mulsd xmm7, xmm4
addsd xmm3, xmm7
sqrtsd xmm6, xmm6
sqrtsd xmm7, xmm3
pxor xmm3, xmm3
ucomisd xmm6, xmm3
movsd xmm3, qword [0x101e5cb0]
jne 0x100aa3bc
jp 0x100aa3bc
movaps xmm6, xmm3
movsd qword [esp + 0xa8], xmm6
pxor xmm3, xmm3
ucomisd xmm7, xmm3
movsd xmm3, qword [0x101e5cb0]
jne 0x100aa3dc
jp 0x100aa3dc
movaps xmm7, xmm3
movsd xmm3, qword [0x1020c128]
movsd qword [esp + 0xb0], xmm7
movsd qword [esp + 0xa0], xmm3
mulsd xmm6, xmm7
divsd xmm0, xmm6
comisd xmm3, xmm0
movsd xmm6, qword [esp + 0xc0]
movsd xmm3, qword [esp + 0xb8]
jbe 0x100aa5de
pxor xmm7, xmm7
subsd xmm7, qword [esp + 0xa0]
comisd xmm0, xmm7
jbe 0x100aa5de
mov ecx, dword [ebp + 8]
mov dword [esp + 0x58], 3
movsd xmm0, qword [ecx + esi]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [ecx + esi + 8]
mov ecx, dword [ebp + 0x10]
movsd qword [eax + 8], xmm1
movsd xmm2, qword [ecx]
lea edx, [esp + 0x10]
movsd qword [edx], xmm2
movsd xmm3, qword [ecx + 8]
movsd qword [edx + 8], xmm3
lea eax, [esp + 0x20]
movsd xmm4, qword [ecx + 0x10]
movsd qword [eax], xmm4
movsd xmm5, qword [ecx + 0x18]
movsd qword [eax + 8], xmm5
xor eax, eax
xor edx, edx
call fcn.100ab8f8
fstp st(0)
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [edi]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + 8]
movsd qword [ecx + 8], xmm1
lea eax, [esp + 0x10]
movsd xmm2, qword [edx]
movsd qword [eax], xmm2
movsd xmm3, qword [edx + 8]
movsd qword [eax + 8], xmm3
lea ecx, [esp + 0x20]
movsd xmm4, qword [edx + 0x10]
movsd qword [ecx], xmm4
movsd xmm5, qword [edx + 0x18]
movsd qword [ecx + 8], xmm5
xor eax, eax
xor edx, edx
call fcn.100ab8f8
fstp st(0)
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
movsd xmm0, qword [ecx]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edx + esi]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + esi + 8]
movsd qword [ecx + 8], xmm3
lea eax, [esp + 0x20]
movsd xmm4, qword [edi]
movsd qword [eax], xmm4
movsd xmm5, qword [edi + 8]
movsd qword [eax + 8], xmm5
xor eax, eax
xor edx, edx
call fcn.100ab8f8
fstp st(0)
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
movsd xmm0, qword [ecx + 0x10]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [ecx + 0x18]
movsd qword [eax + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edx + esi]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + esi + 8]
movsd qword [ecx + 8], xmm3
lea esi, [esp + 0x20]
movsd xmm4, qword [edi]
movsd qword [esi], xmm4
movsd xmm5, qword [edi + 8]
movsd qword [esi + 8], xmm5
xor eax, eax
xor edx, edx
call fcn.100ab8f8
fstp st(0)
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x10], 9
mov edx, edi
lea esi, [esp + 0x58]
mov dword [esp + 0xc], esi
call fcn.100aba2c
cmp dword [esp + 0x58], 0
je 0x100aaa3e
mov eax, dword [esp + 0xcc]
mov ecx, dword [ebp + 0x10]
movsd xmm0, qword [edi]
mov edx, ebx
shl edx, 4
movsd qword [eax + edx], xmm0
movsd xmm1, qword [edi + 8]
movsd qword [eax + edx + 8], xmm1
inc ebx
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
jmp 0x100aaad8
movsd xmm7, qword [esp + 0x98]
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x68], xmm1
movsd qword [esp + 0x70], xmm2
subsd xmm2, qword [esp + 0x88]
movsd qword [esp + 0xc0], xmm6
movaps xmm6, xmm7
mulsd xmm5, xmm2
mulsd xmm6, xmm2
movsd xmm2, qword [0x101e5cc0]
subsd xmm1, xmm3
mulsd xmm0, xmm1
mulsd xmm4, xmm1
subsd xmm6, xmm0
pxor xmm0, xmm0
subsd xmm0, xmm6
movsd xmm6, qword [esp + 0x80]
divsd xmm0, xmm6
subsd xmm5, xmm4
movsd xmm4, qword [esp + 0x90]
pxor xmm1, xmm1
subsd xmm1, xmm5
divsd xmm1, xmm6
movsd xmm5, qword [esp + 0xa0]
movsd xmm6, qword [esp + 0xc0]
movsd qword [esp + 0x60], xmm1
mulsd xmm7, xmm1
mulsd xmm4, xmm1
addsd xmm4, qword [esp + 0x88]
movsd qword [esp + 0x90], xmm4
movaps xmm4, xmm5
divsd xmm5, qword [esp + 0xb0]
divsd xmm4, qword [esp + 0xa8]
addsd xmm7, xmm3
movsd qword [esp + 0x98], xmm7
addsd xmm2, xmm4
comisd xmm1, xmm2
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
ja 0x100aa6d9
pxor xmm7, xmm7
subsd xmm7, xmm4
comisd xmm7, xmmword [esp + 0x60]
jbe 0x100aa6f8
movsd xmm7, qword [0x101e5cc0]
mov ecx, 1
xor edx, edx
addsd xmm7, xmm5
comisd xmm0, xmm7
ja 0x100aa7a5
jmp 0x100aa749
movsd xmm7, qword [0x101e5cc0]
subsd xmm7, xmm4
comisd xmm7, xmmword [esp + 0x60]
jbe 0x100aa733
movsd xmm7, qword [esp + 0x60]
comisd xmm7, xmm4
jbe 0x100aa733
movsd xmm7, qword [0x101e5cc0]
xor ecx, ecx
mov edx, 1
addsd xmm7, xmm5
comisd xmm0, xmm7
ja 0x100aa75b
jmp 0x100aa749
movsd xmm7, qword [0x101e5cc0]
xor ecx, ecx
xor edx, edx
addsd xmm7, xmm5
comisd xmm0, xmm7
ja 0x100aa75b
pxor xmm7, xmm7
subsd xmm7, xmm5
comisd xmm7, xmm0
jbe 0x100aa76c
test ecx, ecx
jne 0x100aa7a5
mov dword [esp + 0x38], 1
test edx, edx
jne 0x100aa7a5
jmp 0x100aa893
movsd xmm7, qword [0x101e5cc0]
subsd xmm7, xmm5
comisd xmm7, xmm0
jbe 0x100aa875
comisd xmm0, xmm5
jbe 0x100aa875
test edx, edx
je 0x100aa79d
mov dword [esp + 0x58], 2
jmp 0x100aaaa2
test ecx, ecx
je 0x100aa862
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x48], xmm1
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x48]
mov edx, esp
mov dword [edx], ecx
mov eax, dword [esp + 0x4c]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc], eax
mov edx, dword [ebp + 8]
movsd xmm0, qword [edx + esi]
lea eax, [esp + 0x10]
movsd qword [eax], xmm0
movsd xmm1, qword [edx + esi + 8]
movsd qword [eax + 8], xmm1
lea eax, [esp + 0x58]
movsd xmm2, qword [edi]
lea esi, [esp + 0x20]
movsd qword [esi], xmm2
movsd xmm3, qword [edi + 8]
movsd qword [esi + 8], xmm3
call fcn.100ab704
cmp dword [esp + 0x58], 1
jne 0x100aaa3e
movsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0xcc]
movsd xmm1, qword [esp + 0x50]
mov ecx, dword [ebp + 0x10]
mov edx, ebx
shl edx, 4
movsd qword [eax + edx], xmm0
movsd qword [eax + edx + 8], xmm1
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
inc ebx
jmp 0x100aaad8
mov dword [esp + 0x38], 0
mov esi, 1
test edx, edx
je 0x100aa89a
jmp 0x100aa885
mov dword [esp + 0x38], 0
test ecx, ecx
je 0x100aa889
xor esi, esi
test edx, edx
xor ecx, ecx
jmp 0x100aa8c2
xor esi, esi
test edx, edx
je 0x100aa893
je 0x100aa89a
jmp 0x100aa885
mov esi, 0
jne 0x100aa885
comisd xmm4, xmmword [esp + 0x60]
jb 0x100aa8bd
pxor xmm7, xmm7
subsd xmm7, xmm4
movsd xmm4, qword [esp + 0x60]
comisd xmm4, xmm7
jb 0x100aa8bd
mov ecx, 1
jmp 0x100aa8c2
mov ecx, 2
test esi, esi
jne 0x100aa914
cmp dword [esp + 0x38], 0
jne 0x100aa905
comisd xmm5, xmm0
jb 0x100aa8f3
pxor xmm4, xmm4
subsd xmm4, xmm5
comisd xmm0, xmm4
jb 0x100aa8f3
or ecx, 4
test cl, 1
je 0x100aa923
mov dword [esp + 0x58], 1
jmp 0x100aa965
or ecx, 8
test cl, 1
je 0x100aa923
mov dword [esp + 0x58], 1
jmp 0x100aa965
test cl, 1
je 0x100aa923
mov dword [esp + 0x58], 1
jmp 0x100aa965
test cl, 1
je 0x100aa923
mov dword [esp + 0x58], 1
jmp 0x100aa965
test cl, 2
je 0x100aa932
mov dword [esp + 0x58], 1
jmp 0x100aa965
test cl, 4
je 0x100aa94f
test edx, edx
je 0x100aa8e9
cmp dword [ebp + 0x14], 1
je 0x100aa790
mov dword [esp + 0x58], 1
jmp 0x100aa965
test edx, edx
je 0x100aa8e9
cmp dword [ebp + 0x14], 1
je 0x100aa790
mov dword [esp + 0x58], 1
movsd xmm0, qword [esp + 0x98]
subsd xmm0, xmm3
movsd xmm3, qword [esp + 0xa0]
comisd xmm3, xmm0
jbe 0x100aaa4f
pxor xmm4, xmm4
subsd xmm4, qword [esp + 0xa0]
comisd xmm0, xmm4
jbe 0x100aaa4f
movsd xmm0, qword [esp + 0x90]
subsd xmm0, qword [esp + 0x88]
movsd xmm3, qword [esp + 0xa0]
comisd xmm3, xmm0
jbe 0x100aaa4f
comisd xmm0, xmm4
jbe 0x100aaa4f
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xc], 9
lea eax, [eax + esi - 1]
cdq
idiv esi
mov eax, dword [ebp + 0x10]
lea edi, [esp + 0x40]
mov dword [esp + 0x10], edi
mov ecx, edx
shl ecx, 4
add ecx, dword [ebp + 8]
mov edx, dword [esp + 0xd8]
call fcn.100ab85c
mov eax, dword [esp + 0xd4]
mov esi, dword [ebp + 0xc]
cdq
idiv esi
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], 9
lea edi, [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x10], edi
shl ecx, 4
add ecx, dword [ebp + 8]
call fcn.100ab85c
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x3c]
je 0x100aaec0
mov eax, dword [ebp + 0x10]
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
jmp 0x100aaad8
movsd xmm0, qword [esp + 0x98]
movsd xmm3, qword [esp + 0xa0]
subsd xmm0, xmm6
comisd xmm3, xmm0
jbe 0x100aaad8
pxor xmm4, xmm4
subsd xmm4, qword [esp + 0xa0]
comisd xmm0, xmm4
jbe 0x100aaad8
movsd xmm0, qword [esp + 0x90]
subsd xmm0, qword [esp + 0x78]
movsd xmm3, qword [esp + 0xa0]
comisd xmm3, xmm0
jbe 0x100aaad8
comisd xmm0, xmm4
jbe 0x100aaad8
mov eax, dword [esp + 0xcc]
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
mov ecx, dword [ebp + 0x10]
mov edx, ebx
shl edx, 4
movsd qword [eax + edx], xmm0
movsd qword [eax + edx + 8], xmm1
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
inc ebx
mov eax, dword [esp + 0xd4]
cmp eax, dword [ebp + 0xc]
jl 0x100aa109
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
test ebx, ebx
je 0x100aad58
movaps xmm0, xmm1
movaps xmm3, xmm2
mov eax, dword [ebp + 0x10]
movsd xmm4, qword [eax + 0x10]
movsd xmm5, qword [eax + 0x18]
subsd xmm0, xmm4
andps xmm0, xmmword [0x101e5bd0]
subsd xmm3, xmm5
andps xmm3, xmmword [0x101e5bd0]
comisd xmm0, xmm3
jbe 0x100aab5e
comisd xmm4, xmm1
jbe 0x100aab48
push fcn.100a9f10
push 0x10
push ebx
push dword [esp + 0xd8]
call fcn.101bec80
jmp 0x100aab8e
push fcn.100a9fb0
push 0x10
push ebx
push dword [esp + 0xd8]
call fcn.101bec80
jmp 0x100aab8e
comisd xmm5, xmm2
jbe 0x100aab7a
push fcn.100a9f60
push 0x10
push ebx
push dword [esp + 0xd8]
call fcn.101bec80
jmp 0x100aab8e
push fcn.100aa000
push 0x10
push ebx
push dword [esp + 0xd8]
call fcn.101bec80
mov edx, dword [ebp + 0x20]
add esp, 0x10
cmp dword [ebp + 0x14], 2
je 0x100ab095
cmp dword [ebp + 0x18], 0
je 0x100aabd0
mov ecx, dword [esp + 0xc8]
mov edi, dword [ebp + 0x18]
mov eax, dword [ecx]
mov ecx, dword [esp + 0xcc]
mov edi, dword [edi]
movsd xmm0, qword [ecx]
shl eax, 5
movsd qword [edi + eax], xmm0
movsd xmm1, qword [ecx + 8]
movsd qword [edi + eax + 8], xmm1
test edx, edx
je 0x100aac17
mov eax, dword [esp + 0xcc]
mov edi, dword [esi]
mov ecx, dword [edx]
movsd xmm0, qword [eax]
shl edi, 5
movsd qword [ecx + edi + 0x10], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [ecx + edi + 0x18], xmm1
mov eax, dword [esi]
shl eax, 5
mov ecx, dword [edx]
movsd xmm2, qword [eax + ecx + 0x10]
movsd xmm3, qword [eax + ecx + 0x18]
movsd qword [eax + ecx], xmm2
movsd qword [eax + ecx + 8], xmm3
inc dword [esi]
cmp ebx, 1
jle 0x100aaf96
mov dword [esp + 0x38], 0
mov dword [esp + 0x50], ebx
mov ecx, 1
mov dword [esp + 0xd0], esi
lea eax, [ebx - 1]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
lea ebx, [eax + 1]
xor edx, edx
cmp ebx, dword [esp + 0x50]
cmovne edx, ebx
test ecx, ecx
je 0x100aacd6
cmp dword [ebp + 0x18], 0
je 0x100ab059
mov ecx, dword [esp + 0xc8]
mov edi, dword [ecx]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x18]
mov esi, dword [edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xcc]
shl edi, 5
shl eax, 4
movsd xmm0, qword [ebx + eax]
movsd qword [esi + edi], xmm0
movsd xmm1, qword [ebx + eax + 8]
mov eax, dword [esp + 0x38]
movsd qword [esi + edi + 8], xmm1
mov esi, dword [ecx]
mov edx, dword [edx]
shl esi, 5
shl eax, 4
movsd xmm2, qword [eax + ebx]
movsd qword [edx + esi + 0x10], xmm2
movsd xmm3, qword [eax + ebx + 8]
mov eax, dword [esp + 0x44]
movsd qword [edx + esi + 0x18], xmm3
inc dword [ecx]
xor ecx, ecx
cmp eax, dword [esp + 0x48]
jl 0x100aac43
jmp 0x100aaf88
cmp dword [ebp + 0x20], 0
je 0x100ab06c
mov ecx, dword [ebp + 0x20]
mov esi, dword [ecx]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0xd0]
mov edi, dword [edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xcc]
shl edi, 5
shl eax, 4
movsd xmm0, qword [ebx + eax]
movsd qword [esi + edi], xmm0
movsd xmm1, qword [ebx + eax + 8]
mov eax, dword [esp + 0x38]
movsd qword [esi + edi + 8], xmm1
mov esi, dword [edx]
mov ecx, dword [ecx]
shl esi, 5
shl eax, 4
movsd xmm2, qword [eax + ebx]
movsd qword [ecx + esi + 0x10], xmm2
movsd xmm3, qword [eax + ebx + 8]
mov eax, dword [esp + 0x44]
movsd qword [ecx + esi + 0x18], xmm3
inc dword [edx]
mov ecx, 1
cmp eax, dword [esp + 0x48]
jl 0x100aac43
jmp 0x100ab082
mov eax, dword [ebp + 8]
movsd qword [esp], xmm1
movsd qword [esp + 8], xmm2
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 6
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0
call fcn.100af680
mov edx, dword [ebp + 0x20]
test eax, eax
je 0x100aade8
cmp dword [ebp + 0x18], 0
je 0x100aade2
mov ecx, dword [esp + 0xc8]
mov eax, dword [ebp + 0x18]
mov edi, dword [ecx]
mov ebx, dword [eax]
shl edi, 5
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [edx]
movsd qword [ebx + edi], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [ebx + edi + 8], xmm1
mov ebx, dword [ecx]
shl ebx, 5
mov eax, dword [eax]
movsd xmm2, qword [edx + 0x10]
movsd qword [eax + ebx + 0x10], xmm2
movsd xmm3, qword [edx + 0x18]
mov edx, dword [ebp + 0x20]
movsd qword [eax + ebx + 0x18], xmm3
add ecx, 4
mov dword [esp + 0xc8], ecx
test edx, edx
jne 0x100aae2a
jmp 0x100aae47
test edx, edx
je 0x100aae47
mov eax, dword [ebp + 0x10]
mov ebx, dword [esi]
mov ecx, dword [edx]
movsd xmm0, qword [eax]
shl ebx, 5
movsd qword [ecx + ebx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [ecx + ebx + 8], xmm1
mov ecx, dword [esi]
shl ecx, 5
mov edi, dword [edx]
movsd xmm2, qword [eax + 0x10]
movsd qword [edi + ecx + 0x10], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [edi + ecx + 0x18], xmm3
add esi, 4
mov eax, dword [esi]
test eax, eax
jle 0x100ab6eb
shl eax, 5
push eax
push dword [edx]
call fcn.101bcb76
mov edx, dword [ebp + 0x20]
add esp, 8
mov dword [edx], eax
cmp dword [ebp + 0x18], 0
je 0x100aae74
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
test eax, eax
jle 0x100ab6db
shl eax, 5
push eax
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bcb76
add esp, 8
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
push dword [esp + 0xcc]
call fcn.101bceaa
pop ecx
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
movsd xmm4, qword [edi + 8]
movsd qword [esp + 0x78], xmm4
lea ecx, [edx + esi]
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [ecx + 8]
movsd xmm4, qword [edx + 0x18]
movsd qword [esp + 0x88], xmm0
mov dword [esp + 0x44], ecx
jmp 0x100aa325
test ebx, ebx
jne 0x100aaed5
mov eax, dword [ebp + 0x10]
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
jmp 0x100aaad8
cmp eax, 4
jne 0x100aaeeb
mov eax, dword [ebp + 0x10]
movsd xmm1, qword [eax]
movsd xmm2, qword [eax + 8]
jmp 0x100aaad8
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [0x1020c128]
mov eax, dword [esp + 0xcc]
movsd qword [esp + 0x48], xmm0
mov edx, ebx
shl edx, 4
subsd xmm0, qword [edx + eax - 0x10]
comisd xmm1, xmm0
jbe 0x100aaa3e
pxor xmm2, xmm2
subsd xmm2, xmm1
comisd xmm0, xmm2
jbe 0x100aaa3e
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x50], xmm0
subsd xmm0, qword [edx + eax - 8]
comisd xmm1, xmm0
jbe 0x100aaa3e
comisd xmm0, xmm2
jbe 0x100aaa3e
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
movsd qword [edx + eax], xmm0
movsd qword [edx + eax + 8], xmm1
mov edx, dword [ebp + 0x10]
movsd xmm1, qword [edx]
movsd xmm2, qword [edx + 8]
inc ebx
jmp 0x100aaad8
mov ebx, dword [esp + 0x50]
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
test edx, edx
je 0x100aaffd
mov eax, dword [esp + 0xcc]
mov edi, dword [esi]
mov ecx, dword [edx]
shl edi, 5
shl ebx, 4
movsd xmm0, qword [ebx + eax - 0x10]
movsd qword [ecx + edi], xmm0
movsd xmm1, qword [ebx + eax - 8]
movsd qword [ecx + edi + 8], xmm1
mov edi, dword [esi]
shl edi, 5
mov ecx, dword [edx]
movsd xmm2, qword [ebx + eax - 0x10]
movsd qword [ecx + edi + 0x10], xmm2
movsd xmm3, qword [ebx + eax - 8]
movsd qword [ecx + edi + 0x18], xmm3
mov eax, dword [esi]
inc eax
mov dword [esi], eax
test eax, eax
jle 0x100ab04f
shl eax, 5
push eax
push dword [edx]
call fcn.101bcb76
mov edx, dword [ebp + 0x20]
add esp, 8
mov dword [edx], eax
cmp dword [ebp + 0x18], 0
je 0x100ab026
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
test eax, eax
jle 0x100ab042
shl eax, 5
push eax
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bcb76
add esp, 8
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
push dword [esp + 0xcc]
call fcn.101bceaa
pop ecx
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bceaa
pop ecx
jmp 0x100ab026
push dword [edx]
call fcn.101bceaa
pop ecx
jmp 0x100aaffd
xor ecx, ecx
cmp ebx, dword [esp + 0x48]
mov eax, ebx
jl 0x100aac43
jmp 0x100aaf88
mov ecx, 1
cmp ebx, dword [esp + 0x48]
mov eax, ebx
jl 0x100aac43
jmp 0x100aaffd
mov ebx, dword [esp + 0x50]
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
jmp 0x100aaf9a
mov dword [esp + 0x44], ebx
test ebx, ebx
mov dword [esp + 0x4c], ebx
jle 0x100ab128
mov edi, dword [ebp + 0x10]
mov dword [esp + 0xd0], esi
xor eax, eax
mov esi, eax
mov edx, dword [esp + 0xcc]
mov ecx, esi
shl ecx, 4
movsd xmm0, qword [edx + ecx]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [edx + ecx + 8]
movsd qword [eax + 8], xmm1
lea edx, [esp + 0x10]
lea eax, [esp + 0x5c]
movsd xmm2, qword [edi]
movsd qword [edx], xmm2
movsd xmm3, qword [edi + 8]
movsd qword [edx + 8], xmm3
lea ecx, [esp + 0x20]
movsd xmm4, qword [edi + 0x10]
movsd qword [ecx], xmm4
movsd xmm5, qword [edi + 0x18]
movsd qword [ecx + 8], xmm5
call fcn.100ab704
cmp dword [esp + 0x5c], 1
je 0x100ab6c3
inc esi
cmp esi, ebx
jl 0x100ab0b3
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
cmp ebx, dword [esp + 0x44]
je 0x100ab476
mov eax, ebx
dec eax
js 0x100ab1c2
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x50], ebx
mov ebx, eax
mov dword [esp + 0xd0], esi
mov esi, dword [ebp + 0x10]
lea eax, [esp + 0x5c]
mov edx, ebx
shl edx, 4
movsd xmm0, qword [edi + edx]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + edx + 8]
movsd qword [ecx + 8], xmm1
lea edx, [esp + 0x10]
movsd xmm2, qword [esi]
movsd qword [edx], xmm2
movsd xmm3, qword [esi + 8]
movsd qword [edx + 8], xmm3
lea ecx, [esp + 0x20]
movsd xmm4, qword [esi + 0x10]
movsd qword [ecx], xmm4
movsd xmm5, qword [esi + 0x18]
movsd qword [ecx + 8], xmm5
call fcn.100ab704
cmp dword [esp + 0x5c], 1
je 0x100ab68a
dec ebx
jns 0x100ab152
mov ebx, dword [esp + 0x50]
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], 6
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
lea eax, [esp + 0x38]
mov dword [esp + 0x1c], eax
call fcn.100af680
mov edx, dword [ebp + 0x20]
test eax, eax
je 0x100ab2eb
cmp dword [esp + 0x38], 0
jne 0x100ab273
mov ecx, dword [esp + 0x44]
movsd xmm1, qword [0x101e5cb8]
mov eax, dword [ebp + 0x10]
movsd xmm0, qword [eax]
movsd xmm2, qword [eax + 8]
shl ecx, 4
mov dword [esp + 0x50], ebx
mov ebx, dword [ebp + 8]
addsd xmm0, qword [ecx + ebx]
addsd xmm2, qword [ecx + ebx + 8]
mulsd xmm0, xmm1
movsd qword [esp], xmm0
mulsd xmm2, xmm1
movsd qword [esp + 8], xmm2
mov dword [esp + 0x18], 6
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x14], edi
lea edi, [esp + 0x38]
mov dword [esp + 0x1c], edi
call fcn.100af680
mov edx, dword [ebp + 0x20]
test eax, eax
jne 0x100ab2eb
cmp dword [ebp + 0x18], 0
je 0x100ab2da
mov ecx, dword [ebp + 0x18]
mov edi, dword [ecx]
mov dword [esp + 0x50], ebx
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [ebx]
mov edx, dword [esp + 0xc8]
mov eax, dword [edx]
shl eax, 5
movsd qword [edi + eax], xmm0
movsd xmm1, qword [ebx + 8]
mov ebx, dword [esp + 0xcc]
movsd qword [edi + eax + 8], xmm1
mov eax, dword [edx]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x44]
shl eax, 5
shl ecx, 4
movsd xmm2, qword [ecx + ebx]
movsd qword [edi + eax + 0x10], xmm2
movsd xmm3, qword [ecx + ebx + 8]
mov ebx, dword [esp + 0x50]
movsd qword [edi + eax + 0x18], xmm3
inc dword [edx]
mov edx, dword [ebp + 0x20]
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp eax, dword [esp + 0x4c]
jl 0x100ab356
jmp 0x100ab576
test edx, edx
je 0x100ab343
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x44]
mov ecx, dword [edx]
movsd xmm0, qword [eax]
shl edi, 4
mov dword [esp + 0x50], ebx
mov ebx, dword [esi]
shl ebx, 5
movsd qword [ecx + ebx], xmm0
movsd xmm1, qword [eax + 8]
mov eax, dword [esp + 0xcc]
movsd qword [ecx + ebx + 8], xmm1
mov ebx, dword [esi]
mov ecx, dword [edx]
movsd xmm2, qword [edi + eax]
shl ebx, 5
movsd qword [ecx + ebx + 0x10], xmm2
movsd xmm3, qword [edi + eax + 8]
movsd qword [ecx + ebx + 0x18], xmm3
mov ebx, dword [esp + 0x50]
inc dword [esi]
mov eax, dword [esp + 0x44]
mov ecx, 1
cmp eax, dword [esp + 0x4c]
jge 0x100ab5f7
mov dword [esp + 0x50], ebx
mov dword [esp + 0xd0], esi
lea ebx, [eax + 1]
xor edx, edx
cmp ebx, dword [esp + 0x50]
cmovne edx, ebx
test ecx, ecx
je 0x100ab3f4
cmp dword [ebp + 0x18], 0
je 0x100ab5d3
mov ecx, dword [esp + 0xc8]
mov edi, dword [ecx]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0x18]
mov esi, dword [edx]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xcc]
shl edi, 5
shl eax, 4
movsd xmm0, qword [ebx + eax]
movsd qword [esi + edi], xmm0
movsd xmm1, qword [ebx + eax + 8]
mov eax, dword [esp + 0x44]
movsd qword [esi + edi + 8], xmm1
mov esi, dword [ecx]
mov edx, dword [edx]
shl esi, 5
shl eax, 4
movsd xmm2, qword [eax + ebx]
movsd qword [edx + esi + 0x10], xmm2
movsd xmm3, qword [eax + ebx + 8]
mov eax, dword [esp + 0x48]
movsd qword [edx + esi + 0x18], xmm3
inc dword [ecx]
xor ecx, ecx
cmp eax, dword [esp + 0x4c]
jl 0x100ab361
jmp 0x100ab5e1
cmp dword [ebp + 0x20], 0
je 0x100ab674
mov ecx, dword [ebp + 0x20]
mov esi, dword [ecx]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0xd0]
mov edi, dword [edx]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xcc]
shl edi, 5
shl eax, 4
movsd xmm0, qword [ebx + eax]
movsd qword [esi + edi], xmm0
movsd xmm1, qword [ebx + eax + 8]
mov eax, dword [esp + 0x44]
movsd qword [esi + edi + 8], xmm1
mov esi, dword [edx]
mov ecx, dword [ecx]
shl esi, 5
shl eax, 4
movsd xmm2, qword [eax + ebx]
movsd qword [ecx + esi + 0x10], xmm2
movsd xmm3, qword [eax + ebx + 8]
mov eax, dword [esp + 0x48]
movsd qword [ecx + esi + 0x18], xmm3
inc dword [edx]
mov ecx, 1
cmp eax, dword [esp + 0x4c]
jl 0x100ab361
jmp 0x100ab5ed
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], 6
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], edi
call fcn.100af680
mov edx, dword [ebp + 0x20]
test eax, eax
je 0x100ab50c
cmp dword [ebp + 0x18], 0
je 0x100ab50c
mov ecx, dword [esp + 0xc8]
mov eax, dword [ebp + 0x18]
mov edi, dword [ecx]
mov ebx, dword [eax]
shl edi, 5
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [edx]
movsd qword [ebx + edi], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [ebx + edi + 8], xmm1
mov ebx, dword [ecx]
shl ebx, 5
mov eax, dword [eax]
movsd xmm2, qword [edx + 0x10]
movsd qword [eax + ebx + 0x10], xmm2
movsd xmm3, qword [edx + 0x18]
mov edx, dword [ebp + 0x20]
movsd qword [eax + ebx + 0x18], xmm3
add ecx, 4
mov dword [esp + 0xc8], ecx
test edx, edx
je 0x100ab52d
mov eax, dword [esi]
test eax, eax
jle 0x100ab6b6
shl eax, 5
push eax
push dword [edx]
call fcn.101bcb76
mov edx, dword [ebp + 0x20]
add esp, 8
mov dword [edx], eax
cmp dword [ebp + 0x18], 0
je 0x100ab55a
mov eax, dword [esp + 0xc8]
mov eax, dword [eax]
test eax, eax
jle 0x100ab6a6
shl eax, 5
push eax
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bcb76
add esp, 8
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
push dword [esp + 0xcc]
call fcn.101bceaa
pop ecx
xor eax, eax
add esp, 0xf4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x100aaffd
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xcc]
mov edi, dword [esi]
mov ebx, dword [edx]
shl edi, 5
shl eax, 4
movsd xmm0, qword [eax + ecx]
movsd qword [ebx + edi], xmm0
movsd xmm1, qword [eax + ecx + 8]
mov eax, dword [ebp + 0x10]
movsd qword [ebx + edi + 8], xmm1
mov ebx, dword [esi]
mov ecx, dword [edx]
movsd xmm2, qword [eax + 0x10]
shl ebx, 5
movsd qword [ecx + ebx + 0x10], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [ecx + ebx + 0x18], xmm3
mov eax, dword [esi]
inc eax
mov dword [esi], eax
jmp 0x100aafe6
xor ecx, ecx
cmp ebx, dword [esp + 0x4c]
mov eax, ebx
jl 0x100ab361
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
jmp 0x100ab576
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
cmp dword [ebp + 0x18], 0
je 0x100ab665
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xd0], esi
mov esi, dword [eax]
shl ecx, 4
movsd xmm0, qword [ecx + ebx]
mov edx, dword [esp + 0xc8]
mov edi, dword [edx]
shl edi, 5
movsd qword [esi + edi], xmm0
movsd xmm1, qword [ecx + ebx + 8]
movsd qword [esi + edi + 8], xmm1
mov esi, dword [esp + 0xd0]
mov ebx, dword [edx]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x10]
movsd xmm2, qword [eax + 0x10]
shl ebx, 5
movsd qword [ecx + ebx + 0x10], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [ecx + ebx + 0x18], xmm3
inc dword [edx]
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x100aaffd
mov eax, dword [esi]
jmp 0x100aafe6
mov ecx, 1
cmp ebx, dword [esp + 0x4c]
mov eax, ebx
jl 0x100ab361
jmp 0x100ab5ed
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0xd0]
mov edi, dword [ebp + 0xc]
mov eax, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
jmp 0x100ab1c2
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bceaa
pop ecx
jmp 0x100ab55a
push dword [edx]
call fcn.101bceaa
pop ecx
jmp 0x100ab52d
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 0xc]
mov eax, esi
mov esi, dword [esp + 0xd0]
mov dword [esp + 0x44], eax
jmp 0x100ab128
mov eax, dword [ebp + 0x18]
push dword [eax]
call fcn.101bceaa
pop ecx
jmp 0x100aae74
push dword [edx]
call fcn.101bceaa
pop ecx
jmp 0x100aae47