Function at 0x46b430
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 [0x55b690]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], ecx
mov eax, dword [edi + 0x3f04]
mov dword [ebp - 4], eax
test cl, 0x10
jne 0x46b6c8
mov esi, dword [edi + 0x3fb0]
mov dword [ebp + 8], esi
test esi, esi
je 0x46b4a6
cmp dword [edi + 0x3f40], esi
jne 0x46b6bf
mov esi, dword [edi + 0x3f80]
xor ecx, ecx
cmp esi, 0xffffffff
cmove esi, ecx
cmp byte [esi + edi + 0xd60], cl
je 0x46b6bf
cmp byte [eax + 0xc8], cl
jne 0x46b6bf
xor bl, bl
jmp 0x46b68a
cmp byte [edi + 0xd60], 0
je 0x46b6bf
cmp byte [eax + 0xc8], 0
jne 0x46b6bf
test byte [edi + 0x3fb8], 1
jne 0x46b4e2
cmp dword [edi + 0x3f40], 0
je 0x46b6bf
cmp dword [edi + 0x3f78], eax
jne 0x46b6bf
test cl, 8
je 0x46b6bf
lea ecx, [edi + 0x3fbc]
push ecx
mov ecx, eax
call fcn.0047b370
mov esi, eax
mov dword [edi + 0x3fb0], esi
mov ebx, dword [0x55b690]
mov dword [ebp + 8], esi
mov eax, dword [ebx + 0x3f2c]
test eax, eax
je 0x46b528
cmp eax, esi
je 0x46b528
cmp byte [ebx + 0x3f34], 0
jne 0x46b528
xor bl, bl
jmp 0x46b67d
mov eax, dword [ebx + 0x3f04]
mov dword [ebp - 8], eax
cmp dword [ebx + 0x3f08], eax
je 0x46b540
xor bl, bl
jmp 0x46b67d
mov eax, dword [ebx + 0x3f40]
test eax, eax
je 0x46b55e
cmp eax, esi
je 0x46b55e
cmp byte [ebx + 0x3f4d], 0
jne 0x46b55e
xor bl, bl
jmp 0x46b67d
lea eax, [edi + 0x3fbc]
lea ecx, [eax + 8]
push 1
push ecx
push eax
mov dword [ebp - 0x10], ecx
call fcn.0047e5d0
add esp, 0xc
test al, al
jne 0x46b581
xor bl, bl
jmp 0x46b67d
push 0
push dword [ebp - 8]
call fcn.0047e940
add esp, 8
test al, al
jne 0x46b5a0
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x46b67d
test esi, esi
je 0x46b5d4
mov eax, dword [0x55b690]
mov dword [eax + 0x3f2c], esi
mov word [eax + 0x3f34], 0
cmp dword [eax + 0x3f30], esi
je 0x46b5d4
mov dword [eax + 0x3f3c], 0
mov dword [eax + 0x3f38], 0
cmp dword [ebx + 0x3fb0], esi
jne 0x46b5e4
mov eax, dword [ebx + 0x3fb4]
jmp 0x46b5ea
mov eax, dword [ebx + 0x3f98]
test al, 4
je 0x46b606
cmp dword [ebx + 0x3f40], esi
jne 0x46b5fb
call fcn.0046d330
mov byte [ebx + 0x3f37], 1
xor bl, bl
jmp 0x46b67d
test esi, esi
je 0x46b651
cmp byte [ebx + 0x53e4], 0
je 0x46b648
cmp dword [ebx + 0x3f30], esi
jne 0x46b648
push ecx
mov dword [esp], 0x3f800000
lea eax, [edi + 0x3fbc]
push 0
push ecx
mov dword [esp], 0
push 0xff00ffff
push dword [ebp - 0x10]
push eax
call fcn.0047b010
mov ecx, eax
call fcn.004b0150
cmp dword [ebx + 0x53e8], esi
jne 0x46b651
int3
cmp byte [ebx + 0x415f], 0
je 0x46b65e
xor bl, bl
jmp 0x46b67d
cmp byte [edi + 0x3678], 0
mov bl, 1
je 0x46b67d
push dword [ebp - 4]
push esi
call fcn.004887b0
push dword [ebp - 4]
call fcn.0047a930
add esp, 0xc
cmp dword [edi + 0x3f40], esi
jne 0x46b6bf
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 - 8], eax
call fcn.0047e590
add esp, 8
mov bl, al
call fcn.00488890
test bl, bl
jne 0x46b703
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
or ebx, 0xffffffff
mov al, 0x23
mov edx, 0x512ee1
or esi, 0xffffffff
cmp al, 0x23
jne 0x46b6e3
cmp byte [edx], al
jne 0x46b6e3
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 + 0x511d00]
test al, al
jne 0x46b6d5
mov esi, dword [ebp - 0x10]
not ebx
jmp 0x46b706
mov ebx, dword [ebp + 8]
cmp byte [edi + 0x4290], 0
jne 0x46b748
call fcn.0046d3c0
mov eax, dword [ebp - 8]
mov dword [edi + 0x42ac], eax
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x42a8], ebx
mov byte [edi + 0x4290], 1
mov dword [edi + 0x4294], eax
mov dword [edi + 0x429c], esi
cmp ebx, dword [edi + 0x3f40]
jne 0x46b748
mov byte [edi + 0x3f4e], 1
mov ebx, dword [ebp - 0xc]
mov eax, dword [edi + 0x3ea0]
mov dword [edi + 0x4298], eax
mov byte [edi + 0x4291], 1
test bl, 1
jne 0x46b79f
push 0
push 0
call fcn.0046bf20
add esp, 8
cmp dword [edi + 0x42f8], 0
je 0x46b79f
test dword [edi + 0x42ec], 0x1000
je 0x46b79f
mov eax, dword [edi + 0x3f04]
mov byte [eax + 0xc8], 1
mov byte [eax + 0xca], 1
mov byte [eax + 0xe4], 1
test bl, 0x12
jne 0x46b7ab
and dword [edi + 0x3fb8], 0xfffffffe
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret