Function at 0x100db000
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 [0x101fcb90]
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 [0x1020f4c0]
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 [0x102de5f8]
mov dword [esp + 0xc8], eax
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x30], xmm2
call fcn.10137330
movsd xmm1, qword [esp + 0x6c]
mov edi, 1
movsd xmm5, qword [esp + 0x90]
mulsd xmm0, qword [0x1020d998]
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 0x100db1bb
movsd xmm0, qword [0x1020f4b8]
xor edx, edx
comisd xmm0, xmmword [esp + 0x54]
movsd xmm0, qword [0x1020d990]
setae dl
xor ecx, ecx
comisd xmm0, xmmword [esp + 0x38]
setae cl
jmp 0x100db1ee
movsd xmm1, qword [esp + 0x54]
ucomisd xmm1, qword [0x1020f4b8]
lahf
test ah, 0x44
jp 0x100db1d3
mov dl, 1
jmp 0x100db1d5
xor dl, dl
movsd xmm2, qword [esp + 0x38]
ucomisd xmm2, qword [0x1020d990]
lahf
xor ecx, ecx
test ah, 0x44
mov eax, edi
cmovnp ecx, eax
xor esi, esi
test dl, dl
je 0x100db23c
cmp dword [esp + 0xcc], edi
jne 0x100db23c
movsd xmm2, qword [esp + 0xe4]
comisd xmm2, xmm5
ja 0x100db238
movsd xmm0, qword [esp + 0x10]
ucomisd xmm0, qword [0x1020ca70]
lahf
test ah, 0x44
jp 0x100db238
test ecx, ecx
je 0x100db238
movsd xmm4, qword [esp + 0x5c]
ucomisd xmm4, xmm5
lahf
test ah, 0x44
jp 0x100db238
xor ecx, ecx
jmp 0x100db280
mov ecx, edi
jmp 0x100db280
fld qword [esp + 0x80]
sub esp, 8
fstp qword [esp]
call fcn.1012ff40
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 0x100db2cf
movaps xmm1, xmm4
movaps xmm2, xmm3
divsd xmm1, qword [0x1020f488]
movaps xmm0, xmm5
subsd xmm2, xmm5
subsd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x100db2c6
pop edi
mov eax, str.imaging_greater_than_rolloff
pop esi
add esp, 0xd0
ret
movsd xmm2, qword [esp + 0xe4]
movsd xmm0, qword [0x1020f450]
movsd xmm1, qword [esp + 0x64]
comisd xmm0, xmm1
ja 0x100dc84f
comisd xmm1, xmmword [0x1020f478]
ja 0x100dc84f
movsd xmm0, qword [0x1020f470]
comisd xmm0, xmm4
ja 0x100dc841
comisd xmm3, xmmword [0x1020f4a0]
ja 0x100dc841
movsd xmm1, qword [esp + 0x54]
xorps xmm7, xmm7
ucomisd xmm1, xmm7
lahf
test ah, 0x44
jnp 0x100db34e
movsd xmm0, qword [0x1020dca0]
comisd xmm0, xmm1
ja 0x100db340
comisd xmm1, xmmword [0x1020f4c0]
jbe 0x100db34e
pop edi
mov eax, str.precision_not_in__15_33__bits
pop esi
add esp, 0xd0
ret
comisd xmm7, xmm2
jb 0x100db362
pop edi
mov eax, str.resampling_factor_not_positive
pop esi
add esp, 0xd0
ret
movsd xmm0, qword [esp + 0x10]
comisd xmm7, xmm0
ja 0x100dc833
comisd xmm0, xmmword [0x10200428]
ja 0x100dc833
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xfc]
movsd xmm6, qword [0x102de5f0]
ucomisd xmm1, xmm7
mov dword [eax], edx
movsd qword [eax + 8], xmm2
lahf
test ah, 0x44
jnp 0x100db8a2
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 0x100db3d7
mov edi, 1
jmp 0x100db442
test ecx, ecx
je 0x100db3e2
mov edi, 0x800
jmp 0x100db442
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 + 0x101fcc40]
mulsd xmm0, qword [0x1020f4c8]
divsd xmm0, xmm1
movsd qword [esp + 0x4c], xmm0
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.1012ff40
movsd xmm5, qword [esp + 0x98]
add esp, 8
movsd xmm6, qword [0x102de5f0]
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 0x100db490
nop word [eax + eax]
inc edx
mulsd xmm1, xmm6
sar eax, 1
jne 0x100db480
mov dword [esp + 0xa0], edx
movsd xmm2, qword [0x102de5f8]
test cl, cl
jne 0x100db4b0
comisd xmm1, xmmword [0x1020f498]
jbe 0x100db4ac
comisd xmm2, xmm1
ja 0x100db4b0
xor eax, eax
jmp 0x100db4b5
mov eax, 1
comisd xmm1, xmm5
mov dword [esp + 0xb4], eax
jbe 0x100db4dd
test eax, eax
je 0x100db4dd
mov dword [esp + 0xa4], 2
movsd qword [esp + 0x44], xmm2
divsd xmm1, xmm2
jmp 0x100db502
mov dword [esp + 0xa4], 1
movaps xmm0, xmm5
movsd qword [esp + 0x44], xmm0
divsd xmm1, xmm0
test eax, eax
jne 0x100db502
comisd xmm2, xmm1
lea ecx, [eax + 2]
ja 0x100db507
mov ecx, 1
cmp byte [esp + 0xd6], 0
je 0x100db522
cmp dword [esp + 0xc0], 0
je 0x100db522
mov eax, 1
jmp 0x100db524
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 0x100db5e6
movaps xmm0, xmm3
sub esp, 8
mulsd xmm0, qword [0x102de628]
movsd qword [esp + 0x10], xmm0
addsd xmm0, xmm6
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call fcn.10130060
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 [0x102de5f0]
andps xmm4, xmmword [0x101fc7b0]
movsd qword [esp + 0x20], xmm4
ucomisd xmm3, xmm7
mov esi, 1
lahf
test ah, 0x44
jp 0x100db5f9
mov al, 1
jmp 0x100db5fb
xor al, al
mov byte [esp + 0xd7], al
cmp edi, 1
jl 0x100db6f9
nop dword [eax + eax]
test al, al
jne 0x100db6ed
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 [0x101fc7b0]
comisd xmm4, xmm0
setae al
mov byte [esp + 0xd7], al
test al, al
je 0x100db6e4
cmp ecx, esi
jne 0x100db6bf
fld qword [esp + 0x74]
sub esp, 8
fstp qword [esp]
call fcn.1012ff40
xor eax, eax
movsd xmm3, qword [esp + 0x90]
fstp qword [esp + 0x7c]
movsd xmm2, qword [esp + 0x7c]
add esp, 8
comisd xmm2, xmmword [0x101fccb8]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x90]
movsd xmm6, qword [0x102de5f0]
seta al
add dword [esp + 0xa0], eax
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x100db6d7
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 0x100db610
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 0x100db7f2
cmp dword [esp + 0xb8], 1
jne 0x100db7f2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
comisd xmm0, xmmword [0x10205540]
jbe 0x100db7f2
ucomisd xmm0, qword [0x101fcbb0]
lahf
test ah, 0x44
jnp 0x100db7f2
mulsd xmm0, qword [0x10209600]
mov edi, 4
mov dword [esp + 0xb8], edi
cvttsd2si eax, xmm0
sar eax, 1
je 0x100db7a5
nop word [eax + eax]
cmp edi, 0x100
jge 0x100db79e
add edi, edi
sar eax, 1
jne 0x100db790
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 0x100db862
mov al, byte [esp + 0xd7]
test al, al
je 0x100db854
movzx edi, cl
cmp edx, esi
mov ecx, esi
cmovge ecx, edx
lea eax, [edi*2 + 3]
cmp ecx, eax
jl 0x100db820
mov ecx, esi
lea eax, [edi + edi*2]
imul ecx, edx
add eax, eax
cmp ecx, eax
jge 0x100db84d
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 0x100db891
test al, al
je 0x100db875
test esi, esi
jne 0x100db8a2
movsd xmm1, qword [esp + 0x80]
mov ecx, 1
mov dword [esp + 0xc0], ecx
xor esi, esi
jmp 0x100db3c1
movsd xmm1, qword [esp + 0x80]
test esi, esi
je 0x100db3c1
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 0x100db946
movsd xmm0, qword [esp + 0xf4]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jnp 0x100db946
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.10128b3a
add esp, 8
mov dword [esi + 0x28], eax
test eax, eax
jne 0x100db96c
pop edi
mov eax, str.out_of_memory
pop esi
add esp, 0xd0
ret
xor edx, edx
cmp dword [esi + 0x20], edx
jle 0x100db9c6
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 0x100db990
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 0x100dba6d
movd xmm0, dword [esp + 0xd0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0xac]
ucomisd xmm0, qword [esp + 0x90]
lahf
test ah, 0x44
jnp 0x100dba3a
movsd xmm0, qword [esp + 0x98]
dec ecx
addsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 0x6c], xmm0
jmp 0x100dba40
movsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 0x4c], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
call fcn.10137330
mulsd xmm0, qword [0x1020d998]
movsd xmm1, qword [esp + 0x6c]
addsd xmm1, xmm0
movsd qword [esp + 0x6c], xmm1
jmp 0x100dba73
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 0x100dbaa6
lea ecx, [edx + 1]
lea eax, [esi + 0x10]
nop dword [eax]
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x100dbaa6
inc ecx
inc edx
add eax, 0x14
cmp ecx, edi
jb 0x100dba90
mov eax, dword [esp + 0xdc]
lea ecx, [edx + edx*4]
mov edi, dword [eax + 0x28]
mov eax, dword [esp + 0xa0]
test eax, eax
jle 0x100dbaf0
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 0x100dbac0
cmp dword [esp + 0x8c], 1
je 0x100dbcfd
cmp byte [esp + 0xc8], 0
je 0x100dbbfd
cmp dword [esp + 0xbc], 1
je 0x100dbbfd
movsd xmm0, qword [0x1020d9a0]
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.100c5b20
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.100c4ed0
fstp qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa8]
add esp, 0x10
xorps xmm1, xmmword [0x10200570]
comisd xmm1, xmmword [0x1020f460]
jbe 0x100dbbfd
cmp dword [0x1035f170], 0
movaps xmm0, xmm1
mulsd xmm0, qword [0x1020f448]
movsd xmm2, qword [0x1020f458]
subsd xmm2, xmm0
mulsd xmm2, xmm1
subsd xmm2, qword [0x1020f468]
mulsd xmm2, xmm1
addsd xmm2, qword [0x1020f490]
movsd qword [esp + 0x28], xmm2
jle 0x100dbc03
sub esp, 0x10
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm2
push str.tbw_tighten_g___gdB_
call fcn.100bf860
add esp, 0x14
movsd xmm2, qword [esp + 0x28]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xa8]
test ecx, ecx
je 0x100dbc26
cmp edx, ecx
mov eax, ecx
cmovge eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jmp 0x100dbc40
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.100dd050
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 0x100dbd09
movsd xmm4, qword [esp + 0x30]
movsd xmm5, qword [esp + 0x18]
movsd xmm1, qword [esp + 0x54]
ucomisd xmm1, qword [0x101fc450]
mov esi, dword [esp + 0xd0]
movsd xmm1, qword [esp + 0xac]
movsd xmm3, qword [esp + 0x90]
lahf
test ah, 0x44
jp 0x100dbddf
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100dbddf
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 [0x102de628]
mov dword [edi + 8], eax
addsd xmm0, qword [0x102de5f0]
call fcn.1011c640
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.1011c740
movsd xmm1, qword [0x102de628]
divsd xmm1, xmm0
movsd qword [edi + 0x30], xmm1
jmp 0x100dc5c0
movd xmm2, esi
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm2
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x100dc5c9
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 0x100dbf25
movsd qword [esp + 0x64], xmm3
mov eax, dword [esp + 0xc0]
movsd qword [esp + 0x54], xmm3
test eax, eax
je 0x100dbe8a
subsd xmm4, xmm5
mulsd xmm4, qword [0x1020f480]
addsd xmm4, xmm5
movaps xmm0, xmm4
movsd xmm4, qword [0x102de5f8]
subsd xmm4, xmm0
movsd qword [esp + 0x30], xmm4
test eax, eax
je 0x100dbf0f
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 + 0x1020f270]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm4
movsd qword [esp], xmm0
call fcn.100c5b20
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 0x100dbf72
cmp byte [esp + 0xd7], al
sete al
jmp 0x100dbf81
cmp dword [esp + 0xb4], 0
movaps xmm0, xmm1
divsd xmm0, xmm2
movsd qword [esp + 0x64], xmm0
je 0x100dbe69
mov eax, dword [esp + 0xc0]
subsd xmm4, xmm3
movaps xmm1, xmm0
movsd qword [esp + 0x64], xmm0
addsd xmm1, xmm0
andps xmm4, xmmword [0x101fc7b0]
addsd xmm4, qword [0x101fccb8]
movsd qword [esp + 0x54], xmm1
jmp 0x100dbe99
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.1012bab0
movsd qword [esp + 0x64], xmm0
movsd xmm0, qword [0x102de5f8]
call fcn.1012bab0
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 0x100dbfee
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 0x100dc032
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.1012ff40
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 0x100dc163
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 [0x10200570]
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.100c4b70
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 0x100dc1bf
cmp byte [esp + 0xd7], 0
mov dword [esp + 0xcc], edx
je 0x100dc1bf
mov dword [esp + 0xcc], edx
test cl, 1
je 0x100dc1bf
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 0x100dc1c6
mov edx, dword [esp + 0xcc]
movsd xmm3, qword [0x102de5f0]
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 0x100dc213
cmp dword [esp + 0xc0], 4
jle 0x100dc213
mov eax, 1
jmp 0x100dc215
xor eax, eax
add eax, ecx
cmp dword [esp + 0x78], 0
mov dword [esp + 0xc4], eax
je 0x100dc22d
lea eax, [esi + 3]
and eax, 0xfffffffc
jmp 0x100dc22f
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 0x100dc282
cmp ecx, 2
jge 0x100dc282
mov eax, dword [esp + 0xbc]
cmp dword [eax + 0xc], 0
je 0x100dc282
movsd xmm2, qword [esp + 0x64]
mov eax, 0x10624dd3
mul esi
mov eax, dword [esp + 0xf0]
shr edx, 6
cmp edx, dword [eax + 8]
ja 0x100dbfe0
mov edx, dword [esp + 0xcc]
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
jne 0x100dc3b5
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.100c4b70
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.100dd550
mov ecx, dword [edi + 0x44]
add esp, 0x20
mov dword [ecx], eax
cmp dword [0x1035f170], 0
jle 0x100dc395
movd xmm0, esi
sub esp, 8
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x101fcc40]
divsd xmm0, qword [0x1020f4c8]
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.100bf860
add esp, 0x18
push dword [esp + 0x8c]
call fcn.10128533
movsd xmm1, qword [esp + 0x9c]
add esp, 4
movsd xmm3, qword [0x102de5f0]
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 0x100dc406
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 0x100dc411
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 0x100dc532
mov eax, dword [esp + 0xec]
test byte [eax + 0x24], 8
je 0x100dc532
cmp byte [esp + 0xd7], 0
jne 0x100dc532
mulsd xmm1, qword [0x102de628]
mov al, 1
mov byte [edi + 0x78], al
addsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.1011c640
movsd xmm0, qword [esp + 0xac]
mulsd xmm0, qword [0x102de628]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
mov dword [edi + 0x5c], 0x80000000
movsd qword [esp + 0x98], xmm0
call fcn.1011c640
mov ecx, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x8c], edx
call fcn.1011c740
movsd xmm1, qword [esp + 0x98]
subsd xmm1, xmm0
xorps xmm0, xmm0
movlpd qword [esp + 0x4c], xmm0
movsd xmm0, qword [0x1020f4d0]
mulsd xmm1, qword [0x1020f4d8]
comisd xmm1, xmm0
jb 0x100dc4ff
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x100dc4ff
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
add esi, 0
adc eax, 0x80000000
jmp 0x100dc507
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
movaps xmm0, xmm1
mov dword [esp + 0xec], eax
call fcn.1011c640
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 0x100dc571
mulsd xmm1, qword [0x102de628]
xor al, al
mov byte [edi + 0x78], al
addsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.1011c640
movsd xmm0, qword [esp + 0xac]
mulsd xmm0, qword [0x102de628]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
addsd xmm0, qword [0x102de5f0]
call fcn.1011c640
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 [0x102de628]
movsd qword [esp + 0x98], xmm0
call fcn.1011c740
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 0x100dc6bf
cmp byte [esp + 0xd6], 0
je 0x100dc611
movsd xmm0, qword [esp + 0x5c]
movsd xmm1, qword [esp + 0x44]
divsd xmm0, xmm1
movsd xmm2, qword [0x102de5f8]
subsd xmm2, xmm0
maxsd xmm2, xmm3
jmp 0x100dc61a
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.100dd050
mov ecx, dword [esp + 0x104]
add esp, 0x4c
mov edx, dword [esp + 0xa4]
cmp dword [0x1035f170], 0
jle 0x100dc720
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.100bf860
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 0x100dc7fc
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.101288bb
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.100c80c0
add esp, 8
push eax
call fcn.1011e7c0
add esp, 0xc
cmp dword [0x1035f170], 1
jle 0x100dc7c3
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.100bf860
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 0x100dc750
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.101288bb
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