Function at 0x18000b7fa
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
xor r12d, r12d
lea rdi, [0x18003f258]
mov rbp, qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13, qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r15, [0x18002e360]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call rbp
mov ebx, eax
rdtsc
mov r14, rax
call r13
mov ecx, r14d
rol ecx, 0xd
mov edx, ebx
rol edx, 0xf
imul r8d, eax, 0x7fed5213
xor edx, dword [0x18003f258]
xor edx, r8d
xor edx, ecx
xor edx, dword [0x18003f25c]
xor ebx, r14d
xor ebx, eax
xor ebx, edx
xor edx, edx
mov ecx, dword [r15 + rdx*4]
mov r8d, ebx
rol r8d, cl
mov eax, dword [r15 + rdx*4 + 8]
mov ebx, dword [rsi + rdx*4]
shr ecx, 8
ror ebx, cl
xor ebx, r8d
mov r8d, eax
or r8d, 1
imul r8d, ebx
mov ecx, eax
rol r8d, cl
xor dword [rsi + rdx*4 + 4], r8d
inc rdx
cmp rdx, 4
jne 0x18000b86d
mov eax, dword [r15 + r12*4]
imul ecx, eax, 0x7ed55d16
xor ecx, ebx
or eax, 1
imul eax, ecx
mov dword [rsi + r12*4 + 0x7c], eax
inc r12
cmp r12, 8
jne case.default.0x18000b8ff
mov rcx, rsi
call fcn.18000ba3a
mov rcx, rsi
call fcn.18000b75a
mov ebx, eax
xor r14d, r14d
mov eax, dword [r15]
mov ecx, eax
shr ecx, 0x18
and ecx, 7
lea r12, [0x18002f02c]
movsxd rcx, dword [r12 + rcx*4]
add rcx, r12
xor edi, edi
xor r13d, r13d
mov rbp, r15
jmp rcx
add rdi, 3
add r13, 7
add rbp, 4
mov eax, dword [rbp]
mov ecx, eax
shr ecx, 0x18
and ecx, 7
movsxd rcx, dword [r12 + rcx*4]
add rcx, r12
jmp rcx
mov eax, dword [rsi + r14*4 + 0x7c]
mov ecx, dword [rbp]
rol eax, cl
xor eax, ebx
mov ebx, dword [rsi + r14*4]
shr ecx, 8
ror ebx, cl
jmp 0x18000b996
lea eax, [r14 + 1]
and eax, 7
mov eax, dword [rsi + rax*4 + 0x7c]
add eax, ebx
lea ecx, [r14 + 2]
and ecx, 7
mov ecx, dword [r15 + rcx*4]
mov ebx, ecx
or ebx, 1
imul ebx, eax
rol ebx, cl
jmp 0x18000ba09
or eax, 1
imul eax, ebx
mov edx, 0xf949720f
mov ecx, edi
shr edx, cl
mov ecx, edx
rol eax, cl
mov ebx, eax
jmp 0x18000ba09
lea eax, [r14 + 4]
and eax, 7
mov ecx, dword [r15 + rax*4]
rol ebx, cl
lea eax, [r14 + 3]
and eax, 7
mov eax, dword [rsi + rax*4 + 0x7c]
shr ecx, 8
ror eax, cl
xor ebx, eax
jmp 0x18000ba09
mov eax, dword [rsi + rdi*4]
mov ecx, dword [rbp]
imul edx, ecx, 0x7ed55d16
xor edx, eax
or ecx, 1
imul ecx, edx
xor ebx, ecx
jmp 0x18000ba09
lea ecx, [r13 - 0x1f]
cmp r14, 5
cmovb rcx, r13
mov ecx, ecx
mov edx, dword [rsi + rcx*4]
add edx, ebx
shr eax, 0x10
mov ecx, eax
ror edx, cl
jmp 0x18000ba07
mov eax, dword [rsi + r14*4 + 0x7c]
or eax, 1
lea ecx, [r14 + 5]
and ecx, 7
xor eax, dword [r15 + rcx*4]
imul ebx, eax
jmp 0x18000ba09
lea eax, [r14 + 2]
and eax, 7
mov edx, dword [rsi + rax*4 + 0x7c]
mov r8d, dword [rbp]
xor edx, r8d
or edx, 1
imul edx, ebx
mov ecx, dword [rsi + rax*4 + 0x7c]
xor ecx, r8d
rol edx, cl
mov ebx, edx
test r14b, 1
jne 0x18000ba2f
inc r14
cmp r14, 8
jne case.0x18000ad39.7
mov eax, ebx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rsi
call fcn.18000ba3a
jmp 0x18000ba0f
add ebp, 7
lea rcx, [r14*4]
mov eax, dword [r15 + r14*4]
mov edx, eax
shr edx, 0x18
and edx, 7
movsxd rdx, dword [r12 + rdx*4]
add rdx, r12
jmp rdx