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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x40969b
push eax
mov eax, 0x12380
mov dword fs:[0], esp
call fcn.00409290
mov eax, dword [esp + 0x1239c]
test eax, eax
jbe 0x4023a0
xor eax, eax
mov byte [esp + eax + 0xe8], al
inc eax
cmp eax, 0x12296
jb 0x4019d0
push ebx
push ebp
mov ebp, dword [esp + 0x12398]
push esi
push edi
mov edi, dword [esp + 0x123a4]
xor esi, esi
xor ecx, ecx
mov eax, ecx
xor edx, edx
div edi
mov bl, byte [esp + ecx + 0xf8]
xor eax, eax
mov al, byte [edx + ebp]
mov edx, eax
mov eax, ebx
and eax, 0xff
add esi, edx
add eax, esi
xor edx, edx
mov esi, 0x12296
div esi
inc ecx
cmp ecx, 0x12296
mov esi, edx
mov al, byte [esp + esi + 0xf8]
mov byte [esp + ecx + 0xf7], al
mov byte [esp + esi + 0xf8], bl
jb 0x4019f5
mov ebp, dword [esp + 0x123ac]
mov ebx, dword [esp + 0x123a8]
xor edi, edi
xor esi, esi
dec ebp
inc ebp
lea eax, [esi + 1]
xor edx, edx
mov ecx, 0x12296
push 0
div ecx
mov esi, edx
xor edx, edx
mov cl, byte [esp + esi + 0xfc]
mov eax, ecx
mov byte [esp + 0xf8], cl
and eax, 0xff
add eax, edi
mov edi, 0x12296
div edi
mov edi, edx
mov dl, byte [esp + edi + 0xfc]
mov byte [esp + esi + 0xfc], dl
mov byte [esp + edi + 0xfc], cl
lea ecx, [esp + 0x14]
call fcn.004017e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x12398], 0
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
lea ecx, [esp + 0x10]
call fcn.00408bf0
mov ecx, dword [esp + 0xf4]
xor eax, eax
mov al, byte [esp + esi + 0xf8]
and ecx, 0xff
add eax, ecx
mov ecx, 0x12296
cdq
idiv ecx
mov al, byte [ebx]
lea ecx, [esp + 0x10]
mov dword [esp + 0x12398], 0xffffffff
mov dl, byte [esp + edx + 0xf8]
xor al, dl
mov byte [ebx], al
inc ebx
call fcn.00401700
dec ebp
jne 0x401a51
mov eax, dword [esp + 0x123a8]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x12380]
mov dword fs:[0], ecx
add esp, 0x1238c
ret
mov ecx, dword [esp + 0x12380]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0x1238c
ret