Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a fe ?? push 0xfe<254,-2>
   68 98 73 40 00 ?? push 0x00407398
   68 50 3d 40 00 ?? push function 0x00403d50
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 c4 e4 ?? add esp, 0xe4<228,-28>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   a1 18 90 40 00 ?? mov eax, dword ds:[0x00409018]
   31 45 f8 ?? xor dword ss:[ebp + 0xf8<248,-8>], eax
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   89 65 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], esp
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   c7 45 e4 00 00 00 00 ?? mov dword ss:[ebp + 0xe4<228,-28>], 0
   e8 aa ff ff ff ?? call function 0x004036c0
  
  L2: 8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   c7 45 dc 00 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 0
  
  L3: 8b 4d e0 ?? mov ecx, dword ss:[ebp + 0xe0<224,-32>]
   ba 64 94 40 00 ?? mov edx, 0x00409464
   33 c0 ?? xor eax, eax
   f0 0f b1 0a ?? lock cmpxchg dword ds:[edx], ecx
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   83 7d e4 00 ?? cmp dword ss:[ebp + 0xe4<228,-28>], 0
   74 13 ?? je basic block L7
  
  L4: 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   3b 45 e0 ?? cmp eax, dword ss:[ebp + 0xe0<224,-32>]
   75 09 ?? jne basic block L6
  
  L5: c7 45 dc 01 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 1
   eb 02 ?? jmp basic block L7
  
  L6: eb d6 ?? jmp basic block L3
  
  L7: 83 3d 68 94 40 00 01 ?? cmp dword ds:[0x00409468], 1
   75 0c ?? jne basic block L10
  
  L8: 6a 1f ?? push 0x1f<31>
   e8 1d 08 00 00 ?? call function 0x00403f7a
  
  L9: 83 c4 04 ?? add esp, 4
   eb 4b ?? jmp basic block L16
  
  L10: 83 3d 68 94 40 00 00 ?? cmp dword ds:[0x00409468], 0
   75 38 ?? jne basic block L15
  
  L11: c7 05 68 94 40 00 01 00 ?? mov dword ds:[0x00409468], 1
   00 00
   68 b0 61 40 00 ?? push 0x004061b0
   68 a0 61 40 00 ?? push 0x004061a0
   e8 f8 0b 00 00 ?? call function 0x0040437c
  
  L12: 83 c4 08 ?? add esp, 8
   85 c0 ?? test eax, eax
   74 16 ?? je basic block L14
  
  L13: c7 45 d4 ff 00 00 00 ?? mov dword ss:[ebp + 0xd4<212,-44>], 0x000000ff<255>
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 d4 ?? mov eax, dword ss:[ebp + 0xd4<212,-44>]
   e9 54 01 00 00 ?? jmp basic block L44
  
  L14: eb 0a ?? jmp basic block L16
  
  L15: c7 05 ec 90 40 00 01 00 ?? mov dword ds:[0x004090ec], 1
   00 00
  
  L16: 83 3d 68 94 40 00 01 ?? cmp dword ds:[0x00409468], 1
   75 1c ?? jne basic block L19
  
  L17: 68 9c 61 40 00 ?? push 0x0040619c
   68 78 61 40 00 ?? push 0x00406178
   e8 bd 0b 00 00 ?? call function 0x00404382
  
  L18: 83 c4 08 ?? add esp, 8
   c7 05 68 94 40 00 02 00 ?? mov dword ds:[0x00409468], 2
   00 00
  
  L19: 83 3d 68 94 40 00 02 ?? cmp dword ds:[0x00409468], 2
   74 27 ?? je basic block L23
  
  L20: 68 60 63 40 00 ?? push 0x00406360<"__native_startup_state =="+14 more>
   68 b4 62 40 00 ?? push 0x004062b4<"%s">
   6a 00 ?? push 0
   68 cf 01 00 00 ?? push 0x000001cf<463>
   68 b0 63 40 00 ?? push 0x004063b0<"f:\\dd\\vctools\\crt_bld\\sel"+22 more>
   6a 02 ?? push 2
   ff 15 4c 61 40 00 ?? call dword ds:[0x0040614c]
  
  L21: 83 c4 18 ?? add esp, 0x18<24>
   83 f8 01 ?? cmp eax, 1
   75 01 ?? jne basic block L23
  
  L22: cc ?? int3
  
  L23: 83 7d dc 00 ?? cmp dword ss:[ebp + 0xdc<220,-36>], 0
   75 09 ?? jne basic block L25
  
  L24: 33 d2 ?? xor edx, edx
   b8 64 94 40 00 ?? mov eax, 0x00409464
   87 10 ?? xchg dword ds:[eax], edx
  
  L25: 83 3d 6c 94 40 00 00 ?? cmp dword ds:[0x0040946c], 0
   74 1d ?? je basic block L29
  
  L26: 68 6c 94 40 00 ?? push 0x0040946c
   e8 fc 07 00 00 ?? call function 0x00404020
  
  L27: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   74 0c ?? je basic block L29
  
  L28: 6a 00 ?? push 0
   6a 02 ?? push 2
   6a 00 ?? push 0
   ff 15 6c 94 40 00 ?? call dword ds:[0x0040946c]
  
  L29: 6a 01 ?? push 1
   ff 15 14 61 40 00 ?? call dword ds:[0x00406114<"^~@">]
  
  L30: 83 c4 04 ?? add esp, 4
   8b 0d d4 60 40 00 ?? mov ecx, dword ds:[0x004060d4]
   8b 15 f8 90 40 00 ?? mov edx, dword ds:[0x004090f8]
   89 11 ?? mov dword ds:[ecx], edx
   a1 f8 90 40 00 ?? mov eax, dword ds:[0x004090f8]
   50 ?? push eax
   8b 0d f4 90 40 00 ?? mov ecx, dword ds:[0x004090f4]
   51 ?? push ecx
   8b 15 f0 90 40 00 ?? mov edx, dword ds:[0x004090f0]
   52 ?? push edx
   e8 87 0b 00 00 ?? call function 0x004043f0
  
  L31: 83 c4 0c ?? add esp, 12
   a3 e8 90 40 00 ?? mov dword ds:[0x004090e8], eax
   83 3d 00 91 40 00 00 ?? cmp dword ds:[0x00409100], 0
   75 0c ?? jne basic block L33
  
  L32: a1 e8 90 40 00 ?? mov eax, dword ds:[0x004090e8]
   50 ?? push eax
   ff 15 10 61 40 00 ?? call dword ds:[0x00406110<"r~@">]
  
  L33: 83 3d ec 90 40 00 00 ?? cmp dword ds:[0x004090ec], 0
   75 06 ?? jne basic block L35
  
  L34: ff 15 0c 61 40 00 ?? call dword ds:[0x0040610c]
  
  L35: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   eb 52 ?? jmp basic block L43
  
  L36: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b 02 ?? mov eax, dword ds:[edx]
   89 45 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], eax
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   51 ?? push ecx
   8b 55 d8 ?? mov edx, dword ss:[ebp + 0xd8<216,-40>]
   52 ?? push edx
   e8 bf 06 00 00 ?? call function 0x00403f74
  
  L37: 83 c4 08 ?? add esp, 8
   c3 ?? ret
  
  L38: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   a3 e8 90 40 00 ?? mov dword ds:[0x004090e8], eax
   83 3d 00 91 40 00 00 ?? cmp dword ds:[0x00409100], 0
   75 0d ?? jne basic block L40
  
  L39: 8b 0d e8 90 40 00 ?? mov ecx, dword ds:[0x004090e8]
   51 ?? push ecx
   ff 15 70 61 40 00 ?? call dword ds:[0x00406170<"z~@">]
  
  L40: 83 3d ec 90 40 00 00 ?? cmp dword ds:[0x004090ec], 0
   75 06 ?? jne basic block L42
  
  L41: ff 15 0c 61 40 00 ?? call dword ds:[0x0040610c]
  
  L42: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
  
  L43: a1 e8 90 40 00 ?? mov eax, dword ds:[0x004090e8]
  
  L44: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  