Function at 0x140009e10
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
sub rsp, 0x40
mov rsi, qword [0x14025dfb0]
xor r14d, r14d
mov ebx, ecx
mov r15d, r14d
mov rbp, qword [rsi + 0x4008]
test cl, 0x10
jne 0x14000a111
mov edi, dword [rsi + 0x48a4]
test edi, edi
je 0x140009e8b
cmp dword [rsi + 0x4068], edi
jne 0x14000a10a
mov eax, dword [rsi + 0x4094]
cmp eax, 0xffffffff
cmove eax, r14d
movsxd r14, eax
cmp byte [r14 + rsi + 0xe18], r15b
je 0x14000a10a
cmp byte [rbp + 0xf0], r15b
jne 0x14000a10a
xor bl, bl
jmp 0x14000a0d5
cmp byte [rsi + 0xe18], r14b
je 0x14000a10a
cmp byte [rbp + 0xf0], r14b
jne 0x14000a10a
test byte [rsi + 0x48ac], 1
jne 0x140009ec8
cmp dword [rsi + 0x4068], r14d
je 0x14000a10a
cmp qword [rsi + 0x4088], rbp
jne 0x14000a10a
test cl, 8
je 0x14000a10a
lea rdx, [rsi + 0x48b0]
mov qword [rsp + 0x80], r13
mov rcx, rbp
call fcn.140017e30
mov edi, eax
mov dword [rsi + 0x48a4], eax
mov rax, qword [0x14025dfb0]
cmp dword [rax + 0x4068], edi
jne 0x140009f05
mov dword [rax + 0x406c], edi
cmp dword [rax + 0x4098], edi
jne 0x140009f14
mov byte [rax + 0x409c], 1
mov rbx, qword [0x14025dfb0]
mov eax, dword [rbx + 0x4054]
test eax, eax
je 0x140009f39
cmp eax, edi
je 0x140009f39
cmp byte [rbx + 0x405c], r14b
jne 0x140009f39
xor bl, bl
jmp 0x14000a0c5
mov qword [rsp + 0x78], r12
mov r12, qword [rbx + 0x4008]
cmp qword [rbx + 0x4010], r12
je 0x140009f55
xor bl, bl
jmp 0x14000a0c0
mov eax, dword [rbx + 0x4068]
test eax, eax
je 0x140009f73
cmp eax, edi
je 0x140009f73
cmp byte [rbx + 0x4075], r14b
jne 0x140009f73
xor bl, bl
jmp 0x14000a0c0
lea rdx, [rsi + 0x48b8]
mov r8b, 1
lea rcx, [rsi + 0x48b0]
call fcn.14001a7b0
test al, al
jne 0x140009f94
xor bl, bl
jmp 0x14000a0c0
cmp dword [rbx + 0x48a4], edi
jne 0x140009fa5
mov r15d, dword [rbx + 0x48a8]
jmp 0x140009fac
mov r15d, dword [rbx + 0x4888]
bt r15d, 8
jb 0x140009fcf
xor edx, edx
mov rcx, r12
call fcn.14001ab10
test al, al
jne 0x140009fcf
mov byte [rbx + 0x405d], 1
xor bl, bl
jmp 0x14000a0c0
test edi, edi
je 0x140009ff6
mov rax, qword [0x14025dfb0]
mov dword [rax + 0x4054], edi
mov byte [rax + 0x405c], r14b
cmp dword [rax + 0x4058], edi
je 0x140009ff6
mov qword [rax + 0x4060], r14
test r15b, 4
je 0x14000a01b
cmp dword [rbx + 0x4068], edi
jne 0x14000a00d
xor edx, edx
xor ecx, ecx
call fcn.140025580
mov byte [rbx + 0x405d], 1
xor bl, bl
jmp 0x14000a0c0
test edi, edi
je 0x14000a094
cmp byte [rbx + 0x5ed3], r14b
je 0x14000a08b
cmp dword [rbx + 0x4058], edi
jne 0x14000a08b
mov rax, qword [0x14025dfb0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x4008]
mov rcx, qword [rcx + 0x38]
call fcn.1400189a0
movss xmm0, dword [0x140247784]
lea r8, [rsi + 0x48b8]
movss dword [rsp + 0x30], xmm0
lea rdx, [rsi + 0x48b0]
xorps xmm1, xmm1
mov dword [rsp + 0x28], r14d
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
mov rcx, rax
call fcn.140030480
cmp dword [rbx + 0x5ed8], edi
jne 0x14000a094
int3
cmp byte [rbx + 0x4aa7], r14b
je 0x14000a0a1
xor bl, bl
jmp 0x14000a0c0
mov bl, 1
cmp byte [rsi + 0x3758], r14b
je 0x14000a0c0
mov rdx, rbp
mov ecx, edi
call fcn.140025580
xor edx, edx
mov rcx, rbp
call fcn.1400174b0
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
cmp dword [rsi + 0x4068], edi
jne 0x14000a10a
mov byte [rsi + 0x4075], bl
movsxd rcx, dword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
movss xmm1, dword [0x140249d00]
mov r15d, dword [rax + rcx*4 - 4]
mov ecx, r14d
call fcn.14001a770
movzx ebx, al
call fcn.1400256e0
test bl, bl
jne 0x14000a165
xor al, al
jmp 0x14000a207
mov r9d, 0xffffffff
lea rdx, [0x140249269]
mov edi, r9d
lea r10, [0x140247830]
mov r8b, 0x23
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x14000a143
cmp byte [rdx], r8b
jne 0x14000a143
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14000a130
not edi
jmp 0x14000a169
mov ebx, dword [rsp + 0x70]
cmp byte [rsi + 0x4c0c], 0
jne 0x14000a1a7
call fcn.14000b980
mov dword [rsi + 0x4c2c], edi
mov dword [rsi + 0x4c30], r15d
mov byte [rsi + 0x4c0c], 1
mov dword [rsi + 0x4c10], ebx
mov dword [rsi + 0x4c18], r14d
cmp edi, dword [rsi + 0x4068]
jne 0x14000a1a7
mov byte [rsi + 0x4076], 1
mov eax, dword [rsi + 0x3f60]
mov dword [rsi + 0x4c14], eax
mov byte [rsi + 0x4c0d], 1
test bl, 1
jne 0x14000a1f9
xor edx, edx
xor ecx, ecx
call fcn.14000a5b0
cmp dword [rsi + 0x4c80], 0
je 0x14000a1f9
test dword [rsi + 0x4c74], 0x1000
je 0x14000a1f9
mov rax, qword [rsi + 0x4008]
mov byte [rax + 0xf0], 1
mov byte [rax + 0xf2], 1
mov byte [rax + 0x110], 1
test bl, 0x12
jne 0x14000a205
and dword [rsi + 0x48ac], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret