Function at 0x1000c5a0
Capabilities:
Hash data with crc32

Disassembly:
sub esp, 0x10
mov ecx, dword [esp + 0x14]
push ebx
push ebp
push esi
push edi
mov edi, dword [0x10093708]
xor ebp, ebp
xor esi, esi
mov eax, dword [edi + 0x3e60]
mov dword [esp + 0x14], eax
test cl, 0x10
jne 0x1000c7a9
mov ebx, dword [edi + 0x46e0]
test ebx, ebx
je 0x1000c660
cmp dword [edi + 0x3eac], ebx
jne 0x1000c79f
mov ebp, dword [edi + 0x3ed0]
xor ecx, ecx
cmp ebp, 0xffffffff
cmove ebp, ecx
cmp byte [edi + ebp + 0xdc4], cl
je 0x1000c79f
cmp byte [eax + 0xaf], cl
jne 0x1000c79f
mov byte [edi + 0x3eb9], cl
lea ecx, [eax + 0xe4]
call fcn.10028260
mov ecx, dword [eax]
mov eax, dword [0x10093708]
mov esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
test ebp, ebp
js 0x1000c63e
mov eax, ebp
mov dword [esp + 0x18], ecx
cmp eax, 5
jl 0x1000c743
push 0x20d0
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, dword [0x10093708]
add esp, 0xc
jmp 0x1000c73f
cmp byte [edi + 0xdc4], 0
je 0x1000c79f
cmp byte [eax + 0xaf], 0
jne 0x1000c79f
test byte [edi + 0x46e8], 1
jne 0x1000c69b
cmp dword [edi + 0x3eac], esi
je 0x1000c79f
cmp dword [edi + 0x3ec8], eax
jne 0x1000c79f
test cl, 8
jne 0x1000c6c2
push 0x3076
push str.D:Projectm2extLibrariesimguiimgui.cpp
push 0x10078534
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
lea esi, [edi + 0x46ec]
mov ecx, eax
push esi
call fcn.10012f90
mov ebx, eax
push ebx
mov dword [edi + 0x46e0], ebx
call fcn.100179a0
push dword [edi + 0x46e4]
push ebx
push esi
call fcn.10017630
mov esi, dword [esp + 0x24]
add esp, 0x10
mov byte [esp + 0x13], al
test al, al
je 0x1000c719
cmp byte [edi + 0x3700], 0
je 0x1000c719
push esi
push ebx
call fcn.10021970
push 0
push esi
call fcn.10012610
mov al, byte [esp + 0x23]
add esp, 0x10
cmp dword [edi + 0x3eac], ebx
jne 0x1000c79f
lea ecx, [esi + 0xe4]
mov byte [edi + 0x3eb9], al
call fcn.10028260
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [0x10093708]
mov esi, eax
mov dword [esp + 0x14], eax
cmp byte [esi + ebp + 0xdc4], 0
jne 0x1000c754
mov byte [esp + 0x13], 0
jmp 0x1000c793
test ebp, ebp
js 0x1000c75d
cmp ebp, 5
jl 0x1000c775
push 0x20c7
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
mov eax, dword [esp + 0x14]
movss xmm1, dword [eax + 0x58]
movss xmm0, dword [eax + ebp*4 + 0x3758]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae byte [esp + 0x13]
call fcn.10021ae0
cmp byte [esp + 0x13], 0
jne 0x1000c7e3
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x10
ret
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x1007f76d
or ebp, 0xffffffff
cmp al, 0x23
jne 0x1000c7c4
cmp byte [edx], al
jne 0x1000c7c4
cmp byte [edx + 1], al
cmove ebx, ebp
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x10079318]
test al, al
jne 0x1000c7b6
not ebx
mov ebp, esi
jmp 0x1000c7e7
mov esi, dword [esp + 0x18]
cmp byte [edi + 0x49d4], 0
jne 0x1000c843
test ebx, ebx
jne 0x1000c80c
push 0x309d
push str.D:Projectm2extLibrariesimguiimgui.cpp
push str.source_id___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
call fcn.1000e3d0
mov eax, dword [esp + 0x24]
mov dword [edi + 0x49ec], ebx
mov dword [edi + 0x49f0], esi
mov byte [edi + 0x49d4], 1
mov dword [edi + 0x49d8], eax
mov dword [edi + 0x49e0], ebp
cmp ebx, dword [edi + 0x3eac]
jne 0x1000c843
mov byte [edi + 0x3eba], 1
mov ebx, dword [esp + 0x24]
mov eax, dword [edi + 0x3de0]
mov dword [edi + 0x49dc], eax
mov byte [edi + 0x49d5], 1
test bl, 1
jne 0x1000c8b7
push 0
push 0
call fcn.1000cc70
add esp, 8
test al, al
jne 0x1000c887
push 0x30b0
push str.D:Projectm2extLibrariesimguiimgui.cpp
push 0x1007f79c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp dword [edi + 0x4a3c], 0
je 0x1000c8b7
test dword [edi + 0x4a30], 0x1000
je 0x1000c8b7
mov eax, dword [edi + 0x3e60]
mov byte [eax + 0xaf], 1
mov byte [eax + 0xb1], 1
mov byte [eax + 0xcc], 1
test bl, 0x12
jne 0x1000c8c3
and dword [edi + 0x46e8], 0xfffffffe
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x10
ret