Function at 0x1400452f0
Capabilities:
Encode data using xor
Hash data using sha1

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [rsi + 0x28]
call fcn.140103540
mov dword [rsi + 0x28], eax
mov ecx, dword [rsi + 0x2c]
call fcn.140103540
mov dword [rsi + 0x2c], eax
mov ecx, dword [rsi + 0x30]
call fcn.140103540
mov dword [rsi + 0x30], eax
mov ecx, dword [rsi + 0x34]
call fcn.140103540
mov dword [rsi + 0x34], eax
mov ecx, dword [rsi + 0x38]
call fcn.140103540
mov dword [rsi + 0x38], eax
mov ecx, dword [rsi + 0x3c]
call fcn.140103540
mov dword [rsi + 0x3c], eax
mov ecx, dword [rsi + 0x40]
call fcn.140103540
mov dword [rsi + 0x40], eax
mov ecx, dword [rsi + 0x44]
call fcn.140103540
mov dword [rsi + 0x44], eax
mov ecx, dword [rsi + 0x48]
call fcn.140103540
mov dword [rsi + 0x48], eax
mov ecx, dword [rsi + 0x4c]
call fcn.140103540
mov dword [rsi + 0x4c], eax
mov ecx, dword [rsi + 0x50]
call fcn.140103540
mov dword [rsi + 0x50], eax
mov ecx, dword [rsi + 0x54]
call fcn.140103540
mov dword [rsi + 0x54], eax
mov ecx, dword [rsi + 0x58]
call fcn.140103540
mov dword [rsi + 0x58], eax
mov ecx, dword [rsi + 0x5c]
call fcn.140103540
mov dword [rsi + 0x5c], eax
mov ecx, dword [rsi + 0x60]
call fcn.140103540
mov dword [rsi + 0x60], eax
mov ecx, dword [rsi + 0x64]
call fcn.140103540
mov dword [rsi + 0x64], eax
mov rax, 0xffffffffffffffc0
nop word cs:[rax + rax]
mov ecx, dword [rsi + rax*4 + 0x148]
xor ecx, dword [rsi + rax*4 + 0x15c]
xor ecx, dword [rsi + rax*4 + 0x130]
xor ecx, dword [rsi + rax*4 + 0x128]
rol ecx, 1
mov dword [rsi + rax*4 + 0x168], ecx
add rax, 1
jne 0x1400453c0
movdqu xmm0, xmmword [rsi + 0x14]
movdqu xmmword [rsi], xmm0
mov r8d, dword [rsi + 0x24]
mov dword [rsi + 0x10], r8d
movd edi, xmm0
pshufd xmm1, xmm0, 0xe5
movd ebp, xmm1
pshufd xmm1, xmm0, 0x4e
movd ecx, xmm1
pshufd xmm1, xmm0, 0xe7
movd r10d, xmm1
xor edx, edx
mov r11d, 0x8f1bbcdc
mov ebx, r8d
nop word [rax + rax]
mov r14d, edi
mov r9d, r10d
mov r10d, ecx
mov ecx, ebp
mov ebp, r14d
rol ebp, 5
cmp rdx, 0x14
jae 0x140045470
mov eax, ecx
and eax, r10d
mov edi, ecx
not edi
and edi, r9d
or edi, eax
add edi, ebp
add edi, ebx
add edi, dword [rsi + rdx*4 + 0x28]
mov ebx, 0x5a827999
jmp 0x1400454c5
cmp rdx, 0x28
jae 0x140045490
mov edi, r10d
xor edi, r9d
xor edi, ecx
add edi, ebp
add edi, ebx
add edi, dword [rsi + rdx*4 + 0x28]
mov ebx, 0x6ed9eba1
jmp 0x1400454c5
cmp rdx, 0x3b
ja 0x1400454a8
mov eax, r10d
or eax, r9d
and eax, ecx
mov edi, r10d
and edi, r9d
or edi, eax
jmp 0x1400454b0
mov edi, r10d
xor edi, r9d
xor edi, ecx
add edi, ebp
add edi, ebx
add edi, dword [rsi + rdx*4 + 0x28]
cmp rdx, 0x3c
mov ebx, 0xca62c1d6
cmovb ebx, r11d
add edi, ebx
rol ecx, 0x1e
add rdx, 1
mov ebx, r9d
mov ebp, r14d
cmp rdx, 0x50
jne 0x140045430
mov dword [rsi + 0x10], r9d
mov dword [rsi + 0xc], r10d
mov dword [rsi + 8], ecx
mov dword [rsi + 4], r14d
mov dword [rsi], edi
movd xmm1, r10d
movd xmm2, ecx
punpckldq xmm2, xmm1
movd xmm1, r14d
movd xmm3, edi
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
paddd xmm3, xmm0
movdqu xmmword [rsi + 0x14], xmm3
add r8d, r9d
mov dword [rsi + 0x24], r8d
mov dword [rsi + 0x168], 0
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret