Function at 0x6c8a8a
Capabilities:
Encrypt data using rc4 prga

Disassembly:
add bl, bh
outsb dx, byte [esi]
add byte [ebx], ch
inc ebp
cld
shl eax, 2
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [0x6efaa4]
lea eax, [edx + ecx*4 + 4]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [0x6efaa4]
lea eax, [edx + ecx*4]
push eax
call fcn.006c95e0
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 [0x6ec7c4]
mov word [ebp - 8], ax
mov cl, byte [0x6ec7c6]
mov byte [ebp - 6], cl
cmp dword [ebp + 0x10], 0
outsb dx, byte [esi]
add byte [eax + 0x7d83fa4d], cl
adc byte [eax], al
jne 0x6c8ba4
pushfd
pushal
jmp 0x6c8ae2
sub edx, edx
jo 0x6c8ac8
jmp 0x6c8ad9
xor ecx, ecx
je 0x6c8ac0
jmp 0x6c8ad2
stc
xor ecx, 3
je 0x6c8a58
jmp 0x6c8acf
jmp 0x6c8add
jae 0x6c8acb
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x6c8ac2
jmp 0x6c8abc
sbb al, 0xdb
jmp 0x6c8ae5
jmp 0x6c8ab6
popal
popfd
push 0x2cc
push 0
lea edx, [ebp - 0x2d4]
push edx
call fcn.006c99d0
add esp, 0xc
pushal
xor eax, eax
jne 0x6c8b04
jmp 0x6c8b19
jmp 0x6c8b39
xor eax, eax
jne 0x6c8b21
jp 0x6c8b17
jo 0x6c8b1b
push cs
jmp 0x6c8b1c
jb 0x6c8b20
jns 0x6c8b05
call dword [0x74097900]
invalid
jns 0x6c8b22
je 0x6c8b0b
jmp 0x6c8aa4
xchg ebx, ebx
jp 0x6c8b10
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 0x6c8b34
jmp 0x6c8b49
jmp 0x6c8b69
xor eax, eax
jne 0x6c8b51
jp 0x6c8b47
jo 0x6c8b4b
jmp 0x6c8b4c
jb 0x6c8b50
jns 0x6c8b35
call dword [0x74097900]
invalid
jns 0x6c8b52
je 0x6c8b3b
jmp 0x6c8ad4
xchg ebx, ebx
jp 0x6c8b40
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 0x6c8b96
sub edx, edx
jo 0x6c8b7c
jmp 0x6c8b8d
xor ecx, ecx
je 0x6c8b74
jmp 0x6c8b86
stc
xor ecx, 3
je 0x6c8b0c
jmp 0x6c8b83
jmp 0x6c8b91
jae 0x6c8b7f
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x6c8b76
jmp 0x6c8b70
sbb al, 0xdb
jmp 0x6c8b99
jmp 0x6c8b6a
popal
popfd
mov eax, dword [ebp - 0x21c]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp + 0xc]
and ecx, 0xff
test ecx, ecx
je 0x6c8c46
lea edx, [ebp - 4]
push edx
push 2
push 0x6efaa8
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 0x6c8bd7
jmp 0x6c8bec
jmp 0x6c8c0c
xor eax, eax
jne 0x6c8bf4
jp 0x6c8bea
jo 0x6c8bee
jmp 0x6c8bef
jb 0x6c8bf3
jns 0x6c8bd8
call dword [0x74097900]
invalid
jns 0x6c8bf5
je 0x6c8bde
jmp 0x6c8b77
xchg ebx, ebx
jp 0x6c8be3
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
or byte [ebx + 0x15ff5108], cl
pop esp
shr dword [esi], 0x9c
pushal
jmp 0x6c8c3f
sub edx, edx
jo 0x6c8c25
jmp 0x6c8c36
xor ecx, ecx
je 0x6c8c1d
jmp 0x6c8c2f
stc
xor ecx, 3
je 0x6c8bb5
jmp 0x6c8c2c
jmp 0x6c8c3a
jae 0x6c8c28
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x6c8c1f
jmp 0x6c8c19
sbb al, 0xdb
jmp 0x6c8c42
jmp 0x6c8c13
popal
popfd
jmp 0x6c8c95
lea edx, [ebp - 4]
push edx
push 2
push 0x6efaa8
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 0x6c8c90
sub edx, edx
jo 0x6c8c76
jmp 0x6c8c87
xor ecx, ecx
je 0x6c8c6e
jmp 0x6c8c80
stc
xor ecx, 3
je 0x6c8c06
jmp 0x6c8c7d
jmp 0x6c8c8b
jae 0x6c8c79
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x6c8c70
jmp 0x6c8c6a
sbb al, 0xdb
jmp 0x6c8c93
jmp 0x6c8c64
popal
popfd
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret