Function at 0x41d920
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, dword [0x4cf0c0]
xor eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
push edi
mov edi, dword [esi + 0x3f0c]
test cl, 0x10
jne 0x41db32
mov ebx, dword [esi + 0x4780]
test ebx, ebx
je 0x41d990
cmp dword [esi + 0x3f58], ebx
jne 0x41db29
mov eax, dword [esi + 0x3f7c]
xor ecx, ecx
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [ebp - 8], eax
cmp byte [eax + esi + 0xdc8], cl
je 0x41db29
cmp byte [edi + 0xe0], cl
jne 0x41db29
xor al, al
jmp 0x41da62
cmp byte [esi + 0xdc8], al
je 0x41db29
cmp byte [edi + 0xe0], al
jne 0x41db29
test byte [esi + 0x4788], 1
jne 0x41d9c9
cmp dword [esi + 0x3f58], eax
je 0x41db29
cmp dword [esi + 0x3f74], edi
jne 0x41db29
test cl, 8
jne 0x41d9ee
push 0x3153
push str.C:UsersmilonDocumentsOtherVisualStudioProjectsm_a_ns_clickerimguiimgui.cpp
push 0x4af884
call fcn.004867ba
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi + 0x478c]
mov ecx, edi
push eax
call fcn.00408200
mov ebx, eax
mov eax, dword [0x4cf0c0]
mov dword [esi + 0x4780], ebx
cmp dword [eax + 0x3f58], ebx
jne 0x41da17
mov dword [eax + 0x3f5c], ebx
cmp dword [eax + 0x3f80], ebx
jne 0x41da26
mov byte [eax + 0x3f84], 1
mov edx, ebx
lea ecx, [esi + 0x478c]
call fcn.00408700
mov byte [ebp - 1], al
test al, al
je 0x41da56
cmp byte [esi + 0x3700], 0
je 0x41da56
mov edx, edi
mov ecx, ebx
call fcn.00408370
mov ecx, edi
call fcn.004132d0
mov al, byte [ebp - 1]
cmp dword [esi + 0x3f58], ebx
jne 0x41db29
mov byte [esi + 0x3f65], al
mov ecx, dword [edi + 0x118]
test ecx, ecx
jg 0x41da8f
push 0x752
push str.C:UsersmilonDocumentsOtherVisualStudioProjectsm_a_ns_clickerimguiimgui.h
push str.Size___0
call fcn.004867ba
mov ecx, dword [edi + 0x118]
add esp, 0xc
mov eax, dword [edi + 0x120]
mov edi, dword [ebp - 8]
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp - 0xc], eax
mov eax, dword [0x4cf0c0]
mov dword [ebp - 0x14], eax
test edi, edi
js 0x41dab0
cmp edi, 5
jl 0x41daca
push 0x2221
push str.C:UsersmilonDocumentsOtherVisualStudioProjectsm_a_ns_clickerimguiimgui.cpp
push str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call fcn.004867ba
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp byte [eax + edi + 0xdc8], 0
jne 0x41dada
mov byte [ebp - 1], 0
jmp 0x41db1e
mov eax, dword [0x4cf0c0]
mov dword [ebp - 0x14], eax
test edi, edi
js 0x41daeb
cmp edi, 5
jl 0x41db05
push 0x2218
push str.C:UsersmilonDocumentsOtherVisualStudioProjectsm_a_ns_clickerimguiimgui.cpp
push str.button___0__button_____int__sizeof_g.IO.MouseDown____sizeof__g.IO.MouseDown____
call fcn.004867ba
mov eax, dword [ebp - 0x14]
add esp, 0xc
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + edi*4 + 0x3780]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae byte [ebp - 1]
call fcn.0040c440
cmp byte [ebp - 1], 0
jne 0x41db6b
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x4b5941
or edi, 0xffffffff
nop
cmp al, 0x23
jne 0x41db4e
cmp byte [edx], al
jne 0x41db4e
cmp byte [edx + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x4b8c18]
test al, al
jne 0x41db40
not ebx
xor edi, edi
cmp byte [esi + 0x4a78], 0
jne 0x41dbc8
test ebx, ebx
jne 0x41db8f
push 0x317a
push str.C:UsersmilonDocumentsOtherVisualStudioProjectsm_a_ns_clickerimguiimgui.cpp
push str.source_id___0
call fcn.004867ba
add esp, 0xc
call fcn.0041d840
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x4a94], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x4a90], ebx
mov byte [esi + 0x4a78], 1
mov dword [esi + 0x4a7c], eax
mov dword [esi + 0x4a84], edi
cmp ebx, dword [esi + 0x3f58]
jne 0x41dbc8
mov byte [esi + 0x3f66], 1
mov ebx, dword [ebp - 0x10]
mov eax, dword [esi + 0x3ea8]
mov dword [esi + 0x4a80], eax
mov byte [esi + 0x4a79], 1
test bl, 1
jne 0x41dc1a
xor ecx, ecx
call fcn.00418310
cmp dword [esi + 0x4ae0], 0
je 0x41dc1a
test dword [esi + 0x4ad4], 0x1000
je 0x41dc1a
mov eax, dword [esi + 0x3f0c]
mov byte [eax + 0xe0], 1
mov byte [eax + 0xe2], 1
mov byte [eax + 0x100], 1
test bl, 0x12
jne 0x41dc26
and dword [esi + 0x4788], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret