Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 08 ?? sub esp, 8
   e8 45 11 00 00 ?? call function 0x00402de0
  
  L2: 85 c0 ?? test eax, eax
   75 04 ?? jne basic block L4
  
  L3: 32 c0 ?? xor al, al
   eb 32 ?? jmp basic block L11
  
  L4: e8 d8 ff ff ff ?? call function 0x00401c80
  
  L5: 8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
  
  L6: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   ba c8 73 40 00 ?? mov edx, 0x004073c8
   33 c0 ?? xor eax, eax
   f0 0f b1 0a ?? lock cmpxchg dword ds:[edx], ecx
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   83 7d f8 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0
   74 0e ?? je basic block L10
  
  L7: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   3b 45 f8 ?? cmp eax, dword ss:[ebp + 0xf8<248,-8>]
   75 04 ?? jne basic block L9
  
  L8: b0 01 ?? mov al, 1
   eb 04 ?? jmp basic block L11
  
  L9: eb db ?? jmp basic block L6
  
  L10: 32 c0 ?? xor al, al
  
  L11: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  