Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 18 ?? sub esp, 0x18<24>
   c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   81 3d 18 50 40 00 4e e6 ?? cmp dword ds:[0x00405018], 0xbb40e64e
   40 bb
   74 1f ?? je basic block L4
  
  L2: a1 18 50 40 00 ?? mov eax, dword ds:[0x00405018]
   25 00 00 ff ff ?? and eax, 0xffff0000<4294901760,-65536>
   74 13 ?? je basic block L4
  
  L3: 8b 0d 18 50 40 00 ?? mov ecx, dword ds:[0x00405018]
   f7 d1 ?? not ecx
   89 0d 1c 50 40 00 ?? mov dword ds:[0x0040501c], ecx
   e9 9b 00 00 00 ?? jmp basic block L14
  
  L4: 8d 55 f8 ?? lea edx, ss:[ebp + 0xf8<248,-8>]
   52 ?? push edx
   ff 15 30 30 40 00 ?? call dword ds:[0x00403030]
  
  L5: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   33 4d fc ?? xor ecx, dword ss:[ebp + 0xfc<252,-4>]
   89 4d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ecx
   ff 15 34 30 40 00 ?? call dword ds:[0x00403034]
  
  L6: 33 45 f4 ?? xor eax, dword ss:[ebp + 0xf4<244,-12>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   ff 15 38 30 40 00 ?? call dword ds:[0x00403038<"nB@">]
  
  L7: 33 45 f4 ?? xor eax, dword ss:[ebp + 0xf4<244,-12>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   ff 15 3c 30 40 00 ?? call dword ds:[0x0040303c<"^B@">]
  
  L8: 33 45 f4 ?? xor eax, dword ss:[ebp + 0xf4<244,-12>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8d 55 e8 ?? lea edx, ss:[ebp + 0xe8<232,-24>]
   52 ?? push edx
   ff 15 40 30 40 00 ?? call dword ds:[0x00403040<"DB@">]
  
  L9: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   33 45 e8 ?? xor eax, dword ss:[ebp + 0xe8<232,-24>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   33 4d ec ?? xor ecx, dword ss:[ebp + 0xec<236,-20>]
   89 4d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ecx
   81 7d f4 4e e6 40 bb ?? cmp dword ss:[ebp + 0xf4<244,-12>], 0xbb40e64e
   75 09 ?? jne basic block L11
  
  L10: c7 45 f4 4f e6 40 bb ?? mov dword ss:[ebp + 0xf4<244,-12>], 0xbb40e64f
   eb 1c ?? jmp basic block L13
  
  L11: 8b 55 f4 ?? mov edx, dword ss:[ebp + 0xf4<244,-12>]
   81 e2 00 00 ff ff ?? and edx, 0xffff0000<4294901760,-65536>
   75 11 ?? jne basic block L13
  
  L12: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   0d 11 47 00 00 ?? or eax, 0x00004711<18193>
   c1 e0 10 ?? shl eax, 0x10<16>
   0b 45 f4 ?? or eax, dword ss:[ebp + 0xf4<244,-12>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
  
  L13: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   89 0d 18 50 40 00 ?? mov dword ds:[0x00405018], ecx
   8b 55 f4 ?? mov edx, dword ss:[ebp + 0xf4<244,-12>]
   f7 d2 ?? not edx
   89 15 1c 50 40 00 ?? mov dword ds:[0x0040501c], edx
  
  L14: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  