Function at 0x40b6ac
Capabilities:
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x30
mov dword [esp + 8], 0x1048
mov dword [esp + 4], 0x40f518
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], 0x48
jle 0x40b6e2
mov dword [ebp + 0xc], 0x48
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x11
jle 0x40b703
jmp 0x40b7b8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x24]
inc dword [eax]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jb 0x40b71f
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
shl dword [eax], 8
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax]
lea eax, [ebp - 0x14]
or dword [eax], edx
lea eax, [ebp - 0x24]
inc dword [eax]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jb 0x40b743
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
shl dword [eax], 8
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax]
lea eax, [ebp - 0x14]
or dword [eax], edx
lea eax, [ebp - 0x24]
inc dword [eax]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jb 0x40b767
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
shl dword [eax], 8
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax]
lea eax, [ebp - 0x14]
or dword [eax], edx
lea eax, [ebp - 0x24]
inc dword [eax]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jb 0x40b78b
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
lea ebx, [eax*4]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
lea ecx, [eax*4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
xor eax, dword [edx + ecx]
mov dword [esi + ebx], eax
lea eax, [ebp - 0xc]
inc dword [eax]
jmp 0x40b6f8
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x11
jle 0x40b7d5
jmp 0x40b813
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call fcn.0040c12c
mov eax, dword [ebp - 0xc]
lea ecx, [eax*4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0xc]
shl eax, 2
add eax, dword [ebp - 0x10]
lea edx, [eax + 4]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x40b7cd
mov eax, dword [ebp + 8]
add eax, 0x48
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x3ff
jle 0x40b82e
jmp 0x40b86c
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call fcn.0040c12c
mov eax, dword [ebp - 0xc]
lea ecx, [eax*4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0xc]
shl eax, 2
add eax, dword [ebp - 0x10]
lea edx, [eax + 4]
mov eax, dword [ebp - 0x1c]
mov dword [edx], eax
lea eax, [ebp - 0xc]
add dword [eax], 2
jmp 0x40b823
add esp, 0x30
pop ebx
pop esi
pop ebp
ret