Function at 0x8363aa
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pushfd
lea esp, [esp + 0x2c]
jae 0x837c06
or bl, bl
mov ebx, eax
sar ch, cl
mov edi, eax
bt dx, ax
dec cx
add cl, 0x14
sar cl, cl
mov ecx, 0x104
pushal
test al, ah
call 0x7eaad0
mov dword [esp + 0x38], 0x7e3468
push dword [esp]
jmp 0x83f462
cmp edi, 0x28b66211
sub ecx, ecx
pushal
cmp bl, ah
cmp ecx, dword [edx + 0x18]
pushfd
push dword [esp]
jmp 0x83f479
push 0x2d0ccf77
mov dword [esp], edi
call 0x834ac4
lea esp, [esp + 0xc]
jne 0x7e96bc
movsx ax, cl
movzx ax, bl
seta al
mov byte [edi - 1], 0
jmp 0x83fcf7
call 0x7e9ee8
add byte [eax], al
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x7e972d
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [eax], al
add byte [edi + 0x65], al
je 0x7e9725
popal
jo 0x7e9728
outsd dx, dword [esi]
add byte gs:[ebp + ecx*4 + 0xf0c2464], bl
pushfd
lea esp, [esp + 0xc]
je 0x7e8f95
pushal
pushfd
pushal
sub al, 0x30
pushfd
cmp al, 9
push 0x8de6b4ff
pushfd
jmp 0x7e96fd
mov byte [esp], bh
lea esp, [esp + 0x50]
ja 0x7e96bc
stc
pushfd
imul edx, edx, 0xa
cmc
push dword [esp]
stc
pushal
add edx, eax
mov dword [esp], edx
push dword [esp]
mov byte [esp + 4], dh
push 0xf9f954a9
test eax, 0x8df9f954
and al, 0x30
stc
lea esp, [esp + 0x30]
jmp 0x834517
repne scasb al, byte es:[edi]
mov word [esp + 8], dx
jmp 0x7e92d9
mov word [esp + 0xc], 0x65d7
jmp 0x7e827e
sub edi, 4
stc
jmp 0x835c43
call fcn.00837994
add byte [eax], al
inc edi
je 0x834415
arpl word [edx + 0x6f], si
insb byte es:[edi], dx
insb byte es:[edi], dx
push eax
outsd dx, dword [esi]
jae 0x8343cb
sti
xchg dword [edx*2 + 0x79f09195], eax
inc esp
or dword [edx], 0x76d0b74f
in eax, dx
fcmovbe st(0), st(3)
arpl word [ebx + edx*4 - 0x30], bx
daa
inc edi
aam 0x16
pop ss
sub byte [ecx], ah
or ch, al
push es
xchg ecx, eax
xor cl, byte [edi - 0x207dac16]
outsb dx, byte [esi]
sar byte [eax - 0x26], 1
cmp ah, byte [edi + 0x6409733f]
inc ebx
sub bh, dl
pop esi
shl byte [eax + ebx*2 - 0x17879558], cl
cmp al, 0x50
mov edx, 0xbf28d6c4
aam 9
push edx
sal dl, cl
pop ds
adc dword [ebp + 0x75], eax
outsd dx, dword [si]
add esi, esp
jmp [edx]
pushfd
aas
clc
xor edx, edx
setns ah
mov eax, edx
lea esp, [esp + 4]
adc al, al
bt dx, 0xc
add edi, 1
rol al, 7
mov al, byte [edi]
cmc
pushfd
call fcn.008369e7
rol al, 3
bt edi, esp
clc
stc
pushfd
not al
mov byte [esp + 4], 0x83
rol al, 4
push dword [esp]
pushfd
pushfd
lea esp, [esp + 0x14]
call fcn.0083f30f
pushfd
clc
stc
cmp eax, 0x7d00
mov byte [esp], 0x37
lea esp, [esp + 4]
jae fcn.00840272
bt bx, 8
cmp ah, 5
jmp 0x83637d
mov word [esp], 0x20ac
pushfd
jmp 0x837454
cmp edi, ebx
push esp
lea esp, [esp + 4]
ja 0x837a08
clc
sub ebx, edi
push 0x3dd3a3a
bsf di, bx
cmp bl, 0xe1
add di, 0xc9d0
add esp, 4
add ebx, esp
add di, dx
sal di, 0xd
xor al, ah
mov edi, ebx
call fcn.007ea884
add byte [eax], al
push esp
popal
bound esp, qword [edx + 0x65]
push esp
js 0x83469d
dec edi
jne 0x8346a0
inc ecx
add byte [ebx], dl
nop
xchg edx, eax
inc ebx
xchg edx, esi
or dword [edx - 0x7970cfe9], ecx
add dword [eax + 0x4d], ebp
movsd dword es:[edi], dword [esi]
aaa
out 0x83, al
aam 6
nop
pop esp
adc eax, 0xc447d6cd
cdq
rcr byte [ecx + 0x7e165f18], cl
shl byte [ebp + 0x2c4465e3], 1
jecxz 0x834600
jecxz 0x8346ba
inc esp
sub al, 0xe3
cmpsd dword [esi], dword es:[edi]
int 0xca
and eax, ebp
inc ebx
or byte [ebx], ah
push 0x48033a56
jp 0x834653
jle 0x834675
invalid
sti
insb byte es:[edi], dx
sar byte [ecx - 0x5ebb1a2f], 1
inc esp
xor byte [eax], al
jb 0x834704
add byte gs:[eax], al
add byte [eax], al
add byte [esp + ebp*2 + 0x73], dl
inc esi
jb 0x83470e
add byte gs:[eax], al
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
arpl word gs:[eax + edx*2 + 0x61], si
insb byte es:[edi], dx
je 0x83472d
add al, ch
add al, ch
push cs
dec edi
sti
inc dword [eax]
add byte [edi + 0x70], cl
outsb dx, byte gs:[esi]
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [ecx + 0x2be5e8f9], cl
add byte [eax], al
pushfd
add esi, eax
cmp bp, 0x6ae7
test bl, ch
sub esp, 0xfffffffc
je 0x7e8426
xor ecx, ecx
pushfd
bt si, bp
clc
mov word [esp], si
cmp ecx, dword [edx + 0x18]
jmp 0x834571
invalid
sbb byte [eax + esi*8 + 0x3b], bh
inc esp
and al, 8
pushal
mov dword [esp + 0x10], 0x3d9cc25d
jmp 0x7e3217
inc ecx
add byte [edi], cl
inc edi
and al, 0xf3
in al, dx
retf
push 0x4360c244
push dword [edi]
pop dword [esp]
cmc
jmp 0x8345e7
jae 0x8343b7
stc
call fcn.00840256
dec al
sub ebx, edi
not al
not al
btc di, 4
add ebx, esp
call fcn.007e469f
push 0x87d19962
call fcn.00b68eda
mov esp, 0xd0f60750
mov al, byte [edi]
clc
test al, al
mov word [esp], ax
call fcn.007e96df
clc
cmp edi, ebx
mov byte [esp], 0x7d
lea esp, [esp + 0x24]
jmp 0x8345e9
lea esp, [esp + 8]
je 0x837bf5
pushal
push 0xccc0334d
bts bx, bx
sub bx, dx
mov ebx, dword [esi]
call int.007e841b
lea esp, [esp + 4]
jne 0x7e8f9e
and al, dl
sub edx, edx
shl al, 2
rcl ah, 1
movsx ax, cl
mov eax, edx
adc al, 0xe0
sar al, cl
neg al
shl al, 6
add edi, 1
cmc
call 0x8363aa
add byte [eax], al
push edi
imul ebp, dword [esi + 0x64], 0x7246776f
outsd dx, dword [esi]
insd dword es:[edi], dx
push eax
outsd dx, dword [esi]
imul ebp, dword [esi + 0x74], 0x47000000
je 0x837505
jb 0x837526
jo 0x8374fa
add byte [eax], al
add byte [edi + 0x6c], al
outsd dx, dword [esi]
bound esp, qword [ecx + 0x6c]
push ebp
outsb dx, byte [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ebx], bp
fiadd dword [eax]
fcomi st(4)
neg dword [eax - 0xfc62bc9]
outsd dx, dword [esi]
invalid
push ds
test ch, dl
invalid
push edi
sbb byte [ebp + 0x7d], ah
sbb ecx, dword [ebx - 0x2b]
sti
leave
mov ds, word [esi + 0x68]
sub ebx, dword [ecx - 0x36]
ret 0x63f1
dec esp
std
int3
cmp cx, 0x6b32
cmp ch, 0xb6
jmp 0x7eaa84
not dh
pushfd
test sp, 0x98a3
rcl edi, 0x14
sub eax, eax
lea esp, [esp + 4]
mov di, 0x30b0
xchg bh, dl
pop edx
movzx dx, dl
movzx edx, cl
lea ebx, [0xc0513447]
pop edx
pushfd
lea esp, [esp + 4]
js 0xb67863
push 0x1c331e37
mov ebx, dword [esp + 4]
movsx di, bl
movzx si, al
movzx di, bl
mov edi, dword [esp + 8]
not si
mov esi, dword [esp + 0xc]
not bp
movzx bp, al
movzx bp, bl
movsx bp, bl
mov ebp, dword [esp + 0x10]
pushal
push dword [esp + 0x34]
ret 0x40
mov dword [esp + 0x38], eax
pushfd
push dword [esp]
mov word [esp], si
mov byte [esp + 4], dh
push dword [esp + 0x40]
ret 0x44
lea esp, [esp + 0x28]
je 0x837bf5
clc
ror bh, cl
ror bx, cl
sal bh, cl
mov ebx, dword [esi]
bt bx, sp
cmp ah, 0x75
pushal
add ebx, eax
cmp bl, ch
xchg dword [esp + 0x1c], esi
shrd si, di, cl
xchg dword [esp + 0x18], edi
add esi, 0x25de051c
adc si, ax
mov esi, dword [ebp + 4]
stc
cmc
mov edi, ebx
call fcn.007e9335
add byte [eax], al
push ebx
outsb dx, byte gs:[esi]
inc esp
insb byte es:[edi], dx
dec ecx
je 0x83f52b
ret
insd dword es:[edi], dx
dec ebp
jae 0x83f53e
popal
inc ecx
add byte [esi + 0x5fef03f1], al
insd dword es:[edi], dx
in al, 0x3f
les eax, [ebx - 0x44]
rcl dword [eax]
sub byte [esi + ebx*8], bl
mov ah, 0xa5
xchg ebx, eax
add eax, 0x3bd86e23
shl dword [esi], cl
test dword [eax + 0x60faf1f8], ebp
rol esp, 1
pop ebp
jl 0x83f496
test al, 0xf
sub al, 0x48
mov dh, al
je 0x83f4fd
add byte [ecx + 0x6e], cl
je 0x83f567
jb 0x83f570
outsd dx, dword [esi]
arpl word [ebx + 0x65], bp
dec ecx
outsb dx, byte [esi]
arpl word [edx + 0x65], si
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je fcn.0083f513
or byte [edi], cl
test dword [ebp - 0x66], ebp
cli
call dword [eax - 0x78]
cmp al, 0x24
jne 0x7e8f9e
push eax
mov byte [esp], bh
pushfd
push 0x5816dbd9
lea esp, [esp + 0xc]
jmp 0x834509
or al, 0xe9
lds ecx, [edi - 1]
invalid
xchg eax, ebp
call 0x4a842801
lodsd eax, dword [esi]
xor al, byte [eax]
dec edx
rcl dword [edx], cl
jne 0x83f558
add byte [ebx + 0x6f], al
jo 0x83f5d6
push edx
arpl word gs:[eax + eax - 0x26], si
adc dl, byte [edi]
push ecx
pop esp
xchg edi, eax
aam 0x5d
out dx, eax
jge 0x83f52a
and ecx, edx
push ebp
lodsb al, byte [esi]
cmp eax, 0x266c804f
jns 0x83f54d
adc byte [0xe92bed36], cl
push ss
jge 0x83f550
or eax, 0x7e293685
test dword [eax], 0xd0994b57
xchg ecx, eax
or dh, byte [ebx + 0xe]
pop ebx
in eax, dx
hlt
jmp 0x83f56b
movzx ax, bl
not ax
push ebx
pushal
pop eax
lea eax, [0x7e5172]
pushal
jmp 0x7ea728
pushal
movsx bx, bl
pop ebp
mov ebx, dword [esp + 0x1c]
not di
mov edi, dword [esp + 0x20]
xchg si, bp
mov esi, dword [esp + 0x24]
not bp
pop ebp
push 0xca35223c
mov ebp, dword [esp + 0x28]
pushfd
push dword [esp + 0xc]
push dword [esp + 0x34]
ret 0x40