Function at 0x1402e7100
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], 0xfffffffffffffffe
mov rsi, rdx
mov rbx, rcx
mov r15, qword [rcx + 0x18]
cmp qword [rcx + 0x20], 0x10
jb 0x1402e713d
mov r14, qword [rbx + 8]
jmp 0x1402e7141
lea r14, [rbx + 8]
lea r12, [rbp + 0xc8]
movabs rax, 0xd26012f9214e221c
cmp r15, 0xf
ja 0x1402e716f
mov rdi, rax
movups xmm0, xmmword [r14]
movups xmmword [r12], xmm0
mov r13d, 0xf
jmp 0x1402e7215
mov r13, qword [0x14063a9a8]
mov rdi, rax
add r13, rax
or r13, r15
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x1402e71eb
lea rcx, [r13 + 0x28]
mov r8d, dword [0x14063a9b0]
lea edx, [r8 + 0x21f1bd11]
add r8d, 0x66b0b28d
call fcn.1400a8810
mov rcx, rax
xor rcx, 0x27
mov edx, eax
and edx, 0x27
lea rcx, [rcx + rdx*2]
mov edx, ecx
not edx
and edx, 0x1f
and rcx, 0xffffffffffffffe0
or rdx, rcx
xor rdx, 0xffffffffffffffe0
or rcx, rdx
not rcx
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x1402e7202
lea rcx, [r13 + 1]
mov edx, 0xd7021097
mov r8d, 0x1bc10613
call fcn.1400a8810
mov rcx, rax
mov qword [rbp + 0xc8], rcx
lea r8, [r15 + 1]
mov rdx, r14
call fcn.140511c70
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0xe0], r13
lea r15, [0x140530b08]
mov qword [rbp + 0xc0], r15
mov r13, qword [rbx + 0x18]
lea rcx, [rbp + 0xc0]
call fcn.1402e4580
mov rbx, rdi
mov eax, dword [0x140695040]
mov ecx, dword [0x140697a88]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1402e7846
mov r14, qword [0x140695030]
cmp qword [rbp + 0xe0], 0x10
mov rcx, qword [rbp + 0xc8]
mov r9, r12
cmovae r9, rcx
mov rax, qword [rbp + 0xd8]
mov r8, 0xffffffffffffffff
movabs rdx, 0xd26012f9214e220c
test r14, r14
je 0x1402e74e5
movabs r10, 0xd26012f9214e220d
add r10, qword [0x14063a9a8]
cmp rax, r10
je 0x1402e74e5
cmp qword [0x140695038], 0x10
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xe8], rcx
jb 0x1402e72e2
mov r10, qword [0x140695020]
jmp 0x1402e72e9
lea r10, [0x140695020]
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 r13, r14
mov r11, r10
and r13, 7
je 0x1402e73aa
mov qword [rbp + 0xb8], rsi
mov rsi, r15
lea r11, [r10 + 1]
xor r15d, r15d
movabs rbx, 0xd26012f9214e220e
nop dword [rax]
movzx edi, byte [r11 - 1]
movzx ecx, byte [0x14063a9b4]
add cl, 0x64
mov r12d, ecx
xor r12b, 0x25
and cl, 0x25
add cl, cl
add cl, r12b
add cl, 0xdd
mov byte [rbp + rdi - 0x50], cl
add r15, qword [0x14063a9a8]
add r15, rbx
cmp r15, r13
je 0x1402e7399
inc r11
jmp 0x1402e7360
mov r15, rsi
mov rsi, qword [rbp + 0xb8]
lea r12, [rbp + 0xc8]
cmp r14, 8
mov r13, qword [rbp + 0xb0]
jb 0x1402e7456
add r10, r14
nop
movzx ecx, byte [r11]
movzx ebx, byte [0x140694271]
add bl, 0xb
mov edi, ebx
xor dil, cl
and bl, cl
add bl, bl
add bl, dil
add bl, 0xf5
movzx ecx, bl
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 1]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 2]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 3]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 4]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 5]
movzx ebx, byte [0x14063a9b4]
xor edi, edi
sub dil, bl
mov ebx, edi
xor bl, 0x9a
and dil, 0x1a
add dil, dil
add dil, bl
neg dil
mov byte [rbp + rcx - 0x50], dil
movzx ecx, byte [r11 + 6]
mov byte [rbp + rcx - 0x50], 1
movzx ecx, byte [r11 + 7]
mov byte [rbp + rcx - 0x50], 1
add r11, 8
cmp r11, r10
jne 0x1402e73c0
mov r10, qword [0x14063a9a8]
add r10, rax
lea r11, [r10 + rdx]
movzx ecx, byte [0x1406950f0]
add cl, byte [r9 + r11]
movzx ecx, cl
movzx ebx, byte [0x14063a9b4]
add bl, 0x65
cmp byte [rbp + rcx - 0x50], bl
jne 0x1402e74c8
movabs rcx, 0xd26012f9214e220b
add rcx, r9
add r10, rcx
movabs rbx, 0xd26012f9214e221c
test r11, r11
je 0x1402e74de
nop word cs:[rax + rax]
movzx ecx, byte [r10]
cmp byte [rbp + rcx - 0x50], 0
jne 0x1402e74d8
dec r10
dec r11
test r11, r11
jne 0x1402e74b0
jmp 0x1402e74de
add r11, r9
mov r10, r11
movabs rbx, 0xd26012f9214e221c
sub r10, r9
mov r8, r10
mov rcx, qword [rbp + 0xe8]
test r13, r13
je 0x1402e7529
add rdx, qword [0x14063a9a8]
xor edi, edi
cmp r8, rdx
cmovne rdi, r8
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 0x1402e756f
lea rcx, [rbp - 0x50]
mov rdx, rdi
call fcn.140088ee0
jmp 0x1402e7587
lea r13, [rsi + 8]
xorps xmm0, xmm0
movups xmmword [rsi + 0x18], xmm0
mov rax, rbx
mov rbx, qword [rbp + 0xd8]
add rax, qword [0x14063a9a8]
cmp qword [rbp + 0xe0], rax
cmova r12, rcx
cmp rbx, 0xf
ja 0x1402e76bd
movups xmm0, xmmword [r12]
movups xmmword [r13], xmm0
mov r14d, 0xf
jmp 0x1402e7768
mov qword [rbp - 0x40], rdi
lea rcx, [rbp - 0x50]
mov rdx, r9
mov r8, rdi
call fcn.140511c70
mov byte [rbp + rdi - 0x50], 0
add rbx, qword [0x14063a9a8]
cmp qword [rbp - 0x38], rbx
jbe 0x1402e759a
mov rax, qword [rbp - 0x50]
jmp 0x1402e759e
lea rax, [rbp - 0x50]
test rax, rax
lea rdi, [0x14052f5b8]
cmovne rdi, rax
lea rbx, [rsi + 8]
mov qword [rsi + 0x18], 0
mov qword [rsi + 0x20], 0xf
mov byte [rsi + 8], 0
mov rcx, rdi
mov edx, 0xb0318072
mov r8d, 0xa242a117
call fcn.1400a77c0
mov r14, rax
cmp rax, 0xf
jbe 0x1402e75f0
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.140088ee0
jmp 0x1402e7608
mov qword [rsi + 0x18], r14
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.140511c70
mov byte [rsi + r14 + 8], 0
mov qword [rsi], r15
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1402e7773
mov rdx, qword [rbp - 0x50]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402e7698
mov rcx, qword [rdx - 8]
movabs r8, 0x947ff8702ba8027e
add r8, rdx
movabs rdx, 0x2c99337ded9ceadd
mov r9, r8
xor r9, rdx
and r8, rdx
lea rdx, [r9 + r8*2]
movabs r8, 0x248f5f2a6a06fcc1
add r8, rdx
movabs rdx, 0x7ffffffffffffff8
and rdx, r8
xor r8, 0xfffffffffffffff8
lea rdx, [r8 + rdx*2]
sub rdx, rcx
movabs r8, 0x1a5774e77cb415e4
add r8, rdx
cmp r8, 0x20
jae 0x1402e78e9
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
mov ecx, 1
mov r8d, 1
call fcn.1402ee1a0
jmp 0x1402e7773
mov r14d, ebx
and r14d, 0xf
mov eax, ebx
not eax
mov rcx, rbx
xor rcx, 0xfffffffffffffff0
and eax, 0xf
or rcx, rax
not rcx
or r14, rax
or r14, rcx
movabs rax, 0x7fffffffffffffff
cmp r14, rax
cmovae r14, rax
cmp r14, 0xfff
jb 0x1402e7736
lea rcx, [r14 + 0x28]
call fcn.1404e9d4c
movabs rcx, 0x3887cdee274f42c2
add rcx, rax
movabs rdx, 0xc7783211d8b0bd65
xor rdx, rcx
movabs r8, 0x47783211d8b0bd65
and r8, rcx
lea rcx, [rdx + r8*2]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1402e7742
lea rcx, [r14 + 1]
call fcn.1404e9d4c
mov rcx, rax
mov qword [r13], rcx
mov eax, ebx
not eax
and eax, 1
mov rdx, rbx
and rdx, 0xfffffffffffffffe
or rdx, rax
mov eax, ebx
and eax, 1
lea r8, [rdx + rax*2]
mov rdx, r12
call fcn.140511c70
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x20], r14
mov qword [rsi], r15
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1402e782f
mov rdx, qword [rbp + 0xc8]
movabs rcx, 0x267a6c085c14fd31
add rcx, rax
movabs r8, 0xd98593f7a3eb02d0
xor r8, rcx
movabs r9, 0x598593f7a3eb02d0
and r9, rcx
lea r9, [r8 + r9*2]
cmp r9, 0x1000
jb 0x1402e780f
mov rcx, qword [rdx - 8]
mov r8, qword [0x14063a9a8]
movabs r9, 0xd26012f9214e2205
xor r9, r8
movabs r10, 0x526012f9214e2205
and r10, r8
lea r8, [r9 + r10*2]
add r8, rdx
sub r8, rcx
cmp r8, 0x20
jae 0x1402e78e4
add rax, qword [0x14063a9a8]
movabs r9, 0xd26012f9214e2235
add r9, rax
mov rdx, rcx
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
mov ecx, 1
mov r8d, 1
call fcn.1402ee1a0
mov rax, rsi
add rsp, 0x178
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x140695040]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402ee1a0
cmp dword [0x140695040], 0xffffffff
jne 0x1402e7269
mov ecx, 1
mov edx, 1
mov r8d, 0x385a44cc
mov r9d, 0xe601d04e
call fcn.1402ed120
lea rcx, [0x140695018]
mov rdx, rax
call fcn.1400ae850
lea rcx, [0x1402e3f90]
mov edx, 0x750a0b22
mov r8d, 0x421bd833
call fcn.1401676c0
mov dword [rsp + 0x28], 0xe4445752
mov dword [rsp + 0x20], 0x790a6c13
lea rdx, [0x140695040]
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call fcn.1402ee1a0
jmp 0x1402e7269
call fcn.1404ca324
call fcn.1404ca324
int3