Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   80 3d f5 53 40 00 00 ?? cmp byte ds:[0x004053f5], 0
   74 04 ?? je basic block L3
  
  L2: b0 01 ?? mov al, 1
   c9 ?? leave
   c3 ?? ret
  
  L3: 56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   85 f6 ?? test esi, esi
   74 05 ?? je basic block L5
  
  L4: 83 fe 01 ?? cmp esi, 1
   75 7d ?? jne basic block L16
  
  L5: e8 98 07 00 00 ?? call function 0x0040283c
  
  L6: 85 c0 ?? test eax, eax
   74 26 ?? je basic block L13
  
  L7: 85 f6 ?? test esi, esi
   75 22 ?? jne basic block L13
  
  L8: 68 f8 53 40 00 ?? push 0x004053f8
   e8 4c 08 00 00 ?? call function 0x00402902
  
  L9: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   75 0f ?? jne basic block L12
  
  L10: 68 04 54 40 00 ?? push 0x00405404
   e8 3d 08 00 00 ?? call function 0x00402902
  
  L11: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 46 ?? je basic block L14
  
  L12: 32 c0 ?? xor al, al
   eb 4b ?? jmp basic block L15
  
  L13: a1 04 50 40 00 ?? mov eax, dword ds:[0x00405004]
   8d 75 f4 ?? lea esi, ss:[ebp + 0xf4<244,-12>]
   57 ?? push edi
   83 e0 1f ?? and eax, 0x1f<31>
   bf f8 53 40 00 ?? mov edi, 0x004053f8
   6a 20 ?? push 0x20<32>
   59 ?? pop ecx
   2b c8 ?? sub ecx, eax
   83 c8 ff ?? or eax, 0xff<255,-1>
   d3 c8 ?? ror eax, cl
   33 05 04 50 40 00 ?? xor eax, dword ds:[0x00405004]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   a5 ?? movsd
   a5 ?? movsd
   a5 ?? movsd
   bf 04 54 40 00 ?? mov edi, 0x00405404
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   8d 75 f4 ?? lea esi, ss:[ebp + 0xf4<244,-12>]
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   a5 ?? movsd
   a5 ?? movsd
   a5 ?? movsd
   5f ?? pop edi
  
  L14: c6 05 f5 53 40 00 01 ?? mov byte ds:[0x004053f5], 1
   b0 01 ?? mov al, 1
  
  L15: 5e ?? pop esi
   c9 ?? leave
   c3 ?? ret
  
  L16: 6a 05 ?? push 5
   e8 88 02 00 00 ?? call function 0x004023ab
  
  L17: cc ?? int3
  
  