Function at 0x45580
Capabilities:
Encrypt data using blowfish

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x457a7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
mov dword [eax], 0x20001100
lea eax, [ebp - 0x10]
mov edx, ebx
call fcn.00013db0
mov esi, 0x16ae4c
mov edi, 0x253dc8
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
mov esi, 0x16b24c
mov edi, 0x2541c8
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
mov esi, 0x16b64c
mov edi, 0x2545c8
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
mov esi, 0x16ba4c
mov edi, 0x2549c8
mov ecx, pe_nt_image_headers32
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x10]
call fcn.00013fa8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x45617
mov eax, dword [ebp - 0xc]
mov dword [eax], 0x20001101
jmp 0x45791
xor ebx, ebx
lea eax, [ebp - 0x10]
call fcn.00014178
mov ecx, eax
mov dword [ebp - 0x14], 0x12
mov dword [ebp - 0x1c], 0x16be4c
mov dword [ebp - 0x20], 0x254dc8
xor esi, esi
mov edi, 4
shl esi, 8
xor eax, eax
mov al, byte [ecx]
or esi, eax
lea eax, [ebx + 1]
cdq
idiv dword [ebp - 0x18]
mov ebx, edx
test ebx, ebx
jne 0x45661
lea eax, [ebp - 0x10]
call fcn.00014178
mov ecx, eax
jmp 0x45662
inc ecx
dec edi
jne 0x4563f
mov eax, dword [ebp - 0x1c]
xor esi, dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
add dword [ebp - 0x20], 4
add dword [ebp - 0x1c], 4
dec dword [ebp - 0x14]
jne 0x45638
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x14], eax
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00044eb8
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov dword [eax*4 + 0x254dc8], edx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov dword [edx*4 + 0x254dc8], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x11
jle 0x4568f
xor ebx, ebx
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00044eb8
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
mov dword [ebx*4 + 0x253dc8], eax
inc ebx
mov eax, dword [ebp - 4]
mov dword [ebx*4 + 0x253dc8], eax
inc ebx
cmp ebx, 0xff
jle 0x456c8
xor ebx, ebx
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00044eb8
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
mov dword [ebx*4 + 0x2541c8], eax
inc ebx
mov eax, dword [ebp - 4]
mov dword [ebx*4 + 0x2541c8], eax
inc ebx
cmp ebx, 0xff
jle 0x456f9
xor ebx, ebx
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00044eb8
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
mov dword [ebx*4 + 0x2545c8], eax
inc ebx
mov eax, dword [ebp - 4]
mov dword [ebx*4 + 0x2545c8], eax
inc ebx
cmp ebx, 0xff
jle 0x4572a
xor ebx, ebx
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.00044eb8
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 8]
mov dword [ebx*4 + 0x2549c8], eax
inc ebx
mov eax, dword [ebp - 4]
mov dword [ebx*4 + 0x2549c8], eax
inc ebx
cmp ebx, 0xff
jle 0x4575b
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x457ae
lea eax, [ebp - 0x10]
call fcn.00013d18
ret