Function at 0x18000ce30
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x48
mov rdi, qword [0x18008b9b0]
xor r15d, r15d
mov esi, ecx
mov r14d, r15d
mov rbp, qword [rdi + 0x1c20]
test cl, 0x10
jne 0x18000d139
mov ebx, dword [rdi + 0x1cd8]
test ebx, ebx
je 0x18000cea8
cmp dword [rdi + 0x1c6c], ebx
jne 0x18000d12a
mov eax, dword [rdi + 0x1ca4]
cmp eax, 0xffffffff
cmove eax, r15d
movsxd r15, eax
cmp byte [r15 + rdi + 0x130], r14b
je 0x18000d12a
cmp byte [rbp + 0x93], r14b
jne 0x18000d12a
xor sil, sil
jmp 0x18000d0d4
cmp byte [rdi + 0x130], r14b
je 0x18000d12a
cmp byte [rbp + 0x93], r14b
jne 0x18000d12a
test byte [rdi + 0x1ce0], 1
jne 0x18000cee5
cmp dword [rdi + 0x1c6c], r14d
je 0x18000d12a
cmp qword [rdi + 0x1c98], rbp
jne 0x18000d12a
test cl, 8
je 0x18000d12a
lea rdx, [rdi + 0x1ce4]
mov rcx, rbp
call fcn.1800116b0
mov dword [rdi + 0x1cd8], eax
mov ebx, eax
mov r14, qword [0x18008b9b0]
mov rsi, r14
mov eax, dword [r14 + 0x1c58]
test eax, eax
je 0x18000cf2f
cmp eax, ebx
je 0x18000cf2f
cmp byte [r14 + 0x1c60], r15b
jne 0x18000cf2f
xor sil, sil
jmp 0x18000d0cc
mov qword [rsp + 0x40], r13
mov r13, qword [r14 + 0x1c20]
cmp qword [r14 + 0x1c28], r13
je 0x18000cf4c
xor sil, sil
jmp 0x18000d0c7
mov qword [rsp + 0x90], r12
mov r12d, dword [r14 + 0x1c6c]
test r12d, r12d
je 0x18000cf76
cmp r12d, ebx
je 0x18000cf76
cmp byte [r14 + 0x1c79], r15b
jne 0x18000cf76
xor sil, sil
jmp 0x18000d0bf
lea rcx, [rdi + 0x1cec]
mov r8b, 1
mov qword [rsp + 0x88], rcx
mov rdx, rcx
lea rcx, [rdi + 0x1ce4]
call fcn.180013ac0
test al, al
jne 0x18000cfa3
xor sil, sil
jmp 0x18000d0bf
cmp byte [r14 + 0x1e63], r15b
je 0x18000cfb4
xor sil, sil
jmp 0x18000d0bf
xor edx, edx
mov rcx, r13
call fcn.180013c70
test al, al
jne 0x18000cfd2
mov byte [r14 + 0x1c63], 1
xor sil, sil
jmp 0x18000d0bf
test ebx, ebx
je 0x18000cffc
mov dword [r14 + 0x1c58], ebx
mov word [r14 + 0x1c60], r15w
cmp dword [r14 + 0x1c5c], ebx
je 0x18000cff5
mov qword [r14 + 0x1c64], r15
mov r14, qword [0x18008b9b0]
cmp dword [rsi + 0x1cd8], ebx
jne 0x18000d00c
mov eax, dword [rsi + 0x1cdc]
jmp 0x18000d012
mov eax, dword [rsi + 0x1cc0]
test al, 4
je 0x18000d02f
cmp r12d, ebx
jne 0x18000d020
call fcn.18000e860
mov byte [rsi + 0x1c63], 1
xor sil, sil
jmp 0x18000d0bf
test ebx, ebx
je 0x18000d0a1
cmp byte [rsi + 0x3174], r15b
je 0x18000d098
cmp dword [rsi + 0x1c5c], ebx
jne 0x18000d098
mov rax, qword [r14 + 0x1e18]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.180012100
movss xmm0, dword [0x180053a4c]
lea rdx, [rdi + 0x1ce4]
mov r8, qword [rsp + 0x88]
xorps xmm1, xmm1
movss dword [rsp + 0x30], xmm0
mov r9d, 0xff00ffff
mov dword [rsp + 0x28], r15d
mov rcx, rax
movss dword [rsp + 0x20], xmm1
call fcn.1800243c0
cmp dword [rsi + 0x3178], ebx
jne 0x18000d0a1
int3
mov sil, 1
cmp byte [rdi + 0x420], r15b
je 0x18000d0bf
mov rdx, rbp
mov ecx, ebx
call fcn.18001e0d0
mov rcx, rbp
call fcn.180011000
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x40]
cmp dword [rdi + 0x1c6c], ebx
jne 0x18000d12a
mov byte [rdi + 0x1c79], sil
movsxd rcx, dword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov r14d, dword [rax + rcx*4 - 4]
mov rax, qword [0x18008b9b0]
movsxd rcx, r15d
cmp byte [rcx + rax + 0x130], 0
jne 0x18000d107
xor sil, sil
jmp 0x18000d120
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + rcx*4 + 0x4a0]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae sil
call fcn.18001e190
test sil, sil
jne 0x18000d187
xor al, al
add rsp, 0x48
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r9d, 0xffffffff
lea rdx, [0x180054ff1]
mov ebx, r9d
lea r10, [0x180054a40]
mov r8b, 0x23
cmp r8b, 0x23
jne 0x18000d166
cmp byte [rdx], r8b
jne 0x18000d166
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 0x18000d153
not ebx
jmp 0x18000d18e
mov esi, dword [rsp + 0x80]
cmp byte [rdi + 0x1fb4], 0
jne 0x18000d1cc
call fcn.18000e8c0
mov dword [rdi + 0x1fd4], ebx
mov dword [rdi + 0x1fd8], r14d
mov byte [rdi + 0x1fb4], 1
mov dword [rdi + 0x1fb8], esi
mov dword [rdi + 0x1fc0], r15d
cmp ebx, dword [rdi + 0x1c6c]
jne 0x18000d1cc
mov byte [rdi + 0x1c7a], 1
mov eax, dword [rdi + 0x1ba0]
mov dword [rdi + 0x1fbc], eax
mov byte [rdi + 0x1fb5], 1
test sil, 1
jne 0x18000d21f
xor edx, edx
xor ecx, ecx
call fcn.18000d5d0
cmp dword [rdi + 0x2028], 0
je 0x18000d21f
test dword [rdi + 0x201c], 0x1000
je 0x18000d21f
mov rax, qword [rdi + 0x1c20]
mov byte [rax + 0x93], 1
mov byte [rax + 0x95], 1
mov byte [rax + 0xb0], 1
test sil, 0x12
jne 0x18000d22c
and dword [rdi + 0x1ce0], 0xfffffffe
mov al, 1
add rsp, 0x48
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret