Function at 0x4e8a8d
Capabilities:
Encrypt data using aes via x86 extensions
Hash data using sha256 via x86 extensions

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
lea rsp, [rsp - 0xa8]
movaps xmmword [rax - 0xa8], xmm6
movaps xmmword [rax - 0x98], xmm7
movaps xmmword [rax - 0x88], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x58], xmm11
movaps xmmword [rax - 0x48], xmm12
movaps xmmword [rax - 0x38], xmm13
movaps xmmword [rax - 0x28], xmm14
movaps xmmword [rax - 0x18], xmm15
lea rax, [0x004e49c0]
movdqu xmm1, xmmword [r9]
movdqu xmm2, xmmword [r9 + 0x10]
movdqa xmm3, xmmword [rax + 0x180]
mov r11d, dword [rcx + 0xf0]
sub rsi, rdi
movups xmm15, xmmword [rcx]
movups xmm6, xmmword [r8]
movups xmm4, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x70]
pshufd xmm0, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
pshufd xmm2, xmm2, 0x1b
movdqa xmm7, xmm3
palignr xmm1, xmm2, 8
punpcklqdq xmm2, xmm0
jmp 0x4e8b40
movdqu xmm10, xmmword [r10]
movdqu xmm11, xmmword [r10 + 0x10]
movdqu xmm12, xmmword [r10 + 0x20]
pshufb xmm10, xmm3
movdqu xmm13, xmmword [r10 + 0x30]
movdqa xmm0, xmmword [rax - 0x80]
paddd xmm0, xmm10
pshufb xmm11, xmm3
movdqa xmm9, xmm2
movdqa xmm8, xmm1
movups xmm14, xmmword [rdi]
xorps xmm14, xmm15
xorps xmm6, xmm14
movups xmm5, xmmword [rcx - 0x50]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movups xmm4, xmmword [rcx - 0x40]
aesenc xmm6, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax - 0x60]
paddd xmm0, xmm11
pshufb xmm12, xmm3
lea r10, [r10 + 0x40]
movups xmm5, xmmword [rcx - 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movups xmm4, xmmword [rcx - 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax - 0x40]
paddd xmm0, xmm12
pshufb xmm13, xmm3
sha256msg1 xmm10, xmm11
movups xmm5, xmmword [rcx - 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm13
palignr xmm3, xmm12, 4
paddd xmm10, xmm3
movups xmm4, xmmword [rcx]
aesenc xmm6, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax - 0x20]
paddd xmm0, xmm13
sha256msg2 xmm10, xmm13
sha256msg1 xmm11, xmm12
movups xmm5, xmmword [rcx + 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movups xmm4, xmmword [rcx + 0x20]
aesenc xmm6, xmm5
movdqa xmm3, xmm10
palignr xmm3, xmm13, 4
paddd xmm11, xmm3
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax]
paddd xmm0, xmm10
sha256msg2 xmm11, xmm10
sha256msg1 xmm12, xmm13
movups xmm5, xmmword [rcx + 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm11
palignr xmm3, xmm10, 4
paddd xmm12, xmm3
cmp r11d, 0xb
jb 0x4e8cbf
movups xmm4, xmmword [rcx + 0x40]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x50]
aesenc xmm6, xmm4
je 0x4e8cbf
movups xmm4, xmmword [rcx + 0x60]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x70]
aesenc xmm6, xmm4
aesenclast xmm6, xmm5
movups xmm4, xmmword [rcx - 0x60]
nop
sha256rnds2 xmm1, xmm2, xmm0
movups xmm14, xmmword [rdi + 0x10]
xorps xmm14, xmm15
movups xmmword [rsi + rdi], xmm6
xorps xmm6, xmm14
movups xmm5, xmmword [rcx - 0x50]
aesenc xmm6, xmm4
movdqa xmm0, xmmword [rax + 0x20]
paddd xmm0, xmm11
sha256msg2 xmm12, xmm11
sha256msg1 xmm13, xmm10
movups xmm4, xmmword [rcx - 0x40]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm12
palignr xmm3, xmm11, 4
paddd xmm13, xmm3
movups xmm5, xmmword [rcx - 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x40]
paddd xmm0, xmm12
sha256msg2 xmm13, xmm12
sha256msg1 xmm10, xmm11
movups xmm4, xmmword [rcx - 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm13
palignr xmm3, xmm12, 4
paddd xmm10, xmm3
movups xmm5, xmmword [rcx - 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x60]
paddd xmm0, xmm13
sha256msg2 xmm10, xmm13
sha256msg1 xmm11, xmm12
movups xmm4, xmmword [rcx]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm10
palignr xmm3, xmm13, 4
paddd xmm11, xmm3
movups xmm5, xmmword [rcx + 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x80]
paddd xmm0, xmm10
sha256msg2 xmm11, xmm10
sha256msg1 xmm12, xmm13
movups xmm4, xmmword [rcx + 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm11
palignr xmm3, xmm10, 4
paddd xmm12, xmm3
movups xmm5, xmmword [rcx + 0x30]
aesenc xmm6, xmm4
cmp r11d, 0xb
jb 0x4e8e21
movups xmm4, xmmword [rcx + 0x40]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x50]
aesenc xmm6, xmm4
je 0x4e8e21
movups xmm4, xmmword [rcx + 0x60]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x70]
aesenc xmm6, xmm4
aesenclast xmm6, xmm5
movups xmm4, xmmword [rcx - 0x60]
nop
sha256rnds2 xmm1, xmm2, xmm0
movups xmm14, xmmword [rdi + 0x20]
xorps xmm14, xmm15
movups xmmword [rsi + rdi + 0x10], xmm6
xorps xmm6, xmm14
movups xmm5, xmmword [rcx - 0x50]
aesenc xmm6, xmm4
movdqa xmm0, xmmword [rax + 0xa0]
paddd xmm0, xmm11
sha256msg2 xmm12, xmm11
sha256msg1 xmm13, xmm10
movups xmm4, xmmword [rcx - 0x40]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm12
palignr xmm3, xmm11, 4
paddd xmm13, xmm3
movups xmm5, xmmword [rcx - 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0xc0]
paddd xmm0, xmm12
sha256msg2 xmm13, xmm12
sha256msg1 xmm10, xmm11
movups xmm4, xmmword [rcx - 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm13
palignr xmm3, xmm12, 4
paddd xmm10, xmm3
movups xmm5, xmmword [rcx - 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0xe0]
paddd xmm0, xmm13
sha256msg2 xmm10, xmm13
sha256msg1 xmm11, xmm12
movups xmm4, xmmword [rcx]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm10
palignr xmm3, xmm13, 4
paddd xmm11, xmm3
movups xmm5, xmmword [rcx + 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x100]
paddd xmm0, xmm10
sha256msg2 xmm11, xmm10
sha256msg1 xmm12, xmm13
movups xmm4, xmmword [rcx + 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm11
palignr xmm3, xmm10, 4
paddd xmm12, xmm3
movups xmm5, xmmword [rcx + 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x120]
paddd xmm0, xmm11
sha256msg2 xmm12, xmm11
sha256msg1 xmm13, xmm10
cmp r11d, 0xb
jb 0x4e8fa8
movups xmm4, xmmword [rcx + 0x40]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x50]
aesenc xmm6, xmm4
je 0x4e8fa8
movups xmm4, xmmword [rcx + 0x60]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x70]
aesenc xmm6, xmm4
aesenclast xmm6, xmm5
movups xmm4, xmmword [rcx - 0x60]
nop
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movdqa xmm3, xmm12
palignr xmm3, xmm11, 4
paddd xmm13, xmm3
movups xmm14, xmmword [rdi + 0x30]
xorps xmm14, xmm15
movups xmmword [rsi + rdi + 0x20], xmm6
xorps xmm6, xmm14
movups xmm5, xmmword [rcx - 0x50]
aesenc xmm6, xmm4
movups xmm4, xmmword [rcx - 0x40]
aesenc xmm6, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x140]
paddd xmm0, xmm12
sha256msg2 xmm13, xmm12
movdqa xmm3, xmm7
movups xmm5, xmmword [rcx - 0x30]
aesenc xmm6, xmm4
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movups xmm4, xmmword [rcx - 0x20]
aesenc xmm6, xmm5
sha256rnds2 xmm1, xmm2, xmm0
movdqa xmm0, xmmword [rax + 0x160]
paddd xmm0, xmm13
movups xmm5, xmmword [rcx - 0x10]
aesenc xmm6, xmm4
movups xmm4, xmmword [rcx]
aesenc xmm6, xmm5
sha256rnds2 xmm2, xmm1, xmm0
pshufd xmm0, xmm0, 0xe
movups xmm5, xmmword [rcx + 0x10]
aesenc xmm6, xmm4
sha256rnds2 xmm1, xmm2, xmm0
movups xmm4, xmmword [rcx + 0x20]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x30]
aesenc xmm6, xmm4
cmp r11d, 0xb
jb 0x4e909b
movups xmm4, xmmword [rcx + 0x40]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x50]
aesenc xmm6, xmm4
je 0x4e909b
movups xmm4, xmmword [rcx + 0x60]
aesenc xmm6, xmm5
movups xmm5, xmmword [rcx + 0x70]
aesenc xmm6, xmm4
aesenclast xmm6, xmm5
movups xmm4, xmmword [rcx - 0x60]
nop
paddd xmm2, xmm9
paddd xmm1, xmm8
dec rdx
movups xmmword [rsi + rdi + 0x30], xmm6
lea rdi, [rdi + 0x40]
jne 0x4e8b40
pshufd xmm2, xmm2, 0xb1
pshufd xmm3, xmm1, 0x1b
pshufd xmm1, xmm1, 0xb1
punpckhqdq xmm1, xmm2
palignr xmm2, xmm3, 8
movups xmmword [r8], xmm6
movdqu xmmword [r9], xmm1
movdqu xmmword [r9 + 0x10], xmm2
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
lea rsp, [rsp + 0xa8]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret