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

Disassembly:
sub esp, 0xd0
mov ecx, dword [esp + 0xf8]
mov eax, 1
push esi
mov esi, dword [esp + 0xe8]
and ecx, 1
add ecx, 2
shl eax, cl
mov dword [esp + 0x78], eax
movsd xmm2, qword [esi + 0x18]
movsd xmm0, qword [esi + 8]
movsd xmm3, qword [esi + 0x10]
mov eax, dword [esi + 0x24]
mov ecx, eax
movsd xmm1, qword [esi]
and ecx, 3
movsd qword [esp + 0xc], xmm0
movaps xmm0, xmm2
subsd xmm0, xmm3
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xec]
shr eax, 2
and eax, 0xffffff01
movsd qword [esp + 0x50], xmm1
push edi
mov ecx, dword [ecx + 0x14]
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [0x101735a0]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esp + 0xe4]
movsd qword [esp + 0xac], xmm0
movaps xmm0, xmm1
minsd xmm0, qword [0x1017ec80]
mov dword [esp + 0xbc], ecx
and ecx, 3
dec ecx
movsd qword [esp + 0x38], xmm3
mov dword [esp + 0x40], ecx
movsd qword [esp + 0x5c], xmm2
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [0x10178b48]
mov dword [esp + 0xc8], eax
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x30], xmm2
call fcn.100b0d60
movsd xmm1, qword [esp + 0x6c]
mov edi, 1
movsd xmm5, qword [esp + 0x90]
mulsd xmm0, qword [0x1017d110]
addsd xmm1, xmm5
mov eax, dword [esp + 0xbc]
shr eax, 3
not al
mov dword [esp + 0xa8], 1
and eax, 0xffffff01
mov dword [esp + 0xb4], 1
test byte [esi + 0x24], 0x40
mulsd xmm1, xmm0
mov dword [esp + 0xa0], 0
movsd qword [esp + 0x98], xmm0
mov dword [esp + 0xd0], 1
mov dword [esp + 0xb8], edi
movsd qword [esp + 0x6c], xmm1
movsd qword [esp + 0x4c], xmm1
mov dword [esp + 0xa4], edi
mov byte [esp + 0xd6], 0
mov byte [esp + 0xd7], 0
mov dword [esp + 0xbc], eax
je 0x1007b25b
movsd xmm0, qword [0x1017ec78]
xor edx, edx
comisd xmm0, xmmword [esp + 0x54]
movsd xmm0, qword [0x1017d108]
setae dl
xor ecx, ecx
comisd xmm0, xmmword [esp + 0x38]
setae cl
jmp 0x1007b28e
movsd xmm1, qword [esp + 0x54]
ucomisd xmm1, qword [0x1017ec78]
lahf
test ah, 0x44
jp 0x1007b273
mov dl, 1
jmp 0x1007b275
xor dl, dl
movsd xmm2, qword [esp + 0x38]
ucomisd xmm2, qword [0x1017d108]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, edi
cmovnp ecx, eax
xor esi, esi
test dl, dl
je 0x1007b2dc
cmp dword [esp + 0xcc], edi
jne 0x1007b2dc
movsd xmm2, qword [esp + 0xe4]
comisd xmm2, xmm5
ja 0x1007b2d8
movsd xmm0, qword [esp + 0x10]
ucomisd xmm0, qword [0x1017c1d8]
lahf
test ah, 0x44
jp 0x1007b2d8
test ecx, ecx
je 0x1007b2d8
movsd xmm4, qword [esp + 0x5c]
ucomisd xmm4, xmm5
lahf
test ah, 0x44
jp 0x1007b2d8
xor ecx, ecx
jmp 0x1007b320
mov ecx, edi
jmp 0x1007b320
fld qword [esp + 0x80]
sub esp, 8
fstp qword [esp]
call fcn.100b1010
movsd xmm5, qword [esp + 0x98]
add esp, 8
movsd xmm2, qword [esp + 0xe4]
fstp qword [esp + 0x80]
cvttsd2si eax, qword [esp + 0x80]
sub eax, 6
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
comisd xmm5, xmm2
mov dword [esp + 0xc0], ecx
movsd xmm3, qword [esp + 0x5c]
movsd xmm4, qword [esp + 0x38]
jbe 0x1007b36f
movaps xmm1, xmm4
movaps xmm2, xmm3
divsd xmm1, qword [0x1017ec38]
movaps xmm0, xmm5
subsd xmm2, xmm5
subsd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x1007b366
pop edi
mov eax, str.imaging_greater_than_rolloff
pop esi
add esp, 0xd0
ret
movsd xmm2, qword [esp + 0xe4]
movsd xmm0, qword [0x1017ec00]
movsd xmm1, qword [esp + 0x64]
comisd xmm0, xmm1
ja 0x1007c8ef
comisd xmm1, xmmword [0x1017ec28]
ja 0x1007c8ef
movsd xmm0, qword [0x1017ec20]
comisd xmm0, xmm4
ja 0x1007c8e1
comisd xmm3, xmmword [0x1017ec50]
ja 0x1007c8e1
movsd xmm1, qword [esp + 0x54]
xorps xmm7, xmm7
ucomisd xmm1, xmm7
lahf
test ah, 0x44
jnp 0x1007b3ee
movsd xmm0, qword [0x1017d430]
comisd xmm0, xmm1
ja 0x1007b3e0
comisd xmm1, xmmword [0x1017ec80]
jbe 0x1007b3ee
pop edi
mov eax, str.precision_not_in__15_33__bits
pop esi
add esp, 0xd0
ret
comisd xmm7, xmm2
jb 0x1007b402
pop edi
mov eax, str.resampling_factor_not_positive
pop esi
add esp, 0xd0
ret
movsd xmm0, qword [esp + 0x10]
comisd xmm7, xmm0
ja 0x1007c8d3
comisd xmm0, xmmword [0x1017d118]
ja 0x1007c8d3
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xfc]
movsd xmm6, qword [0x102511a0]
ucomisd xmm1, xmm7
mov dword [eax], edx
movsd qword [eax + 8], xmm2
lahf
test ah, 0x44
jnp 0x1007b942
imul eax, dword [esp + 0x7c], 0x2a
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsd qword [esp + 0x80], xmm1
inc esi
cmp dword [esp + 0x40], 0
mov dword [esp + 0xc4], esi
jle 0x1007b477
mov edi, 1
jmp 0x1007b4e2
test ecx, ecx
je 0x1007b482
mov edi, 0x800
jmp 0x1007b4e2
mov eax, dword [esp + 0xf0]
sub esp, 8
mov eax, dword [eax + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10174c90]
mulsd xmm0, qword [0x1017ec88]
divsd xmm0, xmm1
movsd qword [esp + 0x4c], xmm0
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.100b1010
movsd xmm5, qword [esp + 0x98]
add esp, 8
movsd xmm6, qword [0x102511a0]
xorps xmm7, xmm7
fstp qword [esp + 0x44]
cvttsd2si edi, qword [esp + 0x44]
movsd xmm1, qword [esp + 0xac]
movaps xmm4, xmm7
movaps xmm0, xmm1
movsd qword [esp + 0x20], xmm7
mulsd xmm0, xmm6
comisd xmm5, xmm1
cvttsd2si eax, xmm0
seta cl
xor edx, edx
mov byte [esp + 0xd6], cl
mov dword [esp + 0xa0], edx
sar eax, 1
je 0x1007b530
nop word [eax + eax]
inc edx
mulsd xmm1, xmm6
sar eax, 1
jne 0x1007b520
mov dword [esp + 0xa0], edx
movsd xmm2, qword [0x10178b48]
test cl, cl
jne 0x1007b550
comisd xmm1, xmmword [0x1017ec48]
jbe 0x1007b54c
comisd xmm2, xmm1
ja 0x1007b550
xor eax, eax
jmp 0x1007b555
mov eax, 1
comisd xmm1, xmm5
mov dword [esp + 0xb4], eax
jbe 0x1007b57d
test eax, eax
je 0x1007b57d
mov dword [esp + 0xa4], 2
movsd qword [esp + 0x44], xmm2
divsd xmm1, xmm2
jmp 0x1007b5a2
mov dword [esp + 0xa4], 1
movaps xmm0, xmm5
movsd qword [esp + 0x44], xmm0
divsd xmm1, xmm0
test eax, eax
jne 0x1007b5a2
comisd xmm2, xmm1
lea ecx, [eax + 2]
ja 0x1007b5a7
mov ecx, 1
cmp byte [esp + 0xd6], 0
je 0x1007b5c2
cmp dword [esp + 0xc0], 0
je 0x1007b5c2
mov eax, 1
jmp 0x1007b5c4
xor eax, eax
add eax, ecx
mov dword [esp + 0xa8], eax
movd xmm0, eax
cvtdq2pd xmm2, xmm0
mulsd xmm2, xmm1
cvttsd2si eax, xmm2
movaps xmm3, xmm2
movsd qword [esp + 0xac], xmm2
movsd qword [esp + 0x74], xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm0
ucomisd xmm3, xmm7
movsd qword [esp + 0x88], xmm3
lahf
test ah, 0x44
jnp 0x1007b686
movaps xmm0, xmm3
sub esp, 8
mulsd xmm0, qword [0x102511c0]
movsd qword [esp + 0x10], xmm0
addsd xmm0, xmm6
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call fcn.100afd20
fstp qword [esp + 0x28]
movsd xmm4, qword [esp + 0x28]
add esp, 8
divsd xmm4, qword [esp + 8]
movsd xmm5, qword [esp + 0x90]
xorps xmm7, xmm7
movsd xmm2, qword [esp + 0xac]
subsd xmm4, xmm5
movsd xmm3, qword [esp + 0x88]
movsd xmm6, qword [0x102511a0]
andps xmm4, xmmword [0x10174100]
movsd qword [esp + 0x20], xmm4
ucomisd xmm3, xmm7
mov esi, 1
lahf
test ah, 0x44
jp 0x1007b699
mov al, 1
jmp 0x1007b69b
xor al, al
mov byte [esp + 0xd7], al
cmp edi, 1
jl 0x1007b799
nop dword [eax + eax]
test al, al
jne 0x1007b78d
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
movaps xmm0, xmm1
addsd xmm0, xmm6
cvttsd2si ecx, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
subsd xmm0, xmm5
andps xmm0, xmmword [0x10174100]
comisd xmm4, xmm0
setae al
mov byte [esp + 0xd7], al
test al, al
je 0x1007b784
cmp ecx, esi
jne 0x1007b75f
fld qword [esp + 0x74]
sub esp, 8
fstp qword [esp]
call fcn.100b1010
xor eax, eax
movsd xmm3, qword [esp + 0x90]
fstp qword [esp + 0x7c]
movsd xmm2, qword [esp + 0x7c]
add esp, 8
comisd xmm2, xmmword [0x1017ec68]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x90]
movsd xmm6, qword [0x102511a0]
seta al
add dword [esp + 0xa0], eax
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1007b777
cvttsd2si eax, xmm2
mov dword [esp + 0xd0], esi
imul eax, esi
add eax, ecx
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mov al, byte [esp + 0xd7]
movsd qword [esp + 0x74], xmm2
inc esi
cmp esi, edi
jle 0x1007b6b0
movsd qword [esp + 0xac], xmm2
xorps xmm7, xmm7
movsd xmm0, qword [esp + 0x44]
mov eax, dword [esp + 0xd0]
imul eax, dword [esp + 0xa8]
mulsd xmm0, xmm2
mov edx, eax
cvttsd2si esi, xmm0
mov ecx, esi
or ecx, edx
not ecx
and ecx, 1
sar edx, cl
sar esi, cl
mov ecx, dword [esp + 0xbc]
test cl, cl
je 0x1007b892
cmp dword [esp + 0xb8], 1
jne 0x1007b892
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
comisd xmm0, xmmword [0x10174c80]
jbe 0x1007b892
ucomisd xmm0, qword [0x1017ec70]
lahf
test ah, 0x44
jnp 0x1007b892
mulsd xmm0, qword [0x10178d60]
mov edi, 4
mov dword [esp + 0xb8], edi
cvttsd2si eax, xmm0
sar eax, 1
je 0x1007b845
nop word [eax + eax]
cmp edi, 0x100
jge 0x1007b83e
add edi, edi
sar eax, 1
jne 0x1007b830
mov dword [esp + 0xb8], edi
movd xmm0, dword [esp + 0xd0]
xor esi, esi
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mov al, byte [esp + 0xd7]
mov dword [esp + 0xd0], 1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
divsd xmm1, xmm0
movd xmm0, dword [esp + 0xa8]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0xac], xmm1
jmp 0x1007b902
mov al, byte [esp + 0xd7]
test al, al
je 0x1007b8f4
movzx edi, cl
cmp edx, esi
mov ecx, esi
cmovge ecx, edx
lea eax, [edi*2 + 3]
cmp ecx, eax
jl 0x1007b8c0
mov ecx, esi
lea eax, [edi + edi*2]
imul ecx, edx
add eax, eax
cmp ecx, eax
jge 0x1007b8ed
mov dword [esp + 0xa8], edx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xa4], 1
mov dword [esp + 0xd0], 1
movsd qword [esp + 0xac], xmm5
mov al, byte [esp + 0xd7]
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xc0]
test ecx, ecx
jne 0x1007b931
test al, al
je 0x1007b915
test esi, esi
jne 0x1007b942
movsd xmm1, qword [esp + 0x80]
mov ecx, 1
mov dword [esp + 0xc0], ecx
xor esi, esi
jmp 0x1007b461
movsd xmm1, qword [esp + 0x80]
test esi, esi
je 0x1007b461
movd xmm0, dword [esp + 0xd0]
cvtdq2pd xmm0, xmm0
mov esi, dword [esp + 0xa4]
mulsd xmm0, qword [esp + 0xac]
ucomisd xmm0, xmm5
lahf
xor edx, edx
test ah, 0x44
mov eax, 1
cmovp edx, eax
mov eax, dword [esp + 0xb4]
imul eax, dword [esp + 0xa8]
xor ecx, ecx
imul esi, edi
cmp eax, 1
mov dword [esp + 0x8c], eax
mov dword [esp + 0xbc], esi
setne cl
xor eax, eax
cmp esi, 1
mov esi, dword [esp + 0xdc]
setne al
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0xa0]
add ecx, eax
mov dword [esi + 0x20], ecx
mov edx, ecx
jne 0x1007b9e6
movsd xmm0, qword [esp + 0xf4]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jnp 0x1007b9e6
lea edx, [ecx + 1]
mov dword [esp + 0xd0], 0
movsd qword [esp + 0x54], xmm7
mov dword [esi + 0x20], edx
lea eax, [edx + 1]
push 0xa0
push eax
call fcn.100a52d3
add esp, 8
mov dword [esi + 0x28], eax
test eax, eax
jne 0x1007ba0c
pop edi
mov eax, str.out_of_memory
pop esi
add esp, 0xd0
ret
xor edx, edx
cmp dword [esi + 0x20], edx
jle 0x1007ba66
mov esi, dword [esp + 0xe0]
xor ecx, ecx
mov edi, dword [esp + 0xdc]
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x28]
lea ecx, [ecx + 0xa0]
mov dword [ecx + eax - 0xa0], edx
inc edx
mov eax, dword [edi + 0x28]
mov dword [ecx + eax - 0x5c], esi
mov eax, dword [edi + 0x28]
mov dword [ecx + eax - 0x68], 0x2000
cmp edx, dword [edi + 0x20]
jl 0x1007ba30
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0xdc]
movd xmm1, dword [esp + 0xa4]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov eax, dword [esi + 0x28]
mov byte [eax + 0x3c], 1
cvtdq2pd xmm1, xmm1
mov ecx, dword [esi + 0x20]
mulsd xmm0, qword [esp + 0xe4]
divsd xmm1, xmm0
movsd qword [esp + 0x44], xmm1
cmp ecx, 1
jle 0x1007bb0d
movd xmm0, dword [esp + 0xd0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0xac]
ucomisd xmm0, qword [esp + 0x90]
lahf
test ah, 0x44
jnp 0x1007bada
movsd xmm0, qword [esp + 0x98]
dec ecx
addsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 0x6c], xmm0
jmp 0x1007bae0
movsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 0x4c], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
call fcn.100b0d60
mulsd xmm0, qword [0x1017d110]
movsd xmm1, qword [esp + 0x6c]
addsd xmm1, xmm0
movsd qword [esp + 0x6c], xmm1
jmp 0x1007bb13
movsd xmm1, qword [esp + 0x6c]
mov eax, dword [esp + 0xfc]
xor edx, edx
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
cmp edi, 1
jbe 0x1007bb46
lea ecx, [edx + 1]
lea eax, [esi + 0x10]
nop dword [eax]
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x1007bb46
inc ecx
inc edx
add eax, 0x14
cmp ecx, edi
jb 0x1007bb30
mov eax, dword [esp + 0xdc]
lea ecx, [edx + edx*4]
mov edi, dword [eax + 0x28]
mov eax, dword [esp + 0xa0]
test eax, eax
jle 0x1007bb90
mov edx, eax
mov eax, dword [esi + ecx*4 + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + ecx*4 + 4]
mov dword [edi + 0x54], eax
mov eax, dword [esi + ecx*4]
mov dword [edi + 0x84], eax
shl eax, 2
mov dword [edi + 0x24], eax
sar eax, 1
mov dword [edi + 0x20], eax
mov dword [edi + 0x28], eax
add edi, 0xa0
sub edx, 1
jne 0x1007bb60
cmp dword [esp + 0x8c], 1
je 0x1007bd9d
cmp byte [esp + 0xc8], 0
je 0x1007bc9d
cmp dword [esp + 0xbc], 1
je 0x1007bc9d
movsd xmm0, qword [0x1017d120]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.10065ba0
movsd xmm0, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x7c]
fmul qword [esp + 0x74]
movsd qword [esp + 8], xmm1
movaps xmm1, xmm0
addsd xmm1, xmm0
fstp qword [esp + 0xa8]
subsd xmm1, qword [esp + 0x6c]
maxsd xmm1, xmm0
movsd xmm0, qword [esp + 0xa8]
subsd xmm1, qword [esp + 0x48]
divsd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.10064f50
fstp qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa8]
add esp, 0x10
xorps xmm1, xmmword [0x1017ea00]
comisd xmm1, xmmword [0x1017ec10]
jbe 0x1007bc9d
cmp dword [0x102c0568], 0
movaps xmm0, xmm1
mulsd xmm0, qword [0x1017ebf8]
movsd xmm2, qword [0x1017ec08]
subsd xmm2, xmm0
mulsd xmm2, xmm1
subsd xmm2, qword [0x1017ec18]
mulsd xmm2, xmm1
addsd xmm2, qword [0x1017ec40]
movsd qword [esp + 0x28], xmm2
jle 0x1007bca3
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm2
push str.tbw_tighten_g___gdB_
call fcn.1005f8e0
add esp, 0x14
movsd xmm2, qword [esp + 0x28]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xa8]
test ecx, ecx
je 0x1007bcc6
cmp edx, ecx
mov eax, ecx
cmovge eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jmp 0x1007bce0
movd xmm0, dword [esp + 0xd0]
movsd xmm1, qword [esp + 0xac]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
mov eax, dword [esp + 0xfc]
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x80], xmm1
push dword [eax + 0x24]
mov eax, dword [esp + 0xf4]
push dword [esp + 0x104]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x104]
push eax
mov eax, 1
cmp ecx, eax
cmovge eax, ecx
push eax
push edx
push edi
sub esp, 0x28
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 0x10], xmm1
movsd xmm1, qword [esp + 0xac]
mulsd xmm1, xmm2
movsd qword [esp + 8], xmm0
subsd xmm0, xmm1
movsd qword [esp], xmm0
push 0
call fcn.1007d0f0
movsd xmm5, qword [esp + 0x84]
add esp, 0x4c
divsd xmm5, qword [esp + 0x80]
add edi, 0xa0
movsd xmm4, qword [esp + 0x5c]
divsd xmm4, qword [esp + 0x80]
movsd qword [esp + 0x18], xmm5
jmp 0x1007bda9
movsd xmm4, qword [esp + 0x30]
movsd xmm5, qword [esp + 0x18]
movsd xmm1, qword [esp + 0x54]
ucomisd xmm1, qword [0x101740f0]
mov esi, dword [esp + 0xd0]
movsd xmm1, qword [esp + 0xac]
movsd xmm3, qword [esp + 0x90]
lahf
test ah, 0x44
jp 0x1007be7f
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1007be7f
mov eax, dword [esp + 0xfc]
movsd xmm0, qword [esp + 0xf4]
movsd qword [esp + 0xf4], xmm3
mov eax, dword [eax + 0x1c]
movsd qword [edi + 0x90], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [0x102511c0]
mov dword [edi + 8], eax
addsd xmm0, qword [0x102511a0]
call fcn.100a0430
mov ecx, eax
mov dword [esp + 0xec], 3
cmp edx, 3
mov dword [edi + 0x70], ecx
mov eax, edx
mov dword [edi + 0x74], edx
cmovle eax, dword [esp + 0xec]
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], 1
mov dword [edi + 0x28], 1
call fcn.100a0530
movsd xmm1, qword [0x102511c0]
divsd xmm1, xmm0
movsd qword [edi + 0x30], xmm1
jmp 0x1007c660
movd xmm2, esi
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm2
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x1007c669
movzx eax, byte [esp + 0xd6]
xor ecx, ecx
cmp dword [esp + 0xb4], ecx
setne cl
add ecx, eax
movzx eax, byte [esp + 0xd6]
xor eax, 1
lea edx, [ecx + ecx*2]
add edx, edx
sub edx, eax
mov eax, dword [esp + 0xfc]
add edx, dword [esp + 0xc0]
mov eax, dword [eax + 0x20]
lea ecx, [edx*8]
sub ecx, edx
cmp byte [esp + 0xd6], 0
cvttss2si esi, dword [eax + ecx*4 + 4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0xc8], esi
je 0x1007bfc5
movsd qword [esp + 0x64], xmm3
mov eax, dword [esp + 0xc0]
movsd qword [esp + 0x54], xmm3
test eax, eax
je 0x1007bf2a
subsd xmm4, xmm5
mulsd xmm4, qword [0x1017ec30]
addsd xmm4, xmm5
movaps xmm0, xmm4
movsd xmm4, qword [0x10178b48]
subsd xmm4, xmm0
movsd qword [esp + 0x30], xmm4
test eax, eax
je 0x1007bfaf
mov eax, dword [esp + 0xcc]
subsd xmm4, xmm5
movsd xmm0, qword [esp + 0x4c]
sub esp, 0x10
movsd qword [esp + 8], xmm0
movss xmm0, dword [eax*4 + 0x1017ea20]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm4
movsd qword [esp], xmm0
call fcn.10065ba0
movsd xmm0, qword [esp + 0xa0]
add esp, 0x10
movsd xmm1, qword [esp + 8]
fstp qword [esp + 0x98]
subsd xmm0, qword [esp + 0x98]
divsd xmm1, xmm0
movsd xmm0, qword [esp + 0x30]
subsd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x40]
xor eax, eax
test ecx, ecx
jns 0x1007c012
cmp byte [esp + 0xd7], al
sete al
jmp 0x1007c021
cmp dword [esp + 0xb4], 0
movaps xmm0, xmm1
divsd xmm0, xmm2
movsd qword [esp + 0x64], xmm0
je 0x1007bf09
mov eax, dword [esp + 0xc0]
subsd xmm4, xmm3
movaps xmm1, xmm0
movsd qword [esp + 0x64], xmm0
addsd xmm1, xmm0
andps xmm4, xmmword [0x10174100]
addsd xmm4, qword [0x1017ec68]
movsd qword [esp + 0x54], xmm1
jmp 0x1007bf39
cmp byte [esp + 0xd7], al
sete al
cmp ecx, eax
cmovge eax, ecx
movsd xmm0, qword [esp + 0x64]
lea edx, [eax - 1]
mov dword [esp + 0xc4], edx
call fcn.100b1b30
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [0x10178b48]
call fcn.100b1b30
movsd xmm2, qword [esp + 0x64]
divsd xmm2, xmm0
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xc4]
and eax, 2
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
lea eax, [eax + ecx*8]
add eax, 4
movsd qword [esp + 0x64], xmm2
jmp 0x1007c08e
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0xbc]
inc ecx
add eax, 8
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xbc], eax
test ecx, ecx
je 0x1007c0d2
movd xmm0, dword [esp + 0xd0]
movsd xmm1, qword [esp + 0xac]
cvtdq2pd xmm0, xmm0
mov dword [esp + 0xd0], 1
divsd xmm1, xmm0
movsd qword [esp + 0xac], xmm1
movzx eax, byte [esp + 0xd7]
xor ecx, ecx
cmp dword [esp + 0xc4], ecx
cmove ecx, eax
mov eax, dword [esp + 0xbc]
sub esp, 8
mov byte [esp + 0xdf], cl
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm2
movsd qword [esp + 0xa0], xmm0
fld qword [esp + 0xa0]
fstp qword [esp]
call fcn.100b1010
fstp qword [esp + 0x88]
cvttsd2si ecx, qword [esp + 0x88]
mov edx, 1
add esp, 8
xorps xmm1, xmm1
shl edx, cl
mov ecx, dword [esp + 0x8c]
cmp byte [esp + 0xd7], 0
cmovne edx, dword [esp + 0xd0]
movss xmm0, dword [ecx + 4]
ucomiss xmm0, xmm1
mov dword [esp + 0xcc], edx
lahf
test ah, 0x44
jp 0x1007c203
movss xmm0, dword [ecx]
lea eax, [esp + 0xc8]
cvtps2pd xmm0, xmm0
mov esi, 0x13
mov dword [esp + 0xc8], 0
cmp edx, esi
cmovge esi, edx
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x54]
push esi
push eax
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0x84]
xorps xmm0, xmmword [0x1017ea00]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
call fcn.10064bf0
mov eax, dword [esp + 0xf8]
xor ecx, ecx
cdq
add esp, 0x30
idiv esi
cmp dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xcc]
sete cl
lea esi, [eax + 1]
and ecx, esi
add esi, ecx
mov dword [esp + 0xc8], esi
mov ecx, dword [esp + 0xd0]
mov eax, esi
mov dword [esp + 0xcc], edx
and eax, 1
je 0x1007c25f
cmp byte [esp + 0xd7], 0
mov dword [esp + 0xcc], edx
je 0x1007c25f
mov dword [esp + 0xcc], edx
test cl, 1
je 0x1007c25f
movsd xmm0, qword [esp + 0xac]
add edx, edx
addsd xmm0, xmm0
mov dword [esp + 0xcc], edx
add ecx, ecx
mov dword [esp + 0xd0], ecx
movsd qword [esp + 0xac], xmm0
jmp 0x1007c266
mov edx, dword [esp + 0xcc]
movsd xmm3, qword [0x102511a0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movd xmm1, ecx
mov ecx, dword [esp + 0xc4]
mulsd xmm0, xmm3
cvtdq2pd xmm1, xmm1
movsd qword [edi + 0x98], xmm0
mulsd xmm1, xmm0
movsd qword [esp + 0x98], xmm1
test ecx, ecx
je 0x1007c2b3
cmp dword [esp + 0xc0], 4
jle 0x1007c2b3
mov eax, 1
jmp 0x1007c2b5
xor eax, eax
add eax, ecx
cmp dword [esp + 0x78], 0
mov dword [esp + 0xc4], eax
je 0x1007c2cd
lea eax, [esi + 3]
and eax, 0xfffffffc
jmp 0x1007c2cf
mov eax, esi
mov esi, dword [esp + 0xc4]
inc esi
imul esi, eax
imul esi, edx
imul esi, dword [esp + 0x7c]
cmp dword [esp + 0x40], 0
jge 0x1007c322
cmp ecx, 2
jge 0x1007c322
mov eax, dword [esp + 0xbc]
cmp dword [eax + 0xc], 0
je 0x1007c322
movsd xmm2, qword [esp + 0x64]
mov eax, 0x10624dd3
mul esi
mov eax, dword [esp + 0xf0]
shr edx, 6
cmp edx, dword [eax + 8]
ja 0x1007c080
mov edx, dword [esp + 0xcc]
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
jne 0x1007c455
mov eax, edx
sub esp, 8
imul eax, dword [esp + 0xd0]
dec eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x94]
movss xmm0, dword [eax]
lea eax, [esp + 0x80]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x54]
push edx
push eax
sub esp, 0x20
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esp + 0x84]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
call fcn.10064bf0
mov edx, dword [esp + 0x12c]
add esp, 0x30
movsd xmm0, qword [esp + 0xf4]
mov dword [esp + 0x8c], eax
push edx
push dword [esp + 0x104]
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0xd4]
push dword [esp + 0xe0]
push dword [esp + 0xe0]
push eax
call fcn.1007d5f0
mov ecx, dword [edi + 0x44]
add esp, 0x20
mov dword [ecx], eax
cmp dword [0x102c0568], 0
jle 0x1007c435
movd xmm0, esi
sub esp, 8
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x10174c90]
divsd xmm0, qword [0x1017ec88]
movsd qword [esp], xmm0
push dword [esp + 0xcc]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push str.fir_len_i_phases_i_coef_interp_i_size_.3gk
call fcn.1005f8e0
add esp, 0x18
push dword [esp + 0x8c]
call fcn.100a80a4
movsd xmm1, qword [esp + 0x9c]
add esp, 4
movsd xmm3, qword [0x102511a0]
test byte [esp + 0x100], 2
mov eax, dword [esp + 0xbc]
movsd xmm0, qword [esp + 0x90]
mov edx, dword [esp + 0xc8]
movsd qword [esp + 0xf4], xmm0
mov eax, dword [eax + 4]
mov dword [edi + 8], eax
je 0x1007c4a6
lea eax, [edx + 3]
and eax, 0xfffffffc
lea ecx, [edx + 3]
dec eax
and ecx, 0xfffffffc
mov dword [edi + 0x24], eax
lea eax, [edx - 1]
sar eax, 1
sub eax, edx
add edx, 3
add eax, ecx
and edx, 0xfffffffc
jmp 0x1007c4b1
lea eax, [edx - 1]
mov dword [edi + 0x24], eax
lea eax, [edx - 1]
sar eax, 1
cmp dword [esp + 0xc0], 1
mov dword [edi + 0x28], eax
cvttsd2si eax, qword [esp + 0x80]
mov dword [edi + 0x84], edx
mov dword [edi + 0x88], eax
mov eax, dword [esp + 0xd0]
mov dword [edi + 0x7c], eax
jle 0x1007c5d2
mov eax, dword [esp + 0xec]
test byte [eax + 0x24], 8
je 0x1007c5d2
cmp byte [esp + 0xd7], 0
jne 0x1007c5d2
mulsd xmm1, qword [0x102511c0]
mov al, 1
mov byte [edi + 0x78], al
addsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.100a0430
movsd xmm0, qword [esp + 0xac]
mulsd xmm0, qword [0x102511c0]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
mov dword [edi + 0x5c], 0x80000000
movsd qword [esp + 0x98], xmm0
call fcn.100a0430
mov ecx, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x8c], edx
call fcn.100a0530
movsd xmm1, qword [esp + 0x98]
subsd xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [esp + 0x4c], xmm0
movsd xmm0, qword [0x1017ec90]
mulsd xmm1, qword [0x1017ec98]
comisd xmm1, xmm0
jb 0x1007c59f
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x1007c59f
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
add esi, 0
adc eax, 0x80000000
jmp 0x1007c5a7
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
movaps xmm0, xmm1
mov dword [esp + 0xec], eax
call fcn.100a0430
mov ecx, dword [esp + 0x8c]
add eax, esi
mov dword [edi + 0x68], eax
adc edx, dword [esp + 0xec]
mov eax, dword [esp + 0x78]
mov dword [edi + 0x6c], edx
jmp 0x1007c611
mulsd xmm1, qword [0x102511c0]
xor al, al
mov byte [edi + 0x78], al
addsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.100a0430
movsd xmm0, qword [esp + 0xac]
mulsd xmm0, qword [0x102511c0]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
addsd xmm0, qword [0x102511a0]
call fcn.100a0430
mov ecx, edx
mov esi, 0x70
mov edx, edi
mov dword [esi + edx], eax
mov dword [esi + edx + 4], ecx
mov edx, ecx
mov esi, dword [esp + 0xd0]
mov ecx, eax
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102511c0]
movsd qword [esp + 0x98], xmm0
call fcn.100a0530
movsd xmm1, qword [esp + 0x98]
divsd xmm1, xmm0
movsd qword [edi + 0x30], xmm1
add edi, 0xa0
movsd xmm3, qword [esp + 0x90]
mov edx, dword [esp + 0xa4]
mov eax, edx
mov ecx, dword [esp + 0xb8]
imul eax, ecx
cmp eax, 1
je 0x1007c75f
cmp byte [esp + 0xd6], 0
je 0x1007c6b1
movsd xmm0, qword [esp + 0x5c]
movsd xmm1, qword [esp + 0x44]
divsd xmm0, xmm1
movsd xmm2, qword [0x10178b48]
subsd xmm2, xmm0
maxsd xmm2, xmm3
jmp 0x1007c6ba
movsd xmm2, qword [esp + 0x5c]
movaps xmm1, xmm3
mov eax, dword [esp + 0xfc]
movsd xmm0, qword [esp + 0x10]
push dword [eax + 0x24]
mov eax, dword [esp + 0xf4]
push dword [esp + 0x104]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x104]
push eax
push edx
push ecx
push edi
sub esp, 0x28
mov eax, edx
cmp ecx, edx
cmovge eax, ecx
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x18], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm2
movsd xmm2, qword [esp + 0x80]
divsd xmm2, xmm1
movsd xmm1, qword [esp + 0xa4]
movaps xmm0, xmm1
subsd xmm0, xmm2
mulsd xmm0, qword [esp + 0x70]
subsd xmm1, xmm0
movsd qword [esp], xmm1
push 1
call fcn.1007d0f0
mov ecx, dword [esp + 0x104]
add esp, 0x4c
mov edx, dword [esp + 0xa4]
cmp dword [0x102c0568], 0
jle 0x1007c7c0
push dword [esp + 0x100]
movsd xmm0, qword [esp + 0xb0]
push edx
push ecx
sub esp, 8
mov ecx, dword [esp + 0xb4]
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0xa4]
divsd xmm0, qword [esp + 0xf8]
push esi
push dword [esp + 0xcc]
push dword [esp + 0xc4]
push ecx
sub esp, 8
movsd qword [esp], xmm0
push str._g:____i__i__i__i__g__i__i___x_
call fcn.1005f8e0
add esp, 0x30
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x100], 0
cmp dword [eax + 0x20], 0
mov esi, dword [eax + 0x28]
mov dword [esp + 0xf0], esi
jle 0x1007c89c
lea edi, [esi + 0x10]
nop dword [eax]
mov eax, dword [esp + 0x7c]
lea esi, [edi - 4]
push 0x4000
mov dword [edi + 4], eax
mov dword [edi], 0x4000
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
call fcn.100a843f
mov dword [esi], eax
add esp, 4
mov ecx, dword [edi + 0x18]
mov eax, ecx
imul eax, dword [esp + 0x7c]
push eax
push 0
push ecx
push esi
call fcn.10068140
add esp, 8
push eax
call fcn.100a2020
add esp, 0xc
cmp dword [0x102c0568], 1
jle 0x1007c863
push dword [edi + 0x54]
mov ecx, dword [edi + 0x10]
push dword [edi + 0x18]
mov eax, dword [edi + 0x14]
sub eax, ecx
push eax
push ecx
push str._5i__5i_preload_i_remL_i
call fcn.1005f8e0
add esp, 0x14
mov eax, dword [esp + 0x100]
add edi, 0xa0
mov ecx, dword [esp + 0xdc]
inc eax
mov esi, dword [esp + 0xf0]
add esi, 0xa0
mov dword [esp + 0x100], eax
mov dword [esp + 0xf0], esi
cmp eax, dword [ecx + 0x20]
jl 0x1007c7f0
mov eax, dword [esp + 0x7c]
push 0x4000
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0x4000
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
call fcn.100a843f
add esp, 4
mov dword [esi + 0xc], eax
xor eax, eax
pop edi
pop esi
add esp, 0xd0
ret
pop edi
mov eax, str.phase_response_not_in__0min_phase_100max_phase___
pop esi
add esp, 0xd0
ret
pop edi
mov eax, str.transition_band_not_within__50_150____of_nyquist
pop esi
add esp, 0xd0
ret
pop edi
mov eax, str.transition_bandwidth_not_in__0.2_50____of_nyquist
pop esi
add esp, 0xd0
ret