Function at 0x10065210
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
push ebx
push esi
push edi
mov edi, dword [0x10317358]
mov esi, edi
mov eax, dword [esi + 0x3f34]
mov dword [ebp - 8], eax
test cl, 0x10
jne 0x100653cb
mov ebx, dword [esi + 0x47ac]
test ebx, ebx
je 0x1006528b
cmp dword [esi + 0x3f80], ebx
jne 0x100653c2
mov edx, dword [esi + 0x3fa4]
xor ecx, ecx
cmp edx, 0xffffffff
cmove edx, ecx
mov dword [ebp - 0x10], edx
cmp byte [edx + esi + 0xdc8], cl
je 0x100653c2
cmp byte [eax + 0xe4], cl
jne 0x100653c2
xor cl, cl
jmp 0x10065355
cmp byte [esi + 0xdc8], 0
je 0x100653c2
cmp byte [eax + 0xe4], 0
jne 0x100653c2
test byte [esi + 0x47b4], 1
jne 0x100652c7
cmp dword [esi + 0x3f80], 0
je 0x100653c2
cmp dword [esi + 0x3f9c], eax
jne 0x100653c2
test cl, 8
je 0x100653c2
lea ecx, [esi + 0x47b8]
push ecx
mov ecx, eax
call fcn.10050a90
mov ebx, eax
mov dword [esi + 0x47ac], ebx
cmp dword [edi + 0x3f80], ebx
jne 0x100652f4
mov dword [edi + 0x3f84], ebx
cmp dword [edi + 0x3fa8], ebx
jne 0x10065303
mov byte [edi + 0x3fac], 1
push dword [esi + 0x47b0]
mov edx, ebx
lea ecx, [esi + 0x47b8]
call fcn.10050f20
mov cl, al
add esp, 4
mov byte [ebp - 1], cl
test cl, cl
je 0x10065342
cmp byte [esi + 0x3708], 0
je 0x10065342
mov edx, dword [ebp - 8]
mov ecx, ebx
call fcn.10050b40
mov ecx, dword [ebp - 8]
xor edx, edx
call fcn.1005b2a0
mov cl, byte [ebp - 1]
cmp dword [esi + 0x3f80], ebx
jne 0x100653c2
mov edi, dword [0x10317358]
xor edx, edx
mov eax, dword [ebp - 8]
mov byte [esi + 0x3f8d], cl
cmp byte [edi + edx + 0xdc8], 0
mov ecx, dword [eax + 0x11c]
mov eax, dword [eax + 0x124]
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp - 0xc], eax
jne 0x1006537c
xor cl, cl
jmp 0x10065394
movss xmm1, dword [edi + 0x60]
movss xmm0, dword [edi + edx*4 + 0x3788]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae cl
cmp byte [edi + 0x4965], 0
mov dword [edi + 0x477c], 0xf
setne al
mov byte [edi + 0x4780], 1
mov word [edi + 0x4994], 0
mov byte [edi + 0x4964], al
test cl, cl
jne 0x10065401
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
mov edx, 0x102db8d5
mov al, 0x23
or edi, 0xffffffff
cmp al, 0x23
jne 0x100653e6
cmp byte [edx], al
jne 0x100653e6
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 + 0x1017ab28]
test al, al
jne 0x100653d8
not ebx
cmp byte [esi + 0x4ac0], 0
jne 0x10065446
call fcn.10065130
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x4adc], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x4ac4], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x4ad8], ebx
mov byte [esi + 0x4ac0], 1
mov dword [esi + 0x4acc], eax
cmp ebx, dword [esi + 0x3f80]
jne 0x10065446
mov byte [esi + 0x3f8e], 1
mov ebx, dword [ebp - 0x14]
mov eax, dword [esi + 0x3eb0]
mov dword [esi + 0x4ac8], eax
mov byte [esi + 0x4ac1], 1
test bl, 1
jne 0x10065498
xor ecx, ecx
call fcn.1005feb0
cmp dword [esi + 0x4b28], 0
je 0x10065498
test dword [esi + 0x4b1c], 0x1000
je 0x10065498
mov eax, dword [esi + 0x3f34]
mov byte [eax + 0xe4], 1
mov byte [eax + 0xe6], 1
mov byte [eax + 0x104], 1
test bl, 0x12
jne 0x100654a4
and dword [esi + 0x47b4], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret