Function at 0x402eb0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x30], 0x8b9dc278
jmp 0x402ed0
mov dword [ebp - 0x30], 0xbcbc7761
nop
mov eax, dword [ebp - 0x30]
cmp eax, 0x92163e61
jg 0x402ef0
cmp eax, 0x8b9dc278
jne 0x402ed0
jmp 0x402ec8
cmp eax, 0x6c9b3e2b
jg 0x402f80
cmp eax, 0x6ab8cef5
jg 0x402f97
cmp eax, 0x44f5c81e
jg 0x402fa7
cmp eax, 0x269b8208
jg 0x402fcb
cmp eax, 0x1440619b
jg 0x402ff4
cmp eax, 0xf20e645
jg 0x403057
cmp eax, 0x6b608d6
jg 0x4030f0
cmp eax, 0xf0ad53e4
jg 0x403164
cmp eax, 0xbcbc7760
jg 0x40317b
cmp eax, 0x92163e62
je 0x403221
cmp eax, 0x936aa4d0
jne 0x40322d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebp - 0x30], 0x269b8209
jmp 0x402ed0
cmp eax, 0x6c9b3e2c
jne 0x402ed0
mov dword [ebp - 0x30], 0x1440619c
jmp 0x402ed0
cmp eax, 0x6ab8cef6
jne 0x402ed0
jmp 0x40324d
cmp eax, 0x44f5c81f
jne 0x402ed0
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0xa4608d11
jne 0x402fc3
mov eax, 0x92163e62
mov dword [ebp - 0x30], eax
jmp 0x402ed0
cmp eax, 0x269b8209
jne 0x402ed0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x20]
mov eax, 0x6c9b3e2c
cmp ecx, dword [edx]
jb 0x402fec
mov eax, 0x6ab8cef6
mov dword [ebp - 0x30], eax
jmp 0x402ed0
cmp eax, 0x1440619c
jne 0x402ed0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
lea edx, [ecx + 1]
mov esi, dword [ebp - 0x14]
mov dword [esi], edx
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
movzx ecx, word [edx + ecx*2]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
or ecx, edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
cmp eax, dword [ecx]
sete byte [ebp - 0xd]
mov dword [ebp - 0x30], 0x44f5c81f
jmp 0x402ed0
cmp eax, 0xf20e646
jne 0x402ed0
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x34], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x38], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x3c], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x40], esp
mov eax, 4
call fcn.00418710
mov esi, esp
mov eax, 4
call fcn.00418710
mov ecx, esp
mov eax, 4
call fcn.00418710
mov eax, dword [ebp - 0x34]
mov dword [eax], edi
mov eax, dword [ebp - 0x38]
mov dword [eax], ebx
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x3c]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x40]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov dword [esi], eax
mov dword [ecx], 0
mov dword [esp], 0
mov dword [ebp - 0x30], 0xbcbc7761
jmp 0x402ed0
cmp eax, 0x6b608d7
jne 0x402ed0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
lea edx, [ecx + 1]
mov esi, dword [ebp - 0x14]
mov dword [esi], edx
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
movzx ecx, word [edx + ecx*2]
mov edx, eax
not edx
and edx, 0xb4d7
and eax, 0x4b28
mov esi, ecx
not esi
and esi, 0xb4d7
and ecx, 0x4b28
add eax, edx
add ecx, esi
xor ecx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx]
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0x1440619c
jmp 0x402ed0
cmp eax, 0xf0ad53e5
jne 0x402ed0
mov dword [ebp - 0x30], 0x269b8209
jmp 0x402ed0
cmp eax, 0xbcbc7761
jne 0x402ed0
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x2c], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x28], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x24], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x20], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x1c], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x18], esp
mov eax, 4
call fcn.00418710
mov dword [ebp - 0x14], esp
mov eax, dword [ebp - 0x2c]
mov dword [eax], edi
mov eax, dword [ebp - 0x28]
mov dword [eax], ebx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x30], 0xf0ad53e5
jmp 0x402ed0
mov dword [ebp - 0x30], 0x936aa4d0
jmp 0x402ed0
cmp eax, 0xa4608d11
jne 0x402ed0
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x30], 0x92163e62
jmp 0x402ed0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret