Function at 0x600140
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
or bl, 0xff
push edi
mov edi, ecx
cmp edx, 1
jle 0x600176
push esi
mov esi, 1
nop dword [eax + eax]
movzx ecx, byte [ebp + esi + 8]
inc esi
movzx eax, bl
xor ecx, eax
mov bl, byte [ecx + 0x7a7b08]
cmp esi, edx
jl 0x600160
pop esi
mov bh, byte [ebp + 9]
and bh, 0xf
cmp edi, 0x122
ja 0x60032e
je 0x6002f7
lea eax, [edi - 0x86]
cmp eax, 0x91
ja case.0x6001a6.135
movzx eax, byte [eax + 0x600518]
jmp dword [eax*4 + 0x6004fc]
movzx eax, bh
mov dword [ebp - 0x10], 0x86868686
mov dword [ebp - 0xc], 0x86868686
mov dword [ebp - 8], 0x86868686
mov dword [ebp - 4], 0x86868686
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xf5f5f5f5
mov dword [ebp - 0xc], 0xf5f5f5f5
mov dword [ebp - 8], 0xf5f5f5f5
mov dword [ebp - 4], 0xf5f5f5f5
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xdc39693f
mov dword [ebp - 0xc], 0x6414f994
mov dword [ebp - 8], 0xce346ad8
mov dword [ebp - 4], 0x2cb555a2
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0x49f8efb4
mov dword [ebp - 0xc], 0xc0c2e51e
mov dword [ebp - 8], 0xc93c1997
mov dword [ebp - 4], 0x61d698f1
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0x7070707
mov dword [ebp - 0xc], 0x7070707
mov dword [ebp - 8], 0x7070707
mov dword [ebp - 4], 0x7070707
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xacacacac
mov dword [ebp - 0xc], 0xacacacac
mov dword [ebp - 8], 0xacacacac
mov dword [ebp - 4], 0xacacacac
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xa9f37d37
mov dword [ebp - 0xc], 0x4d6d4618
mov dword [ebp - 8], 0x9c92713d
mov dword [ebp - 4], 0xb91032e5
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
cmp edi, 0x30c
ja 0x600433
je 0x6003fc
mov eax, edi
sub eax, 0x126
je 0x6003c5
sub eax, 5
je 0x60038e
sub eax, 0x5c
jne case.0x6001a6.135
movzx eax, bh
mov dword [ebp - 0x10], 0xc217ed7f
mov dword [ebp - 0xc], 0x2144eb7c
mov dword [ebp - 8], 0x15dbfa01
mov dword [ebp - 4], 0x5236b4a
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0x27b4386a
mov dword [ebp - 0xc], 0xbbe1ef22
mov dword [ebp - 8], 0x498480f8
mov dword [ebp - 4], 0x2b1e9ec7
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xdadadada
mov dword [ebp - 0xc], 0xdadadada
mov dword [ebp - 8], 0xdadadada
mov dword [ebp - 4], 0xdadadada
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xf0f0f0f
mov dword [ebp - 0xc], 0xf0f0f0f
mov dword [ebp - 8], 0xf0f0f0f
mov dword [ebp - 4], 0xf0f0f0f
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
cmp edi, 0x3c0
je 0x6004c3
cmp edi, 0x65d
je 0x60048c
push edi
push str.Attempt_to_CRC_check_undefined_Volkswagen_message_0x_02X_n
call fcn.004b6090
movzx eax, bh
add esp, 8
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xebabb3ac
mov dword [ebp - 0xc], 0xf73be17a
mov dword [ebp - 8], 0x9e7cba73
mov dword [ebp - 4], 0xd9025f06
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret
movzx eax, bh
mov dword [ebp - 0x10], 0xc3c3c3c3
mov dword [ebp - 0xc], 0xc3c3c3c3
mov dword [ebp - 8], 0xc3c3c3c3
mov dword [ebp - 4], 0xc3c3c3c3
xor bl, byte [ebp + eax - 0x10]
movzx eax, bl
pop edi
pop ebx
mov al, byte [eax + 0x7a7b08]
not al
movzx eax, al
mov esp, ebp
pop ebp
ret