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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r10, r8
mov r9, rcx
test rcx, rcx
je 0x140001792
test r8, r8
je 0x140001792
lea eax, [rdx - 0x80]
test eax, 0xffffff3f
jne 0x14000178b
cmp edx, 0x140
je 0x14000178b
mov ebx, 0x80
lea r8d, [rbx + 0x40]
cmp edx, ebx
jne 0x140001294
mov dword [r10 + 0xf0], 0xa
jmp 0x1400012a9
mov eax, 0xe
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 edi, byte [r9]
shl edi, 8
xor edi, eax
movzx eax, byte [r9 + 2]
shl edi, 8
xor edi, eax
movzx eax, byte [r9 + 3]
shl edi, 8
xor edi, eax
mov dword [r10], edi
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 ecx, byte [r9 + 0xc]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0xe]
shl ecx, 8
xor ecx, eax
movzx eax, byte [r9 + 0xf]
shl ecx, 8
xor ecx, eax
mov dword [r10 + 0xc], ecx
cmp edx, ebx
jne 0x140001450
mov edx, ecx
lea rbx, 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 [rbx + rcx*4]
movzx ecx, al
btc r8d, 0x18
and r8d, esi
mov eax, dword [rbx + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
mov eax, dword [r11]
and ecx, r14d
xor r8d, ecx
mov ecx, dword [r10 + 8]
xor r8d, edi
lea rdi, [0x1400c9d64]
xor eax, r8d
mov dword [r10 + 0x10], r8d
xor ecx, eax
mov dword [r10 + 0x14], eax
mov eax, dword [r10 + 0xc]
xor eax, ecx
mov dword [r10 + 0x18], ecx
mov dword [r10 + 0x1c], eax
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 [rbx + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [rbx + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r11 - 4]
xor r8d, dword [rdi]
add rdi, 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, [0x1400c9d88]
cmp rdi, rax
jne 0x1400013d2
xor eax, eax
jmp 0x140001795
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 0x1400015c2
mov edx, ecx
lea rbx, 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 [rbx + rcx*4]
btc r8d, 0x18
movzx ecx, al
and r8d, esi
mov eax, dword [rbx + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, edi
lea rdi, [0x1400c9d64]
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, dword [r10 + 0xc]
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 [rbx + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [rbx + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r10 - 0x28]
xor r8d, dword [rdi]
add rdi, 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, [0x1400c9d80]
cmp rdi, rax
jne 0x140001528
jmp 0x140001449
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 0x140001449
mov edx, ecx
lea rbx, str.ccccwwww
mov eax, ecx
lea r15, [r10 + 0x30]
shr rax, 0x10
mov esi, 0xff000000
movzx ecx, al
mov ebp, 0xff0000
mov eax, edx
mov r14d, 0xff00
shr rax, 8
mov r8d, dword [rbx + rcx*4]
btc r8d, 0x18
movzx ecx, al
and r8d, esi
mov eax, dword [rbx + rcx*4]
and eax, ebp
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, edi
lea rdi, [0x1400c9d64]
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, dword [r10 + 0xc]
mov dword [r10 + 0x2c], r8d
mov edx, dword [r15 - 4]
mov eax, edx
shr rax, 0x10
movzx ecx, al
mov eax, edx
shr rax, 8
mov r8d, dword [rbx + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [rbx + rcx*4]
and eax, r14d
xor r8d, eax
mov eax, edx
shr rax, 0x18
mov ecx, dword [rbx + rax*4]
and ecx, esi
movzx eax, dl
xor r8d, ecx
movzx ecx, byte [rbx + rax*4]
mov eax, dword [r15 - 0x1c]
xor r8d, ecx
xor r8d, dword [r15 - 0x20]
mov ecx, dword [r15 - 0x18]
xor eax, r8d
xor ecx, eax
mov dword [r15 + 4], eax
mov eax, dword [r15 - 0x14]
xor eax, ecx
mov dword [r15], r8d
mov dword [r15 + 0xc], eax
mov dword [r15 + 8], ecx
call fcn.140063c84
lea r15, [r15 + 0x20]
mov edx, dword [r15 - 0x14]
mov eax, edx
shr rax, 8
movzx ecx, al
mov eax, edx
shr rax, 0x10
mov r8d, dword [rbx + rcx*4]
movzx ecx, al
and r8d, ebp
mov eax, dword [rbx + rcx*4]
and eax, esi
xor r8d, eax
mov eax, edx
shr rax, 0x18
movzx eax, byte [rbx + rax*4]
xor r8d, eax
movzx eax, dl
mov ecx, dword [rbx + rax*4]
and ecx, r14d
xor r8d, ecx
xor r8d, dword [r15 - 0x30]
xor r8d, dword [rdi]
add rdi, 4
mov dword [r15 - 0x10], r8d
mov eax, dword [r15 - 0x2c]
xor eax, r8d
mov dword [r15 - 0xc], eax
mov ecx, dword [r15 - 0x28]
xor ecx, eax
mov dword [r15 - 8], ecx
mov eax, dword [r15 - 0x24]
xor eax, ecx
mov dword [r15 - 4], eax
lea rax, [0x1400c9d7c]
cmp rdi, rax
jne 0x14000169d
jmp 0x140001449
mov eax, 0xfffffffe
jmp 0x140001795
or eax, 0xffffffff
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret