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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x80
movsd xmm2, qword [0x44ca70]
movaps xmm1, xmm3
comisd xmm1, xmm2
push esi
mov eax, edx
mov dword [esp + 0x18], ecx
push edi
mov dword [esp + 0xc], eax
movsd qword [esp + 0x60], xmm1
jbe 0x411d7d
movsd xmm0, qword [0x44ca80]
subsd xmm0, xmm1
jmp 0x411d80
movaps xmm0, xmm1
divsd xmm0, xmm2
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x3c], 0
mov esi, 0x20
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
movsd qword [esp + 0x40], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x58], xmm0
cmp eax, 1
jle 0x411ddd
nop
sar eax, 1
add esi, esi
cmp eax, 1
jg 0x411dd0
mov dword [esp + 0x10], esi
movd xmm0, esi
add esi, 2
pshufd xmm0, xmm0, 0
push 8
push esi
movups xmmword [esp + 0x80], xmm0
call fcn.0042b9c8
shr esi, 1
mov edi, eax
shl esi, 3
push esi
mov dword [esp + 0x30], edi
call fcn.00429f71
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
shl ecx, 3
push ecx
push dword [eax]
push edi
call fcn.00428b50
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, esi
call fcn.00411370
sub esp, 8
mov edx, 1
mov ecx, esi
push edi
call fcn.0041b470
movsd xmm0, qword [edi + 8]
xor eax, eax
movsd qword [edi + esi*8], xmm0
add esp, 0xc
mov dword [esp + 0x20], eax
xorps xmm0, xmm0
movsd qword [edi + 8], xmm0
movsd qword [edi + esi*8 + 8], xmm0
test esi, esi
js 0x411fa8
nop
fld qword [edi + eax*8 + 8]
fld qword [edi + eax*8]
call fcn.0043b6da
movsd xmm2, qword [0x44cae0]
xor ecx, ecx
fstp qword [esp + 0x68]
movsd xmm1, qword [esp + 0x68]
movaps xmm0, xmm1
mov edx, dword [esp + 0x18]
subsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x30], xmm1
comisd xmm2, xmm0
seta cl
xor eax, eax
comisd xmm0, xmmword [0x44c9f0]
seta al
sub ecx, eax
movd xmm0, ecx
xor ecx, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x44ca08]
addsd xmm0, qword [esp + 0x28]
addsd xmm1, xmm0
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm1
subsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [0x44cad0]
comisd xmm1, xmm0
seta cl
xor eax, eax
comisd xmm0, xmmword [0x44c9b8]
seta al
sub ecx, eax
movd xmm0, ecx
mov ecx, dword [esp + 0x20]
mov eax, ecx
cvtdq2pd xmm0, xmm0
sar eax, 1
mulsd xmm0, qword [0x44c9e0]
andps xmm0, xmmword [0x44cb80]
addsd xmm0, qword [esp + 0x58]
movsd qword [edx + eax*8], xmm0
movsd xmm1, qword [edi + ecx*8 + 8]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi + ecx*8]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
call fcn.0043cae0
ucomisd xmm0, qword [0x44c748]
lahf
test ah, 0x44
jnp 0x411f69
call fcn.0043c680
jmp 0x411f87
cmp dword [0x8b3824], 0
jle 0x411f7f
push str.log_0_
call fcn.00401010
add esp, 4
movsd xmm0, qword [0x44caf0]
mov eax, dword [esp + 0x20]
movsd qword [edi + eax*8], xmm0
xorps xmm0, xmm0
movsd qword [edi + eax*8 + 8], xmm0
add eax, 2
mov dword [esp + 0x20], eax
cmp eax, esi
jle 0x411e70
movsd xmm0, qword [edi + esi*8]
mov ecx, esi
movsd qword [edi + 8], xmm0
call fcn.00411370
sub esp, 8
or edx, 0xffffffff
mov ecx, esi
push edi
call fcn.0041b470
movsd xmm1, qword [0x44c9b0]
add esp, 0xc
xor ecx, ecx
test esi, esi
jle 0x4120a3
cmp esi, 4
jb 0x412026
movq xmm0, qword [esp + 0x78]
xor eax, eax
movaps xmm2, xmmword [0x44cb40]
cvtdq2pd xmm0, xmm0
divpd xmm2, xmm0
nop dword [eax + eax]
movups xmm0, xmmword [edi + eax*8]
movaps xmm1, xmm2
mulpd xmm0, xmm2
movups xmmword [edi + eax*8], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x10]
mulpd xmm1, xmm0
movups xmmword [edi + eax*8 + 0x10], xmm1
add eax, 4
cmp eax, esi
jl 0x412000
jmp 0x4120a3
jl 0x412078
movd xmm0, esi
lea edx, [esi - 4]
cvtdq2pd xmm0, xmm0
shr edx, 2
lea eax, [edi + 0x10]
inc edx
lea ecx, [edx*4]
divsd xmm1, xmm0
unpcklpd xmm1, xmm1
nop dword [eax]
lea eax, [eax + 0x20]
movups xmm0, xmmword [eax - 0x30]
mulpd xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [eax - 0x20]
mulpd xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
sub edx, 1
jne 0x412050
movsd xmm1, qword [0x44c9b0]
cmp ecx, esi
jge 0x4120a3
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
nop dword [eax + eax]
movsd xmm0, qword [edi + ecx*8]
mulsd xmm0, xmm1
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, esi
jl 0x412090
mov eax, esi
mov ecx, 1
cdq
sub eax, edx
mov edx, eax
sar edx, 1
mov dword [esp + 0x30], edx
cmp edx, ecx
jle 0x41217b
xorps xmm1, xmm1
cmp edx, 4
jle 0x41215a
mov esi, edx
lea edx, [edi + 0x18]
lea eax, [esi + 4]
lea eax, [edi + eax*8]
mov dword [esp + 0x28], eax
lea eax, [esi + 3]
lea eax, [edi + eax*8]
mov dword [esp + 0x20], eax
movsd xmm0, qword [edx - 0x10]
lea eax, [esi + ecx]
addsd xmm0, xmm0
movsd qword [edx - 0x10], xmm0
movsd qword [edi + eax*8], xmm1
lea eax, [esi + ecx]
movsd xmm0, qword [edx - 8]
add ecx, 4
addsd xmm0, xmm0
movsd qword [edx - 8], xmm0
movsd qword [edi + eax*8 + 8], xmm1
movsd xmm0, qword [edx]
mov eax, dword [esp + 0x20]
addsd xmm0, xmm0
add dword [esp + 0x20], 0x20
movsd qword [edx], xmm0
movsd qword [eax], xmm1
movsd xmm0, qword [edx + 8]
mov eax, dword [esp + 0x28]
addsd xmm0, xmm0
movsd qword [edx + 8], xmm0
add edx, 0x20
movsd qword [eax], xmm1
add eax, 0x20
mov dword [esp + 0x28], eax
lea eax, [esi - 3]
cmp ecx, eax
jl 0x4120e2
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
cmp ecx, edx
jge 0x41217b
nop
movsd xmm0, qword [edi + ecx*8]
lea eax, [edx + ecx]
addsd xmm0, xmm0
movsd qword [edi + ecx*8], xmm0
inc ecx
movsd qword [edi + eax*8], xmm1
cmp ecx, edx
jl 0x412160
mov ecx, esi
call fcn.00411370
sub esp, 8
mov edx, 1
mov ecx, esi
push edi
call fcn.0041b470
mov ecx, 2
add esp, 0xc
cmp esi, ecx
jle 0x412218
movsd xmm3, qword [0x44c968]
lea edx, [edi + 0x18]
movsd xmm0, qword [esp + 0x40]
mov eax, esi
sar eax, 1
subsd xmm3, xmm0
movd xmm4, esi
mov edi, eax
cvtdq2pd xmm4, xmm4
mov dword [esp + 0x30], eax
movd xmm1, ecx
mov eax, ecx
cvtdq2pd xmm1, xmm1
mov esi, dword [esp + 0x18]
add ecx, 2
sar eax, 1
movsd xmm2, qword [esi + eax*8]
mov eax, esi
mulsd xmm1, xmm0
movaps xmm0, xmm2
mov esi, dword [esp + 0x10]
addsd xmm0, qword [edx]
divsd xmm1, xmm4
mulsd xmm0, xmm3
mulsd xmm1, qword [eax + edi*8]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0x40]
subsd xmm1, xmm2
movsd qword [edx], xmm1
add edx, 0x10
cmp ecx, esi
jl 0x4121c5
mov edi, dword [esp + 0x24]
movups xmm0, xmmword [edi]
call fcn.0043a210
movups xmmword [edi], xmm0
cmp esi, 2
jle 0x41227b
lea eax, [esi - 3]
shr eax, 1
lea esi, [edi + 0x18]
inc eax
mov dword [esp + 0x30], eax
movsd xmm0, qword [esi - 8]
call fcn.0043c0f0
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [esi]
call fcn.0043bf30
mulsd xmm0, qword [esp + 0x58]
movsd qword [esi - 8], xmm0
movsd xmm0, qword [esi]
call fcn.0043c910
sub dword [esp + 0x30], 1
lea esi, [esi + 0x10]
mulsd xmm0, qword [esp + 0x58]
movsd qword [esi - 0x10], xmm0
jne 0x412235
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00411370
sub esp, 8
or edx, 0xffffffff
mov ecx, esi
push edi
call fcn.0041b470
add esp, 0xc
xor ecx, ecx
test esi, esi
jle 0x412363
cmp esi, 4
jb 0x4122e9
movq xmm0, qword [esp + 0x78]
xor eax, eax
movaps xmm2, xmmword [0x44cb40]
cvtdq2pd xmm0, xmm0
divpd xmm2, xmm0
nop dword [eax]
movups xmm0, xmmword [edi + eax*8]
movaps xmm1, xmm2
mulpd xmm0, xmm2
movups xmmword [edi + eax*8], xmm0
movups xmm0, xmmword [edi + eax*8 + 0x10]
mulpd xmm1, xmm0
movups xmmword [edi + eax*8 + 0x10], xmm1
add eax, 4
cmp eax, esi
jl 0x4122c0
jmp 0x412363
jl 0x412334
movsd xmm1, qword [0x44c9b0]
lea edx, [esi - 4]
movd xmm0, esi
lea eax, [edi + 0x10]
cvtdq2pd xmm0, xmm0
shr edx, 2
inc edx
lea ecx, [edx*4]
divsd xmm1, xmm0
unpcklpd xmm1, xmm1
lea eax, [eax + 0x20]
movups xmm0, xmmword [eax - 0x30]
mulpd xmm0, xmm1
movups xmmword [eax - 0x30], xmm0
movups xmm0, xmmword [eax - 0x20]
mulpd xmm0, xmm1
movups xmmword [eax - 0x20], xmm0
sub edx, 1
jne 0x412314
cmp ecx, esi
jge 0x412363
movsd xmm1, qword [0x44c9b0]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
nop dword [eax]
movsd xmm0, qword [edi + ecx*8]
mulsd xmm0, xmm1
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, esi
jl 0x412350
mov eax, dword [esp + 0x18]
mov ecx, esi
movsd xmm7, qword [0x44c9e0]
sar ecx, 1
movsd xmm6, qword [0x44c8f8]
mov dword [esp + 0x20], ecx
movsd xmm0, qword [eax + ecx*8]
xor eax, eax
divsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si ecx, xmm0
mov dword [esp + 0x30], ecx
test ecx, ecx
js 0x412456
movsd xmm4, qword [0x44cb80]
xor edx, edx
movsd xmm3, qword [esp + 0x70]
xor ecx, ecx
movsd xmm6, qword [esp + 0x48]
xor esi, esi
nop dword [eax + eax]
movsd xmm2, qword [ecx + edi]
movaps xmm0, xmm2
addsd xmm3, xmm0
movaps xmm0, xmm6
andps xmm0, xmm4
movaps xmm1, xmm3
andps xmm1, xmm4
comisd xmm1, xmm0
jbe 0x4123e3
movaps xmm6, xmm3
mov esi, eax
comisd xmm2, xmmword [edx + edi]
jbe 0x4123f0
mov dword [esp + 0x3c], eax
mov edx, ecx
inc eax
add ecx, 8
cmp eax, dword [esp + 0x30]
jle 0x4123c0
mov dword [esp + 0x14], esi
test esi, esi
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
movsd qword [esp + 0x48], xmm6
movsd xmm6, qword [0x44c8f8]
je 0x412458
nop dword [eax + eax]
movsd xmm3, qword [edi + ecx*8 - 8]
movsd xmm2, qword [edi + ecx*8]
movaps xmm1, xmm3
movaps xmm0, xmm2
andps xmm1, xmm4
andps xmm0, xmm4
comisd xmm1, xmm0
jbe 0x412450
mulsd xmm2, xmm3
comisd xmm2, xmmword [0x44c748]
jbe 0x412450
sub ecx, 1
jne 0x412420
mov dword [esp + 0x14], ecx
jmp 0x412458
xor ecx, ecx
movsd xmm5, qword [esp + 0x40]
xorps xmm4, xmm4
ucomisd xmm5, xmm4
lahf
test ah, 0x44
jp 0x412476
xor edx, edx
mov dword [esp + 0x10], edx
jmp 0x41253c
ucomisd xmm5, qword [0x44c968]
lahf
test ah, 0x44
mov eax, dword [esp + 0xc]
jp 0x41249c
mov eax, dword [eax]
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
sub edx, eax
mov dword [esp + 0x10], edx
jmp 0x41253c
movsd xmm0, qword [0x44c9b0]
subsd xmm4, xmm5
movsd xmm1, qword [0x44c960]
subsd xmm0, xmm5
mov edx, ecx
mulsd xmm4, qword [0x44c8d8]
mulsd xmm0, qword [0x44c8d8]
addsd xmm4, qword [0x44c960]
subsd xmm1, xmm0
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm1, xmm6
cvttsd2si eax, xmm1
and eax, 0xfffffffc
sub edx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], edx
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
mulsd xmm4, xmm0
addsd xmm4, xmm6
cvttsd2si eax, xmm4
add eax, 3
and eax, 0xfffffffc
sub eax, edx
inc eax
add eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
shl eax, 3
push eax
mov eax, dword [esp + 0x20]
push dword [eax]
call fcn.0042cff4
mov ecx, dword [esp + 0x24]
add esp, 8
movsd xmm7, qword [0x44c9e0]
mov edx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
xor ecx, ecx
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [0x44ca70]
mov eax, dword [eax]
test eax, eax
jle 0x4125a2
add edx, esi
mov dword [esp + 0x30], edx
lea edx, [esi - 1]
mov dword [esp + 0x28], edx
lea esi, [eax - 1]
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
nop dword [eax]
mov edi, dword [esp + 0x24]
lea edx, [edx + 8]
comisd xmm1, xmm2
mov eax, ecx
cmova eax, esi
inc ecx
add eax, dword [esp + 0x30]
dec esi
and eax, dword [esp + 0x28]
movsd xmm0, qword [edi + eax*8]
mov edi, dword [esp + 0xc]
movsd qword [edx - 8], xmm0
mov eax, dword [edi]
mov edi, dword [esp + 0x24]
cmp ecx, eax
jl 0x412570
comisd xmm1, xmm2
mov ecx, dword [esp + 0x14]
jbe 0x4125b4
mov esi, ecx
sub esi, dword [esp + 0x10]
jmp 0x4125bd
mov esi, dword [esp + 0x10]
sub eax, ecx
dec esi
add esi, eax
cmp dword [0x8b3824], 0
mov eax, dword [ebp + 8]
mov dword [eax], esi
jle 0x41264d
mov eax, dword [esp + 0xc]
sub esp, 8
movsd xmm2, qword [0x44ca80]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
mov edx, dword [eax]
lea eax, [edx - 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [esp + 0x44]
mulsd xmm1, xmm2
divsd xmm1, xmm0
movsd xmm0, qword [edi + eax*8]
subsd xmm2, xmm1
movsd qword [esp], xmm2
push esi
push edx
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x60]
push eax
mov eax, dword [esp + 0x34]
sub esp, 8
movsd qword [esp], xmm0
push ecx
mov ecx, dword [esp + 0x48]
sub esp, 8
movsd xmm0, qword [eax + ecx*8]
divsd xmm0, xmm7
movsd qword [esp], xmm0
push str.nPI_g_peak_sum__i_g__val__i_g___len_i_post_i___g___
call fcn.00401010
add esp, 0x34
push dword [esp + 0x18]
call fcn.00429f6c
add esp, 4
push edi
call fcn.00429f6c
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret