Function at 0x14005c3d0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, qword [0x1401129a8]
xor rax, rsp
mov qword [rsp + 0x50], rax
test r8d, r8d
jle 0x14005c6e6
mov r13, rdx
mov rsi, rcx
mov eax, r8d
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov qword [rsp + 0x20], rcx
jmp 0x14005c429
xor eax, eax
mov qword [r12 + 0x88], rax
add r14, 1
cmp r14, qword [rsp + 0x28]
je 0x14005c6e6
lea r15, [r14 + r14*8]
mov edx, dword [r13 + r15*4]
test edx, edx
je 0x14005c41a
mov rcx, rsi
call fcn.1400611b0
mov r12, rax
mov eax, dword [r13 + r15*4 + 4]
test eax, eax
je 0x14005c4d0
mov rcx, qword [rsi + 0x6198]
movsxd rbp, dword [rsi + 0x6190]
test rbp, rbp
je 0x14005c4a7
mov rdx, rcx
mov rsi, rbp
mov rdi, rbp
jmp 0x14005c478
mov rsi, rdi
test rdi, rdi
je 0x14005c4a0
shr rdi, 1
mov rbx, rdi
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x14005c470
not rdi
add rdi, rsi
add rdx, rbx
add rdx, 0x10
jmp 0x14005c470
mov rsi, qword [rsp + 0x20]
jmp 0x14005c4ac
xor ebp, ebp
mov rdx, rcx
shl rbp, 4
add rcx, rbp
cmp rdx, rcx
je 0x14005c4d0
cmp dword [rdx], eax
jne 0x14005c4d0
mov rax, qword [rdx + 8]
jmp 0x14005c4d2
xor eax, eax
mov qword [r12 + 0x18], rax
movsx ecx, word [r13 + r15*4 + 0x1a]
cvtsi2ss xmm0, ecx
movsx ecx, word [r13 + r15*4 + 0x18]
cvtsi2ss xmm1, ecx
movss dword [r12 + 0x48], xmm1
movss dword [r12 + 0x4c], xmm0
movsx ecx, word [r13 + r15*4 + 0x1e]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movsx ecx, word [r13 + r15*4 + 0x1c]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movss dword [r12 + 0x50], xmm1
movss dword [r12 + 0x54], xmm0
movsx ecx, word [r13 + r15*4 + 0x22]
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movsx ecx, word [r13 + r15*4 + 0x20]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movss dword [r12 + 0x58], xmm1
movss dword [r12 + 0x5c], xmm0
mov ecx, dword [r12 + 0xc8]
mov edx, 0xfffffe00
and ecx, edx
or ecx, 0x49
mov dword [r12 + 0xc8], ecx
test rax, rax
je 0x14005c583
cmp qword [rax + 0x20], 0
je 0x14005c57c
cmp qword [rax + 0x28], 0
jne 0x14005c583
add rax, 0x28
jmp 0x14005c580
add rax, 0x20
mov qword [rax], r12
mov eax, dword [r13 + r15*4 + 0xc]
mov dword [r12 + 0xbc], eax
movsx eax, byte [r13 + r15*4 + 0x10]
mov dword [r12 + 0x60], eax
mov eax, dword [r13 + r15*4 + 0x14]
mov ecx, 0x3fc20
and eax, ecx
mov dword [r12 + 8], eax
or eax, dword [r12 + 4]
or eax, dword [r12 + 0xc]
mov dword [r12 + 0x10], eax
mov rcx, r12
nop
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14005c5c0
mov r9d, dword [rax]
mov edx, setsockopt
lea rcx, [rsp + 0x30]
lea r8, str.DockNode__02X
call fcn.140030960
mov dl, byte [rsp + 0x30]
test dl, dl
je 0x14005c650
mov r8, rsi
mov eax, 0xffffffff
lea rcx, [rsp + 0x32]
mov edi, 0xffffffff
lea rsi, [0x1400d97e0]
jmp 0x14005c628
movzx edx, dl
movzx ebp, al
shr eax, 8
xor ebp, edx
xor eax, dword [rsi + rbp*4]
add rcx, 1
mov edx, ebx
test bl, bl
je 0x14005c640
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x14005c610
cmp bl, 0x23
jne 0x14005c610
cmp byte [rcx], 0x23
cmove eax, edi
mov bl, 0x23
jmp 0x14005c610
not eax
mov rsi, r8
jmp 0x14005c652
xor eax, eax
mov rdx, qword [0x140114180]
mov rcx, qword [rdx + 0x4168]
movsxd rbp, dword [rdx + 0x4160]
test rbp, rbp
je 0x14005c6c0
mov rdx, rcx
mov rsi, rbp
mov rdi, rbp
jmp 0x14005c688
mov rsi, rdi
test rdi, rdi
je 0x14005c6b0
shr rdi, 1
mov rbx, rdi
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x14005c680
not rdi
add rdi, rsi
add rdx, rbx
add rdx, 0x10
jmp 0x14005c680
mov rsi, qword [rsp + 0x20]
jmp 0x14005c6c5
xor ebp, ebp
mov rdx, rcx
shl rbp, 4
add rcx, rbp
cmp rdx, rcx
je 0x14005c410
cmp dword [rdx], eax
jne 0x14005c410
mov rax, qword [rdx + 8]
jmp 0x14005c412
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400a0150
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret