Function at 0x421150
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
mov eax, dword [0x45d780]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
test ebx, ebx
jle 0x4214c8
push edi
mov edi, dword [ebp + 0xc]
jmp 0x421180
cmp dword [esi + 0x68], 0
jne 0x421497
cmp ebx, 0x40
jb 0x421493
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x120], ecx
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov dword [ebp - 0x128], ecx
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x118], ecx
mov ecx, dword [esi + 0x54]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [esi + 0x58]
mov dword [ebp - 0x138], ecx
mov ecx, dword [esi + 0x5c]
mov dword [ebp - 0x124], ecx
mov ecx, ebx
shr ecx, 6
mov dword [ebp - 0x144], ecx
neg ecx
shl ecx, 6
add ebx, ecx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 0x108], 0
lea ecx, [edi + 2]
lea ecx, [ecx]
movzx ebx, byte [ecx - 2]
movzx edi, byte [ecx - 1]
shl ebx, 8
or ebx, edi
movzx edi, byte [ecx]
shl ebx, 8
or ebx, edi
movzx edi, byte [ecx + 1]
shl ebx, 8
or ebx, edi
mov edi, dword [ebp - 0x108]
mov dword [ebp + edi*4 - 0x104], ebx
inc edi
add ecx, 4
mov dword [ebp - 0x108], edi
cmp edi, 0x10
jl 0x421200
mov ebx, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x118]
mov edi, eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x11c], eax
xor eax, eax
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x108], eax
cmp eax, 0x10
jl 0x4212fa
mov edx, dword [ebp + eax*4 - 0x10c]
mov eax, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0x140], edx
mov edx, eax
rol edx, 0xe
mov ebx, eax
ror ebx, 7
xor edx, ebx
shr eax, 3
xor edx, eax
mov eax, dword [ebp - 0x140]
mov ebx, eax
rol ebx, 0xf
rol eax, 0xd
xor ebx, eax
mov eax, dword [ebp - 0x140]
shr eax, 0xa
xor ebx, eax
mov eax, dword [ebp - 0x108]
add edx, ebx
add edx, dword [ebp + eax*4 - 0x120]
mov ebx, dword [ebp - 0x134]
add edx, dword [ebp + eax*4 - 0x144]
mov dword [ebp + eax*4 - 0x104], edx
mov eax, ecx
ror eax, 0xb
mov edx, ecx
rol edx, 7
xor eax, edx
mov edx, ecx
ror edx, 6
xor eax, edx
mov edx, ecx
not edx
and edx, ebx
mov ebx, dword [ebp - 0x114]
and ebx, ecx
xor edx, ebx
add eax, edx
mov edx, dword [ebp - 0x108]
add eax, dword [edx*4 + 0x44f798]
mov ebx, edi
add eax, dword [ebp + edx*4 - 0x104]
mov edx, edi
add eax, dword [ebp - 0x11c]
ror edx, 0xd
rol ebx, 0xa
xor edx, ebx
mov ebx, edi
ror ebx, 2
xor edx, ebx
mov ebx, dword [ebp - 0x10c]
xor ebx, edi
and ebx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
and edi, dword [ebp - 0x130]
xor ebx, edi
mov edi, dword [ebp - 0x134]
add edx, ebx
mov ebx, dword [ebp - 0x114]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], edi
mov edi, dword [ebp - 0x10c]
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0x130]
add ecx, eax
mov dword [ebp - 0x10c], edi
lea edi, [edx + eax]
mov eax, dword [ebp - 0x108]
inc eax
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x108], eax
cmp eax, 0x40
jl 0x421292
mov eax, dword [ebp - 0x14c]
add eax, edi
mov edi, dword [ebp - 0x120]
add edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x148]
add edx, dword [ebp - 0x10c]
mov dword [ebp - 0x120], edi
mov dword [esi + 0x48], edi
mov edi, dword [ebp - 0x128]
add edi, dword [ebp - 0x12c]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x128], edi
mov dword [esi + 0x4c], edi
mov edi, dword [ebp - 0x118]
add edi, ecx
mov ecx, dword [ebp - 0x13c]
add ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x13c], ecx
mov dword [esi + 0x54], ecx
mov ecx, dword [ebp - 0x138]
add ecx, ebx
mov dword [ebp - 0x138], ecx
mov dword [esi + 0x58], ecx
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x11c]
mov dword [esi + 0x50], edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x124], ecx
mov dword [esi + 0x5c], ecx
mov ecx, 1
add dword [esi + 0x60], ecx
mov dword [esi + 0x40], eax
mov dword [ebp - 0x148], edx
adc dword [esi + 0x64], 0
add edi, 0x40
sub dword [ebp - 0x144], ecx
mov dword [esi + 0x44], edx
mov dword [ebp + 0xc], edi
jne 0x4211f0
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x4214c7
mov dl, byte [edi]
mov eax, dword [esi + 0x68]
mov byte [eax + esi], dl
inc dword [esi + 0x68]
inc edi
dec ebx
cmp dword [esi + 0x68], 0x40
mov dword [ebp + 0xc], edi
jne 0x4214bf
push esi
mov ecx, esi
call fcn.00420f00
add esp, 4
mov dword [esi + 0x68], 0
test ebx, ebx
jg 0x421180
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00430215
mov esp, ebp
pop ebp
ret