Function at 0x417490
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
movsx eax, word [0x4a6168]
sub esp, 0x134
movss xmm0, dword [0x4a625c]
movsd xmm2, qword [0x4991e0]
mov edx, dword [ebp + 0xc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
push ebx
push esi
xor esi, esi
push edi
movsd xmm5, qword [0x49a4a8]
mov edi, 0x43af
subss xmm1, xmm0
movsd xmm6, qword [0x49a9f8]
movss xmm0, dword [0x4a6224]
movsd xmm3, qword [0x49ad40]
movss xmm4, dword [0x49af2c]
subss xmm1, xmm0
movss xmm0, dword [0x4a6400]
addss xmm0, xmm1
movss dword [0x4a6400], xmm0
movss xmm0, dword [0x4a625c]
subss xmm0, dword [0x4991d8]
movss dword [0x4a625c], xmm0
mov eax, dword [0x4a6160]
movss xmm0, dword [0x4a6404]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4a6404], xmm0
movsx eax, word [0x4a64a8]
movss xmm0, dword [0x4a63dc]
add eax, 0x682b304d
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4a63dc], xmm0
dec word [0x4a64a8]
mov eax, dword [0x4a6340]
movsd xmm0, qword [0x4a6290]
add eax, 0x39c7b38a
add edx, 2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4a6540], xmm0
movsd xmm0, qword [0x4a6290]
subsd xmm0, xmm2
movsd qword [0x4a6290], xmm0
nop dword [eax + eax]
mov word [0x4a6444], di
mov ecx, 0x9097788e
movsx eax, word [0x4a62a4]
sub ecx, eax
mov eax, dword [0x4a6124]
dec dword [0x4a6124]
add eax, 0x7f196228
cmp eax, ecx
jne 0x417643
movsd xmm0, qword [0x4a6408]
addsd xmm0, xmm2
movsd qword [0x4a6408], xmm0
inc word [0x4a6054]
movsd xmm1, qword [0x4a6060]
movsd xmm0, qword [0x4a6408]
movsx eax, word [0x4a6054]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4a63c0]
addsd xmm0, xmm1
movsd qword [0x4a63c0], xmm0
movsd xmm0, qword [0x4a6060]
addsd xmm0, xmm2
movsd qword [0x4a6060], xmm0
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
movsd xmm0, qword [0x4a6290]
shl ecx, 8
addsd xmm0, xmm2
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov dword [ebp + esi*4 - 0x134], ecx
movsd qword [0x4a6290], xmm0
movsd xmm1, qword [0x4a6290]
movss xmm0, dword [0x4a6208]
subsd xmm1, xmm5
cvtps2pd xmm0, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm0
jbe 0x4176b1
movsd xmm0, qword [0x4a6048]
subsd xmm0, xmm3
movsd qword [0x4a6048], xmm0
movss xmm0, dword [0x4a60e0]
inc esi
subss xmm0, xmm4
add edx, 4
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4a6338]
addsd xmm0, xmm1
movsd qword [0x4a6338], xmm0
movsx eax, word [0x4a6500]
mov ecx, dword [0x4a6124]
add eax, 0xf99374a1
add ecx, eax
mov word [0x4a6500], cx
cmp esi, 0x10
jne 0x4175b0
movss xmm0, dword [0x4a61c8]
mov ecx, 0x5acaf57d
mulss xmm0, dword [0x49ba0c]
mov ebx, dword [ebp + 8]
add ebx, 8
mov dword [ebp - 0x10], ebx
movss dword [0x4a61c8], xmm0
movsd xmm2, qword [0x4a63d0]
mov eax, dword [ebx + 0x20]
movups xmm0, xmmword [ebx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x4a6378]
sub ecx, eax
subsd xmm2, qword [0x49ac50]
movups xmmword [ebp - 0x34], xmm0
movups xmm0, xmmword [ebx + 0x10]
subsd xmm2, qword [0x49a130]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
movups xmmword [ebp - 0x24], xmm0
movsd xmm0, qword [0x4a60c0]
dec dword [0x4a6378]
subsd xmm1, xmm0
comisd xmm1, xmm2
jb 0x417790
movss xmm0, dword [0x4a60e0]
subss xmm0, dword [0x49cc24]
movss dword [0x4a60e0], xmm0
jmp 0x4177b5
movzx eax, word [0x4a619c]
movsx ecx, ax
movzx eax, word [0x4a6128]
add eax, 0xb3b658a
add eax, ecx
mov word [0x4a6128], ax
inc word [0x4a619c]
push 0x100
push 0x2642
call fcn.004378f0
movss xmm7, dword [0x49bcc4]
lea edi, [ebp - 0x134]
movsd xmm6, qword [0x49ca00]
xor ecx, ecx
movsd xmm3, qword [0x49aa10]
add esp, 8
movsd xmm4, qword [0x49c588]
movss xmm5, dword [0x4991d8]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x34]
sub eax, 4
mov dword [0x4a6194], 0x1aecbe97
sub edi, 8
mov dword [ebp + 8], ecx
mov dword [ebp - 4], edi
mov ebx, eax
nop word [eax + eax]
movss xmm0, dword [0x4a6100]
movsd xmm1, qword [0x499d78]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4a6088]
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movsd xmm2, qword [0x4991e0]
movss dword [0x4a6100], xmm0
movsd xmm0, qword [0x4a6088]
subsd xmm0, xmm2
movsd qword [0x4a6088], xmm0
cmp ecx, 0xf
jle 0x417a07
movsd xmm0, qword [0x4a6170]
addsd xmm0, xmm2
movsd qword [0x4a6170], xmm0
movsx eax, word [0x4a64dc]
movsd xmm1, qword [0x4a6038]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4a6170]
subsd xmm1, xmm0
movsd xmm0, qword [0x4a61b8]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4178d2
mov eax, dword [0x4a6330]
mov word [0x4a6418], ax
inc dword [0x4a6330]
movss xmm0, dword [0x4a64ec]
addss xmm0, dword [0x49b098]
mov ecx, dword [edi]
mov esi, ecx
rol esi, 0xf
mov eax, ecx
rol eax, 0xd
xor esi, eax
shr ecx, 0xa
subss xmm0, dword [0x49b358]
xor esi, ecx
mov dword [edi + 8], esi
ucomiss xmm0, dword [0x49cfc8]
movss xmm0, dword [0x4a64ec]
subss xmm0, xmm5
lahf
movss dword [0x4a64ec], xmm0
test ah, 0x44
jp 0x417974
inc word [0x4a6410]
movsx eax, word [0x4a6410]
movss xmm0, dword [0x4a6104]
subss xmm0, xmm7
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x41795d
movsd xmm0, qword [0x4a63a0]
subsd xmm0, xmm6
movsd qword [0x4a63a0], xmm0
jmp 0x417974
mov ax, word [0x4a642c]
movzx ecx, word [0x4a619c]
cwde
sub ecx, eax
mov word [0x4a619c], cx
movsx ecx, word [0x4a617c]
mov eax, dword [0x4a6194]
add ecx, 0xdd0a5356
add eax, ecx
mov ecx, dword [0x4a6140]
mov edx, dword [edi - 0x34]
imul ecx, eax
mov dword [0x4a6140], ecx
mov ecx, edx
movsd xmm0, qword [0x4a6298]
subsd xmm0, xmm2
rol ecx, 0xe
movsd qword [0x4a6298], xmm0
movsd xmm1, qword [0x4a6298]
movsx eax, word [0x4a6178]
subsd xmm1, qword [0x49a080]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
movsd xmm0, qword [0x49c2b8]
mov word [0x4a6178], ax
mov eax, edx
ror eax, 7
xor ecx, eax
shr edx, 3
xor ecx, edx
add ecx, dword [edi - 0x38]
add ecx, dword [edi - 0x14]
add ecx, esi
mov dword [edi + 8], ecx
movsd qword [0x4a6048], xmm0
mov eax, dword [0x4a63ac]
movsd xmm1, qword [0x4a6030]
movd xmm0, eax
movsx eax, word [0x4a63ec]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, qword [0x49c9c8]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4a63ec], ax
movsd xmm0, qword [0x4a6030]
subsd xmm0, xmm2
movsd qword [0x4a6030], xmm0
movss xmm0, dword [0x4a6308]
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, dword [ebp - 0x20]
mov eax, edx
xor ecx, dword [ebp - 0x1c]
subss xmm0, dword [0x49ba00]
ror edi, 0xb
and ecx, edx
xor ecx, dword [ebp - 0x1c]
rol eax, 7
xor edi, eax
mov eax, edx
ror eax, 6
xor edi, eax
movss dword [0x4a6308], xmm0
mov eax, dword [ebp + 8]
add edi, ecx
mov ecx, dword [ebp - 8]
add edi, dword [ecx + eax*4]
mov eax, dword [ebp - 4]
add edi, dword [eax + 8]
add edi, dword [ebp - 0x18]
cmp dword [0x4a62cc], 0x87ec260e
jge 0x417ae0
mov eax, dword [str.Ck_7]
mov ecx, 0x48a2cfe7
movsd xmm0, qword [0x4a6490]
sub ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4a6490], xmm0
inc dword [str.Ck_7]
imul eax, dword [0x4a6124], 0x4a34fc1e
add dword [ebp - 0x28], edi
mov dword [0x4a6124], eax
movss xmm0, dword [0x4a60f4]
addss xmm0, dword [0x49b51c]
movss dword [0x4a612c], xmm0
movss xmm0, dword [0x4a60f4]
mov edx, dword [ebp - 0x34]
subss xmm0, xmm5
mov esi, edx
mov eax, edx
rol eax, 0xa
ror esi, 0xd
xor esi, eax
mov eax, edx
movss dword [0x4a60f4], xmm0
movsd xmm1, qword [0x4a6060]
movsd xmm0, qword [0x4a6338]
subsd xmm1, qword [0x4996a8]
ror eax, 2
xor esi, eax
mov eax, dword [ebp - 0x30]
mov ecx, eax
add esi, edi
or ecx, edx
and eax, edx
and ecx, dword [ebp - 0x2c]
subsd xmm1, xmm0
or ecx, eax
add ecx, esi
mov dword [ebp - 0x18], ecx
cvtpd2ps xmm0, xmm1
movss xmm1, dword [0x49b81c]
movss dword [0x4a60e0], xmm0
movsd xmm0, qword [0x4a6338]
addsd xmm0, xmm2
movsd qword [0x4a6338], xmm0
movsd xmm0, qword [0x4a6060]
subsd xmm0, xmm2
movsd qword [0x4a6060], xmm0
movzx eax, word [0x4a62b4]
add eax, 0x45404985
mov word [0x4a62b4], ax
movss xmm0, dword [0x4a6208]
subss xmm0, dword [0x49cc40]
subss xmm0, dword [0x49aed0]
comiss xmm1, xmm0
jbe 0x417be2
mov eax, dword [0x4a6098]
mov ecx, 0x5569e8ca
sub ecx, eax
add dword [0x4a64d8], ecx
mov ecx, 8
nop word [eax + eax]
movsd xmm0, qword [0x4a6540]
mov eax, dword [ebx + ecx*4]
subsd xmm0, xmm3
mov dword [ebp + ecx*4 - 0x34], eax
movsd qword [0x4a6540], xmm0
movsd xmm0, qword [0x4a60f8]
subsd xmm0, xmm4
movsd qword [0x4a60f8], xmm0
sub ecx, 1
jne 0x417bf0
mov ax, word [0x4a62dc]
mov edi, dword [ebp - 4]
movsx ecx, ax
add edi, 4
mov eax, dword [0x4a64cc]
sub ecx, eax
sub ecx, 0x172bb629
mov dword [ebp - 4], edi
mov word [0x4a62dc], cx
mov ecx, dword [ebp + 8]
inc dword [0x4a64cc]
inc ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
mov dword [ebp + 8], ecx
cmp ecx, 0x40
jne 0x417820
movsd xmm0, qword [0x4a60c0]
mulsd xmm0, qword [0x49a3e8]
push dword [ebp - 8]
push 0x100
movsd qword [0x4a60c0], xmm0
call fcn.00418b90
movsd xmm1, qword [0x4a64f8]
mov ecx, 0x80661d6d
movsx eax, word [0x4a6200]
add esp, 8
mov ebx, dword [ebp - 0x10]
sub ecx, eax
xor edx, edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4a64f8], xmm1
nop dword [eax]
mov eax, dword [0x4a6498]
lea ebx, [ebx + 4]
sub eax, 0x5c0dd68a
mov ecx, 0x758e5e83
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4a6518], xmm0
inc dword [0x4a6498]
mov eax, dword [ebp + edx*4 - 0x34]
inc edx
add dword [ebx - 4], eax
mov eax, dword [0x4a6320]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x4a63a8], xmm0
cmp edx, 8
jne 0x417cc0
mov ax, word [0x4a642c]
mov ecx, dword [0x4a6498]
dec word [0x4a642c]
dec dword [0x4a6498]
cwde
pop edi
sub ecx, eax
pop esi
pop ebx
cmp ecx, 0xcd45ea59
jl 0x417dc9
inc word [0x4a6520]
movsx eax, word [0x4a6058]
movss xmm1, dword [0x4a63a8]
subss xmm1, dword [0x49bde8]
movss xmm3, dword [0x4991d8]
movd xmm2, eax
movsx eax, word [0x4a6520]
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4a63a8]
addss xmm0, xmm3
comiss xmm1, xmm2
movss dword [0x4a63a8], xmm0
jbe 0x417da3
movzx eax, word [0x4a62f4]
add eax, 0x262cfb44
mov word [0x4a62f4], ax
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x4a611c]
addss xmm0, xmm3
movss dword [0x4a611c], xmm0
movss xmm0, dword [0x4a611c]
cvttss2si eax, xmm0
mov word [0x4a60e4], ax
mov esp, ebp
pop ebp
ret