Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   8b 35 e8 30 40 00 ?? mov esi, dword ds:[0x004030e8]
   57 ?? push edi
   6a 54 ?? push 0x54<84>
   ff d6 ?? call esi
  
  L2: 83 c4 04 ?? add esp, 4
   bf 2a 00 00 00 ?? mov edi, 0x0000002a<42>
   85 c0 ?? test eax, eax
   74 1b ?? je basic block L4
  
  L3: c7 40 0c c0 32 40 00 ?? mov dword ds:[eax + 12], 0x004032c0
   c7 00 cc 32 40 00 ?? mov dword ds:[eax], 0x004032cc
   c7 40 0c d4 32 40 00 ?? mov dword ds:[eax + 12], 0x004032d4
   89 78 50 ?? mov dword ds:[eax + 0x50<80>], edi
   8b d8 ?? mov ebx, eax
   eb 02 ?? jmp basic block L5
  
  L4: 33 db ?? xor ebx, ebx
  
  L5: 6a 54 ?? push 0x54<84>
   ff d6 ?? call esi
  
  L6: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 1b ?? je basic block L8
  
  L7: c7 40 0c c0 32 40 00 ?? mov dword ds:[eax + 12], 0x004032c0
   89 78 50 ?? mov dword ds:[eax + 0x50<80>], edi
   c7 00 cc 32 40 00 ?? mov dword ds:[eax], 0x004032cc
   c7 40 0c d4 32 40 00 ?? mov dword ds:[eax + 12], 0x004032d4
   8b f8 ?? mov edi, eax
   eb 02 ?? jmp basic block L9
  
  L8: 33 ff ?? xor edi, edi
  
  L9: 6a 0c ?? push 12
   ff d6 ?? call esi
  
  L10: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 0b ?? je basic block L12
  
  L11: c7 00 b8 32 40 00 ?? mov dword ds:[eax], 0x004032b8
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   eb 07 ?? jmp basic block L13
  
  L12: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
  
  L13: a1 58 30 40 00 ?? mov eax, dword ds:[0x00403058]
   8b 0d 7c 30 40 00 ?? mov ecx, dword ds:[0x0040307c]
   50 ?? push eax
   68 64 32 40 00 ?? push 0x00403264<"Cls1::func2()">
   51 ?? push ecx
   e8 aa 01 00 00 ?? call function 0x004013d0
  
  L14: 83 c4 08 ?? add esp, 8
   8b c8 ?? mov ecx, eax
   ff 15 64 30 40 00 ?? call dword ds:[function 0x00403064]
  
  L15: 8b 13 ?? mov edx, dword ds:[ebx]
   8b 02 ?? mov eax, dword ds:[edx]
   8b cb ?? mov ecx, ebx
   ff d0 ?? call eax
  
  L16: 8b 53 0c ?? mov edx, dword ds:[ebx + 12]
   8b 02 ?? mov eax, dword ds:[edx]
   8d 4b 0c ?? lea ecx, ds:[ebx + 12]
   ff d0 ?? call eax
  
  L17: 8b 53 0c ?? mov edx, dword ds:[ebx + 12]
   8b 42 04 ?? mov eax, dword ds:[edx + 4]
   8d 4b 0c ?? lea ecx, ds:[ebx + 12]
   ff d0 ?? call eax
  
  L18: 8b 17 ?? mov edx, dword ds:[edi]
   8b 02 ?? mov eax, dword ds:[edx]
   8b cf ?? mov ecx, edi
   ff d0 ?? call eax
  
  L19: 8b 35 ec 30 40 00 ?? mov esi, dword ds:[0x004030ec]
   53 ?? push ebx
   ff d6 ?? call esi
  
  L20: 57 ?? push edi
   ff d6 ?? call esi
  
  L21: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   51 ?? push ecx
   ff d6 ?? call esi
  
  L22: 83 c4 0c ?? add esp, 12
   5f ?? pop edi
   5e ?? pop esi
   33 c0 ?? xor eax, eax
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  