Function at 0x62b39c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov byte [eax], 0
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
test eax, eax
jle 0x62b657
mov edx, dword [ebp - 4]
add edx, 8
test byte [edx + 0x22], 0x20
setne dl
test dl, dl
je 0x62b4c9
mov edx, dword [ebp - 4]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x62b657
inc ebx
xor esi, esi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x260]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [eax + esi*8]
call fcn.00405158
mov ecx, dword [ebp + 8]
add eax, dword [ecx - 0x268]
adc edx, dword [ecx - 0x264]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
push dword [ebp - 0x14]
push dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
call fcn.005d3678
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
cmp ecx, dword [eax]
jge 0x62b46f
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp edx, dword [ebp - 0x14]
jne 0x62b46d
cmp eax, dword [ebp - 0x18]
je 0x62b477
mov eax, dword [ebp - 8]
mov byte [eax], 1
jmp 0x62b4bc
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8 + 8]
cmp byte [eax + 0x24], 0xe
jne 0x62b4ae
test byte [eax + 0x23], 0xc
jne 0x62b4ae
movzx edx, word [eax + 0x22]
and dx, 0x1f
cmp dx, 2
je 0x62b4b2
cmp dx, 3
je 0x62b4b2
xor eax, eax
jmp 0x62b4b4
mov al, 1
mov byte [ebp - 9], al
jmp 0x62b657
inc esi
dec ebx
jne 0x62b3e8
jmp 0x62b657
mov eax, dword [ebp - 4]
cmp word [eax + 0x28], 0
jbe 0x62b657
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + 0x34]
dec ebx
test ebx, ebx
jl 0x62b657
inc ebx
xor esi, esi
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x260]
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [eax + esi*8]
call fcn.00405158
mov ecx, dword [ebp + 8]
add eax, dword [ecx - 0x268]
adc edx, dword [ecx - 0x264]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
push dword [ebp - 0x14]
push dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
call fcn.005d3678
mov ecx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x26c]
cmp ecx, dword [eax]
jge 0x62b570
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp edx, dword [ebp - 0x14]
jne 0x62b56e
cmp eax, dword [ebp - 0x18]
je 0x62b57b
mov eax, dword [ebp - 8]
mov byte [eax], 1
jmp 0x62b64f
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8 + 8]
cmp byte [eax + 0x24], 0xb
jne 0x62b5bc
movzx ebx, word [eax + 0x22]
and bx, 0xc00
cmp bx, 0x400
jne 0x62b5bc
movzx edx, word [eax + 0x22]
and dx, 0x1f
cmp dx, 2
je 0x62b5c0
cmp dx, 3
je 0x62b5c0
xor eax, eax
jmp 0x62b5c2
mov al, 1
test al, al
je 0x62b5f0
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8 + 8]
movzx eax, word [eax + 0x22]
and ax, 0x1f
cmp ax, 2
sete al
xor al, 1
jmp 0x62b5f2
xor eax, eax
test al, al
je 0x62b61d
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
movzx eax, word [edx + eax*8 + 0x28]
mov edx, dword [ebp - 4]
movzx edx, word [edx + 0x28]
dec edx
cmp eax, edx
sete al
jmp 0x62b61f
xor eax, eax
test al, al
je 0x62b648
mov eax, dword [ebp + 8]
push eax
mov eax, ecx
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x270]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
call fcn.0062b39c
pop ecx
jmp 0x62b64a
xor eax, eax
mov byte [ebp - 9], al
jmp 0x62b657
inc esi
dec ebx
jne 0x62b4e9
movzx eax, byte [ebp - 9]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret