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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
mov r10, r8
mov r9, rcx
test rcx, rcx
je 0x140013061
test r8, r8
je 0x140013061
lea eax, [rdx - 0x80]
test eax, 0xffffff3f
jne 0x14001305a
cmp edx, 0x140
je 0x14001305a
mov esi, 0x80
lea r8d, [rsi + 0x40]
cmp edx, esi
jne 0x140012b61
mov dword [r10 + 0xf0], 0xa
jmp 0x140012b76
mov eax, select
cmp edx, r8d
lea ecx, [rax - 2]
cmove eax, ecx
mov dword [r10 + 0xf0], eax
movzx eax, byte [r9 + 1]
lea r11, [r10 + 4]
movzx ebx, byte [r9]
shl ebx, 8
xor ebx, eax
movzx eax, byte [r9 + 2]
shl ebx, 8
xor ebx, eax
movzx eax, byte [r9 + 3]
shl ebx, 8
xor ebx, eax
mov dword [r10], ebx
movzx eax, byte [r9 + 5]
movzx ecx, byte [r9 + 4]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 6]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 7]
shl ecx, 8
xor ecx, eax
mov dword [r11], ecx
movzx eax, byte [r9 + 9]
movzx ecx, byte [r9 + 8]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0xa]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0xb]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 8], ecx
movzx eax, byte [r9 + 0xd]
movzx edi, byte [r9 + 0xc]
shl edi, 8
xor edi, eax
movzx eax, byte [r9 + 0xe]
shl edi, 8
xor edi, eax
movzx eax, byte [r9 + 0xf]
shl edi, 8
xor edi, eax
mov dword [r10 + 0xc], edi
cmp edx, esi
jne 0x140012d18
lea r9, str.ccccwwww
mov eax, edi
shr rax, 0x10
mov esi, 0xff000000
movzx ecx, al
mov ebp, 0xff0000
mov eax, edi
mov r14d, 0xff00
shr rax, 8
mov r8d, dword [r9 + rcx*4]
btc r8d, 0x18
movzx ecx, al
and r8d, esi
mov eax, dword [r9 + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edi
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dil
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, ebx
lea rbx, [0x14007cfa4]
mov dword [r10 + 0x10], r8d
xor r8d, dword [r11]
mov dword [r10 + 0x14], r8d
xor r8d, dword [r10 + 8]
mov dword [r10 + 0x18], r8d
xor r8d, edi
mov dword [r10 + 0x1c], r8d
lea r11, [r11 + 0x10]
mov edx, dword [r11 + 8]
mov eax, edx
shr rax, 8
movzx ecx, al
mov eax, edx
shr rax, 0x10
mov r8d, dword [r9 + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [r9 + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r11 - 4]
xor r8d, dword [rbx]
add rbx, 4
mov dword [r11 + 0xc], r8d
xor r8d, dword [r11]
mov dword [r11 + 0x10], r8d
mov eax, dword [r11 + 4]
xor eax, r8d
mov dword [r11 + 0x14], eax
xor eax, dword [r11 + 8]
mov dword [r11 + 0x18], eax
lea rax, [0x14007cfc8]
cmp rbx, rax
jne 0x140012c99
jmp 0x140013056
movzx eax, byte [r9 + 0x11]
movzx ecx, byte [r9 + 0x10]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x12]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x13]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 0x10], ecx
movzx eax, byte [r9 + 0x15]
movzx ecx, byte [r9 + 0x14]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x16]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x17]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 0x14], ecx
cmp edx, r8d
jne 0x140012e8f
mov edx, ecx
lea r9, str.ccccwwww
mov eax, ecx
mov esi, 0xff000000
shr rax, 0x10
mov ebp, 0xff0000
movzx ecx, al
mov r14d, 0xff00
mov eax, edx
shr rax, 8
mov r8d, dword [r9 + rcx*4]
btc r8d, 0x18
movzx ecx, al
and r8d, esi
mov eax, dword [r9 + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, ebx
lea rbx, [0x14007cfa4]
mov dword [r10 + 0x18], r8d
xor r8d, dword [r11]
mov dword [r10 + 0x1c], r8d
xor r8d, dword [r10 + 8]
mov dword [r10 + 0x20], r8d
xor r8d, edi
mov dword [r10 + 0x24], r8d
add r10, 0x28
mov ecx, dword [r10 - 0x18]
xor ecx, dword [r10 - 4]
mov eax, dword [r10 - 0x14]
xor eax, ecx
mov dword [r10], ecx
mov dword [r10 + 4], eax
lea r10, [r10 + 0x18]
mov edx, dword [r10 - 0x14]
mov eax, edx
shr rax, 8
movzx ecx, al
mov eax, edx
shr rax, 0x10
mov r8d, dword [r9 + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [r9 + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r10 - 0x28]
xor r8d, dword [rbx]
add rbx, 4
mov dword [r10 - 0x10], r8d
mov eax, dword [r10 - 0x24]
xor eax, r8d
mov dword [r10 - 0xc], eax
mov ecx, dword [r10 - 0x20]
xor ecx, eax
mov dword [r10 - 8], ecx
mov eax, dword [r10 - 0x1c]
xor eax, ecx
mov dword [r10 - 4], eax
lea rax, [0x14007cfc0]
cmp rbx, rax
jne 0x140012df2
jmp 0x140013056
movzx eax, byte [r9 + 0x19]
movzx ecx, byte [r9 + 0x18]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x1a]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x1b]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 0x18], ecx
movzx eax, byte [r9 + 0x1d]
movzx ecx, byte [r9 + 0x1c]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x1e]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0x1f]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 0x1c], ecx
cmp edx, 0x100
jne 0x140013056
mov edx, ecx
lea r9, str.ccccwwww
mov eax, ecx
mov esi, 0xff000000
shr rax, 0x10
mov ebp, 0xff0000
movzx ecx, al
mov r14d, 0xff00
mov eax, edx
shr rax, 8
mov r8d, dword [r9 + rcx*4]
btc r8d, 0x18
movzx ecx, al
and r8d, esi
mov eax, dword [r9 + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, ebx
lea rbx, [0x14007cfa4]
mov dword [r10 + 0x20], r8d
xor r8d, dword [r11]
mov dword [r10 + 0x24], r8d
xor r8d, dword [r10 + 8]
mov dword [r10 + 0x28], r8d
xor r8d, edi
mov dword [r10 + 0x2c], r8d
add r10, 0x30
mov edx, dword [r10 - 4]
mov eax, edx
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov r8d, dword [r9 + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [r9 + rcx*4]
and eax, r14d
xor r8d, eax
mov eax, edx
shr rax, 0x18
mov ecx, dword [r9 + rax*4]
and ecx, esi
movzx eax, dl
xor r8d, ecx
movzx ecx, byte [r9 + rax*4]
mov eax, dword [r10 - 0x1c]
xor r8d, ecx
xor r8d, dword [r10 - 0x20]
mov ecx, dword [r10 - 0x18]
xor eax, r8d
mov dword [r10 + 4], eax
xor ecx, eax
mov eax, dword [r10 - 0x14]
xor eax, ecx
mov dword [r10], r8d
mov dword [r10 + 0xc], eax
mov dword [r10 + 8], ecx
lea r10, [r10 + 0x20]
mov edx, dword [r10 - 0x14]
mov eax, edx
shr rax, 8
movzx ecx, al
mov eax, edx
shr rax, 0x10
mov r8d, dword [r9 + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [r9 + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [r9 + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [r9 + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r10 - 0x30]
xor r8d, dword [rbx]
add rbx, 4
mov dword [r10 - 0x10], r8d
mov eax, dword [r10 - 0x2c]
xor eax, r8d
mov dword [r10 - 0xc], eax
mov ecx, dword [r10 - 0x28]
xor ecx, eax
mov dword [r10 - 8], ecx
mov eax, dword [r10 - 0x24]
xor eax, ecx
mov dword [r10 - 4], eax
lea rax, [0x14007cfbc]
cmp rbx, rax
jne 0x140012f6c
xor eax, eax
jmp 0x140013064
mov eax, 0xfffffffe
jmp 0x140013064
or eax, 0xffffffff
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret