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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xa8]
sub rsp, 0x1a0
mov r10, qword [rcx + 0xe0]
lea r9, [rbp - 0x80]
movaps xmmword [rax - 0x18], xmm6
lea r8, [rsp + 0x70]
movaps xmmword [rax - 0x28], xmm7
lea rdx, [rsp + 0x60]
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
lea rax, [rbp - 0x10]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call fcn.7ff7ed439604
movdqa xmm0, xmmword [rbp - 0x10]
mov eax, 0x10
movdqa xmm2, xmmword [rbp - 0x40]
movdqa xmm3, xmmword [rbp - 0x20]
movdqu xmm9, xmmword [rcx + 0x40]
movdqu xmm10, xmmword [rcx + 0x50]
movdqu xmm11, xmmword [rcx + 0x60]
movdqu xmm12, xmmword [rcx + 0x70]
movdqu xmm13, xmmword [rcx + 0x80]
movdqu xmm14, xmmword [rcx + 0x90]
movdqu xmm15, xmmword [rcx + 0xa0]
movdqu xmm8, xmmword [rcx + 0xb0]
aesenc xmm12, xmmword [rsp + 0x60]
aesenc xmm11, xmmword [rsp + 0x60]
aesenc xmm10, xmmword [rsp + 0x60]
aesenc xmm13, xmmword [rsp + 0x60]
aesenc xmm9, xmmword [rsp + 0x60]
aesenc xmm12, xmmword [rsp + 0x70]
aesenc xmm11, xmmword [rsp + 0x70]
aesenc xmm10, xmmword [rsp + 0x70]
aesenc xmm13, xmmword [rsp + 0x70]
aesenc xmm9, xmmword [rsp + 0x70]
aesenc xmm12, xmmword [rbp - 0x80]
aesenc xmm14, xmmword [rsp + 0x60]
aesenc xmm11, xmmword [rbp - 0x80]
aesenc xmm10, xmmword [rbp - 0x80]
aesenc xmm13, xmmword [rbp - 0x80]
aesenc xmm9, xmmword [rbp - 0x80]
aesenc xmm12, xmmword [rbp - 0x50]
aesenc xmm14, xmmword [rsp + 0x70]
aesenc xmm11, xmmword [rbp - 0x50]
aesenc xmm15, xmmword [rsp + 0x60]
aesenc xmm10, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x30]
aesenc xmm9, xmmword [rbp - 0x50]
aesenc xmm12, xmmword [rbp - 0x60]
aesenc xmm11, xmmword [rbp - 0x60]
aesenc xmm15, xmmword [rsp + 0x70]
aesenc xmm10, xmmword [rbp - 0x60]
aesenc xmm9, xmmword [rbp - 0x60]
aesenc xmm12, xmmword [rbp - 0x70]
aesenc xmm11, xmmword [rbp - 0x70]
aesenc xmm10, xmmword [rbp - 0x70]
aesenc xmm9, xmmword [rbp - 0x70]
aesenc xmm12, xmm3
aesenc xmm11, xmm3
aesenc xmm10, xmm3
aesenc xmm9, xmm3
aesenc xmm12, xmm2
aesenc xmm11, xmm2
aesenc xmm10, xmm2
aesenc xmm9, xmm2
aesenc xmm12, xmm1
aesenc xmm12, xmm0
aesenc xmm11, xmm1
aesenc xmm10, xmm1
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm1
aesenc xmm9, xmm0
movdqa xmm4, xmm12
movdqa xmm5, xmm11
movdqa xmm12, xmmword [rbp - 0x50]
movdqa xmm6, xmm10
movdqa xmm11, xmmword [rbp - 0x60]
movdqa xmm7, xmm9
movdqa xmm10, xmmword [rbp - 0x70]
movdqa xmm9, xmmword [rbp - 0x20]
aesenc xmm13, xmm12
aesenc xmm13, xmm11
aesenc xmm13, xmm10
aesenc xmm13, xmm3
aesenc xmm13, xmm2
aesenc xmm13, xmm1
aesenc xmm13, xmm0
movdqa xmm3, xmm13
movdqa xmm13, xmmword [rbp - 0x80]
aesenc xmm14, xmm13
aesenc xmm14, xmm12
aesenc xmm15, xmm13
aesenc xmm14, xmm11
aesenc xmm15, xmm12
aesenc xmm14, xmm10
aesenc xmm15, xmm11
aesenc xmm14, xmm9
aesenc xmm14, xmm2
aesenc xmm15, xmm10
aesenc xmm15, xmm9
aesenc xmm15, xmmword [rbp - 0x40]
aesenc xmm14, xmm1
aesenc xmm14, xmm0
movdqa xmm2, xmm14
aesenc xmm15, xmm1
aesenc xmm8, xmmword [rsp + 0x60]
aesenc xmm8, xmmword [rsp + 0x70]
aesenc xmm8, xmm13
movdqa xmm13, xmm2
xorps xmm13, xmm3
aesenc xmm8, xmm12
movdqa xmm12, xmm3
movdqa xmm3, xmmword [rbp - 0x20]
xorps xmm12, xmm4
aesenc xmm8, xmm11
movdqa xmm11, xmm4
xorps xmm11, xmm5
aesenc xmm8, xmm10
movdqa xmm10, xmm5
xorps xmm10, xmm6
aesenc xmm8, xmm9
movdqa xmm9, xmm6
xorps xmm9, xmm7
aesenc xmm8, xmmword [rbp - 0x40]
aesenc xmm8, xmmword [rbp - 0x30]
aesenc xmm15, xmm0
movdqa xmm1, xmm15
movdqa xmm14, xmm1
xorps xmm14, xmm2
movdqa xmm2, xmmword [rbp - 0x40]
aesenc xmm8, xmm0
movdqa xmm0, xmm8
movdqa xmm8, xmm7
movdqa xmm15, xmm0
xorps xmm8, xmm0
movdqa xmm0, xmmword [rbp - 0x10]
xorps xmm15, xmm1
sub rax, 1
jne 0x7ff7ed43e950
movdqa xmm1, xmmword [rbp - 0x30]
lea rcx, [r10 + 0x1fff800]
movdqa xmm4, xmmword [rbp - 0x70]
lea rdx, [r10 + 0x800]
movdqa xmm5, xmmword [rbp - 0x60]
xor eax, eax
movdqa xmm6, xmmword [rbp - 0x50]
add r10, 0x20
movdqa xmm7, xmmword [rbp - 0x80]
mov r9d, 0x400
prefetcht0 byte [rdx]
prefetcht0 byte [rdx + 0x200]
aesenc xmm9, xmmword [rsp + 0x60]
aesenc xmm10, xmmword [rsp + 0x60]
aesenc xmm11, xmmword [rsp + 0x60]
aesenc xmm12, xmmword [rsp + 0x60]
aesenc xmm13, xmmword [rsp + 0x60]
aesenc xmm14, xmmword [rsp + 0x60]
aesenc xmm15, xmmword [rsp + 0x60]
aesenc xmm8, xmmword [rsp + 0x60]
aesenc xmm9, xmmword [rsp + 0x70]
aesenc xmm10, xmmword [rsp + 0x70]
aesenc xmm11, xmmword [rsp + 0x70]
aesenc xmm12, xmmword [rsp + 0x70]
aesenc xmm13, xmmword [rsp + 0x70]
aesenc xmm14, xmmword [rsp + 0x70]
aesenc xmm15, xmmword [rsp + 0x70]
aesenc xmm8, xmmword [rsp + 0x70]
aesenc xmm9, xmm7
aesenc xmm10, xmm7
aesenc xmm11, xmm7
aesenc xmm12, xmm7
aesenc xmm13, xmm7
aesenc xmm14, xmm7
aesenc xmm15, xmm7
aesenc xmm8, xmm7
aesenc xmm9, xmm6
aesenc xmm10, xmm6
aesenc xmm11, xmm6
aesenc xmm12, xmm6
aesenc xmm13, xmm6
aesenc xmm14, xmm6
aesenc xmm15, xmm6
aesenc xmm8, xmm6
aesenc xmm9, xmm5
aesenc xmm10, xmm5
aesenc xmm11, xmm5
aesenc xmm12, xmm5
aesenc xmm13, xmm5
aesenc xmm14, xmm5
aesenc xmm15, xmm5
aesenc xmm8, xmm5
aesenc xmm9, xmm4
aesenc xmm10, xmm4
aesenc xmm11, xmm4
aesenc xmm12, xmm4
aesenc xmm13, xmm4
aesenc xmm14, xmm4
aesenc xmm15, xmm4
aesenc xmm8, xmm4
aesenc xmm9, xmm3
aesenc xmm10, xmm3
aesenc xmm11, xmm3
aesenc xmm12, xmm3
aesenc xmm13, xmm3
aesenc xmm14, xmm3
aesenc xmm15, xmm3
aesenc xmm8, xmm3
aesenc xmm9, xmm2
aesenc xmm10, xmm2
aesenc xmm11, xmm2
aesenc xmm12, xmm2
aesenc xmm13, xmm2
aesenc xmm14, xmm2
aesenc xmm15, xmm2
aesenc xmm8, xmm2
aesenc xmm9, xmm1
aesenc xmm9, xmm0
aesenc xmm10, xmm1
aesenc xmm11, xmm1
aesenc xmm12, xmm1
aesenc xmm13, xmm1
aesenc xmm14, xmm1
aesenc xmm15, xmm1
aesenc xmm8, xmm1
movdqu xmmword [r10 - 0x20], xmm9
aesenc xmm10, xmm0
aesenc xmm11, xmm0
aesenc xmm12, xmm0
aesenc xmm13, xmm0
aesenc xmm14, xmm0
aesenc xmm15, xmm0
aesenc xmm8, xmm0
movdqu xmmword [r10 - 0x10], xmm10
add rdx, r9
movdqu xmmword [r10], xmm11
movdqu xmmword [r10 + 0x10], xmm12
movdqu xmmword [r10 + 0x1e0], xmm13
movdqu xmmword [r10 + 0x1f0], xmm14
movdqu xmmword [r10 + 0x200], xmm15
movdqu xmmword [r10 + 0x210], xmm8
add r10, r9
lea r8, [r10 - 0x20]
cmp r8, rcx
jb 0x7ff7ed43ec43
add rcx, 0x800
inc eax
mov rdx, r8
cmp eax, 2
jl 0x7ff7ed43ec43
lea r11, [rsp + 0x1a0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rbp
ret