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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x1120
call fcn.101e0a30
mov esi, esp
mov eax, dword [0x1026f864]
mov ebx, ecx
xor eax, ebp
mov dword [esi + 0x1118], eax
mov eax, edx
mov dword [esi + 0x24], edx
mov dword [esi + 8], ecx
lea edx, [edx*4]
mov edi, dword [ecx + 8]
neg eax
mov ecx, 0x205c
mov dword [esi + 0x4c], eax
xor eax, eax
inc eax
test edi, edi
mov dword [esi + 0x1c], edi
cmovg eax, edi
mov edi, dword [ebx]
sub ecx, edx
mov dword [esi + 0x50], eax
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov edx, dword [edi + 4]
mov ebx, dword [edi + 8]
mov dword [esi + 0x3c], edi
mov edi, dword [edi + 0x20]
mov dword [esi + 0x30], edi
lea edi, [edx + 0x800]
mov dword [esi + 0x38], ebx
mov dword [esi + 0x18], edx
lea edx, [edx*4 + 0x2000]
lea ebx, [esi + 0x100]
mov dword [esi + 0xc], edi
lea edi, [esi + 0x108]
mov dword [esi + 0x10], edx
lea edx, [eax + 0x5c]
mov dword [edi], edx
lea edx, [eax + ecx]
add eax, dword [esi + 0x10]
add edi, 4
mov dword [ebx], edx
add ebx, 4
dec dword [esi + 4]
jne 0x101d123c
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [edx + 0x34]
imul ecx, dword [esi + 0x1c]
mov ebx, dword [edx + 0x14]
cmp eax, 4
mov dword [esi + 0x44], eax
jg 0x101d127a
test ebx, ebx
jne 0x101d127a
cmp dword [edx + 0x38], 0
je 0x101d14a9
mov edi, dword [esi + 0x1c]
lea eax, [edx + ecx*4]
lea ecx, [edi + edi*2]
shl ecx, 5
lea eax, [ecx + eax + 0x5c]
mov ecx, dword [edx + 0x18]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0xc]
cmp ecx, eax
cmovle eax, ecx
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x24]
imul eax, edi
shl eax, 2
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x40], eax
mov esp, eax
xor eax, eax
cmp dword [esi + 0x44], 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x2c], ebx
sete al
sub ecx, ebx
movss xmm0, dword [eax*4 + 0x1024f508]
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], ecx
lea eax, [eax*4 + 0x2060]
imul eax, edi
lea eax, [eax + ebx*4]
lea edx, [edx + eax + 0x5c]
mov eax, dword [esi + 0x38]
lea ecx, [eax*4]
shl eax, 3
mov dword [esi + 4], ecx
lea ecx, [eax + eax*2]
xor eax, eax
mov edi, dword [esi + 0x10]
cmp dword [esi + 0x2c], edi
jge 0x101d1324
mov ebx, dword [esi + 0xc]
mov edi, edx
movss xmm2, dword [edi]
movss xmm1, dword [edi + ecx]
subss xmm2, xmm0
maxss xmm1, xmm2
movss dword [edi], xmm1
add edi, 4
dec ebx
jne 0x101d1309
inc eax
add edx, dword [esi + 4]
cmp eax, dword [esi + 0x50]
jne 0x101d12fc
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
mov edi, dword [esi + 8]
cmp eax, ecx
cmovge ecx, eax
cmp dword [esi + 0x1c], 0
mov dword [esi + 0x34], ecx
mov ecx, dword [edi + 0x28]
mov dword [esi + 0x10], ecx
jle 0x101d1419
mov eax, dword [esi + 0x24]
mov dword [esi + 0x48], 0
mov dword [esi + 0x20], 0
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [esi + 0x28]
jge 0x101d1401
mov edx, dword [esi + 0x20]
mov ebx, ecx
imul edx, eax
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x54]
movsx eax, word [ecx + ebx*2]
movsx edi, word [ecx + ebx*2 + 2]
mov ecx, dword [ebp + 8]
inc ebx
mov dword [esi + 4], ebx
sub edi, eax
shl eax, cl
add edx, eax
mov dword [esi + 0x38], edx
mov edx, edi
shl edx, cl
test edx, edx
mov dword [esi + 0xc], edx
jle 0x101d13cf
add eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x40]
mov ebx, edx
lea edi, [ecx + eax*4]
mov eax, dword [esi + 0x10]
push eax
call fcn.101d5220
add esp, 4
mov ecx, eax
sar ecx, 0x14
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [edi], xmm0
add edi, 4
dec ebx
jne 0x101d13ae
jmp 0x101d13d2
mov eax, dword [esi + 0x10]
mov dword [esi + 0x10], eax
mov edi, dword [esi + 8]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x38]
lea eax, [eax + ecx*4]
push dword [edi + 0x24]
push 0x3f800000
push dword [esi + 0xc]
push eax
call fcn.101d90e0
add esp, 0x10
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 0x34]
jne 0x101d1376
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
inc ecx
add dword [esi + 0x48], eax
cmp ecx, dword [esi + 0x1c]
mov dword [esi + 0x20], ecx
jne 0x101d135f
jmp 0x101d141c
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
lea ebx, [esi + 0x108]
mov dword [edi + 0x28], ecx
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x50]
shr ecx, 1
sub ecx, eax
lea eax, [ecx*4 + 0x2000]
mov dword [esi + 0x10], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x24]
lea ecx, [eax + ecx*4]
push dword [esi + 0x10]
push ecx
push eax
call fcn.101e3b60
add esp, 0xc
add ebx, 4
dec edi
jne 0x101d143c
mov ebx, dword [esi + 8]
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
xor eax, eax
lea edi, [esi + 0x100]
push dword [ebx + 0x24]
push eax
push dword [ebx + 0x10]
push dword [ebp + 8]
push eax
mov eax, dword [esi + 0x1c]
push eax
push eax
push dword [esi + 0x34]
push dword [esi + 0x2c]
push dword [esi + 0x4c]
push edi
call fcn.101d1fd0
add esp, 0x2c
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 8]
inc eax
mov dword [ecx + 0x34], eax
mov ecx, dword [esi + 0x1118]
xor ecx, ebp
call fcn.101e05ab
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esi + 0x44], 0
je 0x101d14bc
mov edi, dword [edx + 0x30]
movss xmm0, dword [0x1024f474]
jmp 0x101d152c
mov eax, dword [esi + 8]
lea edx, [esi + 0x110]
mov edi, dword [eax + 0x24]
lea eax, [esi + 0x108]
push edi
push dword [esi + 0x1c]
push 0x800
push edx
push eax
mov dword [esi + 0xc], ecx
call fcn.101d93e0
add esp, 0x14
lea ecx, [esi + 0xfc]
lea eax, [esi + 0x6b0]
push edi
mov ebx, dword [esi + 8]
push ecx
push 0x26c
push 0x530
lea ecx, [esi + 0x110]
push ecx
push eax
call fcn.101d9770
mov ecx, dword [esi + 0xc]
add esp, 0x18
mov edi, 0x2d0
lea eax, [esi + 0xfc]
movss xmm0, dword [0x10210930]
mov edx, ebx
sub edi, dword [eax]
mov dword [ebx + 0x30], edi
lea eax, [edx + ecx*4 + 0x5c]
lea edx, [edi + edi]
mov ebx, 0x400
movss dword [esi + 0x58], xmm0
mov dword [esi + 0xc], edi
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
cmp edx, 0x401
cmovge edx, ebx
lea eax, [eax*4]
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xe4], eax
mov esp, eax
mov eax, 0x1060
call fcn.101e0a30
mov edi, esp
and edi, 0xfffffff0
mov esp, edi
lea ecx, [edx*4]
mov dword [esi + 0x5c], edi
mov eax, ecx
call fcn.101e0a30
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0xdc], eax
mov esp, eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0xe0], ecx
mov dword [esi + 0x3c], edx
sub ebx, dword [esi + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x28], eax
lea eax, [edi + 0x1060]
mov edi, 0x7ff
sub eax, ecx
mov ecx, 0x400
mov ebx, dword [esi + 0x28]
mov dword [esi + 0xd8], eax
mov eax, edx
sar eax, 1
sub ecx, eax
mov dword [esi + 0xd4], eax
mov eax, 0x400
sub eax, edx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x10], ecx
mov ecx, 0x800
mov dword [esi + 4], eax
mov eax, dword [esi + 0x24]
sub ecx, eax
sub edi, eax
mov dword [esi + 0x20], ecx
mov ecx, edx
mov dword [esi + 0xd0], edi
mov edi, eax
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
mov edx, ecx
mov ecx, 0x7fe
sub ecx, eax
mov dword [esi + 0x54], edx
mov dword [esi + 0xcc], ecx
mov ecx, 0x7fd
sub ecx, eax
mov dword [esi + 0xc8], ecx
mov ecx, 0x7fc
sub ecx, eax
mov dword [esi + 0xc4], ecx
mov ecx, 0x7fb
sub ecx, eax
mov dword [esi + 0xc0], ecx
mov ecx, 0x7fa
sub ecx, eax
mov dword [esi + 0xbc], ecx
mov ecx, 0x7f9
sub ecx, eax
mov dword [esi + 0xb8], ecx
mov ecx, 0x7f8
sub ecx, eax
mov dword [esi + 0xb4], ecx
mov ecx, 0x7f7
sub ecx, eax
mov dword [esi + 0xb0], ecx
mov ecx, 0x7f6
sub ecx, eax
mov dword [esi + 0xac], ecx
mov ecx, 0x7f5
sub ecx, eax
mov dword [esi + 0xa8], ecx
mov ecx, 0x7f4
sub ecx, eax
mov dword [esi + 0xa4], ecx
mov ecx, 0x7f3
sub ecx, eax
mov dword [esi + 0xa0], ecx
mov ecx, 0x7f2
sub ecx, eax
mov dword [esi + 0x9c], ecx
mov ecx, 0x7f1
sub ecx, eax
mov dword [esi + 0x98], ecx
mov ecx, 0x7f0
sub ecx, eax
mov dword [esi + 0x94], ecx
mov ecx, 0x7ef
sub ecx, eax
mov dword [esi + 0x90], ecx
mov ecx, 0x7ee
sub ecx, eax
mov dword [esi + 0x8c], ecx
mov ecx, 0x7ed
sub ecx, eax
mov dword [esi + 0x88], ecx
mov ecx, 0x7ec
sub ecx, eax
mov dword [esi + 0x84], ecx
mov ecx, 0x7eb
sub ecx, eax
mov dword [esi + 0x80], ecx
mov ecx, 0x7ea
sub ecx, eax
mov dword [esi + 0x7c], ecx
mov ecx, 0x7e9
sub ecx, eax
mov dword [esi + 0x78], ecx
mov ecx, 0x7e8
sub ecx, eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 4]
lea ecx, [eax + ecx*4 + 0x60]
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 0x10]
lea ecx, [eax + ecx*4 + 0x60]
mov dword [esi + 0x6c], ecx
lea ecx, [eax + 0x60]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x18]
lea eax, [eax*4]
mov dword [esi + 0x68], eax
lea eax, [ecx + edi]
mov dword [esi + 0x30], eax
lea eax, [eax*4]
mov dword [esi + 0x60], eax
lea eax, [ecx - 1]
mov dword [esi + 0x64], eax
xor eax, eax
mov edi, dword [esi + eax*4 + 0x108]
mov edx, dword [esi + 0x5c]
mov dword [esi + 0x34], eax
mov eax, 0xffffefa0
mov ecx, dword [edi + eax + 0x2000]
mov dword [edx + eax + 0x1060], ecx
add eax, 4
jne 0x101d1784
cmp dword [esi + 0x44], 0
mov ecx, dword [esi + 0x1c]
mov dword [esi + 4], edi
je 0x101d17b8
mov eax, dword [esi + 0x34]
mov edi, dword [esi + 8]
lea eax, [eax*8]
lea ebx, [eax + eax*2]
jmp 0x101d1902
mov edi, dword [esi + 8]
push dword [edi + 0x24]
push 0x400
mov eax, 0x18
push eax
push dword [esi + 0x18]
push ebx
lea eax, [esi + 0x110]
push eax
push dword [esi + 0x38]
call fcn.101da090
add esp, 0x1c
movss xmm0, dword [esi + 0x110]
movaps xmm2, xmmword [0x1024f480]
movaps xmm3, xmmword [0x1024f490]
mov eax, dword [esi + 0x34]
mov ecx, 0x18
mulss xmm0, dword [0x1024f478]
lea eax, [eax*8]
lea ebx, [eax + eax*2]
mov eax, dword [esi + 0x1c]
movss dword [esi + 0x110], xmm0
movups xmm0, xmmword [esi + 0x114]
lea eax, [eax + ebx*4]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
movaps xmm3, xmmword [0x1024f4a0]
subps xmm0, xmm1
movups xmmword [esi + 0x114], xmm0
movups xmm0, xmmword [esi + 0x124]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
movaps xmm3, xmmword [0x1024f4b0]
subps xmm0, xmm1
movups xmmword [esi + 0x124], xmm0
movups xmm0, xmmword [esi + 0x134]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
movaps xmm3, xmmword [0x1024f4c0]
subps xmm0, xmm1
movups xmmword [esi + 0x134], xmm0
movups xmm0, xmmword [esi + 0x144]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
movaps xmm3, xmmword [0x1024f4d0]
subps xmm0, xmm1
movups xmmword [esi + 0x144], xmm0
movups xmm0, xmmword [esi + 0x154]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
movaps xmm3, xmmword [0x1024f4e0]
subps xmm0, xmm1
movups xmmword [esi + 0x154], xmm0
movups xmm0, xmmword [esi + 0x164]
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm3
mulps xmm1, xmm3
subps xmm0, xmm1
movups xmmword [esi + 0x164], xmm0
push ecx
lea ecx, [esi + 0x110]
push ecx
push eax
call fcn.101d9c00
mov ecx, dword [esi + 0x1c]
add esp, 0xc
lea eax, [ecx + ebx*4]
push dword [edi + 0x24]
push 0x18
push dword [esi + 0x3c]
mov edi, dword [esi + 0xdc]
push edi
mov dword [esi + 0x48], eax
push eax
mov ebx, dword [esi + 0xd8]
push ebx
call fcn.101d9d10
add esp, 0x18
push dword [esi + 0xe0]
push edi
push ebx
call fcn.101e35e0
add esp, 0xc
cmp dword [esi + 0xc], 0
movaps xmm0, xmmword [0x1024f4f0]
mov ecx, dword [esi + 0xd4]
mov edx, dword [esi + 0x70]
mov edi, dword [esi + 0x6c]
jle 0x101d1971
movaps xmm0, xmmword [0x1024f4f0]
xor eax, eax
movss xmm1, dword [edx + eax*4]
movss xmm2, dword [edi + eax*4]
inc eax
cmp eax, ecx
unpcklps xmm2, xmm1
mulps xmm2, xmm2
addps xmm0, xmm2
jl 0x101d1959
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xe5
minss xmm0, xmm1
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x10224d40]
jb 0x101d1994
sqrtsd xmm0, xmm0
jmp 0x101d19b2
sub esp, 8
movsd qword [esp], xmm0
call fcn.101f2770
add esp, 8
fstp qword [esi + 0xf0]
movsd xmm0, qword [esi + 0xf0]
mov eax, dword [esi + 0x24]
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x30]
movsd qword [esi + 0x10], xmm0
lea eax, [ebx + eax*4]
push dword [esi + 0x68]
push eax
push ebx
call fcn.101e3b60
add esp, 0xc
test edi, edi
jle 0x101d1a4f
mov eax, dword [esi + 0x20]
movsd xmm0, qword [esi + 0x10]
movss xmm1, dword [esi + 0x58]
xorps xmm3, xmm3
lea edx, [ebx + eax*4]
mov eax, edi
cvtsd2ss xmm0, xmm0
xor edi, edi
mov ecx, eax
mov eax, dword [esi + 0xc]
mulss xmm1, xmm0
cmp edi, eax
mov dword [esi + 0x10], ecx
jl 0x101d1a03
mulss xmm1, xmm0
mov ebx, eax
mov ecx, 0
mov eax, dword [esi + 0x38]
cmovl ebx, ecx
mov ecx, edi
sub ecx, ebx
neg ebx
add ecx, dword [esi + 0x40]
lea edi, [edi + ebx + 1]
movss xmm2, dword [eax + ecx*4]
sub ecx, dword [esi + 0x24]
mov eax, dword [esi + 4]
mulss xmm2, xmm1
movss dword [edx], xmm2
add edx, 4
movss xmm2, dword [eax + ecx*4 + 0x1000]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mulss xmm2, xmm2
dec ecx
addss xmm3, xmm2
jne 0x101d19f8
jmp 0x101d1a52
xorps xmm3, xmm3
mov eax, dword [esi + 0xd0]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
movss dword [esi + 0x2c], xmm3
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xcc]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x114], eax
mov eax, dword [esi + 0xc8]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0xc4]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0xc0]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x120], eax
mov eax, dword [esi + 0xbc]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0xb8]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0xb4]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x12c], eax
mov eax, dword [esi + 0xb0]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0xac]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x134], eax
mov eax, dword [esi + 0xa8]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0xa4]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x13c], eax
mov eax, dword [esi + 0xa0]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x140], eax
mov eax, dword [esi + 0x9c]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x144], eax
mov eax, dword [esi + 0x98]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x148], eax
mov eax, dword [esi + 0x94]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x14c], eax
mov eax, dword [esi + 0x90]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x8c]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x88]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x84]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x15c], eax
mov eax, dword [esi + 0x80]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x160], eax
mov eax, dword [esi + 0x7c]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x164], eax
mov eax, dword [esi + 0x78]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x168], eax
mov eax, dword [esi + 0x74]
mov eax, dword [ebx + eax*4]
mov dword [esi + 0x16c], eax
lea eax, [ebx + 0x2000]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x4c]
lea eax, [ebx + eax*4 + 0x2000]
push dword [ecx + 0x24]
lea ecx, [esi + 0x110]
push ecx
push 0x18
mov edi, dword [esi + 0x30]
push edi
push eax
push dword [esi + 0x48]
push eax
call fcn.101d9e30
add esp, 0x1c
test edi, edi
jle 0x101d1c49
mov eax, dword [esi + 0x20]
xorps xmm0, xmm0
mov ecx, edi
lea eax, [ebx + eax*4]
movss xmm1, dword [eax]
add eax, 4
dec ecx
mulss xmm1, xmm1
addss xmm0, xmm1
jne 0x101d1bfb
movaps xmm1, xmm0
movss xmm2, dword [esi + 0x2c]
mov ebx, dword [esi + 0x10]
mulss xmm1, dword [0x1024f500]
ucomiss xmm2, xmm1
ja 0x101d1c5d
test edi, edi
jle 0x101d1d1e
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
lea eax, [ecx + eax*4]
push dword [esi + 0x60]
push 0
push eax
call fcn.101e40e0
add esp, 0xc
jmp 0x101d1d1e
movss xmm2, dword [esi + 0x2c]
mov ebx, dword [esi + 0x10]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
jbe 0x101d1d1e
ucomiss xmm0, xmm2
jbe 0x101d1d1e
movss xmm4, dword [0x10210930]
addss xmm2, xmm4
addss xmm0, xmm4
divss xmm2, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
ucomisd xmm0, qword [0x10224d40]
jb 0x101d1c91
sqrtsd xmm0, xmm0
jmp 0x101d1cb7
sub esp, 8
movsd qword [esp], xmm0
call fcn.101f2770
movss xmm4, dword [0x10210930]
add esp, 8
fstp qword [esi + 0xe8]
movsd xmm0, qword [esi + 0xe8]
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x28]
cvtsd2ss xmm0, xmm0
test edx, edx
jle 0x101d1cf6
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
movaps xmm1, xmm4
subss xmm1, xmm0
lea eax, [ecx + eax*4]
xor ecx, ecx
movss xmm2, dword [edi + ecx*4]
movaps xmm3, xmm4
mulss xmm2, xmm1
subss xmm3, xmm2
mulss xmm3, dword [eax + ecx*4]
movss dword [eax + ecx*4], xmm3
inc ecx
cmp edx, ecx
jne 0x101d1cd7
cmp dword [esi + 0x24], 0
mov edx, dword [esi + 0x30]
jle 0x101d1d1e
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 4]
lea eax, [ecx + eax*4]
mov ecx, dword [esi + 0x18]
movss xmm1, dword [eax + ecx*4]
mulss xmm1, xmm0
movss dword [eax + ecx*4], xmm1
inc ecx
cmp ecx, edx
jl 0x101d1d0b
mov edx, dword [esi + 8]
movss xmm0, dword [edx + 0x44]
mov eax, dword [edx + 0x4c]
mov ecx, dword [edx + 0x24]
mov edx, dword [edx + 0x3c]
xorps xmm0, xmmword [0x10210920]
sub esp, 0x30
mov edi, dword [esi + 0x18]
mov dword [esp + 4], ebx
mov ebx, dword [esi + 0xe4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov eax, 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edi
mov dword [esp], ebx
call fcn.10193d50
mov edx, ebx
add esp, 0x30
mov ebx, dword [esi + 0x28]
cmp edi, 2
jl 0x101d1db8
mov ecx, dword [esi + 0x64]
xor eax, eax
movss xmm0, dword [ebx + eax*4]
movss xmm1, dword [ebx + ecx*4]
mov edi, dword [esi + 0x10]
mulss xmm0, dword [edx + ecx*4]
mulss xmm1, dword [edx + eax*4]
dec ecx
addss xmm1, xmm0
movss dword [edi + eax*4], xmm1
inc eax
cmp dword [esi + 0x54], eax
jne 0x101d1d91
mov eax, dword [esi + 0x34]
inc eax
cmp eax, dword [esi + 0x50]
jne 0x101d1772
jmp 0x101d148a