Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov eax, 0x547c0
call fcn.140003c60
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x54740], rax
xor ebx, ebx
mov dword [rsp + 0x88], 0x10001
mov dword [rsp + 0x28], ebx
lea r8, [rsp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
mov edx, 0xffffffff
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x8c], 0x2d05
mov dword [rsp + 0x90], 0x2d05
mov dword [rsp + 0x94], 0x80001
mov word [rsp + 0x98], bx
call qword [sym.imp.WINMM.dll_waveOutOpen]
xor edx, edx
lea rcx, [rsp + 0xa0]
mov r8d, 0x54696
call sub.VCRUNTIME140.dll_memset
cmp dword [0x140006058], 6
mov ecx, ebx
jl 0x140001350
movdqa xmm0, xmmword [str._________________________________I]
lea rdx, [rsp + 0xa0]
movdqa xmm1, xmmword [0x1400047a0]
movaps xmmword [rsp + 0x547b0], xmm6
movaps xmmword [rsp + 0x547a0], xmm7
movdqa xmm7, xmmword [0x1400046d0]
movaps xmmword [rsp + 0x54790], xmm8
movdqa xmm8, xmmword [0x1400047c0]
movaps xmmword [rsp + 0x54780], xmm9
movdqa xmm9, xmmword [0x140004760]
movaps xmmword [rsp + 0x54770], xmm10
movdqa xmm10, xmmword [0x1400046f0]
movaps xmmword [rsp + 0x54760], xmm11
movdqa xmm11, xmmword [0x140004730]
movdqa xmmword [rsp + 0x40], xmm0
mov r9d, dword [rsp + 0x40]
movdqa xmmword [rsp + 0x30], xmm1
mov r8d, dword [rsp + 0x30]
movaps xmmword [rsp + 0x54750], xmm12
movdqa xmm12, xmmword [0x140004740]
movd xmm6, ecx
lea eax, [rcx + 4]
pshufd xmm6, xmm6, 0
paddd xmm6, xmm10
movdqa xmm2, xmm6
movdqa xmm3, xmm6
punpckldq xmm3, xmm6
movdqa xmm5, xmm6
punpckhdq xmm2, xmm6
movdqa xmm1, xmm3
pmuludq xmm3, xmm8
movdqa xmm0, xmm2
pmuludq xmm0, xmm9
movdqa xmm4, xmm6
pmuludq xmm1, xmm9
pmuludq xmm2, xmm8
pshufb xmm5, xmm7
shufps xmm1, xmm0, 0xdd
movdqa xmm0, xmm6
psubd xmm0, xmm1
shufps xmm3, xmm2, 0xdd
psrld xmm0, 1
paddd xmm0, xmm1
psrld xmm3, 0xd
psrld xmm0, 9
pmulld xmm0, xmm11
psubd xmm4, xmm0
movd xmm0, r9d
vpmovzxbw ymm0, xmm0
pmulld xmm3, xmm12
psubd xmm6, xmm3
pshufb xmm4, xmm7
pshufb xmm6, xmm7
paddb xmm4, xmm5
vpmovzxbw ymm1, xmm6
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
xorps xmm4, xmm3
movd xmm0, r8d
vpmovzxbw ymm0, xmm0
vpmovzxbw ymm1, xmm5
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
xorps xmm4, xmm3
movd xmm6, eax
movd dword [rdx], xmm4
pshufd xmm6, xmm6, 0
paddd xmm6, xmm10
movdqa xmm3, xmm6
movdqa xmm2, xmm6
punpckldq xmm3, xmm6
movdqa xmm4, xmm6
movdqa xmm1, xmm3
punpckhdq xmm2, xmm6
movdqa xmm0, xmm2
pmuludq xmm3, xmm8
pmuludq xmm0, xmm9
movdqa xmm5, xmm6
pmuludq xmm1, xmm9
pmuludq xmm2, xmm8
pshufb xmm5, xmm7
shufps xmm1, xmm0, 0xdd
movdqa xmm0, xmm6
psubd xmm0, xmm1
shufps xmm3, xmm2, 0xdd
psrld xmm0, 1
paddd xmm0, xmm1
psrld xmm3, 0xd
psrld xmm0, 9
pmulld xmm0, xmm11
psubd xmm4, xmm0
movd xmm0, r9d
pmulld xmm3, xmm12
psubd xmm6, xmm3
pshufb xmm4, xmm7
vpmovzxbw ymm0, xmm0
pshufb xmm6, xmm7
paddb xmm4, xmm5
vpmovzxbw ymm1, xmm6
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
xorps xmm4, xmm3
movd xmm0, r8d
vpmovzxbw ymm1, xmm5
vpmovzxbw ymm0, xmm0
vpmullw ymm1, ymm1, ymm0
vpmovzxwd zmm2, ymm1
vpmovdb xmm3, zmm2
xorps xmm4, xmm3
add ecx, 8
movd dword [rdx + 4], xmm4
lea rdx, [rdx + 8]
cmp ecx, 0x54690
jb 0x140001144
movaps xmm12, xmmword [rsp + 0x54750]
movaps xmm11, xmmword [rsp + 0x54760]
movaps xmm10, xmmword [rsp + 0x54770]
movaps xmm9, xmmword [rsp + 0x54780]
movaps xmm8, xmmword [rsp + 0x54790]
movaps xmm7, xmmword [rsp + 0x547a0]
movaps xmm6, xmmword [rsp + 0x547b0]
cmp ecx, 0x54696
jae 0x140001397
nop dword [rax + rax]
mov eax, 0x5e1d27b
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 9
movsx eax, al
imul r8d, eax, 0x17
movzx eax, cl
add al, al
add r8b, al
movsx eax, cl
imul edx, eax, 0x21
movzx eax, cl
shl al, 5
xor r8b, dl
xor r8b, al
mov eax, ecx
inc ecx
mov byte [rsp + rax + 0xa0], r8b
cmp ecx, 0x54696
jb 0x140001350
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0xa0]
mov r8d, 0x30
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x60], 0x54696
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rbx
call qword [sym.imp.WINMM.dll_waveOutPrepareHeader]
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov r8d, 0x30
call qword [sym.imp.WINMM.dll_waveOutWrite]
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x58]
mov r8d, 0x30
call qword [sym.imp.WINMM.dll_waveOutUnprepareHeader]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WINMM.dll_waveOutClose]
mov rcx, qword [rsp + 0x54740]
xor rcx, rsp
call fcn.140002e50
add rsp, 0x547c0
pop rbx
ret