Function at 0x414f8a
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov edx, dword [0x435764]
push ebx
push edi
mov ebx, ecx
xor edi, edi
mov dword [ebp - 4], ebx
mov eax, edi
add edx, 0x57276cf1
inc eax
cmp byte [eax + str.AppID], 0
jne 0x414fa1
mov ecx, dword [ebp - 0xc]
mov dword [0x435764], edx
mov edx, dword [0x435724]
push esi
cmp ecx, eax
jae 0x414fe4
mov esi, dword [0x435710]
cmp ecx, 0x5f3
jne 0x414fd9
imul edx, ebx, 0x2fbb8790
imul esi, esi, 0xc3649a9a
inc ecx
cmp ecx, eax
jb 0x414fcb
mov eax, edi
mov esi, 0x430478
push 7
pop ecx
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x2c], 0x53
jne 0x415027
mov cl, 0x53
test cl, cl
je 0x415016
cmp byte [ebp + eax - 0x2c], 0
je 0x415016
mov cl, byte [eax + 0x430ba1]
inc eax
cmp cl, byte [ebp + eax - 0x2c]
je 0x414ffe
cmp dword [ebp - 0xc], eax
jae 0x415027
mov eax, ebx
and eax, 0xbc07b75
mov dword [0x435764], eax
xor esi, esi
lea edi, [ebp - 0x1c]
mov ecx, esi
mov esi, 0x42ccac
push 0x4f
pop ebx
mov dword [ebp - 8], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
cmp bx, word [ebp - 0x1c]
jne 0x415069
mov esi, ebx
mov eax, edi
test si, si
je 0x415066
cmp word [ebp + eax - 0x1c], di
je 0x415066
inc ecx
lea eax, [ecx + ecx]
movzx esi, word [eax + str.OHostProcessExecution]
cmp si, word [ebp + eax - 0x1c]
je 0x415048
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
movzx ecx, byte [ecx*2 + str.OHostProcessExecution]
movzx eax, byte [ebp + eax*2 - 0x1c]
sub ecx, eax
cmp ecx, 0xce7
ja 0x41508c
mov edx, dword [ebp - 4]
or edx, 0x3dd7803d
mov dword [ebp - 8], edi
mov esi, 0x42cb54
push 6
pop ecx
lea edi, [ebp - 0x28]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
cmp bx, word [ebp - 0x28]
jne 0x4150d6
mov ecx, dword [ebp - 8]
mov esi, ebx
mov eax, edi
test si, si
je 0x4150c9
cmp word [ebp + eax - 0x28], di
je 0x4150c9
inc ecx
lea eax, [ecx + ecx]
movzx esi, word [eax + str.OHostProcessExecution]
cmp si, word [ebp + eax - 0x28]
je 0x4150ab
cmp dword [ebp - 0xc], ecx
jae 0x4150d6
xor edx, 0xe80df637
jmp 0x4150dc
mov edx, dword [0x435714]
mov eax, edi
mov esi, 0x42cf00
push 5
pop ecx
lea edi, [ebp - 0x24]
mov dword [ebp - 8], eax
rep movsd dword es:[edi], dword [esi]
or edx, 0xc263075a
mov dword [ebp - 0xc], edx
movsw word es:[edi], word [esi]
xor esi, esi
cmp bx, word [ebp - 0x24]
jne 0x41512d
mov edx, dword [ebp - 8]
mov eax, esi
test bx, bx
je 0x415124
cmp word [ebp + eax - 0x24], si
je 0x415124
inc edx
lea eax, [edx + edx]
movzx ebx, word [eax + str.OHostProcessExecution]
cmp bx, word [ebp + eax - 0x24]
je 0x415106
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax*2 + str.OHostProcessExecution]
movzx eax, byte [ebp + eax*2 - 0x24]
sub ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, 0x1190
jae 0x41514f
mov edx, eax
and edx, 0xd0f2f8ab
push 5
mov ebx, eax
lea edi, [ebp - 0x24]
mov eax, esi
and ebx, 0x61406672
pop ecx
mov esi, 0x42ef20
mov dword [0x435710], ebx
rep movsd dword es:[edi], dword [esi]
push 0x77
pop ecx
mov dword [ebp - 8], eax
cmp cx, word [ebp - 0x24]
jne 0x4151a9
mov ebx, dword [ebp - 8]
xor esi, esi
mov eax, esi
test cx, cx
je 0x41519d
cmp word [ebp + eax - 0x24], si
je 0x41519d
inc ebx
lea eax, [ebx + ebx]
movzx ecx, word [eax + 0x430d60]
cmp cx, word [ebp + eax - 0x24]
je 0x41517f
mov dword [ebp - 8], ebx
mov ebx, dword [0x435710]
mov eax, dword [ebp - 8]
movzx ecx, byte [eax*2 + 0x430d60]
movzx eax, byte [ebp + eax*2 - 0x24]
sub ecx, eax
pop esi
cmp ecx, 0x1955
jbe 0x4151cc
mov edx, dword [ebp - 4]
add edx, 0xa32cf880
jmp 0x4151db
mov ecx, dword [ebp - 4]
add ecx, 0x231f4509
mov dword [0x435764], ecx
and ebx, 0x457aa9f7
and edx, 0xba628aeb
pop edi
mov dword [0x435724], ebx
mov eax, ebx
mov dword [0x435714], edx
pop ebx
leave
ret