Function at 0x1401b8bc0
Capabilities:
Encode data using xor
Encrypt data using aes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x18
mov rax, rcx
test rcx, rcx
je 0x1401b8fa0
test r8, r8
je 0x1401b8fa0
mov ecx, edx
and ecx, 0xffffffbf
cmp ecx, 0x80
jne 0x1401b8c90
mov ecx, 0xc
cmp edx, 0x80
je 0x1401b8cb0
mov dword [r8 + 0xf0], ecx
mov ebp, dword [rax]
bswap ebp
mov dword [r8], ebp
mov edi, dword [rax + 4]
bswap edi
mov dword [r8 + 4], edi
mov r9d, dword [rax + 8]
bswap r9d
mov dword [r8 + 8], r9d
mov ecx, dword [rax + 0xc]
bswap ecx
mov dword [r8 + 0xc], ecx
mov r10d, dword [rax + 0x10]
bswap r10d
mov dword [r8 + 0x10], r10d
mov r10d, dword [rax + 0x14]
bswap r10d
mov dword [r8 + 0x14], r10d
cmp edx, 0xc0
je 0x1401b8ed0
mov r10d, dword [rax + 0x18]
bswap r10d
mov dword [r8 + 0x18], r10d
mov eax, dword [rax + 0x1c]
bswap eax
mov dword [r8 + 0x1c], eax
cmp edx, 0x100
je 0x1401b8d90
xor eax, eax
add rsp, 0x18
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp edx, 0x100
jne 0x1401b8faa
mov ecx, 0xe
jmp 0x1401b8c07
mov dword [r8 + 0xf0], 0xa
mov ecx, dword [rax]
lea rbp, [0x140425cc0]
add r8, 0x10
lea r12, [rbp + 0x28]
lea rsi, [0x140426100]
bswap ecx
mov dword [r8 - 0x10], ecx
mov r9d, dword [rax + 4]
lea r11, str.cc
lea r10, [0x140426500]
bswap r9d
mov dword [r8 - 0xc], r9d
mov edi, dword [rax + 8]
bswap edi
mov dword [r8 - 8], edi
mov edx, dword [rax + 0xc]
lea rax, [0x140425d00]
mov qword [rsp + 8], rax
bswap edx
mov dword [r8 - 4], edx
mov rbx, qword [rsp + 8]
movzx eax, dl
mov r13d, edx
add rbp, 4
mov eax, dword [rsi + rax*4]
shr r13d, 0x18
add r8, 0x10
movzx r13d, byte [rbx + r13*4]
movzx ebx, dh
and eax, 0xff00
or eax, r13d
mov r13d, edx
shr r13d, 0x10
movzx r13d, r13b
mov r13d, dword [r11 + r13*4]
and r13d, 0xff000000
xor eax, r13d
mov r13d, ebx
mov r13d, dword [r10 + r13*4]
and r13d, 0xff0000
xor eax, r13d
xor eax, dword [rbp - 4]
xor ecx, eax
xor r9d, ecx
mov dword [r8 - 0x10], ecx
xor edi, r9d
mov dword [r8 - 0xc], r9d
xor edx, edi
mov dword [r8 - 8], edi
mov dword [r8 - 4], edx
cmp rbp, r12
jne 0x1401b8d10
jmp 0x1401b8c74
lea r13, [0x140425cc0]
lea rax, [0x140425d00]
add r8, 0x20
mov qword [rsp + 8], rax
lea r14, [r13 + 0x1c]
lea rsi, [0x140426100]
lea r11, str.cc
lea r10, [0x140426500]
jmp 0x1401b8e4b
mov eax, ecx
movzx ebx, ch
movzx r15d, cl
shr eax, 0x10
mov r12d, ebx
mov rbx, qword [rsp + 8]
movzx eax, al
mov r12d, dword [rsi + r12*4]
mov eax, dword [r10 + rax*4]
movzx r15d, byte [rbx + r15*4]
and r12d, 0xff00
and eax, 0xff0000
or eax, r12d
mov r12d, ecx
xor eax, dword [r8 - 0x30]
shr r12d, 0x18
mov r12d, dword [r11 + r12*4]
and r12d, 0xff000000
or r12d, r15d
mov r15d, dword [r8 - 0x2c]
xor eax, r12d
mov r12d, dword [r8 - 0x28]
xor r15d, eax
movd xmm0, eax
xor r12d, r15d
movd xmm3, r15d
xor edx, r12d
movd xmm1, r12d
punpckldq xmm0, xmm3
movd xmm2, edx
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [r8 - 0x10], xmm0
mov edx, dword [r8 - 4]
mov rbx, qword [rsp + 8]
add r13, 4
add r8, 0x20
movzx eax, dl
mov r12d, edx
mov eax, dword [rsi + rax*4]
shr r12d, 0x18
movzx r12d, byte [rbx + r12*4]
movzx ebx, dh
and eax, 0xff00
or eax, r12d
mov r12d, edx
xor eax, dword [r13 - 4]
shr r12d, 0x10
movzx r12d, r12b
mov r12d, dword [r11 + r12*4]
and r12d, 0xff000000
xor eax, r12d
mov r12d, ebx
mov r12d, dword [r10 + r12*4]
and r12d, 0xff0000
xor eax, r12d
xor ebp, eax
xor edi, ebp
mov dword [r8 - 0x20], ebp
xor r9d, edi
mov dword [r8 - 0x1c], edi
xor ecx, r9d
mov dword [r8 - 0x18], r9d
mov dword [r8 - 0x14], ecx
cmp r13, r14
jne 0x1401b8dc8
jmp 0x1401b8c74
mov edx, ebp
lea rax, [0x140425d00]
lea rbp, [0x140425cc0]
add r8, 0x18
mov qword [rsp + 8], rax
lea r12, [rbp + 0x20]
lea rsi, [0x140426100]
lea r11, str.cc
lea r10, [0x140426500]
jmp 0x1401b8f19
mov eax, dword [r8 - 0x20]
xor eax, ecx
mov dword [r8 - 8], eax
xor eax, r13d
mov dword [r8 - 4], eax
mov r13d, dword [r8 - 4]
mov rbx, qword [rsp + 8]
add rbp, 4
add r8, 0x18
movzx eax, r13b
mov r14d, r13d
mov eax, dword [rsi + rax*4]
shr r14d, 0x18
movzx r14d, byte [rbx + r14*4]
mov ebx, r13d
and eax, 0xff00
movzx ebx, bh
or eax, r14d
mov r14d, r13d
xor eax, dword [rbp - 4]
shr r14d, 0x10
movzx r14d, r14b
mov r14d, dword [r11 + r14*4]
and r14d, 0xff000000
xor eax, r14d
mov r14d, ebx
mov r14d, dword [r10 + r14*4]
and r14d, 0xff0000
xor eax, r14d
xor edx, eax
xor edi, edx
mov dword [r8 - 0x18], edx
xor r9d, edi
mov dword [r8 - 0x14], edi
xor ecx, r9d
mov dword [r8 - 0x10], r9d
mov dword [r8 - 0xc], ecx
cmp rbp, r12
jne 0x1401b8f08
jmp 0x1401b8c74
mov eax, 0xffffffff
jmp 0x1401b8c76
mov eax, 0xfffffffe
jmp 0x1401b8c76