Function at 0x401ca0
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
inc dword [0x4ad5dc]
sub esp, 0x134
movsx ecx, word [0x4ad3e8]
mov eax, dword [0x4ad5dc]
add eax, 0xc1d1bbda
add eax, ecx
cmp dword [0x4ad298], eax
jge 0x401cdd
movzx eax, word [0x4ad5f0]
imul eax, eax, 0x6adc8df9
mov word [0x4ad5f0], ax
movss xmm1, dword [0x4ad2a0]
comiss xmm1, dword [0x4a2880]
movss xmm0, dword [0x4ad2a0]
movss xmm7, dword [0x49ea54]
addss xmm0, xmm7
movss dword [0x4ad2a0], xmm0
jb 0x401d16
add dword [0x4ad308], 0xad1e834c
jmp 0x401d3f
mov eax, dword [0x4ad084]
movss xmm0, dword [0x4ad534]
subss xmm0, dword [0x4a0cec]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ad084], eax
add dword [0x4ad0c0], 0xa9f02acd
movss xmm0, dword [0x4ad180]
mov eax, dword [0x4ad5bc]
mov edx, dword [ebp + 0xc]
movsd xmm3, qword [0x49ea58]
movsd xmm4, qword [0x4a1e18]
movss xmm5, dword [0x4a2ac8]
movsd xmm6, qword [0x49f0f0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push ebx
push esi
xor esi, esi
add edx, 2
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4ad038]
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4ad180], xmm0
nop word [eax + eax]
mov eax, dword [0x4ad01c]
movss xmm1, dword [0x4ad12c]
movss xmm0, dword [0x4ad45c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
subss xmm1, xmm2
movss dword [0x4ad12c], xmm1
dec dword [0x4ad060]
mov eax, dword [0x4ad060]
movsd xmm1, qword [0x4ad0d0]
movsd xmm0, qword [0x4ad0d0]
addsd xmm0, xmm3
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movsd qword [0x4ad0d0], xmm0
comisd xmm1, xmm2
jbe 0x401e25
movsd xmm0, qword [0x4ad058]
subsd xmm0, xmm4
movsd qword [0x4ad058], xmm0
movzx ecx, byte [edx - 2]
movzx eax, byte [edx - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
movsx eax, word [0x4ad028]
movsd xmm1, qword [0x4ad400]
mov dword [ebp + esi*4 - 0x134], ecx
movd xmm0, eax
mov eax, dword [0x4ad0c4]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad0c4], eax
movsd xmm0, qword [0x4ad400]
addsd xmm0, xmm3
movsd qword [0x4ad400], xmm0
dec word [0x4ad028]
movsx eax, word [0x4ad168]
sub eax, 0x6cbc928e
cmp eax, 0x2fa2a6f7
jge 0x401ec1
movss xmm0, dword [0x4ad220]
mulss xmm0, xmm5
movss dword [0x4ad220], xmm0
movsd xmm0, qword [0x4ad608]
inc esi
addsd xmm0, xmm6
add edx, 4
movsd qword [0x4ad608], xmm0
cmp esi, 0x10
jne 0x401db0
mov ax, word [0x4ad41c]
mov ebx, dword [ebp + 8]
movsx ecx, ax
add ebx, 8
mov eax, dword [0x4ad518]
sub ecx, eax
sub ecx, 0x5773af16
mov dword [ebp - 0x10], ebx
mov word [0x4ad41c], cx
movups xmm0, xmmword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x14], eax
movsx eax, word [0x4ad630]
movsd xmm2, qword [0x4ad048]
movups xmmword [ebp - 0x34], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [ebp - 0x24], xmm0
movd xmm0, eax
mov eax, dword [0x4ad5ac]
sub eax, 0x3435e966
cvtdq2pd xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [0x4ad534]
inc dword [0x4ad5ac]
subss xmm1, xmm0
inc word [0x4ad630]
cvtps2pd xmm0, xmm1
comisd xmm0, xmm2
jbe 0x401fd1
movsx ecx, word [0x4ad204]
movsx eax, word [0x4ad640]
add ecx, 0x326aa764
dec word [0x4ad204]
add eax, 0x10a1832b
inc word [0x4ad640]
cmp eax, ecx
jg 0x401fd1
movsd xmm1, qword [0x4ad4b0]
movss xmm0, dword [0x4ad458]
subss xmm0, dword [0x4a0e20]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad4b0], xmm1
movss xmm0, dword [0x4ad458]
subss xmm0, xmm7
movss dword [0x4ad458], xmm0
push edi
push pe_nt_image_headers32
push 0x132a
call fcn.0040feb0
movss xmm0, dword [0x4ad568]
lea edi, [ebp - 0x134]
movss xmm4, dword [0x49ea54]
xor edx, edx
subss xmm0, xmm4
movsd xmm7, qword [0x49f0f8]
movsd xmm5, qword [0x49eaa0]
add esp, 8
movsd xmm6, qword [0x4a0130]
movsd xmm3, qword [0x49ea58]
mov dword [ebp - 8], eax
movss dword [0x4ad568], xmm0
mov ecx, dword [0x4ad5bc]
movss xmm0, dword [0x4ad568]
mov dword [ebp + 8], edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ad5bc], eax
lea eax, [ebp - 0x34]
sub eax, 4
sub edi, 8
mov dword [ebp - 4], edi
mov ebx, eax
nop
dec dword [0x4ad594]
mov eax, dword [0x4ad594]
movzx ecx, word [0x4ad104]
add eax, 0xeba99357
imul ecx, eax
mov word [0x4ad104], cx
cmp edx, 0xf
jle 0x40216a
mov eax, dword [0x4ad134]
mov ecx, 0xdbc191a7
sub ecx, eax
add dword [0x4ad364], ecx
movsd xmm0, qword [0x4ad548]
mov esi, dword [edi]
subsd xmm0, xmm3
movsd qword [0x4ad548], xmm0
movsd xmm0, qword [0x4ad610]
addsd xmm0, qword [0x4ad548]
cvttsd2si eax, xmm0
mov dword [0x4ad120], eax
movss xmm1, dword [0x4ad16c]
movss xmm0, dword [0x4ad158]
addss xmm0, dword [0x4a0dd0]
mov ecx, dword [edi - 0x34]
mov edx, ecx
mov eax, ecx
rol edx, 0xe
ror eax, 7
xor edx, eax
shr ecx, 3
subss xmm1, xmm0
xor edx, ecx
mov ecx, esi
mov eax, esi
rol eax, 0xd
rol ecx, 0xf
xor ecx, eax
shr esi, 0xa
movss dword [0x4ad16c], xmm1
xor ecx, esi
movss xmm0, dword [0x4ad558]
add edx, ecx
addss xmm0, dword [0x4a1080]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad110]
add edx, dword [edi - 0x38]
add edx, dword [edi - 0x14]
mulsd xmm0, xmm1
mov dword [edi + 8], edx
movsd qword [0x4ad110], xmm0
mov ax, word [0x4ad0dc]
movsx ecx, word [0x4ad054]
cwde
sub ecx, eax
mov eax, dword [0x4ad424]
imul eax, ecx
mov dword [0x4ad424], eax
inc word [0x4ad054]
mov ax, word [0x4ad55c]
movsx ecx, word [0x4ad3f8]
movsd xmm0, qword [0x4ad2d0]
cwde
add ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad2d0], xmm0
dec word [0x4ad55c]
movsd xmm0, qword [0x4ad0c8]
mov edx, dword [ebp - 0x24]
subsd xmm0, xmm7
mov ecx, dword [ebp - 0x20]
mov edi, edx
xor ecx, dword [ebp - 0x1c]
mov eax, edx
rol eax, 7
and ecx, edx
xor ecx, dword [ebp - 0x1c]
ror edi, 0xb
xor edi, eax
movsd qword [0x4ad0c8], xmm0
mov eax, edx
ror eax, 6
xor edi, eax
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]
dec dword [0x4ad308]
mov eax, dword [0x4ad308]
movss xmm1, dword [0x4ad184]
sub eax, 0x10b48367
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4ad184]
addss xmm0, xmm4
movss dword [0x4ad184], xmm0
movss xmm0, dword [0x4a27e0]
comiss xmm0, xmm1
jb 0x40223e
movsd xmm0, qword [0x4ad1d8]
mulsd xmm0, xmm5
movsd qword [0x4ad1d8], xmm0
movzx eax, word [0x4ad30c]
mov ecx, dword [0x4ad3fc]
cwde
add ecx, eax
mov word [0x4ad30c], cx
dec dword [0x4ad3fc]
movzx eax, word [0x4ad314]
mov edx, dword [ebp - 0x34]
sub eax, 0x1726802
add dword [ebp - 0x28], edi
mov esi, edx
mov word [0x4ad314], ax
mov eax, edx
rol eax, 0xa
ror esi, 0xd
xor esi, eax
mov eax, edx
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]
mov edx, 8
or ecx, eax
mov eax, dword [0x4ad4e8]
movsd xmm1, qword [0x4ad550]
add ecx, esi
mov dword [ebp - 0x18], ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
subsd xmm1, qword [0x49f700]
movsd qword [0x4ad528], xmm1
movsd xmm0, qword [0x4ad1f0]
addsd xmm0, xmm3
movsd qword [0x4ad1f0], xmm0
movsd xmm0, qword [0x4ad1f0]
cvtpd2ps xmm0, xmm0
movss dword [str.J8wN], xmm0
movss xmm0, dword [0x4ad1e4]
subss xmm0, dword [0x4a0e4c]
movss dword [0x4ad1e4], xmm0
nop dword [eax]
mov ax, word [0x4ad080]
mov ecx, dword [0x4ad584]
movss xmm0, dword [0x4ad2bc]
cwde
sub ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ad2bc], xmm0
inc word [0x4ad080]
inc dword [0x4ad584]
mov eax, dword [ebx + edx*4]
mov dword [ebp + edx*4 - 0x34], eax
add dword [0x4ad124], 0x940a3406
sub edx, 1
jne 0x402310
movsd xmm0, qword [0x4ad2e0]
subsd xmm0, xmm3
movsd qword [0x4ad2e0], xmm0
movss xmm0, dword [0x4ad290]
addss xmm0, xmm4
movss dword [0x4ad290], xmm0
movsd xmm1, qword [0x4ad2e0]
movss xmm0, dword [0x4ad290]
subsd xmm1, xmm6
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x4023b0
add dword [0x4ad388], 0x305ff6d5
movss xmm0, dword [0x4ad2f0]
mov eax, dword [ebp - 0x14]
cvtps2pd xmm2, xmm0
mov dword [ebp - 0x34], eax
mov edx, dword [ebp + 8]
inc edx
mov edi, dword [ebp - 4]
add edi, 4
mov dword [ebp + 8], edx
mov dword [ebp - 4], edi
movsd xmm0, qword [0x4ad1b0]
mov eax, dword [0x4ad570]
subsd xmm2, xmm0
movss xmm0, dword [0x4ad490]
cvtps2pd xmm0, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad490], xmm0
movsd xmm0, qword [0x4ad1b0]
subsd xmm0, xmm3
movsd qword [0x4ad1b0], xmm0
movss xmm0, dword [0x4ad2f0]
addss xmm0, xmm4
movss dword [0x4ad2f0], xmm0
cmp edx, 0x40
jne 0x402060
movsx eax, word [0x4ad104]
movsd xmm0, qword [0x4ad110]
push dword [ebp - 8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push pe_nt_image_headers32
addsd xmm0, xmm1
movsd qword [0x4ad110], xmm0
call fcn.0040ab20
movss xmm0, dword [0x4ad698]
add esp, 8
subss xmm0, dword [0x4a2a28]
movsd xmm5, qword [0x4a0258]
xor edx, edx
movsd xmm6, qword [0x4a2050]
movsd xmm4, qword [0x49f728]
movsd xmm3, qword [0x49ea58]
mov ebx, dword [ebp - 0x10]
movss dword [0x4ad698], xmm0
pop edi
nop dword [eax + eax]
dec word [0x4ad410]
movsd xmm2, qword [0x4ad0e0]
movsx eax, word [0x4ad410]
subsd xmm2, xmm5
movsd xmm0, qword [0x4ad1c0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm6
addsd xmm0, xmm1
comisd xmm0, xmm2
jb 0x40251c
movsd xmm1, qword [0x4ad528]
movsd xmm0, qword [0x4ad240]
subsd xmm1, xmm4
mulsd xmm0, xmm1
movsd qword [0x4ad240], xmm0
movsd xmm0, qword [0x4ad528]
subsd xmm0, xmm3
movsd qword [0x4ad528], xmm0
mov eax, dword [ebp + edx*4 - 0x34]
mov ecx, 0xcddde721
add dword [ebx], eax
inc edx
dec word [0x4ad41c]
add ebx, 4
movzx eax, word [0x4ad41c]
sub ecx, eax
mov word [0x4ad0b8], cx
cmp edx, 8
jne 0x4024b0
inc dword [0x4ad570]
mov eax, dword [0x4ad570]
movsd xmm0, qword [0x4ad1d8]
pop esi
pop ebx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
movsd xmm0, qword [0x49f760]
comisd xmm0, xmm1
jb 0x4025a4
movsd xmm0, qword [0x4ad0d0]
cvttsd2si eax, xmm0
mov word [0x4ad0b8], ax
movsd xmm0, qword [0x4ad0d0]
subsd xmm0, xmm3
movsd qword [0x4ad0d0], xmm0
mov esp, ebp
pop ebp
ret
movsd xmm1, qword [0x4ad598]
movsx eax, word [0x4ad5b0]
add eax, 0x386ce2fc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad598], xmm1
mov esp, ebp
pop ebp
ret