Function at 0x10026bf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0xc
cmp word [0x19b9d07e], 0
push ebx
push ebp
push esi
push edi
je 0x10026e44
cmp dword [0x19a964d4], 0
je 0x10026ced
mov ax, word [0x19b9d07c]
mov ebp, dword [0x19b9d090]
mov word [0x19b9d086], ax
mov ax, word [0x19b9d07a]
mov word [0x19b9d084], ax
cmp ebp, 9
jne 0x10026e4a
mov esi, dword [0x19b9d06c]
xor ebx, ebx
movzx ecx, ax
add esi, 8
jmp 0x10026c50
mov edi, 1
mov edx, esi
mov ax, word [edx + 4]
or ax, word [edx]
je 0x10026c78
inc edi
add edx, 8
cmp edi, 4
jl 0x10026c57
lea eax, [ecx*8]
inc ebx
add esi, eax
cmp ebx, 3
jl 0x10026c50
movzx eax, word [0x19b9d07c]
cmp ebx, eax
jge 0x10026f04
mov ebp, 3
lea esp, [esp]
lea eax, [edi - 1]
cdq
idiv ebp
lea eax, [ecx - 1]
lea edi, [edx + 1]
cmp edi, eax
jge 0x10026cdb
mov eax, dword [0x19b9d06c]
mov esi, 2
imul ecx, ebx
add ecx, edi
lea eax, [eax + ecx*8]
add eax, 8
movzx edx, word [eax - 0x10]
lea eax, [eax + 4]
movzx ecx, word [eax - 4]
add edx, ecx
sar edx, 1
mov word [eax - 0xc], dx
dec esi
jne 0x10026cb5
movzx ecx, word [0x19b9d084]
add edi, ebp
lea eax, [ecx - 1]
cmp edi, eax
jl 0x10026ca0
movzx eax, word [0x19b9d086]
add ebx, ebp
cmp ebx, eax
jl 0x10026c90
jmp 0x10026e44
movzx eax, word [0x19b9d084]
shl eax, 3
push eax
movzx eax, word [0x19b9d086]
push eax
call fcn.100376e0
mov esi, eax
add esp, 8
mov dword [esp + 0x14], esi
test esi, esi
jne 0x10026d3b
push 0x19a95c0c
push dword [0x19b9d548]
push 0x19a95094
push 0x3ea
call fcn.100341f0
push 1
push 0x19b5ae60
call fcn.10034ff0
add esp, 0x18
mov cx, word [0x19b9d086]
xor eax, eax
xor ebp, ebp
cmp ax, cx
jae 0x10026e28
movzx ebx, word [0x19b9d084]
xor edi, edi
test ebx, ebx
jle 0x10026e1c
mov eax, ebp
mov ecx, ebp
and eax, 7
add eax, eax
sar ecx, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
mov esi, dword [0x19b9d090]
cmp esi, 1
jne 0x10026da2
movzx ecx, word [0x19b9d082]
movzx eax, word [0x19b9d080]
add ecx, ebp
and ecx, 0xf
add eax, edi
add ecx, ecx
and eax, 0xf
movsx esi, byte [eax + ecx*8 + 0x19a90508]
jmp 0x10026dd3
cmp esi, 9
jne 0x10026dc5
lea eax, [ebp + 6]
mov esi, 6
cdq
idiv esi
lea eax, [edi + 6]
lea ecx, [edx + edx*2]
cdq
idiv esi
movsx esi, byte [edx + ecx*2 + 0x19b9d520]
jmp 0x10026dd3
mov ecx, edi
and ecx, 1
add ecx, eax
add ecx, ecx
shr esi, cl
and esi, 3
movzx ecx, word [0x19b9d07a]
mov eax, edi
imul ecx, dword [esp + 0x10]
imul ebx, ebp
sar eax, 1
add ecx, eax
mov eax, dword [0x19b9d06c]
add ebx, edi
inc edi
lea edx, [esi + ecx*4]
mov ax, word [eax + edx*2]
lea ecx, [esi + ebx*4]
mov esi, dword [esp + 0x14]
mov word [esi + ecx*2], ax
movzx ebx, word [0x19b9d084]
mov eax, dword [esp + 0x18]
cmp edi, ebx
jl 0x10026d73
mov cx, word [0x19b9d086]
inc ebp
movzx eax, cx
cmp ebp, eax
jl 0x10026d56
push dword [0x19b9d06c]
call fcn.10037780
add esp, 4
mov dword [0x19b9d06c], esi
xor eax, eax
mov word [0x19b9d07e], ax
mov ebp, dword [0x19b9d090]
cmp ebp, 0x3e8
jbe 0x10026f04
cmp dword [0x19b9d08c], 3
jne 0x10026f04
mov edx, dword [0x19a964d8]
mov eax, edx
xor eax, dword [0x19a964d4]
or edx, dword [0x19a964d4]
mov dword [0x19b9d144], eax
je 0x10026e8d
mov dword [0x19b9d08c], 4
jmp 0x10026f04
movzx eax, word [0x19b9d086]
mov edi, ebp
shr edi, 5
and edi, 1
cmp edi, eax
jge 0x10026ef7
movzx edx, word [0x19b9d084]
mov eax, edi
mov esi, ebp
and eax, 7
lea ecx, [eax*4 + 2]
shr esi, cl
and esi, 1
cmp esi, edx
jge 0x10026ee9
mov edi, edi
mov eax, dword [0x19b9d06c]
imul edx, edi
add edx, esi
add esi, 2
lea ecx, [eax + edx*8]
mov ax, word [ecx + 6]
mov word [ecx + 2], ax
movzx edx, word [0x19b9d084]
cmp esi, edx
jl 0x10026ec0
mov ebp, dword [0x19b9d090]
movzx eax, word [0x19b9d086]
add edi, 2
cmp edi, eax
jl 0x10026ea7
mov eax, ebp
and eax, 0xd5555555
add eax, eax
not eax
and ebp, eax
mov eax, dword [0x19a964d4]
neg eax
pop edi
sbb eax, eax
not eax
pop esi
and eax, ebp
pop ebp
mov dword [0x19b9d090], eax
pop ebx
add esp, 0xc
ret