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

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
test ecx, ecx
je 0x48f57e
mov dword [ebp - 0x10], 1
cmp byte [ebp - 0x10], 0
je 0x48f586
xor ebx, 0xffffffff
test edi, edi
jne 0x48f30d
jmp 0x48f579
mov al, byte [ecx]
inc ecx
xor eax, ebx
shr ebx, 8
and eax, 0xff
mov edx, dword [eax*4 + 0x4d8ca0]
xor ebx, edx
dec edi
je 0x48f579
test cl, 3
jne 0x48f2f0
mov esi, ecx
cmp edi, 0x1f
jbe 0x48f551
lea esi, [esi]
mov eax, dword [esi]
mov edx, ebx
xor edx, eax
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 4]
mov eax, dword [eax*4 + 0x4d8ca0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4d90a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 8]
mov edx, dword [edx*4 + 0x4d8ca0]
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4d90a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 0xc]
mov eax, dword [eax*4 + 0x4d8ca0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4d90a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 0x10]
mov edx, dword [edx*4 + 0x4d8ca0]
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4d90a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
sub edi, 0x20
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 0x14]
mov eax, dword [eax*4 + 0x4d8ca0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4d90a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 0x18]
mov edx, dword [edx*4 + 0x4d8ca0]
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4d90a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d98a0]
mov ecx, dword [esi + 0x1c]
mov eax, dword [eax*4 + 0x4d8ca0]
add esi, 0x20
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4d94a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4d90a0]
xor eax, ecx
mov ecx, eax
movzx edx, al
shr ecx, 0x18
mov ebx, dword [edx*4 + 0x4d98a0]
mov edx, dword [ecx*4 + 0x4d8ca0]
xor ebx, edx
movzx edx, ah
shr eax, 0x10
and eax, 0xff
mov ecx, dword [edx*4 + 0x4d94a0]
xor ebx, ecx
mov edx, dword [eax*4 + 0x4d90a0]
xor ebx, edx
cmp edi, 0x1f
ja 0x48f320
cmp edi, 3
jbe 0x48f556
lea esi, [esi]
mov ecx, dword [esi]
mov eax, ebx
xor eax, ecx
add esi, 4
mov ecx, eax
sub edi, 4
movzx edx, al
shr ecx, 0x18
mov ebx, dword [edx*4 + 0x4d98a0]
mov edx, dword [ecx*4 + 0x4d8ca0]
xor ebx, edx
movzx edx, ah
shr eax, 0x10
and eax, 0xff
mov ecx, dword [edx*4 + 0x4d94a0]
xor ebx, ecx
mov edx, dword [eax*4 + 0x4d90a0]
xor ebx, edx
cmp edi, 3
ja 0x48f510
test edi, edi
je 0x48f579
mov edx, esi
lea esi, [esi]
mov al, byte [edx]
inc edx
xor eax, ebx
shr ebx, 8
and eax, 0xff
mov ecx, dword [eax*4 + 0x4d8ca0]
xor ebx, ecx
dec edi
jne 0x48f560
mov eax, ebx
xor eax, 0xffffffff
add esp, 0x10
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
mov edx, ebx
shr eax, 8
shr edx, 0x18
and eax, 0xff00
add eax, edx
mov edx, ebx
shl ebx, 0x18
and edx, 0xff00
shl edx, 8
add eax, edx
lea ebx, [eax + ebx]
xor ebx, 0xffffffff
test edi, edi
jne 0x48f5d5
jmp 0x48f83e
mov eax, ebx
xor edx, edx
shr eax, 0x18
mov dl, byte [ecx]
xor eax, edx
inc ecx
shl ebx, 8
mov edx, dword [eax*4 + 0x4d9ca0]
xor ebx, edx
dec edi
je 0x48f83e
test cl, 3
jne 0x48f5b6
lea esi, [ecx - 4]
cmp edi, 0x1f
jbe 0x48f811
mov eax, dword [esi + 4]
mov edx, ebx
xor edx, eax
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 8]
mov eax, dword [eax*4 + 0x4da8a0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4da4a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 0xc]
mov edx, dword [edx*4 + 0x4da8a0]
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4da4a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax*4 + 0x4da8a0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4da4a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 0x14]
mov edx, dword [edx*4 + 0x4da8a0]
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4da4a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
sub edi, 0x20
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 0x18]
mov eax, dword [eax*4 + 0x4da8a0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4da4a0]
xor eax, ecx
mov edx, eax
movzx ecx, al
shr edx, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi + 0x1c]
mov edx, dword [edx*4 + 0x4da8a0]
add esi, 0x20
xor edx, ebx
xor edx, ecx
movzx ecx, ah
shr eax, 0x10
and eax, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor edx, ebx
mov ecx, dword [eax*4 + 0x4da4a0]
xor edx, ecx
mov eax, edx
movzx ecx, dl
shr eax, 0x18
mov ebx, dword [ecx*4 + 0x4d9ca0]
mov ecx, dword [esi]
mov eax, dword [eax*4 + 0x4da8a0]
xor eax, ebx
xor eax, ecx
movzx ecx, dh
shr edx, 0x10
and edx, 0xff
mov ebx, dword [ecx*4 + 0x4da0a0]
xor eax, ebx
mov ecx, dword [edx*4 + 0x4da4a0]
xor eax, ecx
mov ecx, eax
movzx edx, al
shr ecx, 0x18
mov ebx, dword [edx*4 + 0x4d9ca0]
mov edx, dword [ecx*4 + 0x4da8a0]
xor ebx, edx
movzx edx, ah
shr eax, 0x10
and eax, 0xff
mov ecx, dword [edx*4 + 0x4da0a0]
xor ebx, ecx
mov edx, dword [eax*4 + 0x4da4a0]
xor ebx, edx
cmp edi, 0x1f
ja 0x48f5e6
cmp edi, 3
jbe 0x48f816
nop
add esi, 4
mov eax, ebx
sub edi, 4
mov ecx, dword [esi]
xor eax, ecx
mov ecx, eax
movzx edx, al
shr ecx, 0x18
mov ebx, dword [edx*4 + 0x4d9ca0]
mov edx, dword [ecx*4 + 0x4da8a0]
xor ebx, edx
movzx edx, ah
shr eax, 0x10
and eax, 0xff
mov ecx, dword [edx*4 + 0x4da0a0]
xor ebx, ecx
mov ecx, dword [eax*4 + 0x4da4a0]
xor ebx, ecx
cmp edi, 3
ja 0x48f7d0
test edi, edi
je 0x48f83e
xor ecx, ecx
lea esi, [esi]
mov eax, ebx
xor edx, edx
shr eax, 0x18
mov dl, byte [ecx + esi + 4]
xor eax, edx
inc ecx
shl ebx, 8
mov edx, dword [eax*4 + 0x4d9ca0]
xor ebx, edx
cmp ecx, edi
jne 0x48f820
mov ecx, ebx
add esp, 0x10
xor ecx, 0xffffffff
pop ebx
mov edx, ecx
mov eax, ecx
shr edx, 8
pop esi
shr eax, 0x18
and edx, 0xff00
add edx, eax
mov eax, ecx
and eax, 0xff00
pop edi
shl eax, 8
pop ebp
shl ecx, 0x18
add edx, eax
lea eax, [edx + ecx]
ret