Function at 0x140085e00
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, 0xd8
mov esi, edx
mov edi, edx
and esi, 0x1800000
mov r13, rcx
and edi, 0x700000
je 0x140085e32
test esi, esi
jne 0x1400863d5
mov rcx, qword [0x1401d82c8]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140085e5e
mov dword [rcx + 0x49e8], 0
add rsp, 0xd8
pop r13
pop rdi
pop rsi
pop rbp
ret
mov r10, qword [rcx + 0x4038]
lea rdx, [0x14011e3e9]
mov qword [rsp + 0x100], rbx
mov r8b, 0x63
mov qword [rsp + 0xc0], r15
lea r15, [0x1401184e0]
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 0x140085eb3
cmp byte [rdx], r8b
jne 0x140085eb3
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 [r15 + rcx*4]
test r8b, r8b
jne 0x140085ea0
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x4084], ebx
jne 0x140085ef0
lea r8, str.context
mov edx, 0xb
mov ecx, ebx
call fcn.14005a5b0
mov ecx, ebx
call fcn.1400542e0
test al, al
je 0x1400863c5
mov qword [rsp + 0xc8], r14
mov r14, qword [0x1401d82c8]
vmovaps xmmword [rsp + 0xb0], xmm6
inc word [r14 + 0x5e66]
mov ebx, dword [r14 + 0x5ddc]
test edi, edi
jne 0x140085f90
mov edx, ebx
lea rcx, [0x14011e8a8]
shr edx, 0x14
and dl, 1
call fcn.14007a5a0
test al, al
je 0x140085f4c
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x14011e8a4]
shr edx, 0x15
and dl, 1
call fcn.14007a5a0
test al, al
je 0x140085f6e
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x14011e8b4]
shr edx, 0x16
and dl, 1
call fcn.14007a5a0
test al, al
je 0x140085f90
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x140085fdd
test edi, edi
jne 0x140085f9d
call fcn.14007b0e0
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.14007a5a0
test al, al
je 0x140085fbd
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.14007a5a0
test al, al
je 0x140085fdd
btr ebx, 0x17
bts ebx, 0x18
test edi, edi
je 0x140085fe5
test esi, esi
jne 0x140086024
mov rax, qword [0x1401d82c8]
mov rdx, qword [rax + 0x4038]
cmp byte [rdx + 0xc3], 0
jne 0x140086024
mov r8d, dword [rdx + 0x1c4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1b8], 0
je 0x14008601f
neg r8d
sbb ecx, ecx
add ecx, 6
call fcn.14007ace0
vmovss xmm0, dword [0x14011f268]
vxorps xmm6, xmm6, xmm6
lea rdx, [rbp + 0x77]
vmovss dword [rbp + 0x77], xmm0
vmovss dword [rbp + 0x7b], xmm6
call fcn.1400792d0
test al, al
je 0x140086053
lea rcx, str.Copy
call fcn.140053ce0
mov rcx, qword [0x1401d82c8]
mov eax, dword [rcx + 0x4ad0]
cmp dword [rcx + 0x4ac0], eax
jg 0x140086077
mov dword [rcx + 0x49e8], 0
jmp 0x1400863a0
mov r11, qword [rcx + 0x4038]
lea r9, [0x1401180a1]
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
cmp dl, 0x23
jne 0x1400860b2
cmp byte [r9], dl
jne 0x1400860b2
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 [r15 + rcx*4]
test dl, dl
jne 0x1400860a0
mov rax, qword [r11]
not edi
cmp dword [rax + 0x4084], edi
jne 0x1400860ee
lea r8, str.Copy
mov edx, 0xb
mov ecx, edi
call fcn.14005a5b0
mov ecx, edi
call fcn.1400542e0
test al, al
je 0x1400863a0
vmovss xmm1, dword [0x14011f014]
mov qword [rsp + 0xd0], r12
vmovaps xmmword [rsp + 0xa0], xmm7
vmovss xmm7, dword [r13]
vcomiss xmm7, xmm6
vmovaps xmmword [rsp + 0x90], xmm8
vmovaps xmmword [rsp + 0x80], xmm9
jae 0x14008613a
vmovaps xmm2, xmm6
jmp 0x14008613e
vminss xmm2, xmm7, xmm1
vmovss xmm3, dword [0x14011f1bc]
vmovss xmm4, dword [0x14011efc0]
vmovss xmm8, dword [r13 + 4]
vcomiss xmm8, xmm6
vmovaps xmm0, xmm3
vfmadd213ss xmm0, xmm2, xmm4
vcvttss2si r12d, xmm0
jae 0x14008616d
vmovaps xmm2, xmm6
jmp 0x140086171
vminss xmm2, xmm8, xmm1
vmovss xmm9, dword [r13 + 8]
vcomiss xmm9, xmm6
vmovaps xmm0, xmm3
vfmadd213ss xmm0, xmm2, xmm4
vcvttss2si r15d, xmm0
jae 0x140086190
vmovaps xmm2, xmm6
jmp 0x140086194
vminss xmm2, xmm9, xmm1
and dword [rbp + 0x6f], 2
vmovaps xmm0, xmm3
vfmadd213ss xmm0, xmm2, xmm4
vcvttss2si esi, xmm0
je 0x1400861ae
mov edi, 0xff
jmp 0x1400861d5
vmovss xmm2, dword [r13 + 0xc]
vcomiss xmm2, xmm6
jae 0x1400861c0
vmovaps xmm5, xmm6
jmp 0x1400861c4
vminss xmm5, xmm2, xmm1
vmovaps xmm0, xmm3
vfmadd213ss xmm0, xmm5, xmm4
vcvttss2si edi, xmm0
vmovaps xmm1, xmm2
vcvtss2sd xmm0, xmm1, xmm1
vmovsd qword [rsp + 0x30], xmm0
vcvtss2sd xmm1, xmm9, xmm9
vcvtss2sd xmm3, xmm7, xmm7
vcvtss2sd xmm2, xmm8, xmm8
vmovsd qword [rsp + 0x28], xmm1
vmovq r9, xmm3
lea r8, str.__.3ff___.3ff___.3ff___.3ff_
mov edx, 0x40
lea rcx, [rbp - 0x59]
vmovsd qword [rsp + 0x20], xmm2
call fcn.140041d10
lea r9, [rbp + 0x77]
xor edx, edx
lea rcx, [rbp - 0x59]
vmovss dword [rbp + 0x77], xmm6
vmovss dword [rbp + 0x7b], xmm6
call fcn.1400867c0
vmovaps xmm9, xmmword [rsp + 0x80]
vmovaps xmm8, xmmword [rsp + 0x90]
vmovaps xmm7, xmmword [rsp + 0xa0]
test al, al
je 0x14008626b
mov rcx, qword [0x1401d82c8]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x14008626b
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x59]
call rax
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x59]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
call fcn.140041d10
lea r9, [rbp + 0x77]
xor edx, edx
lea rcx, [rbp - 0x59]
vmovss dword [rbp + 0x77], xmm6
vmovss dword [rbp + 0x7b], xmm6
call fcn.1400867c0
test al, al
je 0x1400862cd
mov rcx, qword [0x1401d82c8]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1400862cd
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x59]
call rax
mov dword [rsp + 0x28], esi
lea r8, [0x14011e400]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
lea rcx, [rbp - 0x59]
call fcn.140041d10
lea r9, [rbp + 0x77]
xor edx, edx
lea rcx, [rbp - 0x59]
vmovss dword [rbp + 0x77], xmm6
vmovss dword [rbp + 0x7b], xmm6
call fcn.1400867c0
test al, al
je 0x14008632b
mov rcx, qword [0x1401d82c8]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x14008632b
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x59]
call rax
cmp dword [rbp + 0x6f], 0
jne 0x140086393
mov dword [rsp + 0x30], edi
lea r8, [0x14011e730]
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x59]
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x40
call fcn.140041d10
lea r9, [rbp + 0x77]
xor edx, edx
lea rcx, [rbp - 0x59]
vmovss dword [rbp + 0x77], xmm6
vmovss dword [rbp + 0x7b], xmm6
call fcn.1400867c0
test al, al
je 0x140086393
mov rcx, qword [0x1401d82c8]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x140086393
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x59]
call rax
call fcn.140054370
mov r12, qword [rsp + 0xd0]
mov dword [r14 + 0x5ddc], ebx
call fcn.140054370
dec word [r14 + 0x5e66]
mov r14, qword [rsp + 0xc8]
vmovaps xmm6, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0x100]
mov r15, qword [rsp + 0xc0]
add rsp, 0xd8
pop r13
pop rdi
pop rsi
pop rbp
ret