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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
cmp edi, 0x18
ja 0x44aed0
cmp edi, 0xc
ja 0x44adea
cmp edi, 4
ja 0x44ad4d
xor esi, esi
xor edx, edx
lea ebx, [esi + 9]
test edi, edi
je 0x44acea
mov eax, dword [ebp + 8]
movsx ecx, byte [edx + eax]
inc edx
imul eax, esi, 0x3361d2af
sub ecx, eax
mov esi, ecx
xor ebx, esi
cmp edx, edi
jb 0x44acd2
imul eax, edi, 0xcc9e2d51
pop edi
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, ebx
rol eax, 0xd
add eax, 0xfaddaf14
lea ecx, [eax + eax*4]
imul eax, esi, 0xcc9e2d51
pop esi
pop ebx
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
rol ecx, 0xd
lea ecx, [ecx + ecx*4]
add ecx, 0xe6546b64
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov edx, eax
shr edx, 0x10
xor edx, eax
mov eax, edx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
lea edx, [edi + edi*4]
mov eax, dword [esi]
add eax, edi
imul eax, eax, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, edx
rol eax, 0xd
add eax, 0xfaddaf14
lea ecx, [eax + eax*4]
mov eax, dword [esi + edi - 4]
add eax, edx
shr edi, 1
imul eax, eax, 0xcc9e2d51
and edi, 4
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
imul eax, dword [edi + esi], 0x3361d2af
rol ecx, 0xd
add ecx, 0xfaddaf14
pop edi
pop esi
pop ebx
lea edx, [ecx + ecx*4]
mov ecx, 0x318f97d9
sub ecx, eax
rol ecx, 0xf
imul eax, ecx, 0x1b873593
xor edx, eax
rol edx, 0xd
add edx, 0xfaddaf14
lea ecx, [edx + edx*4]
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov edx, eax
shr edx, 0x10
xor edx, eax
mov eax, edx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov edx, edi
shr edx, 1
imul eax, dword [edx + esi - 4], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, edi
rol eax, 0xd
add eax, 0xfaddaf14
lea ecx, [eax + eax*4]
imul eax, dword [esi + 4], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
imul eax, dword [esi + edi - 8], 0xcc9e2d51
rol ecx, 0xd
rol eax, 0xf
lea ecx, [ecx + ecx*4]
imul eax, eax, 0x1b873593
add ecx, 0xe6546b64
xor ecx, eax
imul eax, dword [edx + esi], 0xcc9e2d51
rol ecx, 0xd
rol eax, 0xf
lea ecx, [ecx + ecx*4]
imul eax, eax, 0x1b873593
add ecx, 0xe6546b64
xor ecx, eax
imul eax, dword [esi], 0xcc9e2d51
rol ecx, 0xd
rol eax, 0xf
lea ecx, [ecx + ecx*4]
imul eax, eax, 0x1b873593
add ecx, 0xe6546b64
xor ecx, eax
imul eax, dword [esi + edi - 4], 0xcc9e2d51
rol ecx, 0xd
pop edi
pop esi
pop ebx
rol eax, 0xf
lea ecx, [ecx + ecx*4]
imul eax, eax, 0x1b873593
add ecx, 0xe6546b64
xor ecx, eax
rol ecx, 0xd
lea ecx, [ecx + ecx*4]
add ecx, 0xe6546b64
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov edx, ecx
shr edx, 0x10
xor edx, ecx
mov eax, edx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
imul edx, edi, 0xcc9e2d51
imul eax, dword [esi + edi - 4], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, edi
rol eax, 0xd
add eax, 0xfaddaf14
lea ecx, [eax + eax*4]
imul eax, dword [esi + edi - 0x10], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
rol ecx, 0xd
add ecx, 0xfaddaf14
lea eax, [ecx + ecx*4]
mov dword [ebp + 0xc], eax
imul eax, dword [esi + edi - 8], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, edx
rol eax, 0xd
add eax, 0xfaddaf14
lea ecx, [eax + eax*4]
imul eax, dword [esi + edi - 0xc], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
rol ecx, 0xd
add ecx, 0xfaddaf14
lea eax, [ecx + ecx*4]
mov dword [ebp - 4], eax
lea ecx, [edi - 1]
imul eax, dword [esi + edi - 0x14], 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
add eax, edx
rol eax, 0xd
add eax, 0xfaddaf14
lea ebx, [eax + eax*4]
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp - 0xc], edx
lea edx, [esi + 0x10]
mov dword [ebp - 8], edx
jmp 0x44af93
mov ebx, dword [ebp - 0x10]
imul eax, dword [edx - 0x10], 0xcc9e2d51
mov ecx, dword [edx - 0xc]
mov edi, dword [edx]
rol eax, 0xf
imul esi, eax, 0x1b873593
lea eax, [ecx + ebx]
rol eax, 0xd
imul eax, eax, 0x3361d2af
mov ebx, esi
xor esi, dword [ebp + 0xc]
rol esi, 0xe
sub ebx, eax
add esi, 0xfaddaf14
imul eax, dword [edx - 4], 0xcc9e2d51
mov dword [ebp + 0xc], ebx
rol eax, 0xf
imul edx, eax, 0x1b873593
lea eax, [esi + esi*4]
add edx, ecx
xor edx, eax
rol edx, 0xd
add edx, 0xfaddaf14
add edx, edi
lea ecx, [edx + edx*4]
mov edx, dword [ebp - 8]
bswap ecx
imul eax, dword [edx - 8], 0xcc9e2d51
add edx, 0x14
mov dword [ebp - 8], edx
rol eax, 0xf
imul eax, eax, 0x1b873593
add eax, dword [ebp - 4]
rol eax, 0xe
mov dword [ebp - 4], ecx
lea eax, [eax + eax*4]
add eax, 0xe6546b64
xor eax, edi
sub dword [ebp - 0xc], 1
bswap eax
lea esi, [eax + eax*4]
mov dword [ebp - 0x10], esi
jne 0x44af90
ror ecx, 0xb
imul eax, ecx, 0xcc9e2d51
ror esi, 0xb
pop edi
rol eax, 0xf
imul eax, eax, 0x3361d2af
sub ebx, eax
imul eax, esi, 0xcc9e2d51
rol ebx, 0xd
pop esi
rol eax, 0xf
lea ecx, [ebx - 0x52250ec]
lea ecx, [ecx + ecx*4]
rol ecx, 0xf
add ecx, eax
imul eax, ecx, 0xcc9e2d51
pop ebx
rol eax, 0xd
lea eax, [eax + eax*4]
add eax, 0xe6546b64
rol eax, 0xf
imul eax, eax, 0xcc9e2d51
mov esp, ebp
pop ebp
ret