Function at 0x140022920
Capabilities:
Hash data using murmur3

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x18]
jbe 0x140023099
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword gs:[0x28]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0xa0]
test rax, rax
je 0x140023049
mov rcx, qword [rsp + 0x88]
cmp rcx, 0x10
jae 0x14002303e
cmp qword [rax + 0x50], 0
je 0x140022fcc
add rax, 0x48
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.140026d40
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
je 0x140022fc5
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x30]
mov rdx, qword [rdx + 0xa0]
test rdx, rdx
je 0x1400229de
mov rbx, qword [rdx + 0x1228]
test rbx, rbx
jne 0x140022f9d
xor edx, edx
test rdx, rdx
je 0x140022e4f
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], rcx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rax
mov rbx, qword [rsp + 0x88]
mov qword [rdx + 0x20], rbx
mov word [rdx + 0x60], 0
mov byte [rdx + 0x62], 0
mov qword [rdx + 0x68], 0
movups xmmword [rdx + 0x78], xmm0
mov byte [rdx + 0x64], 0
mov qword [rdx + 0x30], 0
movups xmmword [rdx + 0x48], xmm0
nop
lea rsi, [rdx + 0x63]
mov qword [rsp + 0x68], rsi
xor edi, edi
xchg byte [rsi], dil
mov rdi, qword [rsp + 0x80]
mov qword [rsp], rdi
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.140022680
cmp byte [rsp + 0x18], 0
je 0x140022e45
mov rdx, qword [rsp + 0x28]
mov byte [rdx + 0x64], 1
mov rax, qword [rsp + 0x88]
mov rbx, rax
shl rax, 0xd
mov qword [rsp + 0x50], rax
movzx esi, byte [rsp + 0x90]
test sil, sil
je 0x140022d0c
mov qword [rdx + 0x28], 0
mov qword [rdx + 0x38], 0
mov rcx, qword [rdx + 0x20]
shl rcx, 0xd
add rcx, qword [rdx + 0x18]
mov qword [rdx + 0x70], rcx
nop
mov ecx, 2
mov rdi, qword [rsp + 0x68]
xchg byte [rdi], cl
mov rcx, qword [rsp + 0x20]
test rcx, rcx
jne 0x140022cbe
nop word [rax + rax]
test sil, sil
jne 0x140022cb6
lea rdi, [0x14020e4d8]
mov r8, rax
lock xadd qword [rdi], rax
nop dword [rax + rax]
test sil, sil
jne 0x140022c99
lea rax, [0x14020fc28]
mov qword [rsp], rax
call fcn.14002a380
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x20]
mov rdx, rcx
lock xadd qword [rax], rcx
neg rdx
lock xadd qword [rax + 8], rdx
movzx ecx, byte [rsp + 0x90]
nop dword [rax]
cmp cl, 1
ja 0x140022c6a
test cl, cl
jne 0x140022c5a
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x10], rdx
lea rax, [0x14020fc28]
mov qword [rsp], rax
call fcn.14002a480
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rsp + 0x80]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
call fcn.140022580
movzx eax, byte [rsp + 0x90]
test al, al
je 0x140022bc5
call fcn.1400592a0
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x98], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
nop
nop
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + 0x18]
nop
movabs rbx, 0x800000000000
lea rax, [rbx + rcx]
mov rbx, rax
shr rax, 0x2a
cmp rax, 0x40
jae 0x140023053
lea rsi, [0x1401ee658]
mov rax, qword [rsi + rax*8]
shr rbx, 0x16
and rbx, 0xfffff
mov rbx, qword [rax + rbx*8]
test byte [rbx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and rcx, 0x3f
lea rbx, [rbx + rcx]
lea rbx, [rbx + 0x21000]
shr rax, 0xd
and rax, 7
mov rcx, rax
mov esi, 1
shl esi, cl
lock or byte [rbx], sil
mov rax, qword [rsp + 0x80]
test byte [rax], al
mov rbx, qword [rsp + 0x88]
lock xadd qword [rax + 0x10158], rbx
jmp 0x140022ba9
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x18], rdx
jmp 0x140022b5c
cmp cl, 2
jne 0x140022c80
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x28], rdx
jmp 0x140022b5c
cmp cl, 3
jne 0x140022b5c
mov rdx, qword [rsp + 0x50]
lock xadd qword [rax + 0x20], rdx
jmp 0x140022b5c
lea rax, [0x14020e4d0]
mov qword [rsp], rax
neg r8
mov qword [rsp + 8], r8
call fcn.14002a300
jmp 0x140022b09
mov r8, rax
jmp 0x140022b03
mov rcx, qword [rsp + 0x38]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.140015a40
mov rcx, qword [rsp + 0x20]
neg rcx
lea rdx, [0x14020e4e0]
lock xadd qword [rdx], rcx
movzx esi, byte [rsp + 0x90]
test sil, sil
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x88]
jmp 0x140022ae3
movzx edi, byte [rsp + 0x91]
mov byte [rdx + 0x62], dil
shr dil, 1
nop dword [rax + rax]
test dil, dil
jne 0x140022dcc
mov qword [rdx + 0x68], rax
mov qword [rdx + 0x38], 1
mov byte [rdx + 0x65], 0
mov word [rdx + 0x5c], 0
mov byte [rdx + 0x66], 0
mov word [rdx + 0x5e], 0
mov qword [rdx + 0x30], 0
mov qword [rdx + 0x40], 0xffffffffffffffff
mov rax, qword [rdx + 0x38]
mov qword [rsp], rax
call fcn.1400242a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x50], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp], rax
nop dword [rax]
call fcn.1400242a0
mov rax, qword [rsp + 8]
mov rdx, qword [rsp + 0x28]
mov qword [rdx + 0x48], rax
mov rax, qword [rsp + 0x80]
test byte [rax], al
mov ecx, dword [rax + 0x10128]
xchg dword [rdx + 0x58], ecx
mov ecx, 1
mov rbx, qword [rsp + 0x68]
xchg byte [rbx], cl
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x88]
movzx esi, byte [rsp + 0x90]
jmp 0x140022acc
movsx rdi, dil
cmp rdi, 0x44
jae 0x140023065
lea rcx, [0x1400b0100]
movzx ecx, word [rcx + rdi*2]
mov qword [rdx + 0x68], rcx
test rcx, rcx
je 0x140023060
mov r9, rdx
xor edx, edx
div rcx
mov qword [r9 + 0x38], rax
lea rcx, [rdi + rdi*2]
lea rdi, [0x1400b1b60]
lea r10, [rdi + rcx*2]
movzx r10d, byte [r10]
mov byte [r9 + 0x65], r10b
movzx r10d, word [rdi + rcx*2 + 2]
mov word [r9 + 0x5c], r10w
lea r10, [rdi + rcx*2]
lea r10, [r10 + 1]
movzx r10d, byte [r10]
mov byte [r9 + 0x66], r10b
movzx ecx, word [rdi + rcx*2 + 4]
mov word [r9 + 0x5e], cx
mov rdx, r9
nop dword [rax]
jmp 0x140022d49
mov rdx, qword [rsp + 0x28]
jmp 0x140022a7a
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x80]
test byte [rbx], al
nop
mov qword [rsp], rbx
call fcn.140009f00
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x140022edd
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x140022ec5
mov qword [rsp + 0x48], rdx
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.14000a160
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
nop dword [rax + rax]
jmp 0x1400229e9
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.140022800
mov rdx, qword [rsp + 8]
jmp 0x140022e95
mov rax, qword [rsp + 0x80]
lea rcx, [rax + 8]
mov qword [rsp + 0x60], rcx
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 8], rdx
nop
call fcn.140026060
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
jne 0x140022e81
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
call fcn.1400230c0
cmp byte [rsp + 0x10], 0
jne 0x140022f66
nop
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.14000a160
mov qword [rsp + 0x98], 0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 8], rax
nop dword [rax]
call fcn.140026060
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
test rax, rax
jne 0x140022e81
jmp 0x140023072
lea rsi, [rbx - 1]
cmp rsi, 0x80
jae 0x14002308b
mov rbx, qword [rdx + rbx*8 + 0x1228]
mov qword [rdx + 0x1228], rsi
mov rdx, rbx
jmp 0x1400229e0
xor edx, edx
jmp 0x140022e4f
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x80]
test byte [rax], al
nop
mov qword [rsp], rax
call fcn.140009f00
mov rax, qword [rsp + 0x80]
lea rcx, [rax + 8]
mov qword [rsp], rcx
call fcn.1400271e0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x58]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x50], rcx
mov qword [rbx + 0x58], rdx
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp], rax
call fcn.14000a160
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
jmp 0x140022989
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x140022e4f
mov rcx, qword [rsp + 0x88]
jmp 0x14002303e
mov ecx, 0x40
call fcn.140059c40
nop dword [rax]
call fcn.14002ef60
mov rax, rdi
mov ecx, 0x44
call fcn.140059c20
lea rax, [0x14014bc7b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.140030c20
mov rax, rsi
mov ecx, pe_nt_image_headers64
call fcn.140059c20
nop
call fcn.140055960
nop
jmp fcn.140022920