Function at 0x18003fd00
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
sub rsp, 0x20
mov rdi, qword [0x1800f7990]
xor ebp, ebp
mov r12d, ecx
mov rsi, qword [rdi + 0x1a18]
test cl, 0x10
jne 0x18003ff1f
mov ebx, dword [rsi + 0x110]
test ebx, ebx
je 0x18003fd44
cmp dword [rdi + 0x1a4c], ebx
jne 0x18003ff18
cmp byte [rdi + 0x128], bpl
je 0x18003ff18
test ebx, ebx
jne 0x18003feca
test r12b, 8
je 0x18003ff18
test byte [rsi + 0x114], 1
jne 0x18003fd85
cmp dword [rdi + 0x1a4c], ebp
je 0x18003ff18
cmp qword [rdi + 0x1a70], rsi
jne 0x18003ff18
lea rdx, [rsi + 0x118]
mov qword [rsp + 0x48], r15
mov rcx, rsi
call fcn.1800449a0
mov dword [rsi + 0x110], eax
mov ebx, eax
mov rbp, qword [0x1800f7990]
mov eax, dword [rbp + 0x1a38]
test eax, eax
je 0x18003fdc7
cmp eax, ebx
je 0x18003fdc7
cmp byte [rbp + 0x1a3c], 0
jne 0x18003fdc7
xor bpl, bpl
jmp 0x18003feb9
mov qword [rsp + 0x40], r14
mov r14, qword [rbp + 0x1a18]
cmp qword [rbp + 0x1a20], r14
jne 0x18003feb1
mov eax, dword [rbp + 0x1a4c]
test eax, eax
je 0x18003fdfb
cmp eax, ebx
je 0x18003fdfb
cmp byte [rbp + 0x1a59], 0
je 0x18003feb1
lea rdx, [rsi + 0x120]
mov r8b, 1
lea rcx, [rsi + 0x118]
call fcn.180046bd0
test al, al
je 0x18003feb1
cmp byte [rbp + 0x1bd7], 0
jne 0x18003feb1
mov rax, qword [rbp + 0x1b60]
test rax, rax
je 0x18003fe5c
mov rax, qword [rax + 0x370]
test rax, rax
je 0x18003fe5c
cmp byte [rax + 0x7f], 0
je 0x18003fe5c
cmp rax, qword [r14 + 0x370]
je 0x18003fe5c
mov ecx, dword [rax + 0xc]
bt ecx, 0x1b
jb 0x18003feb1
bt ecx, 0x1a
jb 0x18003feb1
test byte [r14 + 0x180], 4
jne 0x18003feb1
mov rax, qword [0x1800f7990]
mov dword [rax + 0x1a38], ebx
mov byte [rax + 0x1a3c], 0
test ebx, ebx
je 0x18003fe91
cmp dword [rax + 0x1a40], ebx
je 0x18003fe91
mov qword [rax + 0x1a44], 0
cmp byte [rdi + 0x418], 0
mov bpl, 1
je 0x18003feb4
mov rdx, rsi
mov ecx, ebx
call fcn.18004fb80
mov rcx, rsi
call fcn.180043db0
jmp 0x18003feb4
xor bpl, bpl
mov r14, qword [rsp + 0x40]
mov eax, dword [rdi + 0x1a4c]
mov r15, qword [rsp + 0x48]
cmp eax, ebx
jne 0x18003ff18
jmp 0x18003fed0
mov eax, dword [rdi + 0x1a4c]
mov byte [rdi + 0x1a59], bpl
cmp eax, ebx
jne 0x18003ff18
mov rax, qword [rsi + 0x1f8]
movsxd rcx, dword [rsi + 0x1f0]
mov ebp, dword [rax + rcx*4 - 4]
mov rax, qword [0x1800f7990]
cmp byte [rax + 0x128], 0
je 0x18003ff18
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x484]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
jne 0x18003ff72
xor al, al
jmp 0x18003fffe
mov r9d, 0xffffffff
lea rdx, [0x1800d2149]
mov ebx, r9d
lea r10, [0x1800d1c00]
xor esi, esi
mov r8b, 0x23
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x18003ff53
cmp byte [rdx], r8b
jne 0x18003ff53
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x18003ff40
not ebx
cmp byte [rdi + 0x1e74], 0
jne 0x18003ffa4
call fcn.1800412d0
mov dword [rdi + 0x1e94], ebx
mov dword [rdi + 0x1e98], ebp
mov byte [rdi + 0x1e74], 1
mov dword [rdi + 0x1e78], r12d
mov dword [rdi + 0x1e80], 0
mov eax, dword [rdi + 0x19b0]
mov dword [rdi + 0x1e7c], eax
mov byte [rdi + 0x1e75], 1
test r12b, 1
jne 0x18003ffef
call fcn.180040370
cmp dword [rdi + 0x1ee8], 0
je 0x18003ffef
test dword [rdi + 0x1edc], 0x1000
je 0x18003ffef
mov rax, qword [rdi + 0x1a18]
mov byte [rax + 0x83], 1
mov dword [rax + 0xa8], 1
test r12b, 0x12
jne 0x18003fffc
and dword [rsi + 0x114], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r12
pop rdi
pop rsi
ret