Function at 0x10277097
Capabilities:
Encrypt data using rc4 prga

Disassembly:
call fcn.10277097
div byte [ecx + 0x4f45c61]
adc eax, 0xb052c832
or bh, ah
mov cl, 0xb0
mov bl, 0xaa
pushal
lea esp, [esp + 0x20]
jmp 0x1024018e
pop edi
jmp 0x1027709d
mov bx, 0x8711
jmp 0x10276f4c
bsf cx, bp
mov ecx, esi
jmp 0x10276f07
mov ecx, dword [ebp + 8]
sub esp, 3
add esp, 1
mov byte [esp], ch
lea esp, [esp + 2]
jmp 0x10276f23
mov cl, byte [ecx]
jmp 0x1027741e
movzx edx, byte [eax + 1]
bsr bx, si
jmp 0x10276f8d
neg ax
xchg dx, ax
lea eax, [esi + 0x1a]
jmp 0x10276d9c
lea ebx, [ebx + ebp]
pushfd
ror bl, 3
not bh
jmp 0x10276fad
movzx ebx, byte [eax]
shl edx, 8
or edx, ebx
jmp 0x10276f71
movzx ebx, byte [eax - 1]
shl edx, 8
call fcn.10276f97
movzx ebx, byte [eax - 2]
shl edx, 8
sub esp, 0xf
add esp, 0xd
jmp 0x10277017
jne 0x1024016d
not ecx
xor ecx, ecx
setno bh
jmp 0x10276f63
lea esp, [esp + 2]
jmp 0x1027703a
lea esp, [esp + 0x28]
inc ecx
sub esp, 0x1a
lea esp, [esp]
mov dword [esp + 0x15], esp
jmp 0x10276fe9
lea esp, [esp + 2]
or edx, ebx
pushal
mov dword [ebp + ecx*4 - 0x40], edx
jmp 0x10276fff
lea esp, [esp + 3]
jmp 0x10277204
lea esp, [esp + 0x18]
add eax, 4
pushfd
add esp, 1
add esp, 0
jmp 0x10277024
inc eax
inc dword [ebp + 8]
cmp eax, 0x40
jmp 0x10276fd7
test edi, edi
jne 0x10276dca
call fcn.10277063
and al, 0xa6
xor al, 0x53
scasb al, byte es:[edi]
sbb al, 0x56
fisttp dword [ebx + 0x2e]
invalid
lea esp, [esp + 4]
jmp 0x10277079
leave
ret
mov ah, 0xff
mov ax, 0x3223
xor eax, eax
jmp 0x1024016d
lea ecx, [esi + 8]
lea eax, [ebp - 0x40]
call fcn.1025cab2
jmp 0x102770d5
mov ecx, dword [ebp + 0x74]
cmc
sub esp, 9
jmp 0x10277334
cmp ecx, 0x10
pushfd
lea esp, [esp + 4]
jb 0x10276d9c
jae 0x10277158
push ebp
jmp 0x102772a3
add al, 0
add ah, dh
not dword [bp + si - reloc.WINMM.dll_midiStreamProperty]
sbb dh, byte [ebp + 0x64]
xchg edi, eax
dec cl
call fcn.102774c5
jo 0x1027723d
js 0x10277274
ljmp 0x9fa:0x9f0f9229
push ebx
jmp 0x10277283
inc edx
mov cl, 0x7e
sub dh, bh
salc
not esi
mov esi, eax
setp al
bswap eax
jmp 0x10277262
mov ebx, ebp
lea ebx, [ebx + 0x74]
push ecx
mov ecx, 0x4da05321
jmp 0x102772c6
lea ebp, [esp - 0x78]
sub esp, 0x84
push esi
jmp 0x10277278
pushal
call fcn.102772b0
lea ecx, reloc.WINMM.dll_midiStreamProperty
lea esp, [esp + 0x24]
mov dword [ebx], ecx
pop ecx
pop ebx
jmp 0x10277369
sub eax, ecx
bswap ecx
mov ch, bh
jmp 0x10277489
jne 0x102773e4
not cl
call fcn.10277343
pop ebx
jecxz 0x102773a1
push ss
in eax, 0x56
cmpsb byte [esi], byte es:[edi]
rcl dword [eax - 0x73]
and al, 1
lea esp, [esp + 1]
lea esp, [esp + 8]
dec dword [ebp + 0x74]
test ecx, ecx
jmp 0x1027731e
lea eax, [ebp - 0xc]
jmp 0x102771ee
clc
jmp 0x102773bf
sbb eax, 0xd0b121ab
and ebx, dword [esi - reloc.WINMM.dll_midiStreamProperty]
bound esp, qword [ecx + 0x5237a72f]
mov eax, dword [reloc.WINMM.dll_midiStreamProperty]
pop ebx
shr eax, 3
cmc
pushfd
jmp 0x1027739f
lea esp, [esp + 0x10]
and eax, 0x3f
mov dword [ebp + 0x70], ecx
lea ecx, [ebp*4]
jmp 0x10277402
mov byte [eax], 0
call fcn.10277314
mov ecx, eax
bt eax, eax
jmp 0x1027742a
mov ecx, edx
dec cl
not cx
jmp 0x102773ec
dec edi
stc
cmc
mov byte [eax + esi + 0x18], cl
jmp 0x10277057
push 0x38
pop eax
pushal
sub esp, 0
jmp 0x102774a2
mov byte [ebp - 0xc], 0x80
jmp 0x10277464
pop eax
jmp 0x102772e8
jl 0x102772e8
push 0x78
xchg al, ah
lea eax, [ecx + ecx]
jmp 0x1027744e
lea esp, [esp + 0x20]
jmp 0x10278183
lea ecx, [ebp - 0xc]
push ecx
pushal
jmp 0x10277473
mov byte [esp + 0x11], bh
pushal
cmp ecx, eax
lea esp, [esp + 0x40]
jmp 0x10277433
setno dh
push ebx
jmp 0x1027724c
mov edx, 0x5430a18a
xor ecx, ecx
lea edx, [eax + 0x2e]
lea eax, [esi + 0x1a]
jmp 0x1027759f
call fcn.1025cacd
mov edx, dword [esp]
bt eax, eax
pop ecx
setle cl
jmp 0x10277d10