Function at 0x4033e0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, eax
mov ebx, ecx
call fcn.00403580
mov eax, dword [edi]
cmp word [ebx + eax*2], 0x30
je 0x403500
mov byte [ebp - 1], 0
mov esi, eax
mov dword [ebp - 8], 0x17
nop
mov eax, dword [edi]
movzx edx, word [ebx + eax*2]
mov ecx, edx
mov eax, edx
cmp eax, 0x2b
jl case.0x403433.44
cmp eax, 0x31
je case.0x403433.48
sub eax, 0x2b
cmp eax, 0x3a
ja case.0x403433.44
movzx eax, byte [eax + 0x40353c]
jmp dword [eax*4 + 0x403528]
mov edx, dword [ebp - 8]
and edx, 0xffffffef
or edx, 0x20
mov dword [ebp - 8], edx
mov al, byte [ebp - 8]
test al, 0x20
je 0x40347b
mov eax, dword [edi]
movzx ecx, word [ebx + eax*2]
inc eax
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
push ecx
call fcn.00403250
and dword [ebp - 8], 0xffffffdf
jmp 0x403410
and ecx, 0xffffffdf
cmp ecx, 0x41
jge 0x4034f2
cmp edx, 0x5f
jne 0x403446
jmp 0x427279
test al, 0x10
jne 0x427227
cmp byte [ebp - 1], 0
jne 0x427291
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
push eax
call fcn.004130bb
mov ebx, eax
add esp, 4
mov ecx, ebx
add ecx, 0x80000000
mov dword [ebp - 8], edx
adc edx, 0
test edx, edx
ja 0x4272ca
jb 0x4034be
cmp ecx, 0xffffffff
ja 0x4272ca
mov esi, dword [ebp + 8]
movzx eax, word [esi + 8]
cmp ax, 0x3f
jle 0x40351c
mov ecx, 5
mov word [esi + 8], cx
mov dword [esi], 0
mov edi, dword [edi]
push edi
call fcn.004130b0
add esp, 4
mov dword [esi], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp ecx, 0x5a
jg 0x403471
jmp 0x427279
movzx ecx, word [ebx + eax*2 + 2]
cmp ecx, 0x78
je 0x4271c2
cmp ecx, 0x58
jne 0x403402
jmp 0x4271c2
cmp ax, 0x30
jl 0x4034cb
jmp 0x4272b3
adc al, byte [ecx + 8]
mov dword [0xf5134baf], ebp
add byte [ebx], bh
mov eax, dword [0x91702bc2]
popfd
shr byte [edx], 1
cmpsb byte cs:[esi], byte es:[edi]
inc ebx
push esp
inc edi
or esi, dword [eax - 0x54]
jp 0x4271fb
invalid
sub byte [esi], dh
add ch, byte [edx - 0x1ae416]
int 0x8f
inc ecx
insb byte es:[edi], dx
sbb esp, ebp
dec ebp
pop dword [ecx + 0x6c]
enter 0x6d01, 0xffffffffffffffcf
lodsd eax, dword [esi]
dec ebx
mov ch, pe_nt_image_headers32
stc
sub eax, 0x4f1eb9c4
sbb cl, byte [eax - 0x2c6b01f8]
and cl, byte [ebx + 0x50abf243]
fcmovnbe st(0), st(1)
sal dword [ebp - 0x45], cl
mov edx, 0x9771e8d3
xchg edi, eax
aad 0xe1
dec ecx
popfd
jno 0x42722b
or esp, dword [ebp + 0x33]
fidivr word [edi + 0x3a]
test al, 0xc
push edi
cwde
xchg byte [ebx + 0x2c], bh
xor dword [edi - 0x13968b11], 0x27a6e7c2
daa
daa
dec ebp
mov al, 0x8f
loope 0x427201
mov al, byte [0x4e7518bb]
pop es
retf
loopne 0x427298
cli
enter 0xffffffffffffa947, 0xffffffffffffffdd
invalid
rcr ch, 0xf5
xlatb
retf
insd dword es:[edi], dx
rol byte [edx - 3], 0xfd
imul esp
stc
add esp, ecx
pop ds
cmp dword [edx], ecx
invalid
pop ecx
invalid
or bh, dl
not dword [edi]
invalid
out 0x13, eax
add dword [eax + esi*8 + 0x63], esp
ja 0x427281
fild word [eax + 0x1bf60a1]
or ecx, ecx
mov eax, dword [0xb01bf60]
leave
or al, byte [ecx - 0x43dcf6e]
ja 0x427276
stosd dword es:[edi], eax
cmc
or dword [edi + 0x18], ebp
pop ds
sbb eax, 0xb671a908
outsd dx, dword [esi]
mov edx, 0x90de63d9
ror byte [ecx + 0x47e904e6], cl
push ebp
inc ebx
jp 0x4272bd
invalid