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

Disassembly:
jmp 0x1800b1820
push rbp
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x138]
sub rsp, 0x238
movaps xmmword [rsp + 0x1d0], xmm10
movaps xmmword [rsp + 0x1b0], xmm12
mov rax, qword [0x180118258]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rdi, qword [rbp + 0x198]
mov r15, r8
mov rsi, qword [rbp + 0x190]
mov r13, r9
movdqa xmm12, xmmword [0x1800ede60]
and r13, 0xffffffffffffff80
mov qword [rsp + 0x38], r8
movabs rax, 0x1000000000
mov qword [rsp + 0x50], rdx
mov r8, rdi
mov rdx, qword [rbp + 0x1b0]
and r8, 0xffffffffffffffc0
mov qword [rsp + 0x20], r9
mov r12, rcx
mov qword [rsp + 0x28], rdx
movups xmm10, xmmword [rdx]
cmp r9, rax
jbe 0x1800b18b9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rax, qword [rbp + 0x1a8]
lea r10, [rdx + 0x20]
mov qword [rsp + 0x228], r14
mov ecx, reloc.WS2_32.dll_listen
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x1f0], xmm8
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
mov rax, r10
mov dword [rbp - 0x64], 0x1000000
movdqa xmm1, xmmword [rbp - 0x70]
movsd xmm1, xmm0
movaps xmmword [rsp + 0x1e0], xmm9
movdqa xmmword [rbp - 0x70], xmm1
pxor xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x1c0], xmm11
movaps xmmword [rsp + 0x1a0], xmm13
mov qword [rsp + 0x30], r10
nop dword [rax]
aesenc xmm1, xmmword [rax]
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x1800b1930
aesenclast xmm1, xmmword [rdx + 0xf0]
pshufb xmm10, xmm12
lea rax, [rdi*8]
bswap rax
movdqa xmmword [rbp - 0x20], xmm1
movdqa xmm1, xmm10
mov qword [rbp - 0x30], rax
pclmulqdq xmm1, xmm10, 0x10
movdqa xmm0, xmm10
movaps xmmword [rsp + 0x200], xmm7
pclmulqdq xmm0, xmm10, 1
pxor xmm1, xmm0
movaps xmmword [rsp + 0x190], xmm14
movdqa xmm0, xmm1
movaps xmmword [rsp + 0x180], xmm15
pslldq xmm0, 8
lea rax, [r9*8]
psrldq xmm1, 8
movdqa xmm2, xmm10
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm6, xmm10
movdqa xmm5, xmm2
pslld xmm2, 1
pclmulqdq xmm6, xmm10, 0x11
pxor xmm6, xmm1
psrld xmm5, 0x1f
movdqa xmm3, xmm5
psrldq xmm5, 0xc
pslldq xmm3, 4
por xmm3, xmm2
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
movdqa xmm1, xmm3
pslld xmm1, 0x19
pslld xmm4, 0x1f
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm9, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm9, 2
pxor xmm9, xmm0
psrld xmm1, 7
pxor xmm9, xmm1
movdqa xmm0, xmm6
psrld xmm0, 0x1f
pxor xmm9, xmm4
pslldq xmm0, 4
pxor xmm9, xmm2
pslld xmm6, 1
por xmm0, xmm6
por xmm0, xmm5
pxor xmm9, xmm0
movdqa xmm1, xmm9
movdqa xmmword [rsp + 0x70], xmm9
pclmulqdq xmm1, xmm10, 0x10
movdqa xmm0, xmm9
movdqa xmm2, xmm9
pclmulqdq xmm0, xmm10, 1
pxor xmm1, xmm0
movdqa xmm6, xmm9
movdqa xmm0, xmm1
psrldq xmm1, 8
pslldq xmm0, 8
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm5, xmm2
psrld xmm5, 0x1f
movdqa xmm3, xmm5
bswap rax
pclmulqdq xmm6, xmm10, 0x11
pslldq xmm3, 4
pxor xmm6, xmm1
mov qword [rbp - 0x28], rax
pslld xmm2, 1
por xmm3, xmm2
psrldq xmm5, 0xc
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
movdqa xmm1, xmm3
pslld xmm1, 0x19
pslld xmm4, 0x1f
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm11, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm1, 7
psrld xmm11, 2
pxor xmm11, xmm0
movdqa xmm0, xmm6
psrld xmm0, 0x1f
pxor xmm11, xmm1
pslldq xmm0, 4
pxor xmm11, xmm4
pxor xmm11, xmm2
pslld xmm6, 1
por xmm0, xmm6
por xmm0, xmm5
pxor xmm11, xmm0
movdqa xmm1, xmm11
movdqa xmmword [rsp + 0x60], xmm11
pclmulqdq xmm1, xmm10, 0x10
movdqa xmm0, xmm11
movdqa xmm2, xmm11
pclmulqdq xmm0, xmm10, 1
pxor xmm1, xmm0
movdqa xmm6, xmm11
movdqa xmm0, xmm1
psrldq xmm1, 8
pslldq xmm0, 8
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm5, xmm2
pslld xmm2, 1
psrld xmm5, 0x1f
movdqa xmm3, xmm5
psrldq xmm5, 0xc
pclmulqdq xmm6, xmm10, 0x11
pxor xmm6, xmm1
pslldq xmm3, 4
por xmm3, xmm2
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
movdqa xmm1, xmm3
pslld xmm4, 0x1f
pxor xmm4, xmm0
pslld xmm1, 0x19
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm13, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm13, 2
pxor xmm13, xmm0
psrld xmm1, 7
movdqa xmm0, xmm6
pxor xmm13, xmm1
psrld xmm0, 0x1f
pxor xmm13, xmm4
pslldq xmm0, 4
pxor xmm13, xmm2
pslld xmm6, 1
por xmm0, xmm6
por xmm0, xmm5
xorps xmm8, xmm8
pxor xmm13, xmm0
movdqa xmmword [rsp + 0x40], xmm13
test r8, r8
je 0x1800b1e90
pshufd xmm0, xmm11, 0x4e
lea rcx, [r8 - 1]
pxor xmm0, xmm11
pshufd xmm14, xmm10, 0x4e
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rsi + 0x20]
pshufd xmm0, xmm13, 0x4e
pxor xmm14, xmm10
pxor xmm0, xmm13
pshufd xmm15, xmm9, 0x4e
shr rcx, 6
pxor xmm15, xmm9
movdqa xmmword [rbp - 0x60], xmm0
inc rcx
movdqu xmm2, xmmword [rax + 0x10]
movdqu xmm3, xmmword [rax]
movdqu xmm5, xmmword [rax - 0x10]
movdqu xmm6, xmmword [rax - 0x20]
pshufb xmm2, xmm12
pshufb xmm5, xmm12
pshufb xmm3, xmm12
pshufb xmm6, xmm12
movdqa xmm7, xmm9
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm2, 0
pclmulqdq xmm7, xmm3, 0
pxor xmm7, xmm0
pxor xmm6, xmm8
movdqa xmm1, xmm11
movdqa xmm0, xmm13
pclmulqdq xmm1, xmm5, 0
pclmulqdq xmm0, xmm6, 0
pxor xmm7, xmm1
movdqa xmm4, xmm9
pxor xmm7, xmm0
movdqa xmm1, xmm11
pclmulqdq xmm1, xmm5, 0x11
pclmulqdq xmm4, xmm3, 0x11
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm2, 0x11
pxor xmm4, xmm0
movdqa xmm0, xmm13
pclmulqdq xmm0, xmm6, 0x11
pxor xmm4, xmm1
pshufd xmm1, xmm3, 0x4e
pxor xmm4, xmm0
pxor xmm1, xmm3
pshufd xmm0, xmm2, 0x4e
pxor xmm0, xmm2
movdqa xmm2, xmm14
pclmulqdq xmm2, xmm0, 0
pxor xmm2, xmm7
movdqa xmm0, xmm15
pclmulqdq xmm0, xmm1, 0
pxor xmm2, xmm4
pshufd xmm1, xmm5, 0x4e
pxor xmm2, xmm0
pxor xmm1, xmm5
movdqa xmm0, xmmword [rbp - 0x50]
pclmulqdq xmm0, xmm1, 0
pxor xmm2, xmm0
pshufd xmm1, xmm6, 0x4e
movdqa xmm0, xmmword [rbp - 0x60]
pxor xmm1, xmm6
pclmulqdq xmm0, xmm1, 0
pxor xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm2, 8
pxor xmm2, xmm4
pslldq xmm0, 8
movdqa xmm5, xmm2
pxor xmm0, xmm7
movdqa xmm1, xmm0
pslld xmm2, 1
psrld xmm1, 0x1f
movdqa xmm4, xmm1
psrld xmm5, 0x1f
pslld xmm0, 1
psrldq xmm1, 0xc
pslldq xmm5, 4
por xmm5, xmm2
pslldq xmm4, 4
por xmm4, xmm0
por xmm5, xmm1
movdqa xmm3, xmm4
movdqa xmm0, xmm4
pslld xmm3, 0x1f
movdqa xmm1, xmm4
pslld xmm0, 0x1e
pxor xmm3, xmm0
pslld xmm1, 0x19
pxor xmm3, xmm1
movdqa xmm2, xmm3
pslldq xmm2, 0xc
pxor xmm2, xmm4
psrldq xmm3, 4
movdqa xmm8, xmm2
psrld xmm8, 2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm1, 7
pxor xmm8, xmm0
lea rax, [rax + 0x40]
pxor xmm8, xmm1
pxor xmm8, xmm3
pxor xmm8, xmm2
pxor xmm8, xmm5
sub rcx, 1
jne 0x1800b1cc2
mov qword [rsp + 0x230], rbx
mov r14d, select
cmp r8, rdi
jae 0x1800b2005
mov r15d, r14d
lea rbx, [rsi + r8]
sub r15, rsi
neg rsi
lea rax, [r15 + rbx]
cmp rax, rdi
jbe 0x1800b1eea
mov eax, edi
sub eax, esi
sub eax, ebx
cmp eax, r14d
jae 0x1800b1eea
xorps xmm6, xmm6
movdqa xmmword [rbp - 0x60], xmm6
test eax, eax
je 0x1800b1eee
mov r8d, eax
lea rcx, [rbp - 0x60]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm6, xmmword [rbp - 0x60]
jmp 0x1800b1eee
movdqu xmm6, xmmword [rbx]
pshufb xmm6, xmm12
add rbx, r14
pxor xmm6, xmm8
movdqa xmm1, xmm6
lea rax, [rsi + rbx]
movdqa xmm0, xmm6
movdqa xmm2, xmm6
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm1, xmm10, 0x10
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm1, 8
pslldq xmm0, 8
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm5, xmm2
pslld xmm2, 1
psrld xmm5, 0x1f
movdqa xmm3, xmm5
psrldq xmm5, 0xc
pslldq xmm3, 4
por xmm3, xmm2
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
pslld xmm4, 0x1f
pxor xmm4, xmm0
pclmulqdq xmm6, xmm10, 0x11
pxor xmm6, xmm1
movdqa xmm1, xmm3
pslld xmm1, 0x19
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm8, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm8, 2
psrld xmm1, 7
pxor xmm8, xmm0
pxor xmm8, xmm1
movdqa xmm0, xmm6
psrld xmm0, 0x1f
pxor xmm8, xmm4
pslldq xmm0, 4
pxor xmm8, xmm2
pslld xmm6, 1
por xmm0, xmm6
por xmm0, xmm5
pxor xmm8, xmm0
cmp rax, rdi
jb 0x1800b1eb4
mov r9, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov byte [rbp - 0x61], 0
mov esi, dword [rbp - 0x64]
add esi, 2
mov dword [rbp - 0x64], esi
test r13, r13
je 0x1800b25e9
movdqa xmm15, xmmword [0x1800ede80]
lea r11, [r13 - 1]
pshufd xmm0, xmm10, 0x4e
mov r8, r12
pxor xmm0, xmm10
pshufd xmm1, xmm11, 0x4e
movdqa xmmword [rbp - 0x60], xmm0
pxor xmm1, xmm11
pshufd xmm0, xmm9, 0x4e
sub r8, r15
pxor xmm0, xmm9
shr r11, 7
movdqa xmmword [rbp - 0x50], xmm0
mov rbx, r15
pshufd xmm0, xmm13, 0x4e
inc r11
pxor xmm0, xmm13
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rbp - 0x40], xmm0
nop dword [rax + rax]
movdqa xmm7, xmmword [rbp - 0x70]
mov ecx, esi
movdqu xmm9, xmmword [rdx + 0x10]
inc esi
mov dword [rbp - 0x64], esi
movdqa xmm11, xmm9
movdqa xmm6, xmmword [rbp - 0x70]
movdqa xmm14, xmm9
lea eax, [rcx + 2]
movdqa xmm13, xmm9
mov dword [rbp - 0x64], eax
lea esi, [rcx + 8]
movdqa xmm5, xmmword [rbp - 0x70]
lea eax, [rcx + 3]
mov dword [rbp - 0x64], eax
movdqa xmm12, xmm9
movdqa xmm4, xmmword [rbp - 0x70]
lea eax, [rcx + 4]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 5]
movdqa xmm3, xmmword [rbp - 0x70]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 6]
movdqa xmm2, xmmword [rbp - 0x70]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 7]
movdqa xmm1, xmmword [rbp - 0x70]
mov ecx, reloc.WS2_32.dll_listen
pshufb xmm7, xmm15
mov dword [rbp - 0x64], eax
mov rax, r10
movdqa xmm0, xmmword [rbp - 0x70]
pshufb xmm6, xmm15
mov dword [rbp - 0x64], esi
pshufb xmm5, xmm15
pxor xmm11, xmm7
movdqa xmm7, xmm9
pxor xmm7, xmm6
movdqa xmm6, xmm9
pxor xmm6, xmm5
movdqa xmm5, xmm9
pshufb xmm0, xmm15
pshufb xmm4, xmm15
pshufb xmm3, xmm15
pshufb xmm2, xmm15
pshufb xmm1, xmm15
pxor xmm9, xmm0
pxor xmm5, xmm4
pxor xmm14, xmm3
pxor xmm13, xmm2
pxor xmm12, xmm1
nop
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
aesenc xmm11, xmm0
aesenc xmm7, xmm0
aesenc xmm6, xmm0
aesenc xmm5, xmm0
aesenc xmm14, xmm0
aesenc xmm13, xmm0
aesenc xmm12, xmm0
aesenc xmm9, xmm0
sub rcx, 1
jne 0x1800b2160
movdqu xmm1, xmmword [rdx + 0xf0]
movdqu xmm0, xmmword [rbx]
movdqa xmm4, xmmword [rbp - 0x60]
aesenclast xmm11, xmm1
pxor xmm11, xmm0
movdqu xmm0, xmmword [rbx + 0x10]
aesenclast xmm7, xmm1
pxor xmm7, xmm0
movdqu xmm0, xmmword [rbx + 0x20]
aesenclast xmm6, xmm1
pxor xmm6, xmm0
movdqu xmm0, xmmword [rbx + 0x30]
aesenclast xmm5, xmm1
pxor xmm5, xmm0
movdqu xmm0, xmmword [rbx + 0x40]
aesenclast xmm14, xmm1
pxor xmm14, xmm0
movdqu xmm0, xmmword [rbx + 0x50]
aesenclast xmm13, xmm1
pxor xmm13, xmm0
movdqu xmm0, xmmword [rbx + 0x60]
aesenclast xmm12, xmm1
pxor xmm12, xmm0
movdqu xmm0, xmmword [rbx + 0x70]
aesenclast xmm9, xmm1
movdqa xmm1, xmmword [rsp + 0x60]
pxor xmm9, xmm0
movdqa xmm0, xmmword [0x1800ede60]
movdqu xmmword [r8 + rbx], xmm11
pshufb xmm11, xmm0
movdqu xmmword [r8 + rbx + 0x20], xmm6
pshufb xmm6, xmm0
pxor xmm11, xmm8
movdqa xmm8, xmmword [rsp + 0x70]
movdqu xmmword [r8 + rbx + 0x30], xmm5
pshufb xmm5, xmm0
movdqu xmmword [r8 + rbx + 0x10], xmm7
pshufb xmm7, xmm0
movdqa xmm3, xmm8
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm5, 0
pclmulqdq xmm1, xmm7, 0
pclmulqdq xmm3, xmm6, 0
pxor xmm3, xmm0
movdqa xmm2, xmm8
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm3, xmm1
movdqa xmm1, xmmword [rsp + 0x60]
pclmulqdq xmm0, xmm11, 0
pxor xmm3, xmm0
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm5, 0x11
pclmulqdq xmm1, xmm7, 0x11
pclmulqdq xmm2, xmm6, 0x11
pxor xmm2, xmm0
movdqa xmm0, xmmword [rsp + 0x40]
pclmulqdq xmm0, xmm11, 0x11
pxor xmm2, xmm1
pshufd xmm1, xmm6, 0x4e
pxor xmm2, xmm0
pxor xmm1, xmm6
pshufd xmm0, xmm5, 0x4e
pxor xmm0, xmm5
pclmulqdq xmm4, xmm0, 0
movdqa xmm0, xmmword [rbp - 0x50]
pxor xmm4, xmm3
pclmulqdq xmm0, xmm1, 0
pxor xmm4, xmm2
pshufd xmm1, xmm7, 0x4e
pxor xmm4, xmm0
pxor xmm1, xmm7
movdqa xmm0, xmmword [rbp - 0x80]
pclmulqdq xmm0, xmm1, 0
pshufd xmm1, xmm11, 0x4e
pxor xmm4, xmm0
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm1, xmm11
movdqu xmmword [r8 + rbx + 0x40], xmm14
movdqu xmmword [r8 + rbx + 0x50], xmm13
movdqu xmmword [r8 + rbx + 0x60], xmm12
movdqu xmmword [r8 + rbx + 0x70], xmm9
pclmulqdq xmm0, xmm1, 0
pxor xmm4, xmm0
movdqa xmm0, xmm4
psrldq xmm4, 8
pxor xmm4, xmm2
pslldq xmm0, 8
pxor xmm0, xmm3
movdqa xmm5, xmm4
movdqa xmm1, xmm0
pslld xmm4, 1
pslld xmm0, 1
psrld xmm1, 0x1f
movdqa xmm3, xmm1
psrld xmm5, 0x1f
psrldq xmm1, 0xc
pslldq xmm3, 4
por xmm3, xmm0
pslldq xmm5, 4
por xmm5, xmm4
movdqa xmm0, xmm3
pslld xmm0, 0x1e
por xmm5, xmm1
movdqa xmm4, xmm3
movdqa xmm1, xmm3
pslld xmm1, 0x19
pslld xmm4, 0x1f
pxor xmm4, xmm0
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmmword [0x1800ede60]
pshufb xmm9, xmm3
pshufb xmm12, xmm3
movdqa xmm6, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm1, 7
psrld xmm6, 2
pxor xmm6, xmm0
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm9, 0
pxor xmm6, xmm1
movdqa xmm1, xmmword [rsp + 0x60]
pxor xmm6, xmm4
movdqa xmm4, xmm8
pxor xmm6, xmm2
movdqa xmm2, xmm8
pshufb xmm13, xmm3
pshufb xmm14, xmm3
movdqa xmm3, xmmword [rbp - 0x60]
pxor xmm6, xmm5
pclmulqdq xmm1, xmm13, 0
pclmulqdq xmm4, xmm12, 0
pxor xmm4, xmm0
pxor xmm6, xmm14
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm4, xmm1
movdqa xmm1, xmmword [rsp + 0x60]
pclmulqdq xmm0, xmm6, 0
pxor xmm4, xmm0
movdqa xmm0, xmm10
pclmulqdq xmm0, xmm9, 0x11
pclmulqdq xmm2, xmm12, 0x11
pxor xmm2, xmm0
movdqa xmm0, xmmword [rsp + 0x40]
pclmulqdq xmm0, xmm6, 0x11
pclmulqdq xmm1, xmm13, 0x11
pxor xmm2, xmm1
pshufd xmm1, xmm12, 0x4e
pxor xmm2, xmm0
pxor xmm1, xmm12
pshufd xmm0, xmm9, 0x4e
pxor xmm0, xmm9
pclmulqdq xmm3, xmm0, 0
movdqa xmm0, xmmword [rbp - 0x50]
pxor xmm3, xmm4
pxor xmm3, xmm2
pclmulqdq xmm0, xmm1, 0
pxor xmm3, xmm0
pshufd xmm1, xmm13, 0x4e
movdqa xmm0, xmmword [rbp - 0x80]
pxor xmm1, xmm13
pclmulqdq xmm0, xmm1, 0
pxor xmm3, xmm0
pshufd xmm1, xmm6, 0x4e
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm1, xmm6
pclmulqdq xmm0, xmm1, 0
pxor xmm3, xmm0
sub rbx, 0xffffffffffffff80
movdqa xmm0, xmm3
psrldq xmm3, 8
pslldq xmm0, 8
pxor xmm3, xmm2
pxor xmm0, xmm4
movdqa xmm5, xmm3
pslld xmm3, 1
movdqa xmm1, xmm0
psrld xmm1, 0x1f
pslld xmm0, 1
movdqa xmm4, xmm1
psrldq xmm1, 0xc
psrld xmm5, 0x1f
pslldq xmm5, 4
pslldq xmm4, 4
por xmm5, xmm3
por xmm4, xmm0
por xmm5, xmm1
movdqa xmm3, xmm4
movdqa xmm0, xmm4
pslld xmm3, 0x1f
movdqa xmm1, xmm4
pslld xmm0, 0x1e
pslld xmm1, 0x19
pxor xmm3, xmm0
pxor xmm3, xmm1
movdqa xmm2, xmm3
psrldq xmm3, 4
pslldq xmm2, 0xc
pxor xmm2, xmm4
movdqa xmm8, xmm2
movdqa xmm0, xmm2
psrld xmm8, 2
movdqa xmm1, xmm2
psrld xmm0, 1
psrld xmm1, 7
pxor xmm8, xmm0
pxor xmm8, xmm1
pxor xmm8, xmm3
pxor xmm8, xmm2
pxor xmm8, xmm5
sub r11, 1
jne 0x1800b2080
movdqa xmm12, xmmword [0x1800ede60]
movaps xmm15, xmmword [rsp + 0x180]
movaps xmm14, xmmword [rsp + 0x190]
movaps xmm13, xmmword [rsp + 0x1a0]
cmp r13, r9
jae 0x1800b293f
movdqa xmm11, xmmword [0x1800ede80]
mov r8d, 0x80
sub r8, r12
mov qword [rsp + 0x40], r8
nop dword [rax]
nop dword [rax + rax]
movdqa xmm1, xmmword [rbp - 0x70]
mov ecx, esi
movdqu xmm0, xmmword [rdx + 0x10]
inc esi
mov dword [rbp - 0x64], esi
mov edi, 0x80
movdqa xmm2, xmmword [rbp - 0x70]
lea eax, [rcx + 2]
mov dword [rbp - 0x64], eax
lea esi, [rcx + 8]
movdqa xmm3, xmmword [rbp - 0x70]
lea eax, [rcx + 3]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 4]
movdqa xmm4, xmmword [rbp - 0x70]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 5]
movdqa xmm5, xmmword [rbp - 0x70]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 6]
movdqa xmm6, xmmword [rbp - 0x70]
mov dword [rbp - 0x64], eax
lea eax, [rcx + 7]
movdqa xmm7, xmmword [rbp - 0x70]
lea ecx, [rdi - 0x73]
mov dword [rbp - 0x64], eax
mov rax, r10
movdqa xmm9, xmmword [rbp - 0x70]
pshufb xmm9, xmm11
mov dword [rbp - 0x64], esi
pshufb xmm1, xmm11
pshufb xmm2, xmm11
pshufb xmm3, xmm11
pshufb xmm4, xmm11
pshufb xmm5, xmm11
pshufb xmm6, xmm11
pshufb xmm7, xmm11
pxor xmm9, xmm0
pxor xmm1, xmm0
pxor xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
pxor xmm5, xmm0
pxor xmm6, xmm0
pxor xmm7, xmm0
nop dword [rax + rax]
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
aesenc xmm1, xmm0
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
aesenc xmm9, xmm0
sub rcx, 1
jne 0x1800b26f0
movdqu xmm0, xmmword [rdx + 0xf0]
lea rbx, [r12 + r13]
lea rax, [r8 + rbx]
aesenclast xmm1, xmm0
movdqa xmmword [rbp - 0x10], xmm1
aesenclast xmm2, xmm0
movdqa xmmword [rbp], xmm2
aesenclast xmm3, xmm0
movdqa xmmword [rbp + 0x10], xmm3
aesenclast xmm4, xmm0
movdqa xmmword [rbp + 0x20], xmm4
aesenclast xmm5, xmm0
movdqa xmmword [rbp + 0x30], xmm5
aesenclast xmm6, xmm0
movdqa xmmword [rbp + 0x40], xmm6
aesenclast xmm7, xmm0
movdqa xmmword [rbp + 0x50], xmm7
aesenclast xmm9, xmm0
movdqa xmmword [rbp + 0x60], xmm9
cmp rax, r9
jb 0x1800b279a
mov rdi, r9
sub rdi, r13
je 0x1800b292d
mov r9, r15
lea r8, [rbp - 0x10]
sub r9, r12
sub r8, r12
sub r8, r13
mov rcx, rbx
mov rdx, rdi
movzx eax, byte [r8 + rcx]
xor al, byte [r9 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1800b27b0
mov r15, r14
mov r14, rbx
sub r15, r12
sub r15, r13
neg r14
lea rax, [r15 + rbx]
cmp rax, rdi
jb 0x1800b280b
mov eax, edi
sub eax, ebx
sub eax, r14d
cmp eax, 0x10
jae 0x1800b280b
xorps xmm6, xmm6
movdqa xmmword [rbp - 0x50], xmm6
test eax, eax
je 0x1800b280f
mov r8d, eax
lea rcx, [rbp - 0x50]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm6, xmmword [rbp - 0x50]
jmp 0x1800b280f
movdqu xmm6, xmmword [rbx]
pshufb xmm6, xmm12
add rbx, 0x10
pxor xmm6, xmm8
movdqa xmm1, xmm6
lea rax, [rbx + r14]
movdqa xmm0, xmm6
movdqa xmm2, xmm6
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm1, xmm10, 0x10
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm1, 8
pslldq xmm0, 8
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm5, xmm2
pslld xmm2, 1
psrld xmm5, 0x1f
movdqa xmm3, xmm5
psrldq xmm5, 0xc
pslldq xmm3, 4
por xmm3, xmm2
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
pslld xmm4, 0x1f
pxor xmm4, xmm0
pclmulqdq xmm6, xmm10, 0x11
pxor xmm6, xmm1
movdqa xmm1, xmm3
pslld xmm1, 0x19
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm8, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm8, 2
psrld xmm1, 7
pxor xmm8, xmm0
pxor xmm8, xmm1
movdqa xmm0, xmm6
psrld xmm0, 0x1f
pxor xmm8, xmm4
pslldq xmm0, 4
pxor xmm8, xmm2
pslld xmm6, 1
por xmm0, xmm6
por xmm0, xmm5
pxor xmm8, xmm0
cmp rax, rdi
jb 0x1800b27d4
mov r9, qword [rsp + 0x20]
mov r14d, select
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov r15, qword [rsp + 0x38]
sub r13, 0xffffffffffffff80
cmp r13, r9
jb 0x1800b2630
movdqa xmm6, xmmword [rbp - 0x30]
lea r8, [rbp - 0x20]
movaps xmm11, xmmword [rsp + 0x1c0]
lea rcx, [r12 + r9]
movaps xmm9, xmmword [rsp + 0x1e0]
lea rdx, [rbp - 0x31]
movaps xmm7, xmmword [rsp + 0x200]
sub r8, r12
mov rbx, qword [rsp + 0x230]
sub r8, r9
pshufb xmm6, xmm12
pxor xmm6, xmm8
movaps xmm8, xmmword [rsp + 0x1f0]
movdqa xmm1, xmm6
movdqa xmm0, xmm6
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm1, xmm10, 0x10
pxor xmm1, xmm0
movdqa xmm2, xmm6
movdqa xmm0, xmm1
psrldq xmm1, 8
pslldq xmm0, 8
pclmulqdq xmm2, xmm10, 0
pxor xmm2, xmm0
movdqa xmm5, xmm2
pslld xmm2, 1
pclmulqdq xmm6, xmm10, 0x11
pxor xmm6, xmm1
psrld xmm5, 0x1f
movdqa xmm3, xmm5
psrldq xmm5, 0xc
pslldq xmm3, 4
por xmm3, xmm2
movdqa xmm4, xmm3
movdqa xmm0, xmm3
pslld xmm0, 0x1e
movdqa xmm1, xmm3
pslld xmm4, 0x1f
pxor xmm4, xmm0
pslld xmm1, 0x19
pxor xmm4, xmm1
movdqa xmm2, xmm4
psrldq xmm4, 4
pslldq xmm2, 0xc
pxor xmm2, xmm3
movdqa xmm3, xmm2
movdqa xmm0, xmm2
psrld xmm0, 1
movdqa xmm1, xmm2
psrld xmm3, 2
pxor xmm3, xmm0
psrld xmm1, 7
movdqa xmm0, xmm6
pxor xmm3, xmm1
psrld xmm0, 0x1f
pxor xmm3, xmm4
pslldq xmm0, 4
pxor xmm3, xmm2
pslld xmm6, 1
por xmm0, xmm6
movaps xmm6, xmmword [rsp + 0x210]
por xmm0, xmm5
pxor xmm3, xmm0
movdqa xmmword [rbp - 0x40], xmm3
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
xor al, byte [rdx]
lea rdx, [rdx - 1]
mov byte [rcx - 1], al
sub r14, 1
jne 0x1800b2a80
mov rcx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x228]
test rcx, rcx
je 0x1800b2ab1
lea rax, [r9 + 0x10]
mov qword [rcx], rax
xor eax, eax
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.180002752
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm12, xmmword [rsp + 0x1b0]
add rsp, 0x238
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret