Function at 0x50bf00
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
or eax, 0xffffffff
push esi
mov esi, dword [ebp + 0xc]
cmp esi, 0x10
jb 0x50c1c4
mov dl, byte [ecx]
cmp dl, 0x61
jl 0x50bf2a
cmp dl, 0x7a
jg 0x50bf2a
movsx edx, dl
sub edx, 0x20
jmp 0x50bf2d
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 1]
cmp dl, 0x61
jl 0x50bf54
cmp dl, 0x7a
jg 0x50bf54
movsx edx, dl
sub edx, 0x20
jmp 0x50bf57
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 2]
cmp dl, 0x61
jl 0x50bf7e
cmp dl, 0x7a
jg 0x50bf7e
movsx edx, dl
sub edx, 0x20
jmp 0x50bf81
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 3]
cmp dl, 0x61
jl 0x50bfa8
cmp dl, 0x7a
jg 0x50bfa8
movsx edx, dl
sub edx, 0x20
jmp 0x50bfab
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 4]
cmp dl, 0x61
jl 0x50bfd2
cmp dl, 0x7a
jg 0x50bfd2
movsx edx, dl
sub edx, 0x20
jmp 0x50bfd5
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 5]
cmp dl, 0x61
jl 0x50bffc
cmp dl, 0x7a
jg 0x50bffc
movsx edx, dl
sub edx, 0x20
jmp 0x50bfff
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 6]
cmp dl, 0x61
jl 0x50c026
cmp dl, 0x7a
jg 0x50c026
movsx edx, dl
sub edx, 0x20
jmp 0x50c029
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 7]
cmp dl, 0x61
jl 0x50c050
cmp dl, 0x7a
jg 0x50c050
movsx edx, dl
sub edx, 0x20
jmp 0x50c053
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 8]
cmp dl, 0x61
jl 0x50c07a
cmp dl, 0x7a
jg 0x50c07a
movsx edx, dl
sub edx, 0x20
jmp 0x50c07d
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 9]
cmp dl, 0x61
jl 0x50c0a4
cmp dl, 0x7a
jg 0x50c0a4
movsx edx, dl
sub edx, 0x20
jmp 0x50c0a7
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xa]
cmp dl, 0x61
jl 0x50c0ce
cmp dl, 0x7a
jg 0x50c0ce
movsx edx, dl
sub edx, 0x20
jmp 0x50c0d1
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xb]
cmp dl, 0x61
jl 0x50c0f8
cmp dl, 0x7a
jg 0x50c0f8
movsx edx, dl
sub edx, 0x20
jmp 0x50c0fb
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xc]
cmp dl, 0x61
jl 0x50c122
cmp dl, 0x7a
jg 0x50c122
movsx edx, dl
sub edx, 0x20
jmp 0x50c125
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xd]
cmp dl, 0x61
jl 0x50c14c
cmp dl, 0x7a
jg 0x50c14c
movsx edx, dl
sub edx, 0x20
jmp 0x50c14f
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xe]
cmp dl, 0x61
jl 0x50c176
cmp dl, 0x7a
jg 0x50c176
movsx edx, dl
sub edx, 0x20
jmp 0x50c179
movsx edx, dl
xor edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x6962a8]
mov dl, byte [ecx + 0xf]
cmp dl, 0x61
jl 0x50c1a0
cmp dl, 0x7a
jg 0x50c1a0
movsx edx, dl
sub edx, 0x20
jmp 0x50c1a3
movsx edx, dl
xor edx, eax
sub esi, 0x10
and edx, 0xff
shr eax, 8
add ecx, 0x10
xor eax, dword [edx*4 + 0x6962a8]
cmp esi, 0x10
jae 0x50bf16
test esi, esi
je 0x50c1f5
mov dl, byte [ecx]
cmp dl, 0x61
jl 0x50c1dc
cmp dl, 0x7a
jg 0x50c1dc
movsx edx, dl
sub edx, 0x20
jmp 0x50c1df
movsx edx, dl
xor edx, eax
inc ecx
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6962a8]
dec esi
jne 0x50c1c8
not eax
pop esi
pop ebp
ret