Function at 0x485d28
Capabilities:
Encrypt data using rc4 prga

Disassembly:
clc
adc byte [eax], al
add eax, 0x2000000
push es
dec edi
jae 0x48583c
je 0x4857db
add byte [esp + eax*2 + 0x90048], cl
inc esp
dec eax
add byte [ecx], cl
add byte [eax], al
add byte [eax], al
add al, byte [esi + ecx*2]
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add al, byte [eax]
add al, byte [eax]
or byte [eax], cl
push edi
dec eax
add byte [edi], al
dec esi
popal
insd dword es:[edi], dx
inc esi
insb byte es:[edi], dx
add byte fs:[eax], al
mov al, byte [0x4844]
add al, byte [eax]
or byte [eax], ah
push edi
dec eax
push cs
push cs
push esp
push esi
insd dword es:[edi], dx
je 0x485889
imul esp, dword [ebp + 0x6c], 0x746e4564
jb 0x4858c5
push es
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
clc
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add cl, byte [ebx]
inc esi
imul esp, dword [ebp + 0x6c], 0x66664f64
jae 0x4858d2
je 0x485871
add ah, cl
adc byte [eax], al
add al, 0
add byte [eax], al
add cl, byte [ecx]
push esp
jns 0x4858ed
invalid
dec ecx
outsb dx, byte [esi]
js 0x485886
add byte [esp + eax*2 + 0x60048], cl
add byte [eax], al
add al, byte [esi + ecx*2]
inc esp
dec eax
add byte [esi], al
push es
add byte [eax], al
add byte [edx], al
add al, 0x4e
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add byte [edx], al
add byte [edx], al
add byte [eax], cl
dec eax
push edi
dec eax
add byte [edi], al
dec esi
popal
insd dword es:[edi], dx
inc esi
insb byte es:[edi], dx
add byte fs:[eax], al
mov al, byte [0x4844]
add al, byte [eax]
or byte [eax + 0x57], ah
dec eax
add byte [eax], cl
inc ecx
je 0x48592c
jb 0x4858fe
popal
je 0x48591e
add byte [eax], al
adc byte [esi + 0x48], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
int3
add byte [eax], al
add ah, cl
dec eax
dec eax
add byte [ecx + edx], dl
push eax
push esi
insd dword es:[edi], dx
je 0x485919
inc esi
imul esp, dword [ebp + 0x6c], 0x616c4364
jae 0x48594f
push esp
popal
invalid
adc dword [esi + edx*2 + 0x6d], edx
je 0x485939
imul esp, dword [ebp + 0x6c], 0x616c4364
jae 0x48596f
push esp
popal
bound eax, qword [edx]
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add ah, cl
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [0x6e756f43]
outsb dx, byte [esi]
je 0x48591e
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [edx], al
or byte [ebx + 0x6c], al
popal
jae 0x48599f
push edx
add al, byte gs:[eax]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx + ecx*2], bh
dec ecx
dec eax
add byte [edi + ecx], dl
push eax
push esi
insd dword es:[edi], dx
je 0x485990
je 0x4859ae
outsd dx, dword [esi]
inc ebp
outsb dx, byte [esi]
je 0x4859be
jns 0x4859a2
dec ecx
dec eax
add byte [edx], al
add byte [eax], al
pop eax
dec ecx
dec eax
add byte [esi], cl
andps xmm2, xmmword [esi + 0x6d]
je 0x4859ac
je 0x4859ca
outsd dx, dword [esi]
inc ebp
outsb dx, byte [esi]
je 0x4859da
jns 0x485970
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add ah, cl
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [ebx]
dec esp
outsb dx, byte gs:[esi]
add al, byte [eax]
in al, 0x10
inc eax
add byte [edx], al
add byte [eax], al
add byte [edx], al
or eax, dword [ebx + 0x6f]
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
int3
outsd dx, dword [esi]
inc ecx
add byte [esi], al
add byte [eax], al
add byte [edx], al
add al, 0x4e
add byte [eax], al
add al, byte [esi + ecx*2]
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add al, byte [eax]
add al, byte [eax]
or byte [eax + 0x7004857], cl
dec esi
popal
insd dword es:[edi], dx
inc esi
insb byte es:[edi], dx
add byte fs:[eax], al
mov al, byte [0x4844]
inc esp
dec eax
add byte [eax], al
add byte [eax + 0x4844], ah
add al, byte [eax]
or byte [eax + 0x4004857], ah
push esp
add byte [esp + edx*2], al
popal
imul ebp, dword [eax + eax], 0x484628
add byte [edx], al
add byte [eax], al
add byte [eax], al
loopne 0x485a27
dec eax
add byte [esi], cl
adc edx, dword [esi + edx*2 + 0x6d]
je 0x485a34
je 0x485a52
outsd dx, dword [esi]
inc ebp
outsb dx, byte [esi]
je 0x485a62
jns 0x485a46
popal
imul ebp, dword [ecx + ecx], 0
add byte [eax], al
add byte [0xb4000000], al
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [edi]
push esi
jb 0x485a83
imul ebp, dword [edi + 0x6e], 0x45b40002
dec eax
add byte [ecx], al
add byte [eax], al
add byte [edx], al
add al, byte [ebx + 0x43]
add al, byte [eax]
cwde
add al, byte [eax]
add byte [eax], al
add cl, byte [edx]
push edx
jae 0x485aa6
insb byte es:[edi], dx
je 0x485a88
jns 0x485aa6
add al, byte gs:[eax]
int3
dec edi
add al, byte [eax]
mov ah, 0x10
inc eax
add byte [eax], cl
add byte [eax], al
add byte [edx], al
or dl, byte [eax + 0x61]
jb 0x485aba
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
jne 0x485acc
je 0x485a62
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
insb byte es:[edi], dx
dec edx
dec eax
add byte [ecx + edx], dl
push eax
push esi
insd dword es:[edi], dx
je 0x485ac0
je 0x485ade
outsd dx, dword [esi]
inc ebp
js 0x485ac0
outsb dx, byte [esi]
je 0x485af0
jns 0x485a08
dec edx
dec eax
add byte [edx], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add byte [edx + ecx*2 + 0x110e0048], cl
push esp
push esi
insd dword es:[edi], dx
mov word [edx + 0x48], cs
add byte [esi], cl
adc dword [esi + edx*2 + 0x6d], edx
je 0x485ae0
je 0x485afe
outsd dx, dword [esi]
inc ebp
js 0x485ae0
outsb dx, byte [esi]
je 0x485b10
jns 0x485aa8
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
cmp byte [ecx + 0x48], cl
add byte [eax], al
add byte [eax], al
add byte [edx], al
add eax, 0x72746e45
jns 0x485abe
add ah, cl
adc byte [eax], al
add al, 0
add byte [eax + eax], al
add byte [eax], al
add al, byte [0x67616c46]
jae 0x485acf
add al, byte [eax]
adc byte [eax], 0x40
add byte [esi], al
add byte [eax + 0x6004010], al
adc byte [eax], al
push es
add byte [eax], al
add byte [edx], al
or al, 0x56
imul esi, dword [edx + 0x74], 0x496c6175
insb byte es:[edi], dx
dec ecx
outsb dx, byte [esi]
js 0x485ae7
add byte [edx], al
add byte [eax], al
add byte [eax], al
add al, dh
dec edx
dec eax
add byte [esi + ecx], dl
adc al, 0xe
push eax
inc ecx
outsw dx, word [esi]
or byte [ebx + 0x48], cl
add byte [edx], al
add byte [eax], al
add byte [ebx + ecx*2], cl
dec eax
add byte [esi], cl
push cs
push esp
inc ecx
jb 0x485b84
popal
jns 0x485b65
jb 0x485b86
jo 0x485b62
outsb dx, byte [esi]
outsw dx, word [esi]
add eax, 1
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
mov ah, 0x10
inc eax
add byte [eax], al
add byte [eax], al
add byte [edx], al
add eax, 0x67616c46
jae 0x485b3b
add ah, cl
adc byte [eax], al
add dword [eax], eax
add byte [eax], al
add cl, byte [ecx]
push edx
popal
dec ecx
outsb dx, byte [esi]
js 0x485b50
add ah, cl
adc byte [eax], al
add eax, dword [eax]
add byte [eax], al
add cl, byte [edx]
push edi
jb 0x485bc5
je 0x485bc3
dec ecx
outsb dx, byte [esi]
js 0x485b66
js 0x485b66
add byte [esp + eax*2 + 0x50048], cl
add byte [eax], al
add al, byte [esi + ecx*2]
mov word [eax + ecx*2], es
add eax, 0x2000000
inc esp
dec eax
add byte [0x2000000], al
add al, 0x4e
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
add al, byte [eax]
add al, byte [eax]
or al, cl
push edi
dec eax
add byte [edi], al
dec esi
popal
insd dword es:[edi], dx
inc esi
insb byte es:[edi], dx
add byte fs:[eax], al
add byte [eax], al
mov al, byte [0x4844]
add al, byte [eax]
or al, ah
push edi
dec eax
add byte [eax], cl
inc ecx
je 0x485c0c
jb 0x485bde
popal
je 0x485bfe
add byte [eax], al
adc byte [esi + 0x48], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
lodsb al, byte [esi]
dec ebx
dec eax
add byte [esi], cl
or eax, 0x6e614d54
popal
inc esi
imul esp, dword [ebp + 0x6c], 0x864
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
cwde
inc esi
dec eax
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + 0x4846], bl
add byte [eax], al
add byte [edx], al
pop es
push esp
jns 0x485c45
push edx
add al, byte gs:[eax]
push esp
adc dword [eax], eax
add al, 0
add byte [eax + eax], al
add byte [eax], al
add cl, byte [ecx]
inc esi
insb byte es:[edi], dx
dec edi
jae 0x485c52
je 0x485bf1
add byte [edx], al
add byte [eax], al
add al, bh
dec ebx
dec eax
add byte [edi + ecx], dl
push eax
push eax
jb 0x485c6d
arpl word [ebp + 2], sp
add byte [eax], al
add byte [eax], dh
add byte [eax], bh
add byte [eax], al
add byte [eax], al
mov al, 4
add al, byte [eax]
popal
jae 0x485c50
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x4012], bh
adc al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + 0x4012], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
mov eax, 0x4012
add byte [eax], al
add byte [edx], al
add al, 0x4e
popal
insd dword es:[edi], dx
add al, byte gs:[eax]
pushfd
adc byte [eax], al
add al, 0
add byte [eax], al
add al, byte [0x756c6156]
add al, byte gs:[eax]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax + 0xe00485c], cl
andps xmm0, xmmword [ebp + 0x6e]
jne 0x485cfc
inc ecx
insb byte es:[edi], dx
imul esp, dword [ecx + 0x73], 0x72746e45
jns 0x485ca2
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ah, bl
pop esp
dec eax
add byte [eax + eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + 0x4846], dh
add byte [eax], al
add byte [edx], al
or byte [ecx + edi*2 + 0x70], dl
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
add al, byte [eax]
fcomp qword [eax + ecx*2]
add al, 0
add byte [eax], al
add al, byte [edi]
inc ecx
insb byte es:[edi], dx
imul esp, dword [ecx + 0x73], 0x27365
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, ah
pop esp
dec eax
add byte [ecx], dl
and al, 0x54
inc ecx
jb 0x485d58
popal
jns 0x485d25
push ebx
jns 0x485d5f
je 0x485d53
insd dword es:[edi], dx
push esp
jns 0x485d63
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
push esp
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x485d42
insb byte es:[edi], dx
imul esp, dword [ecx + 0x73], 0x83e
add byte [esp + ebx*2], dh
dec eax
add bh, bh
invalid
pop ebp
dec eax
add byte [ecx], dl
push esp
inc ecx
jb 0x485da0
popal
jns 0x485d6d
push ebx
jns 0x485da7
je 0x485d9b
insd dword es:[edi], dx
push esp
jns 0x485dab
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
push esp
inc ebp
outsb dx, byte [esi]
jne 0x485db2
inc ecx
insb byte es:[edi], dx
imul esp, dword [ecx + 0x73], 0x72746e45
jns 0x485d8e
or byte [eax], al
add byte [eax], al
test byte [eax + ecx*2], bl
add byte [esp + ebx*2 - 0xffb8], al
invalid
add byte [esi], al
push ebx
jns 0x485dd7
jae 0x485dd9
je 0x485dcb
insd dword es:[edi], dx
insd dword es:[edi], dx
test byte [eax + ecx*2], bl
add al, byte [eax]
lea eax, [eax]
push ebx
push esi
mov dl, 0xb5
mov ebx, eax
xor eax, eax
mov ecx, eax
mov esi, ebx
shr esi, cl
mov ecx, esi
and cl, 0xff
xor dl, cl
inc eax
cmp eax, 4
jne 0x485d78
mov eax, edx
pop esi
pop ebx
ret
call 0xc5d45cd3
call 0x485d70
mov ebx, eax
xor esi, esi
jmp 0x485df1
movzx eax, bl
mov eax, dword [eax*4 + 0x609f9c]
cmp ebp, dword [eax + esi*8]
lahf
pushal
add byte [ebx], bh
sub al, 0xf0
je 0x485dd0
cmp byte [esp], 0
je 0x485df0
movzx eax, bl
mov eax, dword [eax*4 + 0x609f9c]
cmp dword [eax + esi*8], 0
jne 0x485df0
cmp al, 0xf0
add byte [ebp + 0x20], dh
movzx eax, bl
mov eax, dword [eax*4 + 0x609f9c]
lea edi, [eax + esi*8]
cmp byte [esp], 0
lahf
pushal
add byte [ebp + 0x3c80f03c], cl
and al, 0
je 0x485e71
cmp dword [edi], 0
jne 0x485e71
inc esi
movzx eax, bl
mov eax, dword [eax*4 + 0x609f9c]
call fcn.0040b1d0
cmp esi, eax
jl 0x485dab
cmp byte [esp], 0
je 0x485e6f
test edi, edi
jne 0x485e6b
movzx edi, bl
mov eax, dword [edi*4 + 0x609f9c]
mov dword [esp + 4], eax
mov esi, dword [esp + 4]
test esi, esi
je 0x485e29
sub esi, 4
mov esi, dword [esi]
inc esi
push esi
lea eax, [edi*4 + 0x609f9c]
mov ecx, 1
mov edx, dword [0x485d24]
call fcn.0040b3e8
add esp, 4
mov eax, dword [edi*4 + 0x609f9c]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
test eax, eax
je 0x485e5d
sub eax, 4
mov eax, dword [eax]
dec eax
movzx edx, bl
mov edx, dword [edx*4 + 0x609f9c]
lea edi, [edx + eax*8]
mov dword [edi], ebp
jmp 0x485e71
xor edi, edi
mov eax, edi
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
ret