Function at 0x97f47b
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x958d70
jmp 0x93b9d0
pushal
jmp 0x957ec9
lea esp, [esp + 0x20]
jmp 0x93bdfe
call fcn.00958dcf
jecxz 0x958d91
jne 0x958ddd
ret
sbb al, 0x99
or dword [eax - 0x65], ebp
pop edx
js 0x958df4
mov dl, 0xad
lodsd eax, dword [esi]
mov esp, 0xec851589
pop ds
stosb byte es:[edi], al
add al, 0xe8
in eax, 0x63
add al, byte [eax]
sti
jg 0x958d9a
mov bh, byte [ecx + 0x33]
rcl dword [eax - 0x3a], cl
mov eax, dword [reloc.MSVCRT.dll_strncpy]
das
and dword ss:[ebp + ecx*4 + 0x64], edx
and al, 4
jmp 0x97f8be
imul eax, dword [edx], 0
rcl byte [ebx - 0x36]
test dword gs:[esi + 0x44], eax
mov bh, 0xbd
into
sbb byte [edx + 0x42], 0x29
mov dword [reloc.MSVCRT.dll_strncpy], eax
mov dword [reloc.MSVCRT.dll_strncpy], eax
cwde
pushfd
daa
sbb ecx, dword [ebx - 0x68]
xchg esi, eax
fidivr dword [eax + 0x7d]
dec esp
push cx
mov byte [esp], al
jmp 0x97f1b7
mov dword [eax + 8], reloc.MSVCRT.dll_strncpy
mov dword [eax + 0xc], 0xefcdab89
jmp 0x97f10e
jmp 0x97f0b2
sti
cwde
jns 0x97f176
mov ds, word [bx + di]
js 0x97f0d6
mov dword [eax + 0x10], reloc.MSVCRT.dll_strncpy
call fcn.0097f0ee
inc eax
adc dh, bh
fdivr qword [edx - 0x2b1768]
invalid
push esp
jmp 0x97f237
mov byte [eax], 0
call fcn.0097f212
dec edx
jl 0x97f106
pop eax
cmp ebx, dword [edx + 6]
cdq
jns 0x97f185
add edi, dword [edx - reloc.MSVCRT.dll_strncpy]
pop ss
sub esp, 0x17
lea esp, [esp + 3]
jmp 0x97f523
stosd dword es:[edi], eax
mov bx, 0x8e26
jmp 0x97f3e3
pop es
cdq
jns 0x97f1fb
ret 0x4c7d
lea esp, [esp + 2]
and dword [eax + 4], 0
call fcn.0097f0cf
push esi
mov esi, eax
mov dword [ebp + 0x74], 0x40
jmp 0x97f272
movsd dword es:[edi], dword [esi]
lea esp, [esp + 4]
inc eax
jmp 0x97f11a
dec dword [ebp + 0x74]
sub esp, 6
lea esp, [esp + 2]
lea esp, [esp + 4]
test ecx, ecx
jmp 0x97f25a
mov ecx, dword [ebp + 0x74]
sub esp, 8
stc
lea esp, [esp + 0xc]
jmp 0x97f214
lea esp, [esp + 3]
jmp 0x97f2b0
jne 0x97f14b
mov ch, 0x5c
sub esp, 0x17
xchg word [esp + 0xe], cx
jmp 0x97f244
lea eax, [ecx*4]
lea eax, [ebp - 0xc]
jmp 0x97f11a
lea esp, [esp + 0x34]
and eax, 0x3f
jmp 0x97f308
mov dword [ebp + 0x6c], eax
shr eax, 3
jmp 0x97f281
mov eax, dword [esi]
mov cx, word [esp]
pushal
mov ecx, dword [esi + 4]
jmp 0x97f297
lea esp, [esp + 3]
jmp 0x97f2e6
mov dword [esp + 0x1c], eax
lea esp, [esp + 4]
popal
sub esp, 0x13
not al
rcl ax, 0xe
jmp 0x97f2bc
lea esp, [esp + 0x10]
push 0x38
lea eax, [eax*4]
jmp 0x97f328
mov dword [ebp + 0x70], ecx
pushal
neg dx
push esi
jmp 0x97f2d2
pop eax
cmp ecx, eax
call fcn.0097f312
mov ax, si
call fcn.0097f35a
das
jmp 0x72e45c97
movzx edx, byte [eax + 1]
bts bx, ax
movzx ebx, byte [eax]
sub esp, 0
jmp 0x97f3f7
sub esp, 0x1e
lea esp, [esp + 2]
jmp 0x97f414
shl edx, 8
sub esp, 0x13
lea esp, [esp + 3]
or edx, ebx
jmp 0x97f426
mov bx, word [esp]
mov bl, dh
jmp 0x97f597
add eax, 4
stc
stc
jmp 0x97f472
mov dword [ebp + ecx*4 + 0x34], edx
sub esp, 8
lea esp, [esp + 0x34]
inc ecx
jmp 0x97f44e
cmp ecx, 0xe
call 0x97f47b
pop edi
pushfd
lea esp, [esp + 8]
jb 0x97f177
jae 0x97f4bd
mov edx, 0x2cddba24
wait
rcl dword [eax - 0x2d]
dec edx
in eax, 0x14
shl edx, 8
or edx, ebx
clc
jmp 0x97f464
pushal
push word [esp + 7]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
jmp 0x97f4ca
not ecx
mov ax, dx
lea ecx, [esi + 8]
lea eax, [ebp + 0x34]
jmp 0x97f49c
call fcn.0093b13c
cmp eax, 0xb0d88d0f
bswap ecx
mov ebx, 0x4fadd4fb
not al
jmp 0x97f512
or edx, ebx
push sp
mov ebx, dword [esp]
lea esp, [esp + 2]
movzx ebx, byte [eax - 2]
jmp 0x97f494
lea eax, [esi + 0xa]
mov bl, byte [esp]
jmp 0x97f55e
push 4
mov cx, word [esp]
lea ecx, [esi + 0x59]
lea ebx, reloc.MSVCRT.dll_strncpy
jmp 0x97f4fc
lea esp, [esp + 0x14]
mov dl, byte [eax - 2]
pushal
push esi
jmp 0x97f542
lea esp, [esp + 8]
jmp 0x97f161
lea esp, [esp + 0x24]
mov byte [ecx - 1], dl
pushal
jmp 0x97f56d
mov esi, dword [esp]
bts ebx, ebp
mov bl, byte [esp]
mov ebx, dword [esp + 4]
jmp 0x97f539
lea esp, [esp + 0x20]
mov dl, byte [eax - 1]
call 0x97f57a
test dword [ebp - reloc.MSVCRT.dll_strncpy], ecx
adc ecx, ebp
and al, 1
add byte [eax], al
xor al, 0x27
jg 0x97f5dc
mov ecx, 0xa876c4bd
lcall 0x1b38, 0xd94ee26d
jb 0x97f5a7
movzx ebx, byte [eax - 1]
cmc
mov dh, 0x58
push ebp
shl edx, 8
jmp 0x97f4eb
add al, 0xeb
add al, 0x6d
jl 0x97f5fc
salc
add eax, 4
call fcn.0097f5f4
jmp 0x97f5de
lea esp, [esp + 4]
jne 0x97f161
mov esi, dword [esp]
mov si, word [esp]
jmp 0x97f617
invalid
mov word [esp], dx
jmp 0x97f5b8
call 0x97f5b6
mov dword [esp], ecx
call 0x97f629
cmp eax, 0x7de69f0c
bnd retf
lea esi, [esi*4]
mov esi, 0xb46176f9
pop esi
call 0x97f601
jmp 0x97f676
lea esp, [esp + 8]
add ebp, 0x78
push bp
lea esp, [esp + 2]
leave
ret
mov esi, eax
jmp fcn.0097f798
push esi
push edi
lea esi, [esi*4]
jmp 0x97f8a1