Function at 0x1400011a0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
test dword [rcx], 0x3fffffff
je 0x1400011d8
xor r9d, r9d
nop word [rax + rax]
movzx eax, byte [rdx + r9]
mov byte [r8 + r9], al
inc r9
mov eax, dword [rcx]
shl eax, 2
cmp r9, rax
jb 0x1400011c0
jmp 0x1400011da
xor eax, eax
mov edx, dword [rcx + 4]
shl edx, 4
add edx, 0x10
cmp eax, edx
jae 0x14000144d
mov r10d, 0xfffffffc
mov r9d, eax
jmp 0x1400012b9
mov eax, edi
and eax, 0xf
and edi, 0xfffffff0
lea r11, str.cw
add rdi, r11
mov edx, r12d
and edx, 0xf
and r12d, 0xfffffff0
add r12, r11
movzx ebp, byte [rdx + r12]
mov edx, r14d
and edx, 0xf
and r14d, 0xfffffff0
add r14, r11
movzx r13d, byte [rdx + r14]
mov edx, r15d
and edx, 0xf
and r15d, 0xfffffff0
add r15, r11
movzx r11d, byte [rdx + r15]
xor bl, byte [rax + rdi]
shl esi, 2
mov eax, r9d
mov edx, r9d
sub edx, esi
xor bl, byte [r8 + rdx]
mov byte [r8 + r9], bl
mov rdx, rax
or rdx, 1
mov esi, dword [rcx]
shl esi, 2
mov edi, edx
sub edi, esi
xor bpl, byte [r8 + rdi]
mov byte [r8 + rdx], bpl
mov rdx, rax
or rdx, 2
mov esi, dword [rcx]
shl esi, 2
mov edi, edx
sub edi, esi
xor r13b, byte [r8 + rdi]
mov byte [r8 + rdx], r13b
or rax, 3
mov edx, dword [rcx]
shl edx, 2
mov esi, eax
sub esi, edx
xor r11b, byte [r8 + rsi]
mov byte [r8 + rax], r11b
add r9, 4
mov eax, dword [rcx + 4]
shl eax, 4
add eax, 0x10
cmp r9, rax
jae 0x14000144d
lea eax, [r10 + r9]
and eax, 0xfffffffc
movzx ebx, byte [r8 + rax]
movzx r15d, bl
lea eax, [r10 + r9]
inc eax
and eax, 0xfffffffd
movzx ebp, byte [r8 + rax]
movzx edi, bpl
lea eax, [r10 + r9]
add eax, 2
and eax, 0xfffffffe
movzx r13d, byte [r8 + rax]
movzx r12d, r13b
lea eax, [r10 + r9]
add eax, 3
movzx r11d, byte [r8 + rax]
movzx r14d, r11b
mov rax, r9
shr rax, 2
mov esi, dword [rcx]
xor edx, edx
div esi
test edx, edx
je 0x140001380
cmp esi, 7
jb 0x14000124b
cmp edx, 4
jne 0x14000124b
mov eax, r15d
and eax, 0xf
and r15d, 0xfffffff0
lea rdx, str.cw
add r15, rdx
movzx ebx, byte [rax + r15]
mov eax, edi
and eax, 0xf
and edi, 0xfffffff0
add rdi, rdx
movzx ebp, byte [rax + rdi]
mov eax, r12d
and eax, 0xf
and r12d, 0xfffffff0
add r12, rdx
movzx r13d, byte [rax + r12]
mov eax, r14d
and eax, 0xf
and r14d, 0xfffffff0
add r14, rdx
movzx r11d, byte [rax + r14]
jmp 0x14000124b
lea r11d, [rsi*4]
mov eax, r9d
xor edx, edx
div r11d
mov edx, eax
mov bl, 1
dec edx
je 0x140001200
cmp edx, 8
jb 0x14000141b
mov r11d, edx
shr r11d, 3
nop dword [rax + rax]
mov ebp, ebx
sar bpl, 7
and bpl, 0x1b
add bl, bl
xor bpl, bl
sar bl, 7
and bl, 0x1b
add bpl, bpl
xor bl, bpl
sar bpl, 7
and bpl, 0x1b
add bl, bl
xor bpl, bl
sar bl, 7
and bl, 0x1b
add bpl, bpl
xor bl, bpl
sar bpl, 7
and bpl, 0x1b
add bl, bl
xor bpl, bl
sar bl, 7
and bl, 0x1b
add bpl, bpl
xor bl, bpl
sar bpl, 7
and bpl, 0x1b
add bl, bl
xor bpl, bl
sar bl, 7
and bl, 0x1b
add bpl, bpl
xor bl, bpl
dec r11d
jne 0x1400013b0
mov r11d, edx
and r11d, 0xfffffff8
cmp r11d, edx
je 0x140001200
add eax, 0xfffffffe
nop
mov edx, ebx
sar dl, 7
and dl, 0x1b
add bl, bl
xor bl, dl
lea edx, [r11 + 1]
cmp r11d, eax
mov r11d, edx
jne 0x140001430
jmp 0x140001200
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret