Function at 0x1000db00
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [0x1012ab58]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov eax, dword [edi + 0x3f04]
mov dword [ebp - 4], eax
test cl, 0x10
jne 0x1000dda5
mov esi, dword [edi + 0x3fb4]
mov dword [ebp - 8], esi
test esi, esi
je 0x1000db73
cmp dword [edi + 0x3f40], esi
jne 0x1000dd9c
mov esi, dword [edi + 0x3f64]
xor ecx, ecx
cmp esi, 0xffffffff
cmove esi, ecx
cmp byte [esi + edi + 0xd60], cl
je 0x1000dd9c
cmp byte [eax + 0xc8], cl
jne 0x1000dd9c
xor bl, bl
jmp 0x1000dd67
cmp byte [edi + 0xd60], 0
je 0x1000dd9c
cmp byte [eax + 0xc8], 0
jne 0x1000dd9c
test byte [edi + 0x3fbc], 1
jne 0x1000dbaf
cmp dword [edi + 0x3f40], 0
je 0x1000dd9c
cmp dword [edi + 0x3f5c], eax
jne 0x1000dd9c
test cl, 8
je 0x1000dd9c
lea ecx, [edi + 0x3fc0]
push ecx
mov ecx, eax
call fcn.10019590
mov esi, eax
push esi
mov dword [ebp - 8], esi
mov dword [edi + 0x3fb4], esi
call fcn.1001b890
mov ebx, dword [0x1012ab58]
add esp, 4
mov eax, dword [ebx + 0x3f2c]
test eax, eax
je 0x1000dbfe
cmp eax, esi
je 0x1000dbfe
cmp byte [ebx + 0x3f34], 0
jne 0x1000dbfe
xor bl, bl
jmp 0x1000dd5a
mov eax, dword [ebx + 0x3f04]
mov dword [ebp - 0xc], eax
cmp dword [ebx + 0x3f08], eax
je 0x1000dc16
xor bl, bl
jmp 0x1000dd5a
mov eax, dword [ebx + 0x3f40]
test eax, eax
je 0x1000dc34
cmp eax, esi
je 0x1000dc34
cmp byte [ebx + 0x3f4d], 0
jne 0x1000dc34
xor bl, bl
jmp 0x1000dd5a
lea eax, [edi + 0x3fc0]
lea ecx, [eax + 8]
push 1
push ecx
push eax
mov dword [ebp - 0x10], ecx
call fcn.1001b1a0
add esp, 0xc
test al, al
jne 0x1000dc57
xor bl, bl
jmp 0x1000dd5a
push 0
push dword [ebp - 0xc]
call fcn.1001b3c0
add esp, 8
test al, al
jne 0x1000dc76
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x1000dd5a
test esi, esi
je 0x1000dcaa
mov eax, dword [0x1012ab58]
mov dword [eax + 0x3f2c], esi
mov word [eax + 0x3f34], 0
cmp dword [eax + 0x3f30], esi
je 0x1000dcaa
mov dword [eax + 0x3f3c], 0
mov dword [eax + 0x3f38], 0
cmp dword [ebx + 0x3fb4], esi
jne 0x1000dcba
mov eax, dword [ebx + 0x3fb8]
jmp 0x1000dcc0
mov eax, dword [ebx + 0x3f9c]
test al, 4
je 0x1000dce3
cmp dword [ebx + 0x3f40], esi
jne 0x1000dcd8
push 0
push 0
call fcn.10024830
add esp, 8
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x1000dd5a
test esi, esi
je 0x1000dd2e
cmp byte [ebx + 0x53f8], 0
je 0x1000dd25
cmp dword [ebx + 0x3f30], esi
jne 0x1000dd25
call fcn.100193d0
push ecx
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0
lea ecx, [edi + 0x3fc0]
push 0xff00ffff
push dword [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.1002c3c0
cmp dword [ebx + 0x53fc], esi
jne 0x1000dd2e
int3
cmp byte [ebx + 0x4163], 0
je 0x1000dd3b
xor bl, bl
jmp 0x1000dd5a
cmp byte [edi + 0x3678], 0
mov bl, 1
je 0x1000dd5a
push dword [ebp - 4]
push esi
call fcn.10024830
push dword [ebp - 4]
call fcn.10018f50
add esp, 0xc
cmp dword [edi + 0x3f40], esi
jne 0x1000dd9c
mov eax, dword [ebp - 4]
xor esi, esi
mov byte [edi + 0x3f4d], bl
mov ecx, dword [eax + 0xfc]
mov eax, dword [eax + 0x104]
push ecx
mov dword [esp], 0xbf800000
push esi
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp - 0xc], eax
call fcn.1001b160
add esp, 8
mov bl, al
call fcn.10024980
test bl, bl
jne 0x1000dde0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
mov edx, 0x1009f74d
mov al, 0x23
or esi, 0xffffffff
cmp al, 0x23
jne 0x1000ddc0
cmp byte [edx], al
jne 0x1000ddc0
cmp byte [edx + 1], al
cmove ebx, esi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x1009e5e0]
test al, al
jne 0x1000ddb2
mov esi, dword [ebp - 0x10]
not ebx
jmp 0x1000dde3
mov ebx, dword [ebp - 8]
cmp byte [edi + 0x4294], 0
jne 0x1000de25
call fcn.1000f260
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x42b0], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x42ac], ebx
mov byte [edi + 0x4294], 1
mov dword [edi + 0x4298], eax
mov dword [edi + 0x42a0], esi
cmp ebx, dword [edi + 0x3f40]
jne 0x1000de25
mov byte [edi + 0x3f4e], 1
mov ebx, dword [ebp + 8]
mov eax, dword [edi + 0x3ea0]
mov dword [edi + 0x429c], eax
mov byte [edi + 0x4295], 1
test bl, 1
jne 0x1000de7c
push 0
push 0
call fcn.1000dfd0
add esp, 8
cmp dword [edi + 0x42fc], 0
je 0x1000de7c
test dword [edi + 0x42f0], 0x1000
je 0x1000de7c
mov eax, dword [edi + 0x3f04]
mov byte [eax + 0xc8], 1
mov byte [eax + 0xca], 1
mov byte [eax + 0xe4], 1
test bl, 0x12
jne 0x1000de88
and dword [edi + 0x3fbc], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret