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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movups xmm0, xmmword [rcx + 0x2c]
movups xmm1, xmmword [rcx + 0x3c]
mov r8d, dword [rcx + 0x6c]
mov rbx, rcx
mov r11d, 0x40
mov edx, r11d
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x4c]
movups xmm1, xmmword [rcx + 0x5c]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
call fcn.18004cbe0
lea r10, [rsp + 0x28]
nop dword [rax]
mov eax, dword [r10 + 0x2c]
lea r10, [r10 + 4]
xor eax, dword [r10 + 0x14]
xor eax, dword [r10 - 0xc]
xor eax, dword [r10 - 4]
rol eax, 1
mov dword [r10 + 0x34], eax
dec r11
jne 0x18004cd00
mov r12d, dword [rbx + 0x1c]
mov esi, dword [rbx + 0x10]
mov r13d, dword [rbx + 0x18]
mov r14d, dword [rbx + 0x14]
mov r15d, dword [rbx + 0x20]
mov r10d, dword [rsp + 0x20]
add r10d, 0x5a827999
mov ecx, r12d
mov eax, esi
xor ecx, r13d
rol eax, 5
mov r8d, r14d
and ecx, r14d
ror r8d, 2
add eax, r15d
xor ecx, r12d
mov edx, r13d
lea r11d, [r12 + 0x5a827999]
xor edx, r8d
add ecx, eax
mov eax, dword [rsp + 0x34]
and edx, esi
add r10d, ecx
mov r9d, esi
xor edx, r13d
mov ecx, r10d
lea ebx, [r13 + 0x5a827999]
add eax, 0x5a827999
rol ecx, 5
add ecx, dword [rsp + 0x24]
add edx, ecx
ror r9d, 2
add r11d, edx
mov edx, r8d
xor edx, r9d
mov ecx, r11d
and edx, r10d
xor edx, r8d
rol ecx, 5
add r8d, 0x5a827999
add ecx, dword [rsp + 0x28]
ror r10d, 2
add edx, ecx
add ebx, edx
mov edx, r10d
xor edx, r9d
mov ecx, ebx
and edx, r11d
rol ecx, 5
add ecx, dword [rsp + 0x2c]
xor edx, r9d
ror r11d, 2
add edx, ecx
add r9d, 0x5a827999
add r8d, edx
mov edx, r10d
xor edx, r11d
mov ecx, r8d
and edx, ebx
xor edx, r10d
rol ecx, 5
add ecx, dword [rsp + 0x30]
add edx, ecx
ror ebx, 2
add r9d, edx
mov edx, r11d
xor edx, ebx
mov ecx, r9d
and edx, r8d
xor edx, r11d
rol ecx, 5
add ecx, eax
add edx, ecx
ror r8d, 2
add r10d, edx
mov edx, ebx
xor edx, r8d
mov ecx, r10d
and edx, r9d
rol ecx, 5
xor edx, ebx
ror r9d, 2
mov eax, dword [rsp + 0x38]
add eax, 0x5a827999
add ecx, eax
mov eax, dword [rsp + 0x3c]
add edx, ecx
add eax, 0x5a827999
add r11d, edx
mov edx, r8d
xor edx, r9d
mov ecx, r11d
and edx, r10d
xor edx, r8d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x40]
ror r10d, 2
add edx, ecx
add eax, 0x5a827999
add ebx, edx
mov edx, r9d
xor edx, r10d
mov ecx, ebx
and edx, r11d
xor edx, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x44]
ror r11d, 2
add edx, ecx
add eax, 0x5a827999
add r8d, edx
mov edx, r11d
xor edx, r10d
mov ecx, r8d
and edx, ebx
xor edx, r10d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x48]
ror ebx, 2
add edx, ecx
add eax, 0x5a827999
add r9d, edx
mov edx, r11d
xor edx, ebx
mov ecx, r9d
and edx, r8d
xor edx, r11d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x4c]
ror r8d, 2
add edx, ecx
add eax, 0x5a827999
add r10d, edx
mov edx, ebx
xor edx, r8d
mov ecx, r10d
and edx, r9d
xor edx, ebx
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x50]
ror r9d, 2
add edx, ecx
add eax, 0x5a827999
add r11d, edx
mov edx, r8d
xor edx, r9d
mov ecx, r11d
and edx, r10d
xor edx, r8d
rol ecx, 5
add ecx, eax
add edx, ecx
ror r10d, 2
add ebx, edx
mov edx, r9d
mov ecx, ebx
rol ecx, 5
xor edx, r10d
mov eax, dword [rsp + 0x54]
lea edi, [r9 + 0x5a827999]
and edx, r11d
ror r11d, 2
add eax, 0x5a827999
xor edx, r9d
add ecx, eax
mov eax, dword [rsp + 0x6c]
add edx, ecx
lea r9d, [r10 + 0x5a827999]
add eax, 0x5a827999
add r8d, edx
mov edx, r10d
xor edx, r11d
mov ecx, r8d
and edx, ebx
xor edx, r10d
lea r10d, [r11 + 0x5a827999]
rol ecx, 5
add ecx, dword [rsp + 0x58]
add edx, ecx
ror ebx, 2
add edi, edx
mov edx, ebx
xor edx, r11d
mov ecx, edi
and edx, r8d
xor edx, r11d
rol ecx, 5
lea r11d, [rbx + 0x5a827999]
add ecx, dword [rsp + 0x5c]
ror r8d, 2
add edx, ecx
add r9d, edx
mov edx, ebx
xor edx, r8d
mov ecx, r9d
and edx, edi
rol ecx, 5
add ecx, dword [rsp + 0x60]
xor edx, ebx
lea ebx, [r8 + 0x5a827999]
add edx, ecx
add r10d, edx
mov edx, r8d
ror edi, 2
xor edx, edi
mov ecx, r10d
and edx, r9d
xor edx, r8d
rol ecx, 5
add ecx, dword [rsp + 0x64]
add edx, ecx
ror r9d, 2
add r11d, edx
mov edx, edi
mov r8d, r9d
xor edx, r9d
mov ecx, r11d
and edx, r10d
rol ecx, 5
add ecx, dword [rsp + 0x68]
xor edx, edi
ror r10d, 2
add edx, ecx
xor r8d, r10d
and r8d, r11d
add ebx, edx
xor r8d, r9d
mov ecx, ebx
mov edx, ebx
xor edx, r10d
rol ecx, 5
add ecx, eax
add r8d, ecx
ror r11d, 2
add r8d, edi
mov ecx, r8d
rol ecx, 5
xor edx, r11d
ror ebx, 2
mov eax, dword [rsp + 0x70]
add eax, 0x6ed9eba1
add ecx, eax
mov eax, dword [rsp + 0x74]
add edx, ecx
add eax, 0x6ed9eba1
add r9d, edx
mov edx, ebx
xor edx, r8d
mov ecx, r9d
ror r8d, 2
xor edx, r11d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x78]
add edx, ecx
add eax, 0x6ed9eba1
add r10d, edx
mov edx, ebx
xor edx, r8d
mov ecx, r10d
xor edx, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rsp + 0x7c]
ror r9d, 2
add edx, ecx
add eax, 0x6ed9eba1
add r11d, edx
mov edx, r8d
xor edx, r9d
mov ecx, r11d
xor edx, r10d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x80]
ror r10d, 2
add edx, ecx
add eax, 0x6ed9eba1
add ebx, edx
mov edx, r9d
xor edx, r10d
mov ecx, ebx
xor edx, r11d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x7c]
ror r11d, 2
add edx, ecx
add eax, 0x6ed9eba1
add r8d, edx
mov edx, r10d
xor edx, r11d
mov ecx, r8d
xor edx, ebx
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x78]
ror ebx, 2
add edx, ecx
add eax, 0x6ed9eba1
add r9d, edx
mov edx, r8d
xor edx, r11d
mov ecx, r9d
ror r8d, 2
xor edx, ebx
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x74]
add edx, ecx
add eax, 0x6ed9eba1
add r10d, edx
mov edx, r8d
xor edx, r9d
mov ecx, r10d
xor edx, ebx
rol ecx, 5
add ecx, eax
add edx, ecx
ror r9d, 2
add r11d, edx
mov eax, dword [rbp - 0x70]
add eax, 0x6ed9eba1
mov ecx, r11d
mov edx, r8d
xor edx, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x6c]
xor edx, r10d
add edx, ecx
add eax, 0x6ed9eba1
add ebx, edx
ror r10d, 2
mov edx, r9d
xor edx, r10d
mov ecx, ebx
xor edx, r11d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x68]
ror r11d, 2
add edx, ecx
add eax, 0x6ed9eba1
add r8d, edx
mov edx, r10d
xor edx, r11d
mov ecx, r8d
xor edx, ebx
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x64]
ror ebx, 2
add edx, ecx
add eax, 0x6ed9eba1
add r9d, edx
mov edx, r11d
xor edx, ebx
mov ecx, r9d
xor edx, r8d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x60]
ror r8d, 2
add edx, ecx
add eax, 0x6ed9eba1
add r10d, edx
mov edx, r9d
xor edx, ebx
mov ecx, r10d
ror r9d, 2
xor edx, r8d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x5c]
add edx, ecx
add eax, 0x6ed9eba1
add r11d, edx
mov edx, r9d
xor edx, r10d
mov ecx, r11d
xor edx, r8d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x58]
ror r10d, 2
add edx, ecx
add eax, 0x6ed9eba1
add ebx, edx
mov edx, r9d
xor edx, r10d
mov ecx, ebx
rol ecx, 5
xor edx, r11d
add ecx, eax
ror r11d, 2
add edx, ecx
add r8d, edx
mov ecx, r8d
rol ecx, 5
mov eax, dword [rbp - 0x54]
mov edx, r10d
xor edx, r11d
add eax, 0x6ed9eba1
add ecx, eax
mov eax, dword [rbp - 0x50]
xor edx, ebx
ror ebx, 2
add edx, ecx
add eax, 0x6ed9eba1
add r9d, edx
mov edx, r11d
xor edx, ebx
mov ecx, r9d
rol ecx, 5
xor edx, r8d
add ecx, eax
mov eax, dword [rbp - 0x4c]
add edx, ecx
add eax, 0x6ed9eba1
add r10d, edx
ror r8d, 2
mov edx, ebx
xor edx, r8d
mov ecx, r10d
xor edx, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x48]
ror r9d, 2
add edx, ecx
add eax, 0x6ed9eba1
add r11d, edx
mov edx, r10d
xor edx, r8d
mov ecx, r11d
ror r10d, 2
xor edx, r9d
rol ecx, 5
add ecx, eax
mov eax, dword [rbp - 0x44]
add edx, ecx
add eax, 0x6ed9eba1
add ebx, edx
mov edx, r10d
xor edx, r11d
mov ecx, ebx
xor edx, r9d
rol ecx, 5
add ecx, eax
add edx, ecx
ror r11d, 2
add r8d, edx
mov ecx, r11d
mov eax, r11d
or ecx, ebx
and eax, ebx
mov edx, r8d
and ecx, r10d
or ecx, eax
add ecx, 0x8f1bbcdc
add ecx, dword [rbp - 0x40]
rol edx, 5
add r9d, edx
add r9d, ecx
ror ebx, 2
mov ecx, ebx
mov eax, ebx
mov edx, r9d
or ecx, r8d
and eax, r8d
and ecx, r11d
rol edx, 5
or ecx, eax
add r10d, edx
ror r8d, 2
add ecx, 0x8f1bbcdc
add ecx, dword [rbp - 0x3c]
add r10d, ecx
mov edx, r10d
rol edx, 5
add r11d, edx
mov ecx, r8d
mov eax, r8d
or ecx, r9d
and eax, r9d
ror r9d, 2
and ecx, ebx
or ecx, eax
mov eax, r9d
add ecx, 0x8f1bbcdc
and eax, r10d
add ecx, dword [rbp - 0x38]
add r11d, ecx
mov ecx, r9d
or ecx, r10d
mov edx, r11d
ror r10d, 2
and ecx, r8d
or ecx, eax
rol edx, 5
mov eax, r11d
add ecx, 0x8f1bbcdc
add ebx, edx
and eax, r10d
add ecx, dword [rbp - 0x34]
add ebx, ecx
mov ecx, r11d
or ecx, r10d
mov edx, ebx
and ecx, r9d
rol edx, 5
or ecx, eax
add r8d, edx
ror r11d, 2
add ecx, 0x8f1bbcdc
mov eax, r11d
add ecx, dword [rbp - 0x30]
and eax, ebx
add r8d, ecx
mov ecx, r11d
or ecx, ebx
mov edx, r8d
and ecx, r10d
or ecx, eax
rol edx, 5
add ecx, 0x8f1bbcdc
add r9d, edx
ror ebx, 2
add ecx, dword [rbp - 0x2c]
mov eax, ebx
add r9d, ecx
and eax, r8d
mov ecx, ebx
or ecx, r8d
ror r8d, 2
mov edx, r9d
and ecx, r11d
rol edx, 5
or ecx, eax
add r10d, edx
mov eax, r8d
add ecx, 0x8f1bbcdc
and eax, r9d
add ecx, dword [rbp - 0x28]
add r10d, ecx
mov ecx, r8d
or ecx, r9d
mov edx, r10d
ror r9d, 2
and ecx, ebx
or ecx, eax
rol edx, 5
add ecx, 0x8f1bbcdc
add r11d, edx
add ecx, dword [rbp - 0x24]
add r11d, ecx
mov ecx, r9d
mov edx, r11d
or ecx, r10d
rol edx, 5
and ecx, r8d
add ebx, edx
mov eax, r9d
and eax, r10d
ror r10d, 2
or ecx, eax
mov eax, r10d
add ecx, 0x8f1bbcdc
and eax, r11d
add ecx, dword [rbp - 0x20]
add ebx, ecx
mov ecx, r10d
or ecx, r11d
mov edx, ebx
and ecx, r9d
rol edx, 5
or ecx, eax
add r8d, edx
ror r11d, 2
add ecx, 0x8f1bbcdc
mov eax, ebx
add ecx, dword [rbp - 0x1c]
and eax, r11d
add r8d, ecx
mov ecx, ebx
ror ebx, 2
or ecx, r11d
mov edx, r8d
and ecx, r10d
or ecx, eax
mov eax, ebx
add ecx, 0x8f1bbcdc
and eax, r8d
add ecx, dword [rbp - 0x18]
rol edx, 5
add r9d, edx
add r9d, ecx
mov ecx, ebx
or ecx, r8d
mov edx, r9d
and ecx, r11d
rol edx, 5
or ecx, eax
add r10d, edx
ror r8d, 2
add ecx, 0x8f1bbcdc
mov eax, r8d
add ecx, dword [rbp - 0x14]
and eax, r9d
add r10d, ecx
mov ecx, r8d
or ecx, r9d
mov edx, r10d
and ecx, ebx
or ecx, eax
rol edx, 5
add ecx, 0x8f1bbcdc
add r11d, edx
ror r9d, 2
add ecx, dword [rbp - 0x10]
mov eax, r9d
add r11d, ecx
and eax, r10d
mov ecx, r9d
or ecx, r10d
ror r10d, 2
mov edi, r11d
and ecx, r8d
rol edi, 5
or ecx, eax
add edi, ebx
mov eax, r10d
add ecx, 0x8f1bbcdc
and eax, r11d
add ecx, dword [rbp - 0xc]
add edi, ecx
mov ecx, r10d
or ecx, r11d
mov edx, edi
and ecx, r9d
rol edx, 5
or ecx, eax
ror r11d, 2
add ecx, 0x8f1bbcdc
add r8d, edx
add ecx, dword [rbp - 8]
mov eax, r11d
add r8d, ecx
and eax, edi
mov ecx, r11d
or ecx, edi
mov ebx, r8d
and ecx, r10d
ror edi, 2
or ecx, eax
mov eax, r8d
rol ebx, 5
add ecx, 0x8f1bbcdc
and eax, edi
add ebx, r9d
add ecx, dword [rbp - 4]
add ebx, ecx
mov ecx, r8d
ror r8d, 2
or ecx, edi
mov r9d, ebx
and ecx, r11d
or ecx, eax
mov eax, r8d
add ecx, 0x8f1bbcdc
and eax, ebx
add ecx, dword [rbp]
rol r9d, 5
add r9d, r10d
add r9d, ecx
mov ecx, r8d
or ecx, ebx
mov r10d, r9d
and ecx, edi
ror ebx, 2
or ecx, eax
mov eax, ebx
rol r10d, 5
add ecx, 0x8f1bbcdc
and eax, r9d
add r10d, r11d
add ecx, dword [rbp + 4]
add r10d, ecx
mov ecx, ebx
or ecx, r9d
mov r11d, r10d
and ecx, r8d
or ecx, eax
ror r9d, 2
add ecx, 0x8f1bbcdc
mov eax, r9d
rol r11d, 5
add ecx, dword [rbp + 8]
and eax, r10d
add r11d, edi
add r11d, ecx
mov ecx, r9d
or ecx, r10d
mov edx, r11d
and ecx, ebx
or ecx, eax
mov eax, r9d
rol edx, 5
add r8d, edx
add ecx, 0x8f1bbcdc
ror r10d, 2
add ecx, dword [rbp + 0xc]
xor eax, r10d
add r8d, ecx
xor eax, r11d
add eax, 0xca62c1d6
mov edx, r8d
add eax, dword [rbp + 0x10]
rol edx, 5
add edx, ebx
add edx, eax
ror r11d, 2
mov ecx, edx
rol ecx, 5
mov eax, r10d
xor eax, r11d
add r9d, ecx
xor eax, r8d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x14]
ror r8d, 2
add r9d, eax
mov eax, edx
ror edx, 2
xor eax, r11d
mov ecx, r9d
xor eax, r8d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x18]
rol ecx, 5
add r10d, ecx
add r10d, eax
mov eax, edx
xor eax, r9d
mov ecx, r10d
xor eax, r8d
rol ecx, 5
add eax, 0xca62c1d6
add r11d, ecx
ror r9d, 2
add eax, dword [rbp + 0x1c]
add r11d, eax
mov eax, edx
xor eax, r9d
mov ecx, r11d
xor eax, r10d
rol ecx, 5
add eax, 0xca62c1d6
add r8d, ecx
ror r10d, 2
add eax, dword [rbp + 0x20]
add r8d, eax
mov eax, r9d
xor eax, r10d
mov ecx, r8d
xor eax, r11d
rol ecx, 5
add eax, 0xca62c1d6
add edx, ecx
ror r11d, 2
add eax, dword [rbp + 0x24]
add edx, eax
mov eax, r10d
xor eax, r11d
mov ecx, edx
xor eax, r8d
rol ecx, 5
add eax, 0xca62c1d6
add r9d, ecx
ror r8d, 2
add eax, dword [rbp + 0x28]
add r9d, eax
mov eax, r11d
xor eax, r8d
mov ecx, r9d
xor eax, edx
rol ecx, 5
add eax, 0xca62c1d6
add r10d, ecx
ror edx, 2
add eax, dword [rbp + 0x2c]
add r10d, eax
mov eax, r9d
xor eax, r8d
mov ecx, r10d
xor eax, edx
rol ecx, 5
add r11d, ecx
add eax, 0xca62c1d6
ror r9d, 2
add eax, dword [rbp + 0x30]
add r11d, eax
mov ecx, r11d
rol ecx, 5
add r8d, ecx
mov eax, r9d
xor eax, r10d
ror r10d, 2
xor eax, edx
add eax, 0xca62c1d6
add eax, dword [rbp + 0x34]
add r8d, eax
mov eax, r9d
xor eax, r10d
mov ecx, r8d
xor eax, r11d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x38]
rol ecx, 5
add edx, ecx
add edx, eax
ror r11d, 2
mov eax, r10d
xor eax, r11d
mov ecx, edx
xor eax, r8d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x3c]
rol ecx, 5
add r9d, ecx
add r9d, eax
ror r8d, 2
mov eax, r11d
xor eax, r8d
mov ecx, r9d
xor eax, edx
add eax, 0xca62c1d6
add eax, dword [rbp + 0x40]
rol ecx, 5
add r10d, ecx
add r10d, eax
ror edx, 2
mov eax, r8d
xor eax, edx
mov ecx, r10d
xor eax, r9d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x44]
ror r9d, 2
rol ecx, 5
add r11d, ecx
add r11d, eax
mov eax, r10d
xor eax, edx
mov edi, r11d
xor eax, r9d
ror r10d, 2
add eax, 0xca62c1d6
add eax, dword [rbp + 0x48]
rol edi, 5
add edi, r8d
add edi, eax
mov eax, r10d
xor eax, r11d
mov ebx, edi
xor eax, r9d
rol ebx, 5
add eax, 0xca62c1d6
add ebx, edx
ror r11d, 2
add eax, dword [rbp + 0x4c]
add ebx, eax
mov eax, r10d
xor eax, r11d
mov ecx, ebx
xor eax, edi
rol ecx, 5
add eax, 0xca62c1d6
add r9d, ecx
ror edi, 2
add eax, dword [rbp + 0x50]
add r9d, eax
mov eax, r11d
mov r8d, r9d
rol r8d, 5
xor eax, edi
add r8d, r10d
xor eax, ebx
ror ebx, 2
add eax, 0xca62c1d6
add eax, dword [rbp + 0x54]
add r8d, eax
mov eax, edi
add edi, 0xca62c1d6
xor eax, ebx
mov edx, r8d
xor eax, r9d
add eax, 0xca62c1d6
add eax, dword [rbp + 0x58]
rol edx, 5
add edx, r11d
lea r11, [rsp + 0x160]
ror r9d, 2
add edx, eax
mov eax, ebx
xor eax, r9d
mov ecx, edx
xor eax, r8d
add eax, dword [rbp + 0x5c]
rol ecx, 5
add eax, esi
mov rsi, qword [r11 + 0x40]
ror r8d, 2
add ecx, edi
mov rdi, qword [r11 + 0x48]
add eax, ecx
mov rcx, qword [rbp + 0x90]
add r8d, r13d
mov dword [rcx + 0x10], eax
lea eax, [r14 + rdx]
mov dword [rcx + 0x18], r8d
mov dword [rcx + 0x14], eax
lea eax, [r12 + r9]
mov dword [rcx + 0x1c], eax
lea eax, [r15 + rbx]
mov rbx, qword [r11 + 0x38]
mov dword [rcx + 0x20], eax
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret