Function at 0x180020360
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4b0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x18007d1d8]
xor rax, rsp
mov qword [rsp + 0x400], rax
xor r14d, r14d
lea r15, [rsp]
mov r10d, r14d
sub r15, rcx
mov r12, r8
mov r9, rcx
mov eax, r10d
lea r9, [r9 + 0x10]
shl eax, 4
inc r10d
movdqu xmm0, xmmword [rax + rdx]
pxor xmm0, xmmword [r9 - 0x10]
movdqu xmmword [r9 - 0x10], xmm0
movdqu xmmword [r15 + r9 - 0x10], xmm0
cmp r10d, 0x40
jb 0x1800203e0
movdqa xmm14, xmmword [0x18005ddf0]
mov r13d, r14d
movdqa xmm15, xmmword [0x18005dde0]
lea r8d, [r13*8]
lea ebp, [r8 + 2]
mov r10d, r8d
add r10, r10
lea esi, [r8 + 3]
add rbp, rbp
lea r9d, [r8 + 1]
add r9, r9
lea ebx, [r8 + 6]
add rsi, rsi
lea r11d, [r8 + 4]
add r11, r11
lea edi, [r8 + 7]
movdqu xmm5, xmmword [rcx + rbp*8]
lea edx, [r8 + 5]
movdqa xmm8, xmm5
movdqa xmm0, xmm5
paddq xmm0, xmmword [rcx + r10*8]
add rbx, rbx
pmuludq xmm8, xmmword [rcx + r10*8]
add rdi, rdi
movdqu xmm2, xmmword [rcx + rsi*8]
add rdx, rdx
movdqa xmm7, xmm2
pmuludq xmm7, xmmword [rcx + r9*8]
paddq xmm8, xmm8
paddq xmm8, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmmword [rcx + r9*8]
paddq xmm7, xmm7
paddq xmm7, xmm0
movdqa xmm0, xmm8
pxor xmm0, xmmword [rcx + rbx*8]
pshufd xmm3, xmm0, 0xb1
movdqa xmm0, xmm7
pxor xmm0, xmmword [rcx + rdi*8]
movdqa xmm1, xmm3
pmuludq xmm1, xmmword [rcx + r11*8]
movdqa xmm6, xmm3
paddq xmm6, xmmword [rcx + r11*8]
pshufd xmm12, xmm0, 0xb1
movdqa xmm4, xmm12
paddq xmm4, xmmword [rcx + rdx*8]
paddq xmm1, xmm1
paddq xmm6, xmm1
movdqa xmm1, xmm12
pmuludq xmm1, xmmword [rcx + rdx*8]
movdqa xmm10, xmm6
paddq xmm1, xmm1
paddq xmm4, xmm1
movdqa xmm1, xmm6
pxor xmm1, xmm5
movdqa xmm5, xmm4
pxor xmm5, xmm2
movdqa xmm2, xmm4
pshufb xmm1, xmm14
pshufb xmm5, xmm14
movdqa xmm9, xmm1
movdqa xmm0, xmm1
paddq xmm0, xmm8
pmuludq xmm9, xmm8
movdqa xmm8, xmm5
pmuludq xmm8, xmm7
paddq xmm9, xmm9
paddq xmm9, xmm0
movdqa xmm0, xmm5
paddq xmm0, xmm7
paddq xmm8, xmm8
movdqa xmm7, xmm9
paddq xmm8, xmm0
pxor xmm7, xmm3
pxor xmm12, xmm8
pshufb xmm7, xmm15
pshufb xmm12, xmm15
pmuludq xmm10, xmm7
paddq xmm6, xmm7
pmuludq xmm2, xmm12
paddq xmm4, xmm12
paddq xmm10, xmm10
paddq xmm10, xmm6
paddq xmm2, xmm2
paddq xmm2, xmm4
pxor xmm1, xmm10
pxor xmm5, xmm2
movdqa xmm0, xmm1
paddq xmm0, xmm1
movdqa xmm11, xmm5
paddq xmm11, xmm5
psrlq xmm1, 0x3f
pxor xmm0, xmm1
psrlq xmm5, 0x3f
movdqa xmm3, xmm0
pxor xmm11, xmm5
palignr xmm3, xmm11, 8
movdqa xmm4, xmm9
palignr xmm11, xmm0, 8
movdqa xmm5, xmm8
pmuludq xmm4, xmm11
paddq xmm8, xmm3
pmuludq xmm5, xmm3
paddq xmm9, xmm11
movdqa xmm1, xmm12
palignr xmm1, xmm7, 8
palignr xmm7, xmm12, 8
paddq xmm4, xmm4
paddq xmm4, xmm9
paddq xmm5, xmm5
pxor xmm7, xmm4
paddq xmm5, xmm8
pshufd xmm9, xmm7, 0xb1
movdqa xmm0, xmm5
pxor xmm0, xmm1
movdqa xmm6, xmm9
pshufd xmm8, xmm0, 0xb1
movdqa xmm1, xmm4
pmuludq xmm6, xmm2
movdqa xmm7, xmm8
movdqa xmm0, xmm9
pmuludq xmm7, xmm10
paddq xmm0, xmm2
paddq xmm6, xmm6
paddq xmm6, xmm0
paddq xmm7, xmm7
movdqa xmm0, xmm8
pxor xmm11, xmm6
paddq xmm0, xmm10
paddq xmm7, xmm0
movdqa xmm0, xmm5
pshufb xmm11, xmm14
movdqa xmm2, xmm7
pxor xmm2, xmm3
pmuludq xmm1, xmm11
paddq xmm4, xmm11
pshufb xmm2, xmm14
paddq xmm1, xmm1
pmuludq xmm0, xmm2
paddq xmm1, xmm4
paddq xmm5, xmm2
movdqu xmmword [rcx + r10*8], xmm1
pxor xmm9, xmm1
pshufb xmm9, xmm15
paddq xmm0, xmm0
paddq xmm0, xmm5
movdqa xmm4, xmm9
pxor xmm8, xmm0
movdqu xmmword [rcx + r9*8], xmm0
pshufb xmm8, xmm15
pmuludq xmm4, xmm6
movdqa xmm0, xmm9
paddq xmm0, xmm6
movdqa xmm3, xmm8
pmuludq xmm3, xmm7
paddq xmm4, xmm4
paddq xmm4, xmm0
movdqa xmm0, xmm8
paddq xmm0, xmm7
paddq xmm3, xmm3
paddq xmm3, xmm0
pxor xmm11, xmm4
movdqa xmm0, xmm3
pxor xmm0, xmm2
movdqa xmm2, xmm11
movdqa xmm1, xmm0
movdqu xmmword [rcx + r11*8], xmm3
paddq xmm1, xmm0
movdqu xmmword [rcx + rdx*8], xmm4
psrlq xmm0, 0x3f
paddq xmm2, xmm11
pxor xmm1, xmm0
psrlq xmm11, 0x3f
pxor xmm2, xmm11
inc r13d
movdqa xmm0, xmm2
palignr xmm0, xmm1, 8
movdqu xmmword [rcx + rbp*8], xmm0
movdqa xmm0, xmm8
palignr xmm0, xmm9, 8
palignr xmm9, xmm8, 8
palignr xmm1, xmm2, 8
movdqu xmmword [rcx + rdi*8], xmm9
movdqu xmmword [rcx + rsi*8], xmm1
movdqu xmmword [rcx + rbx*8], xmm0
cmp r13d, 8
jb 0x180020420
mov rdx, rcx
lea rax, [rcx + 0x100]
mov r8d, 8
movdqu xmm3, xmmword [rax]
movdqu xmm2, xmmword [rax + 0x80]
movdqa xmm9, xmm3
pmuludq xmm9, xmmword [rdx]
movdqa xmm0, xmm3
paddq xmm0, xmmword [rdx]
movdqa xmm8, xmm2
pmuludq xmm8, xmmword [rax - 0x80]
movdqu xmm1, xmmword [rax + 0x280]
paddq xmm9, xmm9
paddq xmm9, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmmword [rax - 0x80]
paddq xmm8, xmm8
paddq xmm8, xmm0
movdqa xmm11, xmm9
pxor xmm1, xmm8
movdqa xmm0, xmm9
pxor xmm0, xmmword [rax + 0x200]
movdqa xmm10, xmm8
pshufd xmm4, xmm0, 0xb1
pshufd xmm5, xmm1, 0xb1
movdqa xmm7, xmm4
movdqu xmm1, xmmword [rax + 0x100]
movdqa xmm0, xmm4
paddq xmm0, xmm1
pmuludq xmm7, xmm1
movdqu xmm1, xmmword [rax + 0x180]
movdqa xmm6, xmm5
pmuludq xmm6, xmm1
paddq xmm7, xmm7
paddq xmm7, xmm0
movdqa xmm0, xmm5
paddq xmm0, xmm1
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm1, xmm7
pxor xmm1, xmm3
movdqa xmm3, xmm6
pxor xmm3, xmm2
pshufb xmm1, xmm14
pshufb xmm3, xmm14
paddq xmm9, xmm1
pmuludq xmm11, xmm1
paddq xmm8, xmm3
pmuludq xmm10, xmm3
paddq xmm11, xmm11
paddq xmm11, xmm9
paddq xmm10, xmm10
paddq xmm10, xmm8
movdqa xmm9, xmm11
pxor xmm9, xmm4
movdqa xmm8, xmm10
pshufb xmm9, xmm15
pxor xmm8, xmm5
pshufb xmm8, xmm15
movdqa xmm0, xmm9
movdqa xmm12, xmm9
pmuludq xmm0, xmm7
paddq xmm12, xmm7
movdqa xmm7, xmm8
paddq xmm7, xmm6
paddq xmm0, xmm0
paddq xmm12, xmm0
movdqa xmm0, xmm8
pmuludq xmm0, xmm6
pxor xmm1, xmm12
paddq xmm0, xmm0
paddq xmm7, xmm0
movdqa xmm0, xmm1
pxor xmm3, xmm7
paddq xmm0, xmm1
movdqa xmm13, xmm3
psrlq xmm1, 0x3f
paddq xmm13, xmm3
pxor xmm0, xmm1
psrlq xmm3, 0x3f
movdqa xmm2, xmm0
pxor xmm13, xmm3
palignr xmm2, xmm13, 8
palignr xmm13, xmm0, 8
movdqa xmm1, xmm8
movdqa xmm4, xmm11
palignr xmm1, xmm9, 8
paddq xmm11, xmm13
pmuludq xmm4, xmm13
movdqa xmm3, xmm10
pmuludq xmm3, xmm2
paddq xmm10, xmm2
palignr xmm9, xmm8, 8
paddq xmm4, xmm4
paddq xmm4, xmm11
paddq xmm3, xmm3
pxor xmm9, xmm4
paddq xmm3, xmm10
pshufd xmm9, xmm9, 0xb1
movdqa xmm0, xmm3
pxor xmm0, xmm1
movdqa xmm5, xmm9
pshufd xmm8, xmm0, 0xb1
movdqa xmm0, xmm9
paddq xmm0, xmm7
pmuludq xmm5, xmm7
movdqa xmm6, xmm8
pmuludq xmm6, xmm12
paddq xmm5, xmm5
paddq xmm5, xmm0
movdqa xmm0, xmm8
paddq xmm0, xmm12
pxor xmm13, xmm5
pshufb xmm13, xmm14
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm0, xmm13
paddq xmm0, xmm4
movdqa xmm7, xmm6
pxor xmm7, xmm2
movdqa xmm2, xmm13
pmuludq xmm2, xmm4
pshufb xmm7, xmm14
paddq xmm2, xmm2
movdqa xmm1, xmm7
paddq xmm2, xmm0
paddq xmm1, xmm3
pxor xmm9, xmm2
movdqu xmmword [rdx], xmm2
movdqa xmm0, xmm7
pmuludq xmm0, xmm3
pshufb xmm9, xmm15
paddq xmm0, xmm0
movdqa xmm4, xmm9
paddq xmm1, xmm0
paddq xmm4, xmm5
pxor xmm8, xmm1
movdqu xmmword [rax - 0x80], xmm1
pshufb xmm8, xmm15
movdqa xmm0, xmm9
pmuludq xmm0, xmm5
movdqa xmm3, xmm8
paddq xmm3, xmm6
paddq xmm0, xmm0
paddq xmm4, xmm0
movdqa xmm0, xmm8
pmuludq xmm0, xmm6
pxor xmm13, xmm4
movdqa xmm2, xmm13
paddq xmm2, xmm13
psrlq xmm13, 0x3f
pxor xmm2, xmm13
paddq xmm0, xmm0
paddq xmm3, xmm0
movdqa xmm0, xmm2
pxor xmm7, xmm3
movdqu xmmword [rax + 0x100], xmm3
movdqa xmm1, xmm7
paddq xmm1, xmm7
psrlq xmm7, 0x3f
pxor xmm1, xmm7
palignr xmm0, xmm1, 8
palignr xmm1, xmm2, 8
movdqu xmmword [rax + 0x80], xmm1
movdqu xmmword [rax], xmm0
movdqu xmmword [rax + 0x180], xmm4
movdqa xmm0, xmm8
palignr xmm0, xmm9, 8
lea rdx, [rdx + 0x10]
palignr xmm9, xmm8, 8
movdqu xmmword [rax + 0x280], xmm9
movdqu xmmword [rax + 0x200], xmm0
lea rax, [rax + 0x10]
sub r8, 1
jne 0x180020792
movdqu xmm0, xmmword [r15 + rcx]
mov eax, r14d
pxor xmm0, xmmword [rcx]
inc r14d
shl eax, 4
movdqu xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
movdqu xmmword [rax + r12], xmm0
cmp r14d, 0x40
jb 0x180020ae0
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.180038f90
lea r11, [rsp + 0x4b0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret