Function at 0x6a8600
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 7
shl eax, cl
test edx, eax
je 0x6a869d
mov ecx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x14]
shr ebx, cl
not eax
and edx, eax
mov eax, 1
and bl, 0xf
mov cl, bl
shl eax, cl
mov dword [ebp - 0x1c], edx
test edi, eax
jne 0x6a869d
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
or edi, eax
movzx eax, byte [ecx + esi + 0x43c]
xor dword [esp + eax], edi
add byte [eax], al
xor dword [esp + eax], edi
add byte [eax], al
and eax, 7
and edx, 0xffffff
lea ecx, [eax + eax*2]
shr edx, cl
mov dword [ebp - 0x18], edi
mov edi, dword [esi + 0x460]
and edx, 7
cmp byte [edi + eax + 0xa], 0xff
jne 0x6a8630
mov cl, byte [edi + 0x12]
mov byte [edi + eax + 0xa], cl
inc byte [edi + 0x12]
sub edx, 2
mov al, byte [edi + eax + 0xa]
movzx ax, al
mov dword [ebp - 0x40], 0x32c061d0
mov byte [ebp - 0x3c], 1
mov word [ebp - 0x38], ax
mov byte [ebp - 0x3a], 0xe4
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x39], 0
mov byte [ebp - 4], 6
mov byte [ebp - 3], bl
mov byte [ebp - 1], 0
je 0x6a867f
sub edx, 1
je 0x6a8679
sub edx, 1
je 0x6a8673
mov byte [ebp - 2], 1
jmp 0x6a8683
mov byte [ebp - 2], 0xf
jmp 0x6a8683
mov byte [ebp - 2], 7
jmp 0x6a8683
mov byte [ebp - 2], 3
mov eax, dword [esi + 0x47c]
lea ecx, [ebp - 0x40]
push ecx
push 1
lea ecx, [ebp - 4]
call fcn.006a4cf0
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
inc dword [ebp - 8]
add dword [ebp - 0xc], 4
add ecx, 3
mov dword [ebp - 0x10], ecx
test edx, edx
jne 0x6a85c3
mov edi, 0x32c061d0
mov ebx, dword [ebp - 0x20]
test ebx, 0x40000
je 0x6a87a1
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x34], edi
je 0x6a8702
mov eax, dword [esi + 0x460]
cmp byte [eax + 6], 0xff
jne 0x6a86e7
mov dl, byte [eax + 0x12]
mov byte [eax + 6], dl
inc byte [eax + 0x12]
movzx ax, byte [eax + 6]
mov byte [ebp - 0x30], 1
mov byte [ebp - 0x2f], 0
mov byte [ebp - 0x2e], 0
mov byte [ebp - 0x2d], 0
mov word [ebp - 0x2c], ax
jmp 0x6a877d
cmp dword [ebp - 0x28], 0
je 0x6a8738
mov eax, dword [esi + 0x460]
cmp byte [eax + 7], 0xff
jne 0x6a871d
mov cl, byte [eax + 0x12]
mov byte [eax + 7], cl
inc byte [eax + 0x12]
movzx ax, byte [eax + 7]
mov byte [ebp - 0x30], 1
mov byte [ebp - 0x2f], 0
mov byte [ebp - 0x2e], 0xff
mov byte [ebp - 0x2d], 0
mov word [ebp - 0x2c], ax
jmp 0x6a877d
xor edx, edx
push edx
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x3c], 2
mov word [ebp - 0x38], dx
mov byte [ebp - 0x3a], 0xe4
mov byte [ebp - 0x3b], dl
mov byte [ebp - 0x39], dl
call fcn.006a4910
movzx eax, byte [ebp - 0x48]
mov cl, byte [ebp - 0x47]
mov dl, byte [ebp - 0x46]
mov byte [ebp - 0x30], al
movzx eax, byte [ebp - 0x45]
mov byte [ebp - 0x2f], cl
mov cx, word [ebp - 0x44]
mov byte [ebp - 0x2e], dl
mov byte [ebp - 0x2d], al
mov word [ebp - 0x2c], cx
mov eax, dword [esi + 0x47c]
lea edx, [ebp - 0x34]
push edx
push 1
lea ecx, [ebp - 4]
mov byte [ebp - 4], 4
mov byte [ebp - 3], 1
mov byte [ebp - 2], 1
mov byte [ebp - 1], 0
call fcn.006a4cf0
test ebx, 0x800000
je 0x6a8800
mov eax, dword [esi + 0x460]
cmp byte [eax + 2], 0xff
jne 0x6a87be
mov cl, byte [eax + 0x12]
mov byte [eax + 2], cl
inc byte [eax + 0x12]
mov al, byte [eax + 2]
movzx dx, al
lea eax, [ebp - 0x40]
push eax
mov eax, dword [esi + 0x47c]
push 1
lea ecx, [ebp - 4]
mov dword [ebp - 0x40], edi
mov byte [ebp - 0x3c], 1
mov word [ebp - 0x38], dx
mov byte [ebp - 0x3a], 0
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x39], 0
mov byte [ebp - 4], 4
mov byte [ebp - 3], 2
mov byte [ebp - 2], 0xf
mov byte [ebp - 1], 0
call fcn.006a4cf0
pop edi
pop ebx
mov esp, ebp
pop ebp
ret