Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 4c ?? sub esp, 0x4c<76>
   56 ?? push esi
   57 ?? push edi
   8d 7d b4 ?? lea edi, ss:[ebp + 0xb4<180,-76>]
   b9 13 00 00 00 ?? mov ecx, 0x00000013<19>
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   f3 ab ?? rep_stosd
   8b f4 ?? mov esi, esp
   6a 58 ?? push 0x58<88>
   ff 15 20 41 40 00 ?? call dword ds:[0x00404120<"lW@">]
  
  L2: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 f5 01 00 00 ?? call function 0x00402db0
  
  L3: 89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
   83 7d e8 00 ?? cmp dword ss:[ebp + 0xe8<232,-24>], 0
   74 0d ?? je basic block L6
  
  L4: 8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
   e8 f4 e8 ff ff ?? call function 0x004014c0
  
  L5: 89 45 c0 ?? mov dword ss:[ebp + 0xc0<192,-64>], eax
   eb 07 ?? jmp basic block L7
  
  L6: c7 45 c0 00 00 00 00 ?? mov dword ss:[ebp + 0xc0<192,-64>], 0
  
  L7: 8b 45 c0 ?? mov eax, dword ss:[ebp + 0xc0<192,-64>]
   89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
   8b f4 ?? mov esi, esp
   6a 58 ?? push 0x58<88>
   ff 15 20 41 40 00 ?? call dword ds:[0x00404120<"lW@">]
  
  L8: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 b8 01 00 00 ?? call function 0x00402db0
  
  L9: 89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   83 7d e0 00 ?? cmp dword ss:[ebp + 0xe0<224,-32>], 0
   74 0d ?? je basic block L12
  
  L10: 8b 4d e0 ?? mov ecx, dword ss:[ebp + 0xe0<224,-32>]
   e8 b7 e8 ff ff ?? call function 0x004014c0
  
  L11: 89 45 bc ?? mov dword ss:[ebp + 0xbc<188,-68>], eax
   eb 07 ?? jmp basic block L13
  
  L12: c7 45 bc 00 00 00 00 ?? mov dword ss:[ebp + 0xbc<188,-68>], 0
  
  L13: 8b 55 bc ?? mov edx, dword ss:[ebp + 0xbc<188,-68>]
   89 55 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], edx
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   8b f4 ?? mov esi, esp
   6a 0c ?? push 12
   ff 15 20 41 40 00 ?? call dword ds:[0x00404120<"lW@">]
  
  L14: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 7b 01 00 00 ?? call function 0x00402db0
  
  L15: 89 45 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], eax
   83 7d dc 00 ?? cmp dword ss:[ebp + 0xdc<220,-36>], 0
   74 0d ?? je basic block L18
  
  L16: 8b 4d dc ?? mov ecx, dword ss:[ebp + 0xdc<220,-36>]
   e8 8a e9 ff ff ?? call function 0x004015d0
  
  L17: 89 45 b8 ?? mov dword ss:[ebp + 0xb8<184,-72>], eax
   eb 07 ?? jmp basic block L19
  
  L18: c7 45 b8 00 00 00 00 ?? mov dword ss:[ebp + 0xb8<184,-72>], 0
  
  L19: 8b 4d b8 ?? mov ecx, dword ss:[ebp + 0xb8<184,-72>]
   89 4d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ecx
   8b f4 ?? mov esi, esp
   6a 58 ?? push 0x58<88>
   ff 15 20 41 40 00 ?? call dword ds:[0x00404120<"lW@">]
  
  L20: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 44 01 00 00 ?? call function 0x00402db0
  
  L21: 89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   83 7d d4 00 ?? cmp dword ss:[ebp + 0xd4<212,-44>], 0
   74 0d ?? je basic block L24
  
  L22: 8b 4d d4 ?? mov ecx, dword ss:[ebp + 0xd4<212,-44>]
   e8 b3 e9 ff ff ?? call function 0x00401630
  
  L23: 89 45 b4 ?? mov dword ss:[ebp + 0xb4<180,-76>], eax
   eb 07 ?? jmp basic block L25
  
  L24: c7 45 b4 00 00 00 00 ?? mov dword ss:[ebp + 0xb4<180,-76>], 0
  
  L25: 8b 55 b4 ?? mov edx, dword ss:[ebp + 0xb4<180,-76>]
   89 55 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], edx
   8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   e8 13 e4 ff ff ?? call function 0x004010b0
  
  L26: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   83 c1 0c ?? add ecx, 12
   8b 55 f0 ?? mov edx, dword ss:[ebp + 0xf0<240,-16>]
   8b 42 0c ?? mov eax, dword ds:[edx + 12]
   8b f4 ?? mov esi, esp
   8b 50 04 ?? mov edx, dword ds:[eax + 4]
   ff d2 ?? call edx
  
  L27: 3b f4 ?? cmp esi, esp
   e8 f9 00 00 00 ?? call function 0x00402db0
  
  L28: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   83 c1 50 ?? add ecx, 0x50<80>
   8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   8b 50 50 ?? mov edx, dword ds:[eax + 0x50<80>]
   8b f4 ?? mov esi, esp
   8b 42 24 ?? mov eax, dword ds:[edx + 0x24<36>]
   ff d0 ?? call eax
  
  L29: 3b f4 ?? cmp esi, esp
   e8 df 00 00 00 ?? call function 0x00402db0
  
  L30: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b f4 ?? mov esi, esp
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8b 02 ?? mov eax, dword ds:[edx]
   ff d0 ?? call eax
  
  L31: 3b f4 ?? cmp esi, esp
   e8 ca 00 00 00 ?? call function 0x00402db0
  
  L32: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   83 c1 0c ?? add ecx, 12
   8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   8b 42 0c ?? mov eax, dword ds:[edx + 12]
   8b f4 ?? mov esi, esp
   8b 10 ?? mov edx, dword ds:[eax]
   ff d2 ?? call edx
  
  L33: 3b f4 ?? cmp esi, esp
   e8 b1 00 00 00 ?? call function 0x00402db0
  
  L34: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   83 c1 0c ?? add ecx, 12
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   8b 50 0c ?? mov edx, dword ds:[eax + 12]
   8b f4 ?? mov esi, esp
   8b 42 04 ?? mov eax, dword ds:[edx + 4]
   ff d0 ?? call eax
  
  L35: 3b f4 ?? cmp esi, esp
   e8 97 00 00 00 ?? call function 0x00402db0
  
  L36: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b f4 ?? mov esi, esp
   8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   8b 02 ?? mov eax, dword ds:[edx]
   ff d0 ?? call eax
  
  L37: 3b f4 ?? cmp esi, esp
   e8 82 00 00 00 ?? call function 0x00402db0
  
  L38: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   89 4d d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], ecx
   8b f4 ?? mov esi, esp
   8b 55 d0 ?? mov edx, dword ss:[ebp + 0xd0<208,-48>]
   52 ?? push edx
   ff 15 24 41 40 00 ?? call dword ds:[0x00404124<"\\W@">]
  
  L39: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 66 00 00 00 ?? call function 0x00402db0
  
  L40: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
   8b f4 ?? mov esi, esp
   8b 4d cc ?? mov ecx, dword ss:[ebp + 0xcc<204,-52>]
   51 ?? push ecx
   ff 15 24 41 40 00 ?? call dword ds:[0x00404124<"\\W@">]
  
  L41: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 4a 00 00 00 ?? call function 0x00402db0
  
  L42: 8b 55 f0 ?? mov edx, dword ss:[ebp + 0xf0<240,-16>]
   89 55 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], edx
   8b f4 ?? mov esi, esp
   8b 45 c8 ?? mov eax, dword ss:[ebp + 0xc8<200,-56>]
   50 ?? push eax
   ff 15 24 41 40 00 ?? call dword ds:[0x00404124<"\\W@">]
  
  L43: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 2e 00 00 00 ?? call function 0x00402db0
  
  L44: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   89 4d c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], ecx
   8b f4 ?? mov esi, esp
   8b 55 c4 ?? mov edx, dword ss:[ebp + 0xc4<196,-60>]
   52 ?? push edx
   ff 15 24 41 40 00 ?? call dword ds:[0x00404124<"\\W@">]
  
  L45: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 12 00 00 00 ?? call function 0x00402db0
  
  L46: 33 c0 ?? xor eax, eax
   5f ?? pop edi
   5e ?? pop esi
   83 c4 4c ?? add esp, 0x4c<76>
   3b ec ?? cmp ebp, esp
   e8 04 00 00 00 ?? call function 0x00402db0
  
  L47: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  