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

Disassembly:
push rbp
sub rsp, 0x180
mov rbp, rsp
mov qword [rbp + 0x190], rcx
lea rcx, [rbp + 0x28]
mov rax, qword [rbp + 0x190]
lea rdx, [rax + 0x50]
call fcn.005c5350
mov rax, qword [rbp + 0x190]
mov eax, dword [rax]
mov dword [rbp + 0x178], eax
mov rax, qword [rbp + 0x190]
mov eax, dword [rax + 4]
mov dword [rbp + 0x174], eax
mov rax, qword [rbp + 0x190]
mov eax, dword [rax + 8]
mov dword [rbp + 0x170], eax
mov rax, qword [rbp + 0x190]
mov eax, dword [rax + 0xc]
mov dword [rbp + 0x16c], eax
mov rax, qword [rbp + 0x190]
mov eax, dword [rax + 0x10]
mov dword [rbp + 0x168], eax
mov dword [rbp + 0x17c], 0
cmp dword [rbp + 0x17c], 0x14
jge 0x5c56b7
mov eax, dword [rbp + 0x178]
shl eax, 5
mov ecx, dword [rbp + 0x178]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x170]
xor ecx, dword [rbp + 0x16c]
mov edx, dword [rbp + 0x174]
and edx, ecx
mov ecx, dword [rbp + 0x16c]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x28]
mov ecx, dword [rbp + 0x168]
add ecx, eax
add ecx, 0x5a827999
mov dword [rbp + 0x168], ecx
mov eax, dword [rbp + 0x174]
shr eax, 2
mov ecx, dword [rbp + 0x174]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x168]
shl eax, 5
mov ecx, dword [rbp + 0x168]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x174]
xor ecx, dword [rbp + 0x170]
mov edx, dword [rbp + 0x178]
and edx, ecx
mov ecx, dword [rbp + 0x170]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x2c]
mov ecx, dword [rbp + 0x16c]
add ecx, eax
add ecx, 0x5a827999
mov dword [rbp + 0x16c], ecx
mov eax, dword [rbp + 0x178]
shr eax, 2
mov ecx, dword [rbp + 0x178]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x16c]
shl eax, 5
mov ecx, dword [rbp + 0x16c]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x178]
xor ecx, dword [rbp + 0x174]
mov edx, dword [rbp + 0x168]
and edx, ecx
mov ecx, dword [rbp + 0x174]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x30]
mov ecx, dword [rbp + 0x170]
add ecx, eax
add ecx, 0x5a827999
mov dword [rbp + 0x170], ecx
mov eax, dword [rbp + 0x168]
shr eax, 2
mov ecx, dword [rbp + 0x168]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x168], eax
mov eax, dword [rbp + 0x170]
shl eax, 5
mov ecx, dword [rbp + 0x170]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x168]
xor ecx, dword [rbp + 0x178]
mov edx, dword [rbp + 0x16c]
and edx, ecx
mov ecx, dword [rbp + 0x178]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x34]
mov ecx, dword [rbp + 0x174]
add ecx, eax
add ecx, 0x5a827999
mov dword [rbp + 0x174], ecx
mov eax, dword [rbp + 0x16c]
shr eax, 2
mov ecx, dword [rbp + 0x16c]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x174]
shl eax, 5
mov ecx, dword [rbp + 0x174]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x16c]
xor ecx, dword [rbp + 0x168]
mov edx, dword [rbp + 0x170]
and edx, ecx
mov ecx, dword [rbp + 0x168]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x38]
mov ecx, dword [rbp + 0x178]
add ecx, eax
add ecx, 0x5a827999
mov dword [rbp + 0x178], ecx
mov eax, dword [rbp + 0x170]
shr eax, 2
mov ecx, dword [rbp + 0x170]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x170], eax
add dword [rbp + 0x17c], 5
cmp dword [rbp + 0x17c], 0x14
jl 0x5c548c
nop
cmp dword [rbp + 0x17c], 0x28
jge 0x5c58be
mov eax, dword [rbp + 0x178]
shl eax, 5
mov ecx, dword [rbp + 0x178]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x16c]
xor ecx, dword [rbp + 0x174]
xor ecx, dword [rbp + 0x170]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x28]
mov ecx, dword [rbp + 0x168]
add ecx, eax
add ecx, 0x6ed9eba1
mov dword [rbp + 0x168], ecx
mov eax, dword [rbp + 0x174]
shr eax, 2
mov ecx, dword [rbp + 0x174]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x168]
shl eax, 5
mov ecx, dword [rbp + 0x168]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x170]
xor ecx, dword [rbp + 0x178]
xor ecx, dword [rbp + 0x174]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x2c]
mov ecx, dword [rbp + 0x16c]
add ecx, eax
add ecx, 0x6ed9eba1
mov dword [rbp + 0x16c], ecx
mov eax, dword [rbp + 0x178]
shr eax, 2
mov ecx, dword [rbp + 0x178]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x16c]
shl eax, 5
mov ecx, dword [rbp + 0x16c]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x174]
xor ecx, dword [rbp + 0x168]
xor ecx, dword [rbp + 0x178]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x30]
mov ecx, dword [rbp + 0x170]
add ecx, eax
add ecx, 0x6ed9eba1
mov dword [rbp + 0x170], ecx
mov eax, dword [rbp + 0x168]
shr eax, 2
mov ecx, dword [rbp + 0x168]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x168], eax
mov eax, dword [rbp + 0x170]
shl eax, 5
mov ecx, dword [rbp + 0x170]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x178]
xor ecx, dword [rbp + 0x16c]
xor ecx, dword [rbp + 0x168]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x34]
mov ecx, dword [rbp + 0x174]
add ecx, eax
add ecx, 0x6ed9eba1
mov dword [rbp + 0x174], ecx
mov eax, dword [rbp + 0x16c]
shr eax, 2
mov ecx, dword [rbp + 0x16c]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x174]
shl eax, 5
mov ecx, dword [rbp + 0x174]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x168]
xor ecx, dword [rbp + 0x170]
xor ecx, dword [rbp + 0x16c]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x38]
mov ecx, dword [rbp + 0x178]
add ecx, eax
add ecx, 0x6ed9eba1
mov dword [rbp + 0x178], ecx
mov eax, dword [rbp + 0x170]
shr eax, 2
mov ecx, dword [rbp + 0x170]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x170], eax
add dword [rbp + 0x17c], 5
cmp dword [rbp + 0x17c], 0x28
jl 0x5c56c5
nop
cmp dword [rbp + 0x17c], 0x3c
jge 0x5c5b24
mov eax, dword [rbp + 0x178]
shl eax, 5
mov ecx, dword [rbp + 0x178]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x174]
and ecx, dword [rbp + 0x170]
mov edx, dword [rbp + 0x174]
or edx, dword [rbp + 0x170]
mov r8d, dword [rbp + 0x16c]
and r8d, edx
or ecx, r8d
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x28]
mov ecx, dword [rbp + 0x168]
add ecx, eax
add ecx, 0x8f1bbcdc
mov dword [rbp + 0x168], ecx
mov eax, dword [rbp + 0x174]
shr eax, 2
mov ecx, dword [rbp + 0x174]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x168]
shl eax, 5
mov ecx, dword [rbp + 0x168]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x178]
and ecx, dword [rbp + 0x174]
mov edx, dword [rbp + 0x178]
or edx, dword [rbp + 0x174]
mov r8d, dword [rbp + 0x170]
and r8d, edx
or ecx, r8d
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x2c]
mov ecx, dword [rbp + 0x16c]
add ecx, eax
add ecx, 0x8f1bbcdc
mov dword [rbp + 0x16c], ecx
mov eax, dword [rbp + 0x178]
shr eax, 2
mov ecx, dword [rbp + 0x178]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x16c]
shl eax, 5
mov ecx, dword [rbp + 0x16c]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x168]
and ecx, dword [rbp + 0x178]
mov edx, dword [rbp + 0x168]
or edx, dword [rbp + 0x178]
mov r8d, dword [rbp + 0x174]
and r8d, edx
or ecx, r8d
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x30]
mov ecx, dword [rbp + 0x170]
add ecx, eax
add ecx, 0x8f1bbcdc
mov dword [rbp + 0x170], ecx
mov eax, dword [rbp + 0x168]
shr eax, 2
mov ecx, dword [rbp + 0x168]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x168], eax
mov eax, dword [rbp + 0x170]
shl eax, 5
mov ecx, dword [rbp + 0x170]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x16c]
and ecx, dword [rbp + 0x168]
mov edx, dword [rbp + 0x16c]
or edx, dword [rbp + 0x168]
mov r8d, dword [rbp + 0x178]
and r8d, edx
or ecx, r8d
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x34]
mov ecx, dword [rbp + 0x174]
add ecx, eax
add ecx, 0x8f1bbcdc
mov dword [rbp + 0x174], ecx
mov eax, dword [rbp + 0x16c]
shr eax, 2
mov ecx, dword [rbp + 0x16c]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x174]
shl eax, 5
mov ecx, dword [rbp + 0x174]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x170]
and ecx, dword [rbp + 0x16c]
mov edx, dword [rbp + 0x170]
or edx, dword [rbp + 0x16c]
mov r8d, dword [rbp + 0x168]
and r8d, edx
or ecx, r8d
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x38]
mov ecx, dword [rbp + 0x178]
add ecx, eax
add ecx, 0x8f1bbcdc
mov dword [rbp + 0x178], ecx
mov eax, dword [rbp + 0x170]
shr eax, 2
mov ecx, dword [rbp + 0x170]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x170], eax
add dword [rbp + 0x17c], 5
cmp dword [rbp + 0x17c], 0x3c
jl 0x5c58cc
nop
cmp dword [rbp + 0x17c], 0x50
jge 0x5c5d2b
mov eax, dword [rbp + 0x178]
shl eax, 5
mov ecx, dword [rbp + 0x178]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x16c]
xor ecx, dword [rbp + 0x174]
xor ecx, dword [rbp + 0x170]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x28]
mov ecx, dword [rbp + 0x168]
add ecx, eax
add ecx, 0xca62c1d6
mov dword [rbp + 0x168], ecx
mov eax, dword [rbp + 0x174]
shr eax, 2
mov ecx, dword [rbp + 0x174]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x174], eax
mov eax, dword [rbp + 0x168]
shl eax, 5
mov ecx, dword [rbp + 0x168]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x170]
xor ecx, dword [rbp + 0x178]
xor ecx, dword [rbp + 0x174]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x2c]
mov ecx, dword [rbp + 0x16c]
add ecx, eax
add ecx, 0xca62c1d6
mov dword [rbp + 0x16c], ecx
mov eax, dword [rbp + 0x178]
shr eax, 2
mov ecx, dword [rbp + 0x178]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x16c]
shl eax, 5
mov ecx, dword [rbp + 0x16c]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x174]
xor ecx, dword [rbp + 0x168]
xor ecx, dword [rbp + 0x178]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x30]
mov ecx, dword [rbp + 0x170]
add ecx, eax
add ecx, 0xca62c1d6
mov dword [rbp + 0x170], ecx
mov eax, dword [rbp + 0x168]
shr eax, 2
mov ecx, dword [rbp + 0x168]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x168], eax
mov eax, dword [rbp + 0x170]
shl eax, 5
mov ecx, dword [rbp + 0x170]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x178]
xor ecx, dword [rbp + 0x16c]
xor ecx, dword [rbp + 0x168]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x34]
mov ecx, dword [rbp + 0x174]
add ecx, eax
add ecx, 0xca62c1d6
mov dword [rbp + 0x174], ecx
mov eax, dword [rbp + 0x16c]
shr eax, 2
mov ecx, dword [rbp + 0x16c]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x16c], eax
mov eax, dword [rbp + 0x174]
shl eax, 5
mov ecx, dword [rbp + 0x174]
shr ecx, 0x1b
or eax, ecx
mov ecx, dword [rbp + 0x168]
xor ecx, dword [rbp + 0x170]
xor ecx, dword [rbp + 0x16c]
add eax, ecx
movsxd rcx, dword [rbp + 0x17c]
add eax, dword [rbp + rcx*4 + 0x38]
mov ecx, dword [rbp + 0x178]
add ecx, eax
add ecx, 0xca62c1d6
mov dword [rbp + 0x178], ecx
mov eax, dword [rbp + 0x170]
shr eax, 2
mov ecx, dword [rbp + 0x170]
shl ecx, 0x1e
or eax, ecx
mov dword [rbp + 0x170], eax
add dword [rbp + 0x17c], 5
cmp dword [rbp + 0x17c], 0x50
jl 0x5c5b32
nop
mov rax, qword [rbp + 0x190]
mov ecx, dword [rbp + 0x178]
add dword [rax], ecx
mov rax, qword [rbp + 0x190]
lea rax, [rax + 4]
mov ecx, dword [rbp + 0x174]
add dword [rax], ecx
mov rax, qword [rbp + 0x190]
lea rax, [rax + 8]
mov ecx, dword [rbp + 0x170]
add dword [rax], ecx
mov rax, qword [rbp + 0x190]
lea rax, [rax + 0xc]
mov ecx, dword [rbp + 0x16c]
add dword [rax], ecx
mov rax, qword [rbp + 0x190]
lea rax, [rax + 0x10]
mov ecx, dword [rbp + 0x168]
add dword [rax], ecx
mov rax, qword [0x00653298]
cmp byte [rax], 0
je 0x5c5db4
call fcn.00417430
cmp byte [rax + 0x4ba], 0
je 0x5c5db4
mov rcx, qword [rbp + 0x190]
lea rdx, [0x005c5dcc]
call fcn.005c50a0
lea rsp, [rbp + 0x180]
pop rbp
ret