Function at 0x421585
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 4], 0x33
push ebx
mov dword [ebp - 8], 0x1f
push esi
mov ebx, eax
mov dword [ebp - 0xc], 0x20
mov eax, dword [ebp - 8]
mov esi, edx
push edi
cdq
push 0x3b
pop edi
idiv edi
push 0x14
pop edi
not esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
cdq
idiv edi
mov edx, dword [ebp - 4]
sub eax, edx
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
cmp eax, edx
jg 0x4215fe
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
imul eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
imul eax, edx
mov edx, dword [ebp - 4]
imul eax, eax, 0xb
lea eax, [eax + edx + 5]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, 0xff
cmp ebx, 8
jb 0x4216e3
mov edi, ebx
shr edi, 3
movzx edx, byte [ecx]
xor edx, esi
and edx, eax
mov dword [ebp - 0xc], edx
mov edx, esi
mov esi, dword [ebp - 0xc]
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 1]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 2]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 3]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 4]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 5]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 6]
xor esi, edx
and esi, eax
shr edx, 8
xor edx, dword [esi*4 + 0x45bc78]
movzx esi, byte [ecx + 7]
xor esi, edx
shr edx, 8
and esi, eax
xor edx, dword [esi*4 + 0x45bc78]
mov dword [ebp - 0xc], 0x47
mov dword [ebp - 0xc], 0x55
mov dword [ebp - 0xc], 0x44
mov dword [ebp - 0xc], 0x13
mov esi, edx
mov dword [ebp - 8], 0x1e
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x4c
add ecx, 8
sub ebx, 8
dec edi
mov dword [ebp - 0xc], edx
jne 0x421611
test ebx, ebx
je 0x421795
movzx edx, byte [ecx]
xor edx, esi
and edx, eax
shr esi, 8
xor esi, dword [edx*4 + 0x45bc78]
inc ecx
dec ebx
jne 0x4216eb
mov dword [ebp - 4], 0x4b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
sub eax, ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
push 0x28
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
imul eax, eax, 0x63
sub eax, ecx
add eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
lea eax, [eax + ecx + 0x1e]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
imul eax, ecx
pop ecx
sub ecx, eax
mov eax, dword [ebp - 4]
sub ecx, eax
add ecx, dword [ebp - 4]
push 0x16
add ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffd2
pop ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, dword [ebp - 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
imul eax, eax, 0x1a
sub ecx, eax
mov eax, dword [ebp - 4]
sub ecx, eax
add ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
add ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
pop edi
mov eax, esi
pop esi
not eax
pop ebx
leave
ret