Function at 0x180106c10
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
push rdi
push r12
lea rbp, [rsp - 0x3f]
sub rsp, 0xc8
mov rax, qword [0x1803320c0]
xor rax, rsp
mov qword [rbp + 7], rax
mov esi, edx
mov dword [rbp - 0x41], edx
and esi, 0x1800000
mov edi, edx
mov r12, rcx
and edi, 0x700000
je 0x180106c50
test esi, esi
jne 0x180107299
mov rcx, qword [0x180338dd0]
mov eax, dword [rcx + 0x1f58]
cmp dword [rcx + 0x1f48], eax
jg 0x180106c74
mov dword [rcx + 0x1e40], 0
jmp 0x180107299
mov r10, qword [rcx + 0x1438]
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r14
movsxd rax, dword [r10 + 0x138]
mov qword [rsp + 0xc0], r15
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm7
test eax, eax
jle 0x1801072b2
mov rcx, rax
lea rdx, [0x1802ed7b9]
mov rax, qword [r10 + 0x140]
lea r15, [0x180279e80]
mov r8b, 0x63
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x180106cf3
cmp byte [rdx], r8b
jne 0x180106cf3
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 0x180106ce0
mov rax, qword [r10]
not ebx
cmp dword [rax + 0x148c], ebx
jne 0x180106d30
lea r8, str.context
mov edx, 0xb
mov ecx, ebx
call fcn.1800efbc0
mov edx, 0x141
mov ecx, ebx
call fcn.1800cf370
test al, al
je 0x180107269
mov r13, qword [0x180338dd0]
inc word [r13 + 0x3b7e]
mov ebx, dword [r13 + 0x3af4]
test edi, edi
jne 0x180106dc4
mov edx, ebx
lea rcx, [0x1802ed8fc]
shr edx, 0x14
and dl, 1
call fcn.1800f5a40
test al, al
je 0x180106d80
and ebx, 0xff9fffff
bts ebx, 0x14
mov edx, ebx
lea rcx, [0x1802ed900]
shr edx, 0x15
and dl, 1
call fcn.1800f5a40
test al, al
je 0x180106da2
and ebx, 0xffafffff
bts ebx, 0x15
mov edx, ebx
lea rcx, [0x1802ed904]
shr edx, 0x16
and dl, 1
call fcn.1800f5a40
test al, al
je 0x180106dc4
and ebx, 0xffcfffff
bts ebx, 0x16
test esi, esi
jne 0x180106e11
test edi, edi
jne 0x180106dd1
call fcn.1800f6ed0
mov edx, ebx
lea rcx, str.0..255
shr edx, 0x17
and dl, 1
call fcn.1800f5a40
test al, al
je 0x180106df1
btr ebx, 0x18
bts ebx, 0x17
mov edx, ebx
lea rcx, str.0.00..1.00
shr edx, 0x18
and dl, 1
call fcn.1800f5a40
test al, al
je 0x180106e11
btr ebx, 0x17
bts ebx, 0x18
movss xmm7, dword [0x1802f5308]
test edi, edi
je 0x180106e21
test esi, esi
jne 0x180106e63
mov rax, qword [0x180338dd0]
mov rdx, qword [rax + 0x1438]
cmp byte [rdx + 0x104], 0
jne 0x180106e63
mov r8d, dword [rdx + 0x1fc]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1f0], 0
je 0x180106e5b
neg r8d
sbb ecx, ecx
add ecx, 6
movaps xmm1, xmm7
call fcn.1800f6a80
xor r8d, r8d
mov dword [rbp - 0x49], 0xbf800000
lea rdx, [rbp - 0x49]
mov dword [rbp - 0x45], 0
lea rcx, str.Copy_as..
xorps xmm6, xmm6
call fcn.1800f3890
lea rsi, [0x1802ec539]
test al, al
je 0x180106f4a
mov r14, qword [0x180338dd0]
mov r10, qword [r14 + 0x1438]
movsxd rax, dword [r10 + 0x138]
test eax, eax
jle 0x1801072b2
mov rcx, rax
mov rdx, rsi
mov rax, qword [r10 + 0x140]
mov r8b, 0x43
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
nop
cmp r8b, 0x23
jne 0x180106ee3
cmp byte [rdx], r8b
jne 0x180106ee3
cmp byte [rdx + 1], r8b
cmove edi, r9d
movzx ecx, dil
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr edi, 8
inc rdx
xor edi, dword [r15 + rcx*4]
test r8b, r8b
jne 0x180106ed0
mov rax, qword [r10]
not edi
cmp dword [rax + 0x148c], edi
jne 0x180106f21
lea r8, str.Copy
mov edx, 0xb
mov ecx, edi
call fcn.1800efbc0
test byte [r14 + 0x3d74], 4
je 0x180106f41
mov r8d, edi
lea rdx, str.Copy
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.1800eeac0
xor edx, edx
mov ecx, edi
call fcn.1800cec70
mov rcx, qword [0x180338dd0]
mov eax, dword [rcx + 0x1f58]
cmp dword [rcx + 0x1f48], eax
jg 0x180106f6e
mov dword [rcx + 0x1e40], 0
jmp 0x180107255
mov r10, qword [rcx + 0x1438]
movsxd rax, dword [r10 + 0x138]
test eax, eax
jle 0x1801072b2
mov rcx, rax
mov dl, 0x43
mov rax, qword [r10 + 0x140]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov edi, r9d
nop dword [rax + rax]
cmp dl, 0x23
jne 0x180106fb0
cmp byte [rsi], dl
jne 0x180106fb0
cmp byte [rsi + 1], dl
cmove edi, r9d
movzx ecx, dil
movzx eax, dl
movzx edx, byte [rsi]
xor rcx, rax
shr edi, 8
inc rsi
xor edi, dword [r15 + rcx*4]
test dl, dl
jne 0x180106fa0
mov rax, qword [r10]
not edi
cmp dword [rax + 0x148c], edi
jne 0x180106feb
lea r8, str.Copy
mov edx, 0xb
mov ecx, edi
call fcn.1800efbc0
mov edx, 0x141
mov ecx, edi
call fcn.1800cf370
test al, al
je 0x180107255
movss xmm3, dword [r12]
comiss xmm6, xmm3
jbe 0x18010700f
movaps xmm0, xmm6
jmp 0x180107016
movaps xmm0, xmm7
minss xmm0, xmm3
movss xmm1, dword [0x1802f548c]
movss xmm2, dword [0x1802f52bc]
movss xmm5, dword [r12 + 4]
comiss xmm6, xmm5
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r15d, xmm0
jbe 0x180107044
movaps xmm0, xmm6
jmp 0x18010704b
movaps xmm0, xmm7
minss xmm0, xmm5
movss xmm4, dword [r12 + 8]
comiss xmm6, xmm4
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si r14d, xmm0
jbe 0x180107069
movaps xmm0, xmm6
jmp 0x180107070
movaps xmm0, xmm7
minss xmm0, xmm4
and dword [rbp - 0x41], 2
mulss xmm0, xmm1
addss xmm0, xmm2
cvttss2si esi, xmm0
je 0x180107089
mov edi, 0xff
jmp 0x1801070ab
movss xmm0, dword [r12 + 0xc]
comiss xmm6, xmm0
ja 0x18010709c
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.1800b6660
lea r9, [rbp - 0x49]
mov qword [rbp - 0x49], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180108b30
test al, al
je 0x180107125
mov rcx, qword [0x180338dd0]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x180107125
mov rcx, qword [rcx + 0xc0]
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, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.1800b6660
lea r9, [rbp - 0x49]
mov qword [rbp - 0x49], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180108b30
test al, al
je 0x180107188
mov rcx, qword [0x180338dd0]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x180107188
mov rcx, qword [rcx + 0xc0]
lea rdx, [rbp - 0x39]
call rax
mov dword [rsp + 0x28], esi
lea r8, [0x1802ed768]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
lea rcx, [rbp - 0x39]
call fcn.1800b6660
lea r9, [rbp - 0x49]
mov qword [rbp - 0x49], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180108b30
test al, al
je 0x1801071e7
mov rcx, qword [0x180338dd0]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x1801071e7
mov rcx, qword [rcx + 0xc0]
lea rdx, [rbp - 0x39]
call rax
cmp dword [rbp - 0x41], 0
jne 0x180107250
mov dword [rsp + 0x30], edi
lea r8, str._02X_02X_02X_02X
mov dword [rsp + 0x28], esi
lea rcx, [rbp - 0x39]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov edx, 0x40
call fcn.1800b6660
lea r9, [rbp - 0x49]
mov qword [rbp - 0x49], 0
xor r8d, r8d
lea rcx, [rbp - 0x39]
xor edx, edx
call fcn.180108b30
test al, al
je 0x180107250
mov rcx, qword [0x180338dd0]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x180107250
mov rcx, qword [rcx + 0xc0]
lea rdx, [rbp - 0x39]
call rax
call fcn.1800cf5d0
mov dword [r13 + 0x3af4], ebx
call fcn.1800cf5d0
dec word [r13 + 0x3b7e]
movaps xmm6, xmmword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xf8]
movaps xmm7, xmmword [rsp + 0xa0]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1801e5610
add rsp, 0xc8
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.Size___0
call fcn.1800add40
int3