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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x134
mov eax, dword [0x10219180]
inc dword [0x102198ec]
cmp eax, dword [0x1020c798]
je 0x1013b27d
movsd xmm0, qword [0x101f2890]
movsd xmm1, qword [0x101f2898]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [0x1020c798], eax
call fcn.100ed440
fstp qword [0x1020c790]
imul ecx, dword [ebp + 8], 0xa10
mov eax, dword [ebp + 0x28]
mov edx, dword [0x10219190]
mov ebx, dword [0x10220310]
mov esi, dword [edx + ecx + 0x87c]
mov edi, dword [ebx + esi*4]
mov ebx, dword [edi]
imul edi, ebx, 0xa10
mov esi, dword [edi + edx + 0x914]
test eax, eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
mov ecx, 0x12
cmovle eax, ecx
test esi, esi
jle 0x1013b2d9
mov ecx, dword [edi + edx + 0x90c]
xor ebx, ebx
cmp eax, dword [ecx + ebx*4]
je 0x1013bcb7
inc ebx
cmp ebx, esi
jl 0x1013b2cb
cmp dword [edi + edx + 0x9fc], 0
je 0x1013b317
cmp dword [edi + edx + 0xa00], 0
je 0x1013b317
mov edx, dword [esp + 0x60]
mov dword [esp], 2
neg eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0xc], xmm0
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1000
call fcn.100e6af0
jmp 0x1013b33c
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov ecx, 2
neg eax
cvtsi2sd xmm0, eax
movsd qword [esp + 0xc], xmm0
mov dword [esp], ecx
mov dword [esp + 8], ecx
call fcn.100e6af0
mov edx, dword [0x10219190]
mov ebx, dword [edi + edx + 0x914]
dec ebx
mov eax, dword [edx + edi + 0x90c]
mov edx, dword [eax + ebx*4]
shl edx, 4
push edx
call fcn.101bcde0
mov esi, eax
mov edx, dword [0x10219190]
mov eax, dword [edx + edi + 0x904]
mov ecx, dword [edx + edi + 0x90c]
mov edx, dword [ecx + ebx*4]
shl edx, 4
push edx
push dword [eax + ebx*4]
push esi
call fcn.101d7590
add esp, 0x10
movsd xmm5, qword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [0x10219190]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + edi + 0x90c]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 0x58], edx
mov dword [esp], esi
mov dword [esp + 0xcc], ecx
mov dword [esp + 8], ecx
xor ebx, ebx
lea ecx, [esp + 0xc]
pxor xmm2, xmm2
mov dword [esp + 4], ebx
movsd xmm0, qword [edi + eax + 0x78]
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + eax + 0x80]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x20], xmm2
lea edi, [esp + 0x28]
mov dword [esp + 0x1c], ebx
movsd xmm3, qword [edx]
movsd qword [edi], xmm3
movsd xmm4, qword [edx + 8]
movsd qword [edi + 8], xmm4
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0xcc]
movsd qword [esp + 0x3c], xmm5
movsd qword [esp + 0x50], xmm5
mov dword [esp + 0x38], eax
call fcn.100ae6e0
movsd xmm5, qword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
movsd qword [esp + 8], xmm5
xor eax, eax
mov dword [esp + 0x10], 2
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
lea edi, [esp + 0x80]
mov dword [esp + 0x18], edi
lea edx, [esp + 0x88]
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x90]
mov dword [esp + 0x20], ecx
lea edi, [esp + 0x98]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
call fcn.100dfc50
movsd xmm1, qword [esp + 0x88]
subsd xmm1, qword [esp + 0x80]
mulsd xmm1, xmm1
lea eax, [ebx*8]
movsd xmm0, qword [esp + 0x98]
subsd xmm0, qword [esp + 0x90]
mulsd xmm0, xmm0
addsd xmm1, xmm0
sqrtsd xmm2, xmm1
divsd xmm2, qword [0x1020c790]
movsd qword [esp + 0xa0], xmm2
push eax
call fcn.101bcde0
pop ecx
test ebx, ebx
jle 0x1013b54f
mov ecx, eax
and ecx, 0xf
je 0x1013b4ea
test cl, 7
jne 0x1013bcb0
mov ecx, 1
lea edx, [ecx + 8]
cmp ebx, edx
jl 0x1013bcb0
mov edx, ebx
sub edx, ecx
and edx, 7
neg edx
add edx, ebx
test ecx, ecx
jbe 0x1013b518
movsd xmm0, qword [0x101f28a8]
xor edi, edi
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, ecx
jb 0x1013b50e
movaps xmm0, xmmword [0x101f2880]
movaps xmmword [eax + ecx*8], xmm0
movaps xmmword [eax + ecx*8 + 0x10], xmm0
movaps xmmword [eax + ecx*8 + 0x20], xmm0
movaps xmmword [eax + ecx*8 + 0x30], xmm0
add ecx, 8
cmp ecx, edx
jb 0x1013b51f
cmp edx, ebx
jae 0x1013b54f
movsd xmm0, qword [0x101f28a8]
movsd qword [eax + edx*8], xmm0
inc edx
cmp edx, ebx
jb 0x1013b545
mov edx, dword [0x10219190]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
movsd xmm0, qword [esp + 0x80]
movsd xmm6, qword [ecx]
movsd xmm5, qword [edx + edi + 0x78]
movsd xmm7, qword [esp + 0x88]
movsd xmm3, qword [esp + 0xa0]
movsd xmm2, qword [ecx + 8]
movsd xmm1, qword [edx + edi + 0x80]
subsd xmm0, xmm5
addsd xmm0, xmm6
mov edx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
subsd xmm7, xmm5
movsd xmm5, qword [esp + 0x90]
addsd xmm7, xmm6
subsd xmm5, xmm1
movsd xmm6, qword [esp + 0x98]
addsd xmm5, xmm2
subsd xmm6, xmm1
addsd xmm6, xmm2
subsd xmm0, xmm3
addsd xmm7, xmm3
subsd xmm5, xmm3
addsd xmm6, xmm3
lea ecx, [edx + 2]
shl edx, 4
movsd xmm2, qword [edx + edi - 0x10]
movsd xmm1, qword [edx + edi - 8]
test ecx, ecx
jle 0x1013b977
mov edi, dword [ebp + 0x24]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xd0], xmm6
movsd qword [esp + 0xd8], xmm5
movsd qword [esp + 0xe0], xmm7
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xcc], ebx
pxor xmm3, xmm3
mov dword [esp + 0xc8], esi
mov esi, dword [ebp + 0x24]
xor edx, edx
lea edi, [edi + 1]
pxor xmm4, xmm4
mov dword [esp + 0xc0], edi
pxor xmm2, xmm2
pxor xmm1, xmm1
cmp edx, esi
jge 0x1013b700
movsd xmm5, qword [esp + 0xe8]
movsd xmm7, qword [esp + 0xf0]
movsd qword [esp + 0xa8], xmm5
movsd qword [esp + 0xb0], xmm7
movaps xmm1, xmm5
mov ebx, edx
shl ebx, 4
movsd xmm2, qword [eax + ebx]
movsd xmm6, qword [eax + ebx + 8]
movsd qword [esp + 0xe8], xmm2
movsd qword [esp + 0xf0], xmm6
maxsd xmm1, xmm2
minsd xmm2, xmm5
comisd xmm0, xmm1
ja 0x1013b93e
comisd xmm2, xmmword [esp + 0xe0]
ja 0x1013b93e
movaps xmm3, xmm7
movaps xmm4, xmm6
movsd xmm5, qword [esp + 0xd8]
maxsd xmm3, xmm6
minsd xmm4, xmm7
comisd xmm5, xmm3
ja 0x1013b93e
comisd xmm4, xmmword [esp + 0xd0]
ja 0x1013b93e
jmp 0x1013b7b7
je 0x1013b93e
cmp edx, dword [esp + 0xc0]
jne 0x1013b77c
mov ebx, dword [0x1021fcc8]
cmp ebx, 3
je 0x1013b723
cmp ebx, 2
jne 0x1013b93e
imul ebx, dword [0x1022002c], 0x168
mov edi, dword [0x10220028]
movsd xmm2, qword [0x101f28a0]
movsd xmm4, qword [0x1021fb88]
movsd xmm3, qword [0x1021fbb8]
movsd xmm1, qword [ebx + edi - 0x48]
movsd qword [esp + 0xb0], xmm4
movsd qword [esp + 0xf0], xmm3
mulsd xmm1, xmm2
movsd qword [esp + 0xe8], xmm1
movsd qword [esp + 0xa8], xmm1
movaps xmm2, xmm1
movsd xmm5, qword [esp + 0xd8]
comisd xmm5, xmm3
ja 0x1013b93e
comisd xmm4, xmmword [esp + 0xd0]
ja 0x1013b93e
comisd xmm0, xmm1
ja 0x1013b93e
comisd xmm2, xmmword [esp + 0xe0]
ja 0x1013b93e
cmp dword [esp + 0xcc], 0
jle 0x1013b93e
mov edi, dword [esp + 0xc4]
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0xc8]
movsd qword [esp + 0xb8], xmm0
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
xor ebx, ebx
movaps xmm0, xmm1
movsd xmm6, qword [edi + ebx*8]
mov edx, ebx
shl edx, 4
movsd xmm5, qword [esi + edx]
addsd xmm0, xmm6
comisd xmm5, xmm0
jae 0x1013b909
movaps xmm7, xmm6
movsd xmm0, qword [edx + esi + 8]
addsd xmm7, xmm3
comisd xmm0, xmm7
jae 0x1013b909
movaps xmm7, xmm4
subsd xmm7, xmm6
comisd xmm7, xmm0
jae 0x1013b909
movaps xmm0, xmm2
subsd xmm0, xmm6
comisd xmm0, xmm5
jae 0x1013b909
movsd xmm0, qword [esi + edx]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm5, qword [esi + edx + 8]
movsd qword [ecx + 8], xmm5
lea edx, [esp + 0x10]
movsd xmm6, qword [esp + 0xa8]
movsd qword [edx], xmm6
movsd xmm7, qword [esp + 0xb0]
movsd qword [edx + 8], xmm7
lea edx, [esp + 0x20]
xor ecx, ecx
movsd xmm0, qword [esp + 0xe8]
movsd qword [edx], xmm0
movsd xmm5, qword [esp + 0xf0]
movsd qword [edx + 8], xmm5
movsd qword [esp + 0x50], xmm1
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm4
movsd qword [esp + 0x68], xmm3
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0xcc], eax
call fcn.100ab8f0
mov eax, dword [esp + 0xcc]
movsd xmm3, qword [esp + 0x68]
movsd xmm4, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x50]
fstp qword [esp + 0x70]
movsd xmm5, qword [esp + 0x70]
movsd xmm0, qword [edi + ebx*8]
mulsd xmm0, xmm0
comisd xmm0, xmm5
jbe 0x1013b909
sqrtsd xmm0, xmm5
movsd qword [edi + ebx*8], xmm0
inc ebx
cmp ebx, eax
jl 0x1013b7ed
movsd xmm0, qword [esp + 0xb8]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xc8], esi
mov esi, dword [ebp + 0x24]
inc edx
cmp edx, ecx
jl 0x1013b659
movsd xmm6, qword [esp + 0xd0]
movsd xmm5, qword [esp + 0xd8]
movsd xmm7, qword [esp + 0xe0]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xc8]
mov edi, dword [0x1021f820]
test edi, edi
jle 0x1013bc34
mov edx, dword [0x1021f828]
movsd qword [esp + 0xd0], xmm6
movsd qword [esp + 0xd8], xmm5
movsd qword [esp + 0xe0], xmm7
mov dword [esp + 0xc4], eax
mov dword [esp + 0xcc], ebx
xor ecx, ecx
mov dword [esp + 0xc8], esi
mov esi, dword [edx + ecx*4]
mov eax, dword [esi + 0x10]
mov esi, dword [esi]
mov ebx, eax
shl ebx, 4
movsd xmm2, qword [ebx + esi - 0x10]
movsd xmm1, qword [ebx + esi - 8]
test eax, eax
jle 0x1013bc16
mov ebx, dword [esp + 0xcc]
mov eax, dword [edx + ecx*4]
movsd qword [esp + 0xf0], xmm1
movsd qword [esp + 0xe8], xmm2
mov dword [esp + 0x7c], ecx
xor esi, esi
movsd xmm7, qword [esp + 0xe8]
movaps xmm4, xmm7
movsd xmm6, qword [esp + 0xf0]
mov ecx, dword [eax]
mov edi, esi
shl edi, 4
movsd xmm5, qword [ecx + edi]
movsd xmm2, qword [ecx + edi + 8]
movsd qword [esp + 0xe8], xmm5
movsd qword [esp + 0xf0], xmm2
maxsd xmm4, xmm5
minsd xmm5, xmm7
comisd xmm0, xmm4
ja 0x1013bc01
comisd xmm5, xmmword [esp + 0xe0]
ja 0x1013bc01
movaps xmm3, xmm6
movsd xmm1, qword [esp + 0xd8]
maxsd xmm3, xmm2
minsd xmm2, xmm6
comisd xmm1, xmm3
ja 0x1013bc01
comisd xmm2, xmmword [esp + 0xd0]
ja 0x1013bc01
test ebx, ebx
jle 0x1013bc01
mov eax, dword [esp + 0xc4]
movsd qword [esp + 0xb0], xmm6
movsd qword [esp + 0xa8], xmm7
movsd qword [esp + 0x68], xmm5
movsd qword [esp + 0xb8], xmm0
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0xc8]
xor edi, edi
movaps xmm5, xmm4
movsd xmm1, qword [eax + edi*8]
mov edx, edi
shl edx, 4
movsd xmm0, qword [esi + edx]
addsd xmm5, xmm1
comisd xmm0, xmm5
jae 0x1013bbd7
movaps xmm5, xmm1
movsd xmm6, qword [edx + esi + 8]
addsd xmm5, xmm3
comisd xmm6, xmm5
jae 0x1013bbd7
movaps xmm5, xmm2
subsd xmm5, xmm1
comisd xmm5, xmm6
jae 0x1013bbd7
movsd xmm5, qword [esp + 0x68]
subsd xmm5, xmm1
comisd xmm5, xmm0
jae 0x1013bbd7
movsd xmm0, qword [esi + edx]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [esi + edx + 8]
movsd qword [ecx + 8], xmm1
lea edx, [esp + 0x10]
movsd xmm5, qword [esp + 0xa8]
movsd qword [edx], xmm5
movsd xmm6, qword [esp + 0xb0]
movsd qword [edx + 8], xmm6
lea edx, [esp + 0x20]
xor ecx, ecx
movsd xmm7, qword [esp + 0xe8]
movsd qword [edx], xmm7
movsd xmm0, qword [esp + 0xf0]
movsd qword [edx + 8], xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x58], xmm3
movsd qword [esp + 0x60], xmm4
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc4], eax
call fcn.100ab8f0
mov eax, dword [esp + 0xc4]
movsd xmm4, qword [esp + 0x60]
movsd xmm3, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
fstp qword [esp + 0x70]
movsd xmm1, qword [esp + 0x70]
movsd xmm0, qword [eax + edi*8]
mulsd xmm0, xmm0
comisd xmm0, xmm1
jbe 0x1013bbd7
sqrtsd xmm0, xmm1
movsd qword [eax + edi*8], xmm0
inc edi
cmp edi, ebx
jl 0x1013bac4
movsd xmm0, qword [esp + 0xb8]
mov esi, dword [esp + 0x78]
mov edx, dword [0x1021f828]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [edx + eax*4]
inc esi
cmp esi, dword [eax + 0x10]
jl 0x1013ba00
nop
mov ecx, dword [esp + 0x7c]
mov edi, dword [0x1021f820]
inc ecx
cmp ecx, edi
jl 0x1013b9bd
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xc8]
mov ecx, dword [ebp + 0x2c]
test ebx, ebx
pxor xmm0, xmm0
movsd qword [ecx], xmm0
jle 0x1013bc92
cvtsi2sd xmm0, ebx
movsd xmm4, qword [esp + 0xa0]
xor edx, edx
pxor xmm1, xmm1
movsd xmm2, qword [eax + edx*8]
subsd xmm2, qword [0x102202c0]
comisd xmm4, xmm2
jbe 0x1013bc8d
pxor xmm3, xmm3
maxsd xmm3, xmm2
divsd xmm3, xmm4
movsd xmm2, qword [0x101f28b0]
subsd xmm2, xmm3
divsd xmm2, xmm0
addsd xmm1, xmm2
movsd qword [ecx], xmm1
inc edx
cmp edx, ebx
jl 0x1013bc56
push eax
call fcn.101bceaa
push esi
call fcn.101bceaa
add esp, 8
xor eax, eax
add esp, 0x134
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor edx, edx
jmp 0x1013b539
cmp ebx, 0xffffffff
je 0x1013b2d9
jmp 0x1013b34a