Function at 0x101ac1c8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
pushfd
pushfd
cmp bl, al
cmp ecx, dword [ebp - 8]
call fcn.101a9d49
add byte [eax], al
inc edi
je 0x100eddf9
jns 0x100ede1b
je 0x100ede0f
insd dword es:[edi], dx
inc esp
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x100eddf6
add byte [eax], al
add byte [ebx + 0x65], dl
je 0x100ede0f
je 0x100ede22
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add dh, bh
inc al
bt edi, 0x11
pushfd
pushal
push dword [esp]
xor al, 9
cmp al, 0xf2
mov byte [esp + 4], ch
not al
jmp 0x101adc31
dec dword [ecx - 0x779fdbf4]
inc ebp
invalid
and al, 0x60
mov byte [ebp - 2], al
pushfd
lea esp, [esp + 0x28]
jmp 0x100efeb7
jae 0x100ede86
jb 0x100ede83
jns 0x100ede16
push dword [esp + 0xc]
mov dword [esp + 0x44], 0x100ed6d9
inc esp
and al, 0x44
invalid
pushfd
jmp 0x101a6886
jae 0x101ad198
or eax, dword [eax]
call fcn.101ac8d0
clc
mov cl, 0x9e
add dword [ebp - 0x20], eax
adc ch, 0x13
aam 0xa
sar eax, 3
das
pop ecx
pushfd
cmp dh, 0x38
cwde
rcl ax, cl
mov eax, dword [esp + 4]
cmc
bt si, si
cmp ecx, 7
call fcn.101a6310
pushal
jmp 0x101008d4
pushal
lea eax, [ebx + ecx*4 + 0x300]
push 0xfc90f242
mov byte [esp + 8], 0xc7
push 0x8231ef3f
lea esp, [esp + 0x48]
call fcn.101a6c52
jmp 0x101a5e1a
call fcn.100edeb7
lea esp, [esp + 4]
jb 0x100edd94
pushal
jmp 0x101acc9e
pushfd
lea esp, [esp + 0x48]
ja 0x101ac571
push ecx
jmp 0x101a5faf
lea esp, [esp + 0x40]
jne 0x101a9d9b
call fcn.100edfac
add byte [eax], al
inc esi
jb 0x101a68f5
inc ebp
outsb dx, byte [esi]
jbe 0x101a68fe
jb 0x101a6906
outsb dx, byte [esi]
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x101a68f0
je 0x101a6911
imul ebp, dword [esi + 0x67], 0x8d005773
and al, 0x40
jb 0x101a68b5
das
mov eax, 3
sar ch, cl
mov ecx, 6
cmp bh, 0x21
call fcn.101a5fd1
cmc
cmp eax, 4
pushfd
call fcn.101accbf
test eax, 0x38c2f375
mov edi, 0x40511e5
and al, 0x17
cmc
sahf
sub al, 0xe3
inc eax
pop eax
popfd
jns 0x101a68df
mov dh, 0x54
iretd
into
sbb dword [ebx - 0x19], esi
je 0x101a6948
loop 0x101a696f
out 0xce, al
pop esp
pop ds
sbb eax, 0xa0058660
invalid
insb byte es:[edi], dx
ror bh, cl
sub byte [edi + 0x21cc2cbd], bh
jecxz 0x101a698a
dec edx
adc eax, 0x3a3c7bd1
mov ecx, 0xfb15f1b4
out dx, eax
mov ch, 0xeb
xchg ecx, eax
push esp
push edx
dec esi
mov ecx, edi
outsd dx, dword [esi]
sbb dword [edx + 0x6c], esi
push eax
salc
jl 0x101a6914
dec edx
mov edx, 0xd53c5686
pop esp
cmp al, 0xef
popfd
push 0xeb057fbd
aas
in eax, 0x5b
cmp ecx, esi
sbb al, 0x5f
test dword [ecx + ebx + 0x57], eax
jge 0x101a68d8
nop
mov dh, 0x42
rcl byte [esi], 0x12
push 0xffffffffffffffc1
pushfd
in al, dx
push eax
sub ebx, dword [ecx - 0x64]
test al, 1
xchg esp, eax
mov eax, 0x3f13c5be
jno 0x101a697f
wrmsr
push ebx
mov edi, edi
clc
or dword [ebp + 0x2cb00fc1], esp
invalid
xor byte [ebx - 0x77], dl
invalid
pop esi
loop 0x101a69b3
lea edi, [ebp - 0x2ae78df4]
aam 0xb2
push es
sub al, 0x9f
movsd dword es:[edi], dword [esi]
mov eax, dword [0x6a5721f6]
add byte [eax + eax*2 + 0x10], bh
not byte [0xd407b3a3]
dec dword [ebp + 0x7fc2b5e0]
out 0xf7, eax
aaa
mov word [eax + edx*2], gs
cmp al, 0x54
jecxz 0x101a6982
std
enter 0x622c, 0xf
mov eax, 0xb63032c0
mov esi, 0xa7b9220c
not byte [ebx + edi*2]
sal byte [edx], 0x30
mov dh, 0xbe
or al, 0x22
mov ecx, 0x7b14f6a7
mov eax, esi
invalid
and al, 4
jb 0x100f07b0
pushfd
movzx eax, bl
das
movzx eax, byte [ebp - 2]
shld edx, ecx, 2
push esp
call fcn.101acb78
mov dword [esp + 8], eax
not al
lodsb al, byte [esi]
bt sp, bx
sub al, 0x9f
or dh, dh
shr byte [esi + 0x2cdca30f], 1
lahf
pushal
rol al, 7
bt bp, cx
sub al, 0x43
mov byte [esp], ch
push dword [esp + 4]
clc
ror al, 7
clc
push dword [esp + 4]
cmp bl, 0xe3
cmp al, byte [edi]
cwde
pushfd
movzx ax, dl
lea edi, [edi + 1]
pushfd
mov eax, dword [esp + 0x38]
push esi
call fcn.101ac1c8
inc ecx
jecxz 0x101a75d1
mov ch, al
jge 0x101a75df
xlatb
cmp dword [edi + 0x102583db], esi
cmp byte [ebx + 0x489c1fb1], 0xfe
test eax, 0x23901a0e
add ecx, eax
pop ds
mov dl, 0x90
adc al, 0x9a
sub eax, 0x7bdb76cb
mov ecx, 0xdb58602c
inc ebp
fld xword [esi + 0xc]
arpl word [edi - 0x3ff1225], cx
cmp al, 0x82
pop ss
mov dh, 0xa8
or bl, bl
sub bl, byte [ebx]
jg 0x101a75f0
test eax, 0xbee00410
jmp 0xb0e6b496
pushfd
push 0xc5bf9527
pushfd
jmp 0x101a75ed
jmp 0x101a640f
cmp edi, 0x6de57ed1
cmp dh, 9
push eax
cmp ecx, dword [ebp - 4]
pushal
lea esp, [esp + 0x24]
jae 0x101ac59f
test bx, sp
bt si, 5
add ecx, 1
call fcn.100f014b
pushal
call fcn.100edcf1
bt si, sp
bt ax, 0xc
cmp byte [edi - 1], 0
pushal
jmp 0x101a6720
pushfd
pushal
mov byte [esp], bh
call fcn.101aaaa3
add byte [eax], al
push edx
imul esi, dword gs:[bp + di + 0x74], 0x65537265
jb fcn.101ad226
imul esp, dword [ebx + 0x65], 0x6c727443
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
jb 0x101ad200
add byte [ecx + 0x59], ah
iretd
popal
loopne 0x101ad1a2
or eax, 0x5507c321
mov dword [ebp + 0x5f618a0b], edi
aas
lea eax, [ebx - 0x43]
retf 0xba3a
cmp bh, byte [edx - 0x1bfb2905]
sub al, dl
and byte [edx - 0x7f3e3402], al
les esi, [esi + 0x12]
enter 0x6d37, 0xffffffffffffffb0
mov byte es:[0x67d3cf80], al
jne 0x101ad1ed
mov edx, 0xd154787c
out 0x42, eax
stc
aas
stc
shl edi, 8
cmc
add edi, eax
bt sp, cx
cmc
push 0x6415b6a1
sub ecx, 1
pushfd
stc
push 0x5e19f48f
sub al, 0x86
jmp 0x101ad858