Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 de 95 42 00 ?? push 0x004295de
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   81 ec d0 00 00 00 ?? sub esp, 0x000000d0<208>
   a1 34 44 43 00 ?? mov eax, dword ds:[0x00434434]
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f4 ?? lea eax, ss:[ebp + 0xf4<244,-12>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   89 8d 24 ff ff ff ?? mov dword ss:[ebp + 0xffffff24<4294967076,-220>], ecx
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 e0 17 ?? and eax, 0x17<23>
   8b 8d 24 ff ff ff ?? mov ecx, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   89 41 08 ?? mov dword ds:[ecx + 8], eax
   8b 95 24 ff ff ff ?? mov edx, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 85 24 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 4a 08 ?? mov ecx, dword ds:[edx + 8]
   23 48 0c ?? and ecx, dword ds:[eax + 12]
   75 05 ?? jne basic block L3
  
  L2: e9 1a 01 00 00 ?? jmp basic block L22
  
  L3: 0f b6 55 0c ?? movzx edx, byte ss:[ebp + 12]
   85 d2 ?? test edx, edx
   74 0e ?? je basic block L6
  
  L4: 6a 00 ?? push 0
   6a 00 ?? push 0
   e8 70 46 00 00 ?? call function 0x00406097
  
  L5: e9 04 01 00 00 ?? jmp basic block L22
  
  L6: 8b 85 24 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 8d 24 ff ff ff ?? mov ecx, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 50 08 ?? mov edx, dword ds:[eax + 8]
   23 51 0c ?? and edx, dword ds:[ecx + 12]
   83 e2 04 ?? and edx, 4
   74 42 ?? je basic block L12
  
  L7: 68 fc df 42 00 ?? push 0x0042dffc<"ios_base::badbit set">
   8d 4d b0 ?? lea ecx, ss:[ebp + 0xb0<176,-80>]
   e8 3b f7 ff ff ?? call function 0x0040118b
  
  L8: c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   8d 45 b0 ?? lea eax, ss:[ebp + 0xb0<176,-80>]
   50 ?? push eax
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   e8 01 f6 ff ff ?? call function 0x00401064
  
  L9: 68 44 24 43 00 ?? push 0x00432444
   8d 4d cc ?? lea ecx, ss:[ebp + 0xcc<204,-52>]
   51 ?? push ecx
   e8 26 46 00 00 ?? call function 0x00406097
  
  L10: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8d 4d b0 ?? lea ecx, ss:[ebp + 0xb0<176,-80>]
   e8 b6 f6 ff ff ?? call function 0x00401136
  
  L11: e9 ab 00 00 00 ?? jmp basic block L22
  
  L12: 8b 95 24 ff ff ff ?? mov edx, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 85 24 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff24<4294967076,-220>]
   8b 4a 08 ?? mov ecx, dword ds:[edx + 8]
   23 48 0c ?? and ecx, dword ds:[eax + 12]
   83 e1 02 ?? and ecx, 2
   74 48 ?? je basic block L18
  
  L13: 68 e0 df 42 00 ?? push 0x0042dfe0<"ios_base::failbit set">
   8d 8d 6c ff ff ff ?? lea ecx, ss:[ebp + 0xffffff6c<4294967148,-148>]
   e8 df f6 ff ff ?? call function 0x0040118b
  
  L14: c7 45 fc 01 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 1
   8d 95 6c ff ff ff ?? lea edx, ss:[ebp + 0xffffff6c<4294967148,-148>]
   52 ?? push edx
   8d 4d 88 ?? lea ecx, ss:[ebp + 0x88<136,-120>]
   e8 a2 f5 ff ff ?? call function 0x00401064
  
  L15: 68 44 24 43 00 ?? push 0x00432444
   8d 45 88 ?? lea eax, ss:[ebp + 0x88<136,-120>]
   50 ?? push eax
   e8 c7 45 00 00 ?? call function 0x00406097
  
  L16: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8d 8d 6c ff ff ff ?? lea ecx, ss:[ebp + 0xffffff6c<4294967148,-148>]
   e8 54 f6 ff ff ?? call function 0x00401136
  
  L17: eb 4c ?? jmp basic block L22
  
  L18: 68 c4 df 42 00 ?? push 0x0042dfc4<"ios_base::eofbit set">
   8d 8d 28 ff ff ff ?? lea ecx, ss:[ebp + 0xffffff28<4294967080,-216>]
   e8 97 f6 ff ff ?? call function 0x0040118b
  
  L19: c7 45 fc 02 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 2
   8d 8d 28 ff ff ff ?? lea ecx, ss:[ebp + 0xffffff28<4294967080,-216>]
   51 ?? push ecx
   8d 8d 44 ff ff ff ?? lea ecx, ss:[ebp + 0xffffff44<4294967108,-188>]
   e8 57 f5 ff ff ?? call function 0x00401064
  
  L20: 68 44 24 43 00 ?? push 0x00432444
   8d 95 44 ff ff ff ?? lea edx, ss:[ebp + 0xffffff44<4294967108,-188>]
   52 ?? push edx
   e8 79 45 00 00 ?? call function 0x00406097
  
  L21: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8d 8d 28 ff ff ff ?? lea ecx, ss:[ebp + 0xffffff28<4294967080,-216>]
   e8 06 f6 ff ff ?? call function 0x00401136
  
  L22: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 08 00 ?? ret 8
  
  