Function at 0x140216ca0
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1b8
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm7
movups xmmword [rsp + 0x170], xmm8
movups xmmword [rsp + 0x180], xmm9
movups xmmword [rsp + 0x190], xmm10
movups xmmword [rsp + 0x1a0], xmm11
movdqu xmm2, xmmword [0x14046b460]
mov rbx, qword [0x140485900]
movdqu xmm1, xmmword [rdx]
movdqa xmm0, xmm2
movdqa xmm6, xmm2
mov r11d, dword [rcx + 0x20]
movdqu xmm3, xmmword [rdx + 0x10]
movdqu xmm5, xmmword [rdx + 0x20]
movdqu xmm4, xmmword [rdx + 0x30]
pand xmm0, xmm1
psrlw xmm1, 8
pand xmm6, xmm3
psrlw xmm3, 8
mov rax, qword [rbx]
mov qword [rsp + 0x148], rax
xor eax, eax
packuswb xmm0, xmm6
packuswb xmm1, xmm3
movdqa xmm6, xmm2
movdqa xmm3, xmm2
pand xmm6, xmm4
mov eax, r11d
pand xmm3, xmm5
psrlw xmm4, 8
xor eax, 0x243f6a88
psrlw xmm5, 8
packuswb xmm3, xmm6
movdqa xmm6, xmm2
mov dword [rsp + 0x20], eax
packuswb xmm5, xmm4
movdqa xmm4, xmm2
pand xmm6, xmm3
mov eax, dword [rcx + 0x24]
pand xmm4, xmm0
psrlw xmm3, 8
psrlw xmm0, 8
packuswb xmm4, xmm6
xor eax, 0x85a308d3
packuswb xmm0, xmm3
movdqa xmm3, xmm2
pand xmm2, xmm5
mov dword [rsp + 0x28], eax
pand xmm3, xmm1
psrlw xmm5, 8
movdqa xmm7, xmm0
mov eax, dword [rcx + 0x28]
packuswb xmm3, xmm2
psrlw xmm1, 8
pxor xmm2, xmm2
packuswb xmm1, xmm5
movdqa xmm9, xmm4
movdqa xmm5, xmm3
xor eax, 0x13198a2e
punpcklbw xmm5, xmm2
punpckhbw xmm4, xmm2
punpckhbw xmm3, xmm2
mov dword [rsp + 0x30], eax
punpcklbw xmm9, xmm2
punpcklbw xmm7, xmm2
punpckhbw xmm0, xmm2
mov eax, dword [rcx + 0x2c]
movdqa xmm8, xmm1
movdqa xmm6, xmm5
punpckhbw xmm1, xmm2
punpcklbw xmm8, xmm2
movdqa xmm10, xmm9
pxor xmm2, xmm2
xor eax, 0x3707344
punpcklwd xmm6, xmm2
punpcklwd xmm10, xmm2
movdqa xmm11, xmm8
mov dword [rsp + 0x34], eax
psllw xmm7, 8
pslld xmm6, 0x10
punpckhwd xmm5, xmm2
mov eax, dword [rcx + 0x3c]
pslld xmm10, 0x18
punpckhwd xmm9, xmm2
punpcklwd xmm11, xmm2
por xmm6, xmm10
movdqa xmm10, xmm7
punpckhwd xmm8, xmm2
punpcklwd xmm10, xmm2
pslld xmm5, 0x10
punpckhwd xmm7, xmm2
pslld xmm9, 0x18
por xmm7, xmm8
por xmm10, xmm11
por xmm5, xmm9
psllw xmm0, 8
por xmm6, xmm10
por xmm5, xmm7
movups xmmword [rsp + 0x100], xmm6
movdqa xmm6, xmm4
movdqa xmm7, xmm1
movups xmmword [rsp + 0x110], xmm5
movdqa xmm5, xmm3
punpcklwd xmm6, xmm2
punpckhwd xmm3, xmm2
punpcklwd xmm5, xmm2
pslld xmm6, 0x18
punpckhwd xmm4, xmm2
pslld xmm5, 0x10
punpcklwd xmm7, xmm2
punpckhwd xmm1, xmm2
pslld xmm3, 0x10
pslld xmm4, 0x18
por xmm5, xmm6
movdqa xmm6, xmm0
punpckhwd xmm0, xmm2
por xmm3, xmm4
punpcklwd xmm6, xmm2
por xmm0, xmm1
movdqu xmm1, xmmword [rcx + 0x10]
por xmm6, xmm7
movdqu xmm7, xmmword [rcx]
por xmm0, xmm3
por xmm5, xmm6
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x120], xmm5
movups xmmword [rsp + 0xc0], xmm7
movups xmmword [rsp + 0xd0], xmm1
test eax, eax
jne 0x1402176d0
mov edx, dword [rcx + 0x30]
mov eax, edx
xor edx, 0x299f31d0
mov dword [rsp + 0x24], edx
mov edx, dword [rcx + 0x34]
xor eax, 0xa4093822
mov ebx, edx
xor edx, 0xec4e6c89
xor ebx, 0x82efa98
mov r13d, edx
mov dword [rsp + 0x2c], ebx
mov esi, dword [rsp + 0xd4]
mov ebx, dword [rsp + 0xc0]
mov r9d, 4
mov dword [rsp + 0x84], 0xbe5466cf
mov edi, dword [rsp + 0xd0]
mov edx, 0x85a308d3
mov ebp, dword [rsp + 0xc8]
mov dword [rsp + 0x80], 0x34e90c6c
mov dword [rsp + 0x38], esi
mov esi, dword [rsp + 0xd8]
xor r8d, r8d
mov r10d, 2
mov r14d, dword [rsp + 0xcc]
mov dword [rsp + 0x44], ebx
lea r15, [0x14046b340]
lea rbx, [0x14046b390]
mov dword [rsp + 0x3c], esi
mov esi, dword [rsp + 0xdc]
mov dword [rsp + 0x50], edi
mov r12d, dword [rsp + 0xc4]
mov edi, 3
mov dword [rsp + 0x40], esi
mov esi, 1
mov dword [rsp + 0x7c], 0x452821e6
mov dword [rsp + 0x78], 0x38d01377
mov dword [rsp + 0x74], 0xc0ac29b7
mov dword [rsp + 0x70], 0xc97c50dd
mov dword [rsp + 0x6c], 0x3f84d5b5
mov dword [rsp + 0x68], 0xb5470917
mov dword [rsp + 0x64], 0x82efa98
mov dword [rsp + 0x60], 0xec4e6c89
mov dword [rsp + 0x5c], 0xa4093822
mov dword [rsp + 0x58], 0x299f31d0
mov dword [rsp + 0x54], 0x13198a2e
mov dword [rsp + 0x4c], 0x243f6a88
mov dword [rsp + 0x98], 5
mov dword [rsp + 0x88], 6
mov dword [rsp + 0xb0], 7
mov dword [rsp + 0xac], 0xe
mov dword [rsp + 0xa8], 0xf
mov dword [rsp + 0xa4], 0xc
mov dword [rsp + 0xb4], r11d
mov r11d, dword [rsp + 0x44]
mov dword [rsp + 0x48], r13d
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x44], r14d
mov r14d, ebp
movsxd rbp, r9d
mov qword [rsp + 0xb8], rcx
mov ecx, 0x3707344
mov dword [rsp + 0xa0], 0xd
mov dword [rsp + 0x9c], 8
mov dword [rsp + 0x94], 9
mov dword [rsp + 0x90], 0xa
mov dword [rsp + 0x8c], 0xb
jmp 0x140217233
movzx r10d, byte [rbx + 2]
movzx ebp, byte [rbx + 4]
add rbx, 0x10
movzx r8d, byte [rbx - 0x10]
movzx esi, byte [rbx - 0xf]
movsxd r9, r10d
mov r9d, dword [r15 + r9*4]
movsxd rcx, r8d
movsxd rdx, esi
mov edi, dword [r15 + rcx*4]
mov edx, dword [r15 + rdx*4]
mov dword [rsp + 0x54], r9d
movzx r9d, byte [rbx - 0xb]
mov dword [rsp + 0x4c], edi
movzx edi, byte [rbx - 0xd]
mov dword [rsp + 0x98], r9d
mov r9d, dword [r15 + r9*4]
movsxd rcx, edi
mov dword [rsp + 0x58], r9d
movsxd r9, ebp
mov ecx, dword [r15 + rcx*4]
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x5c], r9d
movzx r9d, byte [rbx - 9]
mov dword [rsp + 0xb0], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x60], r9d
movzx r9d, byte [rbx - 0xa]
mov dword [rsp + 0x88], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x64], r9d
movzx r9d, byte [rbx - 1]
mov dword [rsp + 0xa8], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x68], r9d
movzx r9d, byte [rbx - 2]
mov dword [rsp + 0xac], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x6c], r9d
movzx r9d, byte [rbx - 3]
mov dword [rsp + 0xa0], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x70], r9d
movzx r9d, byte [rbx - 4]
mov dword [rsp + 0xa4], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x74], r9d
movzx r9d, byte [rbx - 7]
mov dword [rsp + 0x94], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x78], r9d
movzx r9d, byte [rbx - 8]
mov dword [rsp + 0x9c], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x7c], r9d
movzx r9d, byte [rbx - 5]
mov dword [rsp + 0x8c], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x80], r9d
movzx r9d, byte [rbx - 6]
mov dword [rsp + 0x90], r9d
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x84], r9d
xor edx, dword [rsp + r8*4 + 0x100]
add r11d, r13d
mov r8d, dword [rsp + 0x20]
mov r9d, r13d
add edx, r11d
mov r13d, dword [rsp + 0x4c]
xor r13d, dword [rsp + rsi*4 + 0x100]
xor eax, edx
xor ecx, dword [rsp + r10*4 + 0x100]
mov r10d, dword [rsp + 0x24]
rol eax, 0x10
mov r11d, dword [rsp + 0x54]
xor r11d, dword [rsp + rdi*4 + 0x100]
add r8d, eax
xor r9d, r8d
ror r9d, 0xc
add edx, r9d
lea esi, [r13 + rdx]
mov r13d, dword [rsp + 0x28]
xor eax, esi
mov dword [rsp + 0x4c], esi
mov esi, dword [rsp + 0x38]
ror eax, 8
add r12d, esi
lea edx, [r8 + rax]
mov dword [rsp + 0x50], eax
mov r8d, dword [rsp + 0x30]
add ecx, r12d
xor r9d, edx
mov dword [rsp + 0x20], edx
mov r12d, dword [rsp + 0x60]
xor r10d, ecx
ror r9d, 7
rol r10d, 0x10
add r13d, r10d
xor esi, r13d
mov eax, esi
mov esi, dword [rsp + 0x3c]
ror eax, 0xc
add ecx, eax
lea edx, [r14 + rsi]
movsxd r14, dword [rsp + 0x98]
lea edi, [r11 + rcx]
mov ecx, dword [rsp + 0x58]
mov r11d, dword [rsp + 0x2c]
xor r10d, edi
xor ecx, dword [rsp + rbp*4 + 0x100]
mov ebp, dword [rsp + 0x5c]
mov dword [rsp + 0x54], edi
ror r10d, 8
add ecx, edx
add r13d, r10d
xor r11d, ecx
xor eax, r13d
ror eax, 7
rol r11d, 0x10
xor ebp, dword [rsp + r14*4 + 0x100]
mov r14d, dword [rsp + 0x40]
add r8d, r11d
xor esi, r8d
mov edi, r8d
mov r8d, dword [rsp + 0x34]
mov edx, esi
ror edx, 0xc
add ecx, edx
add ebp, ecx
movsxd rcx, dword [rsp + 0x88]
xor r11d, ebp
mov dword [rsp + 0x24], ebp
mov ebp, dword [rsp + 0x64]
xor r12d, dword [rsp + rcx*4 + 0x100]
mov ecx, dword [rsp + 0x44]
ror r11d, 8
add edi, r11d
add ecx, r14d
xor edx, edi
add r12d, ecx
mov ecx, dword [rsp + 0x48]
ror edx, 7
xor ecx, r12d
rol ecx, 0x10
add r8d, ecx
xor r14d, r8d
mov esi, r8d
mov r8d, r14d
movsxd r14, dword [rsp + 0xb0]
ror r8d, 0xc
xor ebp, dword [rsp + r14*4 + 0x100]
add r12d, r8d
mov r14d, ebp
mov ebp, dword [rsp + 0x68]
add r14d, r12d
movsxd r12, dword [rsp + 0xac]
xor ecx, r14d
add r14d, r9d
xor ebp, dword [rsp + r12*4 + 0x100]
ror ecx, 8
mov r12d, ebp
add esi, ecx
mov ebp, dword [rsp + 0x6c]
add r12d, r14d
xor r8d, esi
movsxd r14, dword [rsp + 0xa8]
xor r11d, r12d
ror r8d, 7
rol r11d, 0x10
xor ebp, dword [rsp + r14*4 + 0x100]
mov r14d, dword [rsp + 0x20]
add r13d, r11d
xor r9d, r13d
ror r9d, 0xc
add r12d, r9d
lea ebp, [rbp + r12]
xor r11d, ebp
mov dword [rsp + 0x44], ebp
mov ebp, dword [rsp + 0x24]
ror r11d, 8
mov dword [rsp + 0x2c], r11d
add r11d, r13d
add ebp, r8d
xor r9d, r11d
mov dword [rsp + 0x28], r11d
mov r11d, dword [rsp + 0x70]
ror r9d, 7
mov r13d, r9d
movsxd r9, dword [rsp + 0xa4]
xor r11d, dword [rsp + r9*4 + 0x100]
add ebp, r11d
movsxd r11, dword [rsp + 0xa0]
xor r10d, ebp
rol r10d, 0x10
lea r9d, [r14 + r10]
mov r14d, dword [rsp + 0x74]
xor r14d, dword [rsp + r11*4 + 0x100]
xor r8d, r9d
ror r8d, 0xc
add ebp, r8d
lea r14d, [r14 + rbp]
xor r10d, r14d
ror r10d, 8
lea r11d, [r9 + r10]
mov dword [rsp + 0x24], r10d
mov r10d, dword [rsp + 0x4c]
xor r8d, r11d
mov r9d, dword [rsp + 0x78]
mov dword [rsp + 0x20], r11d
ror r8d, 7
mov r11d, dword [rsp + 0x7c]
mov dword [rsp + 0x40], r8d
movsxd r8, dword [rsp + 0x9c]
xor r9d, dword [rsp + r8*4 + 0x100]
mov r8d, r9d
lea r9d, [r10 + rax]
add r8d, r9d
movsxd r9, dword [rsp + 0x94]
xor ecx, r8d
rol ecx, 0x10
xor r11d, dword [rsp + r9*4 + 0x100]
add edi, ecx
xor eax, edi
ror eax, 0xc
add r8d, eax
add r11d, r8d
xor ecx, r11d
ror ecx, 8
mov dword [rsp + 0x48], ecx
add ecx, edi
xor eax, ecx
mov dword [rsp + 0x30], ecx
mov ecx, eax
movsxd rax, dword [rsp + 0x90]
ror ecx, 7
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x80]
mov edi, dword [rsp + 0x54]
xor ecx, dword [rsp + rax*4 + 0x100]
movsxd r8, dword [rsp + 0x8c]
mov r12d, dword [rsp + 0x84]
lea eax, [rdi + rdx]
add ecx, eax
mov eax, dword [rsp + 0x50]
xor r12d, dword [rsp + r8*4 + 0x100]
xor eax, ecx
rol eax, 0x10
add esi, eax
xor edx, esi
ror edx, 0xc
add ecx, edx
add r12d, ecx
xor eax, r12d
ror eax, 8
lea edi, [rsi + rax]
xor edx, edi
mov dword [rsp + 0x34], edi
lea rdi, [0x14046b460]
ror edx, 7
mov dword [rsp + 0x3c], edx
cmp rbx, rdi
jne 0x1402170f0
mov ebx, dword [rsp + 0x2c]
mov edi, r13d
mov ebp, r14d
mov r13d, dword [rsp + 0x48]
mov dword [rsp + 0xf0], eax
mov r14d, dword [rsp + 0x44]
mov esi, r11d
lea r9, [rsp + 0xc0]
mov dword [rsp + 0xf8], ebx
mov ebx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0xcc], r14d
mov dword [rsp + 0xe4], ebx
mov ebx, dword [rsp + 0x24]
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xf4], ebx
mov ebx, dword [rsp + 0x20]
mov dword [rsp + 0xd0], edi
mov r11d, dword [rsp + 0xb4]
mov dword [rsp + 0xe0], ebx
mov ebx, dword [rsp + 0x40]
mov dword [rsp + 0xc8], ebp
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0xdc], ebx
mov ebx, dword [rsp + 0x30]
mov dword [rsp + 0xc0], esi
mov dword [rsp + 0xe8], ebx
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 0xfc], r13d
mov dword [rsp + 0xd4], ebx
mov dword [rsp + 0xc4], r12d
mov dword [rsp + 0xd8], eax
xor eax, eax
nop dword [rax + rax]
mov r8, rax
and r8d, 7
mov edx, dword [rcx + r8*4]
xor edx, dword [r9 + rax*4]
add rax, 1
mov dword [rcx + r8*4], edx
cmp rax, 0x10
jne 0x140217630
xor dword [rcx], r11d
mov eax, 1
nop dword [rax]
mov rdx, rax
and edx, 3
mov edx, dword [rcx + rdx*4 + 0x20]
xor dword [rcx + rax*4], edx
add rax, 1
cmp rax, 8
jne 0x140217658
mov rbx, qword [0x140485900]
mov rax, qword [rsp + 0x148]
sub rax, qword [rbx]
jne 0x1402176f0
movups xmm6, xmmword [rsp + 0x150]
movups xmm7, xmmword [rsp + 0x160]
movups xmm8, xmmword [rsp + 0x170]
movups xmm9, xmmword [rsp + 0x180]
movups xmm10, xmmword [rsp + 0x190]
movups xmm11, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x2c], 0x82efa98
mov r13d, 0xec4e6c89
mov eax, 0xa4093822
mov dword [rsp + 0x24], 0x299f31d0
jmp 0x140216f4f
call dbg.__stack_chk_fail
nop
nop word cs:[rax + rax]