Function at 0x1400a7660
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rax, qword [0x1403295b8]
xor rax, rsp
mov qword [rsp + 0x60], rax
test r8d, r8d
jle 0x1400a7976
mov rsi, rdx
mov rdi, rcx
mov eax, r8d
mov qword [rsp + 0x38], rax
xor r13d, r13d
lea r14, [0x14025f0d0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
jmp 0x1400a76c8
xor eax, eax
mov qword [r12 + 0x88], rax
inc r13
cmp r13, qword [rsp + 0x38]
je 0x1400a7976
lea r15, [r13*8]
add r15, r13
mov edx, dword [rsi + r15*4]
test edx, edx
je 0x1400a76ba
mov rcx, rdi
call fcn.1400ab760
mov r12, rax
mov eax, dword [rsi + r15*4 + 4]
test eax, eax
je 0x1400a7780
mov rcx, qword [rdi + 0x6160]
movsxd rbp, dword [rdi + 0x6158]
test rbp, rbp
je 0x1400a775c
mov rdx, rcx
mov rsi, rbp
mov rdi, rbp
jmp 0x1400a7728
mov rsi, rdi
test rdi, rdi
je 0x1400a7750
shr rdi, 1
mov rbx, rdi
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x1400a7720
not rdi
add rdi, rsi
add rdx, rbx
add rdx, 0x10
jmp 0x1400a7720
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
jmp 0x1400a7761
xor ebp, ebp
mov rdx, rcx
shl rbp, 4
add rcx, rbp
cmp rdx, rcx
je 0x1400a7780
cmp dword [rdx], eax
jne 0x1400a7780
mov rax, qword [rdx + 8]
jmp 0x1400a7782
xor eax, eax
mov qword [r12 + 0x18], rax
movd xmm0, dword [rsi + r15*4 + 0x18]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movlps qword [r12 + 0x48], xmm0
movd xmm0, dword [rsi + r15*4 + 0x1c]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movlps qword [r12 + 0x50], xmm0
movd xmm0, dword [rsi + r15*4 + 0x20]
pshuflw xmm0, xmm0, 0x60
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movlps qword [r12 + 0x58], xmm0
mov ecx, dword [r12 + 0xc8]
mov edx, 0xfffffe00
and ecx, edx
or ecx, 0x49
mov dword [r12 + 0xc8], ecx
test rax, rax
je 0x1400a780f
cmp qword [rax + 0x20], 0
je 0x1400a7808
cmp qword [rax + 0x28], 0
jne 0x1400a780f
add rax, 0x28
jmp 0x1400a780c
add rax, 0x20
mov qword [rax], r12
mov eax, dword [rsi + r15*4 + 0xc]
mov dword [r12 + 0xbc], eax
movsx eax, byte [rsi + r15*4 + 0x10]
mov dword [r12 + 0x60], eax
mov eax, dword [rsi + 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 word [rax + rax]
mov rax, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x1400a7850
mov r9d, dword [rax]
mov edx, reloc.WS2_32.dll_sendto
lea rcx, [rsp + 0x40]
lea r8, str.DockNode__02X
call fcn.14007dfd0
movzx edx, byte [rsp + 0x40]
test dl, dl
je 0x1400a78e0
mov r8, rdi
mov eax, 0xffffffff
lea rcx, [rsp + 0x42]
mov edi, 0xffffffff
jmp 0x1400a78b8
movzx edx, dl
movzx ebp, al
shr eax, 8
xor ebp, edx
xor eax, dword [r14 + rbp*4]
inc rcx
mov edx, ebx
test bl, bl
je 0x1400a78d0
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x1400a78a0
cmp bl, 0x23
jne 0x1400a78a0
cmp byte [rcx], 0x23
cmove eax, edi
mov bl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x1400a78a0
not eax
mov rdi, r8
jmp 0x1400a78e2
xor eax, eax
mov rdx, qword [0x14032b510]
mov rcx, qword [rdx + 0x4128]
movsxd rbp, dword [rdx + 0x4120]
test rbp, rbp
je 0x1400a7950
mov rdx, rcx
mov rsi, rbp
mov rdi, rbp
jmp 0x1400a7918
mov rsi, rdi
test rdi, rdi
je 0x1400a7940
shr rdi, 1
mov rbx, rdi
shl rbx, 4
cmp dword [rdx + rbx], eax
jae 0x1400a7910
not rdi
add rdi, rsi
add rdx, rbx
add rdx, 0x10
jmp 0x1400a7910
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
jmp 0x1400a7955
xor ebp, ebp
mov rdx, rcx
shl rbp, 4
add rcx, rbp
cmp rdx, rcx
je 0x1400a76b0
cmp dword [rdx], eax
jne 0x1400a76b0
mov rax, qword [rdx + 8]
jmp 0x1400a76b2
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140141380
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret