Function at 0x1402d6f10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r9
mov r12, r8
mov rbx, rdx
mov r15, rcx
mov rax, qword [0x1405650e0]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r9, qword [0x140547740]
movsxd r8, dword [r9]
mov ebp, dword [0x14044a7f4]
test rcx, rcx
sete al
test rdx, rdx
sete cl
or cl, al
test rdi, rdi
sete al
xor al, cl
mov edx, eax
not dl
xor r14d, r14d
test dl, cl
jne 0x1402d73b4
test al, al
jne 0x1402d73b4
cmp r12, 0x10
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r9
jb 0x1402d704b
mov eax, dword [0x140547968]
movabs rcx, 0xd1a0d112f0c754d0
mov edx, eax
xor edx, ecx
and eax, ecx
lea ecx, [rdx + rax*2]
mov qword [rsp + 0x38], r12
mov rsi, r12
shr rsi, cl
lea r14, [r15 + 0x50]
add rdi, 0x10
add rbx, 0x10
dec rsi
lea r12, [rsp + 0x60]
mov r13d, 0x54319815
nop word [rax + rax]
mov rax, qword [r15 + 0x20]
mov rcx, r15
mov rdx, r14
mov r8, r12
call qword [case.0x14013cbc3.0]
mov eax, dword [rbx - 0x10]
mov ecx, dword [0x140547960]
add ecx, r13d
mov edx, ecx
xor edx, ecx
not edx
and edx, eax
xor ecx, eax
xor ecx, edx
and ecx, dword [rsp + 0x60]
xor ecx, eax
mov dword [rdi - 0x10], ecx
mov eax, dword [rsp + 0x64]
xor eax, dword [rbx - 0xc]
mov dword [rdi - 0xc], eax
mov eax, dword [rsp + 0x68]
xor eax, dword [rbx - 8]
mov dword [rdi - 8], eax
mov eax, dword [rbx - 4]
mov ecx, dword [rsp + 0x6c]
not eax
mov edx, eax
or edx, ecx
not edx
and eax, ecx
or eax, edx
mov dword [rdi - 4], eax
movups xmm0, xmmword [rdi - 0x10]
movups xmmword [r14], xmm0
sub rsi, 1
jb 0x1402d7046
add rdi, 0x10
add rbx, 0x10
jmp 0x1402d6fd0
mov r12, qword [rsp + 0x38]
mov r13, r12
and r13, 0xf
je 0x1402d73b1
mov rax, qword [r15 + 0x20]
lea rdx, [r15 + 0x50]
lea r8, [rsp + 0x60]
mov rcx, r15
mov r14, rdx
call qword [case.0x14013cbc3.0]
mov r15, r12
xor r15, 0xfffffffffffffffc
and r15, r12
mov rsi, qword [0x140576db0]
mov r8d, dword [0x140547734]
mov ecx, r8d
not ecx
mov r9d, ecx
and r9d, 1
mov r10d, r8d
and r10d, 0xfffffffe
or r10d, r9d
mov r9d, r8d
and r9d, 1
lea r9d, [r10 + r9*2]
mov dword [0x140547734], r9d
xor ecx, r9d
and ecx, r8d
mov r10d, 0x54319816
mov eax, dword [0x140547960]
add eax, r10d
mov dword [rsp + 0x44], eax
cmp ecx, eax
je 0x1402d70d3
xor r11d, r11d
jmp 0x1402d70f1
add r10d, dword [0x140547960]
xor r9d, r9d
mov r11d, 0
cmp r10d, ebp
mov r8, qword [rsp + 0x30]
jl 0x1402d7260
lea rbp, [rsi + r15]
cmp r13d, 4
mov qword [rsp + 0x58], rsi
jae 0x1402d7108
xor r10d, r10d
jmp 0x1402d7211
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x28], r13
mov rsi, r13
mov qword [rsp + 0x48], rbp
sub rsi, rbp
xor r10d, r10d
movabs r15, 0xd1a0d112f0c754d0
xor r13d, r13d
nop word [rax + rax]
lea rbp, [rbx + r10]
movzx eax, byte [rbx + r10]
lea r14, [rsp + r10]
add r14, 0x60
movzx r12d, byte [rsp + r10 + 0x60]
mov r9d, r12d
not r9b
mov edx, eax
not dl
mov r8d, r9d
xor r8b, dl
and r8b, r9b
xor dl, r12b
and r9b, al
or r9b, dl
not r9b
or r9b, r8b
lea rax, [rdi + r10]
mov byte [rdi + r10], r9b
mov rdx, qword [0x1405769a0]
movzx r8d, byte [rdx + r14 + 1]
xor r8b, byte [rdx + rbp + 1]
mov byte [rdx + rax + 1], r8b
mov rax, r10
or rax, 2
movzx edx, byte [rbx + rax]
mov r8d, edx
xor r8b, dl
not r8b
and r8b, byte [rsp + rax + 0x60]
xor r8b, dl
mov byte [rdi + rax], r8b
movzx eax, byte [rbx + r10 + 3]
movzx edx, byte [rsp + r10 + 0x63]
mov r8d, eax
not r8b
mov r9d, edx
xor r9b, r8b
not r9b
and r9b, al
and r8b, dl
or r8b, r9b
mov byte [rdi + r10 + 3], r8b
add r13, qword [0x140547968]
add r13, r15
add r10, 4
cmp r13, rsi
jne 0x1402d7140
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
cmp ecx, dword [rsp + 0x44]
setne al
dec al
movzx ecx, byte [0x140547970]
sub cl, r11b
add cl, byte [0x14044a7f0]
add cl, 0x9b
and cl, al
movabs r8, 0x8e582098f0d6e5a4
movabs r11, 0x1f7d791f1a0d2b84
mov eax, dword [0x14057755c]
lea edx, [rax - 1]
imul edx, eax
movzx esi, cl
test dl, 1
jne 0x1402d72f0
jmp 0x1402d72de
add r8, qword [rsp + 0x28]
xor r11d, r11d
jmp 0x1402d727c
inc r9d
cmp r9d, ebp
jge 0x1402d70f1
movsxd rax, r9d
movzx eax, byte [r8 + rax]
mov edx, eax
xor dl, al
not dl
and r11b, dl
xor r11b, al
mov eax, dword [0x14057755c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402d72d0
nop word cs:[rax + rax]
mov eax, dword [0x14057755c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1402d7270
nop word cs:[rax + rax]
cmp dword [0x140547960], 0xabce67ea
jne 0x1402d72d0
jmp 0x1402d72b0
add qword [0x140576db0], rsi
mov eax, dword [0x140577560]
cmp eax, 0x4b
jle 0x1402d732f
mov rax, qword [0x140576db0]
mov rdx, r11
sub rdx, r11
sub rdx, rsi
imul rdx, rsi
mov rcx, rdx
neg rcx
shl rax, cl
shl rax, cl
shl rax, cl
sub rax, r8
add rax, rdx
add rax, r8
imul rax, rcx
add rdx, rax
add rdx, rax
mov qword [0x140576db0], rdx
jmp 0x1402d72de
test rbp, rbp
je 0x1402d7373
lea rcx, [rdi + r10]
lea r8, [rsp + r10]
add r8, 0x60
add rbx, r10
mov rax, qword [rsp + 0x58]
add rax, r15
dec rax
xor edx, edx
movzx r9d, byte [rbx + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [r8 + rdx]
xor r10b, r9b
mov byte [rcx + rdx], r10b
cmp rax, rdx
je 0x1402d7373
inc rdx
jmp 0x1402d7350
add rdi, r13
cmp r12, 0xf
ja 0x1402d73a9
mov ebx, 0x10
sub rbx, r12
lea rdx, [r14 + r12]
mov rcx, r14
mov r8, rbx
call fcn.14041d3c0
add rbx, r14
sub rdi, r12
mov rcx, rbx
mov rdx, rdi
mov r8, r12
call fcn.14041d3c0
jmp 0x1402d73b1
movups xmm0, xmmword [rdi - 0x10]
movups xmmword [r14], xmm0
mov r14, r12
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1403f5480
mov rax, r14
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret