Function at 0x58c5c0
Capabilities:
Hash data with crc32

Disassembly:
mov ecx, dword [esp + 4]
push esi
mov esi, dword [esp + 0xc]
or eax, 0xffffffff
cmp esi, 0x10
jb 0x58c883
mov dl, byte [ecx]
cmp dl, 0x61
jl 0x58c5e9
cmp dl, 0x7a
jg 0x58c5e9
movsx edx, dl
sub edx, 0x20
jmp 0x58c5ec
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 1]
cmp dl, 0x61
jl 0x58c613
cmp dl, 0x7a
jg 0x58c613
movsx edx, dl
sub edx, 0x20
jmp 0x58c616
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 2]
cmp dl, 0x61
jl 0x58c63d
cmp dl, 0x7a
jg 0x58c63d
movsx edx, dl
sub edx, 0x20
jmp 0x58c640
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 3]
cmp dl, 0x61
jl 0x58c667
cmp dl, 0x7a
jg 0x58c667
movsx edx, dl
sub edx, 0x20
jmp 0x58c66a
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 4]
cmp dl, 0x61
jl 0x58c691
cmp dl, 0x7a
jg 0x58c691
movsx edx, dl
sub edx, 0x20
jmp 0x58c694
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 5]
cmp dl, 0x61
jl 0x58c6bb
cmp dl, 0x7a
jg 0x58c6bb
movsx edx, dl
sub edx, 0x20
jmp 0x58c6be
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 6]
cmp dl, 0x61
jl 0x58c6e5
cmp dl, 0x7a
jg 0x58c6e5
movsx edx, dl
sub edx, 0x20
jmp 0x58c6e8
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 7]
cmp dl, 0x61
jl 0x58c70f
cmp dl, 0x7a
jg 0x58c70f
movsx edx, dl
sub edx, 0x20
jmp 0x58c712
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 8]
cmp dl, 0x61
jl 0x58c739
cmp dl, 0x7a
jg 0x58c739
movsx edx, dl
sub edx, 0x20
jmp 0x58c73c
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 9]
cmp dl, 0x61
jl 0x58c763
cmp dl, 0x7a
jg 0x58c763
movsx edx, dl
sub edx, 0x20
jmp 0x58c766
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xa]
cmp dl, 0x61
jl 0x58c78d
cmp dl, 0x7a
jg 0x58c78d
movsx edx, dl
sub edx, 0x20
jmp 0x58c790
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xb]
cmp dl, 0x61
jl 0x58c7b7
cmp dl, 0x7a
jg 0x58c7b7
movsx edx, dl
sub edx, 0x20
jmp 0x58c7ba
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xc]
cmp dl, 0x61
jl 0x58c7e1
cmp dl, 0x7a
jg 0x58c7e1
movsx edx, dl
sub edx, 0x20
jmp 0x58c7e4
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xd]
cmp dl, 0x61
jl 0x58c80b
cmp dl, 0x7a
jg 0x58c80b
movsx edx, dl
sub edx, 0x20
jmp 0x58c80e
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xe]
cmp dl, 0x61
jl 0x58c835
cmp dl, 0x7a
jg 0x58c835
movsx edx, dl
sub edx, 0x20
jmp 0x58c838
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
mov dl, byte [ecx + 0xf]
cmp dl, 0x61
jl 0x58c85f
cmp dl, 0x7a
jg 0x58c85f
movsx edx, dl
sub edx, 0x20
jmp 0x58c862
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
sub esi, 0x10
add ecx, 0x10
cmp esi, 0x10
jae 0x58c5d5
test esi, esi
je 0x58c8b6
mov dl, byte [ecx]
cmp dl, 0x61
jl 0x58c89b
cmp dl, 0x7a
jg 0x58c89b
movsx edx, dl
sub edx, 0x20
jmp 0x58c89e
movsx edx, dl
xor edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x6f0b80]
inc ecx
sub esi, 1
jne 0x58c887
not eax
pop esi
ret