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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rsi, [0x14000f760]
lea r11, [0x14000f360]
movzx eax, byte [r8 + 3]
xor eax, dword [rcx]
movzx edi, byte [r8 + 0xb]
movzx ebp, byte [r8 + 0xf]
mov r10, rcx
movzx ecx, byte [r8]
mov r15, r9
movzx r9d, byte [r8 + 4]
xor edi, dword [r10 + 8]
xor ebp, dword [r10 + 0xc]
sar edx, 1
shl ecx, 0x18
shl r9d, 0x18
mov dword [rsp + 8], edx
xor eax, ecx
movzx ecx, byte [r8 + 1]
mov dword [rsp + 0x48], edx
shl ecx, 0x10
xor eax, ecx
movzx ecx, byte [r8 + 2]
shl ecx, 8
xor eax, ecx
movzx ecx, byte [r8 + 7]
xor ecx, dword [r10 + 4]
xor ecx, r9d
movzx r9d, byte [r8 + 5]
shl r9d, 0x10
xor ecx, r9d
movzx r9d, byte [r8 + 6]
shl r9d, 8
xor ecx, r9d
movzx r9d, byte [r8 + 8]
shl r9d, 0x18
xor edi, r9d
movzx r9d, byte [r8 + 9]
shl r9d, 0x10
xor edi, r9d
movzx r9d, byte [r8 + 0xa]
shl r9d, 8
xor edi, r9d
movzx r9d, byte [r8 + 0xc]
shl r9d, 0x18
xor ebp, r9d
movzx r9d, byte [r8 + 0xd]
movzx r8d, byte [r8 + 0xe]
shl r9d, 0x10
shl r8d, 8
xor ebp, r9d
lea r9, [0x14000ef60]
xor ebp, r8d
mov r8, r10
mov edx, eax
lea r14, [0x14000eb60]
movzx r12d, cl
mov ebx, edi
shr edx, 0x18
movzx ebx, bh
add r8, 0x20
mov edx, dword [rsi + rdx*4]
xor edx, dword [r14 + r12*4]
mov r12d, ebp
shr r12d, 0x10
xor edx, dword [r8 - 0x10]
movzx r12d, r12b
xor edx, dword [r11 + r12*4]
mov r12d, ebx
mov ebx, ebp
xor edx, dword [r9 + r12*4]
mov r12d, ecx
mov dword [rsp], edx
shr r12d, 0x18
movzx edx, dil
mov r13d, dword [rsi + r12*4]
xor r13d, dword [r14 + rdx*4]
mov edx, eax
movzx r12d, bpl
shr edx, 0x10
xor r13d, dword [r8 - 0xc]
shr ebp, 0x18
movzx edx, dl
xor r13d, dword [r11 + rdx*4]
movzx edx, bh
movzx ebx, ah
movzx eax, al
mov edx, edx
xor r13d, dword [r9 + rdx*4]
mov edx, edi
shr edi, 0x10
shr edx, 0x18
movzx edi, dil
mov edx, dword [rsi + rdx*4]
xor edx, dword [r14 + r12*4]
mov r12d, ecx
movzx ecx, ch
shr r12d, 0x10
xor edx, dword [r8 - 8]
mov ecx, ecx
movzx r12d, r12b
xor edx, dword [r11 + r12*4]
mov r12d, ebx
xor edx, dword [r9 + r12*4]
mov r12d, dword [rsi + rbp*4]
movzx ebx, dh
xor r12d, dword [r14 + rax*4]
xor r12d, dword [r8 - 4]
xor r12d, dword [r11 + rdi*4]
xor r12d, dword [r9 + rcx*4]
mov dword [rsp + 0x10], ebx
movzx ecx, r13b
mov ebx, r12d
mov edi, dword [r8]
mov eax, dword [rsp]
mov ebp, r12d
movzx ebx, bh
mov r14d, dword [rsp]
shr ebp, 0x10
mov dword [rsp + 0x18], ebx
mov ebx, edx
shr eax, 0x18
movzx ebp, bpl
shr ebx, 0x18
mov dword [rsp + 0xc], edi
mov edi, r13d
shr r14d, 0x10
mov dword [rsp + 0x20], ebx
mov ebx, r13d
shr edi, 0x18
movzx r14d, r14b
shr ebx, 0x10
mov dword [rsp + 0x38], ebx
mov ebx, dword [rsp]
movzx ebx, bh
mov dword [rsp + 0x28], ebx
mov ebx, r12d
movzx r12d, r12b
shr ebx, 0x18
mov dword [rsp + 0x30], ebx
mov ebx, edx
movzx edx, dl
shr ebx, 0x10
mov dword [rsp + 0x4c], ebx
mov ebx, r13d
mov r13d, dword [rsp + 0x18]
movzx ebx, bh
dec dword [rsp + 0x48]
mov dword [rsp + 0x40], ebx
mov ebx, dword [rsp + 0x10]
mov qword [rsp + 0x10], rbx
mov ebx, dword [rsp + 0x20]
mov qword [rsp + 0x18], rbx
movzx ebx, byte [rsp + 0x38]
mov qword [rsp + 0x20], rbx
mov ebx, dword [rsp + 0x28]
mov qword [rsp + 0x28], rbx
mov ebx, dword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
movzx ebx, byte [rsp]
mov qword [rsp], rbx
movzx ebx, byte [rsp + 0x4c]
mov qword [rsp + 0x38], rbx
mov ebx, dword [rsp + 0x40]
mov qword [rsp + 0x40], rbx
je 0x140007f38
lea rbx, [0x14000eb60]
mov eax, dword [rsi + rax*4]
xor eax, dword [rbx + rcx*4]
mov ecx, dword [rsp + 0xc]
xor eax, ecx
mov rcx, qword [rsp + 0x10]
xor eax, dword [r11 + rbp*4]
xor eax, dword [r9 + rcx*4]
mov ecx, dword [rsi + rdi*4]
mov rdi, qword [rsp + 0x18]
xor ecx, dword [rbx + rdx*4]
xor ecx, dword [r8 + 4]
xor ecx, dword [r11 + r14*4]
mov r14, rbx
mov edx, dword [rsi + rdi*4]
mov rdi, qword [rsp + 0x20]
xor edx, dword [rbx + r12*4]
mov rbx, qword [rsp + 0x28]
xor edx, dword [r8 + 8]
xor edx, dword [r11 + rdi*4]
mov edi, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x30]
xor ecx, dword [r9 + r13*4]
mov ebp, dword [rsi + rbx*4]
mov rbx, qword [rsp]
xor edi, edx
xor ebp, dword [r14 + rbx*4]
mov rbx, qword [rsp + 0x38]
xor ebp, dword [r8 + 0xc]
xor ebp, dword [r11 + rbx*4]
mov rbx, qword [rsp + 0x40]
xor ebp, dword [r9 + rbx*4]
jmp 0x140007d1f
lea r8, [0x14000ea60]
mov esi, dword [rsp + 8]
movzx eax, byte [r8 + rax]
movzx ecx, byte [r8 + rcx]
lea r9d, [rsi - 1]
mov rsi, qword [rsp + 0x10]
movzx edx, byte [r8 + rdx]
shl eax, 0x18
inc r9
xor ecx, eax
movzx eax, byte [r8 + rbp]
shl r9, 5
add r9, r10
shl eax, 0x10
xor eax, ecx
movzx ecx, byte [r8 + rsi]
mov esi, dword [rsp + 0xc]
shl ecx, 8
xor eax, ecx
xor eax, esi
mov rsi, qword [rsp + 0x20]
bswap eax
mov dword [r15], eax
movzx eax, byte [r8 + rdi]
shl eax, 0x18
xor eax, edx
movzx edx, byte [r8 + r14]
shl edx, 0x10
xor eax, edx
movzx edx, byte [r8 + r13]
shl edx, 8
xor eax, edx
xor eax, dword [r9 + 4]
movzx edx, byte [r8 + r12]
bswap eax
mov dword [r15 + 4], eax
mov rax, qword [rsp + 0x18]
movzx eax, byte [r8 + rax]
shl eax, 0x18
xor eax, edx
movzx edx, byte [r8 + rsi]
mov rsi, qword [rsp + 0x28]
shl edx, 0x10
xor eax, edx
movzx edx, byte [r8 + rsi]
mov rsi, qword [rsp]
shl edx, 8
xor eax, edx
xor eax, dword [r9 + 8]
movzx edx, byte [r8 + rsi]
bswap eax
mov dword [r15 + 8], eax
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
movzx eax, byte [r8 + rax]
shl eax, 0x18
xor eax, edx
movzx edx, byte [r8 + rsi]
mov rsi, qword [rsp + 0x40]
shl edx, 0x10
xor eax, edx
movzx edx, byte [r8 + rsi]
shl edx, 8
xor eax, edx
xor eax, dword [r9 + 0xc]
bswap eax
mov dword [r15 + 0xc], eax
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret