Function at 0x14006a28c
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, VarDecFix
call fcn.14024eae0
sub rsp, rax
mov rax, qword [0x14035d028]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x80], rcx
mov r13, r9
mov rcx, r9
mov qword [rsp + 0x60], r9
mov r15, r8
mov qword [rsp + 0x70], r8
mov rbp, rdx
xor ebx, ebx
call fcn.14005e124
mov rcx, r13
call fcn.14005e1f8
mov qword [rsp + 0x58], rax
mov rsi, rax
test rax, rax
je 0x14006a6d3
mov rcx, r13
call fcn.14005e1f8
mov r12, rax
test rax, rax
je 0x14006a6d3
mov rcx, r13
call fcn.14005e1f8
mov qword [rsp + 0x68], rax
mov r14, rax
test rax, rax
je 0x14006a6d3
mov rcx, r13
call fcn.14005e1f8
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x14006a6d3
lea r8d, [rbx + 6]
mov rcx, r15
lea rdx, [rsp + 0x88]
call fcn.14006acbc
test eax, eax
je 0x14006a36e
cmp eax, 6
jg 0x14006a36e
lea r8, [rsp + 0x88]
mov rdx, rbp
mov rcx, r14
call fcn.140069678
jmp 0x14006a390
mov edx, 0x83
mov dword [rsp + 0x20], 0x1e0
lea r9, str.opensourceopensslcrypto_bn_bn_gf2m.c
lea ecx, [rdx - 0x80]
lea r8d, [rdx - 0x19]
call fcn.14008b944
mov eax, ebx
test eax, eax
je 0x14006a6d3
cmp dword [r14 + 8], ebx
je 0x14006a6d3
mov rdx, r15
mov rcx, rdi
call fcn.14005d7a0
test rax, rax
je 0x14006a6d3
mov rcx, r14
call fcn.14005d488
mov rcx, rdi
mov ebp, eax
call fcn.14005d488
movsxd rdi, dword [r15 + 8]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x48], edi
cmp edi, dword [r14 + 0xc]
jg 0x14006a3df
mov rax, r14
jmp 0x14006a3e9
mov edx, edi
mov rcx, r14
call fcn.14005d6f4
test rax, rax
je 0x14006a6d3
movsxd rax, dword [r14 + 8]
mov r15, qword [r14]
cmp rax, rdi
jge 0x14006a413
mov r8, rdi
lea rcx, [r15 + rax*8]
sub r8, rax
xor edx, edx
shl r8, 3
call sub.VCRUNTIME140.dll_memset
mov dword [r14 + 8], edi
cmp edi, dword [rsi + 0xc]
jg 0x14006a421
mov rax, rsi
jmp 0x14006a42b
mov edx, edi
mov rcx, rsi
call fcn.14005d6f4
test rax, rax
je 0x14006a6d3
mov r13, qword [rsi]
mov eax, 1
mov qword [r13], rax
cmp edi, eax
jle 0x14006a459
lea eax, [rdi - 1]
xor edx, edx
movsxd r8, eax
lea rcx, [r13 + 8]
shl r8, 3
call sub.VCRUNTIME140.dll_memset
mov dword [rsi + 8], edi
cmp edi, dword [r12 + 0xc]
jg 0x14006a468
mov rax, r12
jmp 0x14006a472
mov edx, edi
mov rcx, r12
call fcn.14005d6f4
test rax, rax
je 0x14006a6ce
mov rax, qword [r12]
mov qword [rsp + 0x50], rax
test edi, edi
jle 0x14006a499
mov r8, rdi
xor edx, edx
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsp + 0x38]
mov dword [r12 + 8], edi
mov rdx, qword [rcx]
mov qword [rsp + 0x40], rdx
test ebp, ebp
je 0x14006a574
mov r14, qword [rsp + 0x70]
mov esi, 1
mov r8, qword [r15]
test sil, r8b
jne 0x14006a560
mov rax, qword [r14]
mov r10, rbx
mov rdx, qword [r13]
mov r9, rdx
and r9, rsi
mov rcx, qword [rax]
neg r9
and rcx, r9
lea eax, [rdi - 1]
xor rdx, rcx
cdqe
test rax, rax
jle 0x14006a549
mov r11, r15
lea rbx, [r13 + 8]
sub r11, r13
mov r10, rax
mov rdi, rax
mov rax, qword [r11 + rbx]
shl rax, 0x3f
shr r8, 1
or rax, r8
shr rdx, 1
mov r8, qword [r11 + rbx]
mov qword [r11 + rbx - 8], rax
mov rax, qword [r14]
sub rax, r13
mov rcx, qword [rax + rbx]
and rcx, r9
xor rcx, qword [rbx]
lea rbx, [rbx + 8]
mov rax, rcx
shl rax, 0x3f
or rax, rdx
mov rdx, rcx
mov qword [rbx - 0x10], rax
sub rdi, rsi
jne 0x14006a4ff
mov edi, dword [rsp + 0x48]
xor ebx, ebx
shr r8, 1
shr rdx, 1
mov qword [r15 + r10*8], r8
mov qword [r13 + r10*8], rdx
sub ebp, esi
jne 0x14006a4bd
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
cmp ebp, 0x40
jg 0x14006a591
cmp qword [r15], rbx
je 0x14006a6ce
mov r9d, 1
cmp qword [r15], r9
je 0x14006a683
mov r9d, dword [rsp + 0x30]
cmp ebp, r9d
jge 0x14006a5dd
mov r13, qword [rsp + 0x50]
mov rax, r14
mov qword [rsp + 0x38], rax
mov r14, rcx
mov qword [rsp + 0x68], rcx
mov r15, rdx
mov rcx, rax
mov qword [rsp + 0x58], r12
mov rax, rsi
mov dword [rsp + 0x30], ebp
mov rsi, r12
mov ebp, r9d
mov r12, rax
mov rdx, qword [rcx]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rdx
jmp 0x14006a5e2
mov rax, qword [rsp + 0x50]
movsxd r11, edi
mov r8, rbx
test edi, edi
jle 0x14006a626
mov r9, rdx
mov r10, rax
sub r9, r15
sub r10, r15
mov rdx, r13
mov rcx, r15
sub rdx, r15
mov rax, qword [r9 + rcx]
inc r8
xor qword [rcx], rax
mov rax, qword [r10 + rcx]
xor qword [rdx + rcx], rax
lea rcx, [rcx + 8]
cmp r8, r11
jl 0x14006a601
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
cmp ebp, dword [rsp + 0x30]
jne 0x14006a4ab
lea eax, [rbp - 1]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
movsxd r11, eax
mov rax, r11
mov rcx, qword [r15 + r11*8]
test rcx, rcx
jne 0x14006a667
lea esi, [rcx + 1]
test rax, rax
je 0x14006a662
sub rax, rsi
sub r11d, esi
mov rcx, qword [r15 + rax*8]
test rcx, rcx
je 0x14006a64e
mov rsi, qword [rsp + 0x58]
call fcn.14005d3b0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
shl r11d, 6
lea ebp, [r11 + rax]
jmp 0x14006a4ab
movsxd rdx, dword [rsi + 8]
test edx, edx
jle 0x14006a6ae
mov rax, qword [rsi]
lea r8, [rdx - 1]
lea r8, [rax + r8*8]
mov rax, qword [r8]
lea r8, [r8 - 8]
test rax, rax
jne 0x14006a6a9
sub edx, r9d
test edx, edx
jg 0x14006a696
mov dword [rsi + 8], edx
test edx, edx
jne 0x14006a6b3
mov dword [rsi + 0x10], ebx
mov rcx, qword [rsp + 0x80]
mov rdx, rsi
call fcn.14005d7a0
test rax, rax
mov eax, 1
cmovne ebx, eax
mov r13, qword [rsp + 0x60]
mov rcx, r13
call fcn.14005e184
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14024c6d0
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret