Function at 0x4ec73b9c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [edx + eax*4], 0xffffffff
jmp 0x4ec73ac0
mov ebx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x118]
add edi, 1
sub ecx, 1
mov dword [ebp - 0x118], ecx
jns 0x4ec73b00
cmp dword [ebp + 0xc], 0
jne 0x4ec77ef0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.4ec515ae
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x10c]
cmp byte [ebx + eax], 0
mov edx, dword [ebp - 0x110]
je 0x4ec738ad
mov esi, ecx
sub esi, dword [ebp + ecx*4 - 0x52c]
mov dword [edx + eax*4 + 0x48], esi
movzx esi, byte [eax + ebx]
add ecx, esi
mov esi, dword [ebp + ecx*4 - 0x530]
mov dword [edx + eax*4], esi
add eax, 1
cmp eax, 0x10
jle 0x4ec73a8d
mov eax, dword [ebp - 0x110]
push 0x400
mov dword [eax + 0x44], 0xfffff
add eax, 0x90
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor esi, esi
mov ecx, 7
mov dword [ebp - 0x114], esi
lea edi, [esi + 1]
mov dword [ebp - 0x118], ecx
mov eax, 1
cmp byte [edi + ebx], al
mov dword [ebp - 0x120], eax
jb 0x4ec73a58
shl eax, cl
lea ebx, [esi + ebx + 0x11]
mov dword [ebp - 0x124], eax
jmp 0x4ec73b6e
mov dword [edx], edi
mov cl, byte [ebx]
mov byte [esi], cl
sub eax, 1
add edx, 4
add esi, 1
test eax, eax
jg 0x4ec73b22
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ebp - 0x120]
movzx ecx, byte [ecx + edi]
add edx, 1
add esi, 1
add ebx, 1
cmp edx, ecx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x114], esi
jg 0x4ec73a52
mov edx, dword [ebp + esi*4 - 0x52c]
mov ecx, dword [ebp - 0x118]
shl edx, cl
test eax, eax
jle 0x4ec73b41
mov ecx, dword [ebp - 0x110]
lea esi, [edx + ecx + 0x490]
lea edx, [ecx + edx*4 + 0x90]
jmp 0x4ec73b22
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x52c
mov eax, dword [0x4edd770c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x10]
test ebx, ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x114], eax
jl 0x4ecdafdb
cmp ebx, 4
jge 0x4ecdafdb
cmp dword [ebp + 0xc], 0
jne 0x4ec77e1d
mov edx, dword [edi + ebx*4 + 0xc8]
mov dword [ebp - 0x10c], edx
mov esi, edx
test esi, esi
je 0x4ecdaff5
mov ebx, dword [ebp - 0x114]
cmp dword [ebx], 0
jne 0x4ec73c17
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push 0x590
push 1
push edi
call edx
mov dword [ebx], eax
mov eax, dword [ebx]
xor edi, edi
mov dword [ebp - 0x110], eax
mov dword [eax + 0x8c], esi
lea ebx, [edi + 1]
movzx esi, byte [ebx + esi]
test esi, esi
jl 0x4ecdb00f
lea eax, [esi + edi]
cmp eax, 0x100
jg 0x4ecdb00f
test esi, esi
je 0x4ec73c5c
push esi
lea eax, [ebp + edi - 0x108]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
add edi, esi
add ebx, 1
cmp ebx, 0x10
jg 0x4ec73c6c
mov esi, dword [ebp - 0x10c]
jmp 0x4ec73c2a
mov byte [ebp + edi - 0x108], 0
mov al, byte [ebp - 0x108]
mov dword [ebp - 0x128], edi
xor esi, esi
xor edi, edi
test al, al
movsx ebx, al
je 0x4ec73cd9
lea eax, [ebp - 0x108]
jmp 0x4ec73cce
movsx edx, byte [ebp + edi - 0x107]
mov dword [ebp + edi*4 - 0x52c], esi
add edi, 1
add esi, 1
cmp edx, ebx
je 0x4ec73c93
mov eax, 1
mov ecx, ebx
shl eax, cl
cmp esi, eax
jge 0x4ecdb02a
lea eax, [ebp + edi - 0x108]
add esi, esi
add ebx, 1
cmp byte [eax], 0
je 0x4ec73cd9
movsx ecx, byte [eax]
cmp ecx, ebx
jne 0x4ec73cac
lea ebx, [ebx]
jmp 0x4ec73c93
xor ecx, ecx
mov eax, 1
jmp 0x4ec73a8d
mov esi, dword [edi + ebx*4 + 0xb8]
mov dword [ebp - 0x10c], esi
jmp 0x4ec73bf3
mov edi, dword [ebp - 0x128]
xor esi, esi
test edi, edi
jle 0x4ec73a7a
nop
movzx eax, byte [ebx + esi + 0x11]
test eax, eax
jl 0x4ecdb045
cmp eax, 0xf
jg 0x4ecdb045
add esi, 1
cmp esi, edi
jl 0x4ec77f01
jmp 0x4ec73a7a
mov ecx, dword [edi]
mov dword [ecx + 0x14], 0x33
mov edx, dword [edi]
mov dword [edx + 0x18], ebx
mov eax, dword [edi]
mov ecx, dword [eax]
push edi
call ecx
jmp 0x4ec73bda
mov eax, dword [edi]
mov dword [eax + 0x14], 0x33
mov ecx, dword [edi]
mov dword [ecx + 0x18], ebx
mov edx, dword [edi]
mov eax, dword [edx]
push edi
call eax
jmp 0x4ec73bfb
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
mov dword [ecx + 0x14], 8
mov edx, dword [eax]
push eax
mov eax, dword [edx]
call eax
jmp 0x4ec73c44
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
mov dword [ecx + 0x14], 8
mov edx, dword [eax]
push eax
mov eax, dword [edx]
call eax
jmp 0x4ec73cbd
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
mov dword [edx + 0x14], 8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call edx
jmp 0x4ec77f17