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

Disassembly:
mov r11, rsp
push rsi
sub rsp, 0x50
mov rax, qword [0x1403e3c28]
xor rax, rsp
mov qword [rsp + 0x28], rax
movzx r9d, word [rcx]
mov r10, rdx
xor esi, esi
mov dword [rsp + 8], r9d
mov dword [rsp], esi
lea eax, [r9*4 + 4]
lea rdx, [rcx + rax*4]
mov eax, dword [r10 + 0xc]
xor eax, dword [rdx]
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 8]
xor eax, dword [rdx - 4]
mov dword [r10 + 8], eax
mov eax, dword [r10 + 4]
xor eax, dword [rdx - 8]
mov dword [r10 + 4], eax
mov eax, dword [rdx - 0xc]
sub rdx, 0xc
xor dword [r10], eax
mov qword [rsp + 0x10], rdx
test r9d, r9d
je 0x1400868e9
mov qword [r11 + 8], rbx
lea r8d, [r9 - 1]
mov qword [r11 + 0x18], rbp
lea rbp, [0x14029ced0]
mov qword [r11 + 0x20], rdi
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov dword [rsp + 4], r8d
nop dword [rax + rax]
mov r9d, 3
nop word [rax + rax]
mov rax, r9
and eax, 3
movzx ecx, byte [r10 + rax*4 + 3]
movzx eax, byte [rcx + rbp]
lea ecx, [r9 - 1]
and ecx, 3
movzx edx, byte [r10 + rcx*4 + 2]
lea ecx, [r9 - 2]
and ecx, 3
movzx r11d, byte [rdx + rbp]
movzx edx, byte [r10 + rcx*4 + 1]
lea ecx, [r9 + 1]
and ecx, 3
movzx ebx, byte [rdx + rbp]
movzx edx, byte [r10 + rcx*4]
movzx edi, byte [rdx + rbp]
cmp esi, r8d
je 0x1400866f3
mov ecx, r11d
xor ecx, eax
test cl, cl
jns 0x14008660c
add ecx, ecx
xor ecx, 0x1b
jmp 0x14008660e
add ecx, ecx
movzx r12d, cl
mov ecx, ebx
xor ecx, r11d
test cl, cl
jns 0x140086622
add ecx, ecx
xor ecx, 0x1b
jmp 0x140086624
add ecx, ecx
movzx esi, cl
mov ecx, edi
xor ecx, ebx
test cl, cl
jns 0x140086636
add ecx, ecx
xor ecx, 0x1b
jmp 0x140086638
add ecx, ecx
movzx r15d, cl
mov ecx, edi
xor ecx, eax
test cl, cl
jns 0x14008664b
add ecx, ecx
xor ecx, 0x1b
jmp 0x14008664d
add ecx, ecx
movzx r13d, cl
mov ecx, esi
xor ecx, r12d
test cl, cl
jns 0x140086661
add ecx, ecx
xor ecx, 0x1b
jmp 0x140086663
add ecx, ecx
movzx r14d, cl
mov ecx, r15d
xor ecx, esi
test cl, cl
jns 0x140086677
add ecx, ecx
xor ecx, 0x1b
jmp 0x140086679
add ecx, ecx
movzx ebp, cl
mov ecx, ebp
xor ecx, r14d
test cl, cl
jns 0x14008668c
add ecx, ecx
xor ecx, 0x1b
jmp 0x14008668e
add ecx, ecx
movzx edx, cl
mov r8d, edx
mov ecx, edx
xor ecx, ebp
xor r8d, r14d
xor ecx, esi
xor r8d, r12d
mov esi, dword [rsp]
xor ecx, edi
xor r8d, edi
xor ecx, ebx
xor ecx, eax
xor r8d, ebx
xor r8d, r11d
shl r8d, 8
or r8d, ecx
mov ecx, edx
xor edx, ebp
shl r8d, 8
xor ecx, r14d
lea rbp, [0x14029ced0]
xor ecx, r15d
xor edx, r13d
xor ecx, edi
xor edx, ebx
xor ecx, r11d
xor edx, r11d
xor ecx, eax
xor edx, eax
or r8d, ecx
mov eax, r9d
shl r8d, 8
or r8d, edx
mov dword [rsp + rax*4 + 0x18], r8d
jmp 0x14008670a
shl eax, 8
or eax, r11d
mov ecx, r9d
shl eax, 8
or eax, ebx
shl eax, 8
or eax, edi
mov dword [rsp + rcx*4 + 0x18], eax
lea eax, [r9 - 1]
and eax, 3
movzx ecx, byte [r10 + rax*4 + 3]
lea eax, [r9 - 2]
and eax, 3
movzx r8d, byte [rcx + rbp]
movzx ecx, byte [r10 + rax*4 + 2]
lea eax, [r9 + 1]
and eax, 3
movzx r11d, byte [rcx + rbp]
movzx ecx, byte [r10 + rax*4 + 1]
mov rax, r9
and eax, 3
movzx ebx, byte [rcx + rbp]
movzx ecx, byte [r10 + rax*4]
movzx edi, byte [rcx + rbp]
cmp esi, dword [rsp + 4]
je 0x14008684b
mov eax, r11d
xor eax, r8d
test al, al
jns 0x140086769
add eax, eax
xor eax, 0x1b
jmp 0x14008676b
add eax, eax
movzx r12d, al
mov eax, ebx
xor eax, r11d
test al, al
jns 0x14008677f
add eax, eax
xor eax, 0x1b
jmp 0x140086781
add eax, eax
movzx esi, al
mov eax, edi
xor eax, ebx
test al, al
jns 0x140086793
add eax, eax
xor eax, 0x1b
jmp 0x140086795
add eax, eax
movzx r15d, al
mov eax, edi
xor eax, r8d
test al, al
jns 0x1400867a9
add eax, eax
xor eax, 0x1b
jmp 0x1400867ab
add eax, eax
movzx r13d, al
mov eax, esi
xor eax, r12d
test al, al
jns 0x1400867bf
add eax, eax
xor eax, 0x1b
jmp 0x1400867c1
add eax, eax
movzx r14d, al
mov eax, r15d
xor eax, esi
test al, al
jns 0x1400867d5
add eax, eax
xor eax, 0x1b
jmp 0x1400867d7
add eax, eax
movzx ebp, al
mov eax, ebp
xor eax, r14d
test al, al
jns 0x1400867ea
add eax, eax
xor eax, 0x1b
jmp 0x1400867ec
add eax, eax
movzx ecx, al
mov eax, ecx
mov edx, ecx
xor eax, ebp
xor edx, r14d
xor eax, esi
xor edx, r12d
mov esi, dword [rsp]
xor eax, edi
xor eax, ebx
xor edx, edi
xor eax, r8d
xor edx, ebx
xor edx, r11d
shl edx, 8
or edx, eax
mov eax, ecx
xor eax, r14d
shl edx, 8
xor eax, r15d
xor ecx, ebp
xor eax, edi
lea rbp, [0x14029ced0]
xor eax, r11d
xor ecx, r13d
xor eax, r8d
xor ecx, ebx
or edx, eax
xor ecx, r11d
shl edx, 8
lea eax, [r9 - 1]
xor ecx, r8d
or edx, ecx
mov dword [rsp + rax*4 + 0x18], edx
jmp 0x140086869
shl r8d, 8
lea eax, [r9 - 1]
or r8d, r11d
shl r8d, 8
or r8d, ebx
shl r8d, 8
or r8d, edi
mov dword [rsp + rax*4 + 0x18], r8d
mov r8d, dword [rsp + 4]
add r9d, 0xfffffffe
lea eax, [r9 + 1]
test eax, eax
jne 0x1400865b0
mov rcx, qword [rsp + 0x10]
inc esi
mov eax, dword [rsp + 0x24]
mov dword [rsp], esi
xor eax, dword [rcx - 4]
mov dword [r10 + 0xc], eax
mov eax, dword [rsp + 0x20]
xor eax, dword [rcx - 8]
mov dword [r10 + 8], eax
mov eax, dword [rsp + 0x1c]
xor eax, dword [rcx - 0xc]
mov dword [r10 + 4], eax
mov eax, dword [rsp + 0x18]
xor eax, dword [rcx - 0x10]
sub rcx, 0x10
mov dword [r10], eax
mov qword [rsp + 0x10], rcx
cmp esi, dword [rsp + 8]
jb 0x1400865a0
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1401f11e0
add rsp, 0x50
pop rsi
ret