Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   f6 45 08 02 ?? test byte ss:[ebp + 8], 2
   57 ?? push edi
   8b f9 ?? mov edi, ecx
   74 25 ?? je basic block L7
  
  L2: 56 ?? push esi
   68 d8 1a 40 00 ?? push function 0x00401ad8
   8d 77 fc ?? lea esi, ds:[edi + 0xfc<252,-4>]
   ff 36 ?? push dword ds:[esi]
   6a 0c ?? push 12
   57 ?? push edi
   e8 92 04 00 00 ?? call function 0x00401610
  
  L3: f6 45 08 01 ?? test byte ss:[ebp + 8], 1
   74 07 ?? je basic block L6
  
  L4: 56 ?? push esi
   e8 10 04 00 00 ?? call function 0x0040159a
  
  L5: 59 ?? pop ecx
  
  L6: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   eb 14 ?? jmp basic block L12
  
  L7: e8 43 09 00 00 ?? call function 0x00401ad8
  
  L8: f6 45 08 01 ?? test byte ss:[ebp + 8], 1
   74 07 ?? je basic block L11
  
  L9: 57 ?? push edi
   e8 f9 03 00 00 ?? call function 0x0040159a
  
  L10: 59 ?? pop ecx
  
  L11: 8b c7 ?? mov eax, edi
  
  L12: 5f ?? pop edi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  