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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffddc
xor esi, esi
mov al, 1
lea edx, [esp + 0x24]
xor ebx, ebx
mov byte [edx], al
mov bl, al
mov ecx, esi
inc esi
inc edx
mov byte [esp + ebx + 0x124], cl
mov ecx, eax
add ecx, ecx
test al, 0x80
je 0x4954e7
mov bl, 0x1b
jmp 0x4954e9
xor ebx, ebx
xor cl, bl
xor al, cl
cmp esi, 0x100
jl 0x4954ca
xor esi, esi
mov al, 1
mov dword [esp], 0x742220
xor edx, edx
mov ecx, dword [esp]
mov dl, al
inc esi
shl edx, 0x18
mov dword [ecx], edx
mov edx, eax
add dword [esp], 4
add edx, edx
test al, 0x80
je 0x49551d
mov cl, 0x1b
jmp 0x49551f
xor ecx, ecx
xor dl, cl
cmp esi, 0xa
mov eax, edx
jl 0x495500
mov byte [0x740020], 0x63
mov byte [0x741183], 0
mov dword [esp + 4], 0x740021
mov esi, 1
lea edi, [esp + 0x125]
xor eax, eax
mov edx, 0xff
mov al, byte [edi]
inc edi
sub edx, eax
mov al, byte [esp + edx + 0x24]
mov ecx, eax
mov edx, ecx
and ecx, 0xff
sar ecx, 7
add edx, edx
or dl, cl
mov ecx, edx
xor al, cl
mov edx, ecx
and ecx, 0xff
add edx, edx
sar ecx, 7
or dl, cl
mov ecx, edx
xor al, cl
mov edx, ecx
and ecx, 0xff
add edx, edx
sar ecx, 7
or dl, cl
mov ecx, edx
xor al, cl
mov edx, ecx
and ecx, 0xff
add edx, edx
sar ecx, 7
or dl, cl
mov ecx, edx
mov edx, dword [esp + 4]
xor cl, 0x63
xor al, cl
mov byte [edx], al
and eax, 0xff
mov edx, esi
inc esi
mov byte [eax + 0x741120], dl
inc dword [esp + 4]
cmp esi, 0x100
jl 0x49554a
mov dword [esp], 0x741e20
xor esi, esi
mov dword [esp + 4], 0x741620
mov dword [esp + 0x20], 0x741220
mov dword [esp + 0x1c], 0x741120
mov dword [esp + 0x18], 0x740d20
mov dword [esp + 0x14], 0x740920
mov dword [esp + 0x10], 0x740520
mov dword [esp + 0xc], 0x740120
mov dword [esp + 8], 0x740020
mov edi, 0x741a20
mov eax, dword [esp + 8]
mov al, byte [eax]
mov ecx, eax
add ecx, ecx
test al, 0x80
je 0x49562f
mov dl, 0x1b
jmp 0x495631
xor edx, edx
xor cl, dl
xor edx, edx
mov dl, al
mov ebx, ecx
mov ebp, edx
xor bl, al
shl ebp, 8
and ebx, 0xff
shl edx, 0x10
xor ebx, ebp
xor eax, eax
xor ebx, edx
mov al, cl
mov edx, dword [esp + 0xc]
shl eax, 0x18
xor ebx, eax
mov dword [edx], ebx
mov ecx, dword [esp + 0xc]
and dword [ecx], 0xffffffff
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, edx
and edx, 0xffffffff
shl eax, 0x18
shr edx, 8
and eax, 0xffffffff
or eax, edx
mov edx, dword [esp + 0x10]
mov dword [edx], eax
mov edx, eax
and eax, 0xffffffff
shl edx, 0x18
shr eax, 8
and edx, 0xffffffff
or edx, eax
mov eax, dword [esp + 0x14]
mov ecx, edx
shl ecx, 0x18
mov dword [eax], edx
and edx, 0xffffffff
mov eax, dword [esp + 0x18]
shr edx, 8
and ecx, 0xffffffff
or ecx, edx
mov dword [eax], ecx
mov edx, dword [esp + 0x1c]
mov cl, byte [edx]
test cl, cl
je 0x4956dc
xor edx, edx
xor eax, eax
mov dl, cl
mov al, byte [esp + 0x12f]
mov ebx, 0xff
movzx edx, byte [esp + edx + 0x124]
add eax, edx
cdq
idiv ebx
xor ebx, ebx
mov bl, byte [esp + edx + 0x24]
jmp 0x4956de
xor ebx, ebx
test cl, cl
je 0x495709
xor edx, edx
xor eax, eax
mov dl, cl
mov al, byte [esp + 0x131]
mov ebp, 0xff
movzx edx, byte [esp + edx + 0x124]
add eax, edx
cdq
idiv ebp
xor eax, eax
mov al, byte [esp + edx + 0x24]
jmp 0x49570b
xor eax, eax
shl eax, 8
xor ebx, eax
test cl, cl
je 0x49573b
xor edx, edx
xor eax, eax
mov dl, cl
mov al, byte [esp + 0x12d]
mov ebp, 0xff
movzx edx, byte [esp + edx + 0x124]
add eax, edx
cdq
idiv ebp
xor eax, eax
mov al, byte [esp + edx + 0x24]
jmp 0x49573d
xor eax, eax
shl eax, 0x10
xor ebx, eax
test cl, cl
je 0x49576e
xor edx, edx
xor eax, eax
mov dl, cl
xor ecx, ecx
mov al, byte [esp + 0x132]
mov cl, byte [esp + edx + 0x124]
add eax, ecx
mov ecx, 0xff
cdq
idiv ecx
xor eax, eax
mov al, byte [esp + edx + 0x24]
jmp 0x495770
xor eax, eax
shl eax, 0x18
mov edx, dword [esp + 0x20]
xor ebx, eax
inc esi
mov dword [edx], ebx
mov ecx, dword [esp + 0x20]
and dword [ecx], 0xffffffff
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
mov eax, edx
and edx, 0xffffffff
shl eax, 0x18
shr edx, 8
and eax, 0xffffffff
or eax, edx
mov edx, dword [esp + 4]
mov dword [edx], eax
mov edx, eax
and eax, 0xffffffff
shl edx, 0x18
shr eax, 8
and edx, 0xffffffff
or edx, eax
mov dword [edi], edx
mov eax, edx
shl eax, 0x18
and edx, 0xffffffff
shr edx, 8
mov ecx, dword [esp]
and eax, 0xffffffff
add edi, 4
or eax, edx
mov dword [ecx], eax
add dword [esp], 4
add dword [esp + 4], 4
add dword [esp + 0x20], 4
inc dword [esp + 0x1c]
add dword [esp + 0x18], 4
add dword [esp + 0x14], 4
add dword [esp + 0x10], 4
add dword [esp + 0xc], 4
inc dword [esp + 8]
cmp esi, 0x100
jl 0x49561d
add esp, 0x224
pop ebp
pop edi
pop esi
pop ebx
ret