Function at 0x406be0
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
sub esp, 8
push ebx
push ebp
mov al, 1
push esi
push edi
xor ecx, ecx
mov byte [esp + 0x10], al
mov edx, dword [esp + 0x10]
mov bl, al
and edx, 0xff
mov byte [ecx + 0x42b4dc], al
mov byte [edx + 0x4282dc], cl
mov dl, al
and dl, 0x80
neg dl
sbb dl, dl
and edx, 0x1b
shl bl, 1
xor dl, bl
xor al, dl
inc ecx
cmp ecx, 0x100
mov byte [esp + 0x10], al
jb 0x406bef
mov al, 1
mov byte [0x4282dd], 0
mov byte [esp + 0x10], al
mov ecx, 0x4282b4
mov edx, dword [esp + 0x10]
and edx, 0xff
mov dword [ecx], edx
mov dl, al
and dl, 0x80
neg dl
sbb dl, dl
add ecx, 4
and edx, 0x1b
shl al, 1
xor al, dl
cmp ecx, 0x4282dc
mov byte [esp + 0x10], al
jb 0x406c38
xor ebx, ebx
test ebx, ebx
je 0x406c7c
xor eax, eax
mov ecx, 0x42b5db
mov al, byte [ebx + 0x4282dc]
sub ecx, eax
mov dl, byte [ecx]
jmp 0x406c7e
xor dl, dl
mov al, dl
mov cl, dl
shr al, 7
shl cl, 1
or al, cl
mov cl, al
xor dl, al
shr cl, 7
shl al, 1
or cl, al
mov al, cl
xor dl, cl
shr al, 7
shl cl, 1
or al, cl
mov cl, al
xor dl, al
shr cl, 7
shl al, 1
or cl, al
xor cl, dl
xor cl, 0x63
mov byte [esp + 0x10], cl
mov byte [ebx + 0x42a3dc], cl
mov edx, dword [esp + 0x10]
and edx, 0xff
mov byte [edx + 0x42b5dc], bl
inc ebx
cmp ebx, 0x100
jb 0x406c65
xor esi, esi
mov bl, byte [esi + 0x42a3dc]
mov byte [esp + 0x10], bl
mov edi, dword [esp + 0x10]
and edi, 0xff
mov eax, edi
mov ecx, edi
rol eax, 8
mov edx, edi
mov dword [esi*4 + 0x4293dc], edi
rol ecx, 0x10
mov dword [esi*4 + 0x4297dc], eax
mov dword [esi*4 + 0x429bdc], ecx
rol edx, 0x18
test bl, bl
mov dword [esi*4 + 0x429fdc], edx
je 0x406d3b
xor eax, eax
xor ecx, ecx
mov al, byte [edi + 0x4282dc]
mov cl, byte [0x4282de]
add eax, ecx
mov ecx, 0xff
cdq
idiv ecx
xor ecx, ecx
mov cl, byte [edx + 0x42b4dc]
jmp 0x406d3d
xor ecx, ecx
test bl, bl
je 0x406d65
xor eax, eax
xor edx, edx
mov al, byte [edi + 0x4282dc]
mov dl, byte [0x4282df]
add eax, edx
mov ebx, 0xff
cdq
idiv ebx
xor eax, eax
mov al, byte [edx + 0x42b4dc]
jmp 0x406d67
xor eax, eax
shl eax, 8
or eax, edi
shl eax, 8
or eax, edi
shl eax, 8
or eax, ecx
mov ecx, eax
mov dword [esi*4 + 0x4272b4], eax
rol ecx, 8
mov dword [esi*4 + 0x4276b4], ecx
mov cl, byte [esi + 0x42b5dc]
mov edx, eax
mov byte [esp + 0x10], cl
mov edi, dword [esp + 0x10]
rol edx, 0x10
rol eax, 0x18
mov dword [esi*4 + 0x427ab4], edx
and edi, 0xff
mov dword [esi*4 + 0x427eb4], eax
mov eax, edi
rol eax, 8
mov dword [esi*4 + 0x4283dc], edi
mov dword [esi*4 + 0x4287dc], eax
mov edx, edi
mov eax, edi
rol edx, 0x10
rol eax, 0x18
mov dword [esi*4 + 0x428bdc], edx
mov dword [esi*4 + 0x428fdc], eax
test cl, cl
je 0x406e0a
xor eax, eax
xor edx, edx
mov al, byte [edi + 0x4282dc]
mov dl, byte [0x4282ea]
add eax, edx
mov ebx, 0xff
cdq
idiv ebx
xor eax, eax
mov al, byte [edx + 0x42b4dc]
mov dword [esp + 0x14], eax
jmp 0x406e12
mov dword [esp + 0x14], 0
test cl, cl
je 0x406e3c
xor eax, eax
xor edx, edx
mov al, byte [edi + 0x4282dc]
mov dl, byte [0x4282e5]
add eax, edx
mov ebx, 0xff
cdq
idiv ebx
xor eax, eax
mov al, byte [edx + 0x42b4dc]
mov ebp, eax
jmp 0x406e3e
xor ebp, ebp
test cl, cl
je 0x406e66
xor eax, eax
xor edx, edx
mov al, byte [edi + 0x4282dc]
mov dl, byte [0x4282e9]
add eax, edx
mov ebx, 0xff
cdq
idiv ebx
xor ebx, ebx
mov bl, byte [edx + 0x42b4dc]
jmp 0x406e68
xor ebx, ebx
test cl, cl
je 0x406e90
xor eax, eax
xor ecx, ecx
mov al, byte [edi + 0x4282dc]
mov cl, byte [0x4282e7]
add eax, ecx
mov ecx, 0xff
cdq
idiv ecx
xor eax, eax
mov al, byte [edx + 0x42b4dc]
jmp 0x406e92
xor eax, eax
shl eax, 8
or eax, ebx
shl eax, 8
or eax, ebp
mov ebp, dword [esp + 0x14]
shl eax, 8
or eax, ebp
mov edx, eax
mov ecx, eax
rol edx, 8
mov dword [esi*4 + 0x42a4dc], eax
mov dword [esi*4 + 0x42a8dc], edx
rol ecx, 0x10
rol eax, 0x18
mov dword [esi*4 + 0x42acdc], ecx
mov dword [esi*4 + 0x42b0dc], eax
inc esi
cmp esi, 0x100
jb 0x406cd4
pop edi
pop esi
pop ebp
mov dword [0x42b6dc], 1
pop ebx
add esp, 8
ret