Function at 0x4229f0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, dword [0x42b780]
sub esp, 0x10c
push ebx
push ebp
mov ebp, ecx
push esi
mov ecx, dword [0x42b77c]
push edi
push eax
mov edi, edx
push ecx
call fcn.0040e2f0
push 0x6783ffff
push 0xba4fffff
mov word [0x42b760], ax
call fcn.0040e2f0
push 0x6d55ffff
push 0x3ca9ffff
mov word [0x42b75c], ax
call fcn.0040e4a0
add esp, 0x18
mov word [0x42b752], ax
xor eax, eax
mov byte [esp + eax + 0x1c], al
inc eax
cmp eax, 0x100
jb 0x422a45
mov edx, dword [0x42b780]
push 0xe489ffff
push edx
call fcn.0040e380
mov dword [0x42b768], eax
movsx eax, byte [0x42b74a]
push eax
push 0x5d01ffff
call fcn.0040e2f0
push 0x8499ffff
push 0x4381ffff
mov word [0x42b75a], ax
mov byte [esp + 0x30], 0
mov byte [esp + 0x2c], 0
call fcn.0040e340
mov ecx, dword [0x42b768]
mov dword [0x42b77c], eax
push ecx
push 0xef31ffff
call fcn.0040e4a0
mov edx, dword [0x42b778]
mov word [0x42b75e], ax
movsx eax, word [0x42b762]
push edx
push eax
call fcn.0040e2c0
add esp, 0x28
xor bl, bl
mov word [0x42b752], ax
xor esi, esi
mov ecx, dword [0x42b768]
mov edx, dword [0x42b76c]
push ecx
push edx
call fcn.0040e400
movsx ecx, word [0x42b752]
mov word [0x42b75c], ax
mov byte [0x42b750], 1
movsx eax, word [0x42b758]
push eax
push ecx
call fcn.0040e2c0
mov cl, byte [0x42b74d]
mov byte [0x42b74e], al
test cl, cl
setne dl
mov byte [0x42b749], dl
mov eax, esi
xor edx, edx
div edi
mov al, byte [edx + ebp]
mov dl, byte [esp + esi + 0x2c]
add al, dl
mov dl, byte [0x42b756]
add bl, al
dec dl
movsx eax, cl
mov ecx, dword [0x42b76c]
push eax
push ecx
mov byte [esp + 0x28], bl
mov byte [0x42b74b], dl
call fcn.0040e4a0
movsx edx, byte [0x42b74c]
push 0x26b3ffff
push edx
mov dword [0x42b770], eax
call fcn.0040e380
movsx ecx, byte [0x42b749]
mov edx, dword [esp + 0x30]
mov byte [0x42b74c], al
movsx eax, word [0x42b756]
and eax, ecx
mov cl, byte [esp + esi + 0x3c]
and edx, 0xff
mov dword [0x42b784], eax
add esp, 0x20
lea eax, [esp + edx + 0x1c]
mov dl, byte [esp + edx + 0x1c]
mov byte [esp + esi + 0x1c], dl
mov byte [eax], cl
movsx eax, byte [0x42b74c]
cmp word [0x42b756], 0
mov dword [0x42b774], eax
je 0x422bca
cmp word [0x42b762], 0
mov byte [0x42b750], 1
jne 0x422bd1
mov byte [0x42b750], 0
inc esi
cmp esi, 0x100
jb 0x422ad5
mov eax, dword [esp + 0x128]
test eax, eax
jbe 0x422d11
mov edi, dword [esp + 0x120]
mov ebp, dword [esp + 0x124]
sub ebp, edi
mov dword [esp + 0x10], eax
or ebx, 0xffffffff
push 0x94bffff
push 0x8729ffff
mov byte [0x42b74a], bl
call fcn.0040e2f0
xor ecx, ecx
mov byte [0x42b74f], al
cmp word [0x42b75c], cx
mov al, byte [esp + 0x20]
push 0xce2dffff
setne cl
inc al
mov dword [0x42b76c], ecx
mov byte [esp + 0x24], al
mov cl, byte [esp + 0x20]
mov edx, dword [esp + 0x24]
and edx, 0xff
mov al, byte [esp + edx + 0x28]
lea esi, [esp + edx + 0x28]
add cl, al
mov byte [esp + 0x20], cl
movsx ecx, word [0x42b75a]
push ecx
call fcn.0040e380
mov word [0x42b756], ax
mov eax, dword [0x42b77c]
add esp, 0x10
test eax, eax
je 0x422c8a
mov eax, dword [0x42b788]
mov byte [0x42b74a], 1
test eax, eax
jne 0x422c91
mov byte [0x42b74a], 0
mov edx, dword [esp + 0x14]
mov cl, byte [esi]
and edx, 0xff
mov word [0x42b762], bx
lea eax, [esp + edx + 0x1c]
mov dl, byte [esp + edx + 0x1c]
mov byte [esi], dl
mov byte [eax], cl
movsx cx, byte [0x42b74c]
mov edx, ebx
mov word [0x42b762], 0xfffe
sub edx, ecx
mov cl, byte [0x42b778]
mov word [0x42b760], dx
mov dl, byte [0x42b74f]
sub cl, dl
mov dl, byte [eax]
mov al, byte [esi]
mov byte [0x42b74b], cl
add dl, al
and edx, 0xff
mov al, byte [esp + edx + 0x1c]
mov dl, byte [edi + ebp]
xor al, dl
mov byte [edi], al
mov eax, dword [esp + 0x10]
inc edi
dec eax
mov dword [0x42b76c], 0xfa480000
mov dword [esp + 0x10], eax
jne 0x422c04
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret 0xc