Function at 0x1000bc40
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x10056240]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [0x10056a60]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0xc], ecx
mov ecx, edi
mov ebx, dword [esi + 0x3f94]
and ecx, 0x40000000
or ecx, 0x20000000
mov dword [ebp - 0x14], edx
shr ecx, 0x1d
mov eax, dword [ebx + 0xc]
and eax, 4
mov dword [esi + 0x4994], ecx
or eax, 0x1000103
or edi, eax
mov dword [ebp + 0x10], edi
mov edi, dword [esi + 0x495c]
or edi, 0x100
mov dword [esi + 0x495c], edi
mov ecx, dword [ebx + 0x198]
test ecx, ecx
jne 0x1000bcb8
mov eax, 0x234
cmp dword [esi + 0x4ce8], ecx
je 0x1000bcbd
mov eax, 0x204
movss xmm6, dword [ebx + eax]
xorps xmm4, xmm4
movss xmm7, dword [ebx + eax + 4]
xorps xmm3, xmm3
mov eax, dword [ebp + 8]
xorps xmm2, xmm2
subss xmm7, dword [ebx + 0xfc]
subss xmm6, dword [ebx + 0xf8]
movss xmm1, dword [eax]
comiss xmm4, xmm1
movss xmm0, dword [eax + 4]
ja 0x1000bcf7
comiss xmm4, xmm0
jbe 0x1000bd18
test ecx, ecx
jne 0x1000bd08
mov eax, 0x234
cmp dword [esi + 0x4ce8], ecx
je 0x1000bd0d
mov eax, 0x204
movss xmm3, dword [ebx + eax]
movss xmm2, dword [ebx + eax + 4]
movss xmm5, dword [0x10052b88]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1000bd2e
movaps xmm1, xmm6
jmp 0x1000bd46
comiss xmm4, xmm1
jbe 0x1000bd46
subss xmm3, dword [ebx + 0xf8]
addss xmm3, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm3
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1000bd54
movaps xmm0, xmm7
jmp 0x1000bd6c
comiss xmm4, xmm0
jbe 0x1000bd6c
subss xmm2, dword [ebx + 0xfc]
addss xmm2, xmm0
movaps xmm0, xmm5
maxss xmm0, xmm2
mov ecx, dword [ebp - 0xc]
or edi, 2
mov dword [esi + 0x495c], edi
movss dword [esi + 0x497c], xmm1
movss dword [esi + 0x4980], xmm0
mov dword [esi + 0x4964], 1
mov eax, dword [ebx + 4]
push edx
test ecx, ecx
je 0x1000bdb1
push ecx
push eax
push str._s__s__08X
lea eax, [ebp - 0xc]
push 0
push eax
call fcn.10005d40
add esp, 0x18
jmp 0x1000bdc5
push eax
push str._s__08X
lea eax, [ebp - 0xc]
push 0
push eax
call fcn.10005d40
add esp, 0x14
movss xmm0, dword [esi + 0x38d8]
xor edx, edx
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0xc]
movss dword [ebp - 0x10], xmm0
call fcn.1000f730
mov edi, dword [esi + 0x3f94]
add esp, 4
movss xmm0, dword [ebp - 0x10]
movss dword [esi + 0x38d8], xmm0
mov byte [ebp - 5], al
cmp word [edi + 0xbc], 1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], edi
mov dword [edi + 0x78], eax
jne 0x1000be1d
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
mov dword [ebx + 0xf8], ecx
mov dword [ebx + 0xfc], edx
mov edi, eax
mov edx, 0x1004b869
not edi
mov al, 0x23
mov ebx, edi
nop word [eax + eax]
cmp al, 0x23
jne 0x1000be3e
cmp byte [edx], al
jne 0x1000be3e
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 + 0x1004c868]
test al, al
jne 0x1000be30
mov edi, dword [ebp - 0x10]
not ebx
cmp dword [esi + 0x3fe4], ebx
jne 0x1000be6d
xor edx, edx
xor ecx, ecx
call fcn.10008740
mov eax, dword [ebp - 0x14]
cmp dword [esi + 0x4a5c], eax
jne 0x1000bebb
test dword [ebp + 0x10], 0x800000
jne 0x1000bebb
cmp word [edi + 0x154], 0
jne 0x1000be94
cmp byte [edi + 0x15a], 0
je 0x1000bebb
xor edx, edx
mov ecx, edi
call fcn.100126e0
xor dl, dl
mov ecx, edi
call fcn.10018020
mov edx, edi
mov ecx, ebx
call fcn.10008740
mov eax, dword [esi + 0x4a88]
mov dword [esi + 0x4008], eax
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 5]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.10047b01
mov esp, ebp
pop ebp
ret