Function at 0x140273ae0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rax, rdx
and r9d, 0xf
cmp r9d, 3
ja 0x140273b17
test r9d, r9d
je 0x140273ba1
cmp r9d, 3
je 0x140273b54
cmp r9d, 1
jne 0x140273c32
xor eax, eax
jmp 0x14027406a
cmp r9d, 5
jbe 0x140273b3a
cmp r9d, 6
jne 0x140273be7
test ecx, ecx
je 0x14027406a
mov rcx, rax
mov rsi, rax
jmp 0x140273c25
cmp r9d, 4
jne 0x140273c19
mov rdx, rax
mov rax, r8
test rdx, rdx
jne 0x140273bad
jmp 0x14027406a
inc qword [rcx + 8]
mov rdx, qword [rcx]
mov r9, qword [r8]
mov qword [rax + 8], r9
mov r9, qword [r8]
cmp r9, rdx
je 0x140273cab
lea r10, [rax + 8]
cmp byte [0x1407901d0], 0
jne 0x140273cc3
cmp dword [r8 + 8], 0
je 0x140273cc3
mov qword [r9], rax
mov r9, qword [r8]
mov r8, rdx
cmp r9, qword [rdx]
jne 0x140273cd7
jmp 0x140273cd4
mov rdx, r8
test rdx, rdx
je 0x14027406a
cmp rdx, 1
mov r8, rdx
adc r8, 0
xor r9d, r9d
cmp rdx, 8
jb 0x140273f4a
mov r10, rax
sub r10, rcx
cmp r10, 0x20
jb 0x140273f4a
cmp rdx, 0x20
jae 0x140273edc
xor r9d, r9d
jmp 0x140273f1e
mov rcx, qword [rax + 8]
movzx eax, byte [0x140737292]
cmp al, 0xfc
je 0x14027405c
mov dl, 0xaf
nop dword [rax]
mov al, 0x9e
lock cmpxchg byte [0x140737292], dl
je 0x140273fb8
cmp al, 0xfc
jne 0x140273c00
jmp 0x14027405c
test r8d, r8d
je 0x140273cbb
mov rsi, rcx
call fcn.1400954d0
mov rax, rsi
jmp 0x14027406a
mov r10, rax
sub r10, rcx
jae 0x140273c77
test r8, r8
je 0x14027406a
cmp r8, 1
mov rdx, r8
adc rdx, 0
xor r9d, r9d
cmp r8, 8
jb 0x1402740d6
cmp r10, 0x20
jb 0x1402740d6
cmp r8, 0x20
jae 0x140274075
xor r9d, r9d
jmp 0x1402740a9
test r8, r8
je 0x14027406a
cmp r8, 4
jb 0x1402741e2
mov rdx, rcx
sub rdx, rax
cmp rdx, 0x10
jb 0x1402741e2
cmp r8, 0x10
jae 0x140274148
xor edx, edx
jmp 0x140274192
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], rax
mov rcx, rax
jmp 0x140273cee
mov rax, rcx
jmp 0x14027406a
mov qword [r9 + 0x10], rax
mov r8, qword [r8]
cmp r8, qword [rdx + 0x10]
jne 0x140273cd7
lea r8, [rdx + 0x10]
mov qword [r8], rax
mov r9, qword [r10]
cmp byte [0x1407904a0], 0
jne 0x140273cf7
cmp byte [r9 + 0x18], 0
je 0x140273cf7
mov rcx, qword [rdx + 8]
mov byte [rcx + 0x18], 1
jmp 0x14027406a
lea r11, [r9 + 0x18]
mov r8, rax
jmp 0x140273d2e
mov byte [r11], 1
mov byte [rsi + 0x18], 1
mov r8, qword [r10]
mov r8, qword [r8 + 8]
mov byte [r8 + 0x18], 0
mov r8, qword [r10]
mov r8, qword [r8 + 8]
lea r10, [r8 + 8]
mov r9, qword [r8 + 8]
lea r11, [r9 + 0x18]
cmp byte [r9 + 0x18], 0
jne 0x140273cea
mov rdi, qword [r9 + 8]
mov rsi, qword [rdi]
cmp r9, rsi
je 0x140273d90
cmp byte [rsi + 0x18], 0
je 0x140273d00
mov r10, qword [r9]
cmp r8, r10
jne 0x140273df8
mov r8, qword [r10 + 0x10]
mov qword [r9], r8
mov r8, qword [r10 + 0x10]
cmp byte [r8 + 0x19], 0
jne 0x140273d62
mov qword [r8 + 8], r9
mov r8, qword [r9 + 8]
mov qword [r10 + 8], r8
mov r8, qword [rcx]
cmp qword [r8 + 8], r9
je 0x140273de6
mov r11, qword [r9 + 8]
lea r8, [r11 + 0x10]
cmp qword [r11 + 0x10], r9
cmovne r8, r11
jmp 0x140273dea
mov rsi, qword [rdi + 0x10]
cmp byte [rsi + 0x18], 0
je 0x140273d00
mov r10, qword [r9 + 0x10]
cmp r8, r10
jne 0x140273e6e
mov r8, qword [r10]
mov qword [r9 + 0x10], r8
mov r8, qword [r10]
cmp byte [r8 + 0x19], 0
jne 0x140273dc0
mov qword [r8 + 8], r9
mov r8, qword [r9 + 8]
mov qword [r10 + 8], r8
mov r8, qword [rcx]
cmp qword [r8 + 8], r9
je 0x140273e5d
mov r11, qword [r9 + 8]
lea r8, [r11 + 0x10]
cmp qword [r11], r9
cmove r8, r11
jmp 0x140273e61
add r8, 8
mov qword [r8], r10
mov qword [r10 + 0x10], r9
mov qword [r9 + 8], r10
mov r8, r9
mov r9, qword [r8 + 8]
mov byte [r9 + 0x18], 1
mov r9, qword [r8 + 8]
mov r9, qword [r9 + 8]
mov byte [r9 + 0x18], 0
mov r9, qword [r8 + 8]
mov r9, qword [r9 + 8]
mov r10, qword [r9 + 0x10]
mov r11, qword [r10]
mov qword [r9 + 0x10], r11
mov r11, qword [r10]
cmp byte [r11 + 0x19], 0
jne 0x140273e2f
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x140273e51
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi], r9
cmove r11, rsi
jmp 0x140273e55
add r11, 8
mov qword [r11], r10
mov qword [r10], r9
jmp 0x140273ed3
add r8, 8
mov qword [r8], r10
mov qword [r10], r9
mov qword [r9 + 8], r10
mov r8, r9
mov r9, qword [r8 + 8]
mov byte [r9 + 0x18], 1
mov r9, qword [r8 + 8]
mov r9, qword [r9 + 8]
mov byte [r9 + 0x18], 0
mov r9, qword [r8 + 8]
mov r9, qword [r9 + 8]
mov r10, qword [r9]
mov r11, qword [r10 + 0x10]
mov qword [r9], r11
mov r11, qword [r10 + 0x10]
cmp byte [r11 + 0x19], 0
jne 0x140273ea5
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x140273ec8
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi + 0x10], r9
cmovne r11, rsi
jmp 0x140273ecc
add r11, 8
mov qword [r11], r10
mov qword [r10 + 0x10], r9
mov qword [r9 + 8], r10
jmp 0x140273d1b
mov r9, r8
and r9, 0xffffffffffffffe0
xor r10d, r10d
nop word cs:[rax + rax]
movups xmm0, xmmword [rcx + r10]
movups xmm1, xmmword [rcx + r10 + 0x10]
movups xmmword [rax + r10], xmm0
movups xmmword [rax + r10 + 0x10], xmm1
add r10, 0x20
cmp r9, r10
jne 0x140273ef0
cmp r8, r9
je 0x14027406a
test r8b, 0x18
je 0x140273f4a
mov r10, r9
mov r9, r8
and r9, 0xfffffffffffffff8
nop dword [rax + rax]
mov r11, qword [rcx + r10]
mov qword [rax + r10], r11
add r10, 8
cmp r9, r10
jne 0x140273f30
cmp r8, r9
je 0x14027406a
mov r11, r8
mov r10, r9
and r11, 3
je 0x140273f71
mov r10, r9
nop dword [rax]
movzx ebx, byte [rcx + r10]
mov byte [rax + r10], bl
inc r10
dec r11
jne 0x140273f60
sub r9, r8
cmp r9, 0xfffffffffffffffc
ja 0x14027406a
nop
movzx r8d, byte [rcx + r10]
mov byte [rax + r10], r8b
movzx r8d, byte [rcx + r10 + 1]
mov byte [rax + r10 + 1], r8b
movzx r8d, byte [rcx + r10 + 2]
mov byte [rax + r10 + 2], r8b
movzx r8d, byte [rcx + r10 + 3]
mov byte [rax + r10 + 3], r8b
add r10, 4
cmp rdx, r10
jne 0x140273f80
jmp 0x14027406a
mov eax, 0x5f35a7bb
mov edx, 0xa0ca5856
mov r8d, 1
mov r9d, 0x5f35a7bc
mov r10d, 0xa0ca5854
lea r11, [0x140737280]
lea rsi, [0x1405f4fd0]
nop word cs:[rax + rax]
mov edi, edx
imul rdi, rdi, 0x38e38e39
shr rdi, 0x22
lea edi, [rdi + rdi*8]
lea edi, [rax + rdi*2]
mov ebx, r10d
imul rbx, rbx, 0x38e38e39
shr rbx, 0x22
lea ebx, [rbx + rbx*8]
lea ebx, [r9 + rbx*2]
movzx ebp, byte [r8 + r11 - 1]
movzx r14d, byte [r8 + r11]
xor bpl, byte [rbx + rsi]
xor bpl, 0xf2
mov byte [r8 + r11 - 1], bpl
xor r14b, byte [rdi + rsi]
xor r14b, 0xf2
mov byte [r8 + r11], r14b
add eax, 0xfffffffe
add edx, 2
add r8, 2
add r9d, 0xfffffffe
add r10d, 2
cmp r8, 0x13
jne 0x140273ff0
mov al, 0xfc
xchg byte [0x140737292], al
test rcx, rcx
lea rax, [0x140737280]
cmovne rax, rcx
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov r9, rdx
and r9, 0xffffffffffffffe0
xor r10d, r10d
nop
movups xmm0, xmmword [rcx + r10]
movups xmm1, xmmword [rcx + r10 + 0x10]
movups xmmword [rax + r10], xmm0
movups xmmword [rax + r10 + 0x10], xmm1
add r10, 0x20
cmp r9, r10
jne 0x140274080
cmp rdx, r9
je 0x14027406a
test dl, 0x18
je 0x1402740d6
mov r10, r9
mov r9, rdx
and r9, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r11, qword [rcx + r10]
mov qword [rax + r10], r11
add r10, 8
cmp r9, r10
jne 0x1402740c0
cmp rdx, r9
je 0x14027406a
mov r11, rdx
mov r10, r9
and r11, 3
je 0x140274101
mov r10, r9
nop word cs:[rax + rax]
movzx ebx, byte [rcx + r10]
mov byte [rax + r10], bl
inc r10
dec r11
jne 0x1402740f0
sub r9, rdx
cmp r9, 0xfffffffffffffffc
ja 0x14027406a
nop
movzx edx, byte [rcx + r10]
mov byte [rax + r10], dl
movzx edx, byte [rcx + r10 + 1]
mov byte [rax + r10 + 1], dl
movzx edx, byte [rcx + r10 + 2]
mov byte [rax + r10 + 2], dl
movzx edx, byte [rcx + r10 + 3]
mov byte [rax + r10 + 3], dl
add r10, 4
cmp r8, r10
jne 0x140274110
jmp 0x14027406a
mov rdx, r8
and rdx, 0xfffffffffffffff0
lea r9, [rax + r8]
add r9, 0xfffffffffffffff0
lea r10, [rcx + r8]
add r10, 0xfffffffffffffff0
mov r11, rdx
neg r11
xor esi, esi
nop word [rax + rax]
movups xmm0, xmmword [r10 + rsi]
movups xmmword [r9 + rsi], xmm0
add rsi, 0xfffffffffffffff0
cmp r11, rsi
jne 0x140274170
cmp rdx, r8
je 0x14027406a
test r8b, 0xc
je 0x1402741de
mov r9, r8
and r9, 0xfffffffffffffffc
mov r10d, r8d
and r10d, 3
lea r11, [rax + r8]
add r11, 0xfffffffffffffffc
neg rdx
lea rsi, [rcx + r8]
add rsi, 0xfffffffffffffffc
mov rdi, r9
neg rdi
nop dword [rax]
mov ebx, dword [rsi + rdx]
mov dword [r11 + rdx], ebx
add rdx, 0xfffffffffffffffc
cmp rdi, rdx
jne 0x1402741c0
cmp r9, r8
mov r8, r10
je 0x14027406a
jmp 0x1402741e2
and r8d, 0xf
lea r9, [r8 - 1]
mov r10, r8
and r10, 3
je 0x140274209
nop
lea rdx, [r8 - 1]
movzx r11d, byte [rcx + r8 - 1]
mov byte [rax + r8 - 1], r11b
mov r8, rdx
dec r10
jne 0x1402741f0
jmp 0x14027420c
mov rdx, r8
cmp r9, 3
jb 0x14027406a
mov r8, rdx
nop dword [rax]
movzx r9d, byte [rcx + rdx - 1]
mov byte [rax + rdx - 1], r9b
movzx r9d, byte [rcx + rdx - 2]
mov byte [rax + rdx - 2], r9b
movzx r9d, byte [rcx + rdx - 3]
mov byte [rax + rdx - 3], r9b
movzx r9d, byte [rcx + rdx - 4]
mov byte [rax + rdx - 4], r9b
add r8, 0xfffffffffffffffc
mov rdx, r8
jne 0x140274220
jmp 0x14027406a