Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   6a 54 ?? push 0x54<84>
   e8 21 f8 ff ff ?? call function 0x0040119f
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   85 ff ?? test edi, edi
   74 1d ?? je basic block L4
  
  L3: c7 47 0c 60 6b 40 00 ?? mov dword ds:[edi + 12], 0x00406b60
   c7 07 90 6b 40 00 ?? mov dword ds:[edi], 0x00406b90
   c7 47 0c 9c 6b 40 00 ?? mov dword ds:[edi + 12], 0x00406b9c
   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>
   e8 ef f7 ff ff ?? call function 0x0040119f
  
  L6: 8b d8 ?? mov ebx, eax
   83 c4 04 ?? add esp, 4
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   85 db ?? test ebx, ebx
   74 1d ?? je basic block L8
  
  L7: c7 43 0c 60 6b 40 00 ?? mov dword ds:[ebx + 12], 0x00406b60
   c7 03 90 6b 40 00 ?? mov dword ds:[ebx], 0x00406b90
   c7 43 0c 9c 6b 40 00 ?? mov dword ds:[ebx + 12], 0x00406b9c
   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
   e8 bd f7 ff ff ?? call function 0x0040119f
  
  L10: 83 c4 04 ?? add esp, 4
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   85 c0 ?? test eax, eax
   74 16 ?? je basic block L12
  
  L11: 0f 57 c0 ?? xorps xmm0, xmm0
   66 0f d6 00 ?? movq qword ds:[eax], xmm0
   c7 40 08 00 00 00 00 ?? mov dword ds:[eax + 8], 0
   c7 00 34 6b 40 00 ?? mov dword ds:[eax], 0x00406b34
   eb 07 ?? jmp basic block L13
  
  L12: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
  
  L13: 68 46 10 40 00 ?? push 0x00401046
   68 4c 6b 40 00 ?? push 0x00406b4c<"Cls1::func2()">
   ff 35 68 90 40 00 ?? push dword ds:[0x00409068]
   e8 ea f7 ff ff ?? call function 0x00401208
  
  L14: 83 c4 08 ?? add esp, 8
   8b c8 ?? mov ecx, eax
   ff 15 74 90 40 00 ?? call dword ds:[function 0x00409074]
  
  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: 6a 54 ?? push 0x54<84>
   57 ?? push edi
   e8 e4 f5 ff ff ?? call function 0x00401032
  
  L20: 6a 0c ?? push 12
   53 ?? push ebx
   e8 dc f5 ff ff ?? call function 0x00401032
  
  L21: 6a 0c ?? push 12
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   e8 d2 f5 ff ff ?? call function 0x00401032
  
  L22: 83 c4 18 ?? add esp, 0x18<24>
   33 c0 ?? xor eax, eax
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  