Function at 0x4013a0
Capabilities:
Encrypt data using blowfish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push esi
push edi
push ecx
lea edi, [ebp - 0x54]
mov ecx, 0x15
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
mov ecx, 0x12
mov esi, 0x4121a0
mov edi, dword [ebp - 8]
rep movsd dword es:[edi], dword [esi]
push 0x1000
push 0x4121e8
mov eax, dword [ebp - 8]
add eax, 0x48
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00401360
add esp, 8
mov ecx, eax
mov eax, dword [ebp + 0xc]
cdq
idiv ecx
mov dword [ebp - 0xc], eax
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00408ebe
add esp, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
jmp 0x40143e
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xc]
jge 0x4014ac
mov eax, dword [ebp - 0x14]
shl eax, 2
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + edx]
mov byte [ebp - 0x19], cl
mov edx, dword [ebp - 0x14]
lea eax, [edx*4 + 1]
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + edx]
mov byte [ebp - 0x1a], cl
mov edx, dword [ebp - 0x14]
lea eax, [edx*4 + 2]
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + edx]
mov byte [ebp - 0x1b], cl
mov edx, dword [ebp - 0x14]
lea eax, [edx*4 + 3]
cdq
idiv dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov cl, byte [eax + edx]
mov byte [ebp - 0x1c], cl
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + edx*4], ecx
jmp 0x401435
mov dword [ebp - 0x24], 0
jmp 0x4014be
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0x12
jge 0x4014eb
mov eax, dword [ebp - 0x24]
cdq
idiv dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + edx*4]
xor ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov dword [eax + edx*4], ecx
jmp 0x4014b5
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
push edx
call fcn.00408ec7
add esp, 4
cmp dword [ebp - 0x50], 0
jne 0x40150c
mov dword [ebp - 0x54], 0
jmp 0x401519
mov dword [ebp - 0x10], 0x8123
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
jmp 0x401539
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 9
jge 0x40156e
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 8]
call fcn.004011a0
mov ecx, dword [ebp - 0x44]
shl ecx, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x44]
shl ecx, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov dword [edx + ecx*4 + 4], eax
jmp 0x401530
mov dword [ebp - 0x48], 0
jmp 0x401580
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 0x200
jge 0x4015b9
lea edx, [ebp - 0x3c]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 8]
call fcn.004011a0
mov ecx, dword [ebp - 0x48]
shl ecx, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov dword [edx + ecx*4 + 0x48], eax
mov ecx, dword [ebp - 0x48]
shl ecx, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov dword [edx + ecx*4 + 0x4c], eax
jmp 0x401577
push edx
mov ecx, ebp
push eax
lea edx, [0x4015e8]
call fcn.00408ecc
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408f43
add esp, 0x54
cmp ebp, esp
call fcn.00408f20
mov esp, ebp
pop ebp
ret 8