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

Disassembly:
mov eax, dword [0x42ca78]
sub esp, 0x110
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
je 0x420d15
cmp word [0x42ca5a], bx
je 0x420d15
mov eax, 1
jmp 0x420d17
xor eax, eax
mov cl, byte [0x42ca4a]
add cl, al
xor eax, eax
mov byte [0x42ca4a], cl
mov byte [esp + eax + 0x20], al
inc eax
cmp eax, 0x100
jb 0x420d27
mov al, byte [0x42ca52]
mov cl, byte [0x42ca6c]
and al, cl
movsx ecx, word [0x42ca56]
push ecx
push 0xbd7fffff
mov byte [0x42ca4b], al
call fcn.0040ea40
movsx edx, byte [0x42ca51]
push 0x1ce9ffff
push edx
mov word [0x42ca5e], ax
call fcn.0040e7e0
mov edi, dword [esp + 0x138]
mov ebp, dword [esp + 0x134]
mov byte [0x42ca50], al
mov ax, word [0x42ca52]
sub word [0x42ca58], ax
add esp, 0x10
mov byte [esp + 0x14], bl
mov byte [esp + 0x10], bl
xor esi, esi
movsx edx, byte [0x42ca51]
mov ecx, dword [0x42ca74]
push ecx
push edx
call fcn.0040e7a0
add word [0x42ca5c], ax
movsx eax, byte [0x42ca4a]
push eax
push 0xd7b5ffff
call fcn.0040ea40
mov cl, byte [0x42ca4f]
xor edx, edx
add cl, al
mov eax, esi
div edi
mov al, byte [esp + esi + 0x30]
mov byte [0x42ca4f], cl
add esp, 0x10
mov cl, byte [edx + ebp]
mov dl, byte [esp + 0x10]
add cl, al
mov dword [0x42ca74], 1
add dl, cl
mov cl, byte [esp + esi + 0x20]
mov byte [esp + 0x10], dl
mov dx, word [0x42ca54]
mov eax, dword [esp + 0x10]
dec dx
add word [0x42ca5e], dx
and eax, 0xff
inc esi
mov dl, byte [esp + eax + 0x20]
lea eax, [esp + eax + 0x20]
mov byte [esp + esi + 0x1f], dl
cmp esi, 0x100
mov byte [eax], cl
mov word [0x42ca58], 0xffff
jb 0x420d9c
mov ecx, dword [esp + 0x134]
test ecx, ecx
jbe 0x420f8e
mov ebp, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
sub eax, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
movsx eax, byte [0x42ca51]
push 0x2561ffff
push eax
call fcn.0040e890
mov edx, dword [0x42ca74]
push 0x6449ffff
add edx, eax
push 0xd37bffff
mov dword [0x42ca74], edx
call fcn.0040e910
movsx ecx, byte [0x42ca4c]
push ecx
push 0xc94dffff
mov word [0x42ca64], ax
call fcn.0040e890
mov word [0x42ca52], ax
mov al, byte [esp + 0x2c]
inc al
mov edi, dword [0x42ca70]
mov byte [esp + 0x2c], al
mov edx, dword [esp + 0x2c]
and edx, 0xff
movsx eax, word [0x42ca56]
lea esi, [esp + edx + 0x38]
and eax, 0x37a5ffff
add edi, eax
mov dl, byte [esi]
mov dword [0x42ca70], edi
add bl, dl
mov al, dl
mov byte [esp + 0x30], bl
mov ecx, dword [esp + 0x30]
and ecx, 0xff
mov dl, byte [esp + ecx + 0x38]
lea edi, [esp + ecx + 0x38]
mov byte [esi], dl
mov byte [edi], al
movsx eax, byte [0x42ca50]
movsx ecx, byte [0x42ca49]
push eax
push ecx
call fcn.0040e8d0
mov cl, byte [0x42ca4f]
movsx edx, word [0x42ca5a]
add cl, al
push edx
movsx eax, word [0x42ca52]
push eax
mov byte [0x42ca4f], cl
call fcn.0040e9f0
add word [0x42ca62], ax
mov cl, byte [esi]
mov al, byte [edi]
add esp, 0x28
add cl, al
mov eax, dword [esp + 0x1c]
and ecx, 0xff
mov dl, byte [esp + ecx + 0x20]
mov cl, byte [eax + ebp]
mov eax, dword [esp + 0x10]
xor dl, cl
mov byte [ebp], dl
mov cx, word [0x42ca5e]
mov dl, byte [0x42ca4d]
add word [0x42ca60], cx
inc dl
inc ebp
dec eax
mov byte [0x42ca4d], dl
mov dword [esp + 0x10], eax
jne 0x420e65
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110
ret