Function at 0x14000154b
Capabilities:
Encrypt data using aes

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x18]
add rax, 1
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 2
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 3
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax], edx
mov rax, qword [rbp + 0x18]
add rax, 4
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x18]
add rax, 5
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 6
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 7
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 4], edx
mov rax, qword [rbp + 0x18]
add rax, 8
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x18]
add rax, 9
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 0xa
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 0xb
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 8], edx
mov rax, qword [rbp + 0x18]
add rax, 0xc
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x18]
add rax, 0xd
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 0xe
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x18]
add rax, 0xf
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xc], edx
mov rax, qword [rbp + 0x20]
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x20]
add rax, 1
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 2
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 3
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xb0], edx
mov rax, qword [rbp + 0x20]
add rax, 4
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x20]
add rax, 5
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 6
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 7
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xb4], edx
mov rax, qword [rbp + 0x20]
add rax, 8
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x20]
add rax, 9
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 0xa
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 0xb
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xb8], edx
mov rax, qword [rbp + 0x20]
add rax, 0xc
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov edx, eax
mov rax, qword [rbp + 0x20]
add rax, 0xd
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 0xe
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
xor edx, eax
mov rax, qword [rbp + 0x20]
add rax, 0xf
movzx eax, byte [rax]
movzx eax, al
xor edx, eax
mov rax, qword [rbp + 0x10]
mov dword [rax + 0xbc], edx
mov byte [rbp - 1], 4
jmp 0x140001993
movzx eax, byte [rbp - 1]
lea edx, [rax - 4]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
shr eax, 0x10
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, str.ccccwwww
mov eax, dword [rdx + rax]
and eax, 0xff000000
xor ecx, eax
movzx eax, byte [rbp - 1]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
shr eax, 8
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, str.ccccwwww
mov eax, dword [rdx + rax]
and eax, 0xff0000
xor ecx, eax
movzx eax, byte [rbp - 1]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, str.ccccwwww
mov eax, dword [rdx + rax]
and eax, 0xff00
xor ecx, eax
movzx eax, byte [rbp - 1]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
shr eax, 0x18
mov eax, eax
lea rdx, [rax*4]
lea rax, str.ccccwwww
mov eax, dword [rdx + rax]
movzx eax, al
xor ecx, eax
movzx eax, byte [rbp - 1]
shr al, 2
movzx eax, al
sub eax, 1
cdqe
lea rdx, [rax*4]
lea rax, [0x140111840]
mov eax, dword [rdx + rax]
movzx edx, byte [rbp - 1]
xor ecx, eax
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
movzx eax, byte [rbp - 1]
lea edx, [rax - 3]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov r8d, dword [rax + rdx*4]
movzx edx, byte [rbp - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax + 1]
xor ecx, r8d
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
movzx eax, byte [rbp - 1]
lea edx, [rax - 2]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov r8d, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax + 2]
xor ecx, r8d
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
movzx eax, byte [rbp - 1]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov r8d, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax + 2]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rax + rdx*4]
movzx eax, byte [rbp - 1]
lea edx, [rax + 3]
xor ecx, r8d
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
add byte [rbp - 1], 4
cmp byte [rbp - 1], 0x2b
jbe 0x1400017eb
nop
nop
add rsp, 0x10
pop rbp
ret