Function at 0x1400ccc90
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov r13, rdx
mov r14, qword [0x140338a78]
mov rax, qword [r14 + 0x3ed8]
mov byte [rax + 0x98], 1
mov rbx, qword [r14 + 0x3ed8]
mov qword [rsp + 0x48], rbx
cmp byte [rbx + 0x9b], 0
je 0x1400ccd0b
xor al, al
jmp 0x1400cd5a8
movss xmm6, dword [r14 + 0x3838]
addss xmm6, xmm6
addss xmm6, dword [r14 + 0x3c38]
movaps xmm11, xmm6
addss xmm11, dword [r14 + 0x384c]
lea rdi, [0x1400fbc18]
mov rsi, rdi
cmp rdi, 0xffffffffffffffff
jae 0x1400ccd5d
nop
movzx ecx, byte [rsi]
test cl, cl
je 0x1400ccd5d
lea rax, [rsi + 1]
cmp cl, 0x23
jne 0x1400ccd54
cmp byte [rax], cl
je 0x1400ccd5d
mov rsi, rax
cmp rax, 0xffffffffffffffff
jb 0x1400ccd40
xor r15d, r15d
mov dword [r14 + 0x3f8c], r15d
call fcn.14009c220
mov rcx, rdi
call fcn.14009d700
mov r12d, dword [r14 + 0x52f4]
and r12d, 0xff9fffff
or r12d, 0x110268
mov ecx, r12d
shr ecx, 1
not cl
movss xmm10, dword [0x1402d3eac]
and cl, 1
mov dword [rbp + 0x67], ecx
movss xmm3, dword [r13]
movss dword [rsp + 0x38], xmm3
movss xmm1, dword [r13 + 4]
movss dword [rsp + 0x3c], xmm1
movss xmm2, dword [r13 + 8]
movss dword [rsp + 0x40], xmm2
je 0x1400ccdcd
movss xmm0, dword [r13 + 0xc]
jmp 0x1400ccdd1
movaps xmm0, xmm10
movss dword [rsp + 0x44], xmm0
mov eax, r12d
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1400cce22
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
movaps xmm0, xmm3
call fcn.1400a7660
movss xmm0, dword [rsp + 0x44]
movss xmm2, dword [rsp + 0x40]
movss xmm1, dword [rsp + 0x3c]
movss xmm3, dword [rsp + 0x38]
mov ecx, dword [rbp + 0x67]
xorps xmm4, xmm4
movss xmm7, dword [0x1402d4084]
movss xmm5, dword [0x1402d3e6c]
comiss xmm3, xmm4
jb 0x1400cce40
movaps xmm9, xmm5
jmp 0x1400cce44
movaps xmm9, xmm7
movss xmm8, dword [0x1402d401c]
mulss xmm3, xmm8
addss xmm3, xmm9
cvttss2si eax, xmm3
mov dword [rbp - 0x69], eax
comiss xmm1, xmm4
jb 0x1400cce68
movaps xmm3, xmm5
jmp 0x1400cce6b
movaps xmm3, xmm7
mulss xmm1, xmm8
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x65], eax
comiss xmm2, xmm4
jb 0x1400cce85
movaps xmm1, xmm5
jmp 0x1400cce88
movaps xmm1, xmm7
mulss xmm2, xmm8
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x61], eax
comiss xmm0, xmm4
jae 0x1400ccea0
movaps xmm5, xmm7
mulss xmm0, xmm8
addss xmm0, xmm5
cvttss2si eax, xmm0
mov dword [rbp - 0x5d], eax
xor al, al
mov byte [rbp + 0x77], al
movss xmm7, dword [rbx + 0xe0]
movss xmm1, dword [rbx + 0xe4]
cmp dword [r14 + 0x388c], r15d
jne 0x1400cced2
movaps xmm4, xmm11
movaps xmm0, xmm7
addss xmm0, xmm4
movss dword [rbx + 0xe0], xmm0
mov qword [rbp + 0x7f], r15
movss xmm8, dword [0x1402d3f1c]
test r12b, 0x10
jne 0x1400cd155
movss dword [rbx + 0xe0], xmm7
movss dword [rbx + 0xe4], xmm1
test cl, cl
je 0x1400ccf14
movss xmm3, dword [r13 + 0xc]
jmp 0x1400ccf18
movaps xmm3, xmm10
movss xmm2, dword [r13 + 8]
movss xmm1, dword [r13 + 4]
movss xmm0, dword [r13]
movss dword [rbp - 0x79], xmm0
movss dword [rbp - 0x75], xmm1
movss dword [rbp - 0x71], xmm2
movss dword [rbp - 0x6d], xmm3
call fcn.14009c450
addss xmm0, dword [0x1402d3f84]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x34], 0xc1000000
mov qword [rsp + 0x38], 0x41c80000
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov r8d, r12d
lea rdx, [rbp - 0x79]
call fcn.1400cab90
test al, al
je 0x1400ccfeb
test r12b, 4
jne 0x1400ccfeb
movups xmm0, xmmword [rbp - 0x79]
movups xmmword [r14 + 0x5304], xmm0
lea rcx, [0x1402d39dc]
call fcn.14009b300
movss xmm1, dword [r14 + 0x3fb8]
addss xmm1, dword [r14 + 0x3848]
movss xmm0, dword [r14 + 0x3fac]
mov rax, qword [0x140338a78]
or dword [rax + 0x3fe0], 1
movss dword [rax + 0x3ff0], xmm0
movss dword [rax + 0x3ff4], xmm1
mov qword [rax + 0x3ff8], r15
mov dword [rax + 0x3fe4], 1
jmp 0x1400ccff2
mov rax, qword [0x140338a78]
or dword [rax + 0x3fe0], 2
mov dword [rax + 0x4000], 0x43660000
mov dword [rax + 0x4004], 0x43520000
mov dword [rax + 0x3fe8], 1
movaps xmm1, xmm8
mov ecx, 9
call fcn.1400a6b60
mov dword [rsp + 0x38], 0x41200000
mov dword [rsp + 0x3c], 0x41200000
lea rdx, [rsp + 0x38]
mov ecx, 2
call fcn.1400acf10
movdqa xmm0, xmmword [0x1402d4540]
movups xmmword [rsp + 0x38], xmm0
lea rcx, [rsp + 0x38]
call fcn.1400ad100
mov edx, eax
mov ecx, 4
call fcn.1400a6cd0
lea rcx, [0x1402d39dc]
call fcn.14009ac50
test al, al
je 0x1400cd115
mov rax, qword [r14 + 0x3ed8]
cmp word [rax + 0xa2], 1
jne 0x1400cd110
mov qword [rbp + 0x7f], rax
mov rdx, qword [0x140338a78]
mov rax, qword [rdx + 0x3ed8]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3ed8]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
addss xmm0, dword [0x1402d3f8c]
movss dword [rax + 0xe4], xmm0
maxss xmm0, dword [rax + 0xfc]
movss dword [rax + 0xfc], xmm0
or dword [rdx + 0x3f8c], 1
mulss xmm6, dword [0x1402d3f68]
movss dword [rdx + 0x3f90], xmm6
lea r9, [r14 + 0x5304]
mov r8d, 0x750080
mov rdx, r13
lea rcx, str.picker
call fcn.1400cb4b0
mov byte [rbp + 0x77], al
call fcn.14009abf0
mov ecx, 2
call fcn.1400aa5b0
mov r8, qword [0x140338a78]
movsxd rcx, dword [r8 + 0x4050]
lea rdx, [rcx + rcx*4]
mov rcx, qword [r8 + 0x4058]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
movups xmmword [r8 + rax*8 + 0x38cc], xmm0
dec dword [r8 + 0x4050]
mov rcx, rdi
call fcn.14009d5f0
mov edi, eax
mov eax, dword [0x140339bc4]
test al, 1
jne 0x1400cd1af
or eax, 1
mov dword [0x140339bc4], eax
mov qword [0x140339bd8], r15
mov qword [0x140339be0], r15
mov ecx, Ordinal_41
call fcn.14007a418
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x140339bd8], rax
lea rcx, [0x1400eb1f0]
call fcn.14007a67c
nop
mov r15, qword [0x140339bd8]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x1400cd1da
cmp dword [rax + 0x1c], edi
jae 0x1400cd1ce
mov rax, qword [rax + 0x10]
jmp 0x1400cd1d4
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400cd1c3
cmp byte [rbx + 0x19], 0
jne 0x1400cd1e5
cmp edi, dword [rbx + 0x1c]
jae 0x1400cd1e8
mov rbx, r15
cmp rbx, r15
jne 0x1400cd2db
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], 0
mov rax, qword [r15 + 8]
mov qword [rbp - 0x59], rax
xor edx, edx
mov dword [rbp - 0x51], edx
mov rcx, r15
cmp byte [rax + 0x19], dl
jne 0x1400cd236
mov qword [rbp - 0x59], rax
cmp dword [rax + 0x1c], edi
jae 0x1400cd224
mov dword [rbp - 0x51], edx
mov rax, qword [rax + 0x10]
jmp 0x1400cd231
mov dword [rbp - 0x51], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], dl
je 0x1400cd212
cmp byte [rcx + 0x19], dl
jne 0x1400cd240
cmp edi, dword [rcx + 0x1c]
jae 0x1400cd2a9
movabs rax, 0x666666666666666
cmp qword [0x140339be0], rax
je 0x1400cd5e1
lea rbx, [0x140339bd8]
mov qword [rbp - 0x79], rbx
mov qword [rbp - 0x71], rdx
mov ecx, Ordinal_41
call fcn.14007a418
nop
mov rdx, qword [rsp + 0x38]
mov qword [rax + 0x1c], rdx
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rax + 0x10], r15
mov word [rax + 0x18], 0
movups xmm0, xmmword [rbp - 0x59]
movaps xmmword [rbp - 0x79], xmm0
mov r8, rax
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.14000a720
mov r15, qword [0x140339bd8]
mov rax, qword [r15 + 8]
mov rbx, r15
cmp byte [rax + 0x19], 0
jne 0x1400cd2cd
cmp dword [rax + 0x1c], edi
jae 0x1400cd2c1
mov rax, qword [rax + 0x10]
jmp 0x1400cd2c7
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400cd2b6
cmp byte [rbx + 0x19], 0
jne 0x1400cd2d8
cmp edi, dword [rbx + 0x1c]
jae 0x1400cd2db
mov rbx, r15
mov r10, qword [0x140338a78]
subss xmm10, dword [r10 + 0x18]
mov rax, qword [r10 + 0x3ed8]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
lea rdx, [0x1402d39dd]
mov r8b, reloc.WS2_32.dll_WSASetLastError
lea r11, [0x140104d10]
nop dword [rax]
cmp r8b, 0x23
jne 0x1400cd333
cmp byte [rdx], r8b
jne 0x1400cd333
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
xor rcx, rax
shr edi, 8
xor edi, dword [r11 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x1400cd320
not edi
cmp dword [r10 + 0x3f0c], edi
jne 0x1400cd376
lea r8, [0x1402d39dc]
mov edx, ntohl
mov ecx, edi
call fcn.140094550
mov r10, qword [0x140338a78]
movsxd rax, dword [r10 + 0x40c0]
cmp dword [r10 + 0x40b0], eax
jle 0x1400cd3a0
imul rcx, rax, 0x38
mov rax, qword [r10 + 0x40b8]
cmp dword [rcx + rax], edi
jne 0x1400cd3a0
movss xmm1, dword [0x1402d3e90]
jmp 0x1400cd3a8
movss xmm1, dword [0x1402d3e4c]
subss xmm1, dword [rbx + 0x20]
mulss xmm1, xmm10
mulss xmm1, dword [0x1402d3e28]
addss xmm1, dword [rbx + 0x20]
movss dword [rbx + 0x20], xmm1
lea rax, [0x1400fbc18]
cmp rax, rsi
je 0x1400cd4a8
test r12b, r12b
js 0x1400cd4a8
movss xmm1, dword [r14 + 0x384c]
call fcn.1400aa380
addss xmm11, xmm7
mov rax, qword [rsp + 0x48]
movss dword [rax + 0xe0], xmm11
mov rax, qword [r10 + 0x3ed8]
movss xmm6, dword [rax + 0xe0]
movss xmm1, dword [rax + 0x18]
movss xmm5, dword [rax + 0xe4]
movss xmm4, dword [rax + 0x1c]
movss xmm0, dword [rax + 0x64]
movss xmm3, dword [rax + 0x68]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ed8]
subss xmm6, xmm1
addss xmm6, xmm0
subss xmm6, dword [0x1402d3fb0]
movss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x64]
addss xmm6, xmm0
movss xmm2, dword [rax + 0x1c]
subss xmm2, dword [rax + 0x68]
subss xmm5, xmm4
addss xmm5, xmm3
subss xmm5, xmm8
addss xmm2, xmm5
movss dword [rax + 0xe0], xmm6
movss dword [rax + 0xe4], xmm2
movss xmm1, dword [rax + 0xf8]
maxss xmm1, xmm6
movss xmm0, dword [rax + 0xfc]
maxss xmm0, xmm2
movss dword [rax + 0xf8], xmm1
movss dword [rax + 0xfc], xmm0
movzx edi, byte [rbp + 0x77]
mov rbx, qword [rbp + 0x7f]
test dil, dil
je 0x1400cd54c
test rbx, rbx
jne 0x1400cd54c
movdqu xmm0, xmmword [rbp - 0x69]
cvtdq2ps xmm1, xmm0
mulps xmm1, xmmword [0x1402d42f0]
movups xmmword [rsp + 0x38], xmm1
and r12d, 0x10100000
cmp r12d, 0x10100000
jne 0x1400cd516
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
movss xmm2, dword [rsp + 0x40]
movss xmm1, dword [rsp + 0x3c]
movss xmm0, dword [rsp + 0x38]
call fcn.1400a7820
movss xmm0, dword [rsp + 0x38]
movss dword [r13], xmm0
movss xmm1, dword [rsp + 0x3c]
movss dword [r13 + 4], xmm1
movss xmm0, dword [rsp + 0x40]
movss dword [r13 + 8], xmm0
cmp byte [rbp + 0x67], 0
je 0x1400cd54c
movss xmm0, dword [rsp + 0x44]
movss dword [r13 + 0xc], xmm0
mov rax, qword [r10 + 0x3ed8]
dec dword [rax + 0xd0]
call fcn.14009bf20
test rbx, rbx
je 0x1400cd57e
mov eax, dword [r14 + 0x3f24]
test eax, eax
je 0x1400cd57e
cmp qword [r14 + 0x3f40], rbx
jne 0x1400cd57e
mov dword [r14 + 0x3fa0], eax
test dil, dil
je 0x1400cd5a4
cmp dword [r14 + 0x3fa0], 0
je 0x1400cd5a4
mov rax, qword [0x140338a78]
mov word [rax + 0x3f34], 0x101
or dword [rax + 0x3fa8], 4
movzx eax, dil
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140002c70
int3