Function at 0x18000eac0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov ebx, dword [rcx + 0x6ec8]
xor esi, esi
mov rdi, rcx
movaps xmmword [rax - 0x28], xmm6
cmp qword [rcx + 0x25c8], rsi
jne 0x18000eb44
mov ecx, 0x2000
call fcn.1800233a0
mov qword [rdi + 0x25c8], rax
test rax, rax
jne 0x18000eb37
test byte [rdi + 0x6fe4], 0x20
mov dword [rdi + 0x7118], 4
jne 0x18000ee3a
lea ecx, [rsi + 2]
call fcn.180024d88
mov rcx, rax
mov r9d, 0xf8
lea rax, str.Cant_allocate_16_to_8_converter_table_
jmp 0x18000eb91
add rax, 0x1000
mov qword [rdi + 0x25d0], rax
sub ebx, 1
je 0x18000ee3f
sub ebx, 3
je 0x18000ed51
sub ebx, 4
je 0x18000ebd9
cmp ebx, 0x7a
je 0x18000ebae
test byte [rdi + 0x6fe4], 0x20
mov dword [rdi + 0x7118], 4
jne 0x18000ee3a
mov ecx, 2
call fcn.180024d88
mov rcx, rax
mov r9d, 0x151
lea rax, str.Unknown_8_bit_encoding_choice.
lea r8, str.INT123_make_conv16to8_table
mov qword [rsp + 0x20], rax
lea rdx, str._D:jworkspacecpp_libs_windows_src_vcpkg_buildtreesmpg123_src5dd550e06f_d919e8ea46.clean_srclibmpg123_tabinit.c:_s__:_i__error:__s_n
call fcn.180006450
jmp 0x18000ee3a
mov rbx, 0xfffffffffffff000
mov rdx, rbx
mov rax, qword [rdi + 0x25d0]
mov ecx, ebx
sar ecx, 5
inc ebx
mov byte [rdx + rax], cl
inc rdx
cmp ebx, 0x1000
jl 0x18000ebb8
jmp 0x18000ee68
mov rdx, rsi
mov r11d, 0x40
mov rax, qword [rdi + 0x25d0]
mov ecx, esi
shr ecx, 1
inc esi
mov byte [rdx + rax], cl
inc rdx
cmp esi, r11d
jl 0x18000ebe2
mov edx, r11d
mov r8, r11
mov r10b, 0xf
mov rax, qword [rdi + 0x25d0]
mov ecx, edx
shr ecx, 2
inc edx
and cl, r10b
or cl, 0x20
mov byte [r8 + rax], cl
inc r8
cmp edx, 0x80
jl 0x18000ec03
mov edx, 0x100
lea r8d, [rdx - 0x80]
mov r9d, r8d
mov rax, qword [rdi + 0x25d0]
mov ecx, r8d
shr ecx, 3
inc r8d
and cl, r10b
or cl, 0x30
mov byte [r9 + rax], cl
inc r9
cmp r8d, edx
jl 0x18000ec32
mov r9, rdx
mov r8d, 0x200
mov rax, qword [rdi + 0x25d0]
mov ecx, edx
shr ecx, 4
inc edx
and cl, r10b
or cl, r11b
mov byte [r9 + rax], cl
inc r9
cmp edx, r8d
jl 0x18000ec5d
mov r9, r8
mov edx, 0x400
mov rax, qword [rdi + 0x25d0]
mov ecx, r8d
shr ecx, 5
inc r8d
and cl, r10b
or cl, 0x50
mov byte [r9 + rax], cl
inc r9
cmp r8d, edx
jl 0x18000ec85
mov r9, rdx
mov r8d, 0x800
mov rax, qword [rdi + 0x25d0]
mov ecx, edx
shr ecx, 6
inc edx
and cl, r10b
or cl, 0x60
mov byte [r9 + rax], cl
inc r9
cmp edx, r8d
jl 0x18000ecb0
mov rdx, r8
mov rax, qword [rdi + 0x25d0]
mov ecx, r8d
shr ecx, 7
inc r8d
and cl, r10b
or cl, 0x70
mov byte [rdx + rax], cl
inc rdx
cmp r8d, 0x1000
jl 0x18000ecd3
mov r8, 0xfffffffffffff001
mov rdx, qword [rdi + 0x25d0]
mov rax, rdx
sub rax, r8
mov cl, byte [rax]
or cl, 0x80
mov byte [rdx + r8], cl
add r8, 1
js 0x18000ecff
mov rcx, qword [rdi + 0x25d0]
mov rbx, 0xfffffffffffff000
mov al, byte [rcx - 0xfff]
mov byte [rcx - 0x1000], al
mov rax, qword [rdi + 0x25d0]
xor byte [rbx + rax], 0x55
inc rbx
cmp rbx, 0x1000
jl 0x18000ed35
jmp 0x18000ee68
movsd xmm0, qword [0x1800415d8]
call fcn.18002e990
movsd xmm6, qword [0x1800415c8]
mov rbx, 0xfffffffffffff000
divsd xmm6, xmm0
mov r15, rbx
mov ebp, 2
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x1800415d0]
mulsd xmm1, qword [0x1800415c0]
mulsd xmm1, qword [0x1800415b8]
test ebx, ebx
jns 0x18000edb6
movsd xmm0, qword [0x18003e3c8]
subsd xmm0, xmm1
call fcn.18002e990
mov r14d, 0x7f
jmp 0x18000edcc
addsd xmm1, qword [0x18003e3c8]
movaps xmm0, xmm1
call fcn.18002e990
mov r14d, 0xff
mulsd xmm0, xmm6
cvttsd2si eax, xmm0
sub r14d, eax
cmp r14d, 0xff
ja 0x18000ee05
mov rax, qword [rdi + 0x25d0]
test r14d, r14d
cmove r14d, ebp
inc ebx
mov byte [r15 + rax], r14b
inc r15
cmp ebx, 0x1000
jl 0x18000ed79
jmp 0x18000ee68
test byte [rdi + 0x6fe4], 0x20
jne 0x18000ee3a
mov ecx, ebp
call fcn.180024d88
mov rcx, rax
mov dword [rsp + 0x28], r14d
mov r9d, 0x10e
mov dword [rsp + 0x20], ebx
lea r8, str.INT123_make_conv16to8_table
lea rdx, str._D:jworkspacecpp_libs_windows_src_vcpkg_buildtreesmpg123_src5dd550e06f_d919e8ea46.clean_srclibmpg123_tabinit.c:_s__:_i__error:_Converror__d__d_n
call fcn.180006450
or eax, 0xffffffff
jmp 0x18000ee6a
mov rbx, 0xfffffffffffff000
mov rdx, rbx
mov rax, qword [rdi + 0x25d0]
mov ecx, ebx
sar ecx, 5
inc ebx
add cl, 0x80
mov byte [rdx + rax], cl
inc rdx
cmp ebx, 0x1000
jl 0x18000ee49
xor eax, eax
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret