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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
movdqa xmmword [rsp], xmm9
movdqa xmmword [rsp + 0x10], xmm8
movdqa xmmword [rsp + 0x20], xmm7
movdqa 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 0x14002df65
movdqa xmm4, xmmword [0x14002dda0]
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
aesenc xmm0, xmm4
aesenc xmm1, xmm4
aesenc xmm2, xmm4
aesenc xmm3, xmm4
movdqa xmm4, xmmword [r10 + 0x10]
add r10, 0x10
dec r11
jne 0x14002dede
aesenclast xmm0, xmm4
aesenclast xmm1, xmm4
aesenclast xmm2, xmm4
aesenclast 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 0x14002de22
add r8, 0x40
je 0x14002e065
lea r10, [rdx*4]
lea r10, [rcx + r10*4 - 0x90]
pinsrq xmm0, rax, 0
pinsrq xmm0, rbx, 1
pshufb xmm0, xmmword [0x14002dda0]
pand xmm0, xmm8
por xmm0, xmm9
pxor xmm0, xmmword [rcx]
cmp rdx, 0xc
jl 0x14002dfc8
je 0x14002dfba
aesenc xmm0, xmmword [r10 - 0x40]
aesenc xmm0, xmmword [r10 - 0x30]
aesenc xmm0, xmmword [r10 - 0x20]
aesenc xmm0, xmmword [r10 - 0x10]
aesenc xmm0, xmmword [r10]
aesenc xmm0, xmmword [r10 + 0x10]
aesenc xmm0, xmmword [r10 + 0x20]
aesenc xmm0, xmmword [r10 + 0x30]
aesenc xmm0, xmmword [r10 + 0x40]
aesenc xmm0, xmmword [r10 + 0x50]
aesenc xmm0, xmmword [r10 + 0x60]
aesenc xmm0, xmmword [r10 + 0x70]
aesenc xmm0, xmmword [r10 + 0x80]
aesenclast xmm0, xmmword [r10 + 0x90]
add rax, 1
adc rbx, 0
sub r8, 0x10
jl 0x14002e040
movdqu xmm4, xmmword [rdi]
pxor xmm0, xmm4
movdqu xmmword [rsi], xmm0
add rdi, 0x10
add rsi, 0x10
cmp r8, 0
je 0x14002e065
jmp 0x14002df7f
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 0x14002e044
pinsrq xmm0, rax, 0
pinsrq xmm0, rbx, 1
pshufb xmm0, xmmword [0x14002dda0]
pand xmm0, xmm8
por xmm0, xmm9
movdqu xmmword [r9], xmm0
movdqa xmm9, xmmword [rsp]
movdqa xmm8, xmmword [rsp + 0x10]
movdqa xmm7, xmmword [rsp + 0x20]
movdqa xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret