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

Disassembly:
jmp 0x18001f3d0
push rbx
push r13
push r14
sub rsp, 0x30
mov r14, r9
mov r13, rdx
mov rbx, rcx
cmp r8d, 0x10
jge 0x18001f3f5
xor eax, eax
add rsp, 0x30
pop r14
pop r13
pop rbx
ret
movsxd rax, r8d
test r8d, r8d
jle 0x18001f67e
mov qword [rsp + 0x50], rbp
sub r13, r9
mov qword [rsp + 0x58], rsi
lea rsi, [0x180095a60]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x28], r12
mov r12, qword [rsp + 0x70]
mov qword [rsp + 0x20], r15
lea r15, [rax - 1]
shr r15, 4
inc r15
cmp qword [rbx + 0x20], 0
jne 0x18001f460
lea rdi, [rbx + 0x20]
mov esi, 4
movsxd rcx, dword [rbx]
call fcn.180002da6
mov qword [rdi], rax
lea rdi, [rdi + 8]
sub rsi, 1
jne 0x18001f444
lea rsi, [0x180095a60]
mov eax, dword [rbx]
xor r8d, r8d
shl eax, 2
test eax, eax
jle 0x18001f4a9
lea r9, [r14 + r13]
mov eax, r8d
mov ecx, r8d
and eax, 3
test r8d, r8d
jns 0x18001f485
lea ecx, [r8 + 3]
sub eax, 4
cdqe
inc r8d
sar ecx, 2
movsxd rdx, ecx
mov rcx, qword [rbx + rax*8 + 0x20]
movzx eax, byte [r9]
inc r9
mov byte [rdx + rcx], al
mov eax, dword [rbx]
shl eax, 2
cmp r8d, eax
jl 0x18001f470
mov edx, dword [rbx + 8]
mov rcx, rbx
call fcn.180002239
mov edi, dword [rbx + 8]
dec edi
cmp edi, 1
jl 0x18001f570
mov rcx, rbx
call fcn.180001e06
lea r8, [rbx + 0x20]
mov r9d, 4
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r8]
lea r8, [r8 + 8]
movzx eax, byte [rdx]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 1]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 1], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 2]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 2], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 3]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 3], al
sub r9, 1
jne 0x18001f4e0
mov edx, edi
mov rcx, rbx
call fcn.180002239
mov rcx, rbx
call fcn.180002ebe
dec edi
cmp edi, 1
jge 0x18001f4c2
mov rcx, rbx
call fcn.180001e06
lea r8, [rbx + 0x20]
mov r9d, 4
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r8]
lea r8, [r8 + 8]
movzx eax, byte [rdx]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 1]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 1], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 2]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 2], al
mov rdx, qword [r8 - 8]
movzx eax, byte [rdx + 3]
mov ecx, eax
and eax, 0xf
and rcx, 0xfffffffffffffff0
add rcx, rax
movzx eax, byte [rcx + rsi]
mov byte [rdx + 3], al
sub r9, 1
jne 0x18001f590
xor edx, edx
mov rcx, rbx
call fcn.180002239
mov eax, dword [rbx]
xor edx, edx
shl eax, 2
test eax, eax
jle 0x18001f653
mov r8, r14
nop dword [rax + rax]
mov eax, edx
mov ecx, edx
and eax, 3
test edx, edx
jns 0x18001f631
lea ecx, [rdx + 3]
sub eax, 4
cdqe
inc edx
sar ecx, 2
movsxd rcx, ecx
mov rax, qword [rbx + rax*8 + 0x20]
movzx ecx, byte [rcx + rax]
mov byte [r8], cl
inc r8
mov eax, dword [rbx]
shl eax, 2
cmp edx, eax
jl 0x18001f620
inc dword [r12]
add r14, 0x10
sub r15, 1
jne 0x18001f434
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov eax, 1
add rsp, 0x30
pop r14
pop r13
pop rbx
ret