Function at 0x1402694a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], 0xfffffffffffffffe
mov rsi, rdx
mov rbx, rcx
mov r15, qword [rcx + 0x18]
cmp qword [rcx + 0x20], 0x10
jb 0x1402694dd
mov r14, qword [rbx + 8]
jmp 0x1402694e1
lea r14, [rbx + 8]
lea rdi, [rbp + 0xc0]
cmp r15, 0xf
ja 0x140269500
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov r12d, 0xf
jmp 0x1402695a7
mov r12, r15
or r12, 0xf
movabs rax, 0x7fffffffffffffff
cmp r12, rax
cmovae r12, rax
mov eax, 0xffff8119
cmp r12, 0xfff
jb 0x14026956c
add eax, dword [0x14051ef80]
lea rcx, [r12 + 0x28]
cdqe
add rax, qword [0x14051efa0]
mov edx, 0x25a8aab6
mov r8d, 0x82a1349c
call qword [case.0x140303ece.0]
mov rdx, qword [0x14051f430]
add rdx, rax
movabs rcx, 0x6ad3396d70e82261
add rcx, rdx
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140269594
add eax, dword [0x14051ef80]
lea rcx, [r12 + 1]
cdqe
add rax, qword [0x14051efa0]
mov edx, 0x25a8aab6
mov r8d, 0x82a1349c
call qword [case.0x140303ece.0]
mov rcx, rax
mov qword [rbp + 0xc0], rcx
lea r8, [r15 + 1]
mov rdx, r14
call fcn.14040cc90
mov qword [rbp + 0xd0], r15
mov qword [rbp + 0xd8], r12
lea r13, [0x140429978]
mov qword [rbp + 0xb8], r13
mov rbx, qword [rbx + 0x18]
lea rcx, [rbp + 0xb8]
call fcn.140266ae0
mov eax, dword [0x14055cf08]
add eax, dword [0x14055cfa8]
mov ecx, dword [0x14055f820]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x140269af9
mov r10, qword [0x14055cef8]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xd0]
cmp qword [rbp + 0xd8], 0x10
mov r9, rdi
cmovae r9, rcx
test r10, r10
sete r8b
test rax, rax
setne r11b
mov rdx, 0xffffffffffffffff
cmp r11b, r8b
je 0x1402697e4
test rax, rax
je 0x1402697e4
cmp qword [0x14055cf00], 0x10
jb 0x14026965c
mov r8, qword [0x14055cee8]
jmp 0x140269663
lea r8, [0x14055cee8]
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0x80], xmm0
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
mov r14, r10
mov r11, r8
and r14, 7
je 0x14026970f
mov qword [rbp + 0xb0], rsi
mov rsi, rdi
mov rdi, rbx
mov rbx, r13
lea r11, [r8 + 1]
xor r12d, r12d
movabs r13, 0x6ad3396d70e8223b
nop dword [rax]
movzx r15d, byte [r11 - 1]
mov byte [rbp + r15 - 0x50], 1
add r12, qword [0x14051f430]
add r12, r13
cmp r12, r14
je 0x1402696ff
inc r11
jmp 0x1402696e0
mov r13, rbx
mov rbx, rdi
mov rdi, rsi
mov rsi, qword [rbp + 0xb0]
cmp r10, 8
jb 0x14026979e
add r8, r10
nop dword [rax]
movzx r14d, byte [r11]
movzx r10d, byte [0x14051f42c]
mov r15d, r10d
xor r15b, 0x12
mov r12d, r10d
and r12b, 0x12
add r12b, r12b
add r12b, r15b
mov byte [rbp + r14 - 0x50], r12b
movzx r14d, byte [r11 + 1]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 2]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 3]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 4]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 5]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 6]
mov byte [rbp + r14 - 0x50], 1
movzx r14d, byte [r11 + 7]
add r10b, 0x12
mov byte [rbp + r14 - 0x50], r10b
add r11, 8
cmp r11, r8
jne 0x140269720
movzx r8d, byte [rax + r9 - 1]
cmp byte [rbp + r8 - 0x50], 0
je 0x1402697b5
lea rdx, [rax + r9]
dec rdx
jmp 0x1402697e1
mov r8, rax
cmp r8, 1
je 0x1402697e4
nop
movzx r10d, byte [r9 + r8 - 2]
cmp byte [rbp + r10 - 0x50], 0
jne 0x1402697d9
dec r8
cmp r8, 1
jne 0x1402697c0
jmp 0x1402697e4
lea rdx, [r9 + r8]
add rdx, 0xfffffffffffffffe
sub rdx, r9
test rbx, rbx
je 0x14026982d
xor edi, edi
cmp rdx, 0xffffffffffffffff
cmovne rdi, rdx
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
cmp rax, rdi
cmovb rdi, rax
cmp rdi, 0xf
jbe 0x140269868
lea rcx, [rbp - 0x50]
mov rdx, rdi
call fcn.140086c60
cmp qword [rbp - 0x38], 0x10
jb 0x140269887
mov rax, qword [rbp - 0x50]
jmp 0x14026988b
lea r12, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rsi + 0x18], xmm0
cmp qword [rbp + 0xd8], 0x10
mov rbx, qword [rbp + 0xd0]
cmovae rdi, rcx
cmp rbx, 0xf
ja 0x1402699bb
movups xmm0, xmmword [rdi]
movups xmmword [r12], xmm0
mov r14d, 0xf
jmp 0x140269a2f
mov qword [rbp - 0x40], rdi
lea rcx, [rbp - 0x50]
mov rdx, r9
mov r8, rdi
call fcn.14040cc90
mov byte [rbp + rdi - 0x50], 0
cmp qword [rbp - 0x38], 0x10
jae 0x140269827
lea rax, [rbp - 0x50]
test rax, rax
lea rdi, [0x140428418]
cmovne rdi, rax
lea rbx, [rsi + 8]
mov rax, qword [0x14051f430]
movabs rcx, 0x6ad3396d70e8223a
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], 0xf
mov eax, 0xffff8119
add eax, dword [0x14051ef70]
mov byte [rsi + 8], 0
cdqe
add rax, qword [0x14051efc0]
mov rcx, rdi
mov edx, 0x280df7f1
mov r8d, 0x63401f41
call qword [case.0x140303ece.0]
mov r14, rax
cmp rax, 0xf
jbe 0x14026990c
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.140086c60
jmp 0x140269924
mov qword [rsi + 0x18], r14
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14040cc90
mov byte [rsi + r14 + 8], 0
mov qword [rsi], r13
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x140269a3a
mov r8, qword [rbp - 0x50]
lea r9, [rax + 1]
movabs rcx, 0x6ad3396d70e83239
add rcx, qword [0x14051f430]
cmp r9, rcx
jbe 0x140269972
mov rcx, qword [r8 - 8]
add r8, 0xfffffffffffffff8
sub r8, rcx
cmp r8, 0x20
jae 0x140269c14
add rax, 0x28
mov r9, rax
mov r8, rcx
mov eax, 0xffff8119
add eax, dword [0x14051ef78]
cdqe
add rax, qword [0x14051efc8]
mov r10d, dword [0x14051f428]
lea ecx, [r10 - 0xb3e1194]
lea edx, [r10 - 0xb3e1195]
lea r11d, [r10 - 0x67ed547b]
add r10d, 0x90195a73
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call qword [case.0x140303ece.0]
jmp 0x140269a3a
mov r14, rbx
or r14, 0xf
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
setae al
movzx ecx, byte [0x14055c1f8]
test cl, al
jne 0x1402699fa
xor cl, al
jne 0x1402699fa
lea rcx, [r14 + 1]
call fcn.1403e4d2c
mov rcx, rax
jmp 0x140269a1f
lea rcx, [r14 + 0x28]
call fcn.1403e4d2c
mov rdx, rax
add rdx, 0x27
mov ecx, edx
not ecx
xor rdx, 0xffffffffffffffe0
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
mov qword [r12], rcx
lea r8, [rbx + 1]
mov rdx, rdi
call fcn.14040cc90
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], r14
mov qword [rsi], r13
mov rax, qword [rbp + 0xd8]
cmp rax, 0x10
jb 0x140269ae2
mov r8, qword [rbp + 0xc0]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140269a9b
mov rcx, qword [r8 - 8]
add r8, qword [0x14051f430]
sub r8, rcx
movabs rdx, 0x6ad3396d70e82232
add rdx, r8
cmp rdx, 0x20
jae 0x140269c0f
add rax, qword [0x14051f430]
movabs r9, 0x6ad3396d70e82262
add r9, rax
mov r8, rcx
mov eax, 0xffff8119
add eax, dword [0x14051ef78]
cdqe
add rax, qword [0x14051efc8]
mov r10d, dword [0x14051f428]
lea ecx, [r10 - 0xb3e1194]
lea edx, [r10 - 0xb3e1195]
lea r11d, [r10 - 0x67ed547b]
add r10d, 0x90195a73
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call qword [case.0x140303ece.0]
mov rax, rsi
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r14d, 0xffff8119
mov eax, dword [0x14051ef78]
add eax, r14d
cdqe
add rax, qword [0x14051efc8]
mov dword [rsp + 0x28], 0x9b576c08
mov dword [rsp + 0x20], 0xa350bd1a
lea r8, [0x14055cf08]
xor ecx, ecx
mov edx, 1
xor r9d, r9d
call qword [case.0x140303ece.0]
cmp dword [0x14055cf08], 0xffffffff
jne 0x1402695fe
add r14d, dword [0x14051ef8c]
movsxd rax, r14d
add rax, qword [0x14051ef90]
xor ecx, ecx
mov edx, 1
mov r8d, 0x5f91fb31
mov r9d, 0x70fd6913
call qword [case.0x140303ece.0]
lea rcx, [0x14055cee0]
mov rdx, rax
call fcn.1400ad750
mov eax, dword [0x14051ef74]
mov ecx, dword [0x14051f428]
add eax, ecx
add eax, 0xf4c16f84
cdqe
add rax, qword [0x14051efb0]
lea rcx, [0x1402665d0]
mov edx, 0x9c24bb55
mov r8d, 0xad389394
call qword [case.0x140303ece.0]
mov eax, dword [0x14051ef78]
mov edx, dword [0x14051f428]
add eax, edx
add eax, 0xf4c16f84
cdqe
add rax, qword [0x14051efc8]
lea ecx, [rdx - 0xb3e1195]
movabs r9, 0x6ad3396d70e8223a
add r9, qword [0x14051f430]
lea r8d, [rdx - 0x67ed547b]
add edx, 0x90195a73
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r8d
lea r8, [0x14055cf08]
mov edx, ecx
call qword [case.0x140303ece.0]
jmp 0x1402695fe
call fcn.1403c4adc
call fcn.1403c4adc
int3