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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, edx
mov dword [ebp - 0xc], eax
cdq
and edx, 0xf
push ebx
push esi
mov esi, ecx
lea ebx, [edx + eax]
sar ebx, 4
mov edx, ebx
shl edx, 4
add edx, esi
mov dword [ebp - 0x10], edx
push edi
mov edi, 0x75bcd15
mov dword [ebp - 8], edi
mov esi, edi
mov dword [ebp - 4], edi
test ebx, ebx
je 0x10027309
mov ecx, ebx
mov eax, edx
shl ecx, 4
mov edx, esi
sub eax, ecx
add eax, 8
nop word [eax + eax]
imul ecx, dword [eax - 8], 0x239b961b
lea eax, [eax + 0x10]
rol ecx, 0xf
imul ecx, ecx, 0xab0e9789
xor ecx, edi
ror ecx, 0xd
add ecx, esi
lea edi, [ecx*4 + 0x561ccd1b]
add edi, ecx
imul ecx, dword [eax - 0x14], 0xab0e9789
rol ecx, 0x10
imul ecx, ecx, 0x38b34ae5
xor ecx, esi
ror ecx, 0xf
add ecx, edx
lea esi, [ecx*4 + 0xbcaa747]
add esi, ecx
imul ecx, dword [eax - 0x10], 0x38b34ae5
ror ecx, 0xf
imul ecx, ecx, 0xa1e38b93
xor ecx, edx
rol ecx, 0xf
add ecx, 0xeaf5d271
add ecx, dword [ebp - 4]
lea edx, [ecx + ecx*4]
imul ecx, dword [eax - 0xc], 0xa1e38b93
ror ecx, 0xe
imul ecx, ecx, 0x239b961b
xor ecx, dword [ebp - 4]
rol ecx, 0xd
add ecx, edi
lea ecx, [ecx + ecx*4]
add ecx, 0x32ac3b17
mov dword [ebp - 4], ecx
sub ebx, 1
jne 0x10027270
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
jmp 0x1002730b
mov ecx, esi
mov eax, dword [ebp - 0xc]
xor ebx, ebx
and eax, 0xf
dec eax
cmp eax, 0xe
ja case.default.0x1002731d
jmp dword [eax*4 + 0x10027518]
movzx ebx, byte [edx + 0xe]
movzx eax, byte [edx + 0xd]
shl ebx, 0x10
shl eax, 8
xor ebx, eax
jmp 0x10027345
movzx eax, byte [edx + 0xd]
xor ebx, ebx
shl eax, 8
xor ebx, eax
jmp 0x10027345
xor ebx, ebx
movzx eax, byte [edx + 0xc]
xor eax, ebx
imul eax, eax, 0xa1e38b93
ror eax, 0xe
imul eax, eax, 0x239b961b
xor ecx, eax
mov dword [ebp - 4], ecx
movzx ecx, byte [edx + 0xb]
movzx eax, byte [edx + 0xa]
shl eax, 0x10
shl ecx, 0x18
xor ecx, eax
movzx eax, byte [edx + 9]
shl eax, 8
xor ecx, eax
jmp 0x1002739f
movzx eax, byte [edx + 0xa]
xor ecx, ecx
shl eax, 0x10
xor ecx, eax
movzx eax, byte [edx + 9]
shl eax, 8
xor ecx, eax
jmp 0x1002739f
movzx eax, byte [edx + 9]
xor ecx, ecx
shl eax, 8
xor ecx, eax
jmp 0x1002739f
xor ecx, ecx
movzx eax, byte [edx + 8]
xor eax, ecx
imul eax, eax, 0x38b34ae5
ror eax, 0xf
imul eax, eax, 0xa1e38b93
xor dword [ebp - 8], eax
movzx ecx, byte [edx + 7]
movzx eax, byte [edx + 6]
shl eax, 0x10
shl ecx, 0x18
xor ecx, eax
movzx eax, byte [edx + 5]
shl eax, 8
xor ecx, eax
jmp 0x100273f7
movzx eax, byte [edx + 6]
xor ecx, ecx
shl eax, 0x10
xor ecx, eax
movzx eax, byte [edx + 5]
shl eax, 8
xor ecx, eax
jmp 0x100273f7
movzx eax, byte [edx + 5]
xor ecx, ecx
shl eax, 8
xor ecx, eax
jmp 0x100273f7
xor ecx, ecx
movzx eax, byte [edx + 4]
xor eax, ecx
imul eax, eax, 0xab0e9789
rol eax, 0x10
imul eax, eax, 0x38b34ae5
xor esi, eax
movzx ebx, byte [edx + 3]
shl ebx, 0x18
movzx eax, byte [edx + 2]
shl eax, 0x10
xor ebx, eax
movzx eax, byte [edx + 1]
shl eax, 8
xor ebx, eax
movzx eax, byte [edx]
xor eax, ebx
imul eax, eax, 0x239b961b
rol eax, 0xf
imul eax, eax, 0xab0e9789
xor edi, eax
mov edx, dword [ebp - 0xc]
xor esi, edx
mov ecx, dword [ebp - 4]
xor edi, edx
mov eax, dword [ebp - 8]
xor ecx, edx
xor eax, edx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
add edi, ecx
add edi, eax
add edi, esi
mov eax, edi
mov dword [ebp - 0x10], edi
shr eax, 0x10
xor eax, edi
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
lea ecx, [esi + edi]
imul edx, eax, 0xc2b2ae35
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov dword [ebp - 0xc], edx
shr edx, 0x10
xor edx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 0xd
xor eax, ecx
mov ecx, dword [ebp - 8]
imul eax, eax, 0xc2b2ae35
add ecx, edi
mov ebx, eax
shr ebx, 0x10
xor ebx, eax
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
mov ecx, dword [ebp - 4]
add ecx, dword [ebp - 0x10]
imul eax, eax, 0xc2b2ae35
mov edi, eax
shr edi, 0x10
xor edi, eax
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
mov ecx, dword [ebp + 0xc]
imul eax, eax, 0xc2b2ae35
mov esi, eax
shr esi, 0x10
xor esi, eax
add edx, esi
add edx, edi
add edx, ebx
mov dword [ecx], edx
lea eax, [ebx + edx]
mov dword [ecx + 4], eax
lea eax, [edi + edx]
pop edi
mov dword [ecx + 8], eax
lea eax, [esi + edx]
pop esi
mov dword [ecx + 0xc], eax
pop ebx
mov esp, ebp
pop ebp
ret