Function at 0x140024160
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov r12, rdx
mov r13, rcx
mov rax, qword [0x1403486d0]
xor rax, rbp
mov qword [rbp], rax
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov rbx, qword [rax + 0x10]
lea rax, [rbx + rbx*2]
lea r14, [rcx + rax]
add r14, 0xffffffffffffffff
mov rax, r14
xor edx, edx
div rbx
sub r14, rdx
lea rax, [r14 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400e6f00
sub rsp, rax
mov rbx, rsp
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call fcn.140016010
add rsp, 0x20
mov rax, qword [r13]
mov rcx, qword [r13 + 0x20]
mov rdx, qword [rax + 0x10]
add rdx, qword [r13 + 8]
sub rsp, 0x20
lea r8, [0x1402ede90]
mov r9, rbx
call qword [rax + 0x28]
add rsp, 0x20
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
add rcx, qword [r13 + 8]
shr rcx, 1
lea r8, [rbx + rcx]
sub rsp, 0x20
mov rdx, rbx
call fcn.140015c20
add rsp, 0x20
test eax, eax
je 0x140024434
mov r10, qword [r13]
mov r15, qword [r13 + 8]
mov r8, qword [r10 + 0x10]
mov rdx, r8
add rdx, r15
je 0x1400243b4
cmp rdx, 0x10
jb 0x1400243a0
mov r9, rdx
and r9, 0xfffffffffffffff0
lea rax, [r9 - 0x10]
mov rcx, rax
shr rcx, 4
add rcx, 1
mov r11d, ecx
and r11d, 1
test rax, rax
je 0x140024473
add r8, r15
lea rax, [r12 + r8]
add rax, 0xfffffffffffffff8
lea rsi, [rbx + r8]
add rsi, 0xfffffffffffffff8
mov rdi, r11
sub rdi, rcx
mov rcx, 0xfffffffffffffff8
movdqa xmm0, xmmword [0x1402ed530]
nop dword [rax]
movq xmm1, qword [rsi + rcx + 8]
punpcklbw xmm1, xmm0
movq xmm2, qword [rsi + rcx]
punpcklbw xmm2, xmm0
movq xmm3, qword [rax + rcx + 8]
punpcklbw xmm3, xmm0
pxor xmm3, xmm1
movq xmm1, qword [rax + rcx]
punpcklbw xmm1, xmm0
pxor xmm1, xmm2
pand xmm3, xmm0
packuswb xmm3, xmm3
movq qword [rsi + rcx + 8], xmm3
pand xmm1, xmm0
packuswb xmm1, xmm1
movq qword [rsi + rcx], xmm1
movq xmm1, qword [rsi + rcx - 8]
punpcklbw xmm1, xmm0
movq xmm2, qword [rsi + rcx - 0x10]
punpcklbw xmm2, xmm0
movq xmm3, qword [rax + rcx - 8]
punpcklbw xmm3, xmm0
pxor xmm3, xmm1
movq xmm1, qword [rax + rcx - 0x10]
punpcklbw xmm1, xmm0
pxor xmm1, xmm2
pand xmm3, xmm0
packuswb xmm3, xmm3
movq qword [rsi + rcx - 8], xmm3
pand xmm1, xmm0
packuswb xmm1, xmm1
movq qword [rsi + rcx - 0x10], xmm1
add rcx, 0xffffffffffffffe0
add rdi, 2
jne 0x140024290
add rcx, 7
test r11, r11
je 0x140024395
add rcx, rdx
movq xmm0, qword [rbx + rcx - 7]
punpcklbw xmm0, xmm0
movq xmm1, qword [rbx + rcx - 0xf]
punpcklbw xmm1, xmm0
movq xmm2, qword [r12 + rcx - 7]
punpcklbw xmm2, xmm0
pxor xmm2, xmm0
movq xmm0, qword [r12 + rcx - 0xf]
punpcklbw xmm0, xmm0
pxor xmm0, xmm1
movdqa xmm1, xmmword [0x1402ed530]
pand xmm2, xmm1
packuswb xmm2, xmm2
movq qword [rbx + rcx - 7], xmm2
pand xmm0, xmm1
packuswb xmm0, xmm0
movq qword [rbx + rcx - 0xf], xmm0
cmp rdx, r9
je 0x1400243b0
sub rdx, r9
nop dword [rax]
movzx eax, byte [r12 + rdx - 1]
xor byte [rbx + rdx - 1], al
add rdx, 0xffffffffffffffff
jne 0x1400243a0
mov r8, qword [r10 + 0x10]
mov rcx, qword [r13 + 0x18]
mov rdx, rbx
add rdx, r15
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rcx, qword [r13]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rcx + 0x10]
add byte [rax + rcx - 1], 1
jne 0x14002440d
add byte [rax + rcx - 2], 1
jne 0x14002440d
add byte [rax + rcx - 3], 1
jne 0x14002440d
add byte [rax + rcx - 4], 1
jne 0x14002440d
add byte [rax + rcx - 5], 1
jne 0x14002440d
add byte [rax + rcx - 6], 1
jne 0x14002440d
add byte [rax + rcx - 7], 1
jne 0x14002440d
add byte [rax + rcx - 8], 1
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13]
mov r8, qword [r13 + 8]
mov rdx, qword [r13 + 0x20]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov r9, rbx
call qword [rcx + 0x18]
add rsp, 0x30
xor esi, esi
jmp 0x140024439
mov esi, 0xffffffc3
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call fcn.140016010
add rsp, 0x20
mov rcx, qword [rbp]
xor rcx, rbp
sub rsp, 0x20
call fcn.1400e6b50
add rsp, 0x20
mov eax, esi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, 0xffffffffffffffff
test r11, r11
jne 0x14002433c
jmp 0x140024395