Function at 0x14003c0a0
Capabilities:
Hash data using murmur3

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xa8], rcx
call fcn.14003cdf1
mov rcx, rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], rcx
mov ecx, 4
cqo
idiv rcx
mov rcx, rax
mov rax, qword [rsp + 0xb8]
mov r8d, 4
cqo
idiv r8
mov qword [rsp + 0xc0], rdx
mov rax, rcx
shl rax, 2
mov qword [rsp + 0xc8], rax
cvtsi2sd xmm1, rcx
movsd xmm0, qword [0x1401ff5e0]
mulsd xmm1, xmm0
movsd qword [rsp + 0xd0], xmm1
cvtsi2sd xmm0, rax
ucomisd xmm1, xmm0
sete al
setnp cl
and al, cl
mov byte [rsp + 0xdf], al
subsd xmm0, xmm1
movsd qword [rsp + 0xe0], xmm0
mov rdx, 0xffffffffffffffff
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0xf4], ecx
mov qword [rsp + 0xf8], rax
mov al, byte [rsp + 0xdf]
mov rcx, qword [rsp + 0xe8]
mov edx, dword [rsp + 0xf4]
mov r8, qword [rsp + 0xf8]
mov qword [rsp + 0x90], r8
mov dword [rsp + 0x9c], edx
mov qword [rsp + 0xa0], rcx
test al, 1
jne 0x14003c1f9
movsd xmm0, qword [rsp + 0xe0]
call fcn.1401f0b50
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0xd0]
movsd qword [rsp + 0x88], xmm1
call fcn.1401f0b50
movsd xmm1, qword [rsp + 0x88]
movsd xmm2, qword [0x1401ff5e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14003c1f9
call fcn.1400091c0
jmp 0x14003c549
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc8]
cmp rax, rcx
jge 0x14003c794
mov ecx, dword [0x1401f3110]
mov edx, dword [0x1401f3114]
xor ecx, 0xffffffff
mov eax, 0x67f3e1ce
xor eax, 0x980c1e31
xor edx, eax
mov eax, 0xffffffff
xor eax, 0x171d1b3
or ecx, edx
or eax, 0x171d1b3
xor ecx, 0xffffffff
and ecx, eax
xor eax, eax
sub eax, 0x2f1d5a8b
sub ecx, eax
mov edx, ecx
and edx, 0xc1bfe232
mov eax, 0x34bd52c8
xor eax, 0x34bd52ca
imul eax, edx
add ecx, 0xc1bfe232
sub ecx, eax
mov edx, 0xf36f58f9
xor edx, 0xc90a706
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xcb01458b
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xd0386323
xor edx, 0x1b3926a8
mov r8d, 0x63593ae7
xor r8d, 0x9ca6c518
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xc785d488
xor ecx, 0x387a2b77
xor eax, ecx
cmp eax, 0x8999ead2
je 0x14003cdbb
mov r8, qword [rsp + 0xb8]
mov eax, dword [0x1401f3118]
mov ecx, dword [0x1401f311c]
xor ecx, 0xd3fe7847
sub eax, 0x31fdc810
sub eax, ecx
add eax, 0x31fdc810
mov ecx, 0xc1f3e78b
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x350ba264
xor eax, 0xffffffff
mov edx, 0x12dd28be
xor edx, 0xed22d741
xor ecx, edx
mov edx, 0xa2058759
xor edx, 0x970e253d
mov r9d, 0xf593be7a
xor r9d, 0xa6c4185
xor edx, r9d
or ecx, edx
and eax, ecx
mov ecx, 0x612ffbcb
xor ecx, 0x9ed00434
xor eax, ecx
mov ecx, 0x466e9943
xor ecx, 0x91b6d6d9
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x90]
mov ecx, 0x8470005c
xor ecx, 0x5e37d869
mov dword [rsp + 0x104], 0
cmp rdx, r8
setl dl
mov byte [rsp + 0x87], dl
cmp eax, ecx
je 0x14003cdbb
mov al, byte [rsp + 0x87]
test al, 1
jne 0x14003c4de
jmp 0x14003c389
mov ecx, dword [str.1G:p]
xor ecx, 0x13834c6d
or ecx, dword [0x1401f3124]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc78e9a31
or ecx, 0xc78e9a31
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
and ecx, 0xb0cbe8d5
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb0cbe8d5
mov r8d, 0xffffffff
xor r8d, 0xb0cbe8d5
or edx, r8d
and eax, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, 0x4c6d3934
xor eax, 0xb392c6cb
xor ecx, eax
mov eax, ecx
and eax, 0xe0985138
mov edx, 0xd2f40e78
xor edx, 0x326c5f40
xor ecx, edx
or eax, ecx
mov ecx, 0x51454b8a
xor ecx, 0x749598c6
cmp eax, ecx
jbe 0x14003cdc4
mov rcx, qword [rsp + 0x90]
mov eax, dword [0x1401f3128]
mov edx, 0xbc961136
xor edx, 0x1a0fda7b
xor eax, edx
mov edx, dword [0x1401f312c]
mov r8d, 0x422512e8
xor r8d, 0xae722d37
xor edx, r8d
or eax, edx
mov edx, 0x991701ae
xor edx, 0x666c89d0
xor eax, edx
mov edx, 0xac5faa78
xor edx, 0x25050e78
imul eax, edx
mov r8d, 0xc563bc44
xor r8d, 0x93409a00
xor edx, edx
div r8d
mov rdx, qword [rsp + 0xb8]
mov dword [rsp + 0x80], eax
movabs rax, 0xb8a644e97fc4e9b8
movabs r8, 0xb8a644e97fc4e9b8
xor rax, r8
movabs r8, 0x44da94fee3530df1
movabs r9, 0xbb256b011cacf20e
xor r8, r9
sub rax, r8
sub rdx, rax
call fcn.140016582
mov eax, dword [rsp + 0x80]
cmp eax, 0xc71bbcac
jae 0x14003cdc4
jmp 0x14003c549
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa8]
add rax, rcx
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
cmp rax, 4
je 0x14003c538
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov cl, byte [rcx + rax]
mov byte [rsp + rax + 0x104], cl
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x14003c4fd
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0
je 0x14003c54e
jmp 0x14003ccc3
mov rdx, qword [rsp + 0xa0]
mov r9d, dword [rsp + 0x9c]
mov rax, qword [rsp + 0x90]
mov edi, dword [rsp + 0x104]
mov dword [rsp + 0x64], edi
mov r10d, 0xffffffff
xor r10d, 0xcc9e2d51
mov r8d, edi
and r8d, r10d
mov ecx, edi
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r8d
mov r10d, 0x93b952b4
xor r10d, 0x5f277fe5
mov r8d, edi
and r8d, r10d
mov r10d, 0xe32324f4
xor r10d, 0x2fbd09a5
mov ebx, edi
or ebx, r10d
imul ebx, r8d
add ebx, ecx
shr ebx, 0x11
mov r10d, 0x5849fed2
xor r10d, 0x4ee17ed2
mov ecx, 0x16ab7031
xor ecx, 0xe9548fce
xor r10d, ecx
mov r8d, edi
and r8d, r10d
mov ecx, edi
or ecx, r10d
mov r10d, 0x245d6c66
xor r10d, 0xdba29399
xor ecx, r10d
imul ecx, r8d
mov r8d, edi
and r8d, 0x16a88000
or edi, 0x16a88000
imul edi, r8d
add edi, ecx
mov ecx, 0xf8895ee2
xor ecx, 0x776a11d
mov r8d, ebx
xor r8d, ecx
mov ecx, 0x7b77f0ed
xor ecx, 0x84880f12
mov r11d, edi
xor r11d, ecx
mov r10d, 0x3e43032f
xor r10d, 0xae53e073
mov ecx, 0x6f19caef
xor ecx, 0x90e63510
xor r10d, ecx
mov ecx, r8d
and ecx, 0x9010e35c
and ebx, r10d
mov ebp, 0x47284577
xor ebp, 0xd738a62b
mov esi, r11d
and esi, ebp
and edi, r10d
or ecx, ebx
or esi, edi
xor ecx, esi
or r8d, r11d
xor r8d, 0xffffffff
or r10d, 0x9010e35c
and r8d, r10d
or ecx, r8d
add rax, 4
mov r10d, ecx
xor r10d, 0xffffffff
and r10d, 0x1b873593
mov r11d, 0xffffffff
xor r11d, 0x1b873593
mov r8d, ecx
and r8d, r11d
imul r8d, r10d
mov r11d, 0xde367153
xor r11d, 0xc5b144c0
mov r10d, ecx
and r10d, r11d
mov r11d, 0xad0f1528
xor r11d, 0xb68820bb
or ecx, r11d
imul ecx, r10d
add ecx, r8d
mov r8d, ecx
xor r8d, r9d
xor r8d, 0xffffffff
mov r10d, r9d
and r10d, r8d
mov r8d, 0x974b8ba
xor r8d, 0x974b8b8
imul r8d, r10d
sub r8d, r9d
sub ecx, r8d
rol ecx, 0xd
mov r10d, 0xffffffff
xor r10d, 5
mov r9d, ecx
and r9d, r10d
mov r8d, ecx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, ecx
and r9d, 5
or ecx, 5
imul ecx, r9d
add ecx, r8d
mov r8d, 0x29cd3b40
xor r8d, 0xcf995024
add ecx, r8d
movabs r8, 0x2ef3cd482a77a725
movabs r9, 0xaf2adcdfc3a9ec24
xor r8, r9
sub rdx, r8
add rdx, 4
movabs r8, 0x74bd4da7d53c6849
movabs r9, 0xf5645c303ce22348
xor r8, r9
add rdx, r8
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0xf4], ecx
mov qword [rsp + 0xf8], rax
jmp 0x14003c16b
mov eax, dword [0x1401f3130]
imul eax, dword [0x1401f3134]
imul eax, eax, 0x6c012745
mov ecx, 0x53c3f1
xor ecx, 0x78e94c48
and eax, ecx
or eax, 0x1ab1001a
mov ecx, 0x7b82290
xor ecx, 0x355b7b2f
cmp eax, ecx
je 0x14003cdcd
mov r8, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xa0]
mov eax, dword [0x1401f3138]
imul eax, dword [0x1401f313c]
mov ecx, 0xf4ef657d
xor ecx, 0x53cda666
and eax, ecx
mov ecx, 0xc2e2704c
xor edx, edx
div ecx
mov rdx, qword [rsp + 0xc0]
mov r10d, eax
xor r10d, 0xffffffff
and r10d, 0x755868fe
mov r11d, 0xffffffff
xor r11d, 0x755868fe
mov ecx, eax
and ecx, r11d
imul ecx, r10d
mov r10d, eax
and r10d, 0x755868fe
or eax, 0x755868fe
imul eax, r10d
add eax, ecx
mov ecx, 0x75b2e2a3
xor ecx, 0x5676e95f
add rdx, r9
cmp rdx, r8
setl dl
mov byte [rsp + 0x63], dl
cmp eax, ecx
ja 0x14003cdcd
mov rax, qword [rsp + 0xc0]
xor ecx, ecx
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rax
jmp 0x14003c878
mov ecx, dword [rsp + 0x54]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], ecx
cmp rax, 0
jle 0x14003cb39
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x90]
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor eax, eax
sub rax, 1
sub r8, rax
mov rax, rdx
sub rax, r8
mov qword [rsp + 0x38], rax
xor rcx, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rcx, r8
sub rax, rcx
mov qword [rsp + 0x40], rax
movabs rcx, 0x549a4b775ba7ab46
movabs r8, 0x549a4b775ba7ab46
xor rcx, r8
movabs r8, 0xc7921a3c747b8d81
movabs r9, 0x386de5c38b84727e
xor r8, r9
xor rcx, r8
and rcx, rdx
xor rdx, 0xffffffffffffffff
and rdx, 0
sub rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14003ca00
mov ecx, dword [0x1401f3140]
xor ecx, dword [0x1401f3144]
mov eax, ecx
and eax, 0xf0aee9ef
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf0aee9ef
or ecx, edx
and eax, ecx
mov ecx, 0x73b7c12e
xor ecx, 0x8c483ed1
xor eax, ecx
mov ecx, 0xa03c254e
xor edx, edx
div ecx
imul eax, eax, 0x20cf466a
cmp eax, 0x954cb247
jae 0x14003cdd6
mov eax, dword [0x1401f3148]
mov ecx, dword [0x1401f314c]
xor eax, 0xffffffff
mov edx, 0xae895660
xor edx, 0x5176a99f
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x6b8814c5
or eax, ecx
mov ecx, 0x21618801
xor ecx, 0x4ae99cc4
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xd48e342e
xor ecx, 0x830081b3
and eax, ecx
mov ecx, 0x441e4d05
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xdef1c8cd
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x34], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x34]
cmp eax, 0x82d7a6e0
je 0x14003cdd6
jmp 0x14003ccc3
mov dl, byte [rsp + 0x63]
mov rax, qword [rsp + 0x40]
test rax, rax
setns al
sets cl
or cl, dl
add al, cl
inc al
test al, 1
jne 0x14003ca62
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xb8]
movabs rax, 0x6849f1fb0dba841
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x6b9245ca70e10906
movabs r8, 0x6d16dad5c03aa147
xor rax, r8
add rdx, rax
call fcn.140016582
jmp 0x14003ccc3
mov eax, dword [0x1401f3150]
xor edx, edx
div dword [0x1401f3154]
mov edx, 0xffffffff
xor edx, 0x9a3568ed
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x9a3568ed
add eax, edx
sub eax, ecx
mov ecx, 0xdbc409bd
xor ecx, 0x8c89ccb
or eax, ecx
and eax, 0x41120ba5
cmp eax, 0xfefc597a
je 0x14003cddf
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x40]
mov eax, dword [0x1401f3158]
add eax, dword [0x1401f315c]
and eax, 0xd3a36fbc
mov r9d, 0x909ceddc
xor edx, edx
div r9d
mov edx, dword [rsp + 0x50]
mov r10d, 0xffffffff
xor r10d, 0xb435450e
mov r9d, eax
and r9d, r10d
mov r11d, 0x408cadd6
xor r11d, 0xf4b9e8d8
mov r10d, eax
xor r10d, r11d
add eax, r10d
sub eax, r9d
shl edx, 8
movzx r8d, byte [rcx + r8]
mov ecx, edx
and ecx, r8d
xor edx, r8d
or ecx, edx
mov dword [rsp + 0x30], ecx
cmp eax, 0x9f28a0ea
jb 0x14003caa8
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x58], rax
jmp 0x14003c878
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0
jne 0x14003ccc3
mov ecx, dword [rsp + 0x9c]
mov rdx, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x50]
imul eax, r8d, 0xcc9e2d51
shr eax, 0x11
mov r9d, 0x25b2e29
xor r9d, 0x14f3ae29
imul r8d, r9d
or eax, r8d
imul eax, eax, 0x1b873593
mov r8d, edx
mov edx, eax
and edx, edx
mov r9d, 0x19bc9996
xor r9d, 0xe6436669
xor edx, r9d
mov r9d, 0xf47f6624
xor r9d, 0xb8099db
xor edx, r9d
mov r9d, r8d
xor r9d, 0xffffffff
or edx, r9d
and r8d, r8d
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x447848b3
xor r8d, 0xbb87b74c
xor eax, r8d
and edx, eax
xor edx, 0xffffffff
mov r8d, edx
xor r8d, ecx
xor r8d, 0xffffffff
mov eax, ecx
and eax, r8d
shl eax, 1
sub eax, ecx
sub edx, eax
mov ecx, 0xa12fca02
xor ecx, 0xa12fca12
mov r8d, edx
shr r8d, cl
mov eax, 0xcc05ba2c
xor eax, 0x33fa45d3
mov ecx, r8d
xor ecx, eax
mov eax, 0x7ad85e8f
xor eax, 0x8111f936
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xfbc9a7b9
and r8d, r9d
mov r10d, 0x597f66d5
xor r10d, 0xa680992a
mov ecx, edx
xor ecx, r10d
and ecx, 0xfbc9a7b9
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov edx, ecx
shr edx, 0xd
mov eax, edx
and eax, ecx
shl eax, 1
add edx, ecx
sub edx, eax
mov r8d, 0xffffffff
xor r8d, 0xc2b2ae35
mov ecx, edx
and ecx, r8d
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, edx
and ecx, 0xc2b2ae35
mov r8d, 0x3c453c04
xor r8d, 0xfef79231
or edx, r8d
imul edx, ecx
add edx, eax
mov ecx, edx
shr ecx, 0x10
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov eax, eax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov eax, dword [0x1401f3160]
mov ecx, dword [0x1401f3164]
xor ecx, 0xf55899e5
xor eax, ecx
mov ecx, 0xd65a0c1c
xor ecx, 0x22f1cbff
imul eax, ecx
and eax, 0xcbc97d38
mov ecx, 0xc4093d0c
xor ecx, 0x287b00bc
and eax, ecx
cmp eax, 0xe1eacc03
ja 0x14003cde8
mov ecx, dword [0x1401f3168]
mov r8d, dword [0x1401f316c]
mov eax, 0xae80f7d5
xor eax, 0x517f082a
mov r9d, r8d
xor r9d, eax
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xe8468eae
xor edx, 0x347d74ae
and eax, edx
xor eax, 0xffffffff
mov edx, 0x1cc65d1c
xor edx, 0xc0fda71c
mov r8d, 0x462ed81
xor r8d, 0xd8591781
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0x959d0087
xor eax, 0x3284ffc
mov ecx, 0x766893e3
xor ecx, 0x7313ca5
cmp eax, ecx
jb 0x14003cd0c
mov rax, qword [rsp + 0x20]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
ret
mov esp, 0xe960a9d7
sti
hlt
ret 0xd0d0
mov byte [rcx - 0x9164237], dl
stc
invalid
mov eax, 0xe9352e8b
lahf
sti
invalid
sahf
mov ch, 0xe6
jp 0x14003cdcd
sar ah, 0xff
call rdi
xlatb
jnp 0x14003ce44
mov dh, 0xe9
sbb edi, edi
invalid
shr eax, 0xa1
invalid