Function at 0x435ab0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
push ebx
push edi
push esi
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test edi, edi
je 0x435d4c
mov ebx, dword [esp + 0x14]
cmp esi, 0x40
jb 0x435af8
mov eax, dword [0x46b410]
cmp dword [eax], 0
je 0x435af8
mov ebp, esi
not ebx
and ebp, 0xfffffff0
push ebx
push ebp
push edi
call fcn.00452ac0
add esp, 0xc
mov ebx, eax
and esi, 0xf
not ebx
je 0x435d57
add edi, ebp
not ebx
test esi, esi
je 0x435b22
nop
mov eax, edi
and eax, 3
je 0x435b22
movzx eax, byte [edi]
movzx ecx, bl
shr ebx, 8
inc edi
xor ecx, eax
xor ebx, dword [ecx*4 + 0x46bcd0]
cmp esi, 1
lea esi, [esi - 1]
jne 0x435b00
cmp esi, 0x20
jb 0x435cce
nop dword [eax + eax]
xor ebx, dword [edi]
add esi, 0xffffffe0
movzx eax, bh
movzx ecx, bl
mov eax, dword [eax*4 + 0x46c4d0]
xor eax, dword [ecx*4 + 0x46c8d0]
mov ecx, ebx
shr ebx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
xor eax, dword [ecx + 0x46c0d0]
xor eax, dword [ebx*4 + 0x46bcd0]
xor eax, dword [edi + 4]
movzx ecx, ah
movzx edx, al
mov ecx, dword [ecx*4 + 0x46c4d0]
xor ecx, dword [edx*4 + 0x46c8d0]
mov edx, eax
shr eax, 0x18
shr edx, 0xe
and edx, 0x3fc
xor ecx, dword [edx + 0x46c0d0]
xor ecx, dword [eax*4 + 0x46bcd0]
xor ecx, dword [edi + 8]
movzx eax, ch
movzx edx, cl
mov eax, dword [eax*4 + 0x46c4d0]
xor eax, dword [edx*4 + 0x46c8d0]
mov edx, ecx
shr ecx, 0x18
shr edx, 0xe
and edx, 0x3fc
xor eax, dword [edx + 0x46c0d0]
xor eax, dword [ecx*4 + 0x46bcd0]
xor eax, dword [edi + 0xc]
movzx ecx, ah
movzx edx, al
mov ecx, dword [ecx*4 + 0x46c4d0]
xor ecx, dword [edx*4 + 0x46c8d0]
mov edx, eax
shr eax, 0x18
shr edx, 0xe
and edx, 0x3fc
xor ecx, dword [edx + 0x46c0d0]
xor ecx, dword [eax*4 + 0x46bcd0]
xor ecx, dword [edi + 0x10]
movzx eax, ch
movzx edx, cl
mov eax, dword [eax*4 + 0x46c4d0]
xor eax, dword [edx*4 + 0x46c8d0]
mov edx, ecx
shr ecx, 0x18
shr edx, 0xe
and edx, 0x3fc
xor eax, dword [edx + 0x46c0d0]
xor eax, dword [ecx*4 + 0x46bcd0]
xor eax, dword [edi + 0x14]
movzx ecx, ah
movzx edx, al
mov ecx, dword [ecx*4 + 0x46c4d0]
xor ecx, dword [edx*4 + 0x46c8d0]
mov edx, eax
shr eax, 0x18
shr edx, 0xe
and edx, 0x3fc
xor ecx, dword [edx + 0x46c0d0]
xor ecx, dword [eax*4 + 0x46bcd0]
xor ecx, dword [edi + 0x18]
movzx eax, ch
movzx edx, cl
mov eax, dword [eax*4 + 0x46c4d0]
xor eax, dword [edx*4 + 0x46c8d0]
mov edx, ecx
shr ecx, 0x18
shr edx, 0xe
and edx, 0x3fc
xor eax, dword [edx + 0x46c0d0]
xor eax, dword [ecx*4 + 0x46bcd0]
xor eax, dword [edi + 0x1c]
add edi, 0x20
movzx edx, ah
movzx ecx, al
mov ebx, dword [edx*4 + 0x46c4d0]
xor ebx, dword [ecx*4 + 0x46c8d0]
mov ecx, eax
shr eax, 0x18
shr ecx, 0xe
and ecx, 0x3fc
xor ebx, dword [ecx + 0x46c0d0]
xor ebx, dword [eax*4 + 0x46bcd0]
cmp esi, 0x1f
ja 0x435b30
cmp esi, 4
jb 0x435d5e
nop word [eax + eax]
xor ebx, dword [edi]
add esi, 0xfffffffc
add edi, 4
movzx eax, bh
movzx ecx, bl
mov eax, dword [eax*4 + 0x46c4d0]
xor eax, dword [ecx*4 + 0x46c8d0]
mov ecx, ebx
shr ebx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
xor eax, dword [ecx + 0x46c0d0]
xor eax, dword [ebx*4 + 0x46bcd0]
cmp esi, 3
mov ebx, eax
ja 0x435ce0
test esi, esi
je 0x435d46
nop word cs:[eax + eax]
nop dword [eax]
movzx ecx, byte [edi]
movzx edx, al
shr eax, 8
inc edi
xor edx, ecx
xor eax, dword [edx*4 + 0x46bcd0]
dec esi
jne 0x435d30
not eax
mov ebx, eax
jmp 0x435d57
xor ebx, ebx
test esi, esi
jne 0x435d57
call fcn.00435530
mov eax, ebx
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ebx
test esi, esi
jne 0x435d30
jmp 0x435d46