Function at 0x140004277
Capabilities:
Encode data using xor
Hash data using murmur3
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
lea rsi, [rsp + 0x40]
mov r8, rcx
mov r11, rdx
mov edx, 0x10
mov rcx, rsi
call fcn.140002c93
lea r9, [rsp + 0x100]
mov rdx, rsi
mov ecx, dword [rdx + 0x38]
mov r8d, dword [rdx + 4]
add rdx, 4
mov eax, ecx
mov r10d, ecx
shr ecx, 0xa
rol r10d, 0xd
rol eax, 0xf
xor eax, r10d
mov r10d, r8d
xor eax, ecx
mov ecx, dword [rdx - 4]
add ecx, dword [rdx + 0x20]
rol r10d, 0xe
add eax, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 7
xor ecx, r10d
xor ecx, r8d
add eax, ecx
mov dword [rdx + 0x3c], eax
cmp r9, rdx
jne 0x1400042ad
mov eax, dword [r11 + 4]
mov r12d, dword [r11]
lea rbp, [0x140066cc0]
mov dword [rsp + 0x24], eax
mov eax, dword [r11 + 8]
mov ebx, r12d
mov r10d, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
mov eax, dword [r11 + 0xc]
mov r9d, dword [rsp + 0x28]
mov dword [rsp + 0x2c], eax
mov eax, dword [r11 + 0x10]
mov r8d, dword [rsp + 0x2c]
mov dword [rsp + 0x30], eax
mov eax, dword [r11 + 0x14]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x34], eax
mov eax, dword [r11 + 0x18]
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [r11 + 0x1c]
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x3c], eax
mov r14d, edi
mov r13d, edi
mov r15d, r10d
ror r14d, 6
ror r13d, 0xb
and r15d, r9d
xor r13d, r14d
mov r14d, edi
rol r14d, 7
xor r13d, r14d
mov r14d, dword [rsi]
add r14d, dword [rbp]
add r13d, r14d
mov r14d, ecx
xor r14d, edx
and r14d, edi
xor r14d, edx
add r13d, r14d
mov r14d, ebx
add r13d, eax
mov eax, ebx
ror r14d, 2
ror eax, 0xd
add r8d, r13d
xor eax, r14d
mov r14d, ebx
rol r14d, 0xa
xor eax, r14d
mov r14d, r10d
or r14d, r9d
and r14d, ebx
or r14d, r15d
mov r15d, ebx
add eax, r14d
mov r14d, r8d
add eax, r13d
mov r13d, dword [rsi + 4]
add r13d, dword [rbp + 4]
ror r14d, 6
add r13d, edx
mov edx, edi
xor edx, ecx
and edx, r8d
xor edx, ecx
add r13d, edx
mov edx, r8d
ror edx, 0xb
xor edx, r14d
mov r14d, r8d
and r15d, r10d
rol r14d, 7
xor edx, r14d
mov r14d, eax
add r13d, edx
mov edx, eax
ror r14d, 2
ror edx, 0xd
add r9d, r13d
xor edx, r14d
mov r14d, eax
rol r14d, 0xa
xor edx, r14d
mov r14d, ebx
or r14d, r10d
and r14d, eax
or r14d, r15d
mov r15d, eax
add edx, r14d
mov r14d, r9d
add edx, r13d
mov r13d, dword [rsi + 8]
add r13d, dword [rbp + 8]
ror r14d, 6
add r13d, ecx
mov ecx, r8d
xor ecx, edi
and ecx, r9d
xor ecx, edi
add r13d, ecx
mov ecx, r9d
ror ecx, 0xb
xor ecx, r14d
mov r14d, r9d
rol r14d, 7
xor ecx, r14d
mov r14d, edx
add r13d, ecx
mov ecx, edx
ror r14d, 2
ror ecx, 0xd
add r10d, r13d
xor ecx, r14d
mov r14d, edx
rol r14d, 0xa
and r15d, ebx
xor ecx, r14d
mov r14d, eax
or r14d, ebx
and r14d, edx
or r14d, r15d
mov r15d, eax
add ecx, r14d
mov r14d, r10d
and r15d, edx
add ecx, r13d
mov r13d, dword [rsi + 0xc]
add r13d, dword [rbp + 0xc]
ror r14d, 6
add edi, r13d
mov r13d, r8d
xor r13d, r9d
and r13d, r10d
xor r13d, r8d
add edi, r13d
mov r13d, r10d
ror r13d, 0xb
xor r13d, r14d
mov r14d, r10d
rol r14d, 7
xor r13d, r14d
mov r14d, ecx
add edi, r13d
mov r13d, ecx
ror r14d, 2
ror r13d, 0xd
add ebx, edi
xor r13d, r14d
mov r14d, ecx
rol r14d, 0xa
xor r13d, r14d
mov r14d, eax
or r14d, edx
and r14d, ecx
or r14d, r15d
mov r15d, edx
add r13d, r14d
mov r14d, ebx
add edi, r13d
mov r13d, dword [rsi + 0x10]
add r13d, dword [rbp + 0x10]
ror r14d, 6
add r13d, r8d
mov r8d, r9d
and r15d, ecx
xor r8d, r10d
and r8d, ebx
xor r8d, r9d
add r13d, r8d
mov r8d, ebx
ror r8d, 0xb
xor r8d, r14d
mov r14d, ebx
rol r14d, 7
xor r8d, r14d
mov r14d, edi
add r13d, r8d
mov r8d, edi
ror r14d, 2
ror r8d, 0xd
add eax, r13d
xor r8d, r14d
mov r14d, edi
rol r14d, 0xa
xor r8d, r14d
mov r14d, edx
or r14d, ecx
and r14d, edi
or r14d, r15d
mov r15d, ecx
add r8d, r14d
mov r14d, eax
add r8d, r13d
mov r13d, dword [rsi + 0x14]
add r13d, dword [rbp + 0x14]
ror r14d, 6
add r13d, r9d
mov r9d, r10d
xor r9d, ebx
and r9d, eax
xor r9d, r10d
add r13d, r9d
mov r9d, eax
ror r9d, 0xb
xor r9d, r14d
mov r14d, eax
and r15d, edi
rol r14d, 7
xor r9d, r14d
mov r14d, r8d
add r13d, r9d
mov r9d, r8d
ror r14d, 2
ror r9d, 0xd
add edx, r13d
xor r9d, r14d
mov r14d, r8d
rol r14d, 0xa
xor r9d, r14d
mov r14d, ecx
or r14d, edi
and r14d, r8d
or r14d, r15d
mov r15d, edi
add r9d, r14d
mov r14d, edx
add r9d, r13d
mov r13d, dword [rsi + 0x18]
add r13d, dword [rbp + 0x18]
ror r14d, 6
add r13d, r10d
mov r10d, ebx
xor r10d, eax
and r10d, edx
xor r10d, ebx
add r13d, r10d
mov r10d, edx
ror r10d, 0xb
xor r10d, r14d
mov r14d, edx
rol r14d, 7
xor r10d, r14d
mov r14d, r9d
add r13d, r10d
mov r10d, r9d
ror r14d, 2
ror r10d, 0xd
add ecx, r13d
xor r10d, r14d
mov r14d, r9d
rol r14d, 0xa
and r15d, r8d
xor r10d, r14d
mov r14d, edi
or r14d, r8d
and r14d, r9d
or r14d, r15d
mov r15d, r8d
add r10d, r14d
mov r14d, ecx
and r15d, r9d
add r10d, r13d
mov r13d, dword [rsi + 0x1c]
add r13d, dword [rbp + 0x1c]
ror r14d, 6
add r13d, ebx
mov ebx, eax
xor ebx, edx
and ebx, ecx
xor ebx, eax
add r13d, ebx
mov ebx, ecx
ror ebx, 0xb
xor ebx, r14d
mov r14d, ecx
rol r14d, 7
xor ebx, r14d
mov r14d, r10d
add r13d, ebx
mov ebx, r10d
ror r14d, 2
ror ebx, 0xd
add edi, r13d
xor ebx, r14d
mov r14d, r10d
rol r14d, 0xa
xor ebx, r14d
mov r14d, r8d
or r14d, r9d
and r14d, r10d
or r14d, r15d
lea r15, [0x140066dc0]
add ebx, r14d
add ebx, r13d
add rbp, 0x20
add rsi, 0x20
cmp r15, rbp
jne 0x140004355
mov esi, dword [rsp + 0x24]
add r12d, ebx
mov dword [r11], r12d
add esi, r10d
mov dword [r11 + 4], esi
mov esi, dword [rsp + 0x28]
add esi, r9d
mov dword [r11 + 8], esi
mov esi, dword [rsp + 0x2c]
add esi, r8d
mov r8d, dword [rsp + 0x30]
mov dword [r11 + 0xc], esi
mov esi, dword [rsp + 0x34]
add r8d, edi
mov edi, dword [rsp + 0x3c]
add esi, ecx
mov dword [r11 + 0x10], r8d
mov dword [r11 + 0x14], esi
mov esi, dword [rsp + 0x38]
add edi, eax
mov dword [r11 + 0x1c], edi
add esi, edx
mov dword [r11 + 0x18], esi
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret