Function at 0x14003fce0
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, 0x490
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
mov rax, qword [0x14009d090]
xor rax, rsp
mov qword [rsp + 0x400], rax
lea r14, [rsp]
sub rdx, rcx
sub r14, rcx
mov r12, r8
mov rbp, rcx
mov r15d, 0x40
test r9d, r9d
je 0x14003fd8e
mov rax, rcx
sub r8, rcx
mov ecx, r15d
movdqu xmm1, xmmword [rdx + rax]
lea rax, [rax + 0x10]
pxor xmm1, xmmword [rax - 0x10]
movdqu xmmword [rax - 0x10], xmm1
movdqu xmm0, xmmword [r8 + rax - 0x10]
pxor xmm0, xmm1
movdqu xmmword [rax + r14 - 0x10], xmm0
sub rcx, 1
jne 0x14003fd61
jmp 0x14003fdd8
lea rax, [rcx + 0x10]
mov ecx, 0x20
nop word [rax + rax]
movdqu xmm0, xmmword [rdx + rax - 0x10]
lea rax, [rax + 0x20]
pxor xmm0, xmmword [rax - 0x30]
movdqu xmmword [rax - 0x30], xmm0
movdqu xmmword [r14 + rax - 0x30], xmm0
movdqu xmm1, xmmword [rdx + rax - 0x20]
pxor xmm1, xmmword [rax - 0x20]
movdqu xmmword [rax - 0x20], xmm1
movdqu xmmword [rax + r14 - 0x20], xmm1
sub rcx, 1
jne 0x14003fda0
xor r13d, r13d
nop dword [rax + rax]
lea edx, [r13*8]
lea esi, [rdx + 2]
mov r10d, edx
add r10, r10
lea edi, [rdx + 3]
add rsi, rsi
lea r8d, [rdx + 1]
add r8, r8
lea ebx, [rdx + 6]
add rdi, rdi
lea r11d, [rdx + 7]
add rbx, rbx
lea r9d, [rdx + 4]
movdqu xmm4, xmmword [rbp + rsi*8]
lea ecx, [rdx + 5]
movdqa xmm10, xmm4
movdqa xmm0, xmm4
paddq xmm0, xmmword [rbp + r10*8]
add r9, r9
movdqu xmm2, xmmword [rbp + rdi*8]
add r11, r11
pmuludq xmm10, xmmword [rbp + r10*8]
movdqa xmm8, xmm2
pmuludq xmm8, xmmword [rbp + r8*8]
add rcx, rcx
paddq xmm10, xmm10
paddq xmm10, xmm0
paddq xmm8, xmm8
movdqa xmm0, xmm2
movdqa xmm1, xmm10
paddq xmm0, xmmword [rbp + r8*8]
pxor xmm1, xmmword [rbp + rbx*8]
paddq xmm8, xmm0
pshufd xmm3, xmm1, 0xb1
movdqa xmm0, xmm8
pxor xmm0, xmmword [rbp + r11*8]
movdqa xmm7, xmm3
pmuludq xmm7, xmmword [rbp + r9*8]
pshufd xmm5, xmm0, 0xb1
movdqa xmm0, xmm3
paddq xmm0, xmmword [rbp + r9*8]
movdqa xmm6, xmm5
pmuludq xmm6, xmmword [rbp + rcx*8]
paddq xmm7, xmm7
paddq xmm7, xmm0
movdqa xmm0, xmm5
paddq xmm0, xmmword [rbp + rcx*8]
paddq xmm6, xmm6
paddq xmm6, xmm0
movdqa xmm0, xmm7
pxor xmm0, xmm4
movdqa xmm1, xmm6
pxor xmm1, xmm2
movdqa xmm2, xmm0
psrlq xmm0, 0x18
movdqa xmm4, xmm1
psrlq xmm1, 0x18
psllq xmm2, 0x28
pxor xmm2, xmm0
psllq xmm4, 0x28
pxor xmm4, xmm1
movdqa xmm0, xmm2
pmuludq xmm0, xmm10
movdqa xmm9, xmm2
paddq xmm9, xmm10
movdqa xmm11, xmm4
paddq xmm11, xmm8
paddq xmm0, xmm0
paddq xmm9, xmm0
movdqa xmm0, xmm4
pmuludq xmm0, xmm8
paddq xmm0, xmm0
paddq xmm11, xmm0
movdqa xmm0, xmm9
pxor xmm0, xmm3
movdqa xmm1, xmm11
pshuflw xmm0, xmm0, 0x39
pxor xmm1, xmm5
pshufhw xmm12, xmm0, 0x39
pshuflw xmm0, xmm1, 0x39
pshufhw xmm8, xmm0, 0x39
movdqa xmm13, xmm7
movdqa xmm10, xmm6
pmuludq xmm10, xmm8
paddq xmm7, xmm12
paddq xmm6, xmm8
pmuludq xmm13, xmm12
movdqa xmm0, xmm12
punpcklqdq xmm0, xmm12
paddq xmm10, xmm10
paddq xmm10, xmm6
paddq xmm13, xmm13
paddq xmm13, xmm7
pxor xmm4, xmm10
pxor xmm2, xmm13
movdqa xmm6, xmm9
movdqa xmm1, xmm2
movdqa xmm7, xmm4
paddq xmm1, xmm2
paddq xmm7, xmm4
psrlq xmm2, 0x3f
pxor xmm1, xmm2
psrlq xmm4, 0x3f
movdqa xmm3, xmm1
pxor xmm7, xmm4
punpcklqdq xmm1, xmm1
movdqa xmm2, xmm8
punpckhqdq xmm2, xmm0
movdqa xmm0, xmm7
punpcklqdq xmm0, xmm7
punpckhqdq xmm3, xmm0
punpckhqdq xmm7, xmm1
paddq xmm9, xmm3
pmuludq xmm6, xmm3
punpcklqdq xmm8, xmm8
punpckhqdq xmm12, xmm8
movdqa xmm8, xmm10
paddq xmm6, xmm6
paddq xmm6, xmm9
movdqa xmm9, xmm11
pmuludq xmm9, xmm7
paddq xmm11, xmm7
movdqa xmm0, xmm6
pxor xmm0, xmm2
pshufd xmm5, xmm0, 0xb1
paddq xmm10, xmm5
pmuludq xmm8, xmm5
paddq xmm9, xmm9
paddq xmm9, xmm11
pxor xmm12, xmm9
pshufd xmm4, xmm12, 0xb1
paddq xmm8, xmm8
paddq xmm8, xmm10
movdqa xmm10, xmm13
pmuludq xmm10, xmm4
paddq xmm13, xmm4
movdqa xmm0, xmm8
pxor xmm0, xmm3
paddq xmm10, xmm10
paddq xmm10, xmm13
movdqa xmm1, xmm10
pxor xmm1, xmm7
movdqa xmm7, xmm0
movdqa xmm3, xmm1
psrlq xmm0, 0x18
psrlq xmm1, 0x18
psllq xmm7, 0x28
pxor xmm7, xmm0
psllq xmm3, 0x28
pxor xmm3, xmm1
movdqa xmm0, xmm7
movdqa xmm1, xmm9
pmuludq xmm0, xmm6
pmuludq xmm1, xmm3
movdqa xmm2, xmm7
paddq xmm2, xmm6
paddq xmm9, xmm3
paddq xmm0, xmm0
paddq xmm2, xmm0
paddq xmm1, xmm1
movdqu xmmword [rbp + r10*8], xmm2
paddq xmm1, xmm9
movdqu xmmword [rbp + r8*8], xmm1
pxor xmm2, xmm5
pxor xmm1, xmm4
pshuflw xmm0, xmm2, 0x39
pshuflw xmm1, xmm1, 0x39
inc r13d
pshufhw xmm4, xmm1, 0x39
movdqa xmm1, xmm10
pshufhw xmm5, xmm0, 0x39
movdqa xmm0, xmm8
pmuludq xmm1, xmm4
paddq xmm8, xmm5
pmuludq xmm0, xmm5
paddq xmm10, xmm4
paddq xmm1, xmm1
paddq xmm1, xmm10
paddq xmm0, xmm0
movdqu xmmword [rbp + r9*8], xmm1
pxor xmm1, xmm3
paddq xmm0, xmm8
movdqa xmm2, xmm1
movdqu xmmword [rbp + rcx*8], xmm0
pxor xmm7, xmm0
paddq xmm2, xmm1
psrlq xmm1, 0x3f
pxor xmm2, xmm1
movdqa xmm3, xmm7
paddq xmm3, xmm7
movdqa xmm0, xmm2
psrlq xmm7, 0x3f
punpcklqdq xmm2, xmm2
pxor xmm3, xmm7
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm3
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm4
movdqu xmmword [rbp + rsi*8], xmm0
movdqa xmm0, xmm5
punpcklqdq xmm1, xmm4
punpcklqdq xmm5, xmm5
punpckhqdq xmm4, xmm5
punpckhqdq xmm3, xmm2
punpckhqdq xmm0, xmm1
movdqu xmmword [rbp + r11*8], xmm4
movdqu xmmword [rbp + rdi*8], xmm3
movdqu xmmword [rbp + rbx*8], xmm0
cmp r13d, 8
jb 0x14003fde0
mov rcx, rbp
lea rax, [rbp + 0x280]
mov edx, 8
nop
movdqu xmm3, xmmword [rax - 0x180]
movdqu xmm2, xmmword [rax - 0x100]
movdqa xmm9, xmm3
movdqu xmm1, xmmword [rax - 0x200]
movdqa xmm8, xmm2
pmuludq xmm9, xmmword [rcx]
movdqa xmm0, xmm3
paddq xmm0, xmmword [rcx]
pmuludq xmm8, xmm1
paddq xmm9, xmm9
paddq xmm9, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmm1
paddq xmm8, xmm8
paddq xmm8, xmm0
movdqa xmm1, xmm9
pxor xmm1, xmmword [rax + 0x80]
movdqa xmm0, xmm8
pxor xmm0, xmmword [rax + 0x100]
pshufd xmm4, xmm1, 0xb1
pshufd xmm5, xmm0, 0xb1
movdqa xmm1, xmm4
pmuludq xmm1, xmmword [rax - 0x80]
movdqa xmm7, xmm4
paddq xmm7, xmmword [rax - 0x80]
movdqa xmm6, xmm5
paddq xmm6, xmmword [rax]
paddq xmm1, xmm1
paddq xmm7, xmm1
movdqa xmm1, xmm5
pmuludq xmm1, xmmword [rax]
movdqa xmm0, xmm7
pxor xmm0, xmm3
movdqa xmm13, xmm7
paddq xmm1, xmm1
paddq xmm6, xmm1
movdqa xmm1, xmm6
movdqa xmm10, xmm6
pxor xmm1, xmm2
movdqa xmm2, xmm0
psrlq xmm0, 0x18
movdqa xmm3, xmm1
psrlq xmm1, 0x18
psllq xmm2, 0x28
pxor xmm2, xmm0
psllq xmm3, 0x28
pxor xmm3, xmm1
movdqa xmm12, xmm2
movdqa xmm0, xmm2
pmuludq xmm12, xmm9
paddq xmm0, xmm9
movdqa xmm11, xmm3
pmuludq xmm11, xmm8
paddq xmm12, xmm12
paddq xmm12, xmm0
movdqa xmm0, xmm3
paddq xmm0, xmm8
pxor xmm4, xmm12
paddq xmm11, xmm11
paddq xmm11, xmm0
pshuflw xmm0, xmm4, 0x39
pshufhw xmm8, xmm0, 0x39
pxor xmm5, xmm11
paddq xmm7, xmm8
pmuludq xmm13, xmm8
pshuflw xmm0, xmm5, 0x39
pshufhw xmm4, xmm0, 0x39
pmuludq xmm10, xmm4
paddq xmm6, xmm4
paddq xmm13, xmm13
paddq xmm13, xmm7
pxor xmm2, xmm13
movdqa xmm1, xmm2
paddq xmm10, xmm10
paddq xmm1, xmm2
paddq xmm10, xmm6
pxor xmm3, xmm10
psrlq xmm2, 0x3f
movdqa xmm7, xmm3
pxor xmm1, xmm2
paddq xmm7, xmm3
movdqa xmm0, xmm8
psrlq xmm3, 0x3f
punpcklqdq xmm0, xmm8
pxor xmm7, xmm3
movdqa xmm3, xmm1
movdqa xmm2, xmm4
punpckhqdq xmm2, xmm0
movdqa xmm6, xmm12
punpcklqdq xmm1, xmm1
movdqa xmm0, xmm7
punpcklqdq xmm0, xmm7
movdqa xmm9, xmm11
punpckhqdq xmm3, xmm0
punpckhqdq xmm7, xmm1
paddq xmm12, xmm3
pmuludq xmm9, xmm7
paddq xmm11, xmm7
pmuludq xmm6, xmm3
punpcklqdq xmm4, xmm4
punpckhqdq xmm8, xmm4
paddq xmm9, xmm9
paddq xmm9, xmm11
paddq xmm6, xmm6
pxor xmm8, xmm9
paddq xmm6, xmm12
pshufd xmm4, xmm8, 0xb1
movdqa xmm0, xmm6
pxor xmm0, xmm2
movdqa xmm8, xmm10
pshufd xmm5, xmm0, 0xb1
paddq xmm10, xmm5
pmuludq xmm8, xmm5
paddq xmm8, xmm8
paddq xmm8, xmm10
movdqa xmm10, xmm13
pmuludq xmm10, xmm4
paddq xmm13, xmm4
movdqa xmm0, xmm8
pxor xmm0, xmm3
paddq xmm10, xmm10
paddq xmm10, xmm13
movdqa xmm1, xmm10
pxor xmm1, xmm7
movdqa xmm7, xmm0
movdqa xmm3, xmm1
psrlq xmm0, 0x18
psrlq xmm1, 0x18
psllq xmm7, 0x28
pxor xmm7, xmm0
psllq xmm3, 0x28
pxor xmm3, xmm1
movdqa xmm0, xmm7
pmuludq xmm0, xmm6
movdqa xmm1, xmm9
pmuludq xmm1, xmm3
movdqa xmm2, xmm7
paddq xmm2, xmm6
paddq xmm9, xmm3
paddq xmm0, xmm0
paddq xmm2, xmm0
paddq xmm1, xmm1
paddq xmm1, xmm9
movdqu xmmword [rcx], xmm2
movdqu xmmword [rax - 0x200], xmm1
pxor xmm2, xmm5
pxor xmm1, xmm4
pshuflw xmm0, xmm2, 0x39
pshufhw xmm5, xmm0, 0x39
movdqa xmm0, xmm8
pshuflw xmm1, xmm1, 0x39
paddq xmm8, xmm5
pshufhw xmm4, xmm1, 0x39
movdqa xmm1, xmm10
pmuludq xmm0, xmm5
paddq xmm10, xmm4
pmuludq xmm1, xmm4
paddq xmm0, xmm0
paddq xmm0, xmm8
paddq xmm1, xmm1
movdqu xmmword [rax], xmm0
paddq xmm1, xmm10
movdqu xmmword [rax - 0x80], xmm1
pxor xmm1, xmm3
lea rax, [rax + 0x10]
pxor xmm7, xmm0
lea rcx, [rcx + 0x10]
movdqa xmm2, xmm1
paddq xmm2, xmm1
psrlq xmm1, 0x3f
pxor xmm2, xmm1
movdqa xmm3, xmm7
paddq xmm3, xmm7
movdqa xmm0, xmm2
psrlq xmm7, 0x3f
punpcklqdq xmm2, xmm2
pxor xmm3, xmm7
movdqa xmm1, xmm3
punpcklqdq xmm1, xmm3
punpckhqdq xmm0, xmm1
movdqa xmm1, xmm4
movdqu xmmword [rax - 0x190], xmm0
movdqa xmm0, xmm5
punpcklqdq xmm1, xmm4
punpcklqdq xmm5, xmm5
punpckhqdq xmm4, xmm5
punpckhqdq xmm3, xmm2
punpckhqdq xmm0, xmm1
movdqu xmmword [rax + 0xf0], xmm4
movdqu xmmword [rax - 0x110], xmm3
movdqu xmmword [rax + 0x70], xmm0
sub rdx, 1
jne 0x1400401c0
sub r12, rbp
nop dword [rax]
movdqu xmm0, xmmword [r14 + rbp]
pxor xmm0, xmmword [rbp]
movdqu xmmword [rbp], xmm0
movdqu xmmword [r12 + rbp], xmm0
lea rbp, [rbp + 0x10]
sub r15, 1
jne 0x140040550
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.140052720
lea r11, [rsp + 0x490]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret