Function at 0x1400019a5
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call sym.AES_EncryptInit_AES_CTX__unsigned_char_const__unsigned_char_const_
mov byte [rbp - 1], 0
mov byte [rbp - 2], 0x28
jmp 0x140001a50
mov byte [rbp - 3], 0
jmp 0x140001a42
movzx edx, byte [rbp - 1]
movzx eax, byte [rbp - 3]
add edx, eax
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov eax, dword [rax + rdx*4]
mov dword [rbp - 8], eax
movzx edx, byte [rbp - 2]
movzx eax, byte [rbp - 3]
add edx, eax
movzx ecx, byte [rbp - 1]
movzx eax, byte [rbp - 3]
lea r8d, [rcx + rax]
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rax + rdx*4]
mov rax, qword [rbp + 0x10]
movsxd rdx, r8d
mov dword [rax + rdx*4], ecx
movzx edx, byte [rbp - 2]
movzx eax, byte [rbp - 3]
add edx, eax
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov ecx, dword [rbp - 8]
mov dword [rax + rdx*4], ecx
movzx eax, byte [rbp - 3]
add eax, 1
mov byte [rbp - 3], al
cmp byte [rbp - 3], 3
jbe 0x1400019e0
add byte [rbp - 1], 4
sub byte [rbp - 2], 4
movzx eax, byte [rbp - 1]
cmp al, byte [rbp - 2]
jb 0x1400019da
mov byte [rbp - 4], 4
jmp 0x140001ec7
movzx edx, byte [rbp - 4]
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
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110440]
mov ecx, dword [rdx + rax]
movzx edx, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110840]
mov eax, dword [rdx + rax]
xor ecx, eax
movzx edx, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110c40]
mov eax, dword [rdx + rax]
xor ecx, eax
movzx edx, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140111040]
mov eax, dword [rdx + rax]
movzx edx, byte [rbp - 4]
xor ecx, eax
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
movzx eax, byte [rbp - 4]
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
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110440]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110840]
mov eax, dword [rdx + rax]
xor ecx, eax
movzx eax, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110c40]
mov eax, dword [rdx + rax]
xor ecx, eax
mov r8d, ecx
movzx eax, byte [rbp - 4]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140111040]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
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 - 4]
lea edx, [rax + 2]
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
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110440]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
lea edx, [rax + 2]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110840]
mov eax, dword [rdx + rax]
xor ecx, eax
movzx eax, byte [rbp - 4]
lea edx, [rax + 2]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110c40]
mov eax, dword [rdx + rax]
xor ecx, eax
mov r8d, ecx
movzx eax, byte [rbp - 4]
lea edx, [rax + 2]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140111040]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
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 - 4]
lea edx, [rax + 3]
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
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110440]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
lea edx, [rax + 3]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110840]
mov eax, dword [rdx + rax]
xor ecx, eax
movzx eax, byte [rbp - 4]
lea edx, [rax + 3]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140110c40]
mov eax, dword [rdx + rax]
xor ecx, eax
mov r8d, ecx
movzx eax, byte [rbp - 4]
lea edx, [rax + 3]
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]
movzx eax, al
mov eax, eax
lea rdx, [rax*4]
lea rax, [0x140111040]
mov ecx, dword [rdx + rax]
movzx eax, byte [rbp - 4]
lea edx, [rax + 3]
xor ecx, r8d
mov rax, qword [rbp + 0x10]
movsxd rdx, edx
mov dword [rax + rdx*4], ecx
add byte [rbp - 4], 4
cmp byte [rbp - 4], 0x27
jbe 0x140001a62
nop
nop
add rsp, 0x30
pop rbp
ret