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

Disassembly:
push ecx
and byte [0x882737], 0
push ebx
push ebp
push esi
push edi
push 1
xor ecx, ecx
pop eax
mov edx, eax
and dl, 0x80
neg dl
sbb dl, dl
mov bl, al
shl bl, 1
mov byte [ecx + 0x882630], al
mov byte [eax + 0x882730], cl
movzx esi, bl
and edx, 0x1b
movzx edx, dl
xor edx, esi
movzx eax, al
xor eax, edx
inc ecx
cmp ecx, 0x100
jb 0x41e469
and byte [0x882731], 0
push 1
pop eax
mov ecx, 0x882408
mov edx, eax
and dl, 0x80
neg dl
sbb dl, dl
mov dword [ecx], eax
shl al, 1
movzx eax, al
add ecx, 4
and edx, 0x1b
movzx edx, dl
xor eax, edx
cmp ecx, 0x882430
jb 0x41e4aa
xor ebx, ebx
test ebx, ebx
je 0x41e4e6
movzx eax, byte [ebx + 0x882730]
mov ecx, 0x88272f
sub ecx, eax
movzx eax, byte [ecx]
jmp 0x41e4e8
xor eax, eax
xor edx, edx
mov dl, al
mov cl, dl
shl cl, 1
movzx ecx, cl
mov eax, edx
shr eax, 7
movzx eax, al
or eax, ecx
xor edx, eax
mov ecx, eax
shr ecx, 7
shl al, 1
movzx ecx, cl
movzx eax, al
or ecx, eax
xor edx, ecx
mov eax, ecx
shl cl, 1
shr eax, 7
movzx ecx, cl
movzx eax, al
or eax, ecx
xor edx, eax
mov ecx, eax
shr ecx, 7
shl al, 1
movzx ecx, cl
movzx eax, al
or ecx, eax
xor ecx, edx
xor ecx, 0x63
mov byte [ebx + 0x882530], cl
mov byte [ecx + 0x882430], bl
inc ebx
cmp ebx, 0x100
jb 0x41e4cf
xor ebx, ebx
movzx edi, byte [ebx + 0x882530]
mov esi, ebx
push 8
shl esi, 2
push edi
mov dword [esi + 0x87f408], edi
call fcn.007a8a6a
push 0x10
push edi
mov dword [esi + 0x87f808], eax
call fcn.007a8a6a
push 0x18
push edi
mov dword [esi + 0x87fc08], eax
call fcn.007a8a6a
add esp, 0x18
test edi, edi
mov dword [esi + 0x880008], eax
je 0x41e5b0
movzx ecx, byte [0x882732]
movzx eax, byte [edi + 0x882730]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx ecx, byte [edx + 0x882630]
jmp 0x41e5b2
xor ecx, ecx
test edi, edi
je 0x41e5d7
movzx edx, byte [0x882733]
movzx eax, byte [edi + 0x882730]
add eax, edx
cdq
mov ebp, 0xff
idiv ebp
movzx eax, byte [edx + 0x882630]
jmp 0x41e5d9
xor eax, eax
shl eax, 8
or eax, edi
shl eax, 8
or eax, edi
shl eax, 8
or eax, ecx
mov edi, eax
push 8
push edi
mov dword [esi + 0x881408], edi
call fcn.007a8a6a
push 0x10
push edi
mov dword [esi + 0x881808], eax
call fcn.007a8a6a
push 0x18
push edi
mov dword [esi + 0x881c08], eax
call fcn.007a8a6a
movzx edi, byte [ebx + 0x882430]
push 8
push edi
mov dword [esi + 0x882008], eax
mov dword [esi + 0x87e408], edi
call fcn.007a8a6a
push 0x10
push edi
mov dword [esi + 0x87e808], eax
call fcn.007a8a6a
push 0x18
push edi
mov dword [esi + 0x87ec08], eax
call fcn.007a8a6a
xor ebp, ebp
add esp, 0x30
cmp edi, ebp
mov dword [esi + 0x87f008], eax
je 0x41e67f
movzx ecx, byte [0x88273e]
movzx eax, byte [edi + 0x882730]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx eax, byte [edx + 0x882630]
mov dword [esp + 0x10], eax
jmp 0x41e683
mov dword [esp + 0x10], ebp
cmp edi, ebp
je 0x41e6a6
movzx ecx, byte [0x882739]
movzx eax, byte [edi + 0x882730]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx ebp, byte [edx + 0x882630]
test edi, edi
je 0x41e6cb
movzx ecx, byte [0x88273d]
movzx eax, byte [edi + 0x882730]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx ecx, byte [edx + 0x882630]
jmp 0x41e6cd
xor ecx, ecx
test edi, edi
je 0x41e6f2
movzx eax, byte [edi + 0x882730]
movzx edx, byte [0x88273b]
add eax, edx
cdq
mov edi, 0xff
idiv edi
movzx eax, byte [edx + 0x882630]
jmp 0x41e6f4
xor eax, eax
shl eax, 8
or eax, ecx
shl eax, 8
or eax, ebp
shl eax, 8
or eax, dword [esp + 0x10]
push 8
mov edi, eax
push edi
mov dword [esi + 0x880408], edi
call fcn.007a8a6a
push 0x10
push edi
mov dword [esi + 0x880808], eax
call fcn.007a8a6a
push 0x18
push edi
mov dword [esi + 0x880c08], eax
call fcn.007a8a6a
add esp, 0x18
inc ebx
cmp ebx, 0x100
mov dword [esi + 0x881008], eax
jb 0x41e54c
pop edi
pop esi
pop ebp
mov byte [0x882830], 1
pop ebx
pop ecx
ret