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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
movsd xmm2, qword [0x1020ca70]
sub esp, 0x78
movsd xmm1, qword [ebp + 0x14]
comisd xmm1, xmm2
push esi
push edi
jbe 0x100c515c
movsd xmm0, qword [0x10200428]
subsd xmm0, xmm1
jmp 0x100c515f
movaps xmm0, xmm1
divsd xmm0, xmm2
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov esi, 0x20
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov eax, dword [ecx]
movsd qword [esp + 0x48], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x50], xmm0
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x58], xmm0
cmp eax, 1
jle 0x100c51be
shr eax, 1
add esi, esi
cmp eax, 1
ja 0x100c51b1
mov dword [esp + 0x14], esi
movd xmm0, esi
add esi, 2
pshufd xmm0, xmm0, 0
push 8
push esi
movaps xmmword [esp + 0x78], xmm0
call fcn.10128b3a
shr esi, 1
mov edi, eax
shl esi, 3
push esi
mov dword [esp + 0x50], edi
call fcn.101288bb
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
shl ecx, 3
push ecx
push dword [eax]
push edi
call fcn.1011e240
mov esi, dword [esp + 0x2c]
push esi
call fcn.100c6120
push dword [0x102f6df4]
push dword [0x102f6df0]
push edi
push 1
push esi
call fcn.100d7ea0
movsd xmm0, qword [edi + 8]
xor eax, eax
movsd qword [edi + esi*8], xmm0
add esp, 0x30
mov dword [esp + 0x1c], eax
xorps xmm0, xmm0
movsd qword [edi + 8], xmm0
movsd qword [edi + esi*8 + 8], xmm0
test esi, esi
js 0x100c5397
nop dword [eax + eax]
fld qword [edi + eax*8 + 8]
fld qword [edi + eax*8]
call fcn.10131cc0
movsd xmm2, qword [0x1020dcc0]
xor ecx, ecx
fstp qword [esp + 0x60]
movsd xmm1, qword [esp + 0x60]
movaps xmm0, xmm1
mov edx, dword [esp + 0x18]
subsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x38], xmm1
comisd xmm2, xmm0
seta cl
xor eax, eax
comisd xmm0, xmmword [0x1020dc78]
seta al
sub ecx, eax
movd xmm0, ecx
xor ecx, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10201618]
addsd xmm0, qword [esp + 0x28]
addsd xmm1, xmm0
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm1
subsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [0x1020dcb8]
comisd xmm1, xmm0
seta cl
xor eax, eax
comisd xmm0, xmmword [0x1020dc68]
seta al
sub ecx, eax
movd xmm0, ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
cvtdq2pd xmm0, xmm0
sar eax, 1
mulsd xmm0, qword [0x10201610]
andps xmm0, xmmword [0x101fc7b0]
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 xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100c533e
sqrtsd xmm0, xmm0
jmp 0x100c5343
call fcn.10128940
ucomisd xmm0, qword [0x101fc450]
lahf
test ah, 0x44
jnp 0x100c5358
call fcn.1012bab0
jmp 0x100c5376
cmp dword [0x1035f170], 0
jle 0x100c536e
push str.log_0_
call fcn.100bf860
add esp, 4
movsd xmm0, qword [0x1020dcc8]
mov eax, dword [esp + 0x1c]
movsd qword [edi + eax*8], xmm0
xorps xmm0, xmm0
movsd qword [edi + eax*8 + 8], xmm0
add eax, 2
mov dword [esp + 0x1c], eax
cmp eax, esi
jle 0x100c5250
movsd xmm0, qword [edi + esi*8]
push esi
movsd qword [edi + 8], xmm0
call fcn.100c6120
push dword [0x102f6df4]
push dword [0x102f6df0]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7ea0
movsd xmm3, qword [0x102de5f8]
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x100c54c5
cmp esi, 8
jb 0x100c5447
mov eax, esi
and eax, 0x80000007
jns 0x100c53e4
dec eax
or eax, 0xfffffff8
inc eax
cvtdq2pd xmm0, qword [esp + 0x70]
mov edx, esi
sub edx, eax
lea eax, [edi + 0x20]
movaps xmm2, xmmword [0x1020dcd0]
divpd xmm2, xmm0
nop dword [eax]
movups xmm0, xmmword [eax - 0x20]
lea eax, [eax + 0x40]
add ecx, 8
movaps xmm1, xmm2
mulpd xmm1, xmm0
movups xmmword [eax - 0x60], xmm1
movaps xmm1, xmm2
movups xmm0, xmmword [eax - 0x50]
mulpd xmm0, xmm2
movups xmmword [eax - 0x50], xmm0
movups xmm0, xmmword [eax - 0x40]
mulpd xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movaps xmm1, xmm2
movups xmm0, xmmword [eax - 0x30]
mulpd xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
cmp ecx, edx
jl 0x100c5400
cmp ecx, esi
jge 0x100c54c5
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x100c54a0
movd xmm0, esi
lea eax, [ecx + 2]
cvtdq2pd xmm0, xmm0
lea eax, [edi + eax*8]
mov edx, esi
sub edx, ecx
sub edx, 4
shr edx, 2
inc edx
movaps xmm1, xmm3
divsd xmm1, xmm0
lea ecx, [ecx + edx*4]
unpcklpd xmm1, xmm1
nop word [eax + 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 0x100c5480
cmp ecx, esi
jge 0x100c54c5
movd xmm0, esi
movaps xmm1, xmm3
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [edi + ecx*8]
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, esi
jl 0x100c54b3
mov eax, esi
mov ecx, 1
cdq
sub eax, edx
mov edx, eax
sar edx, 1
mov dword [esp + 0x28], edx
cmp edx, ecx
jle 0x100c55bc
xorps xmm1, xmm1
cmp edx, 4
jle 0x100c5592
lea ecx, [edx + 3]
lea ecx, [edi + ecx*8]
mov dword [esp + 0x1c], ecx
lea esi, [edx + 1]
lea ecx, [edx - 5]
shr ecx, 2
lea eax, [edi + 0x18]
inc ecx
lea esi, [edi + esi*8]
mov dword [esp + 0x20], ecx
lea ecx, [ecx*4 + 1]
mov dword [esp + 0x38], ecx
lea ecx, [edx + 4]
lea ecx, [edi + ecx*8]
nop word [eax + eax]
movsd xmm0, qword [eax - 0x10]
mov edx, dword [esp + 0x1c]
addsd xmm0, xmm0
movsd qword [eax - 0x10], xmm0
movsd qword [esi], xmm1
movsd xmm0, qword [eax - 8]
addsd xmm0, xmm0
movsd qword [eax - 8], xmm0
movsd qword [esi + 8], xmm1
add esi, 0x20
movsd xmm0, qword [eax]
addsd xmm0, xmm0
movsd qword [eax], xmm0
movsd qword [edx], xmm1
add edx, 0x20
movsd xmm0, qword [eax + 8]
addsd xmm0, xmm0
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x28]
movsd qword [eax + 8], xmm0
add eax, 0x20
movsd qword [ecx], xmm1
add ecx, 0x20
sub dword [esp + 0x20], 1
jne 0x100c5520
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
cmp ecx, edx
jge 0x100c55bc
mov eax, esi
cdq
sub eax, edx
sar eax, 1
add eax, ecx
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x28]
movsd xmm0, qword [edi + ecx*8]
addsd xmm0, xmm0
movsd qword [edi + ecx*8], xmm0
inc ecx
movsd qword [edx], xmm1
add edx, 8
cmp ecx, eax
jl 0x100c55a2
push esi
call fcn.100c6120
push dword [0x102f6df4]
push dword [0x102f6df0]
push edi
push 1
push esi
call fcn.100d7ea0
mov ecx, 2
add esp, 0x18
cmp esi, ecx
jle 0x100c5663
movsd xmm3, qword [0x101fcb90]
lea edx, [edi + 0x18]
movsd xmm0, qword [esp + 0x48]
mov eax, esi
sar eax, 1
subsd xmm3, xmm0
movd xmm4, esi
mov edi, eax
cvtdq2pd xmm4, xmm4
mov dword [esp + 0x38], eax
nop
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 + 0x14]
addsd xmm0, qword [edx]
divsd xmm1, xmm4
mulsd xmm0, xmm3
mulsd xmm1, qword [eax + edi*8]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0x48]
subsd xmm1, xmm2
movsd qword [edx], xmm1
add edx, 0x10
cmp ecx, esi
jl 0x100c5610
mov edi, dword [esp + 0x44]
movsd xmm0, qword [edi]
call fcn.10137b30
movsd qword [edi], xmm0
movsd xmm0, qword [edi + 8]
call fcn.10137b30
mov eax, 2
movsd qword [edi + 8], xmm0
mov dword [esp + 0x1c], eax
cmp esi, eax
jle 0x100c5706
movsd xmm0, qword [edi + eax*8]
call fcn.10137b30
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi + eax*8 + 8]
call fcn.1012c890
mulsd xmm0, qword [esp + 0x58]
mov eax, dword [esp + 0x1c]
movsd qword [edi + eax*8], xmm0
movsd xmm0, qword [edi + eax*8 + 8]
call fcn.10131cd0
mov eax, dword [esp + 0x1c]
mulsd xmm0, qword [esp + 0x58]
movsd qword [edi + eax*8 + 8], xmm0
add eax, 2
mov dword [esp + 0x1c], eax
cmp eax, esi
jl 0x100c5690
push esi
call fcn.100c6120
push dword [0x102f6df4]
push dword [0x102f6df0]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7ea0
add esp, 0x18
xor ecx, ecx
jmp 0x100c572e
push esi
call fcn.100c6120
push dword [0x102f6df4]
push dword [0x102f6df0]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7ea0
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x100c5834
cmp esi, 8
jb 0x100c57ab
mov eax, esi
xor ecx, ecx
and eax, 0x80000007
jns 0x100c5747
dec eax
or eax, 0xfffffff8
inc eax
cvtdq2pd xmm0, qword [esp + 0x70]
mov edx, esi
sub edx, eax
lea eax, [edi + 0x20]
movaps xmm2, xmmword [0x1020dcd0]
divpd xmm2, xmm0
nop
movups xmm0, xmmword [eax - 0x20]
lea eax, [eax + 0x40]
add ecx, 8
movaps xmm1, xmm2
mulpd xmm1, xmm0
movups xmmword [eax - 0x60], xmm1
movaps xmm1, xmm2
movups xmm0, xmmword [eax - 0x50]
mulpd xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movaps xmm1, xmm2
movups xmm0, xmmword [eax - 0x40]
mulpd xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
mulpd xmm0, xmm2
movups xmmword [eax - 0x30], xmm0
cmp ecx, edx
jl 0x100c5760
cmp ecx, esi
jge 0x100c5834
movsd xmm6, qword [0x102de5f8]
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x100c5807
movd xmm0, esi
lea eax, [ecx + 2]
cvtdq2pd xmm0, xmm0
lea eax, [edi + eax*8]
mov edx, esi
sub edx, ecx
sub edx, 4
shr edx, 2
inc edx
movaps xmm1, xmm6
divsd xmm1, xmm0
lea ecx, [ecx + edx*4]
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 0x100c57e3
cmp ecx, esi
jge 0x100c583c
movd xmm0, esi
movaps xmm1, xmm6
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
nop word [eax + eax]
movaps xmm0, xmm1
mulsd xmm0, qword [edi + ecx*8]
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, esi
jl 0x100c5820
jmp 0x100c583c
movsd xmm6, qword [0x102de5f8]
mov ecx, dword [esp + 0x18]
mov eax, esi
sar eax, 1
movsd xmm7, qword [0x102de5f0]
movsd xmm0, qword [ecx + eax*8]
xor eax, eax
divsd xmm0, qword [0x10201610]
addsd xmm0, xmm7
cvttsd2si ecx, xmm0
mov dword [esp + 0x44], ecx
test ecx, ecx
js 0x100c5926
movsd xmm4, qword [0x101fc7b0]
xor edx, edx
movsd xmm3, qword [esp + 0x68]
xor ecx, ecx
movsd xmm7, qword [esp + 0x50]
xor esi, esi
nop dword [eax]
movsd xmm2, qword [edi + ecx]
movaps xmm0, xmm2
addsd xmm3, xmm0
movaps xmm0, xmm7
andps xmm0, xmm4
movaps xmm1, xmm3
andps xmm1, xmm4
comisd xmm1, xmm0
jbe 0x100c58b3
movaps xmm7, xmm3
mov esi, eax
comisd xmm2, xmmword [edx + edi]
jbe 0x100c58c0
mov dword [esp + 0x34], eax
mov edx, ecx
inc eax
add ecx, 8
cmp eax, dword [esp + 0x44]
jle 0x100c5890
mov dword [esp + 0x10], esi
test esi, esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
movsd qword [esp + 0x50], xmm7
movsd xmm7, qword [0x102de5f0]
je 0x100c5928
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 0x100c5920
mulsd xmm2, xmm3
comisd xmm2, xmmword [0x101fc450]
jbe 0x100c5920
sub ecx, 1
jne 0x100c58f0
mov dword [esp + 0x10], ecx
jmp 0x100c5928
xor ecx, ecx
movsd xmm5, qword [esp + 0x48]
xorps xmm4, xmm4
ucomisd xmm5, xmm4
lahf
test ah, 0x44
jp 0x100c5946
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x100c59ea
ucomisd xmm5, qword [0x101fcb90]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
lahf
test ah, 0x44
jp 0x100c596d
mov eax, edx
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x100c59ea
movsd xmm0, qword [0x1020dc58]
subsd xmm6, xmm5
movd xmm3, edx
subsd xmm4, xmm5
cvtdq2pd xmm3, xmm3
mov edx, ecx
mulsd xmm6, qword [0x1020dc10]
mulsd xmm4, qword [0x1020dc10]
subsd xmm0, xmm6
addsd xmm4, qword [0x1020dc58]
mulsd xmm0, xmm3
mulsd xmm4, xmm3
addsd xmm0, xmm7
addsd xmm4, xmm7
cvttsd2si eax, xmm0
and eax, 0xfffffffc
sub edx, eax
cvttsd2si eax, xmm4
mov dword [esp + 0x14], edx
add eax, 3
and eax, 0xfffffffc
sub eax, edx
inc eax
add eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
shl eax, 3
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.10132664
mov ecx, dword [ebp + 8]
add esp, 8
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
movsd xmm1, qword [ebp + 0x14]
movsd xmm2, qword [0x1020ca70]
mov eax, dword [eax]
test eax, eax
jle 0x100c5a49
lea edx, [esi - 1]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
comisd xmm1, xmm2
jbe 0x100c5a21
sub eax, ecx
dec eax
jmp 0x100c5a23
mov eax, ecx
add eax, edx
inc ecx
add eax, esi
and eax, dword [esp + 0x44]
movsd xmm0, qword [edi + eax*8]
mov eax, dword [esp + 0x28]
movsd qword [eax], xmm0
add eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp ecx, eax
jl 0x100c5a16
comisd xmm1, xmm2
mov edx, dword [esp + 0x10]
jbe 0x100c5a5b
mov eax, edx
sub eax, dword [esp + 0x14]
jmp 0x100c5a64
mov ecx, dword [esp + 0x14]
sub eax, edx
dec ecx
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
cmp dword [0x1035f170], 0
jle 0x100c5b02
mov eax, dword [ebp + 0xc]
sub esp, 8
movd xmm1, dword [esp + 0x24]
movsd xmm2, qword [0x10200428]
cvtdq2pd xmm1, xmm1
mov ecx, dword [eax]
sar esi, 1
lea eax, [ecx - 1]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [esp + 0x3c]
mulsd xmm1, xmm2
divsd xmm1, xmm0
movsd xmm0, qword [edi + eax*8]
subsd xmm2, xmm1
movsd qword [esp], xmm2
push dword [esp + 0x24]
push ecx
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x68]
push eax
mov eax, dword [esp + 0x34]
sub esp, 8
movsd qword [esp], xmm0
movsd xmm0, qword [eax + esi*8]
divsd xmm0, qword [0x10201610]
push edx
sub esp, 8
movsd qword [esp], xmm0
push str.nPI_g_peak_sum__i_g__val__i_g___len_i_post_i___g___
call fcn.100bf860
add esp, 0x34
push dword [esp + 0x18]
call fcn.10128533
push edi
call fcn.10128533
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret