Function at 0x41b140
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test esi, esi
sets bl
mov edi, esi
sub edi, 1
sete bh
or bl, bh
mov edi, esi
sub edi, 0x25
setge bh
or bl, bh
test bl, 1
jne 0x41b176
jmp 0x41b17b
jmp 0x41b312
add eax, edx
jmp 0x41b17f
add eax, 0xffffffff
jmp 0x41b184
jmp 0x41b186
jmp 0x41b188
mov byte [eax], 0
cmp ecx, 0
sete dl
test dl, 1
jne 0x41b198
jmp 0x41b1a6
mov edx, eax
add edx, 0xffffffff
mov byte [eax - 1], 0x30
jmp 0x41b310
cmp esi, 0xa
sete dl
test dl, 1
jne 0x41b1b6
jmp 0x41b255
jmp 0x41b1b8
cmp ecx, 0x64
setae dl
test dl, 1
jne 0x41b1c5
jmp 0x41b201
mov esi, 0x64
mov edi, eax
mov eax, ecx
xor edx, edx
div esi
shl edx, 1
mov al, byte [edx + 0x4402d7]
mov esi, edi
add esi, 0xffffffff
mov byte [edi - 1], al
mov al, byte [edx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
add esi, 0xffffffff
mov byte [edi - 2], al
mov edi, 0x64
mov eax, ecx
xor edx, edx
div edi
mov ecx, eax
mov eax, esi
jmp 0x41b1b8
cmp ecx, 0xa
jae 0x41b217
mov cl, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edx, eax
add edx, 0xffffffff
mov byte [eax - 1], cl
jmp 0x41b250
mov edx, ecx
and edx, 0xfffffffd
mov esi, ecx
or esi, 0xfffffffd
xor esi, 0xffffffff
imul esi, edx
mov edx, ecx
and edx, 2
or ecx, 2
imul ecx, edx
add ecx, esi
mov bl, byte [ecx + 0x4402d7]
mov edx, eax
add edx, 0xffffffff
mov byte [eax - 1], bl
mov cl, byte [ecx + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
add edx, 0xffffffff
mov byte [eax - 2], cl
jmp 0x41b310
cmp esi, 0x10
sete dl
test dl, 1
jne 0x41b264
jmp 0x41b262
jmp 0x41b2e2
jmp 0x41b266
cmp ecx, 0x100
jb 0x41b29b
mov esi, ecx
and esi, 0xff
shl esi, 1
mov bl, byte [esi + 0x4403a0]
mov edx, eax
add edx, 0xffffffff
mov byte [eax - 1], bl
mov bl, byte [esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
add edx, 0xffffffff
mov byte [eax - 2], bl
shr ecx, 8
mov eax, edx
jmp 0x41b266
cmp ecx, 0x10
setb dl
test dl, 1
jne 0x41b2a8
jmp 0x41b2b9
mov cl, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edx, eax
add edx, 0xffffffff
mov byte [eax - 1], cl
jmp 0x41b310
shl ecx, 1
lea edx, str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
add edx, ecx
mov ecx, edx
add ecx, 1
jmp 0x41b2ca
mov bl, byte [ecx]
mov ecx, eax
add ecx, 0xffffffff
mov byte [eax - 1], bl
jmp 0x41b2d6
mov al, byte [edx]
mov edx, ecx
add edx, 0xffffffff
mov byte [ecx - 1], al
jmp 0x41b310
cmp ecx, 0
jbe 0x41b30c
mov edi, eax
mov eax, ecx
xor edx, edx
div esi
mov al, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edx, edi
mov edi, edx
add edi, 0xffffffff
mov byte [edx - 1], al
mov eax, ecx
xor edx, edx
div esi
mov ecx, eax
mov eax, edi
jmp 0x41b2e2
mov edx, eax
jmp 0x41b310
mov eax, edx
add esp, 0xc
pop esi
pop edi
pop ebx
ret