Function at 0x1800101f0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, qword [0x18005be88]
xor r15d, r15d
mov esi, ecx
mov r14, qword [rdi + 0x1a80]
test cl, 0x10
jne 0x18001048c
mov ebx, dword [r14 + 0x114]
test ebx, ebx
je 0x18001023a
cmp dword [rdi + 0x1ac8], ebx
jne 0x180010485
cmp byte [rdi + 0x138], r15b
je 0x180010485
test ebx, ebx
jne 0x180010440
test cl, 8
je 0x180010485
test byte [r14 + 0x118], 1
jne 0x18001027c
cmp dword [rdi + 0x1ac8], r15d
je 0x180010485
cmp qword [rdi + 0x1af8], r14
jne 0x180010485
lea rdx, [r14 + 0x11c]
mov qword [rsp + 0x90], r13
mov rcx, r14
call fcn.180014390
mov dword [r14 + 0x114], eax
mov ebx, eax
mov rsi, qword [0x18005be88]
mov eax, dword [rsi + 0x1ab4]
test eax, eax
je 0x1800102c2
cmp eax, ebx
je 0x1800102c2
cmp byte [rsi + 0x1ab8], r15b
jne 0x1800102c2
xor sil, sil
jmp 0x1800103f7
mov qword [rsp + 0x88], r12
mov r12, qword [rsi + 0x1a80]
cmp qword [rsi + 0x1a88], r12
jne 0x1800103ec
mov eax, dword [rsi + 0x1ac8]
test eax, eax
je 0x1800102f9
cmp eax, ebx
je 0x1800102f9
cmp byte [rsi + 0x1ad5], r15b
je 0x1800103ec
lea rdx, [r14 + 0x124]
mov r8b, 1
lea rcx, [r14 + 0x11c]
call fcn.180016040
test al, al
je 0x1800103ec
cmp byte [rsi + 0x1c4f], r15b
jne 0x1800103ec
xor edx, edx
mov rcx, r12
call fcn.180016180
test al, al
je 0x1800103ec
test byte [r12 + 0x1b8], 4
jne 0x1800103ec
mov rax, qword [0x18005be88]
mov dword [rsi + 0x1ab4], ebx
mov byte [rax + 0x1ab8], r15b
test ebx, ebx
je 0x18001036c
cmp dword [rax + 0x1abc], ebx
je 0x18001036c
mov qword [rax + 0x1ac0], r15
cmp byte [rsi + 0x2ffc], r15b
je 0x1800103c3
cmp dword [rsi + 0x1abc], ebx
jne 0x1800103c3
movss xmm0, dword [0x18004d040]
lea r8, [r14 + 0x124]
mov rcx, qword [0x18005be88]
lea rdx, [r14 + 0x11c]
movss dword [rsp + 0x30], xmm0
xorps xmm1, xmm1
mov dword [rsp + 0x28], 0xf
add rcx, 0x1e70
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
call fcn.1800240e0
cmp dword [rsi + 0x3000], ebx
jne 0x1800103cc
int3
mov sil, 1
cmp byte [rdi + 0x428], r15b
je 0x1800103ef
mov rdx, r14
mov ecx, ebx
call fcn.18001e430
mov rcx, r14
call fcn.180013c20
jmp 0x1800103ef
xor sil, sil
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
cmp dword [rdi + 0x1ac8], ebx
jne 0x18001040e
mov byte [rdi + 0x1ad5], sil
mov esi, dword [rbp + 0x30]
cmp dword [rdi + 0x1ac8], ebx
jne 0x180010485
mov rax, qword [r14 + 0xc8]
movsxd rcx, dword [r14 + 0xc0]
mov r15d, dword [rax + rcx*4 - 4]
mov rax, qword [0x18005be88]
cmp byte [rax + 0x138], 0
jne 0x180010449
xor al, al
jmp 0x180010467
mov byte [rdi + 0x1ad5], r15b
jmp 0x180010411
mov rax, qword [0x18005be88]
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x494]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
mov qword [rdi + 0x1adc], 0xffffffffffffffff
mov qword [rdi + 0x1ae8], 0xffffffffffffffff
test al, al
jne 0x180010546
xor al, al
jmp 0x1800105d7
mov eax, dword [0x18004dea8]
xor r14d, r14d
cmp byte [0x18004dead], r14b
movsd xmm0, qword [0x18004dea0]
mov dword [rbp - 8], eax
movzx eax, word [0x18004deac]
mov word [rbp - 4], ax
movsd qword [rbp - 0x10], xmm0
je 0x1800104f6
xor byte [rbp - 0xf], 0x32
mov r8b, 0x23
xor byte [rbp - 0xe], 0x33
xor byte [rbp - 0xd], 0x34
xor byte [rbp - 0xc], 0x35
xor byte [rbp - 0xb], 0x36
xor byte [rbp - 0xa], 0x37
xor byte [rbp - 9], 0x38
xor byte [rbp - 8], 0x39
xor byte [rbp - 7], 0x3a
xor byte [rbp - 6], 0x3b
xor byte [rbp - 5], 0x3c
xor byte [rbp - 4], 0x3d
xor byte [rbp - 3], 0x3e
mov byte [rbp - 0x10], r8b
jmp 0x1800104fb
movzx r8d, byte [rbp - 0x10]
lea rdx, [rbp - 0xf]
mov r9d, 0xffffffff
mov ebx, r9d
test r8b, r8b
je 0x180010544
lea r10, [0x18004d940]
cmp r8b, 0x23
jne 0x180010527
cmp byte [rdx], r8b
jne 0x180010527
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 0x180010514
not ebx
cmp byte [rdi + 0x1f1c], 0
jne 0x180010578
call fcn.180011aa0
mov dword [rdi + 0x1f3c], ebx
mov dword [rdi + 0x1f40], r15d
mov byte [rdi + 0x1f1c], 1
mov dword [rdi + 0x1f20], esi
mov dword [rdi + 0x1f28], 0
mov eax, dword [rdi + 0x1a08]
mov dword [rdi + 0x1f24], eax
mov byte [rdi + 0x1f1d], 1
test sil, 1
jne 0x1800105c7
xor edx, edx
xor ecx, ecx
call fcn.1800109b0
cmp dword [rdi + 0x1f90], 0
je 0x1800105c7
test dword [rdi + 0x1f84], 0x1000
je 0x1800105c7
mov rax, qword [rdi + 0x1a80]
mov byte [rax + 0x83], 1
mov dword [rax + 0x9c], 1
test sil, 0x12
jne 0x1800105d5
and dword [r14 + 0x118], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret