Function at 0x5e0a11
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push word [esp + 0x16]
jmp 0x5e05ae
jae 0x5e05c4
push word [esp + 1]
jmp 0x5e05c9
push word [esp + 1]
lea esp, [esp + 0x28]
dec edi
jmp 0x5e05d4
xchg cx, dx
mov ecx, 0x6e3af8ca
mov bx, word [esp]
jmp 0x5e0638
clc
push ecx
jmp 0x5e06a5
mov edx, esp
jmp 0x5e060a
inc edi
and ecx, esi
jne 0x5e0620
mov edx, esp
clc
push ecx
jmp 0x5e06a5
mov dl, byte [esp]
mov bl, ah
jmp 0x5e0676
bsr edx, esi
jmp 0x5e0643
pushal
mov dword [esp + 0x14], edi
popal
movzx ebx, byte [edx]
mov dx, word [esp]
mov ecx, eax
jmp 0x5e068e
jmp 0x5e065e
mov dl, byte [esp]
cmc
jmp 0x5e075b
rol dh, 7
jae 0x5e0678
mov dl, byte [esp]
cmc
mov ecx, 0x17987d1c
jmp 0x5e06d1
add edi, dword [esi]
btr cx, bp
jle 0x5e0659
bsr edx, esi
mov dl, byte [esp]
mov bl, ah
jmp 0x5e0676
lea edx, [edx*4]
sub esp, 0x18
js 0x5e06fb
jns 0x5e06fb
dec esp
salc
inc esp
and ebx, esi
popal
invalid
bsf dx, ax
dec dl
jmp 0x5e0766
call fcn.005e06dc
xchg dh, dl
mov dl, 0xba
pop edx
jmp 0x5e0730
setge dh
inc dx
dec dl
lea edx, [ebp*4]
jmp 0x5e07f3
mov edx, dword [esp]
not cl
bt edx, esi
je 0x5e071a
jne 0x5e0744
cmc
push 0xfffffffffffffff8
lahf
push 0xffffffffffffffd5
or esp, dword [edx + reloc.WINMM.dll_midiStreamOut]
inc edx
setge dh
inc dx
dec dl
call fcn.005e1122
ret
mov ecx, 0x17987d1c
bsf dx, ax
dec dl
mov ch, byte [esp]
add bl, al
jmp 0x5e06bb
neg cl
mov dh, 0xb6
btr dx, bx
je 0x5e07dd
jne 0x5e0809
lodsb al, byte [esi]
aaa
cmpsd dword [esi], dword es:[edi]
ret 0xfd31
shr dh, 0
pushfd
xchg dl, dh
mov edx, dword [esp + 1]
lea edx, reloc.WINMM.dll_midiStreamOut
jmp 0x5e0865
bts edx, edi
push bx
mov word [esp], ax
mov dh, byte [esp + 1]
lea esp, [esp + 2]
jmp 0x5e077c
shr dh, 0
pushfd
xchg dl, dh
jmp 0x5e0815
mov edx, dword [esp + 1]
lea edx, reloc.WINMM.dll_midiStreamOut
jmp 0x5e0865
sub esp, 0xc
jl 0x5e0889
push word [esp + 6]
mov dl, cl
jmp 0x5e0873
xchg byte [esp + 0xa], dh
jmp 0x5e08a8
lea esp, [esp + 4]
neg cl
pushfd
pop dx
lea edx, [esi + edi]
jmp 0x5e083a
xchg byte [esp + 0xa], dh
jmp 0x5e08a8
push word [esp + 6]
mov dl, cl
jmp 0x5e084c
mov edx, 0xebcac741
shr dh, cl
jp 0x5e08ed
mov edx, ecx
jmp 0x5e08d7
lea esp, [esp + 0x10]
xor cl, 0xe4
not edx
lea edx, reloc.WINMM.dll_midiStreamOut
lea edx, [ecx + ecx]
jmp 0x5e0892
lea edx, [esi*4]
jmp 0x5e0a80
mov edx, ecx
lea edx, [esi*4]
jmp 0x5e0a80
add byte [eax], al
add byte [edx + 0x7c872434], cl
and al, 4
jmp 0x5e09c9
cmc
mov dx, bx
call 0x5e0a11
int3
mov edx, 0xed4004b
mov cx, word [esp]
cmc
jg 0x5e0a5b
jle 0x5e0a5b
rcr dword [edx + esi*8 - 0x6b], 1
mov eax, dword fs:[0x34ff4829]
and al, 0xff
je 0x5e0a3b
or al, 0xc2
adc byte [eax], al
sti
outsd dx, dword [esi]
call [edx - 0x7fec3797]
push ss
jno 0x5e09a6
xor byte [ebp + 0x1cec838c], bh
sub esp, 0x1c
push word [esp + 0x14]
mov word [esp + 4], di
pop dword [esp + 0x14]
lea esp, [esp + 2]
and al, 2
add al, cl
mov ecx, dword [esp]
jmp 0x5e09fb
shr dx, 0xf
jns 0x5e0a5e
lea edx, reloc.WINMM.dll_midiStreamOut
setl dl
jmp 0x5e0e44
inc edi
jmp 0x5e0a45
lea edx, reloc.WINMM.dll_midiStreamOut
setl dl
jmp 0x5e0f4c
rol cl, 0
jl 0x5e0a29
sub esp, 0x1c
call fcn.005e093e
neg bl
bsf edx, ebp
jmp 0x5e0bf0
inc cx
lea edx, [ecx + ecx]
mov dx, word [esp]
mov edx, dword [esp]
bsf cx, si
sub esp, 0x1b
jmp 0x5e0ad2
setl cl
jmp 0x5e0a8d
dec edx
jae 0x5e0b35
sub esp, 0x1e
mov dh, bh
lea esp, [esp + 2]
jmp 0x5e0b14
lea esp, [esp + 3]
lea esp, [esp + 0x18]
sub bl, 0xd3
mov edx, ebp
lea edx, reloc.WINMM.dll_midiStreamOut
jmp 0x5e0abc
mov dx, word [esp]
mov edx, dword [esp]
bsf cx, si
jmp 0x5e0aa8
bswap ecx
xor cx, sp
bsf ecx, edx
sub esp, 0xc
jmp 0x5e0b52
lea esp, [esp + 2]
rol bl, 0
jno 0x5e0afa
jo 0x5e0b76
sub esp, 0xc
jmp 0x5e0b52
sub esp, 0x1e
mov dh, bh
jmp 0x5e0b10
mov cx, sp
add dh, 0x45
mov edx, 0x5e6d7598
call 0x5e0b60
mov edi, 0x33303186
sub cl, byte [ebp - 0x7fd7db9c]
ret
lea esp, [esp + 0x28]
add bl, 0x52
bsr edx, esi
jle 0x5e0b3c
jg 0x5e0baf
jmp 0x5e0b96
bswap ecx
xor cx, sp
bsf ecx, edx
jmp 0x5e0b1b
xchg dword [esp + 1], edx
jmp 0x5e0bd2
lea esp, [esp + 4]
inc bl
sub esp, 0xd
je 0x5e0b80
xchg dword [esp + 1], edx
setnp dh
jmp 0x5e0bbc
mov cx, sp
add dh, 0x45
mov edx, 0x5e6d7598
jmp 0x5e0b47
lea esp, [esp + 1]
jmp 0x5e0bd9
setnp dh
lea esp, [esp + 1]
mov ecx, ebx
lea edx, [edx + esi]
call fcn.005e0cda
sub ch, byte [edi + 0x71a95a3f]
inc eax
rcl byte [esi + 0x31], 0xc0
add edi, ebp
je 0x5e0a98
inc cx
lea edx, [ecx + ecx]
jmp 0x5e0aed
bswap edx
bts edx, esp
jg 0x5e0ab7
setl cl
jmp 0x5e0aba
mov edx, 0xdd02ee1c
mov edx, esi
lea ecx, [edi*4]
jmp 0x5e0f5a
mov edx, 0xdd02ee1c
mov edx, esi
lea ecx, [edi*4]
mov cx, di
jmp 0x5e0d0f