Disassembly: 
  L1: e8 13 f8 ff ff ?? call function 0x0040103c
  
  L2: 85 c0 ?? test eax, eax
   75 03 ?? jne basic block L4
  
  L3: 32 c0 ?? xor al, al
   c3 ?? ret
  
  L4: 64 a1 18 00 00 00 ?? mov eax, dword fs:[0x00000018<24>]
   56 ?? push esi
   be bc 62 40 00 ?? mov esi, 0x004062bc
   8b 50 04 ?? mov edx, dword ds:[eax + 4]
   eb 04 ?? jmp basic block L6
  
  L5: 3b d0 ?? cmp edx, eax
   74 10 ?? je basic block L8
  
  L6: 33 c0 ?? xor eax, eax
   8b ca ?? mov ecx, edx
   f0 0f b1 0e ?? lock cmpxchg dword ds:[esi], ecx
   85 c0 ?? test eax, eax
   75 f0 ?? jne basic block L5
  
  L7: 32 c0 ?? xor al, al
   5e ?? pop esi
   c3 ?? ret
  
  L8: b0 01 ?? mov al, 1
   5e ?? pop esi
   c3 ?? ret
  
  