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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rbx, rdx
mov rdi, rcx
call fcn.1800e0620
test al, al
je 0x1800dff58
mov eax, dword [0x18043b6e4]
test al, 1
jne 0x1800dff2e
or eax, 1
mov dword [0x18043b6e4], eax
lea rcx, [0x18043b6e0]
call fcn.1801587d0
nop
test dword [0x18043b6e0], 0x10000
je 0x1800dff58
mov r8, qword [rbx + 8]
mov rdx, qword [rbx]
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180156480
call fcn.1800e0620
test al, al
je 0x1800dff9b
mov eax, dword [0x18043b6e4]
test al, 1
jne 0x1800dff81
or eax, 1
mov dword [0x18043b6e4], eax
lea rcx, [0x18043b6e0]
call fcn.1801587d0
nop
test dword [0x18043b6e0], 0x10000
je 0x1800dff9b
mov byte [rsp + 0x20], 1
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
jmp 0x1800dffd3
mov rsi, qword [rbx + 8]
mov rbx, qword [rbx]
call fcn.1800e0620
test al, al
je 0x1800dffc8
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180153d60
mov byte [rsp + 0x20], 0
mov rdx, rsi
mov rcx, rbx
lea r9, [rdi + 0x20]
lea r8, [rdi + 8]
call fcn.1800e2600
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
sub rsp, 0xc0
movaps xmmword [rax - 0x18], xmm6
mov rdi, rdx
movaps xmmword [rax - 0x28], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x38], xmm8
mov edx, 0x2c
movaps xmmword [rax - 0x48], xmm9
add rcx, 8
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rsp + 0x40], xmm13
movaps xmmword [rsp + 0x30], xmm14
movaps xmmword [rsp + 0x20], xmm15
call fcn.1800dfff0
mov edx, 0x2c
lea rcx, [rbx + 0x20]
call fcn.1800dfff0
movdqu xmm2, xmmword [rdi]
mov rax, qword [rbx + 0x20]
lea r10, [0x180000000]
movdqa xmm10, xmmword [0x180370710]
mov r9d, 1
movdqa xmm9, xmmword [0x1803232b0]
movdqa xmm0, xmm2
pshufb xmm0, xmmword [0x1806c5430]
mov edx, reloc.WS2_32.dll_recv
mov r8d, 0x90
movdqa xmm7, xmmword [0x180370700]
movdqa xmm1, xmm2
movdqa xmm11, xmmword [0x180370810]
movdqa xmm12, xmmword [0x180370860]
movdqa xmm13, xmmword [0x180370800]
movdqa xmm14, xmmword [0x180370850]
movdqa xmm15, xmmword [0x180370960]
movdqu xmmword [rax + 0xa0], xmm0
mov rax, qword [rbx + 8]
movdqa xmm8, xmmword [0x1806c5270]
andps xmm2, xmmword [0x1806c51c0]
movdqa xmm0, xmmword [0x1806c5220]
psrld xmm1, 4
andps xmm1, xmmword [0x1806c51c0]
pshufb xmm8, xmm1
pshufb xmm0, xmm2
xorps xmm8, xmm0
movdqu xmmword [rax], xmm8
nop dword [rax]
nop dword [rax + rax]
movdqa xmm4, xmmword [0x1806c5180]
movdqa xmm0, xmm8
xorps xmm0, xmmword [rdx + r10 + 0x6c52d0]
movdqa xmm1, xmm4
movdqa xmm3, xmmword [0x1806c53f0]
movdqa xmm5, xmm0
pshufb xmm8, xmm10
movzx eax, r9b
neg al
pslldq xmm5, 4
xorps xmm5, xmm0
movzx ecx, al
movdqa xmm6, xmm8
andps xmm8, xmmword [0x1806c51c0]
psrld xmm6, 4
movdqa xmm0, xmm4
andps xmm6, xmmword [0x1806c51c0]
movdqa xmm2, xmm6
xorps xmm2, xmm8
pshufb xmm0, xmm6
pshufb xmm3, xmm8
movdqa xmm8, xmmword [0x1806c5400]
xorps xmm0, xmm3
pshufb xmm1, xmm0
movdqa xmm0, xmm5
pslldq xmm0, 8
xorps xmm1, xmm2
xorps xmm0, xmm5
xorps xmm0, xmm9
pshufb xmm8, xmm1
xorps xmm8, xmm0
movdqa xmm0, xmm4
pshufb xmm0, xmm2
xorps xmm0, xmm3
pshufb xmm4, xmm0
movdqa xmm0, xmmword [0x1806c53e0]
xorps xmm4, xmm6
pshufb xmm0, xmm4
xorps xmm8, xmm0
movdqa xmm1, xmm8
xorps xmm1, xmm9
pshufb xmm1, xmm7
movdqa xmm0, xmm1
pshufb xmm0, xmm7
movdqa xmm2, xmm0
xorps xmm0, xmm1
pshufb xmm2, xmm7
xorps xmm2, xmm0
and ecx, 0x80000003
jge 0x180153f85
dec ecx
or ecx, 0xfffffffc
inc ecx
movdqa xmm3, xmmword [0x1803708a0]
movdqa xmm0, xmm8
psrld xmm0, 4
movdqa xmm5, xmm12
movsxd rax, ecx
movdqa xmm1, xmm11
add rax, rax
pshufb xmm2, xmmword [r10 + rax*8 + 0x6c5410]
mov rax, qword [rbx + 8]
movdqu xmmword [rdx + rax], xmm2
mov eax, 0xfe
movdqa xmm4, xmmword [0x1806c51c0]
movdqa xmm2, xmm14
andps xmm0, xmm4
sub al, r9b
pshufb xmm5, xmm0
movzx eax, al
movdqa xmm0, xmm8
andps xmm0, xmm4
pshufb xmm1, xmm0
xorps xmm5, xmm1
movdqa xmm1, xmm13
movdqa xmm0, xmm5
psrld xmm0, 4
andps xmm0, xmm4
pshufb xmm2, xmm0
movdqa xmm0, xmm5
andps xmm0, xmm4
pshufb xmm1, xmm0
pshufb xmm5, xmm7
xorps xmm2, xmm1
movdqa xmm1, xmm15
xorps xmm5, xmm2
movdqa xmm0, xmm2
psrld xmm0, 4
andps xmm0, xmm4
pshufb xmm3, xmm0
movdqa xmm0, xmm2
andps xmm0, xmm4
pshufb xmm1, xmm0
pshufb xmm5, xmm7
xorps xmm3, xmm1
movdqa xmm1, xmmword [0x1803707e0]
xorps xmm5, xmm3
movdqa xmm0, xmm3
psrld xmm0, 4
andps xmm3, xmm4
andps xmm0, xmm4
pshufb xmm1, xmm0
movdqa xmm0, xmmword [0x180370890]
pshufb xmm5, xmm7
pshufb xmm0, xmm3
xorps xmm1, xmm0
xorps xmm5, xmm1
pshufb xmm5, xmm7
and eax, 0x80000003
jge 0x18015408c
dec eax
or eax, 0xfffffffc
inc eax
movsxd rcx, eax
inc r9
mov rax, qword [rbx + 0x20]
add rcx, rcx
add rdx, 0x10
pshufb xmm5, xmmword [r10 + rcx*8 + 0x6c5410]
movdqu xmmword [r8 + rax], xmm5
sub r8, 0x10
cmp rdx, 0xa0
jne 0x180153e90
movdqa xmm7, xmmword [0x1806c51c0]
lea r11, [rsp + 0xc0]
movdqa xmm3, xmmword [0x1806c5180]
movdqa xmm0, xmm8
xorps xmm0, xmmword [0x1806c5370]
movdqa xmm1, xmm3
movdqa xmm2, xmmword [0x1806c53f0]
movdqa xmm4, xmm0
movdqa xmm6, xmmword [0x1806c5400]
mov rax, qword [rbx + 8]
mov rsi, qword [r11 + 0x20]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [rsp + 0x30]
movaps xmm15, xmmword [rsp + 0x20]
pshufb xmm8, xmm10
movaps xmm10, xmmword [r11 - 0x50]
movdqa xmm5, xmm8
pslldq xmm4, 4
xorps xmm4, xmm0
psrld xmm5, 4
movdqa xmm0, xmm3
andps xmm5, xmm7
pshufb xmm0, xmm5
andps xmm8, xmm7
pshufb xmm2, xmm8
xorps xmm8, xmm5
xorps xmm0, xmm2
pshufb xmm1, xmm0
movdqa xmm0, xmm4
pslldq xmm0, 8
xorps xmm1, xmm8
xorps xmm0, xmm4
xorps xmm0, xmm9
pshufb xmm6, xmm1
movdqa xmm1, xmmword [0x180370950]
xorps xmm6, xmm0
movdqa xmm0, xmm3
pshufb xmm0, xmm8
movaps xmm8, xmmword [r11 - 0x30]
xorps xmm0, xmm2
pshufb xmm3, xmm0
movdqa xmm0, xmmword [0x1806c53e0]
xorps xmm3, xmm5
pshufb xmm0, xmm3
movdqa xmm3, xmmword [0x180370920]
xorps xmm6, xmm0
movdqa xmm2, xmm6
pshufb xmm2, xmmword [0x1806c5430]
xorps xmm2, xmm9
xorps xmm9, xmm6
movaps xmm6, xmmword [r11 - 0x10]
movdqa xmm0, xmm2
andps xmm2, xmm7
psrld xmm0, 4
pshufb xmm1, xmm2
movdqa xmm2, xmmword [0x1803707a0]
andps xmm0, xmm7
movaps xmm7, xmmword [r11 - 0x20]
pshufb xmm3, xmm0
xorps xmm3, xmm1
movdqa xmm1, xmm9
movdqu xmmword [rax + 0xa0], xmm3
mov rax, qword [rbx + 0x20]
andps xmm9, xmmword [0x1806c51c0]
movdqa xmm3, xmmword [0x1803707c0]
mov rbx, qword [r11 + 0x18]
pshufb xmm2, xmm9
movaps xmm9, xmmword [r11 - 0x40]
psrld xmm1, 4
andps xmm1, xmmword [0x1806c51c0]
pshufb xmm3, xmm1
xorps xmm3, xmm2
movdqu xmmword [rax], xmm3
mov rsp, r11
pop rdi
ret
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
push rdi
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
mov rdi, rdx
movaps xmmword [rax - 0x28], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x38], xmm8
mov edx, 0x2c
movaps xmmword [rax - 0x48], xmm9
add rcx, 8
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
call fcn.1800dfff0
mov edx, 0x2c
lea rcx, [rbx + 0x20]
call fcn.1800dfff0
movdqu xmm12, xmmword [rdi]
movdqa xmm0, xmm12
pslldq xmm0, 4
xorps xmm0, xmm12
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm11, xmm1
pslldq xmm11, 4
xorps xmm11, xmm1
aeskeygenassist xmm0, xmm12, 1
pshufd xmm1, xmm0, 0xff
xorps xmm11, xmm1
movdqa xmm0, xmm11
pslldq xmm0, 4
xorps xmm0, xmm11
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm10, xmm1
pslldq xmm10, 4
xorps xmm10, xmm1
aeskeygenassist xmm0, xmm11, 2
pshufd xmm1, xmm0, 0xff
xorps xmm10, xmm1
movdqa xmm0, xmm10
pslldq xmm0, 4
xorps xmm0, xmm10
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm9, xmm1
pslldq xmm9, 4
xorps xmm9, xmm1
aeskeygenassist xmm0, xmm10, 4
pshufd xmm1, xmm0, 0xff
xorps xmm9, xmm1
movdqa xmm0, xmm9
pslldq xmm0, 4
xorps xmm0, xmm9
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm8, xmm1
pslldq xmm8, 4
xorps xmm8, xmm1
aeskeygenassist xmm0, xmm9, 8
pshufd xmm1, xmm0, 0xff
xorps xmm8, xmm1
movdqa xmm0, xmm8
pslldq xmm0, 4
xorps xmm0, xmm8
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm7, xmm1
pslldq xmm7, 4
xorps xmm7, xmm1
aeskeygenassist xmm0, xmm8, 0x10
pshufd xmm1, xmm0, 0xff
xorps xmm7, xmm1
movdqa xmm0, xmm7
pslldq xmm0, 4
xorps xmm0, xmm7
movdqa xmm1, xmm0
pslldq xmm1, 4
mov rax, qword [rbx + 8]
xorps xmm1, xmm0
movdqa xmm6, xmm1
pslldq xmm6, 4
xorps xmm6, xmm1
movdqu xmmword [rax], xmm12
movdqu xmmword [rax + 0x10], xmm11
movdqu xmmword [rax + 0x20], xmm10
movdqu xmmword [rax + 0x30], xmm9
movdqu xmmword [rax + 0x40], xmm8
movdqu xmmword [rax + 0x50], xmm7
aeskeygenassist xmm0, xmm7, 0x20
pshufd xmm1, xmm0, 0xff
xorps xmm6, xmm1
movdqu xmmword [rax + 0x60], xmm6
movdqa xmm0, xmm6
pslldq xmm0, 4
xorps xmm0, xmm6
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm5, xmm1
pslldq xmm5, 4
xorps xmm5, xmm1
aeskeygenassist xmm0, xmm6, 0x40
pshufd xmm1, xmm0, 0xff
xorps xmm5, xmm1
movdqu xmmword [rax + 0x70], xmm5
movdqa xmm0, xmm5
pslldq xmm0, 4
xorps xmm0, xmm5
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm4, xmm1
pslldq xmm4, 4
xorps xmm4, xmm1
aeskeygenassist xmm0, xmm5, 0x80
pshufd xmm1, xmm0, 0xff
xorps xmm4, xmm1
movdqu xmmword [rax + 0x80], xmm4
movdqa xmm0, xmm4
pslldq xmm0, 4
xorps xmm0, xmm4
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm3, xmm1
pslldq xmm3, 4
xorps xmm3, xmm1
aeskeygenassist xmm0, xmm4, 0x1b
pshufd xmm1, xmm0, 0xff
xorps xmm3, xmm1
movdqu xmmword [rax + 0x90], xmm3
movdqa xmm0, xmm3
pslldq xmm0, 4
xorps xmm0, xmm3
movdqa xmm1, xmm0
pslldq xmm1, 4
xorps xmm1, xmm0
movdqa xmm2, xmm1
pslldq xmm2, 4
xorps xmm2, xmm1
aeskeygenassist xmm0, xmm3, 0x36
pshufd xmm1, xmm0, 0xff
xorps xmm2, xmm1
movdqu xmmword [rax + 0xa0], xmm2
mov rax, qword [rbx + 0x20]
aesimc xmm0, xmm3
aesimc xmm1, xmm4
movdqu xmmword [rax], xmm2
movdqu xmmword [rax + 0x10], xmm0
movdqu xmmword [rax + 0x20], xmm1
aesimc xmm0, xmm5
movdqu xmmword [rax + 0x30], xmm0
aesimc xmm1, xmm6
movdqu xmmword [rax + 0x40], xmm1
aesimc xmm0, xmm7
aesimc xmm1, xmm8
movdqu xmmword [rax + 0x50], xmm0
movdqu xmmword [rax + 0x60], xmm1
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
aesimc xmm0, xmm9
movaps xmm9, xmmword [r11 - 0x40]
movdqu xmmword [rax + 0x70], xmm0
aesimc xmm1, xmm10
movaps xmm10, xmmword [r11 - 0x50]
aesimc xmm0, xmm11
movaps xmm11, xmmword [r11 - 0x60]
movdqu xmmword [rax + 0x80], xmm1
movdqu xmmword [rax + 0x90], xmm0
movdqu xmmword [rax + 0xa0], xmm12
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop rdi
ret