Function at 0x180008833
Capabilities:
Check for time delay via queryperformancecounter
Encode data using xor
Execute anti-debugging instructions
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rax, qword [0x18003e280]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor ebp, ebp
lea rsi, [0x18003f258]
mov r15, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r12, qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13, qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea r14, [0x18002e580]
mov rcx, rsi
call r15
call r12
mov edi, eax
rdtsc
mov rbx, rax
call r13
mov ecx, ebx
rol ecx, 0xd
mov edx, edi
rol edx, 0xf
imul r8d, eax, 0x7fed5213
mov r9d, ebp
and r9d, 7
mov r9d, dword [r14 + r9*4]
imul r10d, r9d, 0x7ed55d16
xor edx, dword [0x18003f258]
xor edx, r8d
xor edx, ecx
xor edx, dword [0x18003f25c]
xor r10d, edi
xor r10d, ebx
xor r10d, eax
xor r10d, edx
or r9d, 1
imul r9d, r10d
mov dword [rsp + rbp*4 + 0x2c], r9d
inc rbp
cmp rbp, 0x15
jne 0x18000887d
xor ebp, ebp
lea rsi, [0x18003f258]
mov rcx, rsi
call r15
call r12
mov edi, eax
rdtsc
mov rbx, rax
call r13
mov ecx, ebx
rol ecx, 0xd
mov edx, edi
rol edx, 0xf
imul r8d, eax, 0x7fed5213
xor edx, dword [0x18003f258]
xor edx, r8d
xor edx, ecx
xor edx, dword [0x18003f25c]
xor edi, ebx
xor edi, eax
xor edi, edx
xor edx, edx
mov ecx, dword [r14 + rdx*4]
mov r8d, edi
rol r8d, cl
mov eax, dword [r14 + rdx*4 + 8]
mov edi, dword [rsp + rdx*4 + 0x2c]
shr ecx, 8
ror edi, cl
xor edi, r8d
mov r8d, eax
or r8d, 1
imul r8d, edi
mov ecx, eax
rol r8d, cl
xor dword [rsp + rdx*4 + 0x30], r8d
inc rdx
cmp rdx, 3
jne 0x18000892c
mov eax, dword [r14 + rbp*4]
imul ecx, eax, 0x7ed55d16
xor ecx, edi
or eax, 1
imul eax, ecx
mov dword [rsp + rbp*4 + 0x80], eax
inc rbp
cmp rbp, 8
jne 0x1800088ef
lea rcx, [rsp + 0x2c]
call fcn.18000cec8
lea rcx, [0x18003f258]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
rdtsc
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, edi
rol ecx, 0xd
mov edx, esi
rol edx, 0xf
imul r8d, eax, 0x7fed5213
xor edx, dword [0x18003f258]
xor edx, r8d
xor edx, ecx
xor edx, dword [0x18003f25c]
xor esi, edi
xor esi, eax
xor esi, edx
xor edx, edx
mov eax, edx
and eax, 7
mov eax, dword [r14 + rax*4]
mov ecx, eax
rol esi, cl
mov ecx, eax
shr ecx, 8
ror eax, cl
xor eax, esi
lea r8, [rdx + 1]
mov ecx, r8d
and ecx, 7
mov ecx, dword [r14 + rcx*4]
mov esi, ecx
or esi, 1
imul esi, eax
rol esi, cl
xor dword [rsp + rdx*4 + 0x2c], esi
mov rdx, r8
cmp r8, 0xf
jne case.default.0x180008a3b
xor ebx, ebx
mov eax, dword [r14 + rbx*4]
mov ecx, eax
shr ecx, 0x18
and ecx, 7
lea r15, [0x18002ef8c]
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
xor edi, edi
xor r12d, r12d
in al, 0xff
invalid
add rdi, 3
add r12, 7
mov eax, dword [r14 + rbx*4]
mov ecx, eax
shr ecx, 0x18
and ecx, 7
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
mov edx, dword [rsp + rbx*4 + 0x80]
mov ecx, eax
rol edx, cl
mov r8d, dword [rsp + rbx*4 + 0x2c]
shr eax, 8
mov ecx, eax
ror r8d, cl
xor r8d, esi
xor r8d, edx
mov esi, r8d
jmp 0x180008b3a
mov eax, dword [rsp + rbx*4 + 0x84]
add eax, esi
mov ecx, dword [r14 + rbx*4 + 8]
mov esi, ecx
or esi, 1
imul esi, eax
rol esi, cl
jmp 0x180008b3a
or eax, 1
imul eax, esi
mov edx, 0x39678c05
mov ecx, edi
shr edx, cl
mov ecx, edx
rol eax, cl
mov esi, eax
jmp 0x180008b3a
lea eax, [rbx + 4]
and eax, 7
mov ecx, dword [r14 + rax*4]
rol esi, cl
mov eax, dword [rsp + rbx*4 + 0x8c]
shr ecx, 8
ror eax, cl
jmp 0x180008ae3
mov ecx, dword [rsp + rdi*4 + 0x2c]
imul edx, eax, 0x7ed55d16
xor edx, ecx
or eax, 1
imul eax, edx
xor esi, eax
jmp 0x180008b3a
lea ecx, [r12 - 0x15]
cmp rbx, 3
cmovb rcx, r12
mov ecx, ecx
mov edx, dword [rsp + rcx*4 + 0x2c]
add edx, esi
shr eax, 0x10
mov ecx, eax
ror edx, cl
jmp 0x180008b38
mov eax, dword [rsp + rbx*4 + 0x80]
or eax, 1
lea ecx, [rbx + 5]
and ecx, 7
xor eax, dword [r14 + rcx*4]
imul esi, eax
jmp 0x180008b3a
mov edx, dword [rsp + rbx*4 + 0x88]
xor edx, eax
or edx, 1
imul edx, esi
mov ecx, dword [rsp + rbx*4 + 0x88]
xor ecx, eax
rol edx, cl
mov esi, edx
test bl, 1
jne 0x180008ba0
inc rbx
cmp rbx, 5
jne 0x180008a3d
xor ebx, ebx
lea rdi, [rsp + 0x2c]
mov rcx, rdi
call fcn.18000cec8
mov eax, dword [rsp + rbx*4 + 0x2c]
or eax, 1
imul esi, eax
mov ecx, dword [rsp + rbx*4 + 0x2c]
rol esi, cl
inc rbx
cmp rbx, 0xa
jne 0x180008b53
xor esi, 0x39678c05
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.18000f5a0
mov eax, esi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x2c]
call fcn.18000cec8
jmp 0x180008b3f
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 + rdi*4 + 0x60]
add eax, ebx
lea ecx, [r15 + 2]
and ecx, 7
mov ecx, dword [r14 + rcx*4]
mov ebx, ecx
or ebx, 1
imul ebx, eax
rol ebx, cl
ret
jmp 0x180009dc5
ret
lea eax, [rdi + 4]
and eax, 7
mov ecx, dword [r14 + rax*4]
rol ebx, cl
lea eax, [r15 + 3]
and eax, 7
mov eax, dword [rsi + rax*4 + 0x5c]
shr ecx, 8
invalid
or bl, dl
invalid
jmp 0x1b1c9705b
xor ebx, eax
jmp 0x180009dc5
xor ebx, ecx
jmp 0x180009dc5
call 0x153c22697
retf 0x39eb
test r15b, 1
jne 0x180009deb
inc r15
cmp r15, 7
jne case.0x180008a3b.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.180009df6
jmp 0x180009dcb