Function at 0x14027d590
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x88
lea rbp, [rsp + 0x80]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
test rdx, rdx
je 0x14027d607
mov rdi, r8
mov r9, rdx
mov qword [rbp - 0x10], 0
movsxd r15, dword [0x1404702e0]
mov r12d, dword [0x1404702e8]
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
movabs rax, 0xb30d86c2e49c206c
add rax, qword [0x1405608c8]
cmp r8, rax
jbe 0x14027d61b
lea rcx, [rbp - 0x20]
mov rdx, rdi
call fcn.14008a200
jmp 0x14027d633
cmp qword [rsi + 0x20], 0x10
jb 0x14027d6c1
mov rax, qword [rsi + 8]
jmp 0x14027d6c5
mov qword [rbp - 0x10], rdi
lea rcx, [rbp - 0x20]
mov rdx, r9
mov r8, rdi
call fcn.140446180
mov byte [rbp + rdi - 0x20], 0
mov rdi, qword [rbp - 0x10]
cmp qword [rbp - 8], 0x10
jb 0x14027d644
mov r14, qword [rbp - 0x20]
jmp 0x14027d648
lea r14, [rbp - 0x20]
lea rbx, [rbp - 0x40]
cmp rdi, 0xf
ja 0x14027d664
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
mov r13d, 0xf
jmp 0x14027d6f1
mov r13, rdi
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x14027d6d5
lea rcx, [r13 + 0x28]
call fcn.14041e25c
mov rdx, rax
add rdx, 0x27
movabs rcx, 0xb30d86c2e49c203d
add rcx, qword [0x1405608c8]
mov r8, rdx
not r8
xor rdx, rcx
not rcx
and rcx, r8
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x14027d6e1
lea rax, [rsi + 8]
mov qword [rsi + 0x18], 0
mov byte [rax], 0
jmp 0x14027d849
lea rcx, [r13 + 1]
call fcn.14041e25c
mov rcx, rax
mov qword [rbp - 0x40], rcx
lea r8, [rdi + 1]
mov rdx, r14
call fcn.140446180
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], r13
lea rax, [0x140463118]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x48]
cmp rax, rsi
je 0x14027d786
movabs rax, 0xb30d86c2e49c205d
add rax, qword [0x1405608c8]
lea r14, [rsi + 8]
cmp rdi, rax
jne 0x14027d73c
cmp qword [rsi + 0x20], 0x10
jb 0x14027d732
mov r14, qword [rsi + 8]
mov qword [rsi + 0x18], 0
jmp 0x14027d77e
cmp r13, 0x10
jb 0x14027d746
mov rbx, qword [rbp - 0x40]
mov rax, qword [rsi + 0x20]
cmp rax, rdi
jae 0x14027d75f
mov rcx, r14
mov rdx, rdi
mov r9, rbx
call fcn.14008a200
jmp 0x14027d782
cmp rax, 0x10
jb 0x14027d769
mov r14, qword [rsi + 8]
mov qword [rsi + 0x18], rdi
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140446180
add r14, rdi
mov byte [r14], 0
mov r13, qword [rbp - 0x28]
cmp r13, 0x10
jb 0x14027d809
mov r8, qword [rbp - 0x40]
lea r9, [r13 + 1]
cmp r9, 0x1000
jb 0x14027d7ed
mov rax, qword [r8 - 8]
sub r8, rax
add r8, 0xfffffffffffffff8
cmp r8, 0x20
jae 0x14027d844
mov rcx, qword [0x1405608c8]
add r13, rcx
movabs rdx, 0xb30d86c2e49c2085
xor rdx, rcx
movabs r8, 0x330d86c2e49c2085
and r8, rcx
lea rcx, [rdx + r8*2]
movabs r9, 0xb30d86c2e49c205d
add r9, r13
add r9, rcx
mov r8, rax
mov dword [rsp + 0x28], 0x75bd0fbe
mov dword [rsp + 0x20], 0xa8261d12
xor ecx, ecx
mov edx, 1
call fcn.14027ec60
lea rax, [0x1404702e0]
add r15, rax
mov r10, qword [rbp - 8]
mov r11d, dword [0x14055fa54]
mov r8d, r11d
mov eax, 0x84b2eecb
add eax, dword [0x1405608d0]
xor r8d, 1
and eax, r11d
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x53
jge 0x14027d8c0
jmp 0x14027d860
call fcn.1403fe3cc
mov rax, rsi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [0x1405608d0]
mov ecx, edx
xor ecx, 0x84b2eecc
mov r9d, edx
and r9d, 0x4b2eecc
lea ecx, [rcx + r9*2]
imul ecx, eax
add ecx, r8d
mov dword [0x14055fa54], ecx
mov r9d, edx
xor r9d, 0x84b2eecb
and edx, 0x4b2eecb
lea edx, [r9 + rdx*2]
lea r9, [fcn.14027d590]
add r9d, r9d
add r9d, 0x3040
test r9d, edx
je 0x14027d95a
nop word cs:[rax + rax]
mov r9d, dword [0x1405608d0]
mov ecx, r9d
xor ecx, 0x84b2eecc
mov edx, r9d
and edx, 0x4b2eecc
lea edi, [rcx + rdx*2]
mov edx, edi
mov ecx, eax
shl edx, cl
sub r9d, edi
mov edi, 2
mov ecx, edx
shl edi, cl
mov ecx, 4
sub ecx, edi
add edi, 0xfffffffe
imul edi, ecx
mov ecx, 2
sub ecx, edi
imul ecx, edi
mov edx, 2
sub edx, ecx
imul edx, ecx
lea ecx, [r9 + rdx]
add ecx, 0x84b2eeca
add r9d, edx
mov edx, 0x7b4d1138
sub edx, r9d
imul edx, ecx
mov r9d, edx
shl r9d, cl
mov ecx, edx
sub ecx, r9d
imul ecx, r9d
imul ecx, edx
mov edx, r8d
shl edx, cl
add edx, ecx
mov dword [0x14055fa54], edx
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x3b
jge 0x14027d8c0
jmp 0x14027d860
mov eax, r11d
not eax
xor r11d, ecx
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x1405aaa4c]
cmp edx, 0xf
jg 0x14027d98f
mov edx, dword [0x1405aaa48]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14027d99c
mov edx, dword [0x1405aaa4c]
cmp edx, 0x45
jge 0x14027d970
jmp 0x14027d97b
and eax, ecx
or r11d, eax
xor ecx, ecx
xor r11d, 0xffffffff
mov edx, 0
jne 0x14027da15
xor eax, eax
mov ecx, 0
mov edx, 0
test r12d, r12d
jle 0x14027da15
xor ecx, ecx
xor edx, edx
nop word cs:[rax + rax]
movsxd r8, eax
mov r9, qword [r15 + r8]
mov r8, qword [r15 + r8 + 8]
nop dword [rax]
mov edi, dword [0x1405aaa48]
lea ebx, [rdi - 1]
imul ebx, edi
test bl, 1
jne 0x14027d9e0
xor rcx, r9
xor rdx, r8
mov r8d, eax
xor r8d, 0x10
and eax, 0x10
add eax, eax
mov r9d, r8d
xor r9d, eax
and eax, r8d
lea eax, [r9 + rax*2]
cmp eax, r12d
jl 0x14027d9d0
cmp r10, 0xf
jbe 0x14027d849
mov r8, qword [rbp - 0x20]
lea r9, [r10 + 1]
mov rax, qword [0x1405608c8]
movabs rdi, 0xb30d86c2e49c305c
xor rdi, rax
movabs rbx, 0x330d86c2e49c305c
and rbx, rax
lea rax, [rdi + rbx*2]
cmp r9, rax
jbe 0x14027db9a
mov rax, qword [r8 - 8]
xor r9d, r9d
test r11d, r11d
setne r9b
mov r11, qword [0x1404702d0]
xor edi, edi
add r9, 0xffffffffffffffff
adc rdi, 0xffffffffffffffff
mov rbx, qword [0x1404702c8]
sub rbx, rcx
sbb r11, rdx
mov ecx, dword [0x1405aaa48]
not r9
not rdi
not r11
mov rcx, r11
xor rcx, rdi
not rbx
mov rdx, rbx
xor rdx, r9
and rdx, rbx
and rcx, r11
or rcx, rdi
or rdx, r9
not rdx
not rcx
mov r9d, 0x84b2eeca
nop word [rax + rax]
mov r11d, dword [0x1405aaa48]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
mov r11d, dword [0x1405608d0]
add r11d, r9d
cmp edi, r11d
jne 0x14027dac0
or rdx, rcx
nop word cs:[rax + rax]
movzx ecx, byte [0x1405608c8]
add cl, 0x7d
mov r9, rdx
shr r9, cl
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x1c
jle 0x14027db16
mov ecx, dword [0x1405aaa4c]
cmp ecx, 0x2f
jmp 0x14027daf0
or r9d, edx
xor ecx, ecx
mov edx, 0x84b2eeca
mov r11d, dword [0x1405aaa48]
mov edi, dword [0x1405608d0]
neg edi
add edi, r11d
inc edi
imul edi, r11d
test dil, 1
jne 0x14027db42
test cl, cl
je 0x14027db65
mov r11d, dword [0x1405aaa48]
lea edi, [r11 - 1]
imul edi, r11d
and edi, 1
mov r11d, dword [0x1405608d0]
add r11d, edx
cmp edi, r11d
jne 0x14027db20
jmp 0x14027db3e
add r9d, dword [0x1405a9910]
sub r8, rax
add r8, qword [0x1405608c8]
mov dword [0x1405a9910], r9d
movabs rcx, 0xb30d86c2e49c2055
add rcx, r8
cmp rcx, 0x20
jae 0x14027dbcb
add r10, 0x28
mov r9, r10
mov r8, rax
mov eax, dword [0x1405608d0]
lea ecx, [rax - 0x7b4d1136]
lea edx, [rax - 0x7b4d1135]
lea r10d, [rax + 0x2cd90bdc]
add eax, 0xfa6ffe88
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.14027ec60
jmp 0x14027d849
call fcn.1403fe3cc
int3