Function at 0x180054520
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xc0
mov esi, edx
mov edi, edx
and esi, 0x1800000
mov r13d, edx
mov r12, rcx
and edi, 0x700000
je 0x180054554
test esi, esi
jne 0x180054ad3
mov r10, qword [0x180093dd8]
mov eax, dword [r10 + 0x1c50]
cmp dword [r10 + 0x1c40], eax
jg 0x180054585
mov dword [r10 + 0x1b90], 0
add rsp, 0xc0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [r10 + 0x1af0]
lea r8, [0x1800891e9]
mov qword [rsp + 0xb8], r14
mov r9b, 0x63
lea r14, [0x180083d00]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r11d, dword [rax + rcx*4 - 4]
not r11d
mov edx, r11d
nop
cmp r9b, 0x23
jne 0x1800545d3
cmp byte [r8], r9b
jne 0x1800545d3
cmp byte [r8 + 1], r9b
cmove edx, r11d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
mov eax, edx
inc r8
shr eax, 8
mov edx, dword [r14 + rcx*4]
xor edx, eax
test r9b, r9b
jne 0x1800545c0
not edx
cmp dword [r10 + 0x1b38], edx
jne 0x180054606
mov dword [r10 + 0x1b3c], edx
cmp dword [r10 + 0x1b78], edx
jne 0x180054617
mov byte [r10 + 0x1b7c], 1
mov ecx, edx
call fcn.1800317c0
test al, al
je 0x180054acb
mov rax, qword [0x180093dd8]
mov qword [rsp + 0xf0], rbx
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rbp + 0x7f], rax
mov ebx, dword [rax + 0x2f78]
test edi, edi
jne 0x1800546b1
mov edx, ebx
lea rcx, [0x18008937c]
shr edx, 0x14
and dl, 1
call fcn.180048ff0
test al, al
je 0x18005466d
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x180089380]
shr edx, 0x15
and dl, 1
call fcn.180048ff0
test al, al
je 0x18005468f
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x180089384]
shr edx, 0x16
and dl, 1
call fcn.180048ff0
test al, al
je 0x1800546b1
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x180054722
test edi, edi
jne 0x1800546e2
mov rax, qword [0x180093dd8]
mov rcx, qword [rax + 0x1af0]
cmp byte [rcx + 0x83], dil
jne 0x1800546e2
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180049530
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.180048ff0
test al, al
je 0x180054702
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.180048ff0
test al, al
je 0x180054722
btr ebx, 0x17
bts ebx, 0x18
test edi, edi
je 0x18005472a
test esi, esi
jne 0x180054753
mov rax, qword [0x180093dd8]
mov rcx, qword [rax + 0x1af0]
cmp byte [rcx + 0x83], 0
jne 0x180054753
mov eax, dword [rcx + 0x1a8]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180049530
movss xmm0, dword [0x18008971c]
lea rdx, [rbp + 0x77]
xor r8d, r8d
movss dword [rbp + 0x77], xmm0
lea rcx, str.Copy_as..
mov dword [rbp + 0x7b], 0
xorps xmm6, xmm6
call fcn.180047d00
test al, al
je 0x180054814
mov r11, qword [0x180093dd8]
lea r8, [0x1800893ad]
mov r9b, 0x43
mov rax, qword [r11 + 0x1af0]
movsxd rcx, dword [rax + 0xc0]
mov rax, qword [rax + 0xc8]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov edx, r10d
cmp r9b, 0x23
jne 0x1800547c9
cmp byte [r8], r9b
jne 0x1800547c9
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
mov eax, edx
inc r8
shr eax, 8
mov edx, dword [r14 + rcx*4]
xor edx, eax
test r9b, r9b
jne 0x1800547b6
not edx
cmp dword [r11 + 0x1b38], edx
jne 0x1800547fc
mov dword [r11 + 0x1b3c], edx
cmp dword [r11 + 0x1b78], edx
jne 0x18005480d
mov byte [r11 + 0x1b7c], 1
mov ecx, edx
call fcn.180031420
lea rcx, str.Copy
call fcn.180031850
test al, al
je 0x180054aac
movss xmm5, dword [r12]
comiss xmm5, xmm6
mov qword [rsp + 0xb0], r15
movss xmm1, dword [0x1800894e8]
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
jae 0x180054859
movaps xmm0, xmm6
jmp 0x180054860
movaps xmm0, xmm5
minss xmm0, xmm1
movss xmm3, dword [0x180089648]
movss xmm4, dword [0x1800894a4]
movss xmm7, dword [r12 + 4]
comiss xmm7, xmm6
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si r15d, xmm0
jae 0x18005488e
movaps xmm0, xmm6
jmp 0x180054895
movaps xmm0, xmm7
minss xmm0, xmm1
movss xmm8, dword [r12 + 8]
comiss xmm8, xmm6
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si r14d, xmm0
jae 0x1800548b4
movaps xmm0, xmm6
jmp 0x1800548bc
movaps xmm0, xmm8
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si esi, xmm0
and r13d, 2
je 0x1800548d5
mov edi, 0xff
jmp 0x1800548fa
movss xmm2, dword [r12 + 0xc]
comiss xmm2, xmm6
jb 0x1800548eb
movaps xmm0, xmm2
minss xmm0, xmm1
movaps xmm6, xmm0
mulss xmm6, xmm3
movaps xmm1, xmm2
addss xmm6, xmm4
cvttss2si edi, xmm6
cvtps2pd xmm0, xmm1
lea r8, str.__.3ff___.3ff___.3ff___.3ff_
mov edx, 0x40
lea rcx, [rbp - 0x49]
cvtps2pd xmm1, xmm8
movsd qword [rsp + 0x30], xmm0
cvtps2pd xmm3, xmm5
cvtps2pd xmm2, xmm7
movsd qword [rsp + 0x28], xmm1
movq r9, xmm3
movsd qword [rsp + 0x20], xmm2
call fcn.180024f60
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.180054ee0
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
test al, al
je 0x18005497f
mov rcx, qword [0x180093dd8]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x18005497f
mov rcx, qword [rcx + 0x110]
lea rdx, [rbp - 0x49]
call rax
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x49]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.180024f60
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.180054ee0
test al, al
je 0x1800549df
mov rcx, qword [0x180093dd8]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x1800549df
mov rcx, qword [rcx + 0x110]
lea rdx, [rbp - 0x49]
call rax
mov dword [rsp + 0x28], esi
lea r8, [0x180089208]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
lea rcx, [rbp - 0x49]
call fcn.180024f60
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.180054ee0
test al, al
je 0x180054a3b
mov rcx, qword [0x180093dd8]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x180054a3b
mov rcx, qword [rcx + 0x110]
lea rdx, [rbp - 0x49]
call rax
test r13d, r13d
jne 0x180054a9f
mov dword [rsp + 0x30], edi
lea r8, [0x1800891f0]
mov dword [rsp + 0x28], esi
lea edx, [r13 + 0x40]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
lea rcx, [rbp - 0x49]
call fcn.180024f60
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.180054ee0
test al, al
je 0x180054a9f
mov rcx, qword [0x180093dd8]
mov rax, qword [rcx + 0x108]
test rax, rax
je 0x180054a9f
mov rcx, qword [rcx + 0x110]
lea rdx, [rbp - 0x49]
call rax
call fcn.1800318d0
mov r15, qword [rsp + 0xb0]
mov rax, qword [rbp + 0x7f]
mov dword [rax + 0x2f78], ebx
call fcn.1800318d0
movaps xmm6, xmmword [rsp + 0xa0]
mov rbx, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xb8]
add rsp, 0xc0
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret