Function at 0x415270
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42d478
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x43b050]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
lea ebx, [ecx + 1]
mov dword [eax], 0
mov al, byte [ebx]
test al, al
je 0x415418
cmp al, 0x23
jne 0x415418
mov al, byte [ecx + 2]
lea edx, [ecx + 2]
test al, al
je 0x415418
xor ebx, ebx
lea edi, [ebx + 1]
cmp al, 0x78
jne 0x415363
cmp byte [ecx + 3], bl
lea eax, [ecx + 3]
jne 0x4152f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x3b
push eax
call fcn.0041bd70
add esp, 8
test eax, eax
je 0x4152dc
cmp byte [eax], bl
je 0x4152dc
mov ecx, eax
sub ecx, dword [ebp + 8]
dec eax
mov dword [ebp - 0x10], ecx
mov cl, byte [eax]
cmp cl, 0x78
je 0x4153bb
cmp cl, 0x30
jl 0x415329
cmp cl, 0x39
jg 0x415329
movsx ecx, cl
sub ecx, 0x30
jmp 0x415350
cmp cl, 0x61
jl 0x415340
cmp cl, 0x66
jg 0x415340
movsx edx, cl
sub edx, 0x57
imul edx, edi
add ebx, edx
jmp 0x415355
cmp cl, 0x41
jl 0x4152dc
cmp cl, 0x46
jg 0x4152dc
movsx ecx, cl
sub ecx, 0x37
imul ecx, edi
add ebx, ecx
mov cl, byte [eax - 1]
dec eax
shl edi, 4
cmp cl, 0x78
jne 0x415317
jmp 0x4153bb
push 0x3b
push edx
call fcn.0041bd70
add esp, 8
test eax, eax
je 0x4152dc
cmp byte [eax], bl
je 0x4152dc
mov ecx, eax
sub ecx, dword [ebp + 8]
dec eax
mov dword [ebp - 0x10], ecx
mov cl, byte [eax]
cmp cl, 0x23
je 0x4153bb
mov edi, edi
cmp cl, 0x30
jl 0x4152dc
cmp cl, 0x39
jg 0x4152dc
movsx edx, cl
mov cl, byte [eax - 1]
sub edx, 0x30
imul edx, edi
dec eax
lea edi, [edi + edi*4]
add ebx, edx
add edi, edi
cmp cl, 0x23
jne 0x415390
cmp dword [ebp + 0x14], 1
jne 0x4153ee
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.00414e00
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add esp, 4
lea eax, [eax + ecx + 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x10]
mov byte [ecx], bl
mov ecx, dword [ebp + 8]
mov dword [edx], 1
lea eax, [eax + ecx + 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov edi, 0x43c2c4
jmp 0x415424
mov ecx, dword [ebp + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
push edx
push ecx
push eax
call fcn.0041cba0
add esp, 0xc
test eax, eax
je 0x415462
add edi, 0xc
inc esi
cmp edi, 0x43c300
jl 0x415421
mov edx, dword [ebp + 8]
mov al, byte [edx]
mov ecx, dword [ebp + 0xc]
mov byte [ecx], al
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
lea eax, [esi + esi*2]
add eax, eax
mov cl, byte [eax + eax + 0x43c2cc]
add eax, eax
mov byte [edx], cl
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 0x43c2c8]
add eax, dword [ebp + 8]
mov dword [ecx], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret