Disassembly: 
  L1: 6a 0c ?? push 12
   68 48 24 40 00 ?? push 0x00402448
   e8 c4 09 00 00 ?? call function 0x00401cd0
  
  L2: 33 db ?? xor ebx, ebx
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   64 a1 18 00 00 00 ?? mov eax, dword fs:[0x00000018<24>]
   8b 50 04 ?? mov edx, dword ds:[eax + 4]
   8b fb ?? mov edi, ebx
   be 18 34 40 00 ?? mov esi, 0x00403418
  
  L3: 8b ca ?? mov ecx, edx
   33 c0 ?? xor eax, eax
   f0 0f b1 0e ?? lock cmpxchg dword ds:[esi], ecx
   85 c0 ?? test eax, eax
   74 0b ?? je basic block L6
  
  L4: 3b c2 ?? cmp eax, edx
   75 f0 ?? jne basic block L3
  
  L5: 33 f6 ?? xor esi, esi
   46 ?? inc esi
   8b fe ?? mov edi, esi
   eb 03 ?? jmp basic block L7
  
  L6: 33 f6 ?? xor esi, esi
   46 ?? inc esi
  
  L7: 39 35 1c 34 40 00 ?? cmp dword ds:[0x0040341c], esi
   75 0a ?? jne basic block L10
  
  L8: 6a 1f ?? push 0x1f<31>
   e8 d8 05 00 00 ?? call function 0x00401922
  
  L9: 59 ?? pop ecx
   eb 3a ?? jmp basic block L15
  
  L10: 39 1d 1c 34 40 00 ?? cmp dword ds:[0x0040341c], ebx
   75 2c ?? jne basic block L14
  
  L11: 89 35 1c 34 40 00 ?? mov dword ds:[0x0040341c], esi
   68 b8 20 40 00 ?? push 0x004020b8
   68 a8 20 40 00 ?? push 0x004020a8
   e8 52 09 00 00 ?? call function 0x00401cbc
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 17 ?? je basic block L15
  
  L13: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   b8 ff 00 00 00 ?? mov eax, 0x000000ff<255>
   e9 de 00 00 00 ?? jmp basic block L35
  
  L14: 89 35 cc 30 40 00 ?? mov dword ds:[0x004030cc], esi
  
  L15: 39 35 1c 34 40 00 ?? cmp dword ds:[0x0040341c], esi
   75 1b ?? jne basic block L18
  
  L16: 68 a4 20 40 00 ?? push 0x004020a4
   68 9c 20 40 00 ?? push 0x0040209c
   e8 24 09 00 00 ?? call function 0x00401cc2
  
  L17: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 1c 34 40 00 02 00 ?? mov dword ds:[0x0040341c], 2
   00 00
  
  L18: 85 ff ?? test edi, edi
   75 09 ?? jne basic block L20
  
  L19: 33 c0 ?? xor eax, eax
   b9 18 34 40 00 ?? mov ecx, 0x00403418
   87 01 ?? xchg dword ds:[ecx], eax
  
  L20: 83 3d 28 34 40 00 00 ?? cmp dword ds:[0x00403428], 0
   74 19 ?? je basic block L24
  
  L21: 68 28 34 40 00 ?? push 0x00403428
   e8 c6 05 00 00 ?? call function 0x00401990
  
  L22: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 0a ?? je basic block L24
  
  L23: 53 ?? push ebx
   6a 02 ?? push 2
   53 ?? push ebx
   ff 15 28 34 40 00 ?? call dword ds:[0x00403428]
  
  L24: 8b 0d d8 30 40 00 ?? mov ecx, dword ds:[0x004030d8]
   a1 34 20 40 00 ?? mov eax, dword ds:[0x00402034]
   89 08 ?? mov dword ds:[eax], ecx
   ff 35 d8 30 40 00 ?? push dword ds:[0x004030d8]
   ff 35 d4 30 40 00 ?? push dword ds:[0x004030d4]
   ff 35 d0 30 40 00 ?? push dword ds:[0x004030d0]
   e8 83 fd ff ff ?? call function 0x00401180
  
  L25: 83 c4 0c ?? add esp, 12
   a3 c8 30 40 00 ?? mov dword ds:[0x004030c8], eax
   83 3d e0 30 40 00 00 ?? cmp dword ds:[0x004030e0], 0
   75 36 ?? jne basic block L31
  
  L26: 50 ?? push eax
   ff 15 78 20 40 00 ?? call dword ds:[0x00402078<"\"&@">]
  
  L27: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 01 ?? mov eax, dword ds:[ecx]
   8b 00 ?? mov eax, dword ds:[eax]
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   51 ?? push ecx
   50 ?? push eax
   e8 f6 04 00 00 ?? call function 0x0040191c
  
  L28: 59 ?? pop ecx
   59 ?? pop ecx
   c3 ?? ret
  
  L29: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   a3 c8 30 40 00 ?? mov dword ds:[0x004030c8], eax
   83 3d e0 30 40 00 00 ?? cmp dword ds:[0x004030e0], 0
   75 07 ?? jne basic block L31
  
  L30: 50 ?? push eax
   ff 15 74 20 40 00 ?? call dword ds:[0x00402074<"*&@">]
  
  L31: 83 3d cc 30 40 00 00 ?? cmp dword ds:[0x004030cc], 0
   75 0b ?? jne basic block L34
  
  L32: ff 15 4c 20 40 00 ?? call dword ds:[0x0040204c<"2&@">]
  
  L33: a1 c8 30 40 00 ?? mov eax, dword ds:[0x004030c8]
  
  L34: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
  
  L35: e8 b1 08 00 00 ?? call function 0x00401d15
  
  L36: c3 ?? ret
  
  