Function at 0x140008340
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r14
sub rsp, 0x40
mov rsi, qword [0x1400cd9e0]
xor ebx, ebx
mov r12d, ecx
mov r14, qword [rsi + 0x1b90]
test cl, 0x10
jne 0x1400085b2
mov edi, dword [r14 + 0x15c]
lea rax, [rsi + 0x1be8]
test edi, edi
je 0x140008389
cmp dword [rax], edi
jne 0x1400085ab
cmp byte [rsi + 0x128], bl
je 0x1400085ab
test edi, edi
jne 0x140008566
test r12b, 8
je 0x1400085ab
test byte [r14 + 0x160], 1
jne 0x1400083c6
cmp dword [rax], ebx
je 0x1400085ab
cmp qword [rsi + 0x1c18], r14
jne 0x1400085ab
mov qword [rsp + 0x60], rbp
lea rdx, [r14 + 0x164]
mov rcx, r14
mov qword [rsp + 0x68], r15
call fcn.1400149c0
mov dword [r14 + 0x15c], eax
mov edi, eax
mov rbp, qword [0x1400cd9e0]
mov eax, dword [rbp + 0x1bd4]
test eax, eax
je 0x140008409
cmp eax, edi
je 0x140008409
cmp byte [rbp + 0x1bdc], bl
je 0x140008551
mov rbx, qword [rbp + 0x1b90]
cmp qword [rbp + 0x1b98], rbx
jne 0x14000854f
mov eax, dword [rbp + 0x1be8]
test eax, eax
je 0x140008438
cmp eax, edi
je 0x140008438
cmp byte [rbp + 0x1bf5], 0
je 0x14000854f
lea rdx, [r14 + 0x16c]
mov r8b, 1
lea rcx, [r14 + 0x164]
call fcn.140016710
test al, al
je 0x14000854f
cmp byte [rbp + 0x1dc7], 0
jne 0x14000854f
xor edx, edx
mov rcx, rbx
call fcn.1400168e0
test al, al
je 0x140008548
test byte [rbx + 0x200], 4
jne 0x140008548
test edi, edi
je 0x140008529
mov rax, qword [0x1400cd9e0]
mov dword [rax + 0x1bd4], edi
mov byte [rax + 0x1bdc], 0
cmp dword [rax + 0x1bd8], edi
je 0x1400084b1
mov qword [rax + 0x1be0], 0
cmp byte [rbp + 0x3034], 0
je 0x140008520
cmp dword [rbp + 0x1bd8], edi
jne 0x140008520
mov rax, qword [0x1400cd9e0]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax + 0x1b90]
mov rcx, qword [rcx + 0x30]
call fcn.140015240
movss xmm0, dword [0x1400a7a04]
lea r8, [r14 + 0x16c]
movss dword [rsp + 0x30], xmm0
lea rdx, [r14 + 0x164]
xorps xmm1, xmm1
mov dword [rsp + 0x28], reloc.WS2_32.dll_ntohs
mov rcx, rax
movss dword [rsp + 0x20], xmm1
mov r9d, 0xff00ffff
call fcn.140028900
cmp dword [rbp + 0x3038], edi
jne 0x140008529
int3
cmp byte [rsi + 0x418], 0
mov bl, 1
je 0x140008551
mov rdx, r14
mov ecx, edi
call fcn.14001feb0
mov rcx, r14
call fcn.140014180
jmp 0x140008551
mov byte [rbp + 0x1bdd], 1
xor bl, bl
mov r15, qword [rsp + 0x68]
lea rax, [rsi + 0x1be8]
mov rbp, qword [rsp + 0x60]
cmp dword [rax], edi
jne 0x1400085ab
mov byte [rsi + 0x1bf5], bl
cmp dword [rax], edi
jne 0x1400085ab
movsxd rcx, dword [r14 + 0x108]
mov rax, qword [r14 + 0x110]
movss xmm1, dword [0x1400a8680]
mov ebx, dword [rax + rcx*4 - 4]
xor ecx, ecx
call fcn.1400166d0
mov qword [rsi + 0x1bfc], 0xffffffffffffffff
mov qword [rsi + 0x1c08], 0xffffffffffffffff
test al, al
jne 0x140008603
xor al, al
jmp 0x1400086a3
mov r9d, 0xffffffff
lea rdx, [0x1400a8141]
mov edi, r9d
lea r10, [0x1400a7a10]
xor r14d, r14d
mov r8b, 0x23
nop
cmp r8b, 0x23
jne 0x1400085e3
cmp byte [rdx], r8b
jne 0x1400085e3
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 0x1400085d0
not edi
cmp byte [rsi + 0x1ef4], 0
jne 0x140008644
call fcn.140009c50
mov dword [rsi + 0x1f14], edi
mov dword [rsi + 0x1f18], ebx
mov byte [rsi + 0x1ef4], 1
mov dword [rsi + 0x1ef8], r12d
mov dword [rsi + 0x1f00], 0
cmp edi, dword [rsi + 0x1be8]
jne 0x140008644
mov byte [rsi + 0x1bf6], 1
mov eax, dword [rsi + 0x1b18]
mov dword [rsi + 0x1efc], eax
mov byte [rsi + 0x1ef5], 1
test r12b, 1
jne 0x140008693
xor edx, edx
xor ecx, ecx
call fcn.1400088a0
cmp dword [rsi + 0x1f68], 0
je 0x140008693
test dword [rsi + 0x1f5c], 0x1000
je 0x140008693
mov rax, qword [rsi + 0x1b90]
mov byte [rax + 0xc4], 1
mov dword [rax + 0xdc], 1
test r12b, 0x12
jne 0x1400086a1
and dword [r14 + 0x160], 0xfffffffe
mov al, 1
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r12
pop rdi
ret