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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov byte [0x45027f], 0
mov dl, 1
push ebx
push esi
push edi
xor ebx, ebx
movzx eax, dl
mov cl, dl
sar cl, 7
and cl, 0x1b
mov byte [ebx + 0x4524a8], dl
mov byte [eax + 0x450278], bl
mov al, dl
add al, al
inc ebx
xor cl, al
xor dl, cl
cmp ebx, 0x100
jb 0x41ab24
mov byte [0x450279], 0
mov cl, 1
xor edx, edx
nop word [eax + eax]
movzx eax, cl
mov dword [edx + 0x450478], eax
mov al, cl
sar al, 7
add cl, cl
and al, 0x1b
add edx, 4
xor cl, al
cmp edx, 0x28
jb 0x41ab60
xor ebx, ebx
nop
test ebx, ebx
je 0x41ab96
movzx eax, byte [ebx + 0x450278]
mov ecx, 0x4525a7
sub ecx, eax
mov dl, byte [ecx]
jmp 0x41ab98
xor dl, dl
mov al, dl
mov cl, dl
add al, al
shr cl, 7
or cl, al
mov al, cl
xor dl, cl
shr al, 7
add cl, cl
or al, cl
mov cl, al
xor dl, al
add al, al
shr cl, 7
or cl, al
mov al, cl
ror al, 7
xor al, cl
xor al, dl
xor al, 0x63
mov byte [ebx + 0x4535a8], al
movzx eax, al
mov byte [eax + 0x450378], bl
inc ebx
cmp ebx, 0x100
jb 0x41ab80
mov ebx, 0xff
xor esi, esi
mov dword [ebp - 8], ebx
nop word [eax + eax]
mov cl, byte [esi + 0x4535a8]
movzx edi, cl
mov eax, edi
mov dword [esi*4 + 0x4504a8], edi
rol eax, 8
mov dword [esi*4 + 0x4508a8], eax
mov eax, edi
rol eax, 0x10
mov dword [esi*4 + 0x450ca8], eax
mov eax, edi
rol eax, 0x18
mov dword [esi*4 + 0x4510a8], eax
test cl, cl
je 0x41ac5e
movzx ecx, byte [edi + 0x450278]
xor edx, edx
movzx eax, byte [0x45027a]
add eax, ecx
div ebx
movzx eax, byte [0x45027b]
add eax, ecx
mov ecx, 0xff
movzx ebx, byte [edx + 0x4524a8]
xor edx, edx
div ecx
movzx ecx, byte [edx + 0x4524a8]
jmp 0x41ac62
xor ebx, ebx
xor ecx, ecx
shl ecx, 8
or ecx, edi
shl ecx, 8
or ecx, edi
shl ecx, 8
or ecx, ebx
mov eax, ecx
mov dword [esi*4 + 0x44f278], ecx
rol eax, 8
mov dword [esi*4 + 0x44f678], eax
mov eax, ecx
rol eax, 0x10
rol ecx, 0x18
mov dword [esi*4 + 0x44fa78], eax
mov dword [esi*4 + 0x44fe78], ecx
mov cl, byte [esi + 0x450378]
movzx edx, cl
mov eax, edx
mov dword [esi*4 + 0x4525a8], edx
rol eax, 8
mov dword [esi*4 + 0x4529a8], eax
mov eax, edx
rol eax, 0x10
mov dword [esi*4 + 0x452da8], eax
mov eax, edx
rol eax, 0x18
mov dword [esi*4 + 0x4531a8], eax
test cl, cl
je 0x41ad39
movzx ecx, byte [edx + 0x450278]
mov ebx, 0xff
movzx eax, byte [0x450286]
xor edx, edx
add eax, ecx
div ebx
movzx eax, byte [0x450281]
add eax, ecx
movzx edi, byte [edx + 0x4524a8]
xor edx, edx
div ebx
movzx eax, byte [0x450285]
add eax, ecx
movzx ebx, byte [edx + 0x4524a8]
xor edx, edx
div dword [ebp - 8]
movzx eax, byte [edx + 0x4524a8]
xor edx, edx
mov dword [ebp - 4], eax
movzx eax, byte [0x450283]
add eax, ecx
mov ecx, 0xff
div ecx
movzx eax, byte [edx + 0x4524a8]
jmp 0x41ad42
xor ebx, ebx
xor edi, edi
mov dword [ebp - 4], ebx
xor eax, eax
shl eax, 8
or eax, dword [ebp - 4]
shl eax, 8
or eax, ebx
mov ebx, 0xff
shl eax, 8
or eax, edi
mov ecx, eax
mov dword [esi*4 + 0x4514a8], eax
rol ecx, 8
mov dword [esi*4 + 0x4518a8], ecx
mov ecx, eax
rol ecx, 0x10
rol eax, 0x18
mov dword [esi*4 + 0x451ca8], ecx
mov dword [esi*4 + 0x4520a8], eax
inc esi
cmp esi, 0x100
jb 0x41abf0
pop edi
pop esi
pop ebx
mov dword [0x4504a0], 1
mov esp, ebp
pop ebp
ret