Function at 0x140092fd0
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, 0xb8
vmovups xmmword [rsp + 0x90], xmm6
vmovups xmmword [rsp + 0xa0], xmm7
lea rax, [0x1402befe0]
mov rbx, rdx
movzx edx, byte [rdx]
mov rsi, rcx
mov rcx, rdx
and edx, 0xf0
and ecx, 0xf
add rdx, rax
movzx edx, byte [rdx + rcx]
movzx ecx, byte [rbx + 1]
mov rdi, rcx
and ecx, 0xf0
vmovd xmm0, edx
add rcx, rax
and edi, 0xf
mov qword [rsp + 0x38], rcx
movzx ecx, byte [rbx + 2]
mov qword [rsp + 0x30], rdi
mov r8, rcx
and ecx, 0xf0
add rcx, rax
and r8d, 0xf
movzx r14d, byte [rcx + r8]
movzx ecx, byte [rbx + 3]
mov r15, rcx
and ecx, 0xf0
vmovd xmm5, r14d
lea r11, [rax + rcx]
movzx ecx, byte [rbx + 4]
and r15d, 0xf
mov qword [rsp + 0x48], r11
mov r8, rcx
and ecx, 0xf0
mov qword [rsp + 0x40], r15
add rcx, rax
and r8d, 0xf
movzx edi, byte [rcx + r8]
movzx ecx, byte [rbx + 5]
mov r11, rcx
and ecx, 0xf0
mov byte [rsp + 0x2c], dil
lea r8, [rax + rcx]
movzx ecx, byte [rbx + 6]
and r11d, 0xf
mov qword [rsp + 0x50], r11
movzx r11d, byte [rbx + 9]
mov r9, rcx
and ecx, 0xf0
mov qword [rsp + 0x58], r8
add rcx, rax
and r9d, 0xf
movzx r13d, byte [rcx + r9]
movzx ecx, byte [rbx + 7]
mov r10, rcx
and ecx, 0xf0
vmovd xmm4, r13d
lea r9, [rax + rcx]
movzx ecx, byte [rbx + 8]
and r10d, 0xf
mov qword [rsp + 0x68], r9
mov r9, rcx
and ecx, 0xf0
mov qword [rsp + 0x60], r10
add rcx, rax
and r9d, 0xf
movzx r15d, byte [rcx + r9]
mov rcx, r11
and r11d, 0xf0
and ecx, 0xf
add r11, rax
mov qword [rsp + 0x70], rcx
movzx ecx, byte [rbx + 0xa]
vmovd xmm1, r15d
mov r9, rcx
and ecx, 0xf0
add rcx, rax
and r9d, 0xf
movzx ebp, byte [rcx + r9]
movzx r9d, byte [rbx + 0xb]
movzx ecx, byte [rbx + 0xc]
mov r12, r9
and r9d, 0xf0
vmovd xmm7, ebp
and r12d, 0xf
mov r10, rcx
add r9, rax
and ecx, 0xf0
and r10d, 0xf
add rcx, rax
mov qword [rsp + 0x78], r12
movzx ecx, byte [rcx + r10]
movzx r10d, byte [rbx + 0xd]
mov rdi, r10
and r10d, 0xf0
vmovd xmm2, ecx
mov rcx, rbx
and edi, 0xf
add r10, rax
mov qword [rsp + 0x80], rdi
movzx edi, byte [rbx + 0xe]
vmovd xmm3, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x50]
mov r12, rdi
and edi, 0xf0
and r12d, 0xf
add rdi, rax
movzx edi, byte [rdi + r12]
movzx r12d, byte [rbx + 0xf]
mov r8, r12
and r12d, 0xf0
vmovd xmm6, edi
mov rdi, qword [rsp + 0x30]
and r8d, 0xf
add rax, r12
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x88], r8
mov r8, qword [rsp + 0x58]
vpinsrb xmm4, xmm4, byte [r9 + r12], 1
vpinsrb xmm0, xmm0, byte [r8 + rdx], 1
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
vpinsrb xmm7, xmm7, byte [rax + r8], 1
mov rax, qword [rsp + 0x40]
vpinsrb xmm3, xmm3, byte [r11 + rdx], 1
mov rdx, qword [rsp + 0x48]
vpunpcklwd xmm0, xmm0, xmm7
vpinsrb xmm6, xmm6, byte [rdx + rax], 1
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x68]
vpinsrb xmm1, xmm1, byte [r10 + rax], 1
mov rax, qword [rsp + 0x38]
vpunpcklwd xmm3, xmm3, xmm6
mov r10, qword [rsp + 0x60]
vpunpckldq xmm0, xmm0, xmm3
vpinsrb xmm2, xmm2, byte [rax + rdi], 1
vpinsrb xmm5, xmm5, byte [rdx + r10], 1
vpunpcklwd xmm2, xmm2, xmm4
vpunpcklwd xmm1, xmm1, xmm5
vpunpckldq xmm1, xmm1, xmm2
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [rbx], xmm0
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 4]
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 8]
call sym.oaes_mix_cols.isra.0
lea rcx, [rbx + 0xc]
call sym.oaes_mix_cols.isra.0
lea rdx, [rsi + 1]
mov rax, rbx
sub rax, rdx
cmp rax, 0xe
jbe 0x1400932e0
vmovdqu xmm0, xmmword [rsi]
vpxor xmm0, xmm0, xmmword [rbx]
vmovdqu xmmword [rbx], xmm0
vmovups xmm6, xmmword [rsp + 0x90]
xor eax, eax
vmovups xmm7, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rsi]
xor byte [rbx], al
movzx eax, byte [rsi + 1]
xor byte [rbx + 1], al
movzx eax, byte [rsi + 2]
xor byte [rbx + 2], al
movzx eax, byte [rsi + 3]
xor byte [rbx + 3], al
movzx eax, byte [rsi + 4]
xor byte [rbx + 4], al
movzx eax, byte [rsi + 5]
xor byte [rbx + 5], al
movzx eax, byte [rsi + 6]
xor byte [rbx + 6], al
movzx eax, byte [rsi + 7]
xor byte [rbx + 7], al
movzx eax, byte [rsi + 8]
xor byte [rbx + 8], al
movzx eax, byte [rsi + 9]
xor byte [rbx + 9], al
movzx eax, byte [rsi + 0xa]
xor byte [rbx + 0xa], al
movzx eax, byte [rsi + 0xb]
xor byte [rbx + 0xb], al
movzx eax, byte [rsi + 0xc]
xor byte [rbx + 0xc], al
movzx eax, byte [rsi + 0xd]
xor byte [rbx + 0xd], al
movzx eax, byte [rsi + 0xe]
xor byte [rbx + 0xe], al
movzx eax, byte [rsi + 0xf]
xor byte [rbx + 0xf], al
jmp 0x1400932b4