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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
movsd xmm2, qword [0x10203218]
sub esp, 0x78
movsd xmm1, qword [ebp + 0x14]
comisd xmm1, xmm2
push esi
push edi
jbe 0x100c450c
movsd xmm0, qword [0x101f33b0]
subsd xmm0, xmm1
jmp 0x100c450f
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 0x100c456e
shr eax, 1
add esi, esi
cmp eax, 1
ja 0x100c4561
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.101128c3
shr esi, 1
mov edi, eax
shl esi, 3
push esi
mov dword [esp + 0x50], edi
call fcn.10115a2f
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.1010efe0
mov esi, dword [esp + 0x2c]
push esi
call fcn.100c54d0
push dword [0x102eba94]
push dword [0x102eba90]
push edi
push 1
push esi
call fcn.100d7250
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 0x100c4747
nop dword [eax + eax]
fld qword [edi + eax*8 + 8]
fld qword [edi + eax*8]
call fcn.10116200
movsd xmm2, qword [0x10204488]
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 [0x10204438]
seta al
sub ecx, eax
movd xmm0, ecx
xor ecx, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10204440]
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 [0x10204480]
comisd xmm1, xmm0
seta cl
xor eax, eax
comisd xmm0, xmmword [0x10204420]
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 [0x10204430]
andps xmm0, xmmword [0x101f33c0]
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 0x100c46ee
sqrtsd xmm0, xmm0
jmp 0x100c46f3
call fcn.101165b0
ucomisd xmm0, qword [0x101f3390]
lahf
test ah, 0x44
jnp 0x100c4708
call fcn.1011e010
jmp 0x100c4726
cmp dword [0x1034ec08], 0
jle 0x100c471e
push str.log_0_
call fcn.100bec10
add esp, 4
movsd xmm0, qword [0x10204490]
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 0x100c4600
movsd xmm0, qword [edi + esi*8]
push esi
movsd qword [edi + 8], xmm0
call fcn.100c54d0
push dword [0x102eba94]
push dword [0x102eba90]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7250
movsd xmm3, qword [0x102d2bb8]
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x100c4875
cmp esi, 8
jb 0x100c47f7
mov eax, esi
and eax, 0x80000007
jns 0x100c4794
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 [0x102044a0]
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 0x100c47b0
cmp ecx, esi
jge 0x100c4875
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x100c4850
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 0x100c4830
cmp ecx, esi
jge 0x100c4875
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 0x100c4863
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 0x100c496c
xorps xmm1, xmm1
cmp edx, 4
jle 0x100c4942
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 0x100c48d0
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
cmp ecx, edx
jge 0x100c496c
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 0x100c4952
push esi
call fcn.100c54d0
push dword [0x102eba94]
push dword [0x102eba90]
push edi
push 1
push esi
call fcn.100d7250
mov ecx, 2
add esp, 0x18
cmp esi, ecx
jle 0x100c4a13
movsd xmm3, qword [0x101f33a8]
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 0x100c49c0
mov edi, dword [esp + 0x44]
movsd xmm0, qword [edi]
call fcn.10122d90
movsd qword [edi], xmm0
movsd xmm0, qword [edi + 8]
call fcn.10122d90
mov eax, 2
movsd qword [edi + 8], xmm0
mov dword [esp + 0x1c], eax
cmp esi, eax
jle 0x100c4ab6
movsd xmm0, qword [edi + eax*8]
call fcn.10122d90
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi + eax*8 + 8]
call fcn.10116220
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.101163e0
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 0x100c4a40
push esi
call fcn.100c54d0
push dword [0x102eba94]
push dword [0x102eba90]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7250
add esp, 0x18
xor ecx, ecx
jmp 0x100c4ade
push esi
call fcn.100c54d0
push dword [0x102eba94]
push dword [0x102eba90]
push edi
push 0xffffffffffffffff
push esi
call fcn.100d7250
add esp, 0x18
xor ecx, ecx
test esi, esi
jle 0x100c4be4
cmp esi, 8
jb 0x100c4b5b
mov eax, esi
xor ecx, ecx
and eax, 0x80000007
jns 0x100c4af7
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 [0x102044a0]
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 0x100c4b10
cmp ecx, esi
jge 0x100c4be4
movsd xmm6, qword [0x102d2bb8]
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x100c4bb7
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 0x100c4b93
cmp ecx, esi
jge 0x100c4bec
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 0x100c4bd0
jmp 0x100c4bec
movsd xmm6, qword [0x102d2bb8]
mov ecx, dword [esp + 0x18]
mov eax, esi
sar eax, 1
movsd xmm7, qword [0x102d2bb0]
movsd xmm0, qword [ecx + eax*8]
xor eax, eax
divsd xmm0, qword [0x10204430]
addsd xmm0, xmm7
cvttsd2si ecx, xmm0
mov dword [esp + 0x44], ecx
test ecx, ecx
js 0x100c4cd6
movsd xmm4, qword [0x101f33c0]
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 0x100c4c63
movaps xmm7, xmm3
mov esi, eax
comisd xmm2, xmmword [edx + edi]
jbe 0x100c4c70
mov dword [esp + 0x34], eax
mov edx, ecx
inc eax
add ecx, 8
cmp eax, dword [esp + 0x44]
jle 0x100c4c40
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 [0x102d2bb0]
je 0x100c4cd8
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 0x100c4cd0
mulsd xmm2, xmm3
comisd xmm2, xmmword [0x101f3390]
jbe 0x100c4cd0
sub ecx, 1
jne 0x100c4ca0
mov dword [esp + 0x10], ecx
jmp 0x100c4cd8
xor ecx, ecx
movsd xmm5, qword [esp + 0x48]
xorps xmm4, xmm4
ucomisd xmm5, xmm4
lahf
test ah, 0x44
jp 0x100c4cf6
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x100c4d9a
ucomisd xmm5, qword [0x101f33a8]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
lahf
test ah, 0x44
jp 0x100c4d1d
mov eax, edx
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
sub edx, eax
mov dword [esp + 0x14], edx
jmp 0x100c4d9a
movsd xmm0, qword [0x10204410]
subsd xmm6, xmm5
movd xmm3, edx
subsd xmm4, xmm5
cvtdq2pd xmm3, xmm3
mov edx, ecx
mulsd xmm6, qword [0x102043c8]
mulsd xmm4, qword [0x102043c8]
subsd xmm0, xmm6
addsd xmm4, qword [0x10204410]
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.1011ef31
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 [0x10203218]
mov eax, dword [eax]
test eax, eax
jle 0x100c4df9
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 0x100c4dd1
sub eax, ecx
dec eax
jmp 0x100c4dd3
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 0x100c4dc6
comisd xmm1, xmm2
mov edx, dword [esp + 0x10]
jbe 0x100c4e0b
mov eax, edx
sub eax, dword [esp + 0x14]
jmp 0x100c4e14
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 [0x1034ec08], 0
jle 0x100c4eb2
mov eax, dword [ebp + 0xc]
sub esp, 8
movd xmm1, dword [esp + 0x24]
movsd xmm2, qword [0x101f33b0]
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 [0x10204430]
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.100bec10
add esp, 0x34
push dword [esp + 0x18]
call fcn.10115694
push edi
call fcn.10115694
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret