Function at 0x14024a670
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, [0x14042e2e4]
movsxd r8, dword [0x14042e2e4]
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 0x14024a6f0
mov ebp, dword [0x14042e2d4]
mov eax, dword [0x140560390]
cmp eax, 0x19
jl 0x14024a70c
nop dword [rax]
mov eax, dword [0x14042e2d4]
mov eax, dword [0x14056038c]
lea r8d, [rax + 1]
imul r8d, eax
test r8b, 1
jne 0x14024a6f0
jmp 0x14024a6dc
mov eax, dword [rsi + 0x18]
lea r8d, [rax + rax]
add r8d, 2
call fcn.14024a440
mov r12, rax
mov r9, qword [rsi + 0x18]
mov eax, 0xb83b593
add eax, dword [0x1405184a0]
cmp r9d, eax
je 0x14024a798
lea r11, [r12 + 4]
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x30], rax
add rsi, 8
mov edx, dword [0x1405181b0]
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 [0x140560390]
cmp r8d, 0x50
jg 0x14024a770
mov qword [rsp + 0x28], r12
mov r8d, dword [0x140560390]
cmp r8d, 0x42
jg 0x14024ab70
jmp 0x14024ab3e
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 [0x1405184a8]
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 [0x14055f720]
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 0x14024a878
cmp r11, rcx
jb 0x14024ac84
neg r15
movabs rcx, 0x761dd646f4d3ef79
lea rdx, [rdi + rcx]
add rdx, 0xfffffffffffffff0
movabs rax, 0x518e6a228e82c3d
sub rdx, rax
sub rdx, rcx
add rdx, qword [0x1405184a8]
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 [0x1405184a8]
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 0x14024a937
add r12, 0x10
jmp 0x14024a8f0
cmp r15, rax
mov r12, qword [rsp + 0x28]
je 0x14024a798
mov r8d, r9d
not r8d
lea r11d, [r8 + rax]
neg r11d
mov esi, dword [0x1405184a0]
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 [0x140560390]
cmp r8d, 0x5f
jg 0x14024a9b0
mov esi, dword [0x14042e2dc]
mov r8d, dword [0x140560390]
cmp r8d, 0x23
jle 0x14024a9c6
mov r8d, dword [0x14042e2dc]
mov r8d, dword [0x140560390]
cmp r8d, 0x1e
jge 0x14024a990
jmp 0x14024a99d
mov r8d, dword [0x1405184a0]
cmp r10d, 1
sbb r8d, 0xffffffff
add r8d, 0x970dfd29
dec r8d
nop
mov r10d, dword [0x14056038c]
lea edi, [r10 - 1]
imul edi, r10d
test dil, 1
jne 0x14024a9e0
sub r8d, dword [0x1405184a0]
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 [0x140560390]
cmp r10d, 0x27
jg 0x14024aa50
mov r10d, dword [0x14056038c]
lea esi, [r10 - 1]
imul esi, r10d
test sil, 1
je 0x14024aa6e
nop dword [rax]
mov r10d, dword [0x14056038c]
mov esi, dword [0x1405184a0]
add esi, r10d
dec esi
imul esi, r10d
test sil, 1
jne 0x14024aa50
jmp 0x14024aa37
mov r8d, r8d
add qword [0x14055f720], r8
test r11d, r11d
je 0x14024aabb
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 [0x1405184a0]
add r8d, r10d
add r8d, 0xb83b595
cmp r8d, r11d
je 0x14024aabb
inc eax
inc rdx
add r14, 2
jmp 0x14024aa90
cmp ecx, 7
jb 0x14024a798
sub r9d, eax
add r9d, 0xfffffff9
xor eax, eax
nop dword [rax]
movzx ecx, byte [0x140560394]
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 0x14024a798
add rax, 8
jmp 0x14024aad0
lea r8, [fcn.14024a670]
add r8d, r8d
add r8d, 0x1020
mov ebx, r8d
not ebx
and ebx, r8d
mov r8d, 0xb83b594
add r8d, dword [0x1405184a0]
cmp ebx, r8d
je 0x14024ab87
nop dword [rax]
mov r8d, dword [0x14056038c]
lea edi, [r8 - 1]
imul edi, r8d
test dil, 1
jne 0x14024ab70
jmp 0x14024ab3e
add r10d, r10d
add r10d, ecx
mov dword [0x1405181b0], 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.14024a670]
lea r15d, [rax + rax]
add r15d, 0x23c0
nop
test r8b, r8b
jne 0x14024ac04
mov edx, dword [0x14056038c]
lea eax, [rdx - 1]
imul eax, edx
mov r12d, dword [0x1405184a0]
add r12d, ebx
xor edx, edx
div r12d
test edx, edx
je 0x14024ac10
mov eax, r15d
not eax
test eax, r15d
jne 0x14024abe0
jmp 0x14024abe5
mov eax, dword [0x140560390]
or r10d, ecx
nop dword [rax]
mov eax, dword [0x14056038c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14024ac20
xor ebx, ebx
xor r10d, 0xffffffff
jne 0x14024ac3d
test ebp, ebp
jg 0x14024ac8f
cmp qword [rsp + 0x30], 0x10
jb 0x14024ac48
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 0x14024a7ac
mov rdx, rsi
mov r14, r11
jmp 0x14024a945
xor r15d, r15d
mov r12d, 0xb83b596
mov r13d, 0xfffffffc
mov ecx, 0x2156d67c
xor r8d, r8d
xor ebx, ebx
jmp 0x14024acb8
sub r8d, r13d
cmp r8d, ebp
jge 0x14024ac3d
mov eax, dword [0x140560390]
nop
mov edx, dword [0x14056038c]
lea eax, [rdx - 1]
imul eax, edx
mov edi, dword [0x1405184a0]
add edi, r12d
xor edx, edx
div edi
test edx, edx
jne 0x14024acc0
movsxd rax, r8d
add rax, r14
mov edx, dword [0x140560390]
cmp edx, 0x58
jg 0x14024acf7
nop
mov edx, dword [rax]
test r15b, r15b
je 0x14024ad00
mov edx, dword [rax]
jmp 0x14024acf0
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 [0x14056038c]
nop word cs:[rax + rax]
mov eax, dword [0x140560390]
cmp eax, 0x52
jg 0x14024ad20
test r15b, r15b
jne 0x14024ad50
mov eax, dword [0x14056038c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14024acb0
nop word cs:[rax + rax]
mov edx, dword [0x14056038c]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1405184a0]
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 0x14024ad50
jmp 0x14024ad30