Function at 0x180051290
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
mov esi, edx
mov edi, edx
and esi, 0x1800000
mov r12, rcx
and edi, 0x700000
je 0x1800512c2
test esi, esi
jne 0x1800518fc
mov r10, qword [0x180188c98]
mov qword [rsp + 0x110], rbx
movsxd rbx, dword [r10 + 0x4908]
cmp dword [r10 + 0x48f8], ebx
jg 0x1800512f1
mov dword [r10 + 0x4828], 0
jmp 0x1800518f4
mov rax, qword [r10 + 0x3f48]
lea rdx, [0x18010a929]
mov qword [rsp + 0xd8], r14
mov r8b, 0x63
lea r14, [0x180103030]
movsxd rcx, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r11d, dword [rax + rcx*4 - 4]
not r11d
mov r9d, r11d
nop word [rax + rax]
cmp r8b, 0x23
jne 0x180051343
cmp byte [rdx], r8b
jne 0x180051343
cmp byte [rdx + 1], r8b
cmove r9d, r11d
movzx ecx, r9b
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr r9d, 8
inc rdx
xor r9d, dword [r14 + rcx*4]
test r8b, r8b
jne 0x180051330
mov rax, qword [r10 + 0x4900]
not r9d
imul rcx, rbx, 0x38
cmp dword [rcx + rax], r9d
jne 0x1800518e1
lea r8, str.Popup__08x
mov edx, 0x14
lea rcx, [rbp - 0x69]
call fcn.18000ecb0
xor edx, edx
lea rcx, [rbp - 0x69]
mov r8d, 0x4000103
call fcn.180019d10
movzx ebx, al
test al, al
jne 0x1800513ac
call fcn.180020e00
test bl, bl
je 0x1800518ec
mov qword [rsp + 0xe0], r13
mov r13, qword [0x180188c98]
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
inc word [r13 + 0x5c32]
mov ebx, dword [r13 + 0x5bbc]
test edi, edi
jne 0x18005144c
mov edx, ebx
lea rcx, [0x18010aabc]
shr edx, 0x14
and dl, 1
call fcn.180043790
test al, al
je 0x180051408
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x18010aac0]
shr edx, 0x15
and dl, 1
call fcn.180043790
test al, al
je 0x18005142a
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x18010aac4]
shr edx, 0x16
and dl, 1
call fcn.180043790
test al, al
je 0x18005144c
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x180051499
test edi, edi
jne 0x180051459
call fcn.1800443f0
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.180043790
test al, al
je 0x180051479
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.180043790
test al, al
je 0x180051499
btr ebx, 0x17
bts ebx, 0x18
movss xmm7, dword [0x18011110c]
test edi, edi
je 0x1800514a9
test esi, esi
jne 0x1800514d5
mov rax, qword [0x180188c98]
mov rax, qword [rax + 0x3f48]
cmp byte [rax + 0xbb], 0
jne 0x1800514d5
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180043fa0
lea rdx, [rbp + 0x77]
mov dword [rbp + 0x77], 0xbf800000
lea rcx, str.Copy_as..
mov dword [rbp + 0x7b], 0
xorps xmm6, xmm6
call fcn.180042280
lea rdi, [0x18010aaed]
test al, al
je 0x180051569
mov rax, qword [0x180188c98]
mov r8, rdi
mov r9b, 0x43
mov rax, qword [rax + 0x3f48]
movsxd rcx, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov ecx, r10d
nop
cmp r9b, 0x23
jne 0x180051543
cmp byte [r8], r9b
jne 0x180051543
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r14 + rdx*4]
test r9b, r9b
jne 0x180051530
not ecx
xor edx, edx
call fcn.180020740
mov r8, qword [0x180188c98]
movsxd r11, dword [r8 + 0x4908]
cmp dword [r8 + 0x48f8], r11d
jg 0x180051590
mov dword [r8 + 0x4828], 0
jmp 0x1800518b3
mov rax, qword [r8 + 0x3f48]
mov dl, 0x43
movsxd rcx, dword [rax + 0xf0]
mov rax, qword [rax + 0xf8]
mov r10d, dword [rax + rcx*4 - 4]
not r10d
mov r9d, r10d
cmp dl, 0x23
jne 0x1800515c2
cmp byte [rdi], dl
jne 0x1800515c2
cmp byte [rdi + 1], dl
cmove r9d, r10d
movzx ecx, r9b
movzx eax, dl
movzx edx, byte [rdi]
xor rcx, rax
shr r9d, 8
inc rdi
xor r9d, dword [r14 + rcx*4]
test dl, dl
jne 0x1800515b2
mov rax, qword [r8 + 0x4900]
not r9d
imul rcx, r11, 0x38
cmp dword [rcx + rax], r9d
jne 0x180051626
lea r8, str.Popup__08x
mov edx, 0x14
lea rcx, [rbp - 0x51]
call fcn.18000ecb0
xor edx, edx
lea rcx, [rbp - 0x51]
mov r8d, 0x4000103
call fcn.180019d10
movzx edi, al
test al, al
jne 0x180051634
call fcn.180020e00
jmp 0x180051634
mov dword [r8 + 0x4828], 0
xor dil, dil
test dil, dil
je 0x1800518b3
movss xmm3, dword [r12]
comiss xmm6, xmm3
mov qword [rsp + 0xd0], r15
jbe 0x180051655
movaps xmm0, xmm6
jmp 0x18005165c
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm1, dword [0x1801112c4]
movss xmm2, dword [0x1801110cc]
movss xmm5, dword [r12 + 4]
comiss xmm6, xmm5
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r15d, xmm0
jbe 0x18005168a
movaps xmm0, xmm6
jmp 0x180051691
movaps xmm0, xmm7
minss xmm0, xmm5
movss xmm4, dword [r12 + 8]
comiss xmm6, xmm4
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r14d, xmm0
jbe 0x1800516af
movaps xmm0, xmm6
jmp 0x1800516b6
movaps xmm0, xmm7
minss xmm0, xmm4
and dword [rbp + 0x6f], 2
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si esi, xmm0
je 0x1800516cf
mov edi, 0xff
jmp 0x1800516f1
movss xmm0, dword [r12 + 0xc]
comiss xmm6, xmm0
ja 0x1800516e2
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.18000ecb0
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180051d00
test al, al
je 0x18005176f
mov rcx, qword [0x180188c98]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x18005176f
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call qword [0x1800da508]
mov dword [rsp + 0x30], edi
lea r8, str.__d__d__d__d_
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x39]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.18000ecb0
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180051d00
test al, al
je 0x1800517d6
mov rcx, qword [0x180188c98]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1800517d6
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call qword [0x1800da508]
mov dword [rsp + 0x28], esi
lea r8, [0x18010a948]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
lea rcx, [rbp - 0x39]
call fcn.18000ecb0
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180051d00
test al, al
je 0x180051839
mov rcx, qword [0x180188c98]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x180051839
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call qword [0x1800da508]
cmp dword [rbp + 0x6f], 0
jne 0x1800518a6
mov dword [rsp + 0x30], edi
lea r8, [0x18010a930]
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x39]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.18000ecb0
lea r9, [rbp + 0x77]
mov qword [rbp + 0x77], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180051d00
test al, al
je 0x1800518a6
mov rcx, qword [0x180188c98]
mov rax, qword [rcx + 0xb0]
test rax, rax
je 0x1800518a6
mov rcx, qword [rcx + 0xb8]
lea rdx, [rbp - 0x39]
call qword [0x1800da508]
call fcn.180020e00
mov r15, qword [rsp + 0xd0]
mov dword [r13 + 0x5bbc], ebx
call fcn.180020e00
dec word [r13 + 0x5c32]
mov r13, qword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
jmp 0x1800518ec
mov dword [r10 + 0x4828], 0
mov r14, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x110]
add rsp, 0xe8
pop r12
pop rdi
pop rsi
pop rbp
ret