Function at 0x42a560
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov dl, byte [0x4ccaf9]
push esi
mov esi, ecx
push edi
xor ecx, ecx
mov al, byte [esi + 0x1ae0]
test dl, dl
mov edx, eax
setne cl
and edx, 0xff
cmp edx, ecx
je 0x42a59a
test al, al
push 0
je 0x42a58d
push 1
jmp 0x42a58f
push 0
mov ecx, dword [0x4ccd64]
call fcn.00447880
mov eax, dword [esi + 0x1ae4]
mov ecx, dword [esi + 0x1c14]
cmp eax, ecx
je 0x42a5ec
mov cl, 0x80
mov dl, al
sub cl, dl
mov edx, dword [0x4ccd64]
mov byte [0x4ccb53], cl
mov ecx, dword [edx + 0x7f8]
call fcn.0043d890
test al, al
je 0x42a5ec
mov eax, dword [0x4ccd64]
mov ecx, dword [eax + 0x804]
test ecx, ecx
je 0x42a5ec
xor edx, edx
mov dl, byte [0x4ccb53]
shr edx, 1
push edx
push 0
call fcn.00415fd0
mov al, byte [esi + 0x1ae8]
mov cl, byte [esi + 0x1c18]
cmp al, cl
je 0x42a619
push eax
mov ecx, esi
call fcn.00436610
mov dl, byte [esi + 0x1ae8]
test dl, dl
sete al
and eax, 0xff
mov dword [0x4ccb0c], eax
mov ecx, dword [esi + 0x1aec]
push ecx
mov ecx, esi
call fcn.00436500
mov dl, byte [esi + 0x1aec]
mov ecx, esi
mov byte [0x4ccb02], dl
mov al, byte [esi + 0x1af0]
push eax
call fcn.00436640
mov cl, byte [esi + 0x1af0]
test cl, cl
sete cl
and ecx, 0xff
mov dword [0x4ccb08], ecx
mov edx, dword [esi + 0x1af4]
push edx
mov ecx, esi
call fcn.00436570
mov al, byte [esi + 0x1af4]
mov byte [0x4ccb01], al
mov al, byte [esi + 0x1af8]
cmp al, byte [esi + 0x1c28]
je 0x42a69e
push eax
mov ecx, esi
call fcn.00436690
mov cl, byte [esi + 0x1af8]
test cl, cl
sete cl
and ecx, 0xff
mov dword [0x4ccb10], ecx
mov edx, dword [esi + 0x1afc]
mov ecx, esi
push edx
call fcn.004365c0
mov al, byte [esi + 0x1afc]
mov byte [0x4ccb00], al
mov al, byte [esi + 0x1b04]
cmp al, byte [esi + 0x1c34]
je 0x42a6f0
test al, al
setne cl
mov byte [0x4c57f6], cl
mov al, byte [esi + 0x1b04]
xor edx, edx
test al, al
mov eax, dword [0x4ccd64]
setne dl
mov ecx, dword [eax + 0x7f8]
push edx
push 0x2b
call fcn.0043bd40
mov al, byte [esi + 0x1b05]
mov cl, byte [esi + 0x1c35]
cmp al, cl
je 0x42a72b
test al, al
setne cl
mov byte [0x4c57f8], cl
mov al, byte [esi + 0x1b05]
xor edx, edx
test al, al
mov eax, dword [0x4ccd64]
setne dl
mov ecx, dword [eax + 0x7f8]
push edx
push 0x13
call fcn.0043bd40
mov al, byte [esi + 0x1b06]
mov cl, byte [esi + 0x1c36]
cmp al, cl
je 0x42a746
test al, al
setne cl
mov byte [0x4c57f9], cl
mov edx, dword [esi + 0x1b00]
mov eax, dword [esi + 0x1c30]
cmp edx, eax
je 0x42a7b8
mov al, dl
mov byte [0x4c57f7], al
mov eax, dword [esi + 0x1c30]
test eax, eax
jne 0x42a787
mov ecx, dword [0x4ccd64]
push 0
mov ecx, dword [ecx + 0x7f8]
call fcn.0043d8a0
test al, al
je 0x42a7b8
push 0
push 0x8022
jmp 0x42a7a3
mov ecx, dword [0x4ccd64]
mov ecx, dword [ecx + 0x7f8]
call fcn.0043d9b0
test al, 2
je 0x42a7b8
push 0
push 0x802b
mov edx, dword [0x4ccd64]
push 0x111
mov eax, dword [edx + 0x1c]
push eax
call dword [0x4834a4]
mov eax, dword [esi + 0x1b08]
mov ecx, dword [esi + 0x1c38]
cmp eax, ecx
je 0x42a7df
mov ecx, 0x32
sub ecx, eax
mov dl, cl
mov dword [esi + 0x1b08], ecx
inc dl
mov byte [0x4c57f4], dl
mov eax, dword [esi + 0x1b0c]
mov ecx, dword [esi + 0x1c3c]
cmp eax, ecx
je 0x42a812
mov cl, al
mov eax, dword [0x4ccd64]
xor edx, edx
mov byte [0x4c57f5], cl
mov dl, byte [esi + 0x1b0c]
mov ecx, dword [eax + 0x7f8]
push edx
push 0x16
call fcn.0043bd40
xor ecx, ecx
mov eax, ecx
mov edi, 0xff
cdq
idiv edi
mov al, byte [esi + ecx + 0x1b10]
inc ecx
cmp ecx, 6
mov byte [edx + 0x4c58bc], al
jl 0x42a814
pop edi
pop esi
ret