Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   8b 35 ec 30 40 00 ?? mov esi, dword ds:[0x004030ec<"B@@">]
   57 ?? push edi
   6a 54 ?? push 0x54<84>
   ff d6 ?? call esi
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   85 ff ?? test edi, edi
   74 1d ?? je basic block L4
  
  L3: c7 47 0c 6c 32 40 00 ?? mov dword ds:[edi + 12], 0x0040326c
   c7 07 78 32 40 00 ?? mov dword ds:[edi], 0x00403278
   c7 47 0c a4 32 40 00 ?? mov dword ds:[edi + 12], 0x004032a4
   c7 47 50 2a 00 00 00 ?? mov dword ds:[edi + 0x50<80>], 0x0000002a<42>
   eb 02 ?? jmp basic block L5
  
  L4: 33 ff ?? xor edi, edi
  
  L5: 6a 54 ?? push 0x54<84>
   ff d6 ?? call esi
  
  L6: 8b d8 ?? mov ebx, eax
   83 c4 04 ?? add esp, 4
   85 db ?? test ebx, ebx
   74 1d ?? je basic block L8
  
  L7: c7 43 0c 6c 32 40 00 ?? mov dword ds:[ebx + 12], 0x0040326c
   c7 03 78 32 40 00 ?? mov dword ds:[ebx], 0x00403278
   c7 43 0c a4 32 40 00 ?? mov dword ds:[ebx + 12], 0x004032a4
   c7 43 50 2a 00 00 00 ?? mov dword ds:[ebx + 0x50<80>], 0x0000002a<42>
   eb 02 ?? jmp basic block L9
  
  L8: 33 db ?? xor ebx, ebx
  
  L9: 6a 0c ?? push 12
   ff d6 ?? call esi
  
  L10: 83 c4 04 ?? add esp, 4
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   85 c0 ?? test eax, eax
   74 08 ?? je basic block L12
  
  L11: c7 00 9c 32 40 00 ?? mov dword ds:[eax], 0x0040329c
   eb 07 ?? jmp basic block L13
  
  L12: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
  
  L13: ff 35 40 30 40 00 ?? push dword ds:[0x00403040<"*?@">]
   8b 0d 6c 30 40 00 ?? mov ecx, dword ds:[0x0040306c]
   ba f0 31 40 00 ?? mov edx, 0x004031f0<"Cls1::func2()">
   e8 e8 08 00 00 ?? call function 0x00401f60
  
  L14: 8b c8 ?? mov ecx, eax
   ff 15 34 30 40 00 ?? call dword ds:[function 0x00403034<"2>@">]
  
  L15: 8b 07 ?? mov eax, dword ds:[edi]
   8b cf ?? mov ecx, edi
   ff 10 ?? call dword ds:[eax]
  
  L16: 8b 47 0c ?? mov eax, dword ds:[edi + 12]
   8d 4f 0c ?? lea ecx, ds:[edi + 12]
   ff 10 ?? call dword ds:[eax]
  
  L17: 8b 47 0c ?? mov eax, dword ds:[edi + 12]
   8d 4f 0c ?? lea ecx, ds:[edi + 12]
   ff 50 04 ?? call dword ds:[eax + 4]
  
  L18: 8b 03 ?? mov eax, dword ds:[ebx]
   8b cb ?? mov ecx, ebx
   ff 10 ?? call dword ds:[eax]
  
  L19: 8b 35 f0 30 40 00 ?? mov esi, dword ds:[0x004030f0<"2@@">]
   57 ?? push edi
   ff d6 ?? call esi
  
  L20: 53 ?? push ebx
   ff d6 ?? call esi
  
  L21: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   ff d6 ?? call esi
  
  L22: 83 c4 0c ?? add esp, 12
   33 c0 ?? xor eax, eax
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  