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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x188
lea rbp, [rsp + 0x20]
mov rdi, rsp
mov ecx, 0x62
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1a8]
lea rcx, [0x140026005]
call fcn.1400113a7
mov dword [rbp + 4], 0
jmp 0x14001387c
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 8
jae 0x14001393b
mov eax, dword [rbp + 4]
shl eax, 2
mov eax, eax
mov ecx, dword [rbp + 4]
shl ecx, 2
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x188]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 4]
lea eax, [rax*4 + 1]
mov eax, eax
mov ecx, dword [rbp + 4]
lea ecx, [rcx*4 + 1]
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x188]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 4]
lea eax, [rax*4 + 2]
mov eax, eax
mov ecx, dword [rbp + 4]
lea ecx, [rcx*4 + 2]
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x188]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 4]
lea eax, [rax*4 + 3]
mov eax, eax
mov ecx, dword [rbp + 4]
lea ecx, [rcx*4 + 3]
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x188]
movzx eax, byte [r8 + rax]
mov byte [rdx + rcx], al
jmp 0x140013874
mov dword [rbp + 4], 8
jmp 0x14001394c
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0x3c
jae 0x140013ce0
mov eax, dword [rbp + 4]
lea eax, [rax*4 - 4]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
mov eax, eax
mov ecx, 1
imul rcx, rcx, 0
mov rdx, qword [rbp + 0x180]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x64], al
mov eax, dword [rbp + 0x44]
inc eax
mov eax, eax
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rbp + 0x180]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x64], al
mov eax, dword [rbp + 0x44]
add eax, 2
mov eax, eax
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rbp + 0x180]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x64], al
mov eax, dword [rbp + 0x44]
add eax, 3
mov eax, eax
mov ecx, 1
imul rcx, rcx, 3
mov rdx, qword [rbp + 0x180]
movzx eax, byte [rdx + rax]
mov byte [rbp + rcx + 0x64], al
xor edx, edx
mov eax, dword [rbp + 4]
mov ecx, 8
div ecx
mov eax, edx
test eax, eax
jne 0x140013b4a
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rbp + rax + 0x64]
mov byte [rbp + 0x84], al
mov eax, 1
imul rax, rax, 1
mov ecx, 1
imul rcx, rcx, 0
movzx eax, byte [rbp + rax + 0x64]
mov byte [rbp + rcx + 0x64], al
mov eax, 1
imul rax, rax, 2
mov ecx, 1
imul rcx, rcx, 1
movzx eax, byte [rbp + rax + 0x64]
mov byte [rbp + rcx + 0x64], al
mov eax, 1
imul rax, rax, 3
mov ecx, 1
imul rcx, rcx, 2
movzx eax, byte [rbp + rax + 0x64]
mov byte [rbp + rcx + 0x64], al
mov eax, 1
imul rax, rax, 3
movzx ecx, byte [rbp + 0x84]
mov byte [rbp + rax + 0x64], cl
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 0
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 1
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 2
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 2
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 3
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 3
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rbp + rax + 0x64]
mov dword [rbp + 0x154], eax
xor edx, edx
mov eax, dword [rbp + 4]
mov ecx, 8
div ecx
mov eax, eax
lea rcx, [0x14001ddb0]
movzx eax, byte [rcx + rax]
mov ecx, dword [rbp + 0x154]
xor ecx, eax
mov eax, ecx
mov ecx, 1
imul rcx, rcx, 0
mov byte [rbp + rcx + 0x64], al
xor edx, edx
mov eax, dword [rbp + 4]
mov ecx, 8
div ecx
mov eax, edx
cmp eax, 4
jne 0x140013bf9
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 0
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 1
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 2
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 2
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, 1
imul rax, rax, 3
movzx eax, byte [rbp + rax + 0x64]
lea rcx, str.cw
mov edx, 1
imul rdx, rdx, 3
movzx eax, byte [rcx + rax]
mov byte [rbp + rdx + 0x64], al
mov eax, dword [rbp + 4]
shl eax, 2
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 4]
lea eax, [rax*4 - 0x20]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
mov eax, eax
mov rcx, qword [rbp + 0x180]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 0
movzx ecx, byte [rbp + rcx + 0x64]
xor eax, ecx
mov ecx, dword [rbp + 0x24]
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 0x44]
inc eax
mov eax, eax
mov rcx, qword [rbp + 0x180]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 1
movzx ecx, byte [rbp + rcx + 0x64]
xor eax, ecx
mov ecx, dword [rbp + 0x24]
inc ecx
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 0x44]
add eax, 2
mov eax, eax
mov rcx, qword [rbp + 0x180]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 2
movzx ecx, byte [rbp + rcx + 0x64]
xor eax, ecx
mov ecx, dword [rbp + 0x24]
add ecx, 2
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov byte [rdx + rcx], al
mov eax, dword [rbp + 0x44]
add eax, 3
mov eax, eax
mov rcx, qword [rbp + 0x180]
movzx eax, byte [rcx + rax]
mov ecx, 1
imul rcx, rcx, 3
movzx ecx, byte [rbp + rcx + 0x64]
xor eax, ecx
mov ecx, dword [rbp + 0x24]
add ecx, 3
mov ecx, ecx
mov rdx, qword [rbp + 0x180]
mov byte [rdx + rcx], al
jmp 0x140013944
lea rcx, [rbp - 0x20]
lea rdx, [0x14001df80]
call fcn.14001133e
lea rsp, [rbp + 0x168]
pop rdi
pop rbp
ret