Function at 0x4e0ab0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
call 0x4e0abe
pop eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0x2c], ecx
mov cl, 0x81
mov byte [ebp - 0x58], 0x81
mov byte [ebp - 0x4c], 0x81
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x40], edx
add eax, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], eax
jmp 0x4e0b18
mov dword [ebp - 0x14], eax
xor eax, eax
xor ebx, ebx
xor esi, esi
mov ecx, dword [ebp - 0x24]
shld esi, ebx, 0x10
shl ebx, 0x10
movzx edi, ax
or edi, ebx
cmp cl, 0x81
je 0x4e0b37
movzx eax, cl
cmp eax, 0x80
je 0x4e0d44
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x10], al
jb 0x4e0d79
test edx, edx
je 0x4e0dbb
cmp edx, dword [ebp - 0x38]
je 0x4e0dbb
movzx ebx, byte [edx]
test bl, bl
js 0x4e0b60
inc edx
jmp 0x4e0bd0
mov esi, edx
movzx edx, byte [edx + 1]
mov eax, ebx
and eax, 0x1f
and edx, 0x3f
cmp bl, 0xdf
jbe 0x4e0bab
movzx ecx, byte [esi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x4e0bb9
movzx ebx, byte [esi + 3]
and eax, 7
shl ecx, 6
shl eax, 0x12
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x4e0dbb
mov edx, esi
add edx, 4
jmp 0x4e0bd0
shl eax, 6
add esi, 2
or eax, edx
mov edx, esi
mov ebx, eax
jmp 0x4e0bd0
shl eax, 0xc
add esi, 3
or ecx, eax
mov edx, esi
mov ebx, ecx
nop word cs:[eax + eax]
nop
mov al, 2
cmp ebx, 0x27
mov dword [ebp - 0x28], eax
ja 0x4e0c09
mov ecx, dword [ebx*4 + 0x4e0dc8]
mov al, 0x30
mov dword [ebp - 0x10], 0
xor esi, esi
mov dword [ebp - 0x14], eax
mov al, 0x5c
mov dword [ebp - 0x24], eax
xor eax, eax
add ecx, dword [ebp - 0x34]
jmp ecx
cmp ebx, 0x5c
jne 0x4e0c21
mov al, 0x5c
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x24], eax
mov al, 0x5c
jmp 0x4e0b00
mov edi, edx
cmp ebx, 0x2ff
jbe 0x4e0c36
mov ecx, ebx
call fcn.00446c00
test al, al
jne 0x4e0c80
mov ecx, ebx
call fcn.00446b00
test al, al
je 0x4e0c80
mov al, pe_nt_image_headers32
mov edx, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], eax
jmp 0x4e0b09
mov eax, ebx
mov byte [ebp - 0x1c], 0
mov word [ebp - 0x1e], 0
or eax, 1
bsr eax, eax
xor eax, 0x1c
shr eax, 2
lea ecx, [eax - 2]
mov dword [ebp - 0x10], ecx
mov ecx, ebx
shr ecx, 0x14
movzx ecx, byte [ecx + 0x5142d0]
mov byte [ebp - 0x1b], cl
mov ecx, ebx
shr ecx, 0x10
and ecx, 0xf
movzx ecx, byte [ecx + 0x5142d0]
mov byte [ebp - 0x1a], cl
mov ecx, ebx
shr ecx, 0xc
and ecx, 0xf
movzx ecx, byte [ecx + 0x5142d0]
mov byte [ebp - 0x19], cl
mov ecx, ebx
shr ecx, 8
and ecx, 0xf
movzx ecx, byte [ecx + 0x5142d0]
mov byte [ebp - 0x18], cl
mov ecx, ebx
and ebx, 0xf
shr ecx, 4
and ecx, 0xf
movzx ecx, byte [ecx + 0x5142d0]
mov byte [ebp - 0x17], cl
movzx ecx, byte [ebx + 0x5142d0]
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x15], 0x7d
mov word [ebp + eax - 0x20], 0x755c
mov byte [ebp + eax - 0x1e], 0x7b
mov eax, dword [ebp - 0x1c]
movzx edx, byte [ebp - 0x1d]
movzx ecx, byte [ebp - 0x1e]
mov esi, dword [ebp - 0x18]
mov ebx, eax
mov dword [ebp - 0x14], edx
mov edx, edi
shrd ebx, esi, 0x10
shr esi, 0x10
cmp cl, 0x81
je 0x4e0dbb
mov dword [ebp - 0x24], ecx
mov cl, 0xa
mov dword [ebp - 0x28], ecx
jmp 0x4e0b09
mov eax, esi
xorps xmm0, xmm0
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x10], 0
shld eax, edi, 0x10
xor edi, edi
movsd qword [ebp - 0x58], xmm0
jmp 0x4e0d9d
mov ebx, ecx
mov byte [ebp - 0x58], cl
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x24], edx
mov byte [ebp - 0x57], al
movzx eax, cl
mov dword [ebp - 0x56], edi
mov dword [ebp - 0x52], esi
inc cl
movzx eax, byte [ebp + eax - 0x58]
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
call dword [eax + 0x10]
add esp, 8
mov edx, dword [ebp - 0x24]
test al, al
mov ecx, ebx
je 0x4e0b18
mov al, 1
jmp 0x4e0dbd
xor eax, eax
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret