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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x409beb
push eax
mov eax, 0x124a4
mov dword fs:[0], esp
call fcn.00409740
mov eax, dword [esp + 0x124c0]
test eax, eax
jbe 0x401faa
xor eax, eax
mov byte [esp + eax + 0x20c], al
inc eax
cmp eax, 0x12296
jb 0x4015e0
push ebx
push ebp
mov ebp, dword [esp + 0x124bc]
push esi
push edi
mov edi, dword [esp + 0x124c8]
xor esi, esi
xor ecx, ecx
mov eax, ecx
xor edx, edx
div edi
mov bl, byte [esp + ecx + 0x21c]
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 + 0x21c]
mov byte [esp + ecx + 0x21b], al
mov byte [esp + esi + 0x21c], bl
jb 0x401605
mov ebp, dword [esp + 0x124d0]
mov ebx, dword [esp + 0x124cc]
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 + 0x220]
mov eax, ecx
mov byte [esp + 0x14], cl
and eax, 0xff
add eax, edi
mov edi, 0x12296
div edi
mov edi, edx
mov dl, byte [esp + edi + 0x220]
mov byte [esp + esi + 0x220], dl
mov byte [esp + edi + 0x220], cl
lea ecx, [esp + 0x18]
call fcn.00401350
lea ecx, [esp + 0x14]
mov dword [esp + 0x124bc], 0
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
lea ecx, [esp + 0x14]
call fcn.004087f0
mov ecx, dword [esp + 0x10]
xor eax, eax
mov al, byte [esp + esi + 0x21c]
and ecx, 0xff
add eax, ecx
mov ecx, 0x12296
cdq
idiv ecx
mov al, byte [ebx]
lea ecx, [esp + 0x14]
mov dword [esp + 0x124bc], 0xffffffff
mov dl, byte [esp + edx + 0x21c]
xor al, dl
mov byte [ebx], al
inc ebx
call fcn.00401140
dec ebp
jne 0x401661
mov eax, dword [esp + 0x124cc]
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x124a4]
mov dword fs:[0], ecx
add esp, 0x124b0
ret
mov ecx, dword [esp + 0x124a4]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0x124b0
ret