Function at 0x180006090
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 [0x1800a7200]
xor r15d, r15d
mov esi, ecx
mov r14d, r15d
mov rbp, qword [rdi + 0x1c20]
test cl, 0x10
jne 0x180006399
mov ebx, dword [rdi + 0x1cd8]
test ebx, ebx
je 0x180006108
cmp dword [rdi + 0x1c6c], ebx
jne 0x18000638a
mov eax, dword [rdi + 0x1ca4]
cmp eax, 0xffffffff
cmove eax, r15d
movsxd r15, eax
cmp byte [r15 + rdi + 0x130], r14b
je 0x18000638a
cmp byte [rbp + 0x93], r14b
jne 0x18000638a
xor sil, sil
jmp 0x180006334
cmp byte [rdi + 0x130], r14b
je 0x18000638a
cmp byte [rbp + 0x93], r14b
jne 0x18000638a
test byte [rdi + 0x1ce0], 1
jne 0x180006145
cmp dword [rdi + 0x1c6c], r14d
je 0x18000638a
cmp qword [rdi + 0x1c98], rbp
jne 0x18000638a
test cl, 8
je 0x18000638a
lea rdx, [rdi + 0x1ce4]
mov rcx, rbp
call fcn.18000a8b0
mov dword [rdi + 0x1cd8], eax
mov ebx, eax
mov r14, qword [0x1800a7200]
mov rsi, r14
mov eax, dword [r14 + 0x1c58]
test eax, eax
je 0x18000618f
cmp eax, ebx
je 0x18000618f
cmp byte [r14 + 0x1c60], r15b
jne 0x18000618f
xor sil, sil
jmp 0x18000632c
mov qword [rsp + 0x40], r13
mov r13, qword [r14 + 0x1c20]
cmp qword [r14 + 0x1c28], r13
je 0x1800061ac
xor sil, sil
jmp 0x180006327
mov qword [rsp + 0x90], r12
mov r12d, dword [r14 + 0x1c6c]
test r12d, r12d
je 0x1800061d6
cmp r12d, ebx
je 0x1800061d6
cmp byte [r14 + 0x1c79], r15b
jne 0x1800061d6
xor sil, sil
jmp 0x18000631f
lea rcx, [rdi + 0x1cec]
mov r8b, 1
mov qword [rsp + 0x88], rcx
mov rdx, rcx
lea rcx, [rdi + 0x1ce4]
call fcn.18000cce0
test al, al
jne 0x180006203
xor sil, sil
jmp 0x18000631f
cmp byte [r14 + 0x1e5b], r15b
je 0x180006214
xor sil, sil
jmp 0x18000631f
xor edx, edx
mov rcx, r13
call fcn.18000ce70
test al, al
jne 0x180006232
mov byte [r14 + 0x1c63], 1
xor sil, sil
jmp 0x18000631f
test ebx, ebx
je 0x18000625c
mov dword [r14 + 0x1c58], ebx
mov word [r14 + 0x1c60], r15w
cmp dword [r14 + 0x1c5c], ebx
je 0x180006255
mov qword [r14 + 0x1c64], r15
mov r14, qword [0x1800a7200]
cmp dword [rsi + 0x1cd8], ebx
jne 0x18000626c
mov eax, dword [rsi + 0x1cdc]
jmp 0x180006272
mov eax, dword [rsi + 0x1cc0]
test al, 4
je 0x18000628f
cmp r12d, ebx
jne 0x180006280
call fcn.180007a50
mov byte [rsi + 0x1c63], 1
xor sil, sil
jmp 0x18000631f
test ebx, ebx
je 0x180006301
cmp byte [rsi + 0x316c], r15b
je 0x1800062f8
cmp dword [rsi + 0x1c5c], ebx
jne 0x1800062f8
mov rax, qword [r14 + 0x1e10]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.18000b180
movss xmm0, dword [0x180086e3c]
lea rdx, [rdi + 0x1ce4]
mov r8, qword [rsp + 0x88]
xorps xmm1, xmm1
movss dword [rsp + 0x30], xmm0
mov rcx, rax
mov dword [rsp + 0x28], r15d
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
call fcn.18001db70
cmp dword [rsi + 0x3170], ebx
jne 0x180006301
int3
mov sil, 1
cmp byte [rdi + 0x420], r15b
je 0x18000631f
mov rdx, rbp
mov ecx, ebx
call fcn.180016b40
mov rcx, rbp
call fcn.18000a200
mov r12, qword [rsp + 0x90]
mov r13, qword [rsp + 0x40]
cmp dword [rdi + 0x1c6c], ebx
jne 0x18000638a
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 [0x1800a7200]
movsxd rcx, r15d
cmp byte [rcx + rax + 0x130], 0
jne 0x180006367
xor sil, sil
jmp 0x180006380
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + rcx*4 + 0x4a0]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae sil
call fcn.180016c00
test sil, sil
jne 0x1800063e7
xor al, al
add rsp, 0x48
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r9d, 0xffffffff
lea rdx, [0x180086cb1]
mov ebx, r9d
lea r10, [0x1800865d0]
mov r8b, 0x23
cmp r8b, 0x23
jne 0x1800063c6
cmp byte [rdx], r8b
jne 0x1800063c6
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 0x1800063b3
not ebx
jmp 0x1800063ee
mov esi, dword [rsp + 0x80]
cmp byte [rdi + 0x1fac], 0
jne 0x18000642c
call fcn.180007ab0
mov dword [rdi + 0x1fcc], ebx
mov dword [rdi + 0x1fd0], r14d
mov byte [rdi + 0x1fac], 1
mov dword [rdi + 0x1fb0], esi
mov dword [rdi + 0x1fb8], r15d
cmp ebx, dword [rdi + 0x1c6c]
jne 0x18000642c
mov byte [rdi + 0x1c7a], 1
mov eax, dword [rdi + 0x1ba0]
mov dword [rdi + 0x1fb4], eax
mov byte [rdi + 0x1fad], 1
test sil, 1
jne 0x18000647f
xor edx, edx
xor ecx, ecx
call fcn.180006820
cmp dword [rdi + 0x2020], 0
je 0x18000647f
test dword [rdi + 0x2014], 0x1000
je 0x18000647f
mov rax, qword [rdi + 0x1c20]
mov byte [rax + 0x93], 1
mov byte [rax + 0x95], 1
mov byte [rax + 0xb0], 1
test sil, 0x12
jne 0x18000648c
and dword [rdi + 0x1ce0], 0xfffffffe
mov al, 1
add rsp, 0x48
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret