Function at 0x14008f2e0
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
lea rax, [rcx + 0x108]
mov qword [rbp - 0x18], rax
lea rax, [rcx + 0x2b8]
mov qword [rbp - 0x10], rax
add rcx, 8
mov r8d, 0x400
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 8], rbx
mov qword [rbx], rdi
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
inc rdi
mov rdx, qword [0x140186d60]
mov rcx, rdi
call qword [0x14017f688]
mov rbx, rax
mov rax, qword [0x140186d50]
test rax, rax
je 0x14008f3f0
mov ecx, dword [rax + 0x3fc0]
movsx rdx, word [rax + 0x6228]
cmp dword [rax + rdx*8 + 0x622c], ecx
jne 0x14008f391
lea rdx, [rax + rdx*8]
add rdx, 0x622c
cmp rdi, 0xffffffffffffffff
je 0x14008f3e4
add rax, 0x6220
inc word [rdx + 4]
jmp 0x14008f3ee
inc edx
movsxd rdx, edx
imul r8, rdx, 0x2aaaaaab
mov r9, r8
shr r9, 0x3f
shr r8, 0x20
add r8d, r9d
add r8d, r8d
lea r8d, [r8 + r8*2]
sub edx, r8d
mov word [rax + 0x6228], dx
movsxd r8, edx
lea rdx, [rax + r8*8]
add rdx, 0x622c
mov dword [rax + r8*8 + 0x622c], ecx
mov dword [rax + r8*8 + 0x6230], 0
cmp rdi, 0xffffffffffffffff
jne 0x14008f385
inc word [rdx + 6]
add rax, 0x6224
inc dword [rax]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rbp - 8]
mov qword [rdi + 8], rbx
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
inc eax
mov dword [rdi + 0x88], eax
movzx eax, byte [rsi]
test al, al
je 0x14008f476
add rsi, 2
mov edx, 0xffffffff
lea r8, [0x140109410]
mov ecx, 0xffffffff
jmp 0x14008f459
movzx r9d, r9b
movzx r10d, cl
shr ecx, 8
xor r10d, r9d
xor ecx, dword [r8 + r10*4]
inc rsi
test al, al
je 0x14008f472
mov r9d, eax
movzx eax, byte [rsi - 1]
cmp r9b, 0x23
jne 0x14008f440
cmp al, 0x23
jne 0x14008f440
cmp byte [rsi], 0x23
cmove ecx, edx
jmp 0x14008f440
not ecx
jmp 0x14008f478
xor ecx, ecx
lea rdx, [rdi + 0x10]
mov dword [rdi + 0x10], ecx
mov rcx, qword [rbp - 0x18]
call fcn.140087e50
cmp byte [0x140187352], 1
jne 0x14008f49b
movzx r11d, byte [0x14018734c]
jmp 0x14008f4b8
mov dword [0x14018734c], 0x564f4d23
mov word [0x140187350], 0x45
mov byte [0x140187352], 1
mov r11b, 0x23
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 0x110]
movsxd rdx, dword [rax + 0x108]
mov esi, dword [rcx + rdx*4 - 4]
test r11b, r11b
je 0x14008f52e
not esi
lea rcx, [0x14018734e]
lea rdx, [0x140109410]
mov r8d, esi
jmp 0x14008f50b
movzx r9d, r9b
movzx r10d, r8b
shr r8d, 8
xor r10d, r9d
xor r8d, dword [rdx + r10*4]
inc rcx
test r11b, r11b
je 0x14008f528
mov r9d, r11d
movzx r11d, byte [rcx - 1]
cmp r9b, 0x23
jne 0x14008f4f0
cmp r11b, 0x23
jne 0x14008f4f0
cmp byte [rcx], 0x23
cmove r8d, esi
jmp 0x14008f4f0
not r8d
mov esi, r8d
mov rdx, qword [rax]
cmp dword [rdx + 0x40cc], esi
jne 0x14008f556
lea r8, [0x14018734c]
mov ecx, esi
mov edx, recv
xor r9d, r9d
call fcn.1400a3d50
mov rax, qword [rbp - 8]
mov rdx, qword [rax]
mov dword [rax + 0x8c], esi
movaps xmm0, xmmword [0x1401150d0]
movups xmmword [rax + 0xa8], xmm0
mov word [rax + 0xe2], 0xffff
mov dword [rax + 0xe8], 0xffffffff
movzx ecx, byte [rax + 0xf3]
shl ecx, 0x18
mov dword [rax + 0xf0], ecx
movaps xmm0, xmmword [0x1401150e0]
movups xmmword [rax + 0xf4], xmm0
movabs rcx, 0xbf800000ffffffff
mov qword [rax + 0x278], rcx
movabs rcx, 0xffffffff3f800000
mov qword [rax + 0x2a8], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rax + 0x2b0], rcx
add rdx, 0x3da0
mov qword [rax + 0x2f0], rdx
mov rcx, qword [rax + 8]
mov qword [rax + 0x378], rcx
movups xmmword [rax + 0x3e8], xmm0
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop rbp
ret