Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 38 ?? sub esp, 0x38<56>
   56 ?? push esi
   57 ?? push edi
   8d 7d c8 ?? lea edi, ss:[ebp + 0xc8<200,-56>]
   b9 0e 00 00 00 ?? mov ecx, 14
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   f3 ab ?? rep_stosd
   8b f4 ?? mov esi, esp
   6a 04 ?? push 4
   ff 15 50 61 40 00 ?? call dword ds:[0x00406150<"|~@">]
  
  L2: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 e5 02 00 00 ?? call function 0x004047b0
  
  L3: 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 L6
  
  L4: 8b 4d e0 ?? mov ecx, dword ss:[ebp + 0xe0<224,-32>]
   e8 14 d5 ff ff ?? call function 0x004019f0
  
  L5: 89 45 d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], eax
   eb 07 ?? jmp basic block L7
  
  L6: c7 45 d0 00 00 00 00 ?? mov dword ss:[ebp + 0xd0<208,-48>], 0
  
  L7: b8 04 00 00 00 ?? mov eax, 4
   6b c0 00 ?? imul eax, eax, 0
   8b 4d d0 ?? mov ecx, dword ss:[ebp + 0xd0<208,-48>]
   89 4c 05 f0 ?? mov dword ss:[ebp + eax + 0xf0<240,-16>], ecx
   8b f4 ?? mov esi, esp
   6a 04 ?? push 4
   ff 15 50 61 40 00 ?? call dword ds:[0x00406150<"|~@">]
  
  L8: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 a5 02 00 00 ?? call function 0x004047b0
  
  L9: 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 L12
  
  L10: 8b 4d dc ?? mov ecx, dword ss:[ebp + 0xdc<220,-36>]
   e8 04 d5 ff ff ?? call function 0x00401a20
  
  L11: 89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
   eb 07 ?? jmp basic block L13
  
  L12: c7 45 cc 00 00 00 00 ?? mov dword ss:[ebp + 0xcc<204,-52>], 0
  
  L13: ba 04 00 00 00 ?? mov edx, 4
   c1 e2 00 ?? shl edx, 0
   8b 45 cc ?? mov eax, dword ss:[ebp + 0xcc<204,-52>]
   89 44 15 f0 ?? mov dword ss:[ebp + edx + 0xf0<240,-16>], eax
   8b f4 ?? mov esi, esp
   6a 04 ?? push 4
   ff 15 50 61 40 00 ?? call dword ds:[0x00406150<"|~@">]
  
  L14: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 65 02 00 00 ?? call function 0x004047b0
  
  L15: 89 45 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], eax
   83 7d d8 00 ?? cmp dword ss:[ebp + 0xd8<216,-40>], 0
   74 0d ?? je basic block L18
  
  L16: 8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
   e8 f4 d4 ff ff ?? call function 0x00401a50
  
  L17: 89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
   eb 07 ?? jmp basic block L19
  
  L18: c7 45 c8 00 00 00 00 ?? mov dword ss:[ebp + 0xc8<200,-56>], 0
  
  L19: b9 04 00 00 00 ?? mov ecx, 4
   d1 e1 ?? shl ecx, 1
   8b 55 c8 ?? mov edx, dword ss:[ebp + 0xc8<200,-56>]
   89 54 0d f0 ?? mov dword ss:[ebp + ecx + 0xf0<240,-16>], edx
   c7 45 e8 00 00 00 00 ?? mov dword ss:[ebp + 0xe8<232,-24>], 0
   eb 09 ?? jmp basic block L20
  
  L20: 83 7d e8 03 ?? cmp dword ss:[ebp + 0xe8<232,-24>], 3
   7d 1f ?? jge basic block L24
  
  L21: 8b 4d e8 ?? mov ecx, dword ss:[ebp + 0xe8<232,-24>]
   8b 54 8d f0 ?? mov edx, dword ss:[ebp + 0xf0<240,-16> + ecx * 4]
   8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   8b 12 ?? mov edx, dword ds:[edx]
   8b f4 ?? mov esi, esp
   8b 4c 85 f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16> + eax * 4]
   8b 02 ?? mov eax, dword ds:[edx]
   ff d0 ?? call eax
  
  L22: 3b f4 ?? cmp esi, esp
   e8 05 02 00 00 ?? call function 0x004047b0
  
  L23: eb d2 ?? jmp 0x0040457f
   8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   83 c0 01 ?? add eax, 1
   89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
  
  L24: c7 45 e4 00 00 00 00 ?? mov dword ss:[ebp + 0xe4<228,-28>], 0
   eb 09 ?? jmp basic block L25
  
  L25: 83 7d e4 03 ?? cmp dword ss:[ebp + 0xe4<228,-28>], 3
   7d 22 ?? jge basic block L29
  
  L26: 8b 55 e4 ?? mov edx, dword ss:[ebp + 0xe4<228,-28>]
   8b 44 95 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16> + edx * 4]
   89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   8b f4 ?? mov esi, esp
   8b 4d d4 ?? mov ecx, dword ss:[ebp + 0xd4<212,-44>]
   51 ?? push ecx
   ff 15 54 61 40 00 ?? call dword ds:[0x00406154<"l~@">]
  
  L27: 83 c4 04 ?? add esp, 4
   3b f4 ?? cmp esi, esp
   e8 cb 01 00 00 ?? call function 0x004047b0
  
  L28: eb cf ?? jmp 0x004045b6
   8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
   83 c1 01 ?? add ecx, 1
   89 4d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ecx
  
  L29: 33 c0 ?? xor eax, eax
   52 ?? push edx
   8b cd ?? mov ecx, ebp
   50 ?? push eax
   8d 15 0c 46 40 00 ?? lea edx, ds:[0x0040460c]
   e8 58 01 00 00 ?? call function 0x00404750
  
  L30: 58 ?? pop eax
   5a ?? pop edx
   5f ?? pop edi
   5e ?? pop esi
   83 c4 38 ?? add esp, 0x38<56>
   3b ec ?? cmp ebp, esp
   e8 aa 01 00 00 ?? call function 0x004047b0
  
  L31: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  