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

Disassembly:
sub rsp, 0x58
mov rax, qword [0x14003ef40]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x34], 0
cmp dword [rsp + 0x34], 8
jae 0x1400011c0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 0
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 0
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 1
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 1
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 2
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 2
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 3
mov ecx, ecx
mov dl, byte [rax + rcx]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
shl ecx, 2
add ecx, 3
mov ecx, ecx
mov byte [rax + rcx], dl
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x140001105
mov dword [rsp + 0x34], 8
cmp dword [rsp + 0x34], 0x3c
jae 0x14000141f
mov eax, dword [rsp + 0x34]
sub eax, 1
shl eax, 2
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 0
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 1
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x4d], al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 2
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x4e], al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 3
mov ecx, ecx
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
mov eax, dword [rsp + 0x34]
and eax, 7
cmp eax, 0
jne 0x1400012e2
mov al, byte [rsp + 0x4c]
mov byte [rsp + 0x2b], al
mov al, byte [rsp + 0x4d]
mov byte [rsp + 0x4c], al
mov al, byte [rsp + 0x4e]
mov byte [rsp + 0x4d], al
mov al, byte [rsp + 0x4f]
mov byte [rsp + 0x4e], al
mov al, byte [rsp + 0x2b]
mov byte [rsp + 0x4f], al
movzx eax, byte [rsp + 0x4c]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x4d]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4d], al
movzx eax, byte [rsp + 0x4e]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4e], al
movzx eax, byte [rsp + 0x4f]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
movzx eax, byte [rsp + 0x4c]
mov ecx, dword [rsp + 0x34]
shr ecx, 3
mov ecx, ecx
mov edx, ecx
lea rcx, [0x14002d100]
movzx ecx, byte [rcx + rdx]
xor eax, ecx
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x34]
and eax, 7
cmp eax, 4
jne 0x140001346
movzx eax, byte [rsp + 0x4c]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x4d]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4d], al
movzx eax, byte [rsp + 0x4e]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4e], al
movzx eax, byte [rsp + 0x4f]
mov ecx, eax
lea rax, str.cw
mov al, byte [rax + rcx]
mov byte [rsp + 0x4f], al
mov eax, dword [rsp + 0x34]
shl eax, 2
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
sub eax, 8
shl eax, 2
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 0
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x4c]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
add ecx, 0
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 1
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x4d]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
add ecx, 1
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 2
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x4e]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
add ecx, 2
mov ecx, ecx
mov byte [rax + rcx], dl
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
add ecx, 3
mov ecx, ecx
movzx eax, byte [rax + rcx]
movzx ecx, byte [rsp + 0x4f]
xor eax, ecx
mov dl, al
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
add ecx, 3
mov ecx, ecx
mov byte [rax + rcx], dl
mov eax, dword [rsp + 0x34]
add eax, 1
mov dword [rsp + 0x34], eax
jmp 0x1400011c8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.14002cd90
nop
add rsp, 0x58
ret