Function at 0x434f20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov bx, word [ebp + 8]
call fcn.004190c0
sub esp, 8
push eax
test esi, esi
sets al
mov ecx, esi
sub ecx, 1
sete cl
or al, cl
mov ecx, esi
sub ecx, 0x25
setge cl
or al, cl
test al, 1
jne 0x434f58
jmp 0x434f5d
jmp 0x4350e6
mov eax, ebx
movzx ecx, bx
mov ebx, edi
mov edx, dword [ebp + 0x10]
add ebx, edx
add ebx, 0xffffffff
mov byte [edi + edx - 1], 0
cmp ecx, 0
jne 0x434f84
mov edi, ebx
add edi, 0xffffffff
mov byte [ebx - 1], 0x30
jmp 0x4350e4
cmp esi, 0xa
jne 0x43502e
jmp 0x434f8f
movzx ecx, ax
cmp ecx, 0x64
jb 0x434fea
mov esi, 0x64
mov eax, ecx
xor edx, edx
div esi
mov eax, edx
xor eax, 0xffffffff
and eax, 2
mov esi, edx
and esi, 0xfffffffd
imul esi, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
add edx, esi
mov al, byte [edx + 0x4452bd]
mov esi, ebx
add esi, 0xffffffff
mov byte [ebx - 1], al
mov al, byte [edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
add esi, 0xffffffff
mov byte [ebx - 2], al
mov edi, 0x64
mov eax, ecx
xor edx, edx
div edi
mov ebx, esi
jmp 0x434f8f
cmp ecx, 0xa
setb al
test al, 1
jne 0x434ff6
jmp 0x435007
mov al, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ebx
add edi, 0xffffffff
mov byte [ebx - 1], al
jmp 0x435029
shl ecx, 1
mov dl, byte [ecx + 0x4452bd]
mov eax, ebx
add eax, 0xffffffff
mov byte [ebx - 1], dl
mov cl, byte [ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, eax
add edi, 0xffffffff
mov byte [eax - 1], cl
jmp 0x435029
jmp 0x4350e4
cmp esi, 0x10
sete cl
test cl, 1
jne 0x43503d
jmp 0x43503b
jmp 0x4350b9
jmp 0x43503f
movzx eax, ax
mov ecx, eax
cmp eax, 0x100
setge al
test al, 1
jne 0x435052
jmp 0x435081
mov eax, ecx
mov ecx, eax
and ecx, 0xff
shl ecx, 1
mov dl, byte [ecx + 0x445386]
mov esi, ebx
add esi, 0xffffffff
mov byte [ebx - 1], dl
mov cl, byte [ecx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
add esi, 0xffffffff
mov byte [ebx - 2], cl
shr eax, 8
mov ebx, esi
jmp 0x43503f
mov edx, ecx
cmp edx, 0x10
jge 0x435099
mov al, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ebx
add edi, 0xffffffff
mov byte [ebx - 1], al
jmp 0x4350e4
shl edx, 1
mov al, byte [edx + 0x445386]
mov edi, ebx
add edi, 0xffffffff
mov byte [ebx - 1], al
mov al, byte [edx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
add edi, 0xffffffff
mov byte [ebx - 2], al
jmp 0x4350e4
movzx ecx, ax
cmp ecx, 0
jbe 0x4350e0
mov eax, ecx
xor edx, edx
div esi
mov al, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ebx
add edi, 0xffffffff
mov byte [ebx - 1], al
mov eax, ecx
xor edx, edx
div esi
mov ebx, edi
jmp 0x4350b9
mov edi, ebx
jmp 0x4350e4
jmp 0x4350e6
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret