Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   6a 04 ?? push 4
   e8 65 01 00 00 ?? call function 0x004017d2
  
  L2: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 0b ?? je basic block L4
  
  L3: c7 00 40 58 40 00 ?? mov dword ds:[eax], 0x00405840
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   eb 07 ?? jmp basic block L5
  
  L4: c7 45 f4 00 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 0
  
  L5: 6a 04 ?? push 4
   e8 45 01 00 00 ?? call function 0x004017d2
  
  L6: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 0b ?? je basic block L8
  
  L7: c7 00 4c 58 40 00 ?? mov dword ds:[eax], 0x0040584c
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   eb 07 ?? jmp basic block L9
  
  L8: c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
  
  L9: 6a 04 ?? push 4
   e8 25 01 00 00 ?? call function 0x004017d2
  
  L10: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 0b ?? je basic block L12
  
  L11: c7 00 58 58 40 00 ?? mov dword ds:[eax], 0x00405858
   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: 56 ?? push esi
   33 f6 ?? xor esi, esi
   8d a4 24 00 00 00 00 ?? lea esp, ss:[esp + 0]
  
  L14: 8b 4c b5 f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12> + esi * 4]
   8b 01 ?? mov eax, dword ds:[ecx]
   8b 10 ?? mov edx, dword ds:[eax]
   ff d2 ?? call edx
  
  L15: 46 ?? inc esi
   83 fe 03 ?? cmp esi, 3
   7c f0 ?? jl basic block L14
  
  L16: 33 f6 ?? xor esi, esi
  
  L17: 8b 44 b5 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12> + esi * 4]
   50 ?? push eax
   e8 e0 00 00 00 ?? call function 0x004017cc
  
  L18: 46 ?? inc esi
   83 c4 04 ?? add esp, 4
   83 fe 03 ?? cmp esi, 3
   7c ed ?? jl basic block L17
  
  L19: 33 c0 ?? xor eax, eax
   5e ?? pop esi
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  