Function at 0x140096500
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x70], rax
cmp dword [rcx + 0x2c8], 0
je 0x1400965e9
mov rsi, rcx
cmp qword [rcx + 0x2c0], 0xffffffffffffffff
je 0x140096611
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov rcx, qword [rsi + 0x10]
call fcn.140067f90
mov rbp, rax
test rax, rax
je 0x140096566
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8, rbp
call fcn.14027bdc0
mov r13, qword [rsp + 0xe8]
lea rcx, [rsi + 0x10]
mov rdx, qword [rsi + 0x2c0]
mov r11, rdx
shr r11, 0x10
mov r15, rdx
shr r15, 0x18
mov r12, rdx
shr r12, 0x20
mov r8, rdx
shr r8, 0x28
mov r9, rdx
shr r9, 0x30
mov r10, rdx
shr r10, 0x38
mov rax, rbp
sub rax, 1
mov byte [rsp + rax + 0x50], dl
lea rax, [rsp + 0x50]
mov byte [rbp + rax - 2], dh
mov byte [rbp + rax - 3], r11b
mov byte [rbp + rax - 4], r15b
mov byte [rbp + rax - 5], r12b
mov byte [rbp + rax - 6], r8b
mov byte [rbp + rax - 7], r9b
mov byte [rbp + rax - 8], r10b
jb 0x14009674e
cmp rbp, 8
jae 0x140096639
xor r11d, r11d
jmp 0x140096738
mov dword [rsp + 0x20], 0x23b
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x42
call fcn.140049240
jmp 0x1400967a6
mov dword [rsp + 0x20], 0x23f
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x45
call fcn.140049240
jmp 0x1400967a6
cmp rbp, 0x20
jae 0x140096647
xor r11d, r11d
jmp 0x140096716
lea rdx, [rbp - 0x20]
mov r12, rdx
shr r12, 5
inc r12
cmp rdx, 0x20
jae 0x140096660
xor r15d, r15d
jmp 0x1400966d4
mov r11, r12
and r11, 0xfffffffffffffffe
xor r15d, r15d
nop word [rax + rax]
movups xmm0, xmmword [rsi + r15 + 0x268]
movups xmm1, xmmword [rsi + r15 + 0x278]
xorps xmm0, xmmword [rsp + r15 + 0x50]
xorps xmm1, xmmword [rsp + r15 + 0x60]
movaps xmmword [rsp + r15 + 0x50], xmm0
movaps xmmword [rsp + r15 + 0x60], xmm1
movups xmm0, xmmword [rsi + r15 + 0x288]
movups xmm1, xmmword [rsi + r15 + 0x298]
xorps xmm0, xmmword [rsp + r15 + 0x70]
xorps xmm1, xmmword [rsp + r15 + 0x80]
movaps xmmword [rsp + r15 + 0x70], xmm0
movaps xmmword [rsp + r15 + 0x80], xmm1
add r15, 0x40
add r11, 0xfffffffffffffffe
jne 0x140096670
mov r11, rbp
and r11, 0xffffffffffffffe0
test r12b, 1
je 0x14009670b
movups xmm0, xmmword [rsi + r15 + 0x268]
movups xmm1, xmmword [rsi + r15 + 0x278]
xorps xmm0, xmmword [rsp + r15 + 0x50]
xorps xmm1, xmmword [rsp + r15 + 0x60]
movaps xmmword [rsp + r15 + 0x50], xmm0
movaps xmmword [rsp + r15 + 0x60], xmm1
cmp rbp, r11
je 0x14009674e
test bpl, 0x18
je 0x140096738
mov rdx, r11
mov r11, rbp
and r11, 0xfffffffffffffff8
mov r8, qword [rsi + rdx + 0x268]
xor qword [rsp + rdx + 0x50], r8
add rdx, 8
cmp r11, rdx
jne 0x140096720
jmp 0x140096749
movzx edx, byte [rsi + r11 + 0x268]
xor byte [rsp + r11 + 0x50], dl
inc r11
cmp rbp, r11
jne 0x140096738
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], r13
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r8, rbx
mov r9, rdi
call fcn.140068120
test eax, eax
je 0x1400967a4
inc qword [rsi + 0x2c0]
mov esi, 1
jmp 0x1400967a6
xor esi, esi
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140279500
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret