Function at 0x140156040
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov rax, rsp
sub rsp, 0x148
movdqu xmm3, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx]
mov rdx, qword [rcx + 0xe0]
movdqa xmm1, xmm2
pslldq xmm1, 4
movdqa xmm0, xmm1
movaps xmmword [rax - 0x18], xmm6
pslldq xmm1, 4
pxor xmm0, xmm2
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movdqa xmmword [rsp], xmm2
movdqa xmm2, xmm1
pslldq xmm1, 4
pxor xmm2, xmm0
pxor xmm2, xmm1
movdqa xmmword [rsp + 0x10], xmm3
aeskeygenassist xmm0, xmm3, 1
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
pshufd xmm1, xmm0, 0xff
pxor xmm2, xmm1
movdqa xmm1, xmm3
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x30], xmm2
pslldq xmm1, 4
pxor xmm0, xmm3
movdqa xmm3, xmm1
pslldq xmm1, 4
pxor xmm3, xmm0
pxor xmm3, xmm1
aeskeygenassist xmm0, xmm2, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm3, xmm1
movdqa xmm1, xmm2
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x40], xmm3
pslldq xmm1, 4
pxor xmm0, xmm2
movdqa xmm4, xmm1
pslldq xmm1, 4
pxor xmm4, xmm0
pxor xmm4, xmm1
aeskeygenassist xmm0, xmm3, 2
pshufd xmm1, xmm0, 0xff
pxor xmm4, xmm1
movdqa xmm1, xmm3
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x50], xmm4
pslldq xmm1, 4
pxor xmm0, xmm3
movdqa xmm9, xmm1
pslldq xmm1, 4
pxor xmm9, xmm0
pxor xmm9, xmm1
aeskeygenassist xmm0, xmm4, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm9, xmm1
movdqa xmm1, xmm4
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x60], xmm9
pslldq xmm1, 4
pxor xmm0, xmm4
movdqa xmm5, xmm1
pslldq xmm1, 4
pxor xmm5, xmm0
pxor xmm5, xmm1
aeskeygenassist xmm0, xmm9, 4
pshufd xmm1, xmm0, 0xff
pxor xmm5, xmm1
movdqa xmm1, xmm9
movdqa xmmword [rsp + 0x70], xmm5
pslldq xmm1, 4
movdqa xmm0, xmm1
pslldq xmm1, 4
movdqa xmm10, xmm1
pxor xmm0, xmm9
pslldq xmm1, 4
pxor xmm10, xmm0
pxor xmm10, xmm1
aeskeygenassist xmm0, xmm5, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm10, xmm1
movdqa xmm1, xmm5
pslldq xmm1, 4
movdqa xmm0, xmm1
movdqa xmmword [rsp + 0x80], xmm10
pslldq xmm1, 4
pxor xmm0, xmm5
movdqa xmm6, xmm1
pslldq xmm1, 4
pxor xmm6, xmm0
pxor xmm6, xmm1
aeskeygenassist xmm0, xmm10, 8
pshufd xmm1, xmm0, 0xff
pxor xmm6, xmm1
movdqa xmm1, xmm10
movdqu xmmword [rax - 0xb8], xmm6
mov eax, reloc.WS2_32.dll_recv
movdqu xmm8, xmmword [rcx + 0xb0]
movdqu xmm9, xmmword [rcx + 0xa0]
movdqu xmm11, xmmword [rcx + 0x80]
movdqu xmm12, xmmword [rcx + 0x70]
movdqu xmm13, xmmword [rcx + 0x60]
movdqu xmm14, xmmword [rcx + 0x50]
movdqu xmm15, xmmword [rcx + 0x40]
pslldq xmm1, 4
movdqa xmm0, xmm1
pslldq xmm1, 4
movdqa xmm7, xmm1
pxor xmm0, xmm10
movdqu xmm10, xmmword [rcx + 0x90]
pxor xmm7, xmm0
pslldq xmm1, 4
pxor xmm7, xmm1
aeskeygenassist xmm0, xmm6, 0
pshufd xmm1, xmm0, 0xaa
pxor xmm7, xmm1
movdqa xmmword [rsp + 0x20], xmm7
jmp 0x1401562ec
movdqa xmm2, xmmword [rsp + 0x30]
movdqa xmm3, xmmword [rsp + 0x40]
aesenc xmm15, xmmword [rsp]
aesenc xmm14, xmmword [rsp]
aesenc xmm13, xmmword [rsp]
aesenc xmm12, xmmword [rsp]
aesenc xmm15, xmmword [rsp + 0x10]
aesenc xmm11, xmmword [rsp]
aesenc xmm14, xmmword [rsp + 0x10]
aesenc xmm13, xmmword [rsp + 0x10]
aesenc xmm12, xmmword [rsp + 0x10]
aesenc xmm11, xmmword [rsp + 0x10]
aesenc xmm10, xmmword [rsp]
movdqa xmm1, xmmword [rsp + 0x60]
movdqa xmm0, xmmword [rsp + 0x80]
aesenc xmm10, xmmword [rsp + 0x10]
aesenc xmm9, xmmword [rsp]
aesenc xmm9, xmmword [rsp + 0x10]
aesenc xmm9, xmmword [rsp + 0x30]
aesenc xmm15, xmm2
aesenc xmm14, xmm2
aesenc xmm13, xmm2
aesenc xmm12, xmm2
aesenc xmm15, xmm3
aesenc xmm11, xmm2
aesenc xmm14, xmm3
aesenc xmm13, xmm3
aesenc xmm12, xmm3
aesenc xmm15, xmm4
aesenc xmm11, xmm3
aesenc xmm14, xmm4
aesenc xmm13, xmm4
aesenc xmm10, xmm2
aesenc xmm12, xmm4
aesenc xmm15, xmm1
aesenc xmm15, xmm5
aesenc xmm14, xmm1
aesenc xmm13, xmm1
aesenc xmm12, xmm1
aesenc xmm15, xmm0
aesenc xmm15, xmm6
aesenc xmm15, xmm7
movdqa xmm7, xmm15
movdqa xmm15, xmmword [rsp + 0x70]
aesenc xmm14, xmm15
aesenc xmm13, xmm15
aesenc xmm12, xmm15
aesenc xmm14, xmm0
aesenc xmm14, xmm6
aesenc xmm14, xmmword [rsp + 0x20]
aesenc xmm13, xmm0
aesenc xmm12, xmm0
movdqa xmm6, xmm14
movdqa xmm14, xmmword [rsp + 0x90]
aesenc xmm13, xmm14
aesenc xmm13, xmmword [rsp + 0x20]
aesenc xmm12, xmm14
movdqa xmm5, xmm13
movdqa xmm13, xmmword [rsp + 0x20]
aesenc xmm12, xmm13
movdqa xmm4, xmm12
movdqa xmm12, xmmword [rsp + 0x50]
aesenc xmm11, xmm12
aesenc xmm11, xmm1
aesenc xmm11, xmm15
aesenc xmm11, xmm0
aesenc xmm11, xmm14
aesenc xmm11, xmm13
movdqa xmm3, xmm11
movdqa xmm11, xmmword [rsp + 0x40]
aesenc xmm10, xmm11
aesenc xmm10, xmm12
aesenc xmm10, xmm1
aesenc xmm9, xmm11
aesenc xmm10, xmm15
aesenc xmm9, xmm12
aesenc xmm10, xmm0
aesenc xmm9, xmm1
aesenc xmm10, xmm14
aesenc xmm10, xmm13
aesenc xmm9, xmm15
movdqa xmm2, xmm10
aesenc xmm9, xmm0
aesenc xmm8, xmmword [rsp]
aesenc xmm8, xmmword [rsp + 0x10]
aesenc xmm8, xmmword [rsp + 0x30]
aesenc xmm8, xmm11
movdqa xmm11, xmm2
pxor xmm11, xmm3
aesenc xmm8, xmm12
movdqa xmm12, xmm3
pxor xmm12, xmm4
aesenc xmm8, xmmword [rsp + 0x60]
aesenc xmm8, xmm15
movdqa xmm15, xmm6
pxor xmm15, xmm7
aesenc xmm8, xmm0
aesenc xmm8, xmm14
aesenc xmm9, xmm14
movdqa xmm14, xmm5
pxor xmm14, xmm6
movdqa xmm6, xmmword [rsp + 0x90]
aesenc xmm8, xmm13
movdqa xmm0, xmm8
movdqa xmm8, xmm7
movdqa xmm7, xmmword [rsp + 0x20]
pxor xmm8, xmm0
aesenc xmm9, xmm13
movdqa xmm1, xmm9
movdqa xmm13, xmm4
movdqa xmm4, xmmword [rsp + 0x50]
movdqa xmm9, xmm0
movdqa xmm10, xmm1
pxor xmm13, xmm5
movdqa xmm5, xmmword [rsp + 0x70]
pxor xmm9, xmm1
pxor xmm10, xmm2
sub rax, 1
jne 0x1401562e0
movdqa xmm0, xmmword [rsp + 0x30]
lea rcx, [rdx + 0x3ff800]
movdqa xmm1, xmmword [rsp + 0x40]
lea r8, [rdx + 0x800]
movdqa xmm3, xmmword [rsp + 0x60]
movdqa xmm2, xmm4
movdqa xmm4, xmm5
xor eax, eax
movdqa xmm5, xmmword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
prefetcht0 byte [r8]
prefetcht0 byte [r8 + 0x40]
aesenc xmm15, xmmword [rsp]
aesenc xmm14, xmmword [rsp]
aesenc xmm13, xmmword [rsp]
aesenc xmm12, xmmword [rsp]
aesenc xmm11, xmmword [rsp]
aesenc xmm10, xmmword [rsp]
aesenc xmm9, xmmword [rsp]
aesenc xmm8, xmmword [rsp]
aesenc xmm15, xmmword [rsp + 0x10]
aesenc xmm14, xmmword [rsp + 0x10]
aesenc xmm13, xmmword [rsp + 0x10]
aesenc xmm12, xmmword [rsp + 0x10]
aesenc xmm11, xmmword [rsp + 0x10]
aesenc xmm10, xmmword [rsp + 0x10]
aesenc xmm9, xmmword [rsp + 0x10]
aesenc xmm8, xmmword [rsp + 0x10]
aesenc xmm15, xmm0
aesenc xmm14, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm11, xmm0
aesenc xmm10, xmm0
aesenc xmm9, xmm0
aesenc xmm8, xmm0
aesenc xmm15, xmm1
aesenc xmm14, xmm1
aesenc xmm13, xmm1
aesenc xmm12, xmm1
aesenc xmm11, xmm1
aesenc xmm10, xmm1
aesenc xmm9, xmm1
aesenc xmm8, xmm1
aesenc xmm15, xmm2
aesenc xmm14, xmm2
aesenc xmm13, xmm2
aesenc xmm12, xmm2
aesenc xmm11, xmm2
aesenc xmm10, xmm2
aesenc xmm9, xmm2
aesenc xmm8, xmm2
aesenc xmm15, xmm3
aesenc xmm14, xmm3
aesenc xmm13, xmm3
aesenc xmm12, xmm3
aesenc xmm11, xmm3
aesenc xmm10, xmm3
aesenc xmm9, xmm3
aesenc xmm8, xmm3
aesenc xmm15, xmm4
aesenc xmm14, xmm4
aesenc xmm13, xmm4
aesenc xmm12, xmm4
aesenc xmm11, xmm4
aesenc xmm10, xmm4
aesenc xmm9, xmm4
aesenc xmm8, xmm4
aesenc xmm15, xmm5
aesenc xmm14, xmm5
aesenc xmm13, xmm5
aesenc xmm12, xmm5
aesenc xmm11, xmm5
aesenc xmm10, xmm5
aesenc xmm9, xmm5
aesenc xmm8, xmm5
aesenc xmm15, xmm6
aesenc xmm15, xmm7
aesenc xmm14, xmm6
aesenc xmm13, xmm6
aesenc xmm12, xmm6
aesenc xmm11, xmm6
aesenc xmm10, xmm6
aesenc xmm9, xmm6
aesenc xmm8, xmm6
movdqu xmmword [rdx], xmm15
aesenc xmm14, xmm7
aesenc xmm13, xmm7
aesenc xmm12, xmm7
aesenc xmm11, xmm7
aesenc xmm10, xmm7
aesenc xmm9, xmm7
aesenc xmm8, xmm7
movdqu xmmword [rdx + 0x10], xmm14
lea r8, [r8 + 0x80]
movdqu xmmword [rdx + 0x20], xmm13
movdqu xmmword [rdx + 0x30], xmm12
movdqu xmmword [rdx + 0x40], xmm11
movdqu xmmword [rdx + 0x50], xmm10
movdqu xmmword [rdx + 0x60], xmm9
movdqu xmmword [rdx + 0x70], xmm8
sub rdx, 0xffffffffffffff80
cmp rdx, rcx
jb 0x140156600
add rcx, 0x800
inc eax
mov r8, rdx
cmp eax, 2
jl 0x140156600
lea r11, [rsp + 0x148]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
ret