Function at 0x4585e0
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 0x51aa50
xor ebx, ebx
push edi
mov dword [esp + 0x18], ebx
call fcn.00451660
push 0x400
lea eax, [edi + 0x48]
push 0x51aa98
push eax
call fcn.00451660
push 0x400
lea ecx, [edi + 0x448]
push 0x51ae98
push ecx
call fcn.00451660
push 0x400
lea edx, [edi + 0x848]
push 0x51b298
push edx
call fcn.00451660
push 0x400
lea eax, [edi + 0xc48]
push 0x51b698
push eax
call fcn.00451660
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 0x458660
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
nop
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00457c70
mov edx, esi
push edx
push edi
call fcn.00457cc0
add esp, 8
mov eax, 8
call fcn.00457c70
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 0x4586c0
lea ebx, [edi + 0x4c]
mov dword [esp + 0xc], 0x80
jmp 0x458710
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00457c70
mov edx, esi
push edx
push edi
call fcn.00457cc0
add esp, 8
mov eax, 8
call fcn.00457c70
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 0x458710
lea ebx, [edi + 0x44c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00457c70
mov edx, esi
push edx
push edi
call fcn.00457cc0
add esp, 8
mov eax, 8
call fcn.00457c70
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 0x458760
lea ebx, [edi + 0x84c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00457c70
mov edx, esi
push edx
push edi
call fcn.00457cc0
add esp, 8
mov eax, 8
call fcn.00457c70
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 0x4587b0
lea ebx, [edi + 0xc4c]
mov dword [esp + 0xc], 0x80
lea ecx, [ecx]
mov eax, 8
lea esi, [esp + 0x10]
call fcn.00457c70
mov edx, esi
push edx
push edi
call fcn.00457cc0
add esp, 8
mov eax, 8
call fcn.00457c70
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 0x458800
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret