Function at 0x101a5a6b
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea esp, [esp + 8]
ja 0x1019f586
clc
bt cx, 0xd
call fcn.1019f20c
add byte [eax], al
push ebx
jns 0x1019c1c0
je 0x1019c1b4
insd dword es:[edi], dx
push eax
popal
jb 0x1019c1b5
insd dword es:[edi], dx
je 0x1019c1bd
jb 0x1019c1cd
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
inc ecx
add byte [ecx + 0x680c246c], cl
jmp 0x9d95a512
push 0x47000000
insb byte es:[edi], dx
add byte [eax], al
add byte [edi + 0x6c], al
outsd dx, dword [esi]
bound esp, qword [ecx + 0x6c]
insb byte es:[edi], dx
inc ecx
inc ecx
inc ecx
je 0x1019c233
insd dword es:[edi], dx
inc ecx
add byte [eax], al
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
arpl word gs:[ebx + eax*2 + 0x6c], si
arpl word [ebx + eax*2 + 0x6c], si
imul esi, dword [eax + 0x52], 0xd0006e67
enter 0xffffffffffffc656, 4
and al, 0x49
test ecx, ebp
add al, 0xc
bt eax, ebp
pushal
rol al, 4
clc
not al
push 0x85008eea
cmp al, byte [edi]
not ah
lea eax, [eax + 0x29e44c87]
lea eax, [eax*4 + 0x72513d00]
lea edi, [edi + 1]
movsx ax, dl
mov eax, dword [esp + 0x48]
call fcn.1019e555
add byte [eax], al
inc ebx
push 0x65736f6f
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
jb 0x1019c261
add byte [ebp + 0xf2c2464], cl
test bh, al
das
add byte [eax], al
pushfd
add eax, edi
pushfd
cmc
clc
cmp eax, edx
pushal
call fcn.101a41dc
push eax
lea esp, [esp + 0x48]
jne 0x101a4749
call fcn.1019e8f4
push 0xe7c343ae
test cl, 0x46
mov dword [ebp - 0x10], ecx
dec ecx
dec cl
mov ecx, dword [ebp + 0xc]
pushfd
call fcn.1019e415
pushfd
call fcn.1019cf4a
ror al, 1
jmp 0x101a1131
push edi
lea esp, [esp + 8]
jbe 0x1019f1f2
rol si, cl
adc si, ax
shr di, cl
add si, 0xd404
sub ecx, 1
clc
bt ecx, 9
cmc
mov dword [ebp - 4], ecx
add di, 0x3f7
sal cl, 7
btr ecx, ebp
mov ecx, dword [ebp - 8]
neg edi
bsr edi, eax
shld di, sp, 0xb
add ecx, dword [ebp - 4]
mov edi, ebx
shr di, cl
shr esi, cl
shr ecx, 1
cmp bh, 0xf0
shr di, cl
mov edi, dword [ebx + ecx*4]
clc
cmp al, 0x61
shr si, 0xf
add edi, eax
pushfd
pop esi
bswap si
pushfd
mov esi, dword [ebp + 0xc]
mov byte [esp], bl
mov dword [esp], eax
seto al
not al
lodsb al, byte [esi]
bt edx, 6
clc
cmp ah, dh
neg al
call fcn.101a1ce7
dec edi
dec edi
add byte [eax], al
add byte [eax], al
inc edi
je 0x1019cdf1
jns 0x1019ce13
je 0x1019ce07
insd dword es:[edi], dx
dec ebp
outsb dx, byte gs:[esi]
jne 0x1019cda8
or bh, ch
jb 0x1019cdad
invalid
outsb dx, byte [esi]
xchg ecx, eax
mov edx, 0xc9dffed4
xor eax, 0xe46f074e
sub eax, 0xc735137e
adc dword [ebp - 0x34], 0x829095a3
xor cl, dl
or esp, dword [ebp + 0x3b92087]
dec ebp
sahf
pop es
js 0x1019cd73
arpl word [ebx + 0x6056518d], dx
pop eax
test eax, 0x6898e988
test esi, esi
mov dword [ebp + 0x6ba86d1e], ebp
xchg ebx, eax
invalid
jns 0x1019cd94
inc esi
mov esi, ebx
jbe 0x1019ce40
jo 0x1019ce28
and al, 0xf4
lcall 0xa793, 0xc8bc30cd
inc edx
in eax, 0x5b
salc
mov dword [0x9048b797], eax
mov byte [edx + 0x7d], dl
dec edi
stc
sub al, 0x30
bt ebx, esi
clc
cmp al, 9
xor byte [edi], cl
mov dword [0x93cf8f3], eax
call fcn.101a289f
fstpnce st(1), st(0)
fiadd word [edx]
invalid
pop eax
invalid
sub eax, 0x2725fb7e
stc
std
iretd
dec esp
ffree st(6)
mov eax, 0x4f05cb41
and byte [ecx - 0x32d73bb], bl
sub byte [esp + eax*4], 0xe3
or ebx, esp
and dh, byte [ebp + 0x13bff26d]
dec edi
or al, 0x7c
fiadd word [eax]
cmp eax, 0x2d96fe2a
pop ds
call 0xc3361ca0
and dh, byte [eax*8 + 0x52a6f9de]
shr ebp, cl
pushfd
sbb bh, 0xe1
cli
popal
neg byte [edi]
inc ecx
mov esp, 0xdbd978a2
into
mov dword [eax + 0x73], 0x107dce68
sbb dword [ecx + eax*4 - 0x42ee9b35], esp
outsd dx, dword cs:[esi]
jbe 0x1019ce31
aad 0x64
iretd
test bx, 0x7f73
pushal
test si, si
stc
test al, al
mov word [esp], 0xd6a4
pushal
mov byte [esp + 8], 0x52
mov byte [esp + 4], 0xd6
lea esp, [esp + 0x40]
je 0x101a472a
cmc
call fcn.101a0c1c
imul edx, edx, 0xa
test di, 0x2b9b
pushal
cmc
mov byte [esp], 8
add edx, eax
push ebp
lea esp, [esp + 0x28]
jmp 0x101a5a47
rcr al, cl
mov al, byte [ecx]
pushal
cmc
cmc
mov ah, al
clc
stc
pushfd
not al
push 0x9c398d50
push dword [esp + 4]
ror al, 4
test dl, dl
stc
sub al, 0xc
call fcn.101a3d85
jmp 0x1019e51b
stc
add ecx, 1
pushal
pushal
mov dword [ebp - 8], ecx
pushfd
mov byte [esp + 4], 0x9e
mov byte [esp], 0xd8
lea esp, [esp + 0x44]
jmp 0x101a3c61
lea esp, [esp + 0x44]
ja 0x101a144d
push 0xd16ed11e
mov byte [esp], 0x93
call fcn.101a2e06
pushal
pushal
lea esp, [esp + 0x40]
jae 0x1019f1f2
pushal
cmc
pushal
jmp 0x101a192b
test ah, bh
stc
test sp, 0xa7aa
add eax, edi
pushal
cmp eax, edx
call fcn.1019f985
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax], al
add byte [ebx + 0x65], dl
je 0x1019e567
imul ebp, dword [esi + 0x64], 0x7845776f
je 0x1019e55e
js 0x1019e51b
clc
cmp byte [edi], 0x23
push 0x115ecec4
pushfd
pushfd
push dword [esp + 8]
lea esp, [esp + 0x10]
jne 0x101a473a
adc eax, esp
dec al
aam 0xa9
push 0xa5e3def1
xor edx, edx
jmp 0x101a2f65
xchg edx, ebp
add byte cs:[eax], al
jmp 0x1019e8ab
add byte [eax], al
add byte [edi + 0x65], al
je 0x1019e5b4
jne 0x1019e5dc
insb byte es:[edi], dx
push eax
popal
je 0x1019e5dd
dec esi
popal
insd dword es:[edi], dx
inc ecx
add byte [eax], al
add byte [ebp + 0x6c], al
je 0x1019e5e8
inc esp
inc ebx
add byte [eax], al
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
arpl word gs:[edi + ecx*2 + 0x62], si
push 0x65
arpl word [eax + eax], si
add byte [edx + 0x65], dl
insb byte es:[edi], dx
popal
jae 0x1019e603
inc esp
inc ebx
add byte [eax], al
add byte [edi + 0x65], al
je 0x1019e5ea
jne 0x1019e61b
jb 0x1019e610
outsb dx, byte [esi]
je 0x1019e602
push 0x64616572
add byte [eax], al
add byte [edx + 0x65], dl
popal
add byte [eax], al
push edx
popal
inc esi
imul ebp, dword [ebp], 0x65530000
je 0x1019e60a
jbe 0x1019e62c
outsb dx, byte [esi]
je 0x1019e5ca
add byte [eax], al
push ebp
jo 0x1019e633
popal
je 0x1019e637
push edi
imul ebp, dword [esi + 0x64], 0x776f
add byte [ebp + 0x6e], al
outsb dx, byte [esi]
push eax
popal
add byte gs:[bx + si], al
add byte [edi + 0x65], al
je 0x1019e640
push edi
imul ebp, dword [esi + 0x64], 0x724f776f
inc ebp
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
ja 0x1019e63e
jb 0x1019e658
inc ebp
js 0x1019e5f4
add byte [eax], al
push edx
jb 0x1019e65c
ja 0x1019e654
imul ebp, dword [esi + 0x64], 0x776f
add byte [eax], al
add byte [eax], al
push ebx
je 0x1019e660
add byte [ebx + 0x65], dl
je 0x1019e660
imul ebp, dword [esi + 0x64], 0x4873776f
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
ja 0x1019e682
dec eax
outsd dx, dword [esi]
outsd dx, dword [esi]
imul eax, dword [ebp + 0x78], 0x41
add byte [eax], al
add byte [edi + 0x65], al
je 0x1019e66c
inc ebp
dec ebp
inc ebx
push eax
add byte [ecx - 0x2e], ch
or al, byte [eax]
add byte [eax], al
cmc
add edx, eax
pushal
mov byte [esp], 0xd0
lea esp, [esp + 0x24]
jmp 0x101a5a47
and al, 0xe9
push cs
je 0x1019e638
add byte [eax], al
add byte [eax], al
inc ebp
js 0x1019e6a7
add byte [eax], al
add byte [ebp + 0x78], al
imul esi, dword [eax + edx*2 + 0x72], 0x7365636f
je 0x1019e690
jb 0x1019e6b1
arpl word [ebp + 0x73], sp
jae fcn.1019e647
add byte [esi - 0x39], ah
add al, 0x24
invalid
add al, 0x66
adc edi, esp
mov edi, dword [edx + 0x1c]
stc
add edi, eax
push 0x50e4e2b7
loop 0x1019e646
push eax
pushal
mov edi, dword [edi + ecx*4]
push ecx
test bp, bx
mov byte [esp + 4], cl
dec esp
and al, 4
jmp 0x1019eb9c
jb 0x1019e6eb
inc ebp
js 0x1019e687
add byte [eax], al
add byte [eax + 0x65], cl
popal
add byte [eax], al
dec eax
popal
jo 0x1019e6cf
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
inc ebp
push ebp
test byte [edx], ch
invalid
imul edi, dword [esi], 0xffffff9e
adc al, 0xe5
pinsrw xmm7, word [edi - 0x22], 0xfe
fdivp st(6)
mov dl, 0x66
inc ebx
insd dword es:[edi], dx
add al, 0x8d
inc esi
mov edi, 0xb014e2f9
adc al, 0xb7
xor byte [ecx + 5], ah
imul ecx, dword ss:[eax - 0x6c], 0x72
ret
daa
jl 0x1019e6b1
insd dword es:[edi], dx
scasb al, byte es:[edi]
pop eax
test dword [eax + 0x6d], 0x58cf71eb
adc ah, byte [ecx + 0x4ee9c744]
adc bl, dh
adc dl, byte [ebp - 0x20]
jecxz 0x1019e690
jb 0x1019e686
scasd eax, dword es:[edi]
sbb al, 0x8b
popfd
fsub qword [eax]
inc esp
pushal
std
into
sar byte [ecx - 0x6a], 0xaa
retf 0xbb3a
call 0x101a4186
add byte [eax], al
inc edi
je 0x1019e8fa
dec ecx
inc edx
imul esi, dword [ebx + esi*2], 0x302cf9f8
clc
stc
sub al, 0x30
push 0x85bd94b2
cmc
cmp al, 9
jmp 0x1019c133
clc
sub edi, 4
stc
pushal
push dword [edi]
pop dword [esp + 0x40]
stc
cmp edi, ebx
mov word [esp], bx
lea esp, [esp + 0x40]
js 0x101a347a
ja 0x1019fa65
mov al, al
sar al, cl
sub ebx, edi
ror di, 0xa
bswap di
adc al, 0x1e
add ebx, esp
bsf edi, esp
rcl edi, 0x18
and al, dh
mov edi, ebx
sal al, 1
setns al
mov al, 0x2e
push esi
repne scasb al, byte es:[edi]
call fcn.101a2797
mov dword [esp], 0xa3134759
pushfd
mov dword [esp], 0x3bcf44ed
push 0xefcd3db4
pushfd
lea esp, [esp + 8]
jmp 0x101a78a2
test edi, edi
mov word [esp], bp
push 0x829cfd1e
lea esp, [esp + 0x2c]
je 0x1019f1f2
jmp 0x1019e4eb
rcr bl, 1
sal dh, cl
adc di, 0xa02a
xor eax, eax
jmp 0x101a3c24
inc al
add al, al
push esp
mov al, byte [edi]
lea esp, [esp + 4]
jl 0x1019d03d
push esi
push ebp
test cl, 0x29
test al, al
push 0x64262997
lea esp, [esp + 0xc]
je 0x101a472a
stc
sub al, 0x30
cmc
pushfd
clc
mov word [esp], bp
cmp al, 9
mov byte [esp], 0xaa
push ebx
pushal
push esp
lea esp, [esp + 0x2c]
ja 0x1019f586
jmp 0x101a4ef3
jmp 0x101a2a1b
stc
cmc
movzx ecx, word [edi + ecx*2]
inc di
mov edi, dword [edx + 0x1c]
bt dx, 0xd
cmp di, 0x461d
add edi, eax
push 0xf09fd3eb
pushfd
push 0x27407cc6
lea esp, [esp + 0x10]
jmp 0x1019e65e
push 0x7b1aa891
clc
cmp ecx, dword [ebp - 8]
jmp 0x1019cd1a
pushfd
sub edi, 4
stc
cmp ah, ah
push dword [edi]
pop dword [esp]
call fcn.1019d0fb
call int.101a5250
pop edx
loope 0x101a1179
fisttp qword [esi + ebp*2 + 0x74cba1a1]
adc eax, 0x7aa180bf
hlt
rol byte [eax + edx*4 + 0x72ecd251], cl
loop 0x101a118b
and esp, dword [ebx - 0x71]
clc
add byte [ebx + 0x1305f1de], cl
into
adc ecx, esi
leave
mov eax, 0x4e0b968a
xchg ebp, eax
push ebp
cmpsb byte [esi], byte es:[edi]
test dword [esi], eax
pushfd
jp 0x101a11fd
xor eax, dword [edx - 0x6425457b]
retf 0xd41b
mov ah, 0x45
fist word [ecx + 0x6b]
adc al, 0xf5
mov byte [0x17258ee1], al
mov al, byte [0x32f51407]
bound edx, qword [ecx - 0x6d]
arpl word [ebx - 0x69c090ae], bp
imul ebp, dword [ebp + 0x75bcd3c9], 0xffffffde
xor byte [edx - 0x4a95ecb0], bh
invalid
pushal
mov byte [esp], 0xc0
cmp ecx, dword [ebp - 4]
lea esp, [esp + 0x20]
jg 0x101a2a16
push 0x39cd890e
lea esp, [esp + 4]
jae 0x1019f1f2
jmp 0x1019d1aa
add ecx, 1
jmp 0x101a4691
call 0x101a46c7
add byte [eax], al
inc ebx
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
dec esi
js 0x101a1aa8
dec eax
outsd dx, dword [esi]
outsd dx, dword [esi]
imul eax, dword [ebp + 0x78], 0
add byte [eax], al
dec esp
outsd dx, dword [esi]
arpl word [ebx + 0x57], bp
imul ebp, dword [esi + 0x64], 0x7055776f
popal
je 0x101a1ab2
add byte [edi + 0x49], dl
dec esi
dec ebp
dec ebp
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebp + 0xf282464], cl
test dword [edi + 0x22], eax
add byte [eax], al
shr di, 0xb
bts di, cx
mov edi, dword [edx + 0x24]
push 0x4534fd71
cmp sp, 0xf86a
cmc
add edi, eax
clc
jmp 0x1019f90d
sbb dword [edx], 0x7f099ef4
dec eax
dec esi
adc al, 0x95
jae 0x101a1aa0
pop ebp
jbe 0x101a1aae
inc dword [ecx - 0x65]
inc ecx
wait
lodsd eax, dword [esi]
inc ebx
lea edi, [eax + edi]
push ds
mov byte [edi], cl
dec edx
cmp eax, 0xe5529d37
invalid
push eax
jae 0x101a4616
lodsb al, byte [esi]
pushfd
neg al
stc
jmp 0x1019c266
bt sp, 0xd
jg 0x1019f977
push edx
cmp ecx, dword [ebp - 8]
pushfd
jmp 0x101a3c4b
bt bx, 8
cmp byte [edi - 1], 0
pushfd
lea esp, [esp + 0x24]
jne 0x101a3ca9
shrd di, sp, 4
mov edi, dword [edx + 0x24]
pushfd
push dword [esp]
add edi, eax
pushal
bt cx, ax
movzx ecx, word [edi + ecx*2]
sbb di, bp
jmp 0x101a1a25
jmp 0x1019d72a
pushal
mov esp, esi
pushal
lea esp, [esp + 0x20]
jmp 0x1019f1f2
btc ax, 3
mov eax, edx
call 0x1019f708
pushfd
pushal
call fcn.101a3d41
das
xchg esi, eax
cdq
clc
mov word [esi + 0x6b], gs
mov ah, 0x25
sahf
invalid
movsx edx, bl
pop edx
sets bh
pop ebx
not di
movzx si, al
xchg si, di
pop edi
lea esi, [esp + 0x56dd329]
bswap esi
not si
bswap esi
pop esi
call fcn.1019f1d2
lea esp, [esp + 8]
jbe 0x1019f1f2
sal si, cl
sub ecx, 1
and si, dx
mov dword [ebp - 4], ecx
add cl, bh
movzx di, cl
movzx edi, bl
and cx, ax
mov ecx, dword [ebp - 8]
rcl edi, 9
shr esi, cl
bts di, 9
bsr di, si
add ecx, dword [ebp - 4]
sal di, 0xc
shr ecx, 1
push esp
bswap edi
mov edi, dword [ebx + ecx*4]
bswap si
xor si, cx
add edi, eax
lea esi, [eax + 0x7b463c3c]
pushal
movzx si, al
not esi
mov esi, dword [ebp + 0xc]
lea esp, [esp + 0x24]
jmp 0x101a1c74
push edi
lodsb al, byte [esi]
call fcn.1019efd8
not al
pushal
mov word [esp], 0xabfd
cmp al, byte [edi]
pop eax
movsx ax, dl
lahf
not ah
lea edi, [edi + 1]
movsx ax, cl
pushal
mov byte [esp], cl
mov eax, dword [esp + 0x40]
jmp 0x1019d501
mov byte [esp], ah
mov byte [esp + 4], 0x5c
mov dword [ebp - 8], ecx
push esi
lea esp, [esp + 0x44]
jmp 0x101a3c61
not edi
stc
pushfd
lea ecx, [esi - 0x513fdbed]
mov edi, edx
lea esp, [esp + 4]
movsx cx, bl
btr cx, ax
not al
rcl cx, cl
mov ecx, edi
ror al, 1
rcl al, 3
jmp 0x1019d087
pushal
cmc
cmc
imul edx, edx, 0xa
mov dword [esp], 0xbe39da52
bt ecx, edi
cmc
add edx, eax
push dword [esp]
pushal
lea esp, [esp + 0x44]
jmp 0x101a5a47
pushfd
mov word [esp + 4], dx
lea esp, [esp + 8]
jb 0x101a1cae
cmc
pushal
jmp 0x101a2267
cmp di, dx
add edi, 1
jl 0x1019f2c9
sal al, cl
xor al, 0x49
mov al, 0x4c
mov al, byte [edi]
push 0x32f9c8f6
bt ax, sp
test al, al
call 0x1019c260
lea esp, [esp + 0x38]
ja 0x101a144d
pushfd
jmp 0x101a512d
not bp
mov dword [esp + 0x20], eax
mov bp, 0x8a9e
mov dword [esp], esi
jmp 0x101a7787
mov dword [esp + 0x1c], edx
bswap bp
bswap bp
pushfd
not bp
mov dword [esp + 0x1c], ecx
not bp
bswap bp
lea ebp, [esi*4 - 0x335aed8e]
pushfd
pop dword [esp + 0x18]
shr bp, cl
xor bp, bp
mov dword [esp + 0x14], ebx
not bp
clc
mov dword [esp + 0x10], edi
pushfd
shl bp, 1
mov dword [esp + 0x10], esi
ror bp, 2
rcr bp, 0xb
mov dword [esp + 0xc], ecx
sal esi, cl
push dword [0x101a623c]
pop dword [esp + 8]
dec si
movsx esi, al
neg bp
add si, dx
mov dword [esp + 4], 0
xor si, 0xb67b
mov esi, dword [esp + 0x34]
call fcn.101a6c99
jmp 0x101a7db9
push 0xc63d4ba6
push 0x7452749f
mov dword [esp + 4], ebp
movzx bp, bl
pushal
jmp 0x101a5db5