Function at 0x180003320
Capabilities:
Encode data using xor
Hash data using murmur2

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x140
mov rax, qword [0x18001e048]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov r14d, r8d
mov edi, edx
mov rbx, rcx
mov r15d, edx
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x100
call fcn.180007370
mov dword [rsp + 0x20], 0x69b7b6
mov eax, 0x55555556
mov ecx, dword [rsp + 0x20]
mov ebp, 2
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1800033d2
mov ecx, dword [rsp + 0x20]
add ecx, ebp
add ecx, edi
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x1800033a6
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x18000343f
nop
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x1800033cc
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x1800033b0
jmp 0x18000343f
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
lea eax, [rdi + 3]
add ecx, ebp
imul ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x1800033fc
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x18000343f
mov ecx, dword [rsp + 0x20]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
cmp ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180003423
dec eax
jmp 0x180003425
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x18000343b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x180003400
movsxd rsi, edi
lea rcx, [rsp + 0x30]
mov r8, rsi
mov rdx, rbx
call fcn.1800043d0
xor r10d, r10d
test edi, edi
jle 0x180003585
mov r9d, r10d
lea r8d, [r10 + 0x17]
nop dword [rax]
nop dword [rax + rax]
mov dword [rsp + 0x20], 0x69b7b6
mov eax, 0x55555556
mov ecx, dword [rsp + 0x20]
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
cmp ecx, eax
je 0x1800034e2
mov ecx, dword [rsp + 0x20]
add ecx, 0xffffffeb
add ecx, r8d
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x1800034b1
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jne 0x18000355f
nop dword [rax]
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000003
jge 0x1800034dc
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x1800034c0
jmp 0x18000355f
mov eax, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x20]
lea eax, [r8 - 0x14]
add ecx, 2
imul ecx, eax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x18000350e
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x18000355f
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [rsp + 0x20]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
sub ecx, eax
mov eax, dword [rsp + 0x20]
je 0x180003543
dec eax
jmp 0x180003545
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
and eax, 0x80000001
jge 0x18000355b
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x180003520
movzx ecx, byte [rsp + r9 + 0x30]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180003574
sub cl, 0x20
mov byte [rsp + r9 + 0x30], cl
dec ebp
inc r8d
inc r9
cmp r9, rsi
jl 0x180003470
lea rdx, [rsp + 0x30]
cmp edi, 4
jl 0x1800035c7
mov r8, rdi
shr r8, 2
mov eax, r8d
neg eax
lea edi, [rdi + rax*4]
nop
imul eax, dword [rdx], 0x5bd1e995
add rdx, 4
imul r14d, r14d, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul ecx, ecx, 0x5bd1e995
xor r14d, ecx
sub r8, 1
jne 0x1800035a0
sub edi, 1
je 0x1800035e9
sub edi, 1
je 0x1800035df
cmp edi, 1
jne 0x1800035ef
movzx r10d, byte [rdx + 2]
shl r10d, 0x10
movzx eax, byte [rdx + 1]
shl eax, 8
xor r10d, eax
movzx eax, byte [rdx]
xor r10d, eax
imul ecx, r10d, 0x5bd1e995
imul r8d, r15d, 0x5bd1e995
mov eax, ecx
shr eax, 0x18
xor eax, ecx
imul ecx, eax, 0x5bd1e995
imul eax, r14d, 0x5bd1e995
xor ecx, eax
mov eax, r8d
shr eax, 0x18
xor eax, r8d
imul edx, ecx, 0x5bd1e995
imul eax, eax, 0x5bd1e995
xor edx, eax
mov eax, edx
shr eax, 0xd
xor eax, edx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1800064e0
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret