Function at 0x46ceb0
Capabilities:
Hash data with crc32

Disassembly:
cmp byte [eax + 0x998], 0
jne 0x46cebe
jmp 0x46ced0
jmp 0x46d1d0
push ebx
push esi
mov esi, eax
mov eax, dword [esi + 0x98c]
movzx ecx, byte [esi + 0x98b]
push edi
push eax
push ecx
call fcn.00493a10
movzx ax, byte [esi + 0x98b]
xor edx, edx
mov word [esi + 0x990], dx
xor ax, word [0x66f3e0]
movzx ecx, ax
mov eax, dword [esi + 0x98c]
movzx edx, cx
shl ecx, 8
shr edx, 8
xor cx, word [edx*2 + 0x66f3e0]
movzx dx, al
xor cx, dx
movzx ecx, cx
mov ebx, eax
movzx edx, cx
shr edx, 8
shr ebx, 8
movzx di, bl
xor di, word [edx*2 + 0x66f3e0]
shl ecx, 8
xor di, cx
mov ebx, eax
movzx ecx, di
movzx edx, cx
shr edx, 8
shr ebx, 0x10
movzx di, bl
xor di, word [edx*2 + 0x66f3e0]
shl ecx, 8
xor di, cx
movzx ecx, di
movzx edx, cx
shr eax, 0x18
shr edx, 8
xor ax, word [edx*2 + 0x66f3e0]
shl ecx, 8
xor ax, cx
movzx eax, ax
movzx ecx, ax
shl eax, 8
shr ecx, 8
xor ax, word [ecx*2 + 0x66f3e0]
movzx eax, ax
movzx edx, ax
shl eax, 8
shr edx, 8
xor ax, word [edx*2 + 0x66f3e0]
movzx eax, ax
movzx ecx, ax
push ecx
call fcn.00493a10
mov word [esi + 0x990], ax
add esp, 0xc
mov cl, 0x2a
mov eax, esi
mov dword [esi + 0x960], 0
call fcn.0046d620
mov cl, 0x18
call fcn.0046d620
mov cl, 0x41
call fcn.0046d620
movzx edx, byte [esi + 0x98b]
push edx
call fcn.0046d640
movzx eax, byte [esi + 0x98c]
push eax
call fcn.0046d640
mov ecx, dword [esi + 0x98c]
shr ecx, 8
push ecx
call fcn.0046d640
movzx edx, byte [esi + 0x98e]
push edx
call fcn.0046d640
movzx eax, byte [esi + 0x98f]
push eax
call fcn.0046d640
movzx ecx, byte [esi + 0x991]
push ecx
call fcn.0046d640
movzx edx, byte [esi + 0x990]
push edx
call fcn.0046d640
call fcn.00493a10
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x960]
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
push edx
add esi, 0x60
push esi
call eax
pop edi
pop esi
pop ebx
ret
push esi
mov esi, eax
mov eax, dword [esi + 0x98c]
movzx ecx, byte [esi + 0x98b]
push edi
push eax
push ecx
call fcn.00493a10
mov dl, byte [esi + 0x98b]
mov ecx, dword [esi + 0x98c]
not dl
movzx eax, dl
mov dword [esi + 0x994], 0xffffffff
mov eax, dword [eax*4 + 0x66f5e0]
xor eax, 0xffffff
mov dword [esi + 0x994], eax
mov edx, eax
and edx, 0xff
shr eax, 8
movzx edi, cl
xor edx, edi
mov edx, dword [edx*4 + 0x66f5e0]
xor edx, eax
mov dword [esi + 0x994], edx
mov edi, edx
mov eax, ecx
shr eax, 8
movzx eax, al
and edi, 0xff
xor eax, edi
mov edi, dword [eax*4 + 0x66f5e0]
shr edx, 8
xor edi, edx
mov edx, ecx
shr edx, 0x10
movzx eax, dl
mov edx, edi
mov dword [esi + 0x994], edi
and edx, 0xff
xor eax, edx
mov eax, dword [eax*4 + 0x66f5e0]
shr edi, 8
xor eax, edi
mov edx, eax
mov dword [esi + 0x994], eax
shr ecx, 0x18
and edx, 0xff
shr eax, 8
xor ecx, edx
xor eax, dword [ecx*4 + 0x66f5e0]
not eax
push eax
mov dword [esi + 0x994], eax
call fcn.00493a10
add esp, 0xc
mov cl, 0x2a
mov eax, esi
mov dword [esi + 0x960], 0
call fcn.0046d620
mov cl, 0x18
call fcn.0046d620
mov cl, 0x43
call fcn.0046d620
movzx eax, byte [esi + 0x98b]
push eax
call fcn.0046d640
movzx ecx, byte [esi + 0x98c]
push ecx
call fcn.0046d640
mov edx, dword [esi + 0x98c]
shr edx, 8
push edx
call fcn.0046d640
movzx eax, byte [esi + 0x98e]
push eax
call fcn.0046d640
movzx ecx, byte [esi + 0x98f]
push ecx
call fcn.0046d640
movzx edx, byte [esi + 0x994]
push edx
call fcn.0046d640
mov eax, dword [esi + 0x994]
shr eax, 8
push eax
call fcn.0046d640
movzx ecx, byte [esi + 0x996]
push ecx
call fcn.0046d640
movzx edx, byte [esi + 0x997]
push edx
call fcn.0046d640
call fcn.00493a10
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x960]
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
push edx
add esi, 0x60
push esi
call eax
pop edi
pop esi
ret