Function at 0x14029a820
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r15
mov eax, 0x40
call fcn.140342130
sub rsp, rax
mov rsi, qword [rsp + 0x98]
mov r15, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
call fcn.14022bf30
cmp eax, 0x72
jne 0x14029aa9a
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r14
mov r14, rbx
shr r14, 1
and ebx, 1
lea r13, [rbx + r14]
call fcn.140245d50
mov rdi, qword [rsp + 0xa0]
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov r9, r15
mov qword [rsp + 0x30], rdi
mov r8, r13
mov qword [rsp + 0x28], rsi
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.14029a5b0
test eax, eax
je 0x14029aa93
mov r8d, 0x104
mov qword [rsp + 0x70], rbp
lea rdx, str.cryptokdf_tls1_prf.c
mov rcx, rdi
call fcn.14023ab00
mov rbp, rax
test rax, rax
jne 0x14029a90e
lea r9, str.cryptokdf_tls1_prf.c
mov dword [rsp + 0x20], 0x105
lea edx, [rax + 0x6f]
lea ecx, [rax + 0x34]
lea r8d, [rax + 0x41]
call fcn.140253150
xor eax, eax
mov rbp, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rbx, [r14 + r12]
call fcn.1402461b0
mov rcx, rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x90]
mov r9, r15
mov qword [rsp + 0x28], rbp
mov r8, r13
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14029a5b0
test eax, eax
jne 0x14029a95d
mov r9d, 0x10a
lea r8, str.cryptokdf_tls1_prf.c
mov rdx, rdi
mov rcx, rbp
call fcn.14023ac60
jmp 0x14029a8ee
xor ecx, ecx
test rdi, rdi
je 0x14029aa71
cmp rdi, 8
jb 0x14029aa46
lea rdx, [rsi - 1]
lea rax, [rdi - 1]
add rdx, rdi
add rax, rbp
cmp rsi, rax
ja 0x14029a98e
cmp rdx, rbp
jae 0x14029aa46
mov rdx, rbp
cmp rdi, 0x40
jb 0x14029aa14
mov r8, rdi
mov r9, rdi
and r8d, 0x3f
sub r9, r8
lea rax, [rsi + 0x10]
sub rdx, rsi
nop
movdqu xmm0, xmmword [rax - 0x10]
add rcx, 0x40
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rdx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rdx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rcx, r9
jb 0x14029a9b0
cmp r8, 8
jb 0x14029aa41
jmp 0x14029aa17
sub rdx, rsi
mov r8, rdi
lea rax, [rcx + rsi]
and r8, 0xfffffffffffffff8
movq xmm0, qword [rax]
add rcx, 8
movq xmm1, qword [rdx + rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax - 8], xmm1
cmp rcx, r8
jb 0x14029aa22
cmp rcx, rdi
jae 0x14029aa71
mov r8, rbp
lea rax, [rcx + rsi]
sub r8, rsi
mov rdx, rdi
sub rdx, rcx
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x14029aa60
mov r9d, 0x10f
lea r8, str.cryptokdf_tls1_prf.c
mov rdx, rdi
mov rcx, rbp
call fcn.14023ac60
mov eax, 1
jmp 0x14029a8f0
xor eax, eax
jmp 0x14029a8f5
mov rax, qword [rsp + 0xa0]
mov r9, r15
mov qword [rsp + 0x30], rax
mov r8, rbx
mov rax, qword [rsp + 0x90]
mov rdx, r12
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14029a5b0
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add rsp, 0x40
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret