Function at 0x140c56c60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x110
call fcn.140cbaf80
sub rsp, rax
mov rax, qword [0x140f4c000]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov r13, qword [rcx]
xor ebp, ebp
mov rbx, qword [rsp + 0x180]
mov r15, r9
mov rdi, qword [rsp + 0x170]
mov r12, rdx
mov rax, qword [rsp + 0x190]
mov esi, ebp
mov qword [rsp + 0x20], r13
sub r13, rbx
mov qword [rsp + 0x28], r8
cmp rdx, rbx
jb 0x140c56cdf
cmp rbx, 0x40
ja 0x140c56cdf
test rbx, rbx
jne 0x140c56d0c
cmp qword [rsp + 0x188], rbp
jne 0x140c56f33
xor eax, eax
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.140cbacb0
mov rbx, qword [rsp + 0x158]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp qword [rsp + 0x178], 1
mov qword [rcx], r13
jne 0x140c56d38
test r15, r15
je 0x140c56d26
lea rax, [r8 + r13]
mov qword [r9], rax
test rdi, rdi
je 0x140c56f33
mov dword [rdi], ebp
mov eax, 1
jmp 0x140c56ce1
xor r9d, r9d
lea rdx, [rsp + 0x40]
mov r8, rbx
mov rcx, rax
call fcn.140b21fc0
test eax, eax
jle 0x140c56cdf
test r15, r15
je 0x140c56cdf
test rdi, rdi
je 0x140c56cdf
mov r8d, 0xf5
lea rdx, str.ssl_recordmethods_tls_pad.c
mov rcx, rbx
call fcn.140ae4670
mov qword [rsp + 0x30], rax
mov r14, rax
mov qword [r15], rax
test rax, rax
je 0x140c56cdf
lea rcx, [rsp + 0x80]
mov dword [rdi], 1
neg rcx
lea r15, [rsp + 0x80]
and ecx, 0x3f
add r15, rcx
lea rcx, [rbx + 0x100]
cmp r12, rcx
jbe 0x140c56dba
mov rsi, r12
sub rsi, rbx
sub rsi, 0x100
mov r8, rbx
xor edx, edx
mov rcx, r15
mov rdi, rbp
call fcn.140cfbde0
mov r9, rbp
cmp rsi, r12
jae 0x140c56e7a
mov r10, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
lea r11, [r10 + r14]
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rsi + r14]
mov rax, rsi
xor rax, r13
mov rcx, rdx
sub rcx, r11
xor rcx, r10
lea r8, [rax - 1]
not rax
shr rax, 0x3f
shr r8, 0x3f
and r8, rax
mov rax, rsi
xor rax, r10
neg r8
or rcx, rax
mov rax, r8
xor rcx, rsi
or rax, rbp
shr rcx, 0x3f
and r8, r9
neg rcx
or rdi, r8
mov rbp, rcx
inc rsi
and rbp, rax
movzx eax, byte [rdx]
and al, bpl
or byte [r9 + r15], al
inc r9
mov rcx, r9
mov rax, rbx
sub rcx, rbx
xor rax, r9
xor rcx, rbx
or rcx, rax
xor rcx, r9
shr rcx, 0x3f
neg rcx
and r9, rcx
cmp rsi, r12
jb 0x140c56df0
mov r14, qword [rsp + 0x30]
test rbx, rbx
je 0x140c56f33
movzx esi, byte [rsp + 0x188]
lea r10, [rsp + 0x40]
mov r9d, esi
sub r10, r14
not r9d
mov r11, rbx
nop dword [rax]
mov eax, edi
lea r14, [r14 + 1]
and eax, 0x20
dec eax
shr eax, 0x1f
neg al
movzx eax, al
mov dword [rsp + 0x20], eax
not eax
mov edx, dword [rsp + 0x20]
mov dword [rsp + 0x20], eax
mov rax, rdi
mov ecx, dword [rsp + 0x20]
or rax, 0x20
movzx r8d, byte [rax + r15]
mov rax, rdi
and r8b, cl
inc rdi
and rax, 0xffffffffffffffdf
movzx ecx, byte [rax + r15]
and cl, dl
mov dword [rsp + 0x20], esi
mov edx, dword [rsp + 0x20]
or r8b, cl
and dl, r8b
mov dword [rsp + 0x20], r9d
mov eax, dword [rsp + 0x20]
movzx ecx, byte [r14 + r10 - 1]
and cl, al
or cl, dl
mov rdx, rdi
sub rdx, rbx
mov byte [r14 - 1], cl
xor rdx, rbx
mov rcx, rbx
xor rcx, rdi
or rdx, rcx
xor rdx, rdi
shr rdx, 0x3f
neg rdx
and rdi, rdx
sub r11, 1
jne 0x140c56ea0
mov eax, 1
jmp 0x140c56ce1