Function at 0x42e0c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 0x10], ecx
mov eax, dword [0x49a540]
and eax, 0x6554a79d
mov dword [0x49a540], eax
mov dx, word [0x49767c]
mov ax, dx
and eax, 0x29f8
mov dx, ax
mov word [0x49767c], dx
mov eax, dword [0x4a0668]
mov esi, dword [0x49bd80]
and esi, eax
mov dword [0x49bd80], esi
mov dword [esp + 0xc], 0
mov dx, word [0x4988f0]
movsx eax, dx
shr eax, 9
mov esi, dword [0x49f0c0]
shr esi, 2
and eax, esi
and eax, 0x7fcf
mov dx, word [0x493e2c]
mov si, dx
add esi, eax
mov dx, si
mov word [0x493e2c], dx
mov dword [esp], ecx
cmp dword [esp + 0xc], 0x10
je 0x42e3ae
mov eax, 0x45bebbd4
mov ecx, dword [0x4a01a8]
add ecx, 0x1c08201
mov dword [0x4a01a8], ecx
mov ecx, dword [esp + 0xc]
add ecx, ecx
mov dword [esp + 8], ecx
mov ecx, dword [0x49e918]
inc ecx
mov dword [0x49e918], ecx
mov dx, word [0x4968c2]
movsx esi, dx
imul ecx, esi
mov si, dx
inc esi
mov dx, si
mov word [0x4968c2], dx
imul ecx, ecx, 0x28e4aace
mov dword [0x4a1f34], ecx
mov ecx, dword [esp + 0xc]
mov esi, dword [esp]
mov bl, byte [esi + ecx + 0x58]
mov byte [esp + 7], bl
mov ecx, dword [0x49abf8]
or ecx, 0xee3489a2
mov dword [0x49abf8], ecx
movzx ecx, byte [esp + 7]
shr ecx, 4
mov bl, cl
mov byte [esp + 7], bl
mov ecx, dword [0x4a3fb0]
dec ecx
mov dword [0x4a3fb0], ecx
cmp eax, ecx
jl 0x42e226
mov eax, dword [0x49dd40]
imul eax, eax, 0x25fb8800
mov cx, word [0x497366]
mov dx, cx
inc edx
mov cx, dx
mov word [0x497366], cx
movsx edx, cx
imul edx, edx, 0xb98e0fe0
cmp eax, edx
jge 0x42e221
mov word [0x4937ec], 0x33f5
jmp 0x42e247
mov ax, word [0x4975fa]
movsx ecx, ax
not ecx
mov edx, dword [0x49d03c]
add ecx, edx
mov edx, dword [0x49921c]
add edx, ecx
mov dword [0x49921c], edx
movzx eax, byte [esp + 7]
mov ecx, dword [esp]
mov dl, byte [ecx + eax + 0xa8]
mov eax, dword [esp + 8]
mov byte [ecx + eax + 0xb9], dl
mov eax, dword [0x499518]
inc eax
mov dword [0x499518], eax
and eax, 0x41e8ecde
mov esi, dword [0x4a11b0]
add esi, eax
mov dword [0x4a11b0], esi
mov eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
mov eax, dword [0x49d638]
add eax, 0xce9dbfb
and eax, 0x1b4ea3a6
cmp eax, 0x7ec37604
jl 0x42e2c4
mov eax, dword [0x49fd24]
mov ecx, dword [0x4a2370]
mov edx, 0xbd186710
sub edx, ecx
or eax, edx
mov ecx, dword [0x49d764]
sub ecx, eax
mov dword [0x49d764], ecx
mov eax, 0x14016214
mov ecx, dword [esp + 0xc]
mov edx, dword [esp]
mov bl, byte [edx + ecx + 0x58]
mov byte [esp + 7], bl
mov ecx, dword [0x4a0160]
mov si, word [0x498680]
movsx edi, si
imul ecx, edi
and ecx, 0x15766687
cmp eax, ecx
jge 0x42e311
mov eax, dword [0x4998a4]
add eax, 0x7d48dc90
mov ecx, dword [0x4a1814]
sub ecx, eax
mov dword [0x4a1814], ecx
movzx eax, byte [esp + 7]
and eax, 0xf
mov cl, al
mov byte [esp + 7], cl
mov eax, dword [0x49d044]
add eax, 0xa45121e9
mov dword [0x49d044], eax
movzx eax, byte [esp + 7]
mov edx, dword [esp]
mov cl, byte [edx + eax + 0xa8]
mov eax, dword [esp + 8]
mov byte [edx + eax + 0xb9], cl
mov eax, dword [0x49bdec]
xor eax, 0x17e35dae
mov esi, dword [0x4a2bdc]
or esi, eax
mov dword [0x4a2bdc], esi
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [0x4a0394]
mov esi, eax
inc esi
mov dword [0x4a0394], esi
and eax, 0x5ed237d3
or eax, 0x227c565f
cmp eax, 0x4e67c59a
jge 0x42e3a9
mov eax, dword [0x49a308]
mov ecx, eax
dec ecx
mov dword [0x49a308], ecx
add eax, 0xdc3fcc70
mov dx, ax
mov word [0x495a8a], dx
jmp 0x42e143
mov eax, 0x9ea03782
mov ecx, dword [0x4a383c]
mov edx, ecx
inc edx
mov dword [0x4a383c], edx
cmp eax, ecx
je 0x42e3d4
mov dword [0x4a39e0], 0xedefd3d4
add esp, 0x14
pop esi
pop edi
pop ebx
ret