Function at 0x14002e230
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
vmovdqa xmmword [rsp], xmm9
vmovdqa xmmword [rsp + 0x10], xmm8
vmovdqa xmmword [rsp + 0x20], xmm7
vmovdqa xmmword [rsp + 0x30], xmm6
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
movdqu xmm8, xmmword [rax]
movdqu xmm0, xmmword [r9]
movdqa xmm9, xmm8
pandn xmm9, xmm0
mov rbx, qword [r9]
mov rax, qword [r9 + 8]
bswap rbx
bswap rax
movsxd r8, r8d
sub r8, 0x40
jl 0x14002e3e3
movdqa xmm4, xmmword [0x14002e220]
pinsrq xmm0, rax, 0
pinsrq xmm0, rbx, 1
pshufb xmm0, xmm4
pand xmm0, xmm8
por xmm0, xmm9
add rax, 1
adc rbx, 0
pinsrq xmm1, rax, 0
pinsrq xmm1, rbx, 1
pshufb xmm1, xmm4
pand xmm1, xmm8
por xmm1, xmm9
add rax, 1
adc rbx, 0
pinsrq xmm2, rax, 0
pinsrq xmm2, rbx, 1
pshufb xmm2, xmm4
pand xmm2, xmm8
por xmm2, xmm9
add rax, 1
adc rbx, 0
pinsrq xmm3, rax, 0
pinsrq xmm3, rbx, 1
pshufb xmm3, xmm4
pand xmm3, xmm8
por xmm3, xmm9
movdqa xmm4, xmmword [rcx]
mov r10, rcx
pxor xmm0, xmm4
pxor xmm1, xmm4
pxor xmm2, xmm4
pxor xmm3, xmm4
movdqa xmm4, xmmword [r10 + 0x10]
add r10, 0x10
mov r11, rdx
sub r11, 1
vaesenc xmm0, xmm0, xmm4
vaesenc xmm1, xmm1, xmm4
vaesenc xmm2, xmm2, xmm4
vaesenc xmm3, xmm3, xmm4
movdqa xmm4, xmmword [r10 + 0x10]
add r10, 0x10
dec r11
jne 0x14002e35c
vaesenclast xmm0, xmm0, xmm4
vaesenclast xmm1, xmm1, xmm4
vaesenclast xmm2, xmm2, xmm4
vaesenclast xmm3, xmm3, xmm4
movdqu xmm4, xmmword [rdi]
movdqu xmm5, xmmword [rdi + 0x10]
movdqu xmm6, xmmword [rdi + 0x20]
movdqu xmm7, xmmword [rdi + 0x30]
add rdi, 0x40
pxor xmm0, xmm4
movdqu xmmword [rsi], xmm0
pxor xmm1, xmm5
movdqu xmmword [rsi + 0x10], xmm1
pxor xmm2, xmm6
movdqu xmmword [rsi + 0x20], xmm2
pxor xmm3, xmm7
movdqu xmmword [rsi + 0x30], xmm3
add rax, 1
adc rbx, 0
add rsi, 0x40
sub r8, 0x40
jge 0x14002e2a0
add r8, 0x40
je 0x14002e4d5
lea r10, [rdx*4]
lea r10, [rcx + r10*4 - 0x90]
pinsrq xmm0, rax, 0
pinsrq xmm0, rbx, 1
pshufb xmm0, xmmword [0x14002e220]
pand xmm0, xmm8
por xmm0, xmm9
pxor xmm0, xmmword [rcx]
cmp rdx, 0xc
jl 0x14002e442
je 0x14002e436
vaesenc xmm0, xmm0, xmmword [r10 - 0x40]
vaesenc xmm0, xmm0, xmmword [r10 - 0x30]
vaesenc xmm0, xmm0, xmmword [r10 - 0x20]
vaesenc xmm0, xmm0, xmmword [r10 - 0x10]
vaesenc xmm0, xmm0, xmmword [r10]
vaesenc xmm0, xmm0, xmmword [r10 + 0x10]
vaesenc xmm0, xmm0, xmmword [r10 + 0x20]
vaesenc xmm0, xmm0, xmmword [r10 + 0x30]
vaesenc xmm0, xmm0, xmmword [r10 + 0x40]
vaesenc xmm0, xmm0, xmmword [r10 + 0x50]
vaesenc xmm0, xmm0, xmmword [r10 + 0x60]
vaesenc xmm0, xmm0, xmmword [r10 + 0x70]
vaesenc xmm0, xmm0, xmmword [r10 + 0x80]
vaesenclast xmm0, xmm0, xmmword [r10 + 0x90]
add rax, 1
adc rbx, 0
sub r8, 0x10
jl 0x14002e4b0
movdqu xmm4, xmmword [rdi]
pxor xmm0, xmm4
movdqu xmmword [rsi], xmm0
add rdi, 0x10
add rsi, 0x10
cmp r8, 0
je 0x14002e4d5
jmp 0x14002e3fd
add r8, 0x10
pextrb r10d, xmm0, 0
psrldq xmm0, 1
movzx r11d, byte [rdi]
xor r10, r11
mov byte [rsi], r10b
inc rdi
inc rsi
dec r8
jne 0x14002e4b4
pinsrq xmm0, rax, 0
pinsrq xmm0, rbx, 1
pshufb xmm0, xmmword [0x14002e220]
pand xmm0, xmm8
por xmm0, xmm9
movdqu xmmword [r9], xmm0
vmovdqa xmm9, xmmword [rsp]
vmovdqa xmm8, xmmword [rsp + 0x10]
vmovdqa xmm7, xmmword [rsp + 0x20]
vmovdqa xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
vzeroupper
pop rbx
pop rdi
pop rsi
ret