Function at 0x1401d6590
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r13
lea rbp, [rsp - 0x3f]
sub rsp, 0xb8
mov esi, edx
mov edi, edx
and esi, 0x1800000
mov r13, rcx
and edi, 0x700000
je 0x1401d65c2
test esi, esi
jne 0x1401d6b30
mov rcx, qword [0x1404e2e80]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x1401d65ee
mov dword [rcx + 0x49e8], 0
add rsp, 0xb8
pop r13
pop rdi
pop rsi
pop rbp
ret
mov r10, qword [rcx + 0x4038]
lea rdx, [0x140258f51]
mov qword [rsp + 0xe0], rbx
mov r8b, 0x63
mov qword [rsp + 0xa8], r14
lea r14, [0x1402546c0]
movsxd rcx, dword [r10 + 0x100]
mov rax, qword [r10 + 0x108]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
nop
cmp r8b, 0x23
jne 0x1401d6643
cmp byte [rdx], r8b
jne 0x1401d6643
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r14 + rcx*4]
test r8b, r8b
jne 0x1401d6630
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x1401d6680
lea r8, str.context
mov edx, ntohs
mov ecx, ebx
call fcn.140184ca0
mov ecx, ebx
call fcn.14018c530
test al, al
je 0x1401d6b20
mov qword [rsp + 0xa0], r15
mov r15, qword [0x1404e2e80]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
inc word [r15 + 0x5e66]
mov ebx, dword [r15 + 0x5ddc]
test edi, edi
jne 0x1401d6727
mov edx, ebx
lea rcx, [0x1402599fc]
shr edx, 0x14
and dl, 1
call fcn.1401d0580
test al, al
je 0x1401d66e3
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x140259a00]
shr edx, 0x15
and dl, 1
call fcn.1401d0580
test al, al
je 0x1401d6705
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x140259a04]
shr edx, 0x16
and dl, 1
call fcn.1401d0580
test al, al
je 0x1401d6727
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x1401d6774
test edi, edi
jne 0x1401d6734
call fcn.1401d88d0
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.1401d0580
test al, al
je 0x1401d6754
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.1401d0580
test al, al
je 0x1401d6774
btr ebx, 0x17
bts ebx, 0x18
movss xmm7, dword [0x14025d728]
test edi, edi
je 0x1401d6784
test esi, esi
jne 0x1401d67c6
mov rax, qword [0x1404e2e80]
mov rdx, qword [rax + 0x4038]
cmp byte [rdx + 0xc3], 0
jne 0x1401d67c6
mov r8d, dword [rdx + 0x1c4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1b8], 0
je 0x1401d67be
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.1401d0110
lea rdx, [rbp + 0x77]
mov dword [rbp + 0x77], 0xbf800000
xorps xmm6, xmm6
mov dword [rbp + 0x7b], 0
call fcn.1401d1280
test al, al
je 0x1401d67f0
lea rcx, str.Copy
call fcn.14018cb40
mov rcx, qword [0x1404e2e80]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x1401d6814
mov dword [rcx + 0x49e8], 0
jmp 0x1401d6af4
mov r11, qword [rcx + 0x4038]
lea r9, [0x1402542a1]
mov dl, 0x43
movsxd rcx, dword [r11 + 0x100]
mov rax, qword [r11 + 0x108]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edi, r10d
nop dword [rax]
cmp dl, 0x23
jne 0x1401d6852
cmp byte [r9], dl
jne 0x1401d6852
cmp byte [r9 + 1], dl
cmove edi, r10d
movzx ecx, dil
movzx eax, dl
movzx edx, byte [r9]
xor rcx, rax
shr edi, 8
inc r9
xor edi, dword [r14 + rcx*4]
test dl, dl
jne 0x1401d6840
mov rax, qword [r11]
not edi
cmp dword [rax + 0x4084], edi
jne 0x1401d688e
lea r8, str.Copy
mov edx, ntohs
mov ecx, edi
call fcn.140184ca0
mov ecx, edi
call fcn.14018c530
test al, al
je 0x1401d6af4
movss xmm3, dword [r13]
comiss xmm6, xmm3
mov qword [rsp + 0xb0], r12
jbe 0x1401d68b5
movaps xmm0, xmm6
jmp 0x1401d68bc
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm1, dword [0x14025d8d0]
movss xmm2, dword [0x14025d6e8]
movss xmm5, dword [r13 + 4]
comiss xmm6, xmm5
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r12d, xmm0
jbe 0x1401d68e9
movaps xmm0, xmm6
jmp 0x1401d68f0
movaps xmm0, xmm7
minss xmm0, xmm5
movss xmm4, dword [r13 + 8]
comiss xmm6, xmm4
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r14d, xmm0
jbe 0x1401d690d
movaps xmm0, xmm6
jmp 0x1401d6914
movaps xmm0, xmm7
minss xmm0, xmm4
and dword [rbp + 0x6f], 2
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si esi, xmm0
je 0x1401d692d
mov edi, 0xff
jmp 0x1401d694e
movss xmm0, dword [r13 + 0xc]
comiss xmm6, xmm0
ja 0x1401d693f
movaps xmm6, xmm7
minss xmm6, xmm0
mulss xmm6, xmm1
movaps xmm7, xmm0
addss xmm6, xmm2
cvttss2si edi, xmm6
xorps xmm0, xmm0
lea r8, str.__.3ff___.3ff___.3ff___.3ff_
cvtss2sd xmm0, xmm7
mov edx, 0x40
lea rcx, [rbp - 0x39]
cvtps2pd xmm1, xmm4
movsd qword [rsp + 0x30], xmm0
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm5
movsd qword [rsp + 0x28], xmm1
movq r9, xmm3
movsd qword [rsp + 0x20], xmm2
call fcn.1401a2110
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1401d72d0
test al, al
je 0x1401d69c5
mov rcx, qword [0x1404e2e80]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1401d69c5
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call rax
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x39]
mov r9d, r12d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.1401a2110
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1401d72d0
test al, al
je 0x1401d6a25
mov rcx, qword [0x1404e2e80]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1401d6a25
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call rax
mov dword [rsp + 0x28], esi
lea r8, [0x140258f80]
mov r9d, r12d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
lea rcx, [rbp - 0x39]
call fcn.1401a2110
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1401d72d0
test al, al
je 0x1401d6a81
mov rcx, qword [0x1404e2e80]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1401d6a81
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call rax
cmp dword [rbp + 0x6f], 0
jne 0x1401d6ae7
mov dword [rsp + 0x30], edi
lea r8, [0x140258f68]
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x39]
mov r9d, r12d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.1401a2110
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.1401d72d0
test al, al
je 0x1401d6ae7
mov rcx, qword [0x1404e2e80]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1401d6ae7
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call rax
call fcn.14018c470
mov r12, qword [rsp + 0xb0]
mov dword [r15 + 0x5ddc], ebx
call fcn.14018c470
dec word [r15 + 0x5e66]
mov r15, qword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rbx, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xa8]
add rsp, 0xb8
pop r13
pop rdi
pop rsi
pop rbp
ret