Function at 0x402230
Capabilities:
Encrypt data using rc4 ksa
Encrypt data using rc4 prga

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x438b9c
push eax
mov eax, 0xffc8
mov dword fs:[0], esp
call fcn.0040cee0
mov eax, dword [esp + 0xffe4]
test eax, eax
jbe 0x40278f
xor eax, eax
mov byte [esp + eax + 0x18], al
inc eax
cmp eax, 0xffb0
jb 0x402260
push ebx
push ebp
mov ebp, dword [esp + 0xffe4]
push esi
push edi
mov edi, dword [esp + 0xffe8]
xor esi, esi
xor ecx, ecx
mov eax, ecx
xor edx, edx
div ebp
mov bl, byte [esp + ecx + 0x28]
xor eax, eax
mov al, byte [edx + edi]
mov edx, eax
mov eax, ebx
and eax, 0xff
add esi, edx
add eax, esi
xor edx, edx
mov esi, 0xffb0
div esi
inc ecx
cmp ecx, 0xffb0
mov esi, edx
mov al, byte [esp + esi + 0x28]
mov byte [esp + ecx + 0x27], al
mov byte [esp + esi + 0x28], bl
jb 0x402282
mov eax, dword [esp + 0xfff4]
mov ecx, dword [esp + 0xfff0]
xor ebx, ebx
xor ebp, ebp
dec eax
mov dword [esp + 0x18], ecx
inc eax
or esi, 0xffffffff
mov dword [esp + 0x20], eax
lea eax, [ebp + 1]
xor edx, edx
mov ecx, 0xffb0
mov edi, 0xffb0
div ecx
push 0
push 0
mov ebp, edx
xor edx, edx
mov cl, byte [esp + ebp + 0x30]
mov eax, ecx
mov byte [esp + 0x2c], cl
and eax, 0xff
add eax, ebx
div edi
mov eax, dword [esp + 0x20]
mov ebx, edx
mov dl, byte [esp + ebx + 0x30]
mov byte [esp + ebp + 0x30], dl
mov byte [esp + ebx + 0x30], cl
mov cl, byte [eax]
mov byte [esp + 0x1f], cl
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, eax
test edi, edi
je 0x40265c
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 1
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 2
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 3
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 4
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 5
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 6
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 7
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 8
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 9
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xa
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xb
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xc
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xd
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xe
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0xf
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [esp + 0x24]
xor eax, eax
mov al, byte [esp + ebp + 0x28]
and ecx, 0xff
add eax, ecx
mov ecx, 0xffb0
cdq
idiv ecx
mov cl, byte [esp + 0x17]
mov dl, byte [esp + edx + 0x28]
xor cl, dl
test edi, edi
mov byte [esp + 0x17], cl
je 0x402756
mov eax, dword [0x44a3fc]
mov dword [esp + 0x10], eax
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0x10
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov ecx, dword [0x44a3fc]
mov dword [esp + 0x10], ecx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0x11
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov edx, dword [0x44a3fc]
mov dword [esp + 0x10], edx
push 0x89059b
lea ecx, [esp + 0x14]
mov dword [esp + 0xffe4], 0x12
call fcn.00424299
lea ecx, [esp + 0x10]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [0x44a3fc]
mov dword [esp + 0x1c], eax
push 0x89059b
lea ecx, [esp + 0x20]
mov dword [esp + 0xffe4], 0x13
call fcn.00424299
lea ecx, [esp + 0x1c]
mov dword [esp + 0xffe0], esi
call fcn.00422d34
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x17]
mov byte [eax], cl
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
jne 0x4022dd
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xffc8]
mov dword fs:[0], ecx
add esp, 0xffd4
ret
mov ecx, dword [esp + 0xffc8]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0xffd4
ret