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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x430
mov ebp, ecx
xor esi, esi
movzx eax, byte [ebp + 0x22]
test eax, eax
je 0x42a785
mov ebx, 1
jmp 0x42a787
xor ebx, ebx
lea eax, [esp + 0x24]
push 0x400
push 0
push eax
call fcn.0046e690
add esp, 0xc
xor edx, edx
xor eax, eax
mov edi, dword [esp + 0x448]
test edi, edi
jle 0x42a90c
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x448]
mov dword [esp], esi
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x444]
cmp eax, ebp
jge 0x42aa5e
xor edi, edi
mov ecx, ebx
sub ecx, edx
mov dword [esp + 4], ecx
test ecx, ecx
jle 0x42a8f3
mov esi, ebp
sub esi, eax
add esi, 0xfffffff9
mov ecx, ebp
imul ecx, edx
add ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, edi
imul ecx, ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
cmp edi, esi
jge 0x42aa43
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
add edx, dword [ebx + 0x197c]
lea ebp, [edi + ecx]
add ebp, dword [esp + 0x10]
lea eax, [ebp + ebp]
add eax, eax
movzx ebx, byte [edx + ebp*4]
mov dword [esp + 0x424], ebx
movzx ebx, byte [edx + ebp*4 + 1]
mov dword [esp + 0x428], ebx
movzx ebx, byte [edx + ebp*4 + 2]
lea ebp, [edx + eax + 4]
mov dword [esp + 0x42c], ebx
lea ebx, [edx + eax + 0x1c]
mov dword [esp + 0x20], esi
mov esi, dword [esp]
mov dword [esp + 0x1c], edi
movzx edi, byte [ebp]
mov eax, dword [esp + 0x424]
neg eax
add eax, edi
inc esi
cdq
xor eax, edx
sub eax, edx
inc dword [esp + eax*4 + 0x24]
mov dword [esp + 0x424], edi
movzx edi, byte [ebp + 1]
mov eax, dword [esp + 0x428]
neg eax
add eax, edi
cdq
xor eax, edx
sub eax, edx
inc dword [esp + eax*4 + 0x24]
mov dword [esp + 0x428], edi
movzx edi, byte [ebp + 2]
mov eax, dword [esp + 0x42c]
neg eax
add eax, edi
cdq
xor eax, edx
sub eax, edx
add ebp, 4
inc dword [esp + eax*4 + 0x24]
cmp ebx, ebp
mov dword [esp + 0x42c], edi
jae 0x42a859
mov dword [esp], esi
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
add ecx, dword [esp + 0x444]
inc edi
mov eax, dword [esp + 4]
cmp edi, eax
jl 0x42a800
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x448]
mov ebp, dword [esp + 0x444]
cmp ebp, ebx
jle 0x42a8fd
add eax, ebx
xor edx, edx
jmp 0x42a901
xor eax, eax
add edx, ebp
cmp edx, ebx
jl 0x42a7c7
mov esi, dword [esp]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
add eax, ecx
cdq
idiv esi
cmp eax, 0x5f
jl 0x42a934
xor eax, eax
add esp, 0x430
pop ebx
pop ebp
pop esi
pop edi
ret 8
xor edi, edi
mov ebp, 1
mov ebx, dword [esp + ebp*4 + 0x24]
mov edx, ebp
imul edx, ebx
imul edx, ebp
add edi, edx
test ebx, ebx
je 0x42aa34
mov edx, dword [esp + ebp*4 + 0x20]
add edx, edx
cmp ebx, edx
jg 0x42aa34
inc ebp
cmp ebp, 8
jl 0x42a93b
cmp ebp, 0x100
jge 0x42aa1a
mov edx, ebp
neg edx
add edx, 0x100
cmp edx, 6
jl 0x42aa05
lea ebx, [ebp + 1]
lea edx, [ebp + 2]
lea eax, [ebp + 3]
mov dword [esp + 0xc], eax
lea eax, [ebp + 4]
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], esi
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + ebp*4 + 0x24]
imul esi, ebp
imul esi, ebp
add esi, dword [esp + 8]
mov edi, dword [esp + ebp*4 + 0x28]
imul edi, ebx
imul edi, ebx
add edi, esi
mov esi, dword [esp + ebp*4 + 0x2c]
imul esi, edx
imul esi, edx
add esi, edi
mov edi, dword [esp + ebp*4 + 0x30]
imul edi, ecx
imul edi, ecx
add edi, esi
mov esi, dword [esp + ebp*4 + 0x34]
imul esi, eax
imul esi, eax
add esi, edi
add ebx, 5
mov dword [esp + 8], esi
add edx, 5
add ecx, 5
add eax, 5
add ebp, 5
cmp ebp, 0xfa
jl 0x42a9a3
mov edi, esi
mov ecx, dword [esp + 4]
mov esi, dword [esp]
mov edx, dword [esp + ebp*4 + 0x24]
imul edx, ebp
imul edx, ebp
add edi, edx
inc ebp
cmp ebp, 0x100
jl 0x42aa05
lea ebx, [esi + esi]
add ebx, esi
sub ebx, ecx
mov eax, edi
xor edx, edx
div ebx
add esp, 0x430
pop ebx
pop ebp
pop esi
pop edi
ret 8
xor eax, eax
add esp, 0x430
pop ebx
pop ebp
pop esi
pop edi
ret 8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x448]
mov ebp, dword [esp + 0x444]
jmp 0x42a8f3
mov esi, dword [esp]
jmp 0x42a90c