Function at 0x54ce20
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x430
mov eax, dword [0x62aabc]
xor eax, esp
mov dword [esp + 0x42c], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, esi
mov dword [esp + 0x28], eax
imul edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
cmp edi, 0x180
jle 0x54ce77
push 0x37
push str.D:UsersphiliDropboxDevelopmentlibcodecsopus_silk_float_burg_modified_FLP.c
push str.assertion_failed:_subfr_length__nb_subfr___MAX_FRAME_SIZE
call fcn.00504d50
mov eax, dword [esp + 0x20]
add esp, 0xc
push edi
push eax
call fcn.00542710
push 0xc0
lea eax, [esp + 0x2bc]
push 0
fst qword [esp + 0x50]
push eax
fstp qword [esp + 0x64]
call sub.VCRUNTIME140.dll_memset
mov edi, dword [ebp + 0x18]
lea eax, [esi*4]
add esp, 0x14
mov dword [esp + 0x18], eax
test edi, edi
jle 0x54cf3c
mov edx, dword [ebp + 0x1c]
mov eax, edi
mov ecx, dword [esp + 0x14]
lea edi, [esi*4]
inc edx
mov dword [esp + 8], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
cmp edx, 1
jle 0x54cf29
mov edx, dword [ebp + 0x1c]
lea eax, [esi - 1]
lea edi, [ecx + 4]
mov dword [esp + 0x10], eax
lea esi, [esp + 0x2b0]
mov dword [esp + 0xc], edx
nop dword [eax]
push eax
push edi
push ecx
call fcn.0054c760
fadd qword [esi]
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 8]
dec eax
add edi, 4
mov dword [esp + 0x10], eax
fstp qword [esi]
add esi, 8
sub dword [esp + 0xc], 1
jne 0x54cef0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
add ecx, edi
sub eax, 1
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], eax
jne 0x54ced0
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x50]
lea esi, [esp + 0x2b0]
mulsd xmm0, qword [0x618ac8]
lea edi, [esp + 0x370]
mov ecx, 0x30
mov dword [esp + 0x20], 0
movsd xmm6, qword [0x619e70]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
movaps xmm7, xmm6
movaps xmm2, xmm0
movsd qword [esp + 0x58], xmm0
addsd xmm2, qword [esp + 0x50]
movsd qword [esp + 0x30], xmm7
mov dword [esp + 0x24], esi
addsd xmm2, qword [0x617e98]
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x1e8], xmm2
cmp dword [ebp + 0x1c], esi
jle 0x54d45f
mov edi, 0xfffffff8
mov dword [esp + 0xc], eax
mov edx, 0xfffffffc
mov dword [esp + 8], edi
mov dword [esp + 0x10], edx
cmp dword [ebp + 0x18], 0
jle 0x54d13a
mov edi, dword [esp + 0x14]
lea ecx, [edx + 4]
sub eax, ecx
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
nop dword [eax]
movss xmm6, dword [edx + edi + 4]
lea ecx, [edx + edi]
movss xmm5, dword [ecx + eax]
xor eax, eax
cmp edx, 0xfffffffc
mov edx, dword [esp + 0xc]
cvtps2pd xmm4, xmm6
cvtps2pd xmm5, xmm5
jle 0x54d0a9
movss xmm7, dword [edx + edi - 4]
add edx, edi
mov esi, dword [esp + 0x24]
mov edi, edx
mov dword [esp + 0x48], edx
nop word [eax + eax]
movss xmm3, dword [ecx]
movaps xmm0, xmm6
movsd xmm1, qword [esp + eax*8 + 0x2b0]
sub ecx, 4
movss xmm2, dword [edi]
add edi, 4
mulss xmm0, xmm3
cvtss2sd xmm0, xmm0
subsd xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm2
cvtss2sd xmm0, xmm0
movsd qword [esp + eax*8 + 0x2b0], xmm1
movsd xmm1, qword [esp + eax*8 + 0x370]
subsd xmm1, xmm0
cvtps2pd xmm0, xmm3
movsd qword [esp + eax*8 + 0x370], xmm1
movsd xmm1, qword [esp + eax*8 + 0x60]
inc eax
mulsd xmm0, xmm1
addsd xmm4, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm5, xmm0
cmp eax, esi
jl 0x54d030
mov edi, dword [esp + 0x1c]
xor eax, eax
jmp 0x54d0b4
add edx, edi
xor eax, eax
cmp dword [esp + 0x10], 0xfffffffc
jl 0x54d10d
lea ecx, [edx - 4]
mov edx, dword [esp + 0x4c]
add edx, edi
nop dword [eax]
movss xmm1, dword [edx]
sub edx, 4
movsd xmm0, qword [esp + eax*8 + 0x120]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm4
subsd xmm0, xmm1
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
add ecx, 4
movsd qword [esp + eax*8 + 0x120], xmm0
movsd xmm0, qword [esp + eax*8 + 0x1e8]
mulsd xmm1, xmm5
subsd xmm0, xmm1
movsd qword [esp + eax*8 + 0x1e8], xmm0
inc eax
cmp eax, esi
jle 0x54d0c0
add edi, dword [esp + 0x18]
sub dword [esp + 0x3c], 1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], edi
jne 0x54cff0
movsd xmm6, qword [0x619e70]
movsd xmm7, qword [esp + 0x30]
mov edi, dword [esp + 8]
movsd xmm3, qword [esp + esi*8 + 0x2b0]
xor ecx, ecx
movsd xmm2, qword [esp + esi*8 + 0x370]
test esi, esi
jle 0x54d1f8
mov eax, edi
nop dword [eax + eax]
movsd xmm1, qword [esp + ecx*8 + 0x60]
inc ecx
movaps xmm0, xmm1
mulsd xmm1, qword [esp + eax + 0x2b0]
mulsd xmm0, qword [esp + eax + 0x370]
sub eax, 8
addsd xmm2, xmm1
addsd xmm3, xmm0
cmp ecx, esi
jl 0x54d160
lea ecx, [esp + 0x1e8]
movsd qword [esp + esi*8 + 0x128], xmm3
movsd xmm4, qword [esp + 0x120]
lea ecx, [ecx + esi*8]
movsd qword [esp + esi*8 + 0x1f0], xmm2
xor eax, eax
movsd xmm5, qword [esp + 0x1e8]
nop dword [eax + eax]
movsd xmm1, qword [esp + eax*8 + 0x60]
movaps xmm0, xmm1
mulsd xmm0, qword [ecx]
sub ecx, 8
addsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [esp + eax*8 + 0x1f0]
mulsd xmm1, qword [esp + eax*8 + 0x128]
inc eax
addsd xmm5, xmm0
addsd xmm4, xmm1
cmp eax, esi
jl 0x54d1c0
jmp 0x54d21c
movsd qword [esp + esi*8 + 0x128], xmm3
movsd xmm4, qword [esp + 0x120]
movsd qword [esp + esi*8 + 0x1f0], xmm2
movsd xmm5, qword [esp + 0x1e8]
movaps xmm3, xmm2
movsd qword [esp + 0x30], xmm2
mulsd xmm3, qword [0x618ad0]
addsd xmm4, xmm5
movss xmm5, dword [ebp + 0x10]
movaps xmm1, xmm6
cvtps2pd xmm5, xmm5
divsd xmm3, xmm4
movaps xmm0, xmm3
mulsd xmm0, xmm3
subsd xmm1, xmm0
mulsd xmm1, xmm7
comisd xmm5, xmm1
jb 0x54d2b3
movaps xmm0, xmm5
movaps xmm2, xmm6
divsd xmm0, xmm7
xorps xmm1, xmm1
subsd xmm2, xmm0
movaps xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x54d275
sqrtsd xmm0, xmm0
jmp 0x54d27a
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movaps xmm3, xmm0
xorps xmm1, xmm1
movsd xmm0, qword [esp + 0x30]
comisd xmm0, xmm1
jbe 0x54d293
xorps xmm3, xmmword [0x619f20]
movss xmm0, dword [ebp + 0x10]
movsd xmm6, qword [0x619e70]
cvtps2pd xmm7, xmm0
mov dword [esp + 0x20], 1
movsd qword [esp + 0x30], xmm7
jmp 0x54d2bc
movaps xmm7, xmm1
movsd qword [esp + 0x30], xmm1
lea edx, [esi + 1]
movaps xmm4, xmm3
mov edi, edx
unpcklpd xmm4, xmm4
sar edi, 1
xor eax, eax
test edi, edi
jle 0x54d312
mov ecx, dword [esp + 8]
lea ecx, [esp + ecx + 0x60]
nop dword [eax + eax]
movsd xmm1, qword [ecx]
movaps xmm0, xmm3
movsd xmm2, qword [esp + eax*8 + 0x60]
mulsd xmm0, xmm1
addsd xmm0, xmm2
movsd qword [esp + eax*8 + 0x60], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc eax
addsd xmm0, xmm1
movsd qword [ecx], xmm0
sub ecx, 8
cmp eax, edi
jl 0x54d2e0
cmp dword [esp + 0x20], 0
movsd qword [esp + esi*8 + 0x60], xmm3
jne 0x54d48d
xor eax, eax
test edx, edx
js 0x54d3d7
lea ecx, [edx + 1]
cmp ecx, 2
jb 0x54d396
and ecx, reloc.WS2_32.dll_accept
jns 0x54d342
dec ecx
or ecx, 0xfffffffe
inc ecx
mov edi, edx
sub edi, ecx
lea ecx, [esp + 0x1e8]
lea ecx, [ecx + esi*8]
movsd xmm1, qword [ecx + 8]
movaps xmm0, xmm4
movhpd xmm1, qword [ecx]
movups xmm2, xmmword [esp + eax*8 + 0x120]
mulpd xmm0, xmm1
addpd xmm0, xmm2
movups xmmword [esp + eax*8 + 0x120], xmm0
add eax, 2
movaps xmm0, xmm4
mulpd xmm0, xmm2
addpd xmm0, xmm1
movlpd qword [ecx + 8], xmm0
movhpd qword [ecx], xmm0
sub ecx, 0x10
cmp eax, edi
jle 0x54d350
cmp eax, edx
jg 0x54d3d7
sub esi, eax
lea ecx, [esp + 0x1f0]
lea ecx, [ecx + esi*8]
movsd xmm0, qword [ecx]
movsd xmm2, qword [esp + eax*8 + 0x120]
mulsd xmm0, xmm3
addsd xmm0, xmm2
movsd qword [esp + eax*8 + 0x120], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc eax
addsd xmm0, qword [ecx]
movsd qword [ecx], xmm0
sub ecx, 8
cmp eax, edx
jle 0x54d3a2
mov eax, dword [esp + 0xc]
mov esi, edx
mov edx, dword [esp + 0x10]
sub eax, 4
mov edi, dword [esp + 8]
add edx, 4
mov ecx, dword [ebp + 0x1c]
add edi, 8
mov dword [esp + 0x24], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 8], edi
cmp esi, ecx
jl 0x54cfc6
movsd xmm2, qword [esp + 0x120]
xor eax, eax
mov edx, dword [esp + 0x28]
nop dword [eax + eax]
movsd xmm1, qword [esp + eax*8 + 0x60]
movaps xmm0, xmm1
mulsd xmm0, qword [esp + eax*8 + 0x128]
addsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmmword [0x619f20]
addsd xmm6, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [edx + eax*4], xmm0
inc eax
cmp eax, ecx
jl 0x54d420
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, xmm6
subsd xmm2, xmm0
movsd qword [esp + 0x40], xmm2
fld qword [esp + 0x40]
mov ecx, dword [esp + 0x434]
pop edi
pop esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
xor ecx, esp
call fcn.0054f742
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x1c]
cmp edx, esi
jge 0x54d4a9
mov ecx, esi
lea edi, [esp + 0x60]
sub ecx, edx
lea edi, [edi + edx*8]
shl ecx, 3
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x28]
xor ecx, ecx
cmp esi, 8
jb 0x54d53e
lea eax, [esp + esi*8 + 0x58]
lea edx, [esi - 1]
lea edx, [edi + edx*4]
cmp edi, eax
ja 0x54d4ce
lea eax, [esp + 0x60]
cmp edx, eax
jae 0x54d53e
movaps xmm1, xmmword [0x619f20]
lea eax, [edi + 0x10]
mov edx, esi
and edx, 0xfffffff8
nop dword [eax]
movups xmm0, xmmword [esp + ecx*8 + 0x60]
lea eax, [eax + 0x20]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x30], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x70]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x28], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x80]
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x20], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x90]
add ecx, 8
xorps xmm0, xmm1
cvtpd2ps xmm0, xmm0
movsd qword [eax - 0x18], xmm0
cmp ecx, edx
jl 0x54d4e0
cmp ecx, esi
jge 0x54d5d7
jmp 0x54d545
movaps xmm1, xmmword [0x619f20]
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x54d5c0
lea eax, [ecx + 2]
add esi, 0xfffffffd
lea eax, [edi + eax*4]
nop word [eax + eax]
movsd xmm0, qword [esp + ecx*8 + 0x60]
lea eax, [eax + 0x10]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x18], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x68]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x14], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x70]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax - 0x10], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x78]
add ecx, 4
xorps xmm0, xmm1
mov edx, ecx
cvtsd2ss xmm0, xmm0
movss dword [eax - 0xc], xmm0
cmp ecx, esi
jl 0x54d560
mov esi, dword [ebp + 0x1c]
cmp edx, esi
jge 0x54d5d7
nop dword [eax + eax]
movsd xmm0, qword [esp + ecx*8 + 0x60]
xorps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [edi + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x54d5c0
mov edi, dword [ebp + 0x18]
test edi, edi
jle 0x54d609
mov eax, dword [esp + 0x14]
push esi
push eax
call fcn.00542710
fsubr qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
add esp, 8
add eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
fst qword [esp + 0x40]
fstp qword [esp + 0x50]
sub edi, 1
jne 0x54d5e2
movsd xmm0, qword [esp + 0x30]
mulsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x40], xmm0
jmp 0x54d46d