Function at 0x140096240
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 0x1400962ab
mov dword [rsp + 0x20], 0x223
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
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
mov rsi, rcx
cmp qword [rcx + 0x2c0], 0xffffffffffffffff
je 0x140096368
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov rcx, qword [rsi + 0x10]
call fcn.140067f90
mov rbp, rax
test rax, rax
je 0x1400962e5
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 0x14009649e
cmp rbp, 8
jae 0x14009638b
xor r11d, r11d
jmp 0x140096488
mov dword [rsp + 0x20], 0x227
lea r9, str..._.._third_party_boringssl_src_crypto_hpke_hpke.c
xor esi, esi
mov ecx, 6
xor edx, edx
mov r8d, 0x45
jmp 0x140096286
cmp rbp, 0x20
jae 0x140096399
xor r11d, r11d
jmp 0x140096466
lea rdx, [rbp - 0x20]
mov r12, rdx
shr r12, 5
inc r12
cmp rdx, 0x20
jae 0x1400963b2
xor r15d, r15d
jmp 0x140096424
mov r11, r12
and r11, 0xfffffffffffffffe
xor r15d, r15d
nop dword [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 0x1400963c0
mov r11, rbp
and r11, 0xffffffffffffffe0
test r12b, 1
je 0x14009645b
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 0x14009649e
test bpl, 0x18
je 0x140096488
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 0x140096470
jmp 0x140096499
movzx edx, byte [rsi + r11 + 0x268]
xor byte [rsp + r11 + 0x50], dl
inc r11
cmp rbp, r11
jne 0x140096488
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.140068400
test eax, eax
je 0x1400964f7
inc qword [rsi + 0x2c0]
mov esi, 1
jmp 0x14009628b
xor esi, esi
jmp 0x14009628b