Function at 0x7ffbf1cfb1a4
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 r12
push r13
push r14
push r15
sub rsp, 0x58
mov r12, rcx
mov rcx, qword [rcx + 0x10]
mov r13, rdx
lea rdi, [rcx + 1]
mov qword [rsp + 0x28], rdi
mov rdx, rdi
mov eax, 0xa9e48cd7
lea r15, [0x7ffbf1ca0000]
mov r10d, dword [rdi + 8]
mov rsi, 0xfffffffffffff000
mov r8d, dword [rdi]
mov rcx, r15
and qword [rsp + 0xb8], 0
mov eax, 0xfffffff
and r10, rax
and r8, rax
add r10, r15
mov rax, qword [0x7ffbf1cf0238]
sub rcx, rax
mov qword [rsp + 0x30], rcx
jne 0x7ffbf1cfb2bb
xor r11d, r11d
test r8, r8
je 0x7ffbf1cfb63e
mov edx, dword [rsp + 0xbc]
mov r9d, dword [rsp + 0xb8]
movzx eax, byte [r11 + r10]
inc r11
add eax, 0x16f4230b
add r9d, eax
add eax, edx
imul rax, rax, 0x16f4230b
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2f9
rol ecx, 0xb
ror eax, 0xb
xor ecx, eax
mov edx, ecx
imul edx, edx, 0x2f9
rol edx, 0xb
ror ecx, 0xb
xor edx, ecx
add r9d, edx
cmp r11, r8
jb 0x7ffbf1cfb238
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0xb8], r9d
jmp 0x7ffbf1cfb63e
lea rax, [r10 + r8]
movsxd rdx, dword [0x7ffbf1ca003c]
mov qword [rsp + 0x40], rax
lea rax, [0x7ffbf1ca00b0]
add rdx, rax
mov eax, r10d
sub eax, r15d
lea rdi, [rax + r8]
mov ebx, eax
mov r14, rdi
mov r9d, eax
mov r8d, dword [rdx]
and r9, rsi
add r8, r15
sub rbx, r9
and r14, rsi
mov esi, dword [rdx + 4]
sub rdi, r14
add rsi, r8
mov qword [rsp + 0x38], rdi
jmp 0x7ffbf1cfb315
mov eax, dword [r8]
cmp rax, r9
jae 0x7ffbf1cfb31a
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rsi
jne 0x7ffbf1cfb306
mov ebp, 0xfff
xor r11d, r11d
cmp r8, rsi
je 0x7ffbf1cfb357
mov eax, dword [r8]
cmp rax, r9
jne 0x7ffbf1cfb357
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x7ffbf1cfb357
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and rax, rbp
cmp rax, rbx
jae 0x7ffbf1cfb357
inc r11
add rdx, 2
cmp r11, rcx
jne 0x7ffbf1cfb340
mov r13d, dword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
mov ebx, dword [rsp + 0xbc]
mov dword [rsp + 0xb0], r13d
cmp r8, rsi
je 0x7ffbf1cfb58b
mov eax, dword [r8]
cmp rax, r14
ja 0x7ffbf1cfb58b
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x7ffbf1cfb3b5
add r8, rcx
cmp r8, rsi
je 0x7ffbf1cfb58b
mov eax, dword [r8]
cmp rax, r14
ja 0x7ffbf1cfb58b
xor r11d, r11d
jmp 0x7ffbf1cfb388
mov eax, dword [r8]
cmp rax, r14
jne 0x7ffbf1cfb3cf
movzx eax, word [r8 + r11*2 + 8]
and rax, rbp
cmp rax, rdi
jae 0x7ffbf1cfb58b
mov rax, r11
mov ecx, 0xf000
inc r11
test word [r8 + rax*2 + 8], cx
je 0x7ffbf1cfb373
movzx r9d, word [r8 + rax*2 + 8]
mov edi, r9d
and edi, ebp
add edi, dword [r8]
add rdi, r15
xor r15d, r15d
mov rbp, rdi
sub rbp, r10
je 0x7ffbf1cfb488
movzx eax, byte [r15 + r10]
inc r15
add eax, 0x16f4230b
add r13d, eax
add eax, ebx
imul rax, rax, 0x16f4230b
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0xb0]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2f9
rol ecx, 0xb
ror eax, 0xb
xor ecx, eax
mov ebx, ecx
imul ebx, ebx, 0x2f9
rol ebx, 0xb
ror ecx, 0xb
xor ebx, ecx
add r13d, ebx
cmp r15, rbp
mov dword [rsp + 0xb8], r13d
jb 0x7ffbf1cfb402
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb0], r13d
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
shr r9d, 0xc
cmp r9d, 3
je 0x7ffbf1cfb4a8
sub r9d, 0xa
neg r9d
sbb edx, edx
add edx, 3
jmp 0x7ffbf1cfb4ad
mov edx, 2
mov r9, r12
neg r9
sub edx, 2
je 0x7ffbf1cfb4d3
cmp edx, 1
je 0x7ffbf1cfb4c3
or r9, 0xffffffffffffffff
jmp 0x7ffbf1cfb4de
add rax, r9
mov r9d, 8
mov qword [rsp + 0x20], rax
jmp 0x7ffbf1cfb4de
add dword [rsp + 0x20], r9d
mov r9d, 4
xor r10d, r10d
test r9, r9
je 0x7ffbf1cfb571
movzx eax, byte [rsp + r10 + 0x20]
inc r10
add eax, 0x16f4230b
add r13d, eax
add eax, ebx
imul rax, rax, 0x16f4230b
mov qword [rsp + 0xb0], rax
mov ecx, dword [rsp + 0xb0]
shr rax, 0x20
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2f9
rol ecx, 0xb
ror eax, 0xb
xor ecx, eax
mov ebx, ecx
imul ebx, ebx, 0x2f9
rol ebx, 0xb
ror ecx, 0xb
xor ebx, ecx
add r13d, ebx
cmp r10, r9
mov dword [rsp + 0xb8], r13d
jb 0x7ffbf1cfb4ea
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb0], r13d
lea r15, [0x7ffbf1ca0000]
lea r10, [r9 + rdi]
mov ebp, 0xfff
mov rdi, qword [rsp + 0x38]
jmp 0x7ffbf1cfb373
mov rbp, qword [rsp + 0x40]
xor r8d, r8d
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
sub rbp, r10
je 0x7ffbf1cfb632
mov r9d, dword [rsp + 0xb0]
movzx eax, byte [r8 + r10]
inc r8
add eax, 0x16f4230b
add r9d, eax
add eax, ebx
imul rax, rax, 0x16f4230b
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
lea edx, [rcx + rax*2 - 0x7fffffff]
sar ecx, 0x1f
btr ecx, 0x1f
sub edx, ecx
mov eax, edx
sar eax, 0x1f
btr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x2f9
rol ecx, 0xb
ror eax, 0xb
xor ecx, eax
mov ebx, ecx
imul ebx, ebx, 0x2f9
rol ebx, 0xb
ror ecx, 0xb
xor ebx, ecx
add r9d, ebx
cmp r8, rbp
jb 0x7ffbf1cfb5b4
mov dword [rsp + 0xbc], ebx
mov dword [rsp + 0xb8], r9d
mov rdi, qword [rsp + 0x28]
mov rsi, 0xfffffffffffff000
mov ebp, 0xfffffff
add qword [r12 + 0x10], 0x11
mov eax, dword [rdi + 4]
and rax, rbp
mov rax, qword [rax + r15]
cmp qword [rsp + 0xb8], rax
je 0x7ffbf1cfb763
call fcn.7ffbf1d47140
lea r9, [r12 + 0x18]
mov rbx, rax
and r9, 0xfffffffffffffff8
lea r10, [r9 + 0xfff]
and rbx, rsi
mov r11d, 0xffff
and r10, rsi
xor r8d, r8d
lea rsi, [fcn.7ffbf1cb7480]
mov qword [r12 + 0x10], rsi
mov rcx, qword [0x7ffbf1d6a520]
imul rcx, rcx, 0x343fd
shl r8, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r8, rdx
test r11, r11
jne 0x7ffbf1cfb69b
mov qword [0x7ffbf1d6a520], rcx
movabs rax, 0x8000800080008001
mov qword [r13 + 0x98], rbx
mul r8
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r13 + 0xb0], r8
mov qword [rsp + 0xa0], r11
jmp 0x7ffbf1cfb70f
mov rax, qword [rsp + 0xa0]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x7ffbf1cfb700
mov qword [r12 + 0x10], rsi
mov rdx, qword [r13 + 0xb0]
mov eax, dword [rdi + 0xc]
mov qword [r13 + 0x80], rdx
mov rcx, rdx
and rax, rbp
movabs r8, 0x214b7df50000
xor rcx, r8
shl rcx, 0x10
mov eax, dword [rax + r15]
xor rcx, rax
mov eax, dword [0x7ffbf1d675c0]
xor rcx, rax
xor rcx, rdx
and qword [r13 + 0xb0], 0
mov qword [r13 + 0xa0], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret