Function at 0x1402809b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, r8
lea rax, [0x140470724]
movsxd r8, dword [0x140470724]
mov r9, r8
not r9
mov r10, r9
and r10, rax
not rax
mov r11, r8
and r11, rax
or r11, r10
xor rax, r8
xor r9, rax
and r9, rax
movabs r14, 0xaaccbaeed24827a8
sub r11, r14
lea rax, [r11 + r9*2]
movabs r8, 0xec42d16d88c3ee63
sub rax, r8
add r14, r8
add r14, rax
mov al, 1
test al, al
je 0x140280a30
mov ebp, dword [0x140470714]
mov eax, dword [0x1405aaa8c]
cmp eax, 0x19
jl 0x140280a4c
nop dword [rax]
mov eax, dword [0x140470714]
mov eax, dword [0x1405aaa88]
lea r8d, [rax + 1]
imul r8d, eax
test r8b, 1
jne 0x140280a30
jmp 0x140280a1c
mov eax, dword [rsi + 0x18]
lea r8d, [rax + rax]
add r8d, 2
call fcn.140280780
mov r12, rax
mov r9, qword [rsi + 0x18]
mov eax, 0xb83b593
add eax, dword [0x140560fe0]
cmp r9d, eax
je 0x140280ad8
lea r11, [r12 + 4]
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x30], rax
add rsi, 8
mov edx, dword [0x140560cf0]
mov ecx, edx
xor ecx, 1
mov eax, edx
not eax
mov r10d, eax
and r10d, 0xfffffffe
or r10d, ecx
not r10d
nop word cs:[rax + rax]
mov r8d, dword [0x1405aaa8c]
cmp r8d, 0x50
jg 0x140280ab0
mov qword [rsp + 0x28], r12
mov r8d, dword [0x1405aaa8c]
cmp r8d, 0x42
jg 0x140280eb0
jmp 0x140280e7e
mov rax, r12
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x140560fe8]
movabs rdx, 0x6d9a859d04b7ee69
mov r8, rcx
xor r8, rdx
and rdx, rcx
movabs r14, 0x827c688e47de4957
sub r8, r14
lea rdx, [r8 + rdx*2]
add rdx, r14
mov r8, r9
xor r8, rdx
not r8
and r8, rdx
movabs rdx, 0xa27108e9ab9b6fb9
lea r14, [rdi + rdx]
add r14, rcx
sub r14, qword [0x1405a9cd8]
sub r14, rdx
movabs rcx, 0x4c68e9974a543a38
sub r14, rcx
sub r14, r8
add r14, rcx
movabs rcx, 0x1d2fd31f9f55655f
movabs rdx, 0xfc264461c04e98c
lea r8, [rdx + rcx]
sub rdx, r14
add rdx, rcx
sub rdx, r8
lea r8, [r12 + rdx*2]
add r8, 6
lea rcx, [rdx + rsi]
inc rcx
cmp r11, rcx
setb dl
setae bpl
cmp rsi, r8
setb r8b
xor bpl, r8b
xor bpl, 1
and dl, r8b
or bpl, dl
xor bpl, 1
or bpl, dl
cmp bpl, 1
jne 0x140280bb8
cmp r11, rcx
jb 0x140280fc4
neg r15
movabs rcx, 0x761dd646f4d3ef79
lea rdx, [rdi + rcx]
add rdx, 0xfffffffffffffff0
movabs rax, 0x518e6a228e82c3d
sub rdx, rax
sub rdx, rcx
add rdx, qword [0x140560fe8]
movabs rcx, 0x32d39da650eb12db
add rax, rcx
add rax, rdx
sub rax, rcx
mov rcx, r15
not rcx
mov rdx, r15
xor rdx, rax
xor rax, rcx
and rax, rcx
or rax, rdx
mov r8, 0xffffffffffffffef
sub r8, rax
not rax
lea rdx, [rsi + rax]
lea r14, [r11 + rax*2]
xor r12d, r12d
nop word cs:[rax + rax]
mov ecx, dword [0x140560fe8]
add ecx, edi
inc cl
mov r13, r12
shl r13, cl
movq xmm0, qword [rsi + r12]
punpcklbw xmm0, xmm0
movq xmm1, qword [rsi + r12 + 8]
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [r11 + r13], xmm0
movdqu xmmword [r11 + r13 + 0x10], xmm1
cmp r8, r12
je 0x140280c77
add r12, 0x10
jmp 0x140280c30
cmp r15, rax
mov r12, qword [rsp + 0x28]
je 0x140280ad8
mov r8d, r9d
not r8d
lea r11d, [r8 + rax]
neg r11d
mov esi, dword [0x140560fe0]
mov ecx, r9d
sub ecx, eax
add ecx, esi
add ecx, 0xb83b594
lea edi, [rsi + 0xb83b59b]
xor edi, r11d
add r8d, eax
dec r8d
mov r11d, 0xf47c4a64
sub r11d, esi
and r11d, r8d
or r11d, edi
not r11d
nop word cs:[rax + rax]
mov r8d, dword [0x1405aaa8c]
cmp r8d, 0x5f
jg 0x140280cf0
mov esi, dword [0x14047071c]
mov r8d, dword [0x1405aaa8c]
cmp r8d, 0x23
jle 0x140280d06
mov r8d, dword [0x14047071c]
mov r8d, dword [0x1405aaa8c]
cmp r8d, 0x1e
jge 0x140280cd0
jmp 0x140280cdd
mov r8d, dword [0x140560fe0]
cmp r10d, 1
sbb r8d, 0xffffffff
add r8d, 0x970dfd29
dec r8d
nop
mov r10d, dword [0x1405aaa88]
lea edi, [r10 - 1]
imul edi, r10d
test dil, 1
jne 0x140280d20
sub r8d, dword [0x140560fe0]
add r8d, 0x68f202d7
mov r10d, esi
xor r10d, 0x1eaa08ea
and esi, 0x1eaa08ea
lea r10d, [r10 + rsi*2]
sub r10d, ebx
add r10d, 0xe155f716
xor r8d, r10d
not r8d
and r8d, r10d
mov r10d, dword [0x1405aaa8c]
cmp r10d, 0x27
jg 0x140280d90
mov r10d, dword [0x1405aaa88]
lea esi, [r10 - 1]
imul esi, r10d
test sil, 1
je 0x140280dae
nop dword [rax]
mov r10d, dword [0x1405aaa88]
mov esi, dword [0x140560fe0]
add esi, r10d
dec esi
imul esi, r10d
test sil, 1
jne 0x140280d90
jmp 0x140280d77
mov r8d, r8d
add qword [0x1405a9cd8], r8
test r11d, r11d
je 0x140280dfb
inc eax
inc rdx
add r14, 2
xor r8d, r8d
nop dword [rax]
movsx r10d, byte [rdx - 1]
mov word [r14 - 2], r10w
mov r10d, dword [0x140560fe0]
add r8d, r10d
add r8d, 0xb83b595
cmp r8d, r11d
je 0x140280dfb
inc eax
inc rdx
add r14, 2
jmp 0x140280dd0
cmp ecx, 7
jb 0x140280ad8
sub r9d, eax
add r9d, 0xfffffff9
xor eax, eax
nop dword [rax]
movzx ecx, byte [0x1405aaa90]
add cl, byte [rdx + rax]
movsx ecx, cl
mov word [r14 + rax*2], cx
movsx ecx, byte [rdx + rax + 1]
mov word [r14 + rax*2 + 2], cx
movsx ecx, byte [rdx + rax + 2]
mov word [r14 + rax*2 + 4], cx
movsx ecx, byte [rdx + rax + 3]
mov word [r14 + rax*2 + 6], cx
movsx ecx, byte [rdx + rax + 4]
mov word [r14 + rax*2 + 8], cx
movsx ecx, byte [rdx + rax + 5]
mov word [r14 + rax*2 + 0xa], cx
movsx ecx, byte [rdx + rax + 6]
mov word [r14 + rax*2 + 0xc], cx
movsx ecx, byte [rdx + rax + 7]
mov word [r14 + rax*2 + 0xe], cx
cmp r9d, eax
je 0x140280ad8
add rax, 8
jmp 0x140280e10
lea r8, [fcn.1402809b0]
add r8d, r8d
add r8d, 0x1020
mov ebx, r8d
not ebx
and ebx, r8d
mov r8d, 0xb83b594
add r8d, dword [0x140560fe0]
cmp ebx, r8d
je 0x140280ec7
nop dword [rax]
mov r8d, dword [0x1405aaa88]
lea edi, [r8 - 1]
imul edi, r8d
test dil, 1
jne 0x140280eb0
jmp 0x140280e7e
add r10d, r10d
add r10d, ecx
mov dword [0x140560cf0], r10d
mov ecx, r10d
not ecx
mov r8d, ecx
xor r8d, eax
and r8d, r10d
xor edx, ecx
and r10d, eax
or r10d, edx
not r10d
or r10d, r8d
xor r8d, r8d
mov edx, eax
not edx
mov ebx, edx
and ebx, ecx
not ecx
and eax, ecx
or eax, ebx
and ecx, edx
or ecx, eax
not ecx
mov ebx, 0xb83b596
lea rax, [fcn.1402809b0]
lea r15d, [rax + rax]
add r15d, 0x23c0
nop
test r8b, r8b
jne 0x140280f44
mov edx, dword [0x1405aaa88]
lea eax, [rdx - 1]
imul eax, edx
mov r12d, dword [0x140560fe0]
add r12d, ebx
xor edx, edx
div r12d
test edx, edx
je 0x140280f50
mov eax, r15d
not eax
test eax, r15d
jne 0x140280f20
jmp 0x140280f25
mov eax, dword [0x1405aaa8c]
or r10d, ecx
nop dword [rax]
mov eax, dword [0x1405aaa88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140280f60
xor ebx, ebx
xor r10d, 0xffffffff
jne 0x140280f7d
test ebp, ebp
jg 0x140280fcf
cmp qword [rsp + 0x30], 0x10
jb 0x140280f88
mov rsi, qword [rsi]
mov r12, qword [rsp + 0x28]
movabs rdi, 0x6d9a859c04b7ee6a
mov rax, r9
not rax
mov r15d, 0xffffffff
mov rcx, r9
xor rcx, r15
not r15
and r15, rax
or r15, rcx
mov rcx, r15
not rcx
xor eax, eax
cmp rcx, 0xf
jae 0x140280aec
mov rdx, rsi
mov r14, r11
jmp 0x140280c85
xor r15d, r15d
mov r12d, 0xb83b596
mov r13d, 0xfffffffc
mov ecx, 0x2156d67c
xor r8d, r8d
xor ebx, ebx
jmp 0x140280ff8
sub r8d, r13d
cmp r8d, ebp
jge 0x140280f7d
mov eax, dword [0x1405aaa8c]
nop
mov edx, dword [0x1405aaa88]
lea eax, [rdx - 1]
imul eax, edx
mov edi, dword [0x140560fe0]
add edi, r12d
xor edx, edx
div edi
test edx, edx
jne 0x140281000
movsxd rax, r8d
add rax, r14
mov edx, dword [0x1405aaa8c]
cmp edx, 0x58
jg 0x140281037
nop
mov edx, dword [rax]
test r15b, r15b
je 0x140281040
mov edx, dword [rax]
jmp 0x140281030
mov eax, ebx
not eax
mov edi, edx
xor edi, eax
and eax, edx
not edi
and ebx, edi
or ebx, eax
mov eax, dword [0x1405aaa88]
nop word cs:[rax + rax]
mov eax, dword [0x1405aaa8c]
cmp eax, 0x52
jg 0x140281060
test r15b, r15b
jne 0x140281090
mov eax, dword [0x1405aaa88]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140280ff0
nop word cs:[rax + rax]
mov edx, dword [0x1405aaa88]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140560fe0]
add edx, ecx
mov edi, edx
xor edi, 0xea2cdf1a
and edx, 0x6a2cdf1a
lea edi, [rdi + rdx*2]
xor edx, edx
div edi
test edx, edx
jne 0x140281090
jmp 0x140281070