Function at 0x18000bac0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x180087020]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, rcx
call fcn.180045878
mov r9d, eax
mov eax, 0x51eb851f
imul r9d
sar edx, 5
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
imul ecx, edx, 0x64
sub r9d, ecx
movd xmm6, r9d
cvtdq2ps xmm6, xmm6
divss xmm6, dword [0x180079c70]
call fcn.180045878
cmp eax, 9
jne 0x18000bb35
add dword [0x180087be8], eax
call fcn.180045878
cmp eax, 9
jne 0x18000bb45
add dword [0x180087be8], eax
addss xmm6, dword [0x180079c60]
mov eax, dword [rbx]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm6, xmm0
cvttss2si r15d, xmm6
mov dword [rbp - 0x40], 0xdaf62130
mov dword [rbp - 0x3c], 0x4fa6a4ef
mov dword [rbp - 0x38], 0xece73d16
mov ecx, dword [0x180089430]
mov rax, qword gs:[0x58]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x6e8
mov eax, dword [rcx + rdi]
test al, 1
jne 0x18000bbcb
or eax, 1
mov dword [rcx + rdi], eax
mov eax, 0x730
mov ebx, eax
mov byte [rax + rdi + 0xd], 1
movsd xmm0, qword [rbp - 0x40]
movsd qword [rax + rdi], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rbx + rdi + 8], eax
mov byte [rbx + rdi + 0xc], 0x9b
lea rcx, [0x1800691d0]
call fcn.18003f1a4
nop
jmp 0x18000bbd0
mov ebx, 0x730
lea r9, [rbx + rdi]
xor r12d, r12d
cmp byte [r9 + 0xd], r12b
je 0x18000bc10
mov edx, r12d
movabs r8, 0x39e3c19bbb935373
nop word [rax + rax]
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0xd
jb 0x18000bbf0
mov byte [r9 + 0xd], r12b
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [r9 + r8], r12b
jne 0x18000bc30
mov rdx, r9
lea rcx, [rbp - 0x60]
call fcn.180002e80
lea rdx, [rbp - 0x60]
mov ecx, 1
call fcn.1800122a0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call rax
mov r14, rax
call fcn.180045878
cmp eax, 9
jne 0x18000bc72
add dword [0x180087be8], eax
call fcn.180045878
cmp eax, 0x15
jne 0x18000bc82
add dword [0x180087be8], eax
test r14, r14
je 0x18000be53
movdqa xmm0, xmmword [0x180079ca0]
mov dword [rbp - 0x30], 0xab7108b8
mov ecx, 0x774
mov eax, dword [rcx + rdi]
test al, 1
jne 0x18000bcf4
or eax, 1
mov dword [rcx + rdi], eax
mov eax, 0x710
mov esi, eax
lea rcx, [rax + rdi]
mov byte [rcx + 0x14], 1
lea rax, [rcx + 0x13]
lea rdx, [rbp - 0x2d]
cmp rcx, rdx
ja 0x18000bcdc
lea rdx, [rbp - 0x40]
cmp rax, rdx
jb 0x18000bcdc
movups xmmword [rcx], xmm0
mov eax, dword [rbp - 0x30]
mov dword [rcx + 0x10], eax
jmp 0x18000bce5
movups xmmword [rcx], xmm0
mov eax, dword [rbp - 0x30]
mov dword [rcx + 0x10], eax
lea rcx, [0x1800691a0]
call fcn.18003f1a4
nop
jmp 0x18000bcf9
mov esi, 0x710
lea r9, [rdi + rsi]
cmp byte [r9 + 0x14], 0
je 0x18000bd32
mov rdx, r12
movabs r8, 0x7d0149afab056bdd
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0x14
jb 0x18000bd11
mov byte [r9 + 0x14], 0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov r8, rbx
inc r8
cmp byte [r9 + r8], 0
jne 0x18000bd45
mov rdx, r9
lea rcx, [rbp - 0x40]
call fcn.180002e80
lea rdx, [rbp - 0x40]
mov ecx, 1
call fcn.1800122a0
mov edx, r15d
mov rcx, r14
call rax
call fcn.180045878
cmp eax, 0x15
jne 0x18000bd81
add dword [0x180087be8], eax
mov dword [rbp - 0x40], 0xf28e37ae
mov dword [rbp - 0x3c], 0x11b2e5d4
mov dword [rbp - 0x38], 0x81843789
mov ecx, 0x9ac
mov eax, dword [rcx + rdi]
test al, 1
jne 0x18000bdd4
or eax, 1
mov dword [rcx + rdi], eax
mov eax, 0x830
mov esi, eax
mov byte [rax + rdi + 0xc], 1
movsd xmm0, qword [rbp - 0x40]
movsd qword [rax + rdi], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rsi + rdi + 8], eax
lea rcx, [0x180069170]
call fcn.18003f1a4
nop
jmp 0x18000bdd9
mov esi, 0x830
lea r9, [rdi + rsi]
cmp byte [r9 + 0xc], 0
je 0x18000be12
mov rdx, r12
movabs r8, 0x7fd3adb181e15bed
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx + r9], al
inc rdx
cmp rdx, 0xc
jb 0x18000bdf1
mov byte [r9 + 0xc], 0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
inc rbx
cmp byte [r9 + rbx], 0
jne 0x18000be22
mov r8, rbx
mov rdx, r9
lea rcx, [rbp - 0x40]
call fcn.180002e80
lea rdx, [rbp - 0x40]
mov ecx, 1
call fcn.1800122a0
mov rcx, r14
call rax
jmp 0x18000bf08
call fcn.180045878
cmp eax, 0x15
jne 0x18000be63
add dword [0x180087be8], eax
mov ecx, 0x754
mov eax, dword [rcx + rdi]
test al, 1
jne 0x18000be9e
or eax, 1
mov dword [rcx + rdi], eax
mov eax, 0x8b4
mov esi, eax
mov word [rax + rdi + 5], 0x1c9
mov dword [rax + rdi], 0x2eb4c5fa
mov byte [rax + rdi + 4], 5
lea rcx, [0x180069140]
call fcn.18003f1a4
nop
jmp 0x18000bea3
mov esi, 0x8b4
lea rdx, [rdi + rsi]
cmp byte [rdx + 6], 0
je 0x18000bec8
xor byte [rdx], 0xa9
xor byte [rdx + 1], 0xa9
xor byte [rdx + 2], 0xd1
xor byte [rdx + 3], 0x4b
xor byte [rdx + 4], 0x75
xor byte [rdx + 5], 0xc9
mov byte [rdx + 6], 0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x18000bee0
mov r8, rbx
lea rcx, [rbp - 0x60]
call fcn.180002e80
lea rdx, [rbp - 0x60]
mov ecx, 1
call fcn.1800122a0
mov ecx, r15d
call rax
call fcn.180045878
cmp eax, 9
jne 0x18000bf18
add dword [0x180087be8], eax
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.18003f070
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret