Function at 0x1400b6fb0
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, 0x38
lea rax, [0x140330720]
mov rbx, rdx
movzx edx, byte [rdx]
mov rsi, rcx
movzx r11d, byte [rbx + 1]
mov rcx, rdx
and edx, 0xf0
add rdx, rax
and ecx, 0xf
movzx edi, byte [rdx + rcx]
movzx ecx, byte [rbx + 2]
mov r8, rcx
and ecx, 0xf0
mov byte [rsp + 0x2c], dil
mov rdi, r11
add rcx, rax
and r8d, 0xf
and edi, 0xf
and r11d, 0xf0
movzx r12d, byte [rcx + r8]
movzx ecx, byte [rbx + 3]
vmovq xmm5, rdi
add r11, rax
vmovd xmm0, dword [rsp + 0x2c]
mov rdi, rcx
and ecx, 0xf0
lea rdx, [rax + rcx]
movzx ecx, byte [rbx + 4]
and edi, 0xf
vmovq xmm16, rdi
vmovq xmm1, rdx
mov r8, rcx
and ecx, 0xf0
add rcx, rax
and r8d, 0xf
movzx r9d, byte [rcx + r8]
movzx ecx, byte [rbx + 5]
mov rdi, rcx
and ecx, 0xf0
and edi, 0xf
vmovq xmm17, rdi
lea rdi, [rax + rcx]
movzx ecx, byte [rbx + 6]
vmovq xmm3, rdi
movzx edi, byte [rbx + 7]
mov r8, rcx
and ecx, 0xf0
add rcx, rax
and r8d, 0xf
movzx ebp, byte [rcx + r8]
mov rcx, rdi
and edi, 0xf0
and ecx, 0xf
add rdi, rax
vmovq xmm19, rcx
movzx ecx, byte [rbx + 8]
mov r8, rcx
and ecx, 0xf0
and r8d, 0xf
add rcx, rax
movzx ecx, byte [rcx + r8]
movzx r8d, byte [rbx + 9]
mov r10, r8
and r8d, 0xf0
lea rdx, [rax + r8]
movzx r8d, byte [rbx + 0xa]
and r10d, 0xf
vmovq xmm21, r10
vmovq xmm4, rdx
mov r10, r8
and r8d, 0xf0
add r8, rax
and r10d, 0xf
movzx r13d, byte [r8 + r10]
movzx r8d, byte [rbx + 0xb]
mov r15, r8
and r8d, 0xf0
vmovd xmm18, r13d
lea r10, [rax + r8]
movzx r8d, byte [rbx + 0xc]
and r15d, 0xf
vmovq xmm20, r15
mov r14, r8
and r14d, 0xf
and r8d, 0xf0
add r8, rax
movzx r8d, byte [r8 + r14]
movzx r14d, byte [rbx + 0xd]
mov r15, r14
and r14d, 0xf0
lea rdx, [rax + r14]
movzx r14d, byte [rbx + 0xe]
and r15d, 0xf
vmovq xmm22, r15
vmovq xmm2, rdx
mov r15, r14
and r14d, 0xf0
add r14, rax
and r15d, 0xf
movzx r15d, byte [r14 + r15]
movzx r14d, byte [rbx + 0xf]
mov rdx, r14
and r14d, 0xf0
and edx, 0xf
add rax, r14
vmovq r14, xmm17
vmovd xmm17, r15d
vmovq xmm23, rdx
vmovq rdx, xmm3
vmovd xmm3, r9d
vpinsrb xmm0, xmm0, byte [rdx + r14], 1
vmovq rdx, xmm23
vpinsrb xmm18, xmm18, byte [rax + rdx], 1
vmovq rax, xmm4
vmovq rdx, xmm21
vmovd xmm4, ebp
vpinsrb xmm3, xmm3, byte [rax + rdx], 1
vmovq rax, xmm1
vmovq rdx, xmm16
vmovd xmm1, ecx
vpinsrb xmm17, xmm17, byte [rax + rdx], 1
vmovq rdx, xmm22
vmovq rax, xmm2
vmovd xmm16, r12d
vpinsrb xmm1, xmm1, byte [rax + rdx], 1
vmovq rax, xmm19
vmovd xmm2, r8d
mov rcx, rbx
vpinsrb xmm16, xmm16, byte [rdi + rax], 1
vmovq rax, xmm5
vpinsrb xmm2, xmm2, byte [r11 + rax], 1
vmovq rax, xmm20
vpinsrb xmm4, xmm4, byte [r10 + rax], 1
vpunpcklwd xmm0, xmm0, xmm18
vpunpcklwd xmm3, xmm3, xmm17
vpunpckldq xmm0, xmm0, xmm3
vpunpcklwd xmm1, xmm1, xmm16
vpunpcklwd xmm2, xmm2, xmm4
vpunpckldq xmm1, xmm1, xmm2
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu8 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 0x1400b72b0
vmovdqu8 xmm0, xmmword [rsi]
vpxor xmm0, xmm0, xmmword [rbx]
vmovdqu8 xmmword [rbx], xmm0
xor eax, eax
add rsp, 0x38
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 0x1400b729d