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

Disassembly:
push rbp
push r13
push rdi
push rsi
push rbx
sub rsp, 0x160
mov rbp, rsp
mov rbx, rcx
lea rcx, [rbp + 0x20]
lea rdx, [rbx + 0x50]
call fcn.00a7d5c0
mov ecx, dword [rbx]
mov edx, dword [rbx + 4]
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
mov r10d, dword [rbx + 0x10]
xor rax, rax
mov r11d, ecx
shl r11d, 5
mov esi, ecx
shr esi, 0x1b
or r11d, esi
mov esi, r8d
xor esi, r9d
mov edi, edx
and edi, esi
mov esi, r9d
xor esi, edi
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x20]
add r10d, r11d
add r10d, 0x5a827999
mov r11d, edx
shr r11d, 2
shl edx, 0x1e
or r11d, edx
mov edx, r11d
mov r11d, r10d
shl r11d, 5
mov esi, r10d
shr esi, 0x1b
or r11d, esi
mov esi, edx
xor esi, r8d
mov edi, ecx
and edi, esi
mov esi, r8d
xor esi, edi
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x24]
add r9d, r11d
add r9d, 0x5a827999
mov r11d, ecx
shr r11d, 2
shl ecx, 0x1e
or r11d, ecx
mov ecx, r11d
mov r11d, r9d
shl r11d, 5
mov esi, r9d
shr esi, 0x1b
or r11d, esi
mov esi, ecx
xor esi, edx
mov edi, r10d
and edi, esi
mov esi, edx
xor esi, edi
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x28]
add r8d, r11d
add r8d, 0x5a827999
mov r11d, r10d
shr r11d, 2
shl r10d, 0x1e
or r11d, r10d
mov r10d, r11d
mov r11d, r8d
shl r11d, 5
mov esi, r8d
shr esi, 0x1b
or r11d, esi
mov esi, r10d
xor esi, ecx
mov edi, r9d
and edi, esi
mov esi, ecx
xor esi, edi
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x2c]
add edx, r11d
add edx, 0x5a827999
mov r11d, r9d
shr r11d, 2
shl r9d, 0x1e
or r11d, r9d
mov r9d, r11d
mov r11d, edx
shl r11d, 5
mov esi, edx
shr esi, 0x1b
or r11d, esi
mov esi, r9d
xor esi, r10d
mov edi, r8d
and edi, esi
mov esi, r10d
xor esi, edi
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x30]
add ecx, r11d
add ecx, 0x5a827999
mov r11d, r8d
shr r11d, 2
shl r8d, 0x1e
or r11d, r8d
mov r8d, r11d
add eax, 5
cmp eax, 0x14
jl 0xa7d664
nop
cmp eax, 0x28
jge 0xa7d905
mov r11d, ecx
shl r11d, 5
mov esi, ecx
shr esi, 0x1b
or r11d, esi
mov esi, r9d
xor esi, edx
xor esi, r8d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x20]
add r10d, r11d
add r10d, 0x6ed9eba1
mov r11d, edx
shr r11d, 2
shl edx, 0x1e
or r11d, edx
mov edx, r11d
mov r11d, r10d
shl r11d, 5
mov esi, r10d
shr esi, 0x1b
or r11d, esi
mov esi, r8d
xor esi, ecx
xor esi, edx
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x24]
add r9d, r11d
add r9d, 0x6ed9eba1
mov r11d, ecx
shr r11d, 2
shl ecx, 0x1e
or r11d, ecx
mov ecx, r11d
mov r11d, r9d
shl r11d, 5
mov esi, r9d
shr esi, 0x1b
or r11d, esi
mov esi, edx
xor esi, r10d
xor esi, ecx
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x28]
add r8d, r11d
add r8d, 0x6ed9eba1
mov r11d, r10d
shr r11d, 2
shl r10d, 0x1e
or r11d, r10d
mov r10d, r11d
mov r11d, r8d
shl r11d, 5
mov esi, r8d
shr esi, 0x1b
or r11d, esi
mov esi, ecx
xor esi, r9d
xor esi, r10d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x2c]
add edx, r11d
add edx, 0x6ed9eba1
mov r11d, r9d
shr r11d, 2
shl r9d, 0x1e
or r11d, r9d
mov r9d, r11d
mov r11d, edx
shl r11d, 5
mov esi, edx
shr esi, 0x1b
or r11d, esi
mov esi, r10d
xor esi, r8d
xor esi, r9d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x30]
add ecx, r11d
add ecx, 0x6ed9eba1
mov r11d, r8d
shr r11d, 2
shl r8d, 0x1e
or r11d, r8d
mov r8d, r11d
add eax, 5
cmp eax, 0x28
jl 0xa7d7ca
nop
cmp eax, 0x3c
jge 0xa7da84
mov r11d, ecx
shl r11d, 5
mov esi, ecx
shr esi, 0x1b
or r11d, esi
mov esi, edx
and esi, r8d
mov edi, edx
or edi, r8d
mov r13d, r9d
and r13d, edi
or esi, r13d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x20]
add r10d, r11d
add r10d, 0x8f1bbcdc
mov r11d, edx
shr r11d, 2
shl edx, 0x1e
or r11d, edx
mov edx, r11d
mov r11d, r10d
shl r11d, 5
mov esi, r10d
shr esi, 0x1b
or r11d, esi
mov esi, ecx
and esi, edx
mov edi, ecx
or edi, edx
mov r13d, r8d
and r13d, edi
or esi, r13d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x24]
add r9d, r11d
add r9d, 0x8f1bbcdc
mov r11d, ecx
shr r11d, 2
shl ecx, 0x1e
or r11d, ecx
mov ecx, r11d
mov r11d, r9d
shl r11d, 5
mov esi, r9d
shr esi, 0x1b
or r11d, esi
mov esi, r10d
and esi, ecx
mov edi, r10d
or edi, ecx
mov r13d, edx
and r13d, edi
or esi, r13d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x28]
add r8d, r11d
add r8d, 0x8f1bbcdc
mov r11d, r10d
shr r11d, 2
shl r10d, 0x1e
or r11d, r10d
mov r10d, r11d
mov r11d, r8d
shl r11d, 5
mov esi, r8d
shr esi, 0x1b
or r11d, esi
mov esi, r9d
and esi, r10d
mov edi, r9d
or edi, r10d
mov r13d, ecx
and r13d, edi
or esi, r13d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x2c]
add edx, r11d
add edx, 0x8f1bbcdc
mov r11d, r9d
shr r11d, 2
shl r9d, 0x1e
or r11d, r9d
mov r9d, r11d
mov r11d, edx
shl r11d, 5
mov esi, edx
shr esi, 0x1b
or r11d, esi
mov esi, r8d
and esi, r9d
mov edi, r8d
or edi, r9d
mov r13d, r10d
and r13d, edi
or esi, r13d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x30]
add ecx, r11d
add ecx, 0x8f1bbcdc
mov r11d, r8d
shr r11d, 2
shl r8d, 0x1e
or r11d, r8d
mov r8d, r11d
add eax, 5
cmp eax, 0x3c
jl 0xa7d90f
nop
cmp eax, 0x50
jge 0xa7dbc9
mov r11d, ecx
shl r11d, 5
mov esi, ecx
shr esi, 0x1b
or r11d, esi
mov esi, r9d
xor esi, edx
xor esi, r8d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x20]
add r10d, r11d
add r10d, 0xca62c1d6
mov r11d, edx
shr r11d, 2
shl edx, 0x1e
or r11d, edx
mov edx, r11d
mov r11d, r10d
shl r11d, 5
mov esi, r10d
shr esi, 0x1b
or r11d, esi
mov esi, r8d
xor esi, ecx
xor esi, edx
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x24]
add r9d, r11d
add r9d, 0xca62c1d6
mov r11d, ecx
shr r11d, 2
shl ecx, 0x1e
or r11d, ecx
mov ecx, r11d
mov r11d, r9d
shl r11d, 5
mov esi, r9d
shr esi, 0x1b
or r11d, esi
mov esi, edx
xor esi, r10d
xor esi, ecx
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x28]
add r8d, r11d
add r8d, 0xca62c1d6
mov r11d, r10d
shr r11d, 2
shl r10d, 0x1e
or r11d, r10d
mov r10d, r11d
mov r11d, r8d
shl r11d, 5
mov esi, r8d
shr esi, 0x1b
or r11d, esi
mov esi, ecx
xor esi, r9d
xor esi, r10d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x2c]
add edx, r11d
add edx, 0xca62c1d6
mov r11d, r9d
shr r11d, 2
shl r9d, 0x1e
or r11d, r9d
mov r9d, r11d
mov r11d, edx
shl r11d, 5
mov esi, edx
shr esi, 0x1b
or r11d, esi
mov esi, r10d
xor esi, r8d
xor esi, r9d
add r11d, esi
movsxd rsi, eax
add r11d, dword [rbp + rsi*4 + 0x30]
add ecx, r11d
add ecx, 0xca62c1d6
mov r11d, r8d
shr r11d, 2
shl r8d, 0x1e
or r11d, r8d
mov r8d, r11d
add eax, 5
cmp eax, 0x50
jl 0xa7da8e
nop
add dword [rbx], ecx
lea rax, [rbx + 4]
add dword [rax], edx
lea rax, [rbx + 8]
add dword [rax], r8d
lea rax, [rbx + 0xc]
add dword [rax], r9d
lea rax, [rbx + 0x10]
add dword [rax], r10d
lea rsp, [rbp + 0x160]
pop rbx
pop rsi
pop rdi
pop r13
pop rbp
ret