Function at 0x4ef930
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
cmp ebp, esp
ja 0x4ef939
call fcn.00402750
enter 0x438, 3
push ebx
push ecx
push edx
mov dword [ebp - 0x10], esp
mov eax, 0
mov ecx, 0xac
lea edi, [ebp - 0x344]
jecxz 0x4ef957
rep stosb byte es:[edi], al
lea eax, [ebp - 0x180]
push eax
mov esi, 0x5489ad
lea edi, [ebp - 0x444]
call fcn.00401b30
mov esi, 0x545898
call fcn.00401af0
mov ecx, edi
push ecx
call fcn.00401e60
lea eax, [ebp - 0x180]
push eax
call fcn.00401ee0
call fcn.00406350
lea eax, [ebp - 0x180]
push eax
call fcn.004065f0
test al, al
jne 0x4efa0f
lea eax, [ebp - 0x180]
push eax
push 0xff
lea ecx, [ebp - 0x284]
push ecx
call fcn.00406a30
call fcn.00406550
call fcn.00406350
movzx eax, byte [ebp - 0x283]
bound eax, qword [0x5458a4]
movzx ecx, al
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x284]
push eax
push 3
movzx eax, byte [ebp - 0x284]
bound eax, qword [0x52c400]
sub eax, 2
push eax
call fcn.00401cd0
lea edi, [ebp + ecx*4 - 0x404]
lea esi, [ebp - 0x444]
push 3
call fcn.00401950
jmp 0x4ef991
lea eax, [ebp - 0x180]
push eax
call fcn.00401d90
call fcn.00406350
lea ecx, [ebp - 0x180]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00401e60
lea eax, [ebp - 0x180]
push eax
call fcn.00401210
call fcn.00406350
lea ecx, [ebp - 0x180]
push ecx
mov eax, dword [ebp - 4]
lea eax, [eax - 0x20c]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
mov word [ebp - 0x348], 9
mov word [ebp - 0x184], 0
inc word [ebp - 0x184]
lea eax, [ebp - 0x180]
push eax
call fcn.00403be0
call fcn.00406350
dec word [ebp - 0x348]
jne 0x4efa75
call fcn.004efdf0
movsx eax, ax
test eax, eax
jle 0x4efd40
mov word [ebp - 0x34c], ax
mov word [ebp - 0x184], 0
inc word [ebp - 0x184]
lea eax, [ebp - 0x180]
push eax
movsx ecx, word [ebp - 0x184]
bound ecx, qword [0x545890]
movzx eax, cl
imul eax, eax, 0x75
mov ebx, dword [ebp - 4]
lea eax, [ebx + eax - 0x19c9]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
lea eax, [ebp - 0x180]
push eax
movsx ebx, word [ebp - 0x184]
bound ebx, qword [0x545890]
movzx ecx, bl
imul eax, ecx, 0x75
mov ebx, dword [ebp - 4]
lea eax, [ebx + eax - 0x19b7]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
movsx ecx, word [ebp - 0x184]
bound ecx, qword [0x545890]
movzx eax, cl
imul ebx, eax, 0x75
mov eax, dword [ebp - 4]
lea ebx, [eax + ebx - 0x198f]
push ebx
movzx eax, byte [0x5487c0]
bound eax, qword [0x52c894]
push eax
push 0
push 0xff
lea ebx, [ebp - 0x284]
push ebx
call fcn.0041c370
lea eax, [ebp - 0x180]
push eax
lea ebx, [ebp - 0x284]
push ebx
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
movsx ecx, word [ebp - 0x184]
bound ecx, qword [0x545890]
movzx eax, cl
imul ebx, eax, 0x75
mov eax, dword [ebp - 4]
lea esi, [eax + ebx - 0x197c]
lea edi, [ebp - 0x298]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea ebx, [ebp - 0x298]
push ebx
call fcn.004efd60
lea ecx, [ebp - 0x298]
push ecx
mov eax, dword [ebp - 4]
mov bx, word [eax - 0x1fd10]
push ebx
push 0
push 0xff
lea eax, [ebp - 0x284]
push eax
call fcn.0041c370
lea ebx, [ebp - 0x180]
push ebx
lea eax, [ebp - 0x284]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
lea ecx, [ebp - 0x180]
push ecx
movsx eax, word [ebp - 0x184]
bound eax, qword [0x545890]
movzx ebx, al
imul eax, ebx, 0x75
mov ebx, dword [ebp - 4]
lea eax, [ebx + eax - 0x1993]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
lea eax, [ebp - 0x180]
push eax
movsx ebx, word [ebp - 0x184]
bound ebx, qword [0x545890]
movzx ecx, bl
imul eax, ecx, 0x75
mov ebx, dword [ebp - 4]
movzx eax, byte [ebx + eax - 0x1992]
bound eax, qword [0x5458a4]
movzx ecx, al
lea eax, [ebp + ecx*4 - 0x404]
push eax
push 0
call fcn.00406c30
call fcn.00403be0
call fcn.00406350
lea ecx, [ebp - 0x180]
push ecx
mov edi, dword [0x5458a0]
mov dword [ebp - 0x350], edi
movsx eax, word [ebp - 0x184]
bound eax, qword [0x545890]
movzx ebx, al
imul ecx, ebx, 0x75
mov eax, dword [ebp - 4]
lea ebx, [eax + ecx - 0x1993]
push ebx
call fcn.004462d0
movsx ecx, ax
bound ecx, qword [0x53b293]
movzx eax, cl
movsx ebx, word [eax*2 + 0x555620]
bound ebx, qword [0x52c428]
mov edi, dword [ebp - 0x350]
mov eax, ebx
cdq
idiv edi
push eax
push 0
call fcn.0040bdc0
call fcn.00403be0
call fcn.00406350
lea eax, [ebp - 0x180]
push eax
call fcn.00403be0
call fcn.00406350
lea ebx, [ebp - 0x180]
push ebx
call fcn.00403be0
call fcn.00406350
lea eax, [ebp - 0x180]
push eax
call fcn.00403be0
call fcn.00406350
dec word [ebp - 0x34c]
jne 0x4efab6
lea eax, [ebp - 0x180]
push eax
call fcn.00401d90
call fcn.00406350
pop edx
pop ecx
pop ebx
leave
ret 8