Function at 0x4066c0
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Manually build aes constants

Disassembly:
sub esp, 0x20c
push ebx
push ebp
mov cl, 1
push esi
push edi
xor eax, eax
mov byte [esp + 0x10], cl
mov edx, dword [esp + 0x10]
mov byte [esp + eax + 0x11c], cl
and edx, 0xff
mov bl, cl
mov byte [esp + edx + 0x1c], al
mov dl, cl
and dl, 0x80
inc eax
neg dl
sbb dl, dl
and edx, 0x1b
shl bl, 1
xor dl, bl
xor cl, dl
cmp eax, 0x100
mov byte [esp + 0x10], cl
jl 0x4066d2
mov cl, 1
mov eax, 0x41f518
mov byte [esp + 0x10], cl
mov edx, dword [esp + 0x10]
add eax, 4
and edx, 0xff
shl edx, 0x18
mov dword [eax - 4], edx
mov dl, cl
and dl, 0x80
neg dl
sbb dl, dl
and edx, 0x1b
shl cl, 1
xor cl, dl
cmp eax, 0x41f540
mov byte [esp + 0x10], cl
jl 0x406712
mov dword [0x421940], 0x63
mov dword [0x4206cc], 0
mov esi, 1
mov edi, 0x421944
xor eax, eax
lea ecx, [esp + 0x21b]
mov al, byte [esp + esi + 0x1c]
add edi, 4
sub ecx, eax
mov dl, byte [ecx]
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 eax, dword [esp + 0x10]
and eax, 0xff
mov dword [edi - 4], eax
mov dword [eax*4 + 0x420540], esi
inc esi
cmp edi, 0x421d40
jl 0x40675e
xor ecx, ecx
mov al, byte [ecx + 0x421940]
mov bl, byte [ecx + 0x420540]
mov dl, al
mov byte [esp + 0x10], al
and dl, 0x80
neg dl
sbb dl, dl
and edx, 0x1b
shl al, 1
xor dl, al
mov byte [esp + 0x14], dl
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
and edx, 0xff
and esi, 0xff
mov byte [esp + 0x14], bl
mov eax, esi
shl eax, 8
xor eax, edx
shl eax, 8
xor eax, edx
shl eax, 8
xor eax, esi
mov esi, dword [esp + 0x14]
xor eax, edx
mov edx, eax
mov dword [ecx + 0x421540], eax
shl edx, 0x18
shr eax, 8
or edx, eax
mov eax, edx
mov dword [ecx + 0x421140], edx
shl eax, 0x18
shr edx, 8
or eax, edx
mov edx, eax
mov dword [ecx + 0x420d40], eax
shl edx, 0x18
shr eax, 8
or edx, eax
test bl, bl
mov dword [ecx + 0x420940], edx
je 0x406884
mov eax, esi
xor edx, edx
and eax, 0xff
mov edi, 0xff
mov dl, byte [esp + eax + 0x1c]
mov eax, edx
mov edx, dword [esp + 0x27]
and edx, 0xff
add eax, edx
cdq
idiv edi
xor eax, eax
mov al, byte [esp + edx + 0x11c]
mov dword [esp + 0x18], eax
jmp 0x40688c
mov dword [esp + 0x18], 0
test bl, bl
je 0x4068bf
mov edx, esi
xor eax, eax
and edx, 0xff
mov edi, 0xff
mov al, byte [esp + edx + 0x1c]
mov edx, dword [esp + 0x29]
and edx, 0xff
add eax, edx
cdq
idiv edi
xor eax, eax
mov al, byte [esp + edx + 0x11c]
mov ebp, eax
jmp 0x4068c1
xor ebp, ebp
test bl, bl
je 0x4068f4
mov edx, esi
xor eax, eax
and edx, 0xff
mov edi, 0xff
mov al, byte [esp + edx + 0x1c]
mov edx, dword [esp + 0x25]
and edx, 0xff
add eax, edx
cdq
idiv edi
xor eax, eax
mov al, byte [esp + edx + 0x11c]
mov edi, eax
jmp 0x4068f6
xor edi, edi
test bl, bl
je 0x406925
mov edx, dword [esp + 0x2a]
and esi, 0xff
xor eax, eax
and edx, 0xff
mov al, byte [esp + esi + 0x1c]
mov esi, 0xff
add eax, edx
cdq
idiv esi
xor eax, eax
mov al, byte [esp + edx + 0x11c]
jmp 0x406927
xor eax, eax
shl eax, 8
xor eax, edi
mov edi, dword [esp + 0x18]
shl eax, 8
xor eax, ebp
add ecx, 4
shl eax, 8
mov edx, eax
xor edx, edi
mov eax, edx
mov dword [ecx + 0x42013c], edx
shl eax, 0x18
shr edx, 8
or eax, edx
mov edx, eax
mov dword [ecx + 0x41fd3c], eax
shl edx, 0x18
shr eax, 8
or edx, eax
mov eax, edx
mov dword [ecx + 0x41f93c], edx
shl eax, 0x18
shr edx, 8
or eax, edx
cmp ecx, 0x400
mov dword [ecx + 0x41f53c], eax
jl 0x4067c5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret