Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 14 ?? sub esp, 0x14<20>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   e8 2e 9f fe ff ?? call function 0x0040f911
  
  L2: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   83 3d 68 6a 44 00 00 ?? cmp dword ds:[0x00446a68], 0
   8b d8 ?? mov ebx, eax
   0f 85 8e 00 00 00 ?? jne basic block L18
  
  L3: 68 a4 f9 43 00 ?? push 0x0043f9a4<"USER32.DLL">
   ff 15 28 93 44 00 ?? call dword ds:[0x00449328]
  
  L4: 8b f8 ?? mov edi, eax
   85 ff ?? test edi, edi
   0f 84 2a 01 00 00 ?? je basic block L44
  
  L5: 8b 35 5c 92 44 00 ?? mov esi, dword ds:[0x0044925c]
   68 98 f9 43 00 ?? push 0x0043f998<"MessageBoxA">
   57 ?? push edi
   ff d6 ?? call esi
  
  L6: 85 c0 ?? test eax, eax
   0f 84 14 01 00 00 ?? je basic block L44
  
  L7: 50 ?? push eax
   e8 78 9e fe ff ?? call function 0x0040f89f
  
  L8: c7 04 24 88 f9 43 00 ?? mov dword ss:[esp], 0x0043f988<"GetActiveWindow">
   57 ?? push edi
   a3 68 6a 44 00 ?? mov dword ds:[0x00446a68], eax
   ff d6 ?? call esi
  
  L9: 50 ?? push eax
   e8 63 9e fe ff ?? call function 0x0040f89f
  
  L10: c7 04 24 74 f9 43 00 ?? mov dword ss:[esp], 0x0043f974<"GetLastActivePopup">
   57 ?? push edi
   a3 6c 6a 44 00 ?? mov dword ds:[0x00446a6c], eax
   ff d6 ?? call esi
  
  L11: 50 ?? push eax
   e8 4e 9e fe ff ?? call function 0x0040f89f
  
  L12: c7 04 24 58 f9 43 00 ?? mov dword ss:[esp], 0x0043f958<"GetUserObjectInformationA">
   57 ?? push edi
   a3 70 6a 44 00 ?? mov dword ds:[0x00446a70], eax
   ff d6 ?? call esi
  
  L13: 50 ?? push eax
   e8 39 9e fe ff ?? call function 0x0040f89f
  
  L14: 59 ?? pop ecx
   a3 78 6a 44 00 ?? mov dword ds:[0x00446a78], eax
   85 c0 ?? test eax, eax
   74 14 ?? je basic block L18
  
  L15: 68 40 f9 43 00 ?? push 0x0043f940<"GetProcessWindowStation">
   57 ?? push edi
   ff d6 ?? call esi
  
  L16: 50 ?? push eax
   e8 21 9e fe ff ?? call function 0x0040f89f
  
  L17: 59 ?? pop ecx
   a3 74 6a 44 00 ?? mov dword ds:[0x00446a74], eax
  
  L18: a1 74 6a 44 00 ?? mov eax, dword ds:[0x00446a74]
   3b c3 ?? cmp eax, ebx
   74 4f ?? je basic block L30
  
  L19: 39 1d 78 6a 44 00 ?? cmp dword ds:[0x00446a78], ebx
   74 47 ?? je basic block L30
  
  L20: 50 ?? push eax
   e8 7f 9e fe ff ?? call function 0x0040f91a
  
  L21: ff 35 78 6a 44 00 ?? push dword ds:[0x00446a78]
   8b f0 ?? mov esi, eax
   e8 72 9e fe ff ?? call function 0x0040f91a
  
  L22: 59 ?? pop ecx
   59 ?? pop ecx
   8b f8 ?? mov edi, eax
   85 f6 ?? test esi, esi
   74 2c ?? je basic block L30
  
  L23: 85 ff ?? test edi, edi
   74 28 ?? je basic block L30
  
  L24: ff d6 ?? call esi
  
  L25: 85 c0 ?? test eax, eax
   74 19 ?? je basic block L29
  
  L26: 8d 4d f8 ?? lea ecx, ss:[ebp + 0xf8<248,-8>]
   51 ?? push ecx
   6a 0c ?? push 12
   8d 4d ec ?? lea ecx, ss:[ebp + 0xec<236,-20>]
   51 ?? push ecx
   6a 01 ?? push 1
   50 ?? push eax
   ff d7 ?? call edi
  
  L27: 85 c0 ?? test eax, eax
   74 06 ?? je basic block L29
  
  L28: f6 45 f4 01 ?? test byte ss:[ebp + 0xf4<244,-12>], 1
   75 09 ?? jne basic block L30
  
  L29: 81 4d 10 00 00 20 00 ?? or dword ss:[ebp + 0x10<16>], 0x00200000
   eb 39 ?? jmp basic block L40
  
  L30: a1 6c 6a 44 00 ?? mov eax, dword ds:[0x00446a6c]
   3b c3 ?? cmp eax, ebx
   74 30 ?? je basic block L40
  
  L31: 50 ?? push eax
   e8 2f 9e fe ff ?? call function 0x0040f91a
  
  L32: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 25 ?? je basic block L40
  
  L33: ff d0 ?? call eax
  
  L34: 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   85 c0 ?? test eax, eax
   74 1c ?? je basic block L40
  
  L35: a1 70 6a 44 00 ?? mov eax, dword ds:[0x00446a70]
   3b c3 ?? cmp eax, ebx
   74 13 ?? je basic block L40
  
  L36: 50 ?? push eax
   e8 12 9e fe ff ?? call function 0x0040f91a
  
  L37: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 08 ?? je basic block L40
  
  L38: ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   ff d0 ?? call eax
  
  L39: 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
  
  L40: ff 35 68 6a 44 00 ?? push dword ds:[0x00446a68]
   e8 fa 9d fe ff ?? call function 0x0040f91a
  
  L41: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 10 ?? je basic block L44
  
  L42: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff 75 fc ?? push dword ss:[ebp + 0xfc<252,-4>]
   ff d0 ?? call eax
  
  L43: eb 02 ?? jmp basic block L45
  
  L44: 33 c0 ?? xor eax, eax
  
  L45: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  