Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   80 3d e5 53 40 00 00 ?? cmp byte ds:[0x004053e5], 0
   74 04 ?? je basic block L3
  
  L2: b0 01 ?? mov al, 1
   5d ?? pop ebp
   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 62 ?? jne basic block L16
  
  L5: e8 d3 09 00 00 ?? call function 0x0040251b
  
  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 e8 53 40 00 ?? push 0x004053e8
   e8 99 0a 00 00 ?? call function 0x004025f3
  
  L9: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   75 0f ?? jne basic block L12
  
  L10: 68 f4 53 40 00 ?? push 0x004053f4
   e8 8a 0a 00 00 ?? call function 0x004025f3
  
  L11: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 2b ?? je basic block L14
  
  L12: 32 c0 ?? xor al, al
   eb 30 ?? jmp basic block L15
  
  L13: 83 c9 ff ?? or ecx, 0xff<255,-1>
   89 0d e8 53 40 00 ?? mov dword ds:[0x004053e8], ecx
   89 0d ec 53 40 00 ?? mov dword ds:[0x004053ec], ecx
   89 0d f0 53 40 00 ?? mov dword ds:[0x004053f0], ecx
   89 0d f4 53 40 00 ?? mov dword ds:[0x004053f4], ecx
   89 0d f8 53 40 00 ?? mov dword ds:[0x004053f8], ecx
   89 0d fc 53 40 00 ?? mov dword ds:[0x004053fc], ecx
  
  L14: c6 05 e5 53 40 00 01 ?? mov byte ds:[0x004053e5], 1
   b0 01 ?? mov al, 1
  
  L15: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  L16: 6a 05 ?? push 5
   e8 70 02 00 00 ?? call function 0x00401e1c
  
  L17: cc ?? int3
  
  