Function at 0x140049510
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rsi, qword [0x14010c048]
xor r14d, r14d
mov r15d, ecx
mov r12d, r14d
mov rbp, qword [rsi + 0x3fd8]
test cl, 0x10
jne 0x1400497ff
mov edi, dword [rsi + 0x4874]
test edi, edi
je 0x14004958e
cmp dword [rsi + 0x4038], edi
jne 0x1400497f8
mov eax, dword [rsi + 0x4064]
cmp eax, 0xffffffff
cmove eax, r14d
movsxd r14, eax
cmp byte [r14 + rsi + 0xe0c], r12b
je 0x1400497f8
cmp byte [rbp + 0xe8], r12b
jne 0x1400497f8
xor bl, bl
jmp 0x1400497c3
cmp byte [rsi + 0xe0c], r12b
je 0x1400497f8
cmp byte [rbp + 0xe8], r12b
jne 0x1400497f8
test byte [rsi + 0x487c], 1
jne 0x1400495cb
cmp dword [rsi + 0x4038], r12d
je 0x1400497f8
cmp qword [rsi + 0x4058], rbp
jne 0x1400497f8
test r15b, 8
je 0x1400497f8
lea rdx, [rsi + 0x4880]
mov qword [rsp + 0x70], r13
mov rcx, rbp
call fcn.140057270
mov edi, eax
mov dword [rsi + 0x4874], eax
mov rax, qword [0x14010c048]
cmp dword [rax + 0x4038], edi
jne 0x140049606
mov dword [rax + 0x403c], edi
cmp dword [rax + 0x4068], edi
jne 0x140049615
mov byte [rax + 0x406c], 1
mov rbx, qword [0x14010c048]
mov eax, dword [rbx + 0x4024]
test eax, eax
je 0x14004963a
cmp eax, edi
je 0x14004963a
cmp byte [rbx + 0x402c], r12b
jne 0x14004963a
xor bl, bl
jmp 0x1400497b6
mov r12, qword [rbx + 0x3fd8]
cmp qword [rbx + 0x3fe0], r12
je 0x140049651
xor bl, bl
jmp 0x1400497b6
mov eax, dword [rbx + 0x4038]
test eax, eax
je 0x14004966f
cmp eax, edi
je 0x14004966f
cmp byte [rbx + 0x4045], r14b
jne 0x14004966f
xor bl, bl
jmp 0x1400497b6
lea rdx, [rsi + 0x4888]
mov r8b, 1
lea rcx, [rsi + 0x4880]
call fcn.1400597c0
test al, al
jne 0x140049690
xor bl, bl
jmp 0x1400497b6
cmp dword [rbx + 0x4874], edi
jne 0x1400496a1
mov r10d, dword [rbx + 0x4878]
jmp 0x1400496a8
mov r10d, dword [rbx + 0x4858]
bt r10d, 8
jb 0x1400496cb
xor edx, edx
mov rcx, r12
call fcn.140059a40
test al, al
jne 0x1400496cb
mov byte [rbx + 0x402d], 1
xor bl, bl
jmp 0x1400497b6
test edi, edi
je 0x1400496f2
mov rax, qword [0x14010c048]
mov dword [rax + 0x4024], edi
mov byte [rax + 0x402c], r14b
cmp dword [rax + 0x4028], edi
je 0x1400496f2
mov qword [rax + 0x4030], r14
test r10b, 4
je 0x140049713
cmp dword [rbx + 0x4038], edi
jne 0x140049705
call fcn.14004b1b0
mov byte [rbx + 0x402d], 1
xor bl, bl
jmp 0x1400497b6
test edi, edi
je 0x14004978c
cmp byte [rbx + 0x5e71], r14b
je 0x140049783
cmp dword [rbx + 0x4028], edi
jne 0x140049783
mov rax, qword [0x14010c048]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x3fd8]
mov rcx, qword [rcx + 0x30]
call fcn.140057cc0
movss xmm0, dword [0x1400d7354]
lea r8, [rsi + 0x4888]
movss dword [rsp + 0x30], xmm0
lea rdx, [rsi + 0x4880]
xorps xmm1, xmm1
mov dword [rsp + 0x28], r14d
mov r9d, 0xff00ffff
movss dword [rsp + 0x20], xmm1
mov rcx, rax
call fcn.14006ea70
cmp dword [rbx + 0x5e74], edi
jne 0x14004978c
int3
cmp byte [rbx + 0x4a6b], r14b
je 0x140049799
xor bl, bl
jmp 0x1400497b6
mov bl, 1
cmp byte [rsi + 0x3748], r14b
je 0x1400497b6
mov rdx, rbp
mov ecx, edi
call fcn.1400646d0
mov rcx, rbp
call fcn.140056b50
mov r13, qword [rsp + 0x70]
cmp dword [rsi + 0x4038], edi
jne 0x1400497f8
mov byte [rsi + 0x4045], bl
movsxd rcx, dword [rbp + 0x120]
mov rax, qword [rbp + 0x128]
movss xmm1, dword [0x1400d92f0]
mov r12d, dword [rax + rcx*4 - 4]
mov ecx, r14d
call fcn.140059780
movzx ebx, al
call fcn.140064820
test bl, bl
jne 0x140049853
xor al, al
jmp 0x1400498f4
mov r9d, 0xffffffff
lea rdx, [0x1400db7c1]
mov edi, r9d
lea r10, [0x1400d9f90]
mov r8b, 0x23
nop dword [rax]
cmp r8b, 0x23
jne 0x140049833
cmp byte [rdx], r8b
jne 0x140049833
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 0x140049820
not edi
cmp byte [rsi + 0x4bd4], 0
jne 0x140049892
call fcn.14004b2a0
mov dword [rsi + 0x4bf4], edi
mov dword [rsi + 0x4bf8], r12d
mov byte [rsi + 0x4bd4], 1
mov dword [rsi + 0x4bd8], r15d
mov dword [rsi + 0x4be0], r14d
cmp edi, dword [rsi + 0x4038]
jne 0x140049892
mov byte [rsi + 0x4046], 1
mov eax, dword [rsi + 0x3f58]
mov dword [rsi + 0x4bdc], eax
mov byte [rsi + 0x4bd5], 1
test r15b, 1
jne 0x1400498e5
xor edx, edx
xor ecx, ecx
call fcn.140049d60
cmp dword [rsi + 0x4c48], 0
je 0x1400498e5
test dword [rsi + 0x4c3c], 0x1000
je 0x1400498e5
mov rax, qword [rsi + 0x3fd8]
mov byte [rax + 0xe8], 1
mov byte [rax + 0xea], 1
mov byte [rax + 0x108], 1
test r15b, 0x12
jne 0x1400498f2
and dword [rsi + 0x487c], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret