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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xd8
mov dword [ebp - 0x30], ecx
mov eax, 1
mov ecx, dword [ebx + 0x14]
and ecx, 1
movsd xmm4, qword [ebx + 0x18]
add ecx, 2
mov dword [ebp - 0x40], edx
shl eax, cl
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x58], eax
push esi
push edi
mov esi, dword [ecx + 0x24]
mov eax, esi
movsd xmm2, qword [ecx + 0x18]
and eax, 3
movsd xmm1, qword [ecx + 8]
movsd xmm0, qword [ecx]
movsd xmm3, qword [ecx + 0x10]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0xc]
movsd qword [ebp - 0xc0], xmm1
movaps xmm1, xmm2
movsd qword [ebp - 0x48], xmm0
subsd xmm1, xmm3
minsd xmm0, qword [0x44ca68]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1c], eax
and eax, 3
dec eax
movsd qword [ebp - 0x98], xmm3
mov dword [ebp - 0x64], eax
mov eax, esi
shr eax, 2
movsd qword [ebp - 0x80], xmm1
and eax, 0xffffff01
movsd xmm1, qword [0x44c968]
movsd qword [ebp - 0x70], xmm0
movsd qword [ebp - 0x50], xmm0
movsd xmm0, qword [0x44c9b0]
movsd qword [ebp - 0x90], xmm2
mov dword [ebp - 0x3c], eax
movsd qword [ebp - 0xd0], xmm1
movsd qword [ebp - 0x28], xmm4
movsd qword [ebp - 0xb0], xmm3
movsd qword [ebp - 0xa8], xmm2
call fcn.0043c3d0
movsd xmm1, qword [ebp - 0x70]
mov edi, 1
movsd xmm5, qword [0x44c968]
mulsd xmm0, qword [0x44ca58]
addsd xmm1, xmm5
mov eax, dword [ebp - 0x1c]
shr eax, 3
not al
mov dword [ebp - 0x2c], 1
and eax, 0xffffff01
mov dword [ebp - 0x18], 1
mulsd xmm1, xmm0
mov dword [ebp - 0x38], 0
movsd qword [ebp - 0x78], xmm0
mov dword [ebp - 8], 1
mov dword [ebp - 0x14], edi
movsd qword [ebp - 0x70], xmm1
movsd qword [ebp - 0xb8], xmm1
mov dword [ebp - 0x34], edi
mov byte [ebp - 2], 0
mov byte [ebp - 1], 0
mov dword [ebp - 0x1c], eax
and esi, 0x40
je 0x413a1e
movsd xmm0, qword [0x44ca50]
xor edx, edx
comisd xmm0, xmmword [ebp - 0x48]
setae dl
jmp 0x413a37
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [0x44ca50]
lahf
test ah, 0x44
jp 0x413a35
mov edx, edi
jmp 0x413a37
xor edx, edx
test esi, esi
je 0x413a52
movsd xmm0, qword [0x44c928]
xor ecx, ecx
comisd xmm0, xmmword [ebp - 0x98]
setae cl
jmp 0x413a6e
movsd xmm2, qword [ebp - 0x98]
ucomisd xmm2, qword [0x44c928]
lahf
test ah, 0x44
jp 0x413a6c
mov ecx, edi
jmp 0x413a6e
xor ecx, ecx
xor esi, esi
test dl, dl
je 0x413ab8
cmp dword [ebp - 0x54], edi
jne 0x413ab8
movsd xmm2, qword [ebx + 0x18]
comisd xmm2, xmm5
ja 0x413ab4
movsd xmm0, qword [ebp - 0xc0]
ucomisd xmm0, qword [0x44ca70]
lahf
test ah, 0x44
jp 0x413ab4
test ecx, ecx
je 0x413ab4
movsd xmm4, qword [ebp - 0x90]
ucomisd xmm4, xmm5
lahf
test ah, 0x44
jp 0x413ab4
xor ecx, ecx
jmp 0x413aeb
mov ecx, edi
jmp 0x413aeb
fld qword [ebp - 0x50]
sub esp, 8
fstp qword [esp]
call fcn.00438ee0
movsd xmm5, qword [0x44c968]
add esp, 8
movsd xmm2, qword [ebx + 0x18]
fstp qword [ebp - 0x50]
cvttsd2si eax, qword [ebp - 0x50]
sub eax, 6
cdq
and edx, 3
lea ecx, [edx + eax]
sar ecx, 2
comisd xmm5, xmm2
mov dword [ebp - 0x10], ecx
movsd xmm3, qword [ebp - 0x90]
movsd xmm4, qword [ebp - 0x98]
jbe 0x413b36
movaps xmm1, xmm4
movaps xmm2, xmm3
divsd xmm1, qword [0x44c970]
movaps xmm0, xmm5
subsd xmm2, xmm5
subsd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x413b31
mov eax, str.imaging_greater_than_rolloff
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsd xmm2, qword [ebx + 0x18]
movsd xmm0, qword [0x44c828]
movsd xmm1, qword [ebp - 0x80]
comisd xmm0, xmm1
ja 0x414c64
comisd xmm1, xmmword [0x44c900]
ja 0x414c64
movsd xmm0, qword [0x44c8f0]
comisd xmm0, xmm4
ja 0x414c56
comisd xmm3, xmmword [0x44c998]
ja 0x414c56
movsd xmm1, qword [ebp - 0x48]
xorps xmm6, xmm6
ucomisd xmm1, xmm6
lahf
test ah, 0x44
jnp 0x413bb3
movsd xmm0, qword [0x44ca48]
comisd xmm0, xmm1
ja 0x413ba5
comisd xmm1, xmmword [0x44ca68]
jbe 0x413bb3
mov eax, str.precision_not_in__15_33__bits
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
comisd xmm6, xmm2
jb 0x413bc7
mov eax, str.resampling_factor_not_positive
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsd xmm0, qword [ebp - 0xc0]
comisd xmm6, xmm0
ja 0x414c48
comisd xmm0, xmmword [0x44ca80]
ja 0x414c48
mov eax, dword [ebp - 0x30]
mov edx, dword [ebx + 0x10]
movsd xmm7, qword [0x44c8f8]
ucomisd xmm1, xmm6
mov dword [eax], edx
movsd qword [eax + 8], xmm2
lahf
test ah, 0x44
jnp 0x41401e
nop word [eax + eax]
inc esi
cmp dword [ebp - 0x64], 0
mov dword [ebp - 0xc], esi
jle 0x413c21
mov edi, 1
jmp 0x413c8f
test ecx, ecx
je 0x413c2c
mov edi, 0x800
jmp 0x413c8f
mov eax, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [eax + 8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x44cb70]
imul eax, dword [ebp - 0x58], 0x2a
mulsd xmm1, qword [0x44ca98]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [ebp - 0x50], xmm1
fld qword [ebp - 0x50]
fstp qword [esp]
call fcn.00438ee0
movsd xmm5, qword [0x44c968]
add esp, 8
movsd xmm7, qword [0x44c8f8]
xorps xmm6, xmm6
fstp qword [ebp - 0x50]
cvttsd2si edi, qword [ebp - 0x50]
movsd xmm1, qword [ebp - 0x28]
movaps xmm4, xmm6
movaps xmm0, xmm1
movsd qword [ebp - 0xa0], xmm6
mulsd xmm0, xmm7
comisd xmm5, xmm1
cvttsd2si eax, xmm0
seta cl
xor edx, edx
mov byte [ebp - 2], cl
mov dword [ebp - 0x38], edx
sar eax, 1
je 0x413ccc
nop dword [eax]
inc edx
mulsd xmm1, xmm7
sar eax, 1
jne 0x413cc0
mov dword [ebp - 0x38], edx
movsd xmm2, qword [0x44c9b0]
test cl, cl
jne 0x413cec
comisd xmm1, xmmword [0x44c990]
jbe 0x413ce8
comisd xmm2, xmm1
ja 0x413cec
xor eax, eax
jmp 0x413cf1
mov eax, 1
comisd xmm1, xmm5
mov dword [ebp - 0x18], eax
jbe 0x413d03
mov ecx, 2
test eax, eax
jne 0x413d08
mov ecx, 1
movd xmm0, ecx
mov dword [ebp - 0x34], ecx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0xd8], xmm0
divsd xmm1, xmm0
test eax, eax
jne 0x413d2c
comisd xmm2, xmm1
lea ecx, [eax + 2]
ja 0x413d31
mov ecx, 1
cmp byte [ebp - 2], 0
je 0x413d44
cmp dword [ebp - 0x10], 0
je 0x413d44
mov eax, 1
jmp 0x413d46
xor eax, eax
add eax, ecx
mov dword [ebp - 0x2c], eax
movd xmm0, eax
cvtdq2pd xmm2, xmm0
mulsd xmm2, xmm1
cvttsd2si eax, xmm2
movaps xmm3, xmm2
movsd qword [ebp - 0x28], xmm2
movsd qword [ebp - 0x60], xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm3, xmm0
ucomisd xmm3, xmm6
movsd qword [ebp - 0x88], xmm3
lahf
test ah, 0x44
jnp 0x413df6
movaps xmm0, xmm3
sub esp, 8
mulsd xmm0, qword [0x44caa0]
movsd qword [ebp - 0xc8], xmm0
addsd xmm0, xmm7
movsd qword [ebp - 0x50], xmm0
fld qword [ebp - 0x50]
fstp qword [esp]
call fcn.0043cbe0
fstp qword [ebp - 0x50]
movsd xmm4, qword [ebp - 0x50]
add esp, 8
divsd xmm4, qword [ebp - 0xc8]
movsd xmm5, qword [0x44c968]
xorps xmm6, xmm6
movsd xmm2, qword [ebp - 0x28]
subsd xmm4, xmm5
movsd xmm3, qword [ebp - 0x88]
movsd xmm7, qword [0x44c8f8]
andps xmm4, xmmword [0x44cb80]
movsd qword [ebp - 0xa0], xmm4
ucomisd xmm3, xmm6
mov esi, 1
lahf
test ah, 0x44
jp 0x413e09
mov al, 1
jmp 0x413e0b
xor al, al
mov byte [ebp - 1], al
cmp edi, 1
jl 0x413ee4
test al, al
jne 0x413edc
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm3
movaps xmm0, xmm1
addsd xmm0, xmm7
cvttsd2si ecx, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
subsd xmm0, xmm5
andps xmm0, xmmword [0x44cb80]
comisd xmm4, xmm0
setae al
mov byte [ebp - 1], al
test al, al
je 0x413ed3
cmp ecx, esi
jne 0x413eb7
fld qword [ebp - 0x60]
sub esp, 8
fstp qword [esp]
call fcn.00438ee0
fstp qword [ebp - 0x60]
movsd xmm2, qword [ebp - 0x60]
xor eax, eax
add esp, 8
movsd xmm3, qword [ebp - 0x88]
comisd xmm2, xmmword [0x44c9d8]
movsd xmm4, qword [ebp - 0xa0]
movsd xmm5, qword [0x44c968]
movsd xmm7, qword [0x44c8f8]
seta al
add dword [ebp - 0x38], eax
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x413ecb
cvttsd2si eax, xmm2
mov dword [ebp - 8], esi
imul eax, esi
add eax, ecx
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mov al, byte [ebp - 1]
movsd qword [ebp - 0x60], xmm2
inc esi
cmp esi, edi
jle 0x413e17
movsd qword [ebp - 0x28], xmm2
xorps xmm6, xmm6
movsd xmm0, qword [ebp - 0xd8]
mov eax, dword [ebp - 8]
imul eax, dword [ebp - 0x2c]
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 [ebp - 0x1c]
test cl, cl
je 0x413fac
cmp dword [ebp - 0x14], 1
jne 0x413fac
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
comisd xmm0, xmmword [0x44c9e8]
jbe 0x413fac
ucomisd xmm0, qword [0x44c9f8]
lahf
test ah, 0x44
jnp 0x413fac
mulsd xmm0, qword [0x44c8a0]
mov edi, 4
mov dword [ebp - 0x14], edi
cvttsd2si eax, xmm0
sar eax, 1
je 0x413f71
nop dword [eax + eax]
cmp edi, 0x100
jge 0x413f6e
add edi, edi
sar eax, 1
jne 0x413f60
mov dword [ebp - 0x14], edi
movd xmm0, dword [ebp - 8]
xor esi, esi
movd xmm1, edi
cvtdq2pd xmm1, xmm1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], 1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
divsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov al, byte [ebp - 1]
divsd xmm1, xmm0
movsd qword [ebp - 0x28], xmm1
jmp 0x413ff8
mov al, byte [ebp - 1]
test al, al
je 0x413ff2
movzx edi, cl
cmp edx, esi
mov ecx, esi
cmovge ecx, edx
lea eax, [edi*2 + 3]
cmp ecx, eax
jl 0x413fd6
mov ecx, esi
lea eax, [edi + edi*2]
imul ecx, edx
add eax, eax
cmp ecx, eax
jge 0x413fef
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], 1
mov dword [ebp - 8], 1
movsd qword [ebp - 0x28], xmm5
mov al, byte [ebp - 1]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x414016
test al, al
je 0x414007
test esi, esi
jne 0x41401e
mov ecx, 1
xor esi, esi
mov dword [ebp - 0x10], ecx
jmp 0x413c10
test esi, esi
je 0x413c10
movd xmm0, dword [ebp - 8]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x28]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jnp 0x41403d
mov edx, 1
jmp 0x41403f
xor edx, edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
imul eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x34]
imul esi, edi
cmp eax, 1
mov dword [ebp - 0x9c], eax
setne cl
mov dword [ebp - 0x5c], esi
xor eax, eax
cmp esi, 1
setne al
add ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x30]
add eax, dword [ebp - 0x38]
mov dword [ecx + 0x20], eax
jne 0x414096
movsd xmm0, qword [ebx + 0x20]
ucomisd xmm0, xmm5
lahf
test ah, 0x44
jnp 0x414096
xor esi, esi
movsd qword [ebp - 0x48], xmm6
mov dword [ebp - 8], esi
mov dword [ecx + 0x20], 1
jmp 0x414099
mov esi, dword [ebp - 8]
mov eax, dword [ecx + 0x20]
inc eax
push 0xa0
push eax
call fcn.0042b9c8
mov ecx, dword [ebp - 0x30]
add esp, 8
mov dword [ecx + 0x28], eax
test eax, eax
jne 0x4140c3
mov eax, str.out_of_memory
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor edx, edx
cmp dword [ecx + 0x20], edx
jle 0x414111
mov esi, dword [ebp - 0x40]
xor ecx, ecx
mov edi, dword [ebp - 0x30]
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 [eax + ecx - 0x5c], esi
mov eax, dword [edi + 0x28]
mov dword [eax + ecx - 0x68], 0x2000
cmp edx, dword [edi + 0x20]
jl 0x4140e0
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
movd xmm1, dword [ebp - 0x34]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + 0x28]
mov byte [eax + 0x3c], 1
cvtdq2pd xmm1, xmm1
mov ecx, dword [ecx + 0x20]
mulsd xmm0, qword [ebx + 0x18]
divsd xmm1, xmm0
movsd qword [ebp - 0x50], xmm1
cmp ecx, 1
jle 0x41419d
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebp - 0x28]
ucomisd xmm0, qword [0x44c968]
lahf
test ah, 0x44
jnp 0x41416c
movsd xmm0, qword [ebp - 0x78]
dec ecx
addsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x70], xmm0
jmp 0x414171
movsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0xb8], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
call fcn.0043c3d0
mulsd xmm0, qword [0x44ca58]
addsd xmm0, qword [ebp - 0x70]
movaps xmm1, xmm0
movsd qword [ebp - 0x70], xmm1
jmp 0x4141a2
movsd xmm1, qword [ebp - 0x70]
mov eax, dword [ebx + 0x10]
xor edx, edx
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
cmp edi, 1
jbe 0x4141d6
lea ecx, [edx + 1]
lea eax, [esi + 0x10]
nop dword [eax + eax]
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x4141d6
inc ecx
inc edx
add eax, 0x14
cmp ecx, edi
jb 0x4141c0
mov eax, dword [ebp - 0x30]
lea ecx, [edx + edx*4]
mov edi, dword [eax + 0x28]
mov eax, dword [ebp - 0x38]
test eax, eax
jle 0x414220
mov edx, eax
nop dword [eax + 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 0x4141f0
cmp dword [ebp - 0x9c], 1
je 0x4143d3
cmp byte [ebp - 0x3c], 0
je 0x4142f7
cmp dword [ebp - 0x5c], 1
je 0x4142f7
movsd xmm0, qword [0x44cad8]
call fcn.004128b0
movsd xmm2, qword [ebp - 0x50]
mulsd xmm0, qword [ebp - 0x80]
movaps xmm1, xmm2
addsd xmm1, xmm2
subsd xmm1, qword [ebp - 0x90]
maxsd xmm1, xmm2
subsd xmm1, qword [ebp - 0x98]
divsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x70]
call fcn.00412670
xorps xmm0, xmmword [0x44cb90]
comisd xmm0, xmmword [0x44c878]
jbe 0x4142f7
cmp dword [0x8b3824], 0
movaps xmm1, xmm0
mulsd xmm1, qword [0x44c7f0]
movsd xmm2, qword [0x44c838]
subsd xmm2, xmm1
mulsd xmm2, xmm0
subsd xmm2, qword [0x44c880]
mulsd xmm2, xmm0
addsd xmm2, qword [0x44c978]
movsd qword [ebp - 0xd0], xmm2
jle 0x4142ff
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm2
push str.tbw_tighten_g___gdB_
call fcn.00401010
movsd xmm2, qword [ebp - 0xd0]
add esp, 0x14
jmp 0x4142ff
movsd xmm2, qword [0x44c968]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2c]
test ecx, ecx
je 0x41431a
cmp edx, ecx
mov eax, ecx
cmovge eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
jmp 0x41432c
movd xmm0, dword [ebp - 8]
movsd xmm1, qword [ebp - 0x28]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd xmm0, qword [ebp - 0xc0]
sub esp, 0x28
mov eax, dword [ebx + 0x10]
movsd qword [ebp - 0x88], xmm1
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [ebp - 0x70]
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [ebp - 0x90]
movsd qword [esp + 0x10], xmm1
movsd xmm1, qword [ebp - 0x80]
movsd qword [esp + 8], xmm0
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [esp], xmm0
push dword [eax + 0x24]
mov eax, dword [ebx + 0xc]
push dword [ebx + 0x14]
push dword [eax + 4]
push dword [eax]
lea eax, [ebx + 0x20]
push eax
mov eax, 1
cmp ecx, eax
cmovge eax, ecx
xor ecx, ecx
push eax
push edx
mov edx, edi
call fcn.00413420
movsd xmm0, qword [ebp - 0x88]
add esp, 0x44
movsd xmm5, qword [ebp - 0x98]
add edi, 0xa0
divsd xmm5, xmm0
movsd xmm4, qword [ebp - 0x90]
movsd qword [ebp - 0xb0], xmm5
divsd xmm4, xmm0
jmp 0x4143e3
movsd xmm4, qword [ebp - 0xa8]
movsd xmm5, qword [ebp - 0xb0]
movsd xmm1, qword [ebp - 0x48]
ucomisd xmm1, qword [0x44c748]
mov esi, dword [ebp - 8]
movsd xmm1, qword [ebp - 0x28]
movsd xmm3, qword [0x44c968]
lahf
test ah, 0x44
jp 0x414494
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x414494
mov eax, dword [ebx + 0x10]
movsd xmm0, qword [ebx + 0x20]
movsd qword [ebx + 0x20], xmm3
mov eax, dword [eax + 0x1c]
movsd qword [edi + 0x90], xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [0x44caa0]
mov dword [edi + 8], eax
addsd xmm0, qword [0x44c8f8]
call fcn.0043a50f
mov dword [edi + 0x70], eax
mov ecx, 3
mov eax, edx
mov dword [edi + 0x74], edx
cmp eax, ecx
mov dword [edi + 0x20], 1
mov dword [edi + 0x28], 1
cmovle eax, ecx
mov ecx, dword [edi + 0x70]
mov dword [edi + 0x24], eax
call fcn.0043a660
movsd xmm1, qword [0x44caa0]
divsd xmm1, xmm0
movsd qword [edi + 0x30], xmm1
jmp 0x414a33
movd xmm2, esi
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm2
mulsd xmm0, xmm1
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x414a3b
movzx eax, byte [ebp - 2]
xor ecx, ecx
cmp dword [ebp - 0x18], ecx
setne cl
add ecx, eax
movzx eax, byte [ebp - 2]
xor eax, 1
lea edx, [ecx + ecx*2]
add edx, edx
sub edx, eax
mov eax, dword [ebx + 0x10]
add edx, dword [ebp - 0x10]
mov eax, dword [eax + 0x20]
lea ecx, [edx*8]
sub ecx, edx
cmp byte [ebp - 2], 0
cvttss2si esi, dword [eax + ecx*4 + 4]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xc], esi
je 0x414599
movsd qword [ebp - 0x80], xmm3
mov eax, dword [ebp - 0x10]
movsd qword [ebp - 0x88], xmm3
test eax, eax
je 0x41451c
subsd xmm4, xmm5
mulsd xmm4, qword [0x44c938]
addsd xmm4, xmm5
movaps xmm0, xmm4
movsd xmm4, qword [0x44c9b0]
subsd xmm4, xmm0
movsd qword [ebp - 0xa8], xmm4
test eax, eax
je 0x414588
mov eax, dword [ebp - 0x54]
movaps xmm0, xmm4
movsd xmm1, qword [ebp - 0xb8]
subsd xmm0, xmm5
movsd qword [ebp - 0x78], xmm0
movss xmm0, dword [eax*4 + 0x44be10]
cvtps2pd xmm0, xmm0
call fcn.004128b0
movsd xmm1, qword [0x44c968]
subsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x78]
divsd xmm0, xmm1
movsd xmm1, qword [ebp - 0xa8]
subsd xmm1, xmm0
movsd qword [ebp - 0xb0], xmm1
mov ecx, dword [ebp - 0x64]
xor eax, eax
test ecx, ecx
jns 0x4145d9
cmp byte [ebp - 1], al
sete al
jmp 0x4145e4
cmp dword [ebp - 0x18], 0
movaps xmm0, xmm1
divsd xmm0, xmm2
movsd qword [ebp - 0x80], xmm0
je 0x4144fd
mov eax, dword [ebp - 0x10]
subsd xmm4, xmm3
movaps xmm1, xmm0
addsd xmm1, xmm0
andps xmm4, xmmword [0x44cb80]
addsd xmm4, qword [0x44c9d8]
movsd qword [ebp - 0x88], xmm1
jmp 0x41452b
cmp byte [ebp - 1], al
sete al
cmp ecx, eax
cmovge eax, ecx
movsd xmm0, qword [ebp - 0x80]
dec eax
mov dword [ebp - 0x1c], eax
call fcn.0043c680
movsd qword [ebp - 0x80], xmm0
movsd xmm0, qword [0x44c9b0]
call fcn.0043c680
movsd xmm2, qword [ebp - 0x80]
divsd xmm2, xmm0
mov eax, dword [ebx + 0x14]
mov edx, dword [ebp - 0x3c]
and eax, 2
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
lea edx, [edx + eax*8]
add edx, 4
movsd qword [ebp - 0x80], xmm2
jmp 0x414636
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x54]
inc eax
add edx, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], edx
test eax, eax
je 0x414668
mov eax, dword [ebp - 8]
movsd xmm0, qword [ebp - 0x28]
mov dword [ebp - 8], 1
mov byte [ebp - 1], 0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
movsd qword [ebp - 0x28], xmm0
movss xmm0, dword [edx]
sub esp, 8
cvtps2pd xmm0, xmm0
subsd xmm0, xmm2
movsd qword [ebp - 0x78], xmm0
fld qword [ebp - 0x78]
fstp qword [esp]
call fcn.00438ee0
fstp qword [ebp - 0xc8]
cvttsd2si eax, qword [ebp - 0xc8]
add esp, 8
cmp byte [ebp - 1], 0
jne 0x4146a8
mov edx, 1
mov ecx, eax
shl edx, cl
jmp 0x4146ab
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
xorps xmm1, xmm1
mov dword [ebp - 0x44], edx
movss xmm0, dword [ecx + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x41473a
movss xmm0, dword [ecx]
mov esi, 0x13
movsd xmm3, qword [ebp - 0xa8]
lea ecx, [ebp - 0xc]
movsd xmm2, qword [ebp - 0xb0]
cmp edx, esi
cvtps2pd xmm0, xmm0
cmovge esi, edx
mov dword [ebp - 0xc], 0
sub esp, 0x18
mov edx, esi
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0xb8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x88]
xorps xmm0, xmmword [0x44cb90]
movsd qword [esp], xmm0
call fcn.00411af0
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cdq
add esp, 0x18
idiv esi
cmp dword [ebp - 0x18], ecx
sete cl
lea esi, [eax + 1]
and ecx, esi
add esi, ecx
mov dword [ebp - 0xc], esi
mov edx, dword [ebp - 8]
mov eax, esi
mov ecx, dword [ebp - 0x44]
and eax, 1
je 0x41476a
cmp byte [ebp - 1], 0
je 0x41476a
test dl, 1
je 0x41476a
movsd xmm0, qword [ebp - 0x28]
add ecx, ecx
addsd xmm0, xmm0
mov dword [ebp - 0x44], ecx
add edx, edx
mov dword [ebp - 8], edx
movsd qword [ebp - 0x28], xmm0
movsd xmm3, qword [0x44c8f8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movd xmm1, edx
mov edx, dword [ebp - 0x1c]
mulsd xmm0, xmm3
cvtdq2pd xmm1, xmm1
movsd qword [edi + 0x98], xmm0
mulsd xmm1, xmm0
movsd qword [ebp - 0x78], xmm1
test edx, edx
je 0x4147ab
cmp dword [ebp - 0x10], 4
jle 0x4147ab
mov eax, 1
jmp 0x4147ad
xor eax, eax
add edx, eax
cmp dword [ebp - 0x40], 0
mov dword [ebp - 0x9c], edx
je 0x4147c3
lea eax, [esi + 3]
and eax, 0xfffffffc
jmp 0x4147c5
mov eax, esi
lea esi, [edx + 1]
imul esi, eax
imul esi, ecx
imul esi, dword [ebp - 0x58]
cmp dword [ebp - 0x64], 0
jge 0x414805
cmp dword [ebp - 0x1c], 2
jge 0x414805
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0xc], 0
je 0x414805
movsd xmm2, qword [ebp - 0x80]
mov eax, 0x10624dd3
mul esi
mov eax, dword [ebx + 0xc]
shr edx, 6
cmp edx, dword [eax + 8]
mov eax, dword [ebp - 0x1c]
ja 0x414630
mov eax, dword [edi + 0x44]
cmp dword [eax], 0
jne 0x4148f3
mov edx, dword [ebp - 0x3c]
sub esp, 0x18
movsd xmm3, qword [ebp - 0xa8]
mov eax, ecx
imul eax, dword [ebp - 0xc]
movsd xmm2, qword [ebp - 0xb0]
movss xmm0, dword [edx]
mov edx, ecx
cvtps2pd xmm0, xmm0
lea ecx, [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [ebp - 0xb8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x88]
movsd qword [esp], xmm0
call fcn.00411af0
movsd xmm0, qword [ebx + 0x20]
add esp, 0x10
mov edx, dword [ebx + 0x10]
mov ecx, eax
mov dword [ebp - 0x3c], eax
movsd qword [esp], xmm0
push edx
push dword [ebx + 0x14]
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x9c]
push dword [ebp - 0x44]
call fcn.004129a0
mov ecx, dword [edi + 0x44]
add esp, 0x18
cmp dword [0x8b3824], 0
mov dword [ecx], eax
jle 0x4148db
movd xmm0, esi
sub esp, 8
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x44cb70]
divsd xmm0, qword [0x44ca98]
movsd qword [esp], xmm0
push dword [ebp - 0x9c]
push dword [ebp - 0x44]
push dword [ebp - 0xc]
push str.fir_len_i_phases_i_coef_interp_i_size_.3gk
call fcn.00401010
add esp, 0x18
push dword [ebp - 0x3c]
call fcn.00429f6c
movsd xmm1, qword [ebp - 0x78]
add esp, 4
movsd xmm3, qword [0x44c8f8]
mov eax, dword [ebp - 0x54]
movsd xmm0, qword [0x44c968]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
mov eax, dword [eax + 4]
movsd qword [ebx + 0x20], xmm0
mov dword [edi + 8], eax
test esi, esi
je 0x41491b
lea eax, [ecx + 3]
and eax, 0xfffffffc
jmp 0x41491d
mov eax, ecx
dec eax
mov dword [edi + 0x24], eax
test esi, esi
je 0x41492d
lea edx, [ecx + 3]
and edx, 0xfffffffc
jmp 0x41492f
mov edx, ecx
lea eax, [ecx - 1]
sar eax, 1
sub eax, ecx
add eax, edx
mov dword [edi + 0x28], eax
test esi, esi
je 0x414945
add ecx, 3
and ecx, 0xfffffffc
cmp dword [ebp - 0x10], 1
cvttsd2si eax, qword [ebp - 0xc8]
mov esi, dword [ebp - 8]
mov dword [edi + 0x84], ecx
mov dword [edi + 0x7c], esi
mov dword [edi + 0x88], eax
jle 0x414978
mov eax, dword [ebx + 8]
test byte [eax + 0x24], 8
je 0x414978
cmp byte [ebp - 1], 0
jne 0x414978
mov al, 1
jmp 0x41497a
xor al, al
mulsd xmm1, qword [0x44caa0]
mov byte [ebp - 1], al
mov byte [edi + 0x78], al
addsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.0043a50f
cmp byte [ebp - 1], 0
movsd xmm0, qword [ebp - 0x28]
mulsd xmm0, qword [0x44caa0]
mov dword [edi + 0x60], eax
mov dword [edi + 0x64], edx
je 0x4149ec
movsd qword [ebp - 0x78], xmm0
mov dword [edi + 0x5c], 0x80000000
call fcn.0043a50f
mov ecx, eax
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], edx
call fcn.0043a660
movsd xmm1, qword [ebp - 0x78]
subsd xmm1, xmm0
mulsd xmm1, qword [0x44cab0]
movaps xmm0, xmm1
call fcn.0043a500
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], edx
jmp 0x4149ff
addsd xmm0, qword [0x44c8f8]
call fcn.0043a50f
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], edx
mov edx, dword [edi + 0x74]
mov ecx, dword [edi + 0x70]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x44caa0]
movsd qword [ebp - 0x78], xmm0
call fcn.0043a660
movsd xmm1, qword [ebp - 0x78]
divsd xmm1, xmm0
movsd qword [edi + 0x30], xmm1
add edi, 0xa0
movsd xmm3, qword [0x44c968]
cmp dword [ebp - 0x5c], 1
je 0x414b0a
cmp byte [ebp - 2], 0
je 0x414a6e
movsd xmm0, qword [ebp - 0x90]
movsd xmm1, qword [ebp - 0x50]
divsd xmm0, xmm1
movsd xmm2, qword [0x44c9b0]
subsd xmm2, xmm0
maxsd xmm2, xmm3
jmp 0x414a79
movsd xmm2, qword [ebp - 0x90]
movaps xmm1, xmm3
mov ecx, dword [ebp - 0x34]
sub esp, 0x28
mov esi, dword [ebp - 0x14]
mov eax, ecx
movsd xmm0, qword [ebp - 0xc0]
cmp esi, ecx
mov edx, edi
movsd qword [esp + 0x20], xmm0
cmovge eax, esi
movsd xmm0, qword [ebp - 0x70]
movsd qword [esp + 0x18], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [ebx + 0x10]
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 8], xmm2
movsd xmm2, qword [ebp - 0x98]
divsd xmm2, xmm1
movsd xmm1, qword [ebp - 0x90]
movaps xmm0, xmm1
subsd xmm0, xmm2
mulsd xmm0, qword [ebp - 0xd0]
subsd xmm1, xmm0
movsd qword [esp], xmm1
push dword [eax + 0x24]
mov eax, dword [ebx + 0xc]
push dword [ebx + 0x14]
push dword [eax + 4]
push dword [eax]
lea eax, [ebx + 0x20]
push eax
push ecx
push esi
mov ecx, 1
call fcn.00413420
add esp, 0x44
jmp 0x414b0d
mov esi, dword [ebp - 0x14]
cmp dword [0x8b3824], 0
jle 0x414b59
push dword [ebx + 0x14]
movsd xmm0, qword [ebp - 0x28]
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
push esi
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [0x44c968]
divsd xmm0, qword [ebx + 0x18]
push dword [ebp - 8]
push dword [ebp - 0x18]
push dword [ebp - 0x2c]
push ecx
sub esp, 8
movsd qword [esp], xmm0
push str._g:____i__i__i__i__g__i__i___x_
call fcn.00401010
add esp, 0x30
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x5c], 0
cmp dword [eax + 0x20], 0
mov esi, dword [eax + 0x28]
mov dword [ebp - 0x40], esi
jle 0x414c12
lea edi, [esi + 0x10]
nop word [eax + eax]
mov eax, dword [ebp - 0x58]
push 0x4000
mov dword [edi + 4], eax
mov dword [edi], 0x4000
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
call fcn.00429f71
mov dword [edi - 4], eax
lea ecx, [edi - 4]
mov edx, dword [edi + 0x18]
add esp, 4
mov eax, edx
imul eax, dword [ebp - 0x58]
push eax
push 0
call fcn.004046a0
push eax
call fcn.004289f0
add esp, 0xc
cmp dword [0x8b3824], 1
jle 0x414bed
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.00401010
add esp, 0x14
mov eax, dword [ebp - 0x5c]
add edi, 0xa0
mov ecx, dword [ebp - 0x30]
inc eax
mov esi, dword [ebp - 0x40]
add esi, 0xa0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x40], esi
cmp eax, dword [ecx + 0x20]
jl 0x414b80
mov eax, dword [ebp - 0x58]
push 0x4000
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], 0x4000
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
call fcn.00429f71
add esp, 4
mov dword [esi + 0xc], eax
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, str.phase_response_not_in__0min_phase_100max_phase___
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, str.transition_band_not_within__50_150____of_nyquist
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
pop edi
mov eax, str.transition_bandwidth_not_in__0.2_50____of_nyquist
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret