Function at 0x1000f7a0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov ecx, 0x102b78aa
call fcn.10124b2c
mov esi, dword [0x101e88b0]
mov eax, dword [ebp + 8]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov edi, dword [esi + 0x3e40]
mov dword [ebp - 4], edi
mov dword [ebp - 0x10], eax
test al, 0x10
jne 0x1000fa78
mov ebx, dword [esi + 0x46b4]
test ebx, ebx
je 0x1000f825
cmp dword [esi + 0x3e8c], ebx
jne 0x1000fa6f
mov eax, dword [esi + 0x3eb0]
xor ecx, ecx
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [ebp - 8], eax
cmp byte [eax + esi + 0xdc8], cl
je 0x1000fa6f
cmp byte [edi + 0xaf], cl
jne 0x1000fa6f
xor al, al
jmp 0x1000f991
cmp byte [esi + 0xdc8], 0
je 0x1000fa6f
cmp byte [edi + 0xaf], 0
jne 0x1000fa6f
test byte [esi + 0x46bc], 1
jne 0x1000f861
cmp dword [esi + 0x3e8c], 0
je 0x1000fa6f
cmp dword [esi + 0x3ea8], edi
jne 0x1000fa6f
test al, 8
je 0x1000fa6f
lea eax, [esi + 0x46c0]
mov ecx, edi
push eax
call fcn.10014120
mov ebx, eax
push ebx
mov dword [esi + 0x46b4], ebx
call fcn.10017c40
mov edi, dword [0x101e88b0]
add esp, 4
mov eax, dword [edi + 0x3e78]
test eax, eax
je 0x1000f8a9
cmp eax, ebx
je 0x1000f8a9
cmp byte [edi + 0x3e80], 0
je 0x1000f980
mov eax, dword [edi + 0x3e40]
mov dword [ebp - 0xc], eax
cmp dword [edi + 0x3e44], eax
jne 0x1000f980
mov eax, dword [edi + 0x3e8c]
test eax, eax
je 0x1000f8d9
cmp eax, ebx
je 0x1000f8d9
cmp byte [edi + 0x3e99], 0
je 0x1000f980
lea eax, [esi + 0x46c0]
lea ecx, [eax + 8]
push 1
push ecx
push eax
mov dword [ebp - 0x14], ecx
call fcn.10017260
add esp, 0xc
test al, al
je 0x1000f980
cmp dword [edi + 0x46b4], ebx
jne 0x1000f909
mov ecx, dword [edi + 0x46b8]
jmp 0x1000f90f
mov ecx, dword [edi + 0x4698]
mov dword [ebp + 8], ecx
test ecx, 0x100
jne 0x1000f92e
push 0
push dword [ebp - 0xc]
call fcn.10017560
add esp, 8
test al, al
je 0x1000f979
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x1000f960
mov eax, dword [0x101e88b0]
mov dword [eax + 0x3e78], ebx
mov byte [eax + 0x3e80], 0
cmp dword [eax + 0x3e7c], ebx
je 0x1000f960
mov dword [eax + 0x3e88], 0
mov dword [eax + 0x3e84], 0
test cl, 4
je 0x1000f9c6
cmp dword [edi + 0x3e8c], ebx
jne 0x1000f979
push 0
push 0
call fcn.100202b0
add esp, 8
mov byte [edi + 0x3e81], 1
xor al, al
mov edi, dword [ebp - 4]
cmp dword [esi + 0x3e8c], ebx
jne 0x1000fa6f
lea ecx, [edi + 0xe4]
mov byte [esi + 0x3e99], al
call fcn.100254b0
mov edi, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [0x101e88b0]
cmp byte [eax + edi + 0xdc8], 0
jne 0x1000fa4b
mov byte [ebp + 0xb], 0
jmp 0x1000fa64
test ebx, ebx
je 0x1000fa11
cmp byte [edi + 0x5adb], 0
je 0x1000fa08
cmp dword [edi + 0x3e7c], ebx
jne 0x1000fa08
call fcn.10013f20
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
lea ecx, [esi + 0x46c0]
push 0xff00ffff
push dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.100283b0
cmp dword [edi + 0x5ae0], ebx
jne 0x1000fa11
int3
cmp byte [edi + 0x47fb], 0
jne 0x1000f980
cmp byte [esi + 0x3700], 0
mov al, 1
mov byte [ebp + 0xb], al
je 0x1000f982
mov edi, dword [ebp - 4]
push edi
push ebx
call fcn.100202b0
push edi
call fcn.10013950
mov al, byte [ebp + 0xb]
add esp, 0xc
jmp 0x1000f985
movss xmm1, dword [eax + 0x30]
movss xmm0, dword [eax + edi*4 + 0x3758]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae byte [ebp + 0xb]
call fcn.10020410
cmp byte [ebp + 0xb], 0
jne 0x1000fab0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
mov edx, 0x101688b1
mov al, 0x23
or edi, 0xffffffff
cmp al, 0x23
jne 0x1000fa93
cmp byte [edx], al
jne 0x1000fa93
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 + 0x101672d0]
test al, al
jne 0x1000fa85
not ebx
xor edi, edi
cmp byte [esi + 0x4944], 0
jne 0x1000faf2
call fcn.10010f60
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x4960], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x495c], ebx
mov byte [esi + 0x4944], 1
mov dword [esi + 0x4948], eax
mov dword [esi + 0x4950], edi
cmp ebx, dword [esi + 0x3e8c]
jne 0x1000faf2
mov byte [esi + 0x3e9a], 1
mov ebx, dword [ebp - 0x10]
mov eax, dword [esi + 0x3de0]
mov dword [esi + 0x494c], eax
mov byte [esi + 0x4945], 1
test bl, 1
jne 0x1000fb49
push 0
push 0
call fcn.1000fec0
add esp, 8
cmp dword [esi + 0x49ac], 0
je 0x1000fb49
test dword [esi + 0x49a0], 0x1000
je 0x1000fb49
mov eax, dword [esi + 0x3e40]
mov byte [eax + 0xaf], 1
mov byte [eax + 0xb1], 1
mov byte [eax + 0xcc], 1
test bl, 0x12
jne 0x1000fb55
and dword [esi + 0x46bc], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret