Function at 0x7ffbf1ca42c4
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x50
mov r15, rdx
mov r13, rcx
mov rcx, qword [rcx + 0x10]
lea rdi, [rcx + 1]
mov qword [rsp + 0x20], rdi
mov rdx, rdi
mov eax, 0x8bbaabc5
mov rsi, 0xfffffffffffff000
mov eax, 0xfffffff
lea r14, [0x7ffbf1ca0000]
mov r10d, dword [rdi + 0xc]
mov rcx, r14
mov r9d, dword [rdi]
and qword [rsp + 0xa0], 0
and r10, rax
and r9, rax
mov rax, qword [0x7ffbf1cf0238]
add r10, r14
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x7ffbf1ca4395
xor r8d, r8d
test r9, r9
je 0x7ffbf1ca4647
mov eax, dword [rsp + 0xa4]
mov edx, dword [rsp + 0xa0]
movzx ecx, byte [r8 + r10]
inc r8
sub ecx, 0x2c3f8530
add edx, ecx
add ecx, eax
imul ecx, ecx, 0xd3c07ad0
imul ecx, ecx, 0xd3c07ad0
mov eax, ecx
imul eax, eax, 0xac20
xor ecx, eax
add edx, ecx
mov eax, ecx
cmp r8, r9
jb 0x7ffbf1ca4351
mov dword [rsp + 0xa0], edx
mov dword [rsp + 0xa4], ecx
jmp 0x7ffbf1ca4647
lea rax, [r10 + r9]
movsxd rdx, dword [0x7ffbf1ca003c]
mov qword [rsp + 0x40], rax
lea rax, [0x7ffbf1ca00b0]
add rdx, rax
mov eax, r10d
sub eax, r14d
mov r8d, dword [rdx]
mov edi, eax
mov r11d, eax
add rax, r9
mov rbp, rax
add r8, r14
and rbp, rsi
and r11, rsi
sub rax, rbp
sub rdi, r11
mov r14d, dword [rdx + 4]
add r14, r8
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rax
jmp 0x7ffbf1ca43f4
mov eax, dword [r8]
cmp rax, r11
jae 0x7ffbf1ca43f9
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r14
jne 0x7ffbf1ca43e5
xor ebx, ebx
cmp r8, r14
je 0x7ffbf1ca4432
mov eax, dword [r8]
cmp rax, r11
jne 0x7ffbf1ca4432
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x7ffbf1ca4432
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rdi
jae 0x7ffbf1ca4432
inc rbx
add rdx, 2
cmp rbx, rcx
jne 0x7ffbf1ca4419
mov esi, dword [rsp + 0xa4]
mov r15, qword [rsp + 0x28]
mov r9d, dword [rsp + 0xa0]
lea r13, [0x7ffbf1ca0000]
cmp r8, r14
je 0x7ffbf1ca45d6
mov eax, dword [r8]
cmp rax, rbp
ja 0x7ffbf1ca45d6
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp rbx, rax
jne 0x7ffbf1ca448e
add r8, rcx
cmp r8, r14
je 0x7ffbf1ca45d6
mov eax, dword [r8]
cmp rax, rbp
ja 0x7ffbf1ca45d6
xor ebx, ebx
jmp 0x7ffbf1ca4462
mov eax, dword [r8]
cmp rax, rbp
jne 0x7ffbf1ca44ac
movzx eax, word [r8 + rbx*2 + 8]
and eax, 0xfff
cmp rax, qword [rsp + 0x30]
jae 0x7ffbf1ca45d6
mov ecx, 0xf000
mov rax, rbx
inc rbx
test word [r8 + rax*2 + 8], cx
je 0x7ffbf1ca444d
movzx edx, word [r8 + rax*2 + 8]
mov ebp, edx
xor r11d, r11d
and ebp, 0xfff
add ebp, dword [r8]
add rbp, r13
mov rdi, rbp
sub rdi, r10
je 0x7ffbf1ca4520
movzx ecx, byte [r11 + r10]
inc r11
sub ecx, 0x2c3f8530
add r9d, ecx
add ecx, esi
imul ecx, ecx, 0xd3c07ad0
imul ecx, ecx, 0xd3c07ad0
mov eax, ecx
imul eax, eax, 0xac20
xor ecx, eax
mov esi, ecx
add r9d, ecx
cmp r11, rdi
jb 0x7ffbf1ca44de
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0xa4], ecx
mov rax, qword [rbp]
shr edx, 0xc
mov qword [rsp + 0xa8], rax
cmp edx, 3
je 0x7ffbf1ca4540
sub edx, 0xa
neg edx
sbb edx, edx
add edx, 3
jmp 0x7ffbf1ca4545
mov edx, 2
mov r10, r15
neg r10
sub edx, 2
je 0x7ffbf1ca456d
cmp edx, 1
je 0x7ffbf1ca455b
or rdx, 0xffffffffffffffff
jmp 0x7ffbf1ca457a
mov edx, 8
add rax, r10
mov qword [rsp + 0xa8], rax
jmp 0x7ffbf1ca457a
add dword [rsp + 0xa8], r10d
mov edx, 4
xor r10d, r10d
test rdx, rdx
je 0x7ffbf1ca45c8
movzx ecx, byte [rsp + r10 + 0xa8]
inc r10
sub ecx, 0x2c3f8530
add r9d, ecx
add ecx, esi
imul ecx, ecx, 0xd3c07ad0
imul ecx, ecx, 0xd3c07ad0
mov eax, ecx
imul eax, eax, 0xac20
xor ecx, eax
mov esi, ecx
add r9d, ecx
cmp r10, rdx
jb 0x7ffbf1ca4582
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0xa4], ecx
lea r10, [rdx + rbp]
mov rbp, qword [rsp + 0x38]
jmp 0x7ffbf1ca444d
mov r15, qword [rsp + 0x98]
xor edx, edx
mov r13, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x40]
sub rbp, r10
je 0x7ffbf1ca4634
movzx ecx, byte [rdx + r10]
inc rdx
sub ecx, 0x2c3f8530
add r9d, ecx
add ecx, esi
imul ecx, ecx, 0xd3c07ad0
imul ecx, ecx, 0xd3c07ad0
mov eax, ecx
imul eax, eax, 0xac20
xor ecx, eax
add r9d, ecx
cmp rdx, rbp
mov esi, ecx
jb 0x7ffbf1ca45f2
mov dword [rsp + 0xa0], r9d
mov dword [rsp + 0xa4], ecx
lea r14, [0x7ffbf1ca0000]
mov rsi, 0xfffffffffffff000
mov rdi, qword [rsp + 0x20]
mov ebp, 0xfffffff
add qword [r13 + 0x10], 0x11
mov eax, dword [rdi + 8]
and rax, rbp
mov rax, qword [rax + r14]
cmp qword [rsp + 0xa0], rax
je 0x7ffbf1ca4768
call fcn.7ffbf1d47140
mov rbx, rax
mov r11d, 0xffff
lea r8, [r13 + 0x18]
and r8, 0xfffffffffffffff8
lea r10, [r8 + 0xfff]
and rbx, rsi
and r10, rsi
xor r9d, r9d
lea rsi, [fcn.7ffbf1cb7480]
mov qword [r13 + 0x10], rsi
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl r9, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r9, rdx
test r11, r11
jne 0x7ffbf1ca46a1
movabs rax, 0x8000800080008001
mul r9
mov qword [0x7ffbf1d6a520], rcx
shr rdx, 0xf
mov qword [r15 + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [r15 + 0xb0], r9
mov qword [rsp + 0x90], r11
jmp 0x7ffbf1ca4715
mov rax, qword [rsp + 0x90]
mov qword [r8], rax
add r8, 8
cmp r8, r10
jb 0x7ffbf1ca4706
mov qword [r13 + 0x10], rsi
mov eax, dword [rdi + 4]
mov rdx, qword [r15 + 0xb0]
and rax, rbp
movabs r8, 0xffffd3d300b90000
mov rcx, rdx
mov qword [r15 + 0x80], rdx
mov eax, dword [rax + r14]
xor rcx, r8
shl rcx, 0x10
xor rcx, rax
mov eax, dword [0x7ffbf1d69528]
xor rcx, rax
xor rcx, rdx
and qword [r15 + 0xb0], 0
mov qword [r15 + 0xa0], rcx
add rsp, 0x50
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret