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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x3b8]
sub rsp, 0x4b0
mov qword [rax - 0x10], rbx
mov r10, r8
mov rbx, qword [rbp + 0x408]
mov qword [rax - 0x18], rsi
mov rsi, r9
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov r13, rcx
mov qword [rax - 0x38], r14
mov r14, rdx
mov qword [rax - 0x40], r15
mov r15d, dword [rbp + 0x3f8]
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
xorps xmm9, xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
xorps xmm12, xmm12
movaps xmmword [rax - 0xc8], xmm13
xorps xmm13, xmm13
movaps xmmword [rax - 0xd8], xmm14
mov qword [rbp - 0x80], r8
xor r8d, r8d
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [rbp + 0x418]
mov qword [rbp - 0x50], rax
movdqa xmmword [rsp + 0x30], xmm12
movdqa xmmword [rsp + 0x60], xmm9
cmp r15d, 0xc
jne 0x1400c9e76
mov eax, dword [r9]
movdqu xmm10, xmmword [rbx]
movdqu xmm7, xmmword [rbx + 0x80]
movdqa xmm11, xmm10
aesenc xmm11, xmmword [rbx + 0x10]
aesenc xmm11, xmmword [rbx + 0x20]
aesenc xmm11, xmmword [rbx + 0x30]
aesenc xmm11, xmmword [rbx + 0x40]
aesenc xmm11, xmmword [rbx + 0x50]
aesenc xmm11, xmmword [rbx + 0x60]
aesenc xmm11, xmmword [rbx + 0x70]
movdqu xmm8, xmmword [rbx + 0x90]
movdqu xmm1, xmmword [rbx + 0xa0]
mov edi, dword [rbp + 0x410]
mov dword [rbp + 0x2c0], eax
mov eax, dword [r9 + 4]
mov dword [rbp + 0x2c4], eax
mov eax, dword [r9 + 8]
mov dword [rbp + 0x2c8], eax
mov dword [rbp + 0x2cc], 0x1000000
movdqa xmmword [rsp + 0x20], xmm1
movdqu xmm9, xmmword [rbp + 0x2c0]
aesenc xmm11, xmm7
pxor xmm10, xmm9
aesenc xmm10, xmmword [rbx + 0x10]
aesenc xmm10, xmmword [rbx + 0x20]
aesenc xmm10, xmmword [rbx + 0x30]
aesenc xmm10, xmmword [rbx + 0x40]
aesenc xmm10, xmmword [rbx + 0x50]
aesenc xmm10, xmmword [rbx + 0x60]
aesenc xmm10, xmmword [rbx + 0x70]
aesenc xmm10, xmm7
aesenc xmm10, xmm8
aesenc xmm11, xmm8
cmp edi, 0xa
jle 0x1400c9e47
movdqu xmm0, xmmword [rbx + 0xb0]
aesenc xmm11, xmm1
aesenc xmm10, xmm1
movdqu xmm1, xmmword [rbx + 0xc0]
movdqa xmmword [rsp + 0x20], xmm1
aesenc xmm11, xmm0
aesenc xmm10, xmm0
cmp edi, r15d
jle 0x1400c9e47
movdqu xmm0, xmmword [rbx + 0xd0]
aesenc xmm11, xmm1
aesenc xmm10, xmm1
movdqu xmm1, xmmword [rbx + 0xe0]
movdqa xmmword [rsp + 0x20], xmm1
aesenc xmm11, xmm0
aesenc xmm10, xmm0
movdqa xmm8, xmmword [0x140231050]
movdqu xmm6, xmmword [rbp + 0x2c0]
movdqa xmm9, xmmword [rsp + 0x60]
aesenclast xmm11, xmm1
pshufb xmm11, xmm8
aesenclast xmm10, xmm1
jmp 0x1400ca0cc
mov r12d, r15d
and r12d, 0xf
je 0x1400c9ea9
mov r8d, r12d
test r12d, r12d
je 0x1400c9ea6
mov rdx, r15
lea rcx, [rsp + 0x30]
and rdx, 0xfffffffffffffff0
add rdx, r9
call sub.VCRUNTIME140.dll_memcpy
mov r10, qword [rbp - 0x80]
movdqa xmm12, xmmword [rsp + 0x30]
xor r8d, r8d
movdqu xmm10, xmmword [rbx]
movdqu xmm15, xmmword [rbx + 0x80]
movdqa xmm6, xmm10
aesenc xmm6, xmmword [rbx + 0x10]
aesenc xmm6, xmmword [rbx + 0x20]
aesenc xmm6, xmmword [rbx + 0x30]
aesenc xmm6, xmmword [rbx + 0x40]
aesenc xmm6, xmmword [rbx + 0x50]
aesenc xmm6, xmmword [rbx + 0x60]
aesenc xmm6, xmmword [rbx + 0x70]
movdqu xmm14, xmmword [rbx + 0x90]
movdqu xmm7, xmmword [rbx + 0xa0]
mov edi, dword [rbp + 0x410]
movdqa xmm0, xmm7
aesenc xmm6, xmm15
aesenc xmm6, xmm14
cmp edi, 0xa
jle 0x1400c9f43
movdqu xmm0, xmmword [rbx + 0xc0]
aesenc xmm6, xmm7
aesenc xmm6, xmmword [rbx + 0xb0]
cmp edi, 0xc
jle 0x1400c9f43
aesenc xmm6, xmm0
aesenc xmm6, xmmword [rbx + 0xd0]
movdqu xmm0, xmmword [rbx + 0xe0]
movdqa xmm8, xmmword [0x140231050]
mov rax, r15
movdqa xmm11, xmm6
shr rax, 4
xorps xmm1, xmm1
aesenclast xmm11, xmm0
pshufb xmm11, xmm8
test rax, rax
je 0x1400c9fb0
movdqa xmmword [rbp + 0x2c0], xmm11
movdqu xmm6, xmmword [rsi]
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x260]
pshufb xmm6, xmm8
movdqa xmm0, xmm6
pxor xmm0, xmm1
movdqa xmmword [rbp + 0x260], xmm0
call fcn.1400cda90
lea rsi, [rsi + 0x10]
movdqa xmm1, xmm0
sub rax, 1
jne 0x1400c9f75
test r12d, r12d
je 0x1400c9ff0
movdqa xmm6, xmm12
movdqa xmmword [rbp + 0x270], xmm11
pshufb xmm6, xmm8
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x280]
movdqa xmm0, xmm6
pxor xmm0, xmm1
movdqa xmmword [rbp + 0x280], xmm0
call fcn.1400cda90
movdqa xmm1, xmm0
lea ecx, [r15*8]
movdqa xmmword [rbp + 0x290], xmm11
pinsrq xmm6, rcx, 0
pinsrq xmm6, r8, 1
pxor xmm6, xmm1
lea rdx, [rbp + 0x290]
lea rcx, [rbp + 0x2a0]
movdqa xmmword [rbp + 0x2a0], xmm6
call fcn.1400cda90
movdqa xmmword [rsp + 0x20], xmm7
movdqa xmm6, xmm0
pshufb xmm6, xmm8
pxor xmm10, xmm6
aesenc xmm10, xmmword [rbx + 0x10]
aesenc xmm10, xmmword [rbx + 0x20]
aesenc xmm10, xmmword [rbx + 0x30]
aesenc xmm10, xmmword [rbx + 0x40]
aesenc xmm10, xmmword [rbx + 0x50]
aesenc xmm10, xmmword [rbx + 0x60]
aesenc xmm10, xmmword [rbx + 0x70]
aesenc xmm10, xmm15
aesenc xmm10, xmm14
cmp edi, 0xa
jle 0x1400ca0c6
aesenc xmm10, xmm7
movdqu xmm7, xmmword [rbx + 0xc0]
movdqa xmmword [rsp + 0x20], xmm7
aesenc xmm10, xmmword [rbx + 0xb0]
cmp edi, 0xc
jle 0x1400ca0c6
aesenc xmm10, xmm7
movdqu xmm7, xmmword [rbx + 0xe0]
aesenc xmm10, xmmword [rbx + 0xd0]
movdqa xmmword [rsp + 0x20], xmm7
aesenclast xmm10, xmm7
mov r11d, dword [rbp + 0x3f0]
mov r9d, r8d
mov eax, r11d
movdqa xmmword [rbp - 0x60], xmm10
shr eax, 4
mov r8d, eax
test eax, eax
je 0x1400ca130
movdqa xmmword [rbp + 0x20], xmm11
mov rax, r10
mov r9d, r8d
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x30]
pshufb xmm0, xmm8
pxor xmm0, xmm9
movdqa xmmword [rbp + 0x30], xmm0
call fcn.1400cda90
lea rax, [rax + 0x10]
movdqa xmm9, xmm0
sub r8, 1
jne 0x1400ca100
mov eax, r11d
and eax, 0xf
je 0x1400ca18c
mov r8d, eax
movdqa xmm0, xmm13
movdqa xmmword [rsp + 0x30], xmm0
test eax, eax
je 0x1400ca164
mov edx, r9d
lea rcx, [rsp + 0x30]
shl rdx, 4
add rdx, r10
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm0, xmmword [rsp + 0x30]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x50]
movdqa xmmword [rbp + 0x40], xmm11
pxor xmm0, xmm9
movdqa xmmword [rbp + 0x50], xmm0
call fcn.1400cda90
movdqa xmm9, xmm0
movdqa xmm14, xmmword [0x140231040]
lea rcx, [rbp + 0x60]
movdqa xmm15, xmmword [0x140230fc0]
pshufb xmm6, xmm14
movdqa xmm12, xmm15
movdqa xmmword [rbp + 0x60], xmm11
paddd xmm12, xmm6
call fcn.1400cda50
mov r12d, dword [rbp + 0x3e8]
xor r15d, r15d
mov esi, r12d
movdqa xmmword [rbp - 0x40], xmm0
shr esi, 7
movdqa xmm10, xmm0
test esi, esi
je 0x1400caa25
lea rdx, [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
lea rcx, [rbp + 0x80]
movdqa xmmword [rbp + 0x80], xmm0
call fcn.1400cd9e0
lea rdx, [rbp + 0x90]
movdqa xmmword [rbp + 0x90], xmm0
lea rcx, [rbp + 0xa0]
movdqa xmmword [rbp + 0xa0], xmm10
movdqa xmm7, xmm0
call fcn.1400cd9e0
lea rdx, [rbp + 0xb0]
movdqa xmmword [rbp + 0xb0], xmm7
lea rcx, [rbp + 0xc0]
movdqa xmmword [rbp + 0xc0], xmm7
movdqa xmm11, xmm0
call fcn.1400cd9e0
lea rdx, [rbp + 0xd0]
movdqa xmmword [rsp + 0x60], xmm0
lea rcx, [rbp + 0xe0]
movdqa xmmword [rbp + 0xd0], xmm11
movdqa xmmword [rbp + 0xe0], xmm7
call fcn.1400cd9e0
lea rdx, [rbp + 0xf0]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rbp + 0x100]
movdqa xmmword [rbp + 0xf0], xmm11
movdqa xmmword [rbp + 0x100], xmm11
call fcn.1400cd9e0
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rbp + 0x110]
movdqa xmm0, xmmword [rsp + 0x60]
lea rcx, [rbp + 0x120]
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0x120], xmm11
call fcn.1400cd9e0
movdqa xmmword [rbp - 0x70], xmm0
lea rdx, [rbp + 0x130]
movdqa xmm0, xmmword [rsp + 0x60]
lea rcx, [rbp + 0x140]
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x140], xmm0
call fcn.1400cd9e0
mov r11d, esi
test esi, esi
je 0x1400caa25
movdqa xmmword [rbp + 0x150], xmm0
xor r10d, r10d
movdqa xmm0, xmmword [rbp - 0x70]
mov r15, r14
movdqa xmmword [rbp + 0x170], xmm0
sub r15, r13
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x190], xmm0
movdqa xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x1d0], xmm0
movdqa xmmword [rbp + 0x1e0], xmm11
movdqa xmmword [rbp + 0x200], xmm7
movdqa xmmword [rbp + 0x220], xmm10
nop dword [rax]
movdqa xmm0, xmmword [0x140230ff0]
lea rax, [r10 + r13]
movdqa xmm10, xmmword [0x140230fd0]
lea r9, [rsp + 0x50]
paddd xmm0, xmm12
movdqa xmmword [rsp + 0x40], xmm13
pshufb xmm0, xmm14
lea r8, [rsp + 0x40]
lea rdx, [rbp + 0x150]
movdqa xmm7, xmm15
movdqa xmmword [rsp + 0x50], xmm13
movdqa xmm15, xmmword [0x140230fe0]
lea rcx, [rbp + 0x160]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm6, xmm12
movdqa xmm0, xmmword [0x140231000]
paddd xmm7, xmm12
paddd xmm0, xmm12
paddd xmm10, xmm12
pshufb xmm0, xmm14
paddd xmm15, xmm12
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm0, xmmword [0x140231010]
paddd xmm0, xmm12
pshufb xmm0, xmm14
pshufb xmm6, xmm14
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [0x140231020]
paddd xmm0, xmm12
pshufb xmm0, xmm14
pshufb xmm7, xmm14
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmm0, xmmword [0x140231030]
paddd xmm0, xmm12
movdqa xmmword [rbp - 0x70], xmm0
movdqu xmm0, xmmword [rax]
pshufb xmm10, xmm14
pshufb xmm0, xmm8
pshufb xmm15, xmm14
pxor xmm0, xmm9
movdqa xmmword [rbp + 0x160], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x10]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x180]
movdqa xmmword [rbp + 0x180], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x20]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x1a0]
movdqa xmmword [rbp + 0x1a0], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x30]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x1c0]
movdqa xmmword [rbp + 0x1c0], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x40]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x240]
movdqa xmmword [rbp + 0x240], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x50]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x1f0]
movdqa xmmword [rbp + 0x1f0], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x60]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x200]
lea rcx, [rbp + 0x210]
movdqa xmmword [rbp + 0x210], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rax + 0x70]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
pshufb xmm0, xmm8
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x230]
movdqa xmmword [rbp + 0x230], xmm0
call fcn.1400cd970
movdqu xmm0, xmmword [rbx + 0x80]
lea rdx, [rbp + 0x2b0]
movdqa xmm1, xmmword [rsp + 0x40]
lea rcx, [rbp + 0x250]
movdqu xmm14, xmmword [rbx + 0x60]
movdqu xmm13, xmmword [rbx + 0x50]
movdqu xmm12, xmmword [rbx + 0x40]
movdqu xmm11, xmmword [rbx + 0x30]
movdqu xmm9, xmmword [rbx + 0x20]
movdqu xmm8, xmmword [rbx + 0x10]
movdqa xmmword [rbp - 0x30], xmm0
movdqu xmm0, xmmword [rbx + 0x70]
movdqa xmmword [rsp + 0x20], xmm0
movdqu xmm0, xmmword [rbx]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x2b0], xmm0
movdqa xmmword [rbp + 0x250], xmm1
call fcn.1400cdba0
movdqa xmm3, xmmword [rsp + 0x70]
movdqa xmm2, xmmword [rbp - 0x30]
movdqa xmm4, xmm3
pxor xmm4, xmm7
movdqa xmmword [rsp + 0x60], xmm0
movdqu xmm0, xmmword [rbx + 0x90]
movdqa xmm1, xmm3
aesenc xmm4, xmm8
aesenc xmm4, xmm9
aesenc xmm4, xmm11
aesenc xmm4, xmm12
aesenc xmm4, xmm13
aesenc xmm4, xmm14
pxor xmm1, xmm6
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmm6, xmm1
movdqa xmm1, xmmword [rsp + 0x20]
aesenc xmm4, xmm1
aesenc xmm4, xmm2
aesenc xmm4, xmm0
movdqa xmmword [rsp + 0x70], xmm4
movdqa xmm4, xmm3
pxor xmm4, xmm10
movdqa xmm10, xmm3
aesenc xmm4, xmm8
aesenc xmm6, xmm8
aesenc xmm4, xmm9
aesenc xmm6, xmm9
aesenc xmm4, xmm11
aesenc xmm6, xmm11
aesenc xmm4, xmm12
aesenc xmm6, xmm12
aesenc xmm4, xmm13
aesenc xmm6, xmm13
aesenc xmm4, xmm14
aesenc xmm6, xmm14
aesenc xmm4, xmm1
aesenc xmm6, xmm1
pxor xmm10, xmm15
aesenc xmm4, xmm2
aesenc xmm6, xmm2
aesenc xmm10, xmm8
aesenc xmm4, xmm0
aesenc xmm6, xmm0
aesenc xmm10, xmm9
movdqa xmm5, xmm3
movdqa xmm15, xmm3
pxor xmm5, xmmword [rbp - 0x20]
movdqa xmm7, xmm3
pxor xmm15, xmmword [rbp - 0x10]
pxor xmm7, xmmword [rbp]
pxor xmm3, xmmword [rbp + 0x10]
aesenc xmm5, xmm8
aesenc xmm15, xmm8
aesenc xmm7, xmm8
aesenc xmm3, xmm8
aesenc xmm5, xmm9
aesenc xmm15, xmm9
aesenc xmm7, xmm9
aesenc xmm3, xmm9
aesenc xmm5, xmm11
aesenc xmm15, xmm11
aesenc xmm7, xmm11
aesenc xmm10, xmm11
aesenc xmm3, xmm11
aesenc xmm5, xmm12
aesenc xmm15, xmm12
aesenc xmm7, xmm12
aesenc xmm10, xmm12
aesenc xmm3, xmm12
aesenc xmm5, xmm13
aesenc xmm15, xmm13
aesenc xmm7, xmm13
aesenc xmm10, xmm13
aesenc xmm3, xmm13
aesenc xmm5, xmm14
aesenc xmm15, xmm14
aesenc xmm7, xmm14
aesenc xmm10, xmm14
aesenc xmm3, xmm14
aesenc xmm5, xmm1
aesenc xmm15, xmm1
aesenc xmm7, xmm1
aesenc xmm10, xmm1
aesenc xmm3, xmm1
movdqu xmm1, xmmword [rbx + 0xa0]
movdqa xmmword [rsp + 0x20], xmm1
aesenc xmm5, xmm2
aesenc xmm15, xmm2
aesenc xmm7, xmm2
aesenc xmm10, xmm2
aesenc xmm3, xmm2
movdqa xmm2, xmmword [rsp + 0x70]
aesenc xmm5, xmm0
aesenc xmm15, xmm0
aesenc xmm7, xmm0
aesenc xmm10, xmm0
aesenc xmm3, xmm0
cmp edi, 0xa
jle 0x1400ca938
movdqu xmm0, xmmword [rbx + 0xb0]
aesenc xmm6, xmm1
aesenc xmm2, xmm1
aesenc xmm4, xmm1
aesenc xmm10, xmm1
aesenc xmm5, xmm1
aesenc xmm15, xmm1
aesenc xmm7, xmm1
aesenc xmm3, xmm1
movdqu xmm1, xmmword [rbx + 0xc0]
movdqa xmmword [rsp + 0x20], xmm1
aesenc xmm6, xmm0
aesenc xmm2, xmm0
aesenc xmm4, xmm0
aesenc xmm10, xmm0
aesenc xmm5, xmm0
aesenc xmm15, xmm0
aesenc xmm7, xmm0
aesenc xmm3, xmm0
cmp edi, 0xc
jle 0x1400ca938
movdqu xmm0, xmmword [rbx + 0xd0]
aesenc xmm6, xmm1
aesenc xmm2, xmm1
aesenc xmm4, xmm1
aesenc xmm10, xmm1
aesenc xmm5, xmm1
aesenc xmm15, xmm1
aesenc xmm7, xmm1
aesenc xmm3, xmm1
movdqu xmm1, xmmword [rbx + 0xe0]
movdqa xmmword [rsp + 0x20], xmm1
aesenc xmm6, xmm0
aesenc xmm2, xmm0
aesenc xmm4, xmm0
aesenc xmm10, xmm0
aesenc xmm5, xmm0
aesenc xmm15, xmm0
aesenc xmm7, xmm0
aesenc xmm3, xmm0
movdqu xmm0, xmmword [rax]
movdqa xmm8, xmmword [0x140231050]
xorps xmm13, xmm13
movdqa xmm9, xmmword [rsp + 0x60]
movdqa xmm12, xmmword [rbp - 0x70]
movdqa xmm14, xmmword [0x140231040]
aesenclast xmm15, xmm1
aesenclast xmm6, xmm1
pxor xmm6, xmm0
movdqu xmm0, xmmword [rax + 0x10]
movdqu xmmword [r15 + rax], xmm6
aesenclast xmm2, xmm1
pxor xmm2, xmm0
movdqu xmmword [r10 + r14 + 0x10], xmm2
movdqu xmm0, xmmword [rax + 0x30]
aesenclast xmm10, xmm1
pxor xmm10, xmm0
movdqu xmm0, xmmword [rax + 0x20]
aesenclast xmm4, xmm1
pxor xmm4, xmm0
movdqu xmmword [r10 + r14 + 0x20], xmm4
movdqu xmmword [r10 + r14 + 0x30], xmm10
movdqu xmm0, xmmword [rax + 0x50]
aesenclast xmm5, xmm1
pxor xmm15, xmm0
movdqu xmm0, xmmword [rax + 0x40]
aesenclast xmm3, xmm1
pxor xmm5, xmm0
movdqu xmmword [r10 + r14 + 0x40], xmm5
movdqu xmmword [r10 + r14 + 0x50], xmm15
movdqu xmm0, xmmword [rax + 0x70]
movdqa xmm15, xmmword [0x140230fc0]
pxor xmm3, xmm0
movdqu xmm0, xmmword [rax + 0x60]
aesenclast xmm7, xmm1
pxor xmm7, xmm0
movdqu xmmword [r10 + r14 + 0x60], xmm7
movdqu xmmword [r10 + r14 + 0x70], xmm3
sub r10, 0xffffffffffffff80
sub r11, 1
jne 0x1400ca370
movdqa xmm10, xmmword [rbp - 0x40]
mov r15d, esi
movaps xmm11, xmmword [rsp + 0x410]
lea r15d, [r15*8]
movaps xmm8, xmmword [rsp + 0x440]
mov r11, r12
movdqa xmm7, xmmword [0x140231050]
mov eax, r15d
shr r11, 4
cmp rax, r11
jae 0x1400cab5e
mov r10d, eax
mov rsi, r14
shl r10, 4
sub rsi, r13
add r10, r13
sub r11, rax
add r15d, r11d
movdqu xmm0, xmmword [r10]
lea rdx, [rbp - 0x40]
movdqa xmm6, xmm12
movdqa xmmword [rbp - 0x40], xmm10
pshufb xmm6, xmm14
lea rcx, [rbp + 0x10]
pshufb xmm0, xmm7
pxor xmm6, xmmword [rbx]
paddd xmm12, xmm15
aesenc xmm6, xmmword [rbx + 0x10]
aesenc xmm6, xmmword [rbx + 0x20]
aesenc xmm6, xmmword [rbx + 0x30]
aesenc xmm6, xmmword [rbx + 0x40]
aesenc xmm6, xmmword [rbx + 0x50]
aesenc xmm6, xmmword [rbx + 0x60]
aesenc xmm6, xmmword [rbx + 0x70]
aesenc xmm6, xmmword [rbx + 0x80]
aesenc xmm6, xmmword [rbx + 0x90]
pxor xmm0, xmm9
movdqa xmmword [rbp + 0x10], xmm0
call fcn.1400cd9e0
movdqa xmm9, xmm0
movdqu xmm0, xmmword [rbx + 0xa0]
movdqa xmmword [rsp + 0x20], xmm0
cmp edi, 0xa
jle 0x1400cab3c
aesenc xmm6, xmm0
movdqu xmm0, xmmword [rbx + 0xc0]
movdqa xmmword [rsp + 0x20], xmm0
aesenc xmm6, xmmword [rbx + 0xb0]
cmp edi, 0xc
jle 0x1400cab3c
aesenc xmm6, xmm0
movdqu xmm0, xmmword [rbx + 0xe0]
aesenc xmm6, xmmword [rbx + 0xd0]
movdqa xmmword [rsp + 0x20], xmm0
aesenclast xmm6, xmm0
movdqu xmm0, xmmword [r10]
pxor xmm6, xmm0
movdqu xmmword [r10 + rsi], xmm6
add r10, 0x10
sub r11, 1
jne 0x1400caa70
movaps xmm15, xmmword [rsp + 0x3d0]
mov eax, r12d
mov rsi, qword [rsp + 0x4a0]
and eax, 0xf
je 0x1400cacb2
movdqu xmm0, xmmword [rbx + 0xa0]
movdqa xmm6, xmm12
movdqa xmmword [rsp + 0x20], xmm0
pshufb xmm6, xmm14
pxor xmm6, xmmword [rbx]
aesenc xmm6, xmmword [rbx + 0x10]
aesenc xmm6, xmmword [rbx + 0x20]
aesenc xmm6, xmmword [rbx + 0x30]
aesenc xmm6, xmmword [rbx + 0x40]
aesenc xmm6, xmmword [rbx + 0x50]
aesenc xmm6, xmmword [rbx + 0x60]
aesenc xmm6, xmmword [rbx + 0x70]
aesenc xmm6, xmmword [rbx + 0x80]
aesenc xmm6, xmmword [rbx + 0x90]
cmp edi, 0xa
jle 0x1400cac16
aesenc xmm6, xmm0
movdqu xmm0, xmmword [rbx + 0xc0]
movdqa xmmword [rsp + 0x20], xmm0
aesenc xmm6, xmmword [rbx + 0xb0]
cmp edi, 0xc
jle 0x1400cac16
aesenc xmm6, xmm0
movdqu xmm0, xmmword [rbx + 0xe0]
aesenc xmm6, xmmword [rbx + 0xd0]
movdqa xmmword [rsp + 0x20], xmm0
movsxd rbx, r15d
add rbx, rbx
movdqa xmmword [rsp + 0x30], xmm13
mov edi, eax
aesenclast xmm6, xmm0
test eax, eax
je 0x1400cac76
lea rdx, [rbx*8]
mov r8d, edi
add rdx, r13
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
movdqa xmm13, xmmword [rsp + 0x30]
xor edx, edx
pxor xmm6, xmm13
movdqa xmmword [rsp + 0x30], xmm6
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x30]
lea rcx, [r14 + rbx*8]
mov byte [rcx + rdx], al
inc rdx
cmp rdx, rdi
jl 0x1400cac60
jmp 0x1400cac89
movdqa xmm0, xmm13
pxor xmm0, xmm6
movdqa xmm6, xmm0
movdqa xmmword [rsp + 0x30], xmm0
pshufb xmm13, xmm7
lea rdx, [rbp]
lea rcx, [rbp - 0x10]
movdqa xmmword [rbp], xmm10
pxor xmm13, xmm9
movdqa xmmword [rbp - 0x10], xmm13
call fcn.1400cd9e0
movdqa xmm9, xmm0
mov ecx, dword [rbp + 0x3f0]
lea rdx, [rbp - 0x20]
shl rcx, 3
mov rax, r12
shl rax, 3
pinsrq xmm6, rax, 0
pinsrq xmm6, rcx, 1
pxor xmm6, xmm9
movdqa xmmword [rbp - 0x20], xmm10
lea rcx, [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm6
call fcn.1400cd9e0
mov r8d, dword [rbp + 0x400]
lea rdx, [rbp - 0x60]
mov rcx, qword [rbp + 0x3e0]
pshufb xmm0, xmm7
pxor xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x60], xmm0
call sub.VCRUNTIME140.dll_memcmp
xor r8d, r8d
lea rdx, [rsp + 0x20]
test eax, eax
mov ecx, r8d
mov rax, qword [rbp - 0x50]
sete cl
neg edx
and edx, 7
mov dword [rax], ecx
mov ecx, 0x10
movaps xmm14, xmmword [rsp + 0x3e0]
lea rax, [rsp + 0x20]
movaps xmm13, xmmword [rsp + 0x3f0]
sub ecx, edx
movaps xmm12, xmmword [rsp + 0x400]
movaps xmm10, xmmword [rsp + 0x420]
movaps xmm9, xmmword [rsp + 0x430]
movaps xmm7, xmmword [rsp + 0x450]
movaps xmm6, xmmword [rsp + 0x460]
mov r15, qword [rsp + 0x478]
mov r14, qword [rsp + 0x480]
mov r13, qword [rsp + 0x488]
mov r12, qword [rsp + 0x490]
mov rdi, qword [rsp + 0x498]
mov rbx, qword [rsp + 0x4a8]
test edx, edx
je 0x1400cadbb
nop dword [rax]
mov byte [rax], r8b
inc rax
add edx, 0xffffffff
jne 0x1400cadb0
cmp ecx, 8
jb 0x1400cade0
mov edx, ecx
shr rdx, 3
nop word [rax + rax]
mov qword [rax], r8
add ecx, 0xfffffff8
add rax, 8
sub rdx, 1
jne 0x1400cadd0
test ecx, ecx
je 0x1400cadf0
mov byte [rax], r8b
lea rax, [rax + 1]
add ecx, 0xffffffff
jne 0x1400cade4
xor eax, eax
add rsp, 0x4b0
pop rbp
ret