Function at 0x10009f90
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 [0x1008df28]
xor ebp, ebp
xor esi, esi
mov eax, dword [edi + 0x3e60]
mov dword [esp + 0x14], eax
test cl, 0x10
jne 0x1000a199
mov ebx, dword [edi + 0x46e0]
test ebx, ebx
je 0x1000a050
cmp dword [edi + 0x3eac], ebx
jne 0x1000a18f
mov ebp, dword [edi + 0x3ed0]
xor ecx, ecx
cmp ebp, 0xffffffff
cmove ebp, ecx
cmp byte [edi + ebp + 0xdc4], cl
je 0x1000a18f
cmp byte [eax + 0xaf], cl
jne 0x1000a18f
mov byte [edi + 0x3eb9], cl
lea ecx, [eax + 0xe4]
call fcn.10025b50
mov ecx, dword [eax]
mov eax, dword [0x1008df28]
mov esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
test ebp, ebp
js 0x1000a02e
mov eax, ebp
mov dword [esp + 0x18], ecx
cmp eax, 5
jl 0x1000a133
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 [0x1008df28]
add esp, 0xc
jmp 0x1000a12f
cmp byte [edi + 0xdc4], 0
je 0x1000a18f
cmp byte [eax + 0xaf], 0
jne 0x1000a18f
test byte [edi + 0x46e8], 1
jne 0x1000a08b
cmp dword [edi + 0x3eac], esi
je 0x1000a18f
cmp dword [edi + 0x3ec8], eax
jne 0x1000a18f
test cl, 8
jne 0x1000a0b2
push 0x3076
push str.D:Projectm2extLibrariesimguiimgui.cpp
push 0x10075500
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.100108f0
mov ebx, eax
push ebx
mov dword [edi + 0x46e0], ebx
call fcn.10015280
push dword [edi + 0x46e4]
push ebx
push esi
call fcn.10014f10
mov esi, dword [esp + 0x24]
add esp, 0x10
mov byte [esp + 0x13], al
test al, al
je 0x1000a109
cmp byte [edi + 0x3700], 0
je 0x1000a109
push esi
push ebx
call fcn.1001f260
push 0
push esi
call fcn.1000ffe0
mov al, byte [esp + 0x23]
add esp, 0x10
cmp dword [edi + 0x3eac], ebx
jne 0x1000a18f
lea ecx, [esi + 0xe4]
mov byte [edi + 0x3eb9], al
call fcn.10025b50
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [0x1008df28]
mov esi, eax
mov dword [esp + 0x14], eax
cmp byte [esi + ebp + 0xdc4], 0
jne 0x1000a144
mov byte [esp + 0x13], 0
jmp 0x1000a183
test ebp, ebp
js 0x1000a14d
cmp ebp, 5
jl 0x1000a165
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.1001f3d0
cmp byte [esp + 0x13], 0
jne 0x1000a1d3
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x10
ret
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x1007c72d
or ebp, 0xffffffff
cmp al, 0x23
jne 0x1000a1b4
cmp byte [edx], al
jne 0x1000a1b4
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 + 0x100762d8]
test al, al
jne 0x1000a1a6
not ebx
mov ebp, esi
jmp 0x1000a1d7
mov esi, dword [esp + 0x18]
cmp byte [edi + 0x49d4], 0
jne 0x1000a233
test ebx, ebx
jne 0x1000a1fc
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.1000bdc0
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 0x1000a233
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 0x1000a2a7
push 0
push 0
call fcn.1000a660
add esp, 8
test al, al
jne 0x1000a277
push 0x30b0
push str.D:Projectm2extLibrariesimguiimgui.cpp
push 0x1007c75c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
add esp, 0xc
cmp dword [edi + 0x4a3c], 0
je 0x1000a2a7
test dword [edi + 0x4a30], 0x1000
je 0x1000a2a7
mov eax, dword [edi + 0x3e60]
mov byte [eax + 0xaf], 1
mov byte [eax + 0xb1], 1
mov byte [eax + 0xcc], 1
test bl, 0x12
jne 0x1000a2b3
and dword [edi + 0x46e8], 0xfffffffe
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x10
ret