Function at 0x18003d100
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov r8, qword [0x1801b42e8]
lea r9, [rcx + 0xd8]
mov rdi, qword [rcx + 0xc8]
lea rdx, [rsp + 0x28]
movaps xmmword [rsp + 0x50], xmm6
mov rbx, rcx
movaps xmmword [rsp + 0x40], xmm7
mov r8, qword [r8 + 0x78]
call fcn.18008daa0
cmp qword [rbx + 0x48], 0xf
lea rsi, [rbx + 0x30]
mov rcx, rsi
jbe 0x18003d155
mov rcx, qword [rsi]
movsx eax, byte [rcx]
mov ebp, 0x811c9dc5
test al, al
jne 0x18003d165
mov eax, ebp
jmp 0x18003d175
xor eax, ebp
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
movss xmm2, dword [rsp + 0x28]
lea rdx, [rsp + 0x20]
add eax, 0x88d586aa
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x20], eax
call fcn.180035b00
movss xmm0, dword [rbx + 0x1c]
movss xmm7, dword [rbx + 0x18]
subss xmm7, dword [0x1800fe25c]
movss xmm2, dword [rsp + 0x30]
movss xmm6, dword [0x1800fe200]
mov rax, qword [0x1801b42e0]
subss xmm0, xmm6
subss xmm7, xmm2
movss xmm3, dword [rax]
cvttss2si ecx, xmm0
cvttss2si edx, xmm7
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm3, xmm0
jbe 0x18003d221
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003d221
cvttss2si eax, xmm2
add eax, edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jbe 0x18003d221
movss xmm0, dword [rsp + 0x2c]
addss xmm0, dword [0x1800fe234]
cvttss2si eax, xmm0
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003d221
mov al, 1
jmp 0x18003d223
xor al, al
mov rcx, rdi
mov byte [rbx + 0x99], al
call fcn.1800363a0
xor edi, edi
test al, al
jne 0x18003d2ac
cmp qword [0x1801bdb08], rbx
movzx ecx, byte [rbx + 0x99]
mov rax, qword [0x1801b42e0]
sete dl
test cl, cl
je 0x18003d27d
cmp byte [rax + 0xa], dil
je 0x18003d27d
cmp byte [rax + 0x10a], dil
jne 0x18003d27d
mov dword [rbx + 0xd0], edi
mov byte [rbx + 0xfa], 1
mov rax, qword [0x1801b42e0]
mov qword [0x1801bdb08], rbx
test dl, dl
jne 0x18003d2ac
test cl, cl
je 0x18003d2ac
cmp byte [rax + 9], dil
je 0x18003d2ac
cmp byte [rax + 0x109], dil
jne 0x18003d2ac
mov dword [rbx + 0xd0], 1
mov qword [0x1801bdb08], rbx
mov word [rbx + 0xf8], di
cmp qword [rsi + 0x18], 0xf
jbe 0x18003d2b6
mov rsi, qword [rsi]
movsx eax, byte [rsi]
test al, al
je 0x18003d2d0
xor eax, ebp
lea rcx, [rsi + 1]
imul edx, eax, 0x1000193
call fcn.180036e90
mov ebp, eax
lea eax, [rbp + 0x5d923616]
xorps xmm2, xmm2
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x30]
call fcn.180035b00
movss xmm5, dword [rsp + 0x30]
cmp byte [rbx + 0xfa], dil
jne 0x18003d33d
cmp dword [rbx + 0xd0], edi
jne 0x18003d33d
mov rax, qword [0x1801bdb08]
cmp rax, rbx
jne 0x18003d5a2
movss xmm0, dword [0x1800fe178]
comiss xmm0, xmm5
jbe 0x18003d344
mov rax, rdi
mov dword [rbx + 0xd0], 0xffffffff
mov qword [0x1801bdb08], rax
mov byte [rbx + 0xfa], dil
jmp 0x18003d344
mov rax, qword [0x1801bdb08]
cmp rax, rbx
jne 0x18003d5a2
mov ecx, dword [rbx + 0xd0]
test ecx, ecx
je 0x18003d41f
cmp ecx, 1
jne 0x18003d5a2
cmp byte [rbx + 0xf8], dil
jne 0x18003d3ac
cmp byte [rbx + 0xf9], dil
jne 0x18003d3a0
cmp byte [rbx + 0x99], dil
je 0x18003d3a0
mov rax, qword [0x1801b42e0]
cmp byte [rax + 9], dil
je 0x18003d3a0
cmp byte [rax + 0x109], dil
jne 0x18003d3a0
mov byte [rbx + 0xf8], cl
jmp 0x18003d5a2
mov byte [rbx + 0xf9], dil
jmp 0x18003d5a2
mov rcx, qword [0x1801b42e0]
mov edx, edi
mov rax, rdi
cmp rax, 1
je 0x18003d3e4
cmp rax, 0x1b
jne 0x18003d3d3
cmp byte [rcx + 0x23], dil
je 0x18003d3d3
cmp byte [rcx + 0x123], dil
je 0x18003d3f6
cmp byte [rax + rcx + 8], dil
jne 0x18003d3e4
cmp byte [rax + rcx + 0x108], dil
jne 0x18003d414
inc edx
inc rax
cmp rax, 0x100
jl 0x18003d3b8
jmp 0x18003d5a2
mov rax, qword [rbx + 0x100]
mov dword [rax], edi
mov word [rbx + 0xf8], pe_nt_image_headers64
mov qword [0x1801bdb08], rdi
jmp 0x18003d5a2
mov rax, qword [rbx + 0x100]
mov dword [rax], edx
jmp 0x18003d3ff
mov r8, qword [0x1801bd7e8]
mov r9, qword [0x1801bd7e0]
mov rax, r8
mov rdx, qword [0x1801b42e0]
sub rax, r9
sar rax, 5
test rax, rax
je 0x18003d501
movss xmm4, dword [0x1800fe290]
cvttss2si r10d, xmm7
movd xmm3, r10d
cvtdq2ps xmm3, xmm3
nop dword [rax]
movss xmm0, dword [rbx + 0x1c]
movss xmm2, dword [rdx]
subss xmm0, xmm6
comiss xmm2, xmm3
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si ecx, xmm1
jbe 0x18003d4e9
movss xmm1, dword [rdx + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003d4e9
lea eax, [r10 + 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x18003d4e9
lea eax, [rcx + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003d4e9
cmp byte [rdx + 9], 0
je 0x18003d4e9
cmp byte [rdx + 0x109], 0
jne 0x18003d4e9
mov rax, qword [rbx + 0x108]
mov dword [rax], edi
mov byte [rbx + 0xfa], 0
mov rdx, qword [0x1801b42e0]
mov r8, qword [0x1801bd7e8]
mov r9, qword [0x1801bd7e0]
inc edi
mov rcx, r8
sub rcx, r9
movsxd rax, edi
sar rcx, 5
cmp rax, rcx
jb 0x18003d460
movss xmm0, dword [rbx + 0x1c]
movss xmm1, dword [rdx]
subss xmm0, xmm6
cvttss2si eax, xmm7
cvttss2si ecx, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003d58c
movss xmm2, dword [rdx + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x18003d58c
add eax, 0x50
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003d58c
sub r8, r9
xorps xmm0, xmm0
sar r8, 5
test r8, r8
js 0x18003d558
cvtsi2ss xmm0, r8
jmp 0x18003d56e
mov rax, r8
and r8d, 1
shr rax, 1
or rax, r8
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mulss xmm0, dword [0x1800fe384]
mulss xmm0, xmm5
cvttss2si eax, xmm0
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
ja 0x18003d5a2
cmp byte [rdx + 9], 0
je 0x18003d5a2
cmp byte [rdx + 0x109], 0
jne 0x18003d5a2
mov byte [rbx + 0xfa], 0
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm7, xmmword [rsp + 0x40]
mov rsp, r11
pop rdi
ret