Function at 0x14027ebf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
jmp 0x14027ec16
mov eax, dword [0x140496ae0]
mov eax, dword [0x1405d1c58]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x14027ec10
movsxd r14, dword [0x140496ae0]
mov eax, dword [0x1405d1c58]
mov r8d, dword [0x140586b70]
not r8d
add r8d, eax
imul r8d, eax
test r8b, 1
jne 0x14027ec10
mov eax, dword [0x1405d1c58]
lea r12, [0x140496ae0]
mov r15, r12
not r15
mov rax, r12
xor rax, r14
and rax, r12
mov rdi, r14
and rdi, r15
or rdi, rax
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14027ec80
mov ebx, dword [0x140496ad8]
mov eax, dword [rsi + 0x18]
lea r8d, [rax + rax]
xor r8d, 2
and eax, 1
lea r8d, [r8 + rax*4]
call fcn.14027e8d0
mov r8, rax
mov r9, qword [rsi + 0x18]
cmp r9d, 0xffffffff
je 0x14027eda7
mov rax, r12
xor rax, r15
and rax, r14
xor rax, r15
mov rcx, rax
not rcx
xor rax, r12
and rcx, r15
or rcx, rax
not rcx
add rcx, rcx
add rdi, rcx
lea r10, [r8 + 4]
lea r11, [rsi + 8]
mov rcx, qword [rsi + 0x20]
mov ebp, dword [0x140585d70]
test rsi, rsi
je 0x14027ed00
mov eax, dword [0x1405d1c5c]
cmp eax, 0x42
jl 0x14027ed3d
nop dword [rax + rax]
mov eax, dword [0x1405d1c58]
mov edx, eax
not edx
imul edx, eax
and edx, 1
mov eax, dword [0x140586b70]
mov esi, eax
and esi, 0x5af72752
add esi, esi
xor eax, esi
mov r14d, eax
xor r14d, 0xdaf72752
xor eax, 0x250848a4
and eax, esi
lea eax, [r14 + rax*2]
cmp edx, eax
jne 0x14027ed00
jmp 0x14027eced
mov eax, ebp
xor eax, 1
mov r14d, ebp
not r14d
mov edx, r14d
and edx, 0x7ffffffe
or edx, eax
not edx
lea r15d, [rax + rdx*2]
mov dword [0x140585d70], r15d
mov eax, r14d
and eax, r15d
not r15d
xor ebp, r15d
or ebp, eax
not ebp
or ebp, eax
nop word cs:[rax + rax]
mov eax, dword [0x1405d1c58]
mov edx, dword [0x140586b70]
add edx, eax
dec edx
imul edx, eax
test dl, 1
jne 0x14027ed80
xor eax, eax
test al, al
jne 0x14027f1e0
jmp 0x14027f1aa
mov rax, r8
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, r15d
or r13, rcx
and r15d, r14d
mov r12d, r9d
and r12d, r14d
or r12, r15
or r12, rcx
not r12
or r12, r13
not r12
movabs rcx, 0xd2d6165c06143074
mov r14, qword [0x1405d1c60]
add r14, rcx
sub rcx, r14
movabs r13, 0xb6c74c9907ea2ce5
add r12, r13
movabs r14, 0xae610261834a045a
mov r15, rcx
xor r15, r14
and rcx, r14
lea r15, [r15 + rcx*2]
movabs rcx, 0x65b1b33b5736cbd5
sub r15, rcx
sub r15, r12
add r15, r13
mov rcx, qword [0x140586b78]
movabs r12, 0x1e93fbe3136f0ac3
movabs r13, 0x55bba8fa1e6b059f
sub r13, r13
sub r13, r12
mov rbp, rbx
xor rbp, r13
and r13, rbx
lea r13, [r13*2]
add r13, rbp
add r13, rcx
add r13, r12
sub r15, r13
movabs r12, 0x65b1b33b5736cbd5
add r15, r12
movabs r12, 0x5e3ed5b104fc2bc8
sub r14, r12
sub r14, r15
add r14, r12
not ebx
movabs r15, 0xb72344029cf4f884
movabs r12, 0x24f2033910f22adc
add r12d, r15d
add r12d, ecx
mov ecx, 0xade72360
sub ecx, r12d
mov r15d, ebx
xor r15d, ecx
and ecx, ebx
lea ecx, [r15 + rcx*2]
neg cl
lea rbx, [r11 + r14]
inc rbx
shl r14, cl
add r14, r8
add r14, 6
cmp r10, rbx
setb cl
setae bl
cmp r11, r14
setb bpl
setae r14b
mov r15d, ebx
xor r15b, r14b
mov r12d, ecx
and r12b, bpl
or r12b, r15b
xor r12b, 1
xor bpl, cl
and bl, r14b
or bl, bpl
xor bl, 1
or bl, r12b
mov ebp, ecx
xor bpl, bl
and cl, bpl
or cl, bl
not cl
or cl, bpl
test cl, 1
je 0x14027ef83
neg rdi
mov rcx, rdi
not rcx
mov edx, edi
and edx, 0xf
or rdx, rcx
mov rbx, 0xffffffffffffffef
sub rbx, rdx
not rdx
lea rcx, [r11 + rdx]
lea r10, [r10 + rdx*2]
xor r14d, r14d
nop dword [rax + rax]
movq xmm0, qword [r11 + r14]
punpcklbw xmm0, xmm0
movq xmm1, qword [r11 + r14 + 8]
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [r8 + r14*2 + 4], xmm0
movdqu xmmword [r8 + r14*2 + 0x14], xmm1
cmp rbx, r14
je 0x14027ef78
add r14, 0x10
jmp 0x14027ef40
cmp rdi, rdx
je 0x14027eda7
jmp 0x14027ef86
mov rcx, r11
mov r11d, dword [0x140586b70]
lea ebx, [r11 + r9]
add ebx, dword [0x1405d0904]
sub ebx, edx
add ebx, 0xdaf72753
mov edi, r11d
xor edi, 0xdaf72752
and r11d, 0x5af72752
lea edi, [rdi + r11*2]
mov r11d, r9d
sub r11d, edi
sub r11d, edx
mov edi, ebx
not edi
xor ebx, 7
and edi, 0xfffffff8
mov ebp, ebx
and ebp, edi
or edi, ebx
or edi, ebp
not edi
mov ebx, dword [0x1405d1c5c]
nop word cs:[rax + rax]
cmp dword [0x140586b70], 0x2508d8ae
jne 0x14027efe0
mov ebx, dword [0x1405d1c58]
lea r14d, [rbx - 1]
imul r14d, ebx
and r14d, 1
mov ebp, 0xdaf72752
jmp 0x14027f028
mov ebx, dword [0x140496adc]
mov ebx, dword [0x1405d1c58]
lea r14d, [rbx - 1]
imul r14d, ebx
and r14d, 1
mov ebx, dword [0x140586b70]
add ebx, ebp
cmp r14d, ebx
jne 0x14027f010
xor r14d, r14d
test eax, eax
setne r15b
mov ebx, dword [0x140496adc]
mov r12d, dword [0x1405d1c5c]
cmp r12d, 0x60
jge 0x14027f010
mov r14b, r15b
mov eax, dword [0x140586b70]
mov ebp, r14d
not ebp
mov r15d, 0x997e9118
sub r15d, eax
add eax, 0x66816ee7
mov r12d, r14d
and r12d, r15d
and r15d, ebp
and ebp, eax
or r12d, ebp
xor eax, r14d
or r15d, eax
not r15d
lea eax, [r12 + r15*2]
add eax, 0x7475b86a
mov ebp, dword [0x1405d1c5c]
sub ebx, esi
mov esi, ebx
not esi
xor ebx, eax
not eax
and eax, esi
or eax, ebx
not eax
xor esi, esi
nop word cs:[rax + rax]
test sil, sil
jne 0x14027f0b0
mov eax, eax
add qword [0x1405d1c60], rax
test edi, edi
je 0x14027f0f8
inc edx
inc rcx
add r10, 2
xor eax, eax
nop dword [rax]
movsx esi, byte [rcx - 1]
mov word [r10 - 2], si
mov esi, eax
xor esi, 0x7ffffffe
and esi, eax
xor eax, 1
lea eax, [rax + rsi*2]
cmp eax, edi
je 0x14027f0f8
inc edx
inc rcx
add r10, 2
jmp 0x14027f0d0
mov eax, 0xdaf72759
add eax, dword [0x140586b70]
cmp r11d, eax
jb 0x14027eda7
xor eax, eax
nop
movsx r11d, byte [rcx + rax]
mov word [r10 + rax*2], r11w
movsx r11d, byte [rcx + rax + 1]
mov word [r10 + rax*2 + 2], r11w
movsx r11d, byte [rcx + rax + 2]
mov word [r10 + rax*2 + 4], r11w
movsx r11d, byte [rcx + rax + 3]
mov word [r10 + rax*2 + 6], r11w
movsx r11d, byte [rcx + rax + 4]
mov word [r10 + rax*2 + 8], r11w
movsx r11d, byte [rcx + rax + 5]
mov word [r10 + rax*2 + 0xa], r11w
movsx r11d, byte [rcx + rax + 6]
mov word [r10 + rax*2 + 0xc], r11w
lea r11d, [rdx + 7]
movsx esi, byte [rcx + rax + 7]
mov word [r10 + rax*2 + 0xe], si
cmp r11d, r9d
je 0x14027eda7
mov r11d, dword [0x140586b70]
mov esi, r11d
xor esi, 0x7be4f4fa
and esi, r11d
xor r11d, 0x841b0b05
lea r11d, [r11 + rsi*2]
add edx, r11d
add edx, 0x56dc1c55
add rax, 8
jmp 0x14027f110
mov edx, dword [0x1405d1c58]
lea eax, [rdx - 1]
imul eax, edx
mov edx, 0x8f5cd391
add edx, dword [0x140586b70]
mov esi, edx
xor esi, 0x4b9a53c3
and edx, 0x4b9a53c3
lea r12d, [rsi + rdx*2]
xor esi, esi
xor edx, edx
div r12d
test edx, edx
je 0x14027f1ed
nop
mov eax, dword [0x1405d1c5c]
cmp eax, 0x28
jge 0x14027f1e0
jmp 0x14027f1aa
and r14d, r15d
mov edx, ebp
and edx, r14d
not ebp
mov eax, ebp
and eax, r14d
or ebp, r14d
not ebp
or ebp, eax
mov eax, ebp
xor eax, ebp
not eax
and eax, edx
and edx, ebp
xor eax, ebp
or eax, edx
xor eax, 0xffffffff
jne 0x14027f280
mov edx, dword [0x1405d1c5c]
cmp edx, 0x50
jg 0x14027f230
mov edx, dword [0x1405d1c5c]
cmp edx, 0x43
jl 0x14027f244
nop dword [rax]
mov edx, dword [0x1405d1c58]
lea esi, [rdx - 1]
imul esi, edx
test sil, 1
jne 0x14027f230
jmp 0x14027f221
xor edx, edx
test dl, dl
jne 0x14027f261
lea rdx, [fcn.14027ebf0]
add edx, edx
add edx, 0x4540
mov esi, edx
not esi
test esi, edx
je 0x14027f276
mov dl, 1
nop word cs:[rax + rax]
test dl, dl
je 0x14027f270
jmp 0x14027f24a
xor esi, esi
test ebx, ebx
jg 0x14027f2ff
mov edx, dword [0x1405d1c58]
nop word cs:[rax + rax]
mov edx, dword [0x1405d1c5c]
cmp edx, 0x53
jg 0x14027f290
movabs rbx, 0xc1cb7897332acef2
mov r14d, 0xffffffff
mov rdx, qword [0x140586b78]
add rdx, rbx
add rdx, 0xf
cmp rcx, rdx
jbe 0x14027f2c1
mov r11, qword [r11]
mov r15, r9
not r15
mov ecx, 0xffffffff
not rcx
mov edx, r15d
and rcx, r9
or rdx, rcx
movabs rdi, 0xffffffff00000000
and rdi, r15
or rdi, rdx
mov r12, rdi
not r12
xor edx, edx
cmp r12, 0xf
jae 0x14027edbb
jmp 0x14027ef83
xor edx, edx
mov ebp, 0xfffffffc
mov r14d, 0xdaf72752
xor r15d, r15d
xor esi, esi
jmp 0x14027f329
cmp r15d, ebx
jge 0x14027f280
mov r12d, dword [0x1405d1c58]
mov r13d, r12d
not r13d
imul r13d, r12d
test r13b, 1
jne 0x14027f3b0
mov r12d, dword [0x1405d1c5c]
cmp r12d, 0x1d
jge 0x14027f3b0
movsxd r12, r15d
xor esi, dword [rdi + r12]
nop word cs:[rax + rax]
mov r12d, dword [0x1405d1c58]
lea r13d, [r12 - 1]
imul r13d, r12d
test r13b, 1
jne 0x14027f383
mov r12d, dword [0x1405d1c5c]
cmp r12d, 0x58
jle 0x14027f3c0
mov r12d, dword [0x1405d1c58]
mov r13d, 0xf3822c2d
sub r13d, r12d
imul r13d, r12d
and r13d, 1
mov r12d, dword [0x140586b70]
add r12d, r14d
cmp r13d, r12d
jne 0x14027f360
jmp 0x14027f376
mov r12d, dword [0x1405d1c5c]
cmp r12d, 0x1e
jge 0x14027f3b0
jmp 0x14027f340
sub r15d, ebp
test dl, dl
jne 0x14027f400
nop word [rax + rax]
mov r12d, dword [0x1405d1c58]
lea r13d, [r12 - 1]
imul r13d, r12d
and r13d, 1
mov r12d, dword [0x140586b70]
add r12d, r14d
cmp r13d, r12d
je 0x14027f320
nop word [rax + rax]
mov r12d, dword [0x1405d1c58]
lea r13d, [r12 - 1]
imul r13d, r12d
test r13b, 1
jne 0x14027f400
jmp 0x14027f3d0