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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov esi, dword [rcx + 0x4c]
lea rax, [rbp - 0x40]
mov r14d, dword [rcx + 0x50]
lea r8, [rbp - 0x40]
mov r11d, dword [rcx + 0x54]
mov r9, rdx
mov ebx, dword [rcx + 0x58]
sub r9, rax
mov r15d, dword [rcx + 0x5c]
mov r10, rcx
mov r12d, 0x10
mov edx, dword [r9 + r8]
lea edi, [r15 + 0x5a827999]
mov ecx, ebx
mov dword [r8], edx
xor ecx, r11d
lea r8, [r8 + 4]
and ecx, r14d
mov eax, esi
xor ecx, ebx
rol eax, 5
add eax, edx
mov r15d, ebx
mov ebx, r11d
add ecx, eax
mov r11d, r14d
add edi, ecx
rol r11d, 0x1e
mov r14d, esi
mov esi, edi
sub r12, 1
jne 0x140120104
lea r13d, [r12 + 0xd]
lea r9d, [r12 + 0x14]
lea r12d, [r13 - 9]
lea rax, [r13 + 5]
rol edi, 5
and eax, 0xf
lea rdx, [r13 + 3]
lea rcx, [r13 - 5]
and edx, 0xf
and ecx, 0xf
mov r8d, dword [rbp + rcx*4 - 0x40]
mov ecx, ebx
xor r8d, dword [rbp + rax*4 - 0x40]
xor ecx, r11d
and ecx, r14d
mov rax, r13
and eax, 0xf
xor ecx, ebx
inc r13
xor r8d, dword [rbp + rax*4 - 0x40]
xor r8d, dword [rbp + rdx*4 - 0x40]
rol r8d, 1
mov dword [rbp + rdx*4 - 0x40], r8d
lea eax, [r8 + rdi]
lea edi, [r15 + 0x5a827999]
add ecx, eax
add edi, ecx
mov r15d, ebx
mov ebx, r11d
mov r11d, r14d
rol r11d, 0x1e
mov r14d, esi
mov esi, edi
sub r12, 1
jne 0x140120151
mov r12, r9
mov r13d, 0x16
lea eax, [r9 - 3]
rol edi, 5
and eax, 0xf
lea ecx, [r9 - 8]
and ecx, 0xf
mov r8, r12
and r8d, 0xf
inc r9d
inc r12
mov edx, dword [rbp + rcx*4 - 0x40]
mov ecx, ebx
xor edx, dword [rbp + rax*4 - 0x40]
xor ecx, r11d
mov rax, r13
xor ecx, r14d
and eax, 0xf
inc r13
xor edx, dword [rbp + rax*4 - 0x40]
xor edx, dword [rbp + r8*4 - 0x40]
rol edx, 1
mov dword [rbp + r8*4 - 0x40], edx
lea eax, [rdx + rdi]
lea edi, [r15 + 0x6ed9eba1]
add ecx, eax
add edi, ecx
mov r15d, ebx
mov ebx, r11d
mov r11d, r14d
rol r11d, 0x1e
mov r14d, esi
mov esi, edi
cmp r9d, 0x28
jb 0x1401201c8
cmp r9d, 0x3c
jae 0x1401202bf
mov r12d, r9d
lea r13d, [r9 + 2]
lea eax, [r9 - 3]
rol edi, 5
and eax, 0xf
lea ecx, [r9 - 8]
and ecx, 0xf
mov rdx, r12
and edx, 0xf
add r15d, 0x8f1bbcdc
add edi, r15d
inc r9d
mov r15d, ebx
inc r12
mov r8d, dword [rbp + rcx*4 - 0x40]
mov ecx, r11d
xor r8d, dword [rbp + rax*4 - 0x40]
or ecx, r14d
and ecx, ebx
mov rax, r13
and eax, 0xf
mov ebx, r11d
inc r13
xor r8d, dword [rbp + rax*4 - 0x40]
mov eax, r11d
xor r8d, dword [rbp + rdx*4 - 0x40]
and eax, r14d
rol r8d, 1
or ecx, eax
add ecx, r8d
mov dword [rbp + rdx*4 - 0x40], r8d
mov r11d, r14d
add edi, ecx
rol r11d, 0x1e
mov r14d, esi
mov esi, edi
cmp r9d, 0x3c
jb 0x140120246
mov edi, esi
cmp r9d, 0x50
jae 0x14012033f
mov r12d, r9d
lea r13d, [r9 + 2]
lea eax, [r9 - 3]
rol edi, 5
and eax, 0xf
lea ecx, [r9 - 8]
mov rdx, r12
add r15d, 0xca62c1d6
and edx, 0xf
add edi, r15d
and ecx, 0xf
mov r15d, ebx
inc r9d
inc r12
mov r8d, dword [rbp + rcx*4 - 0x40]
xor r8d, dword [rbp + rax*4 - 0x40]
mov rax, r13
and eax, 0xf
inc r13
xor r8d, dword [rbp + rax*4 - 0x40]
mov eax, ebx
xor r8d, dword [rbp + rdx*4 - 0x40]
xor eax, r11d
xor eax, r14d
rol r8d, 1
mov ebx, r11d
mov dword [rbp + rdx*4 - 0x40], r8d
add eax, r8d
mov r11d, r14d
add edi, eax
rol r11d, 0x1e
mov r14d, esi
mov esi, edi
cmp r9d, 0x50
jb 0x1401202ce
add dword [r10 + 0x54], r11d
lea r11, [rsp + 0x40]
add dword [r10 + 0x4c], edi
add dword [r10 + 0x58], ebx
add dword [r10 + 0x50], r14d
add dword [r10 + 0x5c], r15d
mov rbx, qword [r11 + 0x30]
xor eax, eax
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret