Function at 0x834d3f
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp ebx, 1
pushal
mov byte [esp + 4], al
lea esp, [esp + 0x40]
je 0x83f784
cmc
push edx
cmp ebx, 2
jmp 0xb681ad
lea esp, [esp + 0x2c]
bt edx, 0x1c
add esi, 2
pushal
pushal
push dword [esp + 4]
dec ecx
mov word [esp], sp
lea esp, [esp + 0x44]
jo 0x7eaa8d
pushal
pushfd
lea esp, [esp + 0x24]
jne 0x837646
push 0x9ca7f994
pushfd
pushfd
lea esp, [esp + 0xc]
jmp 0x834a19
mov si, 0xf020
xchg di, si
xchg di, si
pop edi
pushal
mov esi, dword [esp + 0x20]
push dword [esp]
push 0x492fd85
mov word [esp + 8], bp
jmp 0x7e522a
pushfd
shr ebx, 0xc
call fcn.007eaac7
mov dword [esp + 0x18], ecx
mov byte [esp + 4], ch
mov byte [esp], dl
cmc
cmc
mov dword [esp + 0x14], ebx
call fcn.00835cd6
aaa
mov esi, 0x353c3b84
adc al, byte [edi - 0x6cf7f68e]
jmp 0x7ea469
invalid
lea esp, [esp + 0x2c]
jbe 0x834136
je 0x83f784
test bl, ch
clc
stc
cmp ebx, 2
jmp 0xb689d9
push ebx
lea esp, [esp + 4]
jne 0x837646
push ecx
lea esp, [esp + 4]
jmp 0x834a19
push 0x8ffd3c47
jmp 0x8369f9
call fcn.007e8300
add byte [eax], al
pop edi
push esp
call fcn.0083f6d0
add byte [eax], al
inc ebx
dec esp
push ebx
dec ecx
inc esp
inc esi
jb 0x834da6
insd dword es:[edi], dx
push ebx
je 0x834dad
imul ebp, dword [esi + 0x67], 0x41fe8100
out dx, eax
cmp eax, 0x4ef8341
push ebx
jmp 0x835d9f
test eax, 0x75fff7d3
clc
inc esp
and al, 0x1c
pushal
push dword [edi]
pop dword [esp + 0x24]
jmp 0x8363ba
mov byte [esp], dh
push 0x84d35135
lea esp, [esp + 8]
je 0x83f784
bt di, 6
test eax, ecx
test cl, 0x51
test bh, cl
cmp ebx, 2
pushal
mov byte [esp], ah
pushfd
push ecx
lea esp, [esp + 0x28]
je 0x83fdd7
bt esi, 0x1c
pushfd
clc
cmp ebx, 3
jmp 0xb67b55
sal bh, 6
btc bx, bx
mov bx, word [esi]
je 0x7ea3c0
cmp eax, 0xe4d77cb2
pushal
clc
shr ebx, 0xc
jmp 0x7e3692
clc
add word [edi + ebx], dx
pushal
pushfd
pushfd
lea esp, [esp + 0x48]
jmp 0x7e53a6
cmp ebx, 1
pushal
jmp 0x7ea6fb
sar bh, 4
and bl, 0x67
pushal
mov bx, word [esi]
pushfd
jmp 0x840334
ror bh, cl
mov bx, word [esi]
pushal
jmp 0x8403d9
pushfd
bt ax, cx
and ebx, 0xfff
push 0x54ad1970
stc
call fcn.00835c1d
add byte [eax], al
inc edi
je 0x840393
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
dec esp
imul ebp, dword [esi + 0x65], 0x8d600041
pushal
lea esp, [esp + 0x34]
jne 0x7e9a95
bt sp, 0xd
bt si, 0xe
cmp bl, 0xff
clc
cmp byte [esi - 1], 0
jae 0x834d28
pushfd
pushfd
lea esp, [esp + 8]
jne 0x7e9c0e
lea edi, [ecx - 0x2631b1a7]
movsx si, dl
call fcn.007e854a
add byte [eax], al
inc edi
je 0x8403eb
mov esi, 0x81b0e8f2
cli
inc dword [eax]
add byte [edi + 0x65], al
je 0x8403eb
jns 0x8403f6
je 0x840406
je 0x84040c
add byte [ebx + 0x3488003e], al
and al, 0xe8
pop ebx
jb 0x8403b1
invalid
jmp [eax + 0x66]
and ebx, 0xfff
jmp 0x843173
imul ebp, dword [esi + 0x74], 0x41000000
push esi
dec ecx
push ebx
je 0x840469
jb 0x84045d
popal
popal
insd dword es:[edi], dx
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
inc ecx
add byte [ebx - 0x60afb11], al
sub edi, 4
cmc
stc
pushal
push dword [edi]
pop dword [esp + 0x20]
stc
stc
pushal
cmp edi, ebx
mov byte [esp + 4], 0x17
jmp 0x7e5597
push esi
call fcn.0083ee09
add byte [eax], al
inc ebx
dec esp
push ebx
dec ecx
inc esp
inc esi
jb 0x8404dc
insd dword es:[edi], dx
push eax
jb 0x8404e0
dec ecx
inc esp
add byte [eax], al
add byte [eax], al
add byte [esi], bl
mov al, 0xa8
dec ecx
test esi, 0xcc292943
jge 0x8404ee
iretd
das
mov al, 0xe9
lds esi, [ecx - 0x619af2b]
mov cl, 0xd5
push eax
out 0xf9, al
jecxz 0x8404e9
invalid
jmp 0x84046d
popal
stosb byte es:[edi], al
push ecx
sahf
jmp [esi + 0x172ad2da]
jmp 0x83f356
pushfd
pushal
lea esp, [esp + 0x28]
je 0xb686b3
pushal
lea esp, [esp + 0x20]
jmp 0x7e53a6
mov byte [esp], ch
lea esp, [esp + 4]
je 0x83fdd7
test ax, dx
cmp ebx, 3
pushal
pushal
mov word [esp + 4], dx
pushfd
lea esp, [esp + 0x44]
je 0xb686b3
push ecx
push dword [esp]
mov byte [esp], bh
lea esp, [esp + 8]
jmp 0x7e53a6
adc bl, bh
mov bx, word [esi]
call fcn.008373ec
call fcn.00834140
adc si, 0xeeda
mov dword [esp + 0x34], ecx
movsx si, cl
shld si, di, cl
xor si, 0x5b35
mov dword [esp + 0x30], 0
btc si, bx
bt di, dx
call fcn.00b69078