Function at 0x435cf0
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]
jmp 0x435cfe
cmp esi, 0
setl bl
jmp 0x435d06
call fcn.0041c740
mov eax, esi
sub eax, 1
sete al
or bl, al
mov eax, esi
sub eax, 0x25
setge al
or bl, al
test bl, 1
jne 0x435d26
jmp 0x435d2b
jmp 0x435ed9
add edi, dword [ebp + 0x10]
mov ecx, edi
add ecx, 0xffffffff
mov byte [ecx], 0
mov ebx, dword [ebp + 8]
cmp ebx, 0
sete al
test al, 1
jne 0x435d45
jmp 0x435d53
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], 0x30
jmp 0x435ed9
cmp esi, 0xa
sete al
test al, 1
jne 0x435d62
jmp 0x435e29
jmp 0x435d64
cmp ebx, 0x64
jb 0x435df0
mov esi, 0x64
mov eax, ebx
xor edx, edx
div esi
mov edi, edx
and edi, 0xfffffffd
mov esi, edx
and esi, 0xfffffffd
xor esi, 0xffffffff
mov eax, edx
add eax, 0xfffffffd
add eax, 1
add eax, esi
mov esi, eax
and esi, 0xffffffff
shl esi, 1
add eax, 0xffffffff
sub eax, esi
imul eax, edi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
xor esi, esi
sub esi, edx
xor edx, edx
sub edx, eax
add esi, edx
xor eax, eax
sub eax, esi
mov esi, ebx
jmp 0x435dbe
mov bl, byte [eax + 0x447761]
mov edx, ecx
add edx, 0xffffffff
mov byte [ecx - 1], bl
mov bl, byte [eax + 0x447760]
mov eax, esi
mov ecx, edx
add ecx, 0xffffffff
mov byte [edx - 1], bl
mov esi, 0x64
xor edx, edx
div esi
mov ebx, eax
jmp 0x435deb
jmp 0x435d64
cmp ebx, 0xa
jae 0x435e06
mov al, byte [ebx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], al
jmp 0x435e24
shl ebx, 1
lea eax, [0x447760]
add eax, ebx
mov dl, byte [eax + 1]
add ecx, 0xffffffff
mov byte [ecx], dl
mov al, byte [eax]
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], al
jmp 0x435e24
jmp 0x435ed9
cmp esi, 0x10
je 0x435e30
jmp 0x435eaf
jmp 0x435e32
cmp ebx, 0x100
setae al
test al, 1
jne 0x435e41
jmp 0x435e73
mov edx, ebx
and edx, 0xff
shl edx, 1
lea eax, str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
add eax, edx
mov dl, byte [edx + 0x44782a]
jmp 0x435e5c
mov esi, ecx
add esi, 0xffffffff
mov byte [ecx - 1], dl
mov al, byte [eax]
add esi, 0xffffffff
mov byte [ecx - 2], al
shr ebx, 8
mov ecx, esi
jmp 0x435e32
cmp ebx, 0x10
jae 0x435e89
mov al, byte [ebx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], al
jmp 0x435ed9
shl ebx, 1
lea eax, str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
add eax, ebx
mov edx, eax
add edx, 1
jmp 0x435e9a
mov dl, byte [edx]
add ecx, 0xffffffff
jmp 0x435ea1
mov byte [ecx], dl
mov al, byte [eax]
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], al
jmp 0x435ed9
cmp ebx, 0
jbe 0x435ed5
mov eax, ebx
xor edx, edx
div esi
mov al, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, ecx
add edi, 0xffffffff
mov byte [ecx - 1], al
mov eax, ebx
xor edx, edx
div esi
mov ebx, eax
mov ecx, edi
jmp 0x435eaf
mov edi, ecx
jmp 0x435ed9
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret