Function at 0xc6bc74
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
push ebx
push esi
push edi
mov dword [ebp - 0x34], ecx
lea edi, [ebp - 0x6c]
push 5
pop ecx
mov esi, str.OHostProcessExecution
mov dword [ebp - 0x38], edx
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [ebp - 0x28], 0xbdd45d19
mov dword [ebp - 0x24], 0x591fb6d8
mov eax, ecx
mov dword [ebp - 0x20], 0x8b84a5c7
movsw word es:[edi], word [esi]
mov dword [ebp - 0x1c], 0x502f8afe
mov esi, ecx
mov dword [ebp - 0x18], 0x9db3a15a
mov dword [ebp - 0x14], 0x9b0259bd
mov byte [ebp + eax - 0x16c], al
inc eax
cmp eax, 0x100
jb 0xc6bcc5
mov ebx, dword [0xc78c2c]
mov edi, ecx
mov dword [ebp - 0x30], edi
xor edx, edx
mov dword [ebp - 0xc], 0x15
mov eax, edi
mov cl, byte [ebp + edi - 0x16c]
div dword [ebp - 0xc]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x6c]
add eax, esi
add ecx, eax
movzx eax, cl
mov dword [ebp - 0xc], eax
xor eax, eax
mov esi, eax
or ebx, 0x23e6908d
inc esi
cmp word [esi*2 + str.fileName], ax
jne 0xc6bd0d
call fcn.00c67611
cmp dword [ebp - 0x2c], esi
jae 0xc6bd6b
mov edi, ebx
mov dword [ebp - 8], ebx
mov edx, ebx
mov ecx, str.fileName
call fcn.00c67de7
cmp dword [ebp - 0x2c], 0x23cb
mov ebx, dword [ebp - 8]
jne 0xc6bd4d
mov ebx, edi
and ebx, 0x5a3554b9
and ebx, 0xecda4637
mov edi, ebx
call fcn.00c67611
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], eax
cmp eax, esi
jb 0xc6bd2d
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0xc]
mov al, byte [ebp + eax - 0x16c]
mov byte [ebp + edi - 0x16c], al
call fcn.00c6710f
push 6
pop ecx
mov esi, 0xc6f314
lea edi, [ebp - 0x54]
xor eax, eax
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x54], 0x6e
mov dword [ebp - 8], eax
jne 0xc6bdb6
mov cl, 0x6e
test cl, cl
je 0xc6bdb3
cmp byte [ebp + eax - 0x54], 0
je 0xc6bdb3
mov cl, byte [eax + 0xc76711]
inc eax
cmp cl, byte [ebp + eax - 0x54]
je 0xc6bd9b
mov dword [ebp - 8], eax
mov ecx, ebx
call fcn.00c670ac
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
jae 0xc6bde3
cmp ecx, 0x1b42
jne 0xc6bdd5
sub ebx, 0x8ab406b
or ebx, 0x8542d202
inc ecx
cmp ecx, eax
jb 0xc6bdc7
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0xc]
inc edi
mov al, byte [ebp - 1]
mov dword [ebp - 0x30], edi
mov byte [ebp + esi - 0x16c], al
cmp edi, 0x100
jb 0xc6bcdf
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0xc], ecx
mov edi, ecx
lea eax, [edi + 1]
mov esi, ecx
movzx edi, al
mov al, byte [ebp + edi - 0x16c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 8], eax
add eax, edx
movzx eax, al
mov dword [ebp - 0x10], eax
or ebx, 0xc95934e4
inc esi
cmp word [esi*2 + str.fileName], cx
jne 0xc6be2c
call fcn.00c66c96
cmp esi, 0x13e3
jbe 0xc6be56
call fcn.00c67500
mov eax, 0x99f33be7
jmp 0xc6be5b
mov eax, 0xc29ae7a7
mov edx, dword [ebp - 0x10]
xor ebx, eax
mov ecx, dword [ebp - 0xc]
push 0
mov al, byte [ebp + edx - 0x16c]
mov byte [ebp + edi - 0x16c], al
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x16c], al
movzx eax, byte [ebp + edi - 0x16c]
add eax, dword [ebp - 8]
movzx eax, al
mov al, byte [ebp + eax - 0x16c]
xor al, byte [ebp + ecx - 0x28]
mov byte [ebp + ecx - 0x54], al
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, 0x18
pop ecx
jb 0xc6be0c
mov dword [0xc78c2c], ebx
lea ecx, [ebp - 0x54]
xor ebx, ebx
mov byte [ebp - 0x3c], bl
call fcn.00c4d02f
mov edi, eax
xor ecx, ecx
mov edx, edi
call fcn.00c4d470
mov ecx, eax
call fcn.00c4d5c1
mov dword [ebp - 0x10], eax
test eax, eax
je 0xc6bf30
mov ecx, dword [ebp - 0x38]
mov esi, ebx
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
mov dword [ecx], ebx
mov edx, edi
xor ecx, ecx
call fcn.00c4d470
mov ebx, eax
test ebx, ebx
je 0xc6bf1b
xor eax, eax
push 0x400
push eax
mov eax, dword [ebp - 0x34]
push dword [eax + esi*4]
call fcn.00c4cf49
mov ecx, ebx
call fcn.00c4d309
push eax
push ebx
mov ebx, dword [ebp - 0x34]
push dword [ebx + esi*4]
call fcn.00c4cef6
add esp, 0x18
jmp 0xc6bf1e
mov ebx, dword [ebp - 0x34]
inc esi
cmp esi, dword [ebp - 0x10]
jb 0xc6bee0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
call fcn.00c5b37d
xor ebx, ebx
mov ecx, edi
call fcn.00c4d309
push eax
push ebx
push edi
call fcn.00c4cf49
add esp, 0xc
mov ecx, edi
call fcn.00c4ba07
pop edi
pop esi
pop ebx
leave
ret