Function at 0x1400015f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov eax, r8d
mov r10d, r8d
shr eax, 3
lea eax, [rax + rax + 6]
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
mov rsi, rcx
push rbx
mov dword [rcx + 0x1e0], eax
mov qword [rbp + 0x10], rcx
mov ecx, dword [rdx]
and rsp, 0xfffffffffffffff0
bswap ecx
mov dword [rsi], ecx
mov r8d, dword [rdx + 4]
bswap r8d
mov dword [rsi + 4], r8d
mov r9d, dword [rdx + 8]
bswap r9d
mov dword [rsi + 8], r9d
mov eax, dword [rdx + 0xc]
bswap eax
mov dword [rsi + 0xc], eax
cmp r10d, 0x10
je 0x1400019f0
cmp r10d, 0x18
je 0x140001920
cmp r10d, 0x20
jne 0x140001a96
mov r11d, dword [rdx + 0x10]
mov rbx, qword [rbp + 0x10]
mov dword [rbp + 0x20], r10d
mov esi, eax
lea rdi, [0x14000d2e0]
lea r14, [0x14000b6e0]
bswap r11d
mov dword [rbx + 0x10], r11d
mov r11d, dword [rdx + 0x14]
lea r13, [0x14000b2e0]
lea r12, [0x14000bee0]
bswap r11d
mov dword [rbx + 0x14], r11d
mov r11d, dword [rdx + 0x18]
bswap r11d
mov dword [rbx + 0x18], r11d
mov edx, dword [rdx + 0x1c]
lea r11, [rbx + 0x20]
bswap edx
mov dword [rbx + 0x1c], edx
lea rbx, [0x14000bae0]
jmp 0x14000172c
mov edx, esi
ror edx, 8
mov r15d, edx
movzx r10d, dl
shr r15d, 0x18
mov r10d, dword [r14 + r10*4]
xor r10d, dword [r13 + r15*4]
mov r15d, edx
movzx edx, dh
xor r10d, dword [r11 - 0x30]
shr r15d, 0x10
mov edx, edx
movzx r15d, r15b
xor r10d, dword [r12 + r15*4]
mov r15d, dword [r11 - 0x2c]
xor r10d, dword [rbx + rdx*4]
xor r15d, r10d
mov edx, r10d
mov r10d, dword [r11 - 0x28]
movd xmm0, edx
movd xmm5, r15d
xor r10d, r15d
punpckldq xmm0, xmm5
xor eax, r10d
movd xmm1, r10d
movd xmm4, eax
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x10], xmm0
mov eax, dword [r11 - 4]
add rdi, 4
add r11, 0x20
mov r10d, eax
movzx edx, al
shr r10d, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r13 + r10*4]
mov r10d, eax
xor edx, dword [rdi - 4]
shr r10d, 0x10
movzx r10d, r10b
xor edx, dword [r12 + r10*4]
mov r15d, edx
movzx edx, ah
mov r10d, edx
mov edx, dword [rbx + r10*4]
xor edx, r15d
xor ecx, edx
lea rdx, [0x14000d2fc]
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm5, r8d
xor esi, r9d
movd xmm1, r9d
punpckldq xmm0, xmm5
movd xmm4, esi
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x20], xmm0
cmp rdi, rdx
jne 0x1400016c0
mov r10d, dword [rbp + 0x20]
mov rax, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x10]
lea rcx, [rax + 0xf0]
lea eax, [r10 + 0x1c]
cmp dword [rsi + 0x1e0], 1
lea rdx, [rsi + rax*4 - 0x10]
mov eax, dword [rdx]
mov dword [rsi + 0xf0], eax
mov eax, dword [rdx + 4]
mov dword [rsi + 0xf4], eax
mov eax, dword [rdx + 8]
mov dword [rsi + 0xf8], eax
mov eax, dword [rdx + 0xc]
mov dword [rsi + 0xfc], eax
mov rax, rsi
jbe 0x1400018ef
mov esi, 1
lea rbx, [0x14000c2e0]
lea r11, [0x14000cee0]
mov r10, rax
lea r9, [0x14000c6e0]
lea r8, [0x14000cae0]
nop
mov eax, dword [rdx - 0x10]
add rcx, 0x10
sub rdx, 0x10
add esi, 1
mov edi, eax
movzx r12d, al
shr edi, 0x18
mov edi, dword [rbx + rdi*4]
xor edi, dword [r11 + r12*4]
mov r12d, eax
movzx eax, ah
shr r12d, 0x10
mov eax, eax
movzx r12d, r12b
xor edi, dword [r9 + r12*4]
xor edi, dword [r8 + rax*4]
mov dword [rcx], edi
mov eax, dword [rdx + 4]
mov edi, eax
movzx r12d, al
shr edi, 0x18
mov edi, dword [rbx + rdi*4]
xor edi, dword [r11 + r12*4]
mov r12d, eax
movzx eax, ah
shr r12d, 0x10
mov eax, eax
movzx r12d, r12b
xor edi, dword [r9 + r12*4]
xor edi, dword [r8 + rax*4]
mov dword [rcx + 4], edi
mov eax, dword [rdx + 8]
mov edi, eax
movzx r12d, al
shr edi, 0x18
mov edi, dword [rbx + rdi*4]
xor edi, dword [r11 + r12*4]
mov r12d, eax
movzx eax, ah
shr r12d, 0x10
mov eax, eax
movzx r12d, r12b
xor edi, dword [r9 + r12*4]
xor edi, dword [r8 + rax*4]
mov dword [rcx + 8], edi
mov eax, dword [rdx + 0xc]
mov edi, eax
movzx r12d, al
shr edi, 0x18
mov edi, dword [rbx + rdi*4]
xor edi, dword [r11 + r12*4]
mov r12d, eax
movzx eax, ah
shr r12d, 0x10
mov eax, eax
movzx r12d, r12b
xor edi, dword [r9 + r12*4]
xor edi, dword [r8 + rax*4]
mov dword [rcx + 0xc], edi
cmp esi, dword [r10 + 0x1e0]
jb 0x140001820
mov eax, dword [rdx - 0x10]
mov dword [rcx + 0x10], eax
mov eax, dword [rdx - 0xc]
mov dword [rcx + 0x14], eax
mov eax, dword [rdx - 8]
mov dword [rcx + 0x18], eax
mov eax, dword [rdx - 4]
mov dword [rcx + 0x1c], eax
xor eax, eax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r11d, dword [rdx + 0x10]
mov rbx, qword [rbp + 0x10]
mov dword [rbp + 0x20], r10d
lea rsi, [0x14000d2e0]
lea r15, [rsi + 0x20]
lea r14, [0x14000b6e0]
mov r10d, eax
bswap r11d
mov dword [rbx + 0x10], r11d
mov edx, dword [rdx + 0x14]
lea r11, [rbx + 0x18]
lea r13, [0x14000b2e0]
lea r12, [0x14000bee0]
bswap edx
mov dword [rbx + 0x14], edx
lea rbx, [0x14000bae0]
jmp 0x140001981
mov edx, dword [r11 - 0x20]
xor edx, r10d
mov dword [r11 - 8], edx
xor edx, eax
mov dword [r11 - 4], edx
mov eax, dword [r11 - 4]
add rsi, 4
add r11, 0x18
mov edi, eax
movzx edx, al
shr edi, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r13 + rdi*4]
mov edi, eax
xor edx, dword [rsi - 4]
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4]
movzx edi, ah
mov edi, edi
xor edx, dword [rbx + rdi*4]
xor ecx, edx
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm3, r8d
xor r10d, r9d
movd xmm1, r9d
punpckldq xmm0, xmm3
movd xmm2, r10d
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x18], xmm0
cmp rsi, r15
jne 0x140001970
jmp 0x1400017ab
add rsi, 0x10
lea r11, [0x14000d2e0]
lea r14, [0x14000b6e0]
lea r13, [0x14000b2e0]
lea r12, [0x14000bee0]
lea rbx, [0x14000bae0]
nop word [rax + rax]
mov r15d, eax
movzx edx, al
movzx edi, ah
add r11, 4
shr r15d, 0x18
mov edx, dword [r14 + rdx*4]
add rsi, 0x10
xor edx, dword [r13 + r15*4]
mov r15d, eax
shr r15d, 0x10
movzx r15d, r15b
xor edx, dword [r12 + r15*4]
mov r15d, edi
xor edx, dword [rbx + r15*4]
xor edx, dword [r11 - 4]
xor ecx, edx
lea rdx, [0x14000d308]
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm3, r8d
xor eax, r9d
movd xmm1, r9d
punpckldq xmm0, xmm3
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [rsi - 0x10], xmm0
cmp rdx, r11
jne 0x140001a20
jmp 0x1400017af
mov eax, 0xffffffff
jmp 0x140001909