Function at 0x140281d90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, r8
movsxd rax, dword [0x140496d54]
mov r8d, dword [0x1405d1c78]
lea r12, [0x140496d54]
add r12, rax
nop dword [rax + rax]
mov eax, dword [0x1405d1c78]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x140281dd0
mov r13d, dword [0x140496d50]
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
mov rsi, qword [rdi + 0x18]
movabs r14, 0x69a8e0008622d16e
mov rax, qword [0x140586cc0]
add rax, r14
cmp qword [rdi + 0x20], rax
jbe 0x140281e16
mov rdi, qword [rdi + 8]
jmp 0x140281e1a
add rdi, 8
lea r15, [rcx + 8]
movabs rbx, 0x7fffffffffffffff
cmp rsi, 0x10
mov qword [rbp - 0x10], rcx
jae 0x140281e44
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov r14d, 0xf
jmp 0x140281ef8
mov qword [rbp - 8], rdx
add r14, qword [0x140586cc0]
or r14, rsi
cmp r14, rbx
cmovae r14, rbx
cmp r14, 0xfff
jb 0x140281ec4
lea rcx, [r14 + 0x28]
mov edx, 0x983f4cfc
mov r8d, 0x9b35ad85
mov r9d, 0x5fac3c4e
call fcn.1400aaaf0
mov rcx, qword [0x140586cc0]
movabs rdx, 0x69a8e0008622d15f
xor rdx, rcx
movabs r8, 0x16571fff79dd2ea0
xor r8, rcx
and r8, rcx
add r8, r8
mov rcx, rdx
xor rcx, r8
and r8, rdx
lea rcx, [rcx + r8*2]
neg rcx
add rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140281ee1
lea rcx, [r14 + 1]
mov edx, 0x983f4cfc
mov r8d, 0x9b35ad85
mov r9d, 0x5fac3c4e
call fcn.1400aaaf0
mov rcx, rax
mov qword [r15], rcx
lea r8, [rsi + 1]
mov rdx, rdi
call fcn.14046c800
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov qword [rcx + 0x18], rsi
mov qword [rcx + 0x20], r14
lea rsi, [0x140489448]
mov qword [rcx], rsi
xorps xmm0, xmm0
movups xmmword [rcx + 0x40], xmm0
mov rdi, qword [rdx + 0x18]
cmp qword [rdx + 0x20], 0x10
jb 0x140281f22
mov rdx, qword [rdx + 8]
jmp 0x140281f26
add rdx, 8
lea rax, [rcx + 0x30]
cmp rdi, 0xf
ja 0x140281f40
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
mov ebx, 0xf
jmp 0x140282195
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rdx
mov rax, rdi
xor rax, 0xfffffffffffffff0
and rax, rdi
mov qword [rbp - 0x20], rdi
mov rcx, rdi
xor rcx, 0xf
or rcx, rax
mov eax, dword [0x1405d1c7c]
cmp eax, 0x18
jge 0x1402821d0
jmp 0x1402821b5
lea rcx, [rbx + 0x28]
call fcn.14044489c
mov rcx, rax
lea rax, [fcn.140281d90]
add eax, eax
add eax, 0x2880
mov edx, eax
not edx
test edx, eax
jne 0x140281fb0
lea rax, [fcn.140281d90]
add eax, eax
add eax, 0x48a0
mov edx, eax
not edx
test edx, eax
je 0x140281fc3
nop dword [rax]
mov eax, dword [0x1405d1c78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140281fb0
jmp 0x140281f96
and esi, edi
mov r8d, dword [0x140496d40]
mov eax, dword [0x140586cc8]
cmp esi, 1
sbb eax, 0xffffffff
add eax, 0xd24d7ae3
mov edx, dword [0x1405d1c78]
dec eax
lea rdx, [fcn.140281d90]
add edx, edx
add edx, 0x2ba0
mov r9d, edx
not r9d
nop word [rax + rax]
test r9d, edx
jne 0x140282000
mov edx, dword [0x140586cc8]
sub eax, edx
add eax, 0x2db2851d
sub r8d, r15d
xor r8d, eax
not r8d
and r8d, eax
movabs r9, 0x7c57a48751f4e2a6
add r9, qword [0x1405d0928]
mov eax, dword [0x1405d1c78]
lea r10d, [rax - 1]
imul r10d, eax
and r10d, 1
neg edx
mov eax, edx
xor eax, 0x56f6d3b8
and edx, 0x56f6d3b8
lea eax, [rax + rdx*2]
mov edx, 0x111dafbb
sub edx, eax
cmp r10d, edx
lea rsi, [0x140489448]
mov rdi, qword [rbp - 0x20]
jne 0x1402820f0
movabs rdx, 0x5c2f2b5f35f41fd7
add rdx, r9
add rdx, r8
movabs rax, 0xa3d0d4a0ca0be029
xor rax, rdx
movabs r10, 0x23d0d4a0ca0be029
and r10, rdx
lea rax, [rax + r10*2]
movabs rdx, 0x83a85b78ae0b1d5a
add rdx, rax
mov qword [0x1405d0928], rdx
mov edx, dword [0x1405d1c78]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140586cc8]
lea r11d, [r10 - 0x45d923fb]
xor edx, edx
div r11d
mov eax, r10d
xor eax, 0xba26dc03
and r10d, 0x3a26dc03
lea eax, [rax + r10*2]
cmp edx, eax
je 0x140282106
nop word cs:[rax + rax]
mov eax, dword [0x1405d1c78]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x1402820f0
jmp 0x14028206e
mov rax, rcx
neg rax
mov rdx, rcx
dec rdx
and rdx, 0xffffffffffffffd9
movabs r8, 0x7fffffffffffffd9
and r8, rax
and eax, 0x26
or rax, rdx
lea rax, [rax + r8*2]
neg rax
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov rdx, qword [rbp - 8]
jmp 0x140282156
lea rcx, [rbx + 1]
call fcn.14044489c
mov rdx, qword [rbp - 8]
lea rsi, [0x140489448]
mov rdi, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov rcx, rdi
not rcx
mov r10, qword [0x1405d0928]
mov r8, r10
neg r8
dec r10
and r10, rcx
mov r9, r8
and r9, rdi
or r9, r10
and r8, rcx
lea r8, [r9 + r8*2]
neg r8
mov rcx, rax
call fcn.14046c800
mov rcx, qword [rbp - 0x10]
mov qword [rcx + 0x40], rdi
mov qword [rcx + 0x48], rbx
mov qword [rcx + 0x28], rsi
mov rax, rcx
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edi, dword [0x140586b90]
mov eax, dword [0x1405d1c78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1402821e3
nop dword [rax]
mov eax, dword [0x1405d1c78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402821d0
jmp 0x1402821b5
mov eax, edi
not eax
mov edx, eax
and edx, 0x735eafc0
mov r8d, edi
and r8d, 0x8ca1503f
or r8d, edx
mov edx, edi
xor edx, 0x735eafc0
and eax, 0xca1503f
or eax, edx
not eax
mov edx, r8d
xor edx, 0xa78a0110
and r8d, 0x278a0110
lea edx, [rdx + r8*2]
lea eax, [rdx + rax*2]
add eax, 0x5875fef0
inc eax
mov edx, eax
xor edx, 0x2a0ce37d
and eax, 0x2a0ce37d
lea esi, [rdx + rax*2]
sub esi, dword [0x140586cc8]
add esi, 0xa86d90c0
mov dword [0x140586b90], esi
xor esi, edi
not esi
xor r15d, r15d
test esi, edi
jne 0x14028227a
xor r15d, r15d
xor eax, eax
sub eax, dword [0x140586cc8]
mov edx, eax
xor edx, 0x45d923fd
and eax, 0x45d923fd
lea eax, [rdx + rax*2]
neg eax
cmp eax, r13d
jl 0x1402822a7
cmp rcx, rbx
cmovb rbx, rcx
add rbx, qword [0x1405d0970]
movabs rax, 0x69a8e0008622e15d
add rax, qword [0x140586cc0]
cmp rbx, rax
ja 0x140281f74
jmp 0x14028213e
xor r8d, r8d
mov r9d, 0xba26dc05
mov r10b, 1
xor r15d, r15d
nop word cs:[rax + rax]
mov eax, dword [0x1405d1c78]
mov edx, dword [0x140586cc8]
lea r11d, [rdx + rax]
add r11d, 0xba26dc04
imul r11d, eax
and r11d, 1
mov eax, edx
xor eax, 0xba26dc03
and edx, 0x3a26dc03
lea eax, [rax + rdx*2]
cmp r11d, eax
jne 0x1402822c0
movsxd r8, r8d
mov eax, dword [0x1405d1c78]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402823a0
mov edx, dword [0x1405d1c78]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x140586cc8]
lea r14d, [r11 - 0x45d923fb]
xor edx, edx
div r14d
mov eax, r11d
xor eax, 0xba26dc03
and r11d, 0x3a26dc03
lea eax, [rax + r11*2]
cmp edx, eax
jne 0x1402823a0
lea rax, [r12 + r8]
mov eax, dword [rax]
not r15d
not eax
mov edx, r15d
xor edx, eax
or r15d, eax
and r15d, edx
add r8d, 0xf17b0ec2
nop
mov edx, dword [0x1405d1c78]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x140586cc8]
add r11d, r9d
xor edx, edx
div r11d
test edx, edx
jne 0x140282360
test r10b, r10b
je 0x140282360
add r8d, 0xe84f142
cmp r8d, r13d
jl 0x1402822c0
jmp 0x14028227a
mov eax, dword [0x1405d1c7c]
cmp eax, 0x20
jge 0x1402823a0
jmp 0x14028230c