Function at 0x140198fc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
mov eax, 0x110
call fcn.1402563f0
sub rsp, rax
mov rax, qword [0x1403bb2d8]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rbx, qword [rsp + 0x180]
mov r15, qword [rcx]
mov rdi, qword [rsp + 0x170]
mov r10, qword [rsp + 0x190]
xor ebp, ebp
mov rax, r15
sub rax, rbx
mov r13, r9
mov qword [rsp + 0x28], r8
mov r14, rdx
mov esi, ebp
mov qword [rsp + 0x20], rax
cmp rdx, rbx
jb 0x140199089
cmp rbx, 0x40
ja 0x140199089
test rbx, rbx
jne 0x140199042
cmp qword [rsp + 0x188], rbp
setne bpl
mov eax, ebp
jmp 0x140199286
mov rax, r15
sub rax, rbx
cmp qword [rsp + 0x178], 1
mov qword [rcx], rax
jne 0x140199072
test r9, r9
je 0x140199061
add rax, r8
mov qword [r9], rax
test rdi, rdi
je 0x140199068
mov dword [rdi], ebp
mov eax, 1
jmp 0x140199286
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov r8, rbx
mov rcx, r10
call fcn.1400ec8b0
test eax, eax
jg 0x140199090
xor eax, eax
jmp 0x140199286
test r13, r13
je 0x140199089
test rdi, rdi
je 0x140199089
lea rdx, str.ssl_record_tls_pad.c
mov r8d, 0x104
mov rcx, rbx
mov qword [rsp + 0x158], r12
call fcn.1400b4570
mov r12, rax
mov qword [rsp + 0x30], rax
mov qword [r13], rax
test rax, rax
je 0x14019927e
lea rax, [rsp + 0x80]
mov dword [rdi], 1
neg rax
and eax, 0x3f
lea r13, [rsp + rax + 0x80]
lea rax, [rbx + 0x100]
cmp r14, rax
jbe 0x140199101
mov rsi, r14
sub rsi, rbx
sub rsi, 0x100
mov r8, rbx
xor edx, edx
mov rcx, r13
mov rdi, rbp
call fcn.140254810
mov r10, rbp
cmp rsi, r14
jae 0x1401991b5
mov r12, qword [rsp + 0x28]
mov r11, qword [rsp + 0x20]
lea r9, [r15 + r12]
neg r9
nop
lea rdx, [rsi + r12]
mov rax, rsi
xor rax, r11
lea rcx, [r9 + rdx]
xor rcx, r15
lea r8, [rax - 1]
not rax
shr rax, 0x3f
shr r8, 0x3f
and r8, rax
mov rax, rsi
xor rax, r15
neg r8
or rcx, rax
mov rax, r8
and r8, r10
xor rcx, rsi
or rax, rbp
inc r10
shr rcx, 0x3f
inc rsi
or rdi, r8
neg rcx
mov rbp, rcx
mov rcx, r10
sub rcx, rbx
and rbp, rax
movzx eax, byte [rdx]
xor rcx, rbx
and al, bpl
or byte [r10 + r13 - 1], al
mov rax, rbx
xor rax, r10
or rcx, rax
xor rcx, r10
shr rcx, 0x3f
neg rcx
and r10, rcx
cmp rsi, r14
jb 0x140199130
mov r12, qword [rsp + 0x30]
test rbx, rbx
je 0x140199279
movzx esi, byte [rsp + 0x188]
lea r11, [rsp + 0x40]
mov rbp, rbx
mov r10d, esi
sub r11, r12
not r10d
nop word [rax + rax]
mov rax, rdi
inc r12
and rax, 0xffffffffffffffdf
movzx r9d, byte [rax + r13]
mov rax, rdi
or rax, 0x20
movzx r8d, byte [rax + r13]
mov eax, edi
inc rdi
and eax, 0x20
lea ecx, [rax - 1]
not eax
shr ecx, 0x1f
shr eax, 0x1f
and cl, al
neg cl
movzx eax, cl
mov dword [rsp + 0x28], eax
not eax
mov dword [rsp + 0x20], eax
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x20], esi
and al, r9b
and dl, r8b
mov dword [rsp + 0x28], r10d
or dl, al
mov eax, dword [rsp + 0x28]
movzx ecx, byte [r11 + r12 - 1]
and cl, al
mov eax, dword [rsp + 0x20]
and al, dl
or cl, al
mov rax, rbx
mov byte [r12 - 1], cl
xor rax, rdi
mov rcx, rdi
sub rcx, rbx
xor rcx, rbx
or rcx, rax
xor rcx, rdi
shr rcx, 0x3f
neg rcx
and rdi, rcx
dec rbp
jne 0x1401991e0
mov eax, 1
mov r12, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140254fb0
add rsp, 0x110
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret