Function at 0x969cd0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov dword [esp + eax - 0x7c4dffb3], edi
ret
mul eax
mov dword [esp + edx*2], eax
pop edx
jae fcn.00cc37fd
sal byte [ecx], cl
xor dl, byte [esi]
cdq
pushal
fisubr word [0x9899065b]
in eax, 0xa8
js 0x969d52
xor byte [ebx + 9], dh
mov dh, 0x85
and byte [edi], ah
xor eax, 0x8066f9a4
invalid
aam 0x26
mov cl, 0x20
dec esp
push 0xe96b6ec1
fiadd dword [eax - 0x251694b2]
les esp, [ebp - 0x2516949a]
sbb byte [ecx - 0x251694c2], 0x30
pop esp
push cs
imul ebp, ecx, 0xffffffda
nop
stc
imul ebp, ecx, 0xffffffda
xor al, 0x11
xchg esi, eax
imul ebp, ecx, 0xffffffda
loopne 0x969de1
pop ds
xchg ebp, eax
add dword [ebx - 0x7c5646fa], ecx
and esp, esp
mov edx, ecx
add esi, 4
jmp 0xefbdf7
push esp
invalid
neg al
not cl
dec eax
lea eax, [eax + 0x671b600d]
or dl, cl
mov word [edi + eax - 0x673b5c0c], dx
sal byte [esp + eax - 0x673b5c09], 0xe3
mov dword [esp + eax - 0x673b5c0c], esi
ret
mov eax, ebp
sub ebp, 4
movzx edx, cx
mov dword [ebp + edx*4 - 0x9474], eax
shl ecx, 0x97
jne 0xeb5c2d
and al, 0x21
not dl
jle 0xc44172
lea ecx, [ecx + 0x250d2a9f]
rol edx, 2
inc edx
ror cl, 0xa1
neg edx
neg cl
sar al, 0x21
dec cl
rol edx, 2
xor ebx, edx
call fcn.00cbb864
shl dx, 0x81
dec ecx
sal eax, 0x2d
cdq
not ecx
sub al, al
je 0xdf19cd
rol ax, 0x67
lea esi, [esi + eax*4 + 4]
or edx, ecx
lea ecx, [eax*8 + 0x2e23aa9c]
btr ecx, eax
setae al
not edx
ror eax, 0xc8
bts ecx, ecx
mov dword [eax + esi - 0x1000000], edx
inc ecx
movzx edx, cx
jmp edi
inc dl
je 0xe4f7fc
sar eax, 0x58
mov edx, dword [ebp + edx - 0x5a5fbf83]
shr eax, 0x82
mov ax, word [edx + eax*2 - 0x7fffffdc]
mov ecx, 0x7a0a61bc
jb 0xdd11c2
mov edx, 0x2b2f6b84
mov ecx, 0x7f83aca8
push ecx
movzx ax, byte [ebp + edx*2 - 0x565ed708]
add cx, word [esp + edx - 0x2b2f6b84]
mov dl, byte [edx + ebp - 0x2b2f6b82]
sub byte [esp + ecx - 0x7f83594e], cl
not byte [esp + ecx - 0x7f835950]
or ecx, ecx
not al
bts cx, cx
sub cl, byte [esp + ecx - 0x7f835950]
not dl
lea ecx, [ecx + ecx*8 + 0x160eaaa2]
lea ecx, [ecx*8 - 0x5e6f8efc]
mov dword [esp + ecx*2 - 0x5dedf8f8], ecx
or al, dl
jmp 0xdaeaac
movsx edx, cl
shl ecx, cl
mov word [ebp + edx*2 - 0xf6], ax
mov eax, dword [esp + edx*4 - 0x1f0]
mov edx, dword [esi + edx - 0x7c]
neg dword [esp + eax*2 - 0x5dedf8f8]
xor edx, ebx
rol dword [esp + eax*2 - 0x5dedf8f8], 0x48
add cl, al
sal byte [esp + eax*2 - 0x5dedf8f8], 0x24
rol edx, 3
sub al, 0x21
not edx
xor edx, 0x252ff2bd
call fcn.00eaade4
lea ebp, [ebp + ecx - 0x7a0a61ba]
mov edx, 0xf51b9bb9
mov word [ecx + ebp - 0x7a0a61bc], ax
xchg dh, cl
btr ecx, edx
call fcn.009c42d5
setae bl
inc esp
mov dword [esi + eax - 0x20e50386], esi
dec edx
lea edx, [edi*2 + 0x4634e72c]
dec ebp
lea esp, [esp + eax - 0x20e5038a]
inc ecx
mov ebp, dword [esp + eax - 0x20e50386]
inc ecx
xor ebp, edx
dec eax
cwde
lea ebp, [ebp + edx*2 + 0x492a6905]
dec eax
lea eax, [ebx - 0x957a7e0]
dec esp
lea ebp, [ebx + 0x219c369b]
ror ebp, 1
dec eax
idiv ebx
dec bx
bswap ebp
and eax, edx
neg bl
neg ebp
inc ecx
push edx
inc ecx
bswap edi
dec esi
lea esi, [ebp*4 + 0x63f3582]
xor dword [esp + eax*2 - 0x1a3d4040], ebp
dec esi
lea edi, [ebp*8 + 0x63345a04]
inc esp
movsx ebx, al
inc ecx
pop edx
dec eax
arpl bp, bp
dec ebp
or ebx, ebx
inc ecx
mul ch
sbb ax, ax
dec esp
add ecx, ebp
inc ecx
sar ebx, 0x98
jbe fcn.00d1a075
mov eax, 0xa2067781
mov edx, eax
lea ecx, [eax*4 - 0x10f97150]
mov edx, dword [edi + ecx - 0x77206cb4]
sub ecx, ecx
bt ax, ax
btr cx, ax
lea edi, [edi + ecx*2 + 4]
and ecx, 0x5b971fb1
shr cx, 0xd
xor edx, ebx
btr eax, eax
jae 0xd1263a
mov ecx, dword [ebp]
mov edx, 0x70ba2b2d
lea edx, [edx*4 + 0x6088710d]
mov eax, dword [edx + ebp - 0x23711dbd]
btc edx, edx
dec edx
adc ecx, eax
mov eax, 0x24b9b0af
jmp 0xece1ee
btc edx, eax
xor ebx, ecx
neg eax
add ebp, ecx
rol al, 0x22
mov eax, dword [esi + edx*2 + 2]
jb 0xcc60e7
lea esi, [esi + edx*2 + 6]
jb 0xeff4d0
movsx ecx, dl
xor eax, ebx
sub eax, 0x938d07ae
sar dl, cl
neg cl
neg eax
btr edx, edx
or dx, 0x2039
sar ecx, 0x41
xor eax, 0x6e34b9bd
jmp 0xf14e86
xadd cl, ch
mov byte ss:[ecx + eax - 0x7fff2412], dl
sbb eax, 0x84a535af
inc ecx
xadd eax, edx
neg ecx
dec edx
sub ecx, 0x3b98d1af
rol dx, 0xe1
xor ebx, ecx
bts eax, eax
adc ebp, ecx
call fcn.00c5b2cd
mov ecx, dword [esi]
mov edx, 0xd5991daf
lea eax, [edx + edx*4 - 0x6fd3d6cf]
add esi, 4
xor ecx, ebx
or ax, dx
shl dx, 0xa4
xor edx, edx
dec ecx
and al, 0x10
call fcn.0099f551
cwde
mov esi, dword [esp + 8]
not dword [esp]
lea eax, [eax + eax - 0x2bcc77d8]
bswap eax
mov eax, dword [esp + 0xc]
lea esp, [esp + 0x10]
ret
movsx eax, dl
mov eax, dword [esi + edx*4 - 0x9474]
lea esi, [esi + edx*2 - 0x4a36]
neg cx
setno cl
xor eax, ebx
lea edx, [edx*4 - 0x38f6ae51]
sub eax, 0x60a6252d
bts edx, 0x30
ror dx, 0x8c
neg eax
inc dx
jo 0xed5983
ror eax, cl
neg eax
btc ecx, ecx
push edx
dec eax
add ecx, ecx
xor ebx, eax
and dword [esp + ecx - 0x1d000006], edx
pop ecx
and edx, edx
adc edi, eax
sub edx, 0x660ccc00
mov eax, 0x9f0a1c06
jne fcn.00eee730
push eax
mov dword [ebp + eax*2 - 0x4973615a], ecx
movzx ecx, byte [esi + edx - 0x23711dc2]
xor cl, bl
sub word [esp + edx - 0x23711dc1], dx
rol cl, 1
xor cl, 0x95
add dl, byte [esp + eax*2 - 0x4973615c]
ror cl, 1
inc cl
xor bl, cl
sal ax, 0x48
mul word [esp + edx - 0x23711d5c]
cwde
lea ecx, [esp + ecx + 4]
mov edx, dword [ecx + edx*2 - 0x46e2d52e]
sal byte [esp + 2], 0xe7
and dword [esp], 0x649c0bad
mov dword [ebp], edx
cwde
mov ecx, dword [esi + 1]
imul eax
xor ax, ax
and byte [esp + eax - 0x17c3fffd], 0x3c
xor ecx, ebx
jmp 0xdc898f
shr byte [esp + edx*4 - 0x52ee15], 0x25
xor ecx, 0xd8092983
ror ecx, 1
mul dl
lea eax, [eax - 0x3353d9ff]
bts dx, 0
lea ecx, [ecx + eax - 0x138ffb57]
ror ecx, 3
sal edx, 0x48
sets al
xor ebx, ecx
mov dword [esp + edx*2 - 0x29770df8], edx
xadd byte [esp + edx - 0x14bb86fa], ah
or byte [esp + edx - 0x14bb86f9], 4
adc ebp, ecx
ror byte [esp + edx*4 - 0x52ee1bf8], 0x83
movzx ecx, byte [esp + edx*2 - 0x29770e00]
mov dword [esp + ecx*4 - 0x21c], ebp
ret 8
xor eax, ebx
neg ecx
inc cx
bswap eax
shr dx, 0xb
rol cx, 0x21
setno cl
rol eax, 1
xor dx, dx
not eax
xadd edx, ecx
btr ecx, 0x2a
adc eax, 0x4e3e8327
or dl, dl
btc cx, dx
adc cx, dx
xor ebx, eax
add edi, eax
movzx eax, dl
mov ecx, dword [ebp + eax]
imul eax, eax
add ax, word [eax + ebp + 4]
bt dx, 0x95
adc ebp, 6
shl edx, 0xe9
mov word [ecx], ax
je 0xd93d5b
btc edx, edx
movsx eax, dx
jmp edi
xor ebx, eax
add edi, eax
movzx eax, word [esp + ecx]
mov eax, dword [ebp + ecx*2]
imul edx, dword [esp + ecx]
jae 0x946ebb
mov dl, byte [ebp + ecx + 4]
sal ecx, 0xaa
pop ecx
lea ebp, [ecx + ebp - 0x7fffee1e]
jbe 0xe225c2
xchg dl, cl
imul cx, dx
neg eax
sub ecx, 0xf706903f
rol eax, 2
or cl, ch
xor ebx, eax
bts ecx, edx
xor ecx, edx
mov dword [edi + edx*4 - 0x81f8], eax
jl 0x9cdb97
call fcn.00dece1a