Function at 0x4651b0
Capabilities:
Encode data using xor
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 0x48
push 0x4db470
xor ebx, ebx
push edi
mov dword [esp + 0x18], ebx
call fcn.004439c0
push 0x400
lea eax, [edi + 0x48]
push 0x4db4b8
push eax
call fcn.004439c0
push 0x400
lea ecx, [edi + 0x448]
push 0x4db8b8
push ecx
call fcn.004439c0
push 0x400
lea edx, [edi + 0x848]
push 0x4dbcb8
push edx
call fcn.004439c0
push 0x400
lea eax, [edi + 0xc48]
push 0x4dc0b8
push eax
call fcn.004439c0
add esp, 0x3c
lea ebx, [ebx]
mov edx, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
movzx esi, byte [edx + ecx]
mov eax, edx
inc eax
cdq
idiv dword [ebp + 0x10]
shl esi, 8
movzx ecx, byte [edx + ecx]
lea eax, [edx + 1]
cdq
idiv dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
or ecx, esi
shl ecx, 8
movzx esi, byte [edx + eax]
lea eax, [edx + 1]
cdq
idiv dword [ebp + 0x10]
or esi, ecx
mov ecx, dword [ebp + 0xc]
shl esi, 8
movzx ecx, byte [edx + ecx]
lea eax, [edx + 1]
cdq
idiv dword [ebp + 0x10]
or ecx, esi
mov dword [esp + 0xc], edx
xor dword [edi + ebx*4], ecx
inc ebx
cmp ebx, 0x12
jl 0x465230
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
nop
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00464840
mov edx, esi
push edx
push edi
call fcn.00464890
add esp, 8
mov eax, 8
call fcn.00464840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + ebx*4], eax
mov dword [edi + ebx*4 + 4], ecx
add ebx, 2
cmp ebx, 0x12
jl 0x465290
lea ebx, [edi + 0x4c]
mov dword [esp + 0xc], 0x80
jmp 0x4652e0
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00464840
mov edx, esi
push edx
push edi
call fcn.00464890
add esp, 8
mov eax, 8
call fcn.00464840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx - 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
add ebx, 8
dec eax
mov dword [esp + 0xc], eax
jne 0x4652e0
lea ebx, [edi + 0x44c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00464840
mov edx, esi
push edx
push edi
call fcn.00464890
add esp, 8
mov eax, 8
call fcn.00464840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx - 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
add ebx, 8
dec eax
mov dword [esp + 0xc], eax
jne 0x465330
lea ebx, [edi + 0x84c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00464840
mov edx, esi
push edx
push edi
call fcn.00464890
add esp, 8
mov eax, 8
call fcn.00464840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx - 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
add ebx, 8
dec eax
mov dword [esp + 0xc], eax
jne 0x465380
lea ebx, [edi + 0xc4c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00464840
mov edx, esi
push edx
push edi
call fcn.00464890
add esp, 8
mov eax, 8
call fcn.00464840
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ebx - 4], eax
mov eax, dword [esp + 0xc]
mov dword [ebx], ecx
add ebx, 8
dec eax
mov dword [esp + 0xc], eax
jne 0x4653d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret