Function at 0x4f1bf0
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 0x4f1c02
mov cl, 1
mov eax, 0x636998
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, 0x6369c0
mov byte [esp + 0x10], cl
jl 0x4f1c42
mov dword [0x634198], 0x63
mov dword [0x636724], 0
mov esi, 1
mov edi, 0x63419c
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 + 0x636598], esi
inc esi
cmp edi, 0x634598
jl 0x4f1c8e
xor ecx, ecx
mov al, byte [ecx + 0x634198]
mov bl, byte [ecx + 0x636598]
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 + 0x633198], eax
shl edx, 0x18
shr eax, 8
or edx, eax
mov eax, edx
mov dword [ecx + 0x633598], edx
shl eax, 0x18
shr edx, 8
or eax, edx
mov edx, eax
mov dword [ecx + 0x633998], eax
shl edx, 0x18
shr eax, 8
or edx, eax
test bl, bl
mov dword [ecx + 0x633d98], edx
je 0x4f1db4
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 0x4f1dbc
mov dword [esp + 0x18], 0
test bl, bl
je 0x4f1def
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 0x4f1df1
xor ebp, ebp
test bl, bl
je 0x4f1e24
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 0x4f1e26
xor edi, edi
test bl, bl
je 0x4f1e55
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 0x4f1e57
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 + 0x635594], edx
shl eax, 0x18
shr edx, 8
or eax, edx
mov edx, eax
mov dword [ecx + 0x635994], eax
shl edx, 0x18
shr eax, 8
or edx, eax
mov eax, edx
mov dword [ecx + 0x635d94], edx
shl eax, 0x18
shr edx, 8
or eax, edx
cmp ecx, 0x400
mov dword [ecx + 0x636194], eax
jl 0x4f1cf5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret