Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a fe ?? push 0xfe<254,-2>
   68 a8 80 40 00 ?? push 0x004080a8
   68 a0 2b 40 00 ?? push function 0x00402ba0
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 c4 d0 ?? add esp, 0xd0<208,-48>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   a1 00 90 40 00 ?? mov eax, dword ds:[0x00409000]
   31 45 f8 ?? xor dword ss:[ebp + 0xf8<248,-8>], eax
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f0 ?? lea eax, ss:[ebp + 0xf0<240,-16>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   89 65 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], esp
   c7 45 e4 00 00 40 00 ?? mov dword ss:[ebp + 0xe4<228,-28>], 0x00400000
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   50 ?? push eax
   e8 e6 00 00 00 ?? call function 0x00402780
  
  L2: 83 c4 04 ?? add esp, 4
   85 c0 ?? test eax, eax
   75 16 ?? jne basic block L4
  
  L3: c7 45 d4 00 00 00 00 ?? mov dword ss:[ebp + 0xd4<212,-44>], 0
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 d4 ?? mov eax, dword ss:[ebp + 0xd4<212,-44>]
   e9 b2 00 00 00 ?? jmp basic block L18
  
  L4: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   2b 4d e4 ?? sub ecx, dword ss:[ebp + 0xe4<228,-28>]
   89 4d d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], ecx
   8b 55 d0 ?? mov edx, dword ss:[ebp + 0xd0<208,-48>]
   52 ?? push edx
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   50 ?? push eax
   e8 03 ff ff ff ?? call function 0x004025d0
  
  L5: 83 c4 08 ?? add esp, 8
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   83 7d e0 00 ?? cmp dword ss:[ebp + 0xe0<224,-32>], 0
   75 13 ?? jne basic block L7
  
  L6: c7 45 cc 00 00 00 00 ?? mov dword ss:[ebp + 0xcc<204,-52>], 0
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 cc ?? mov eax, dword ss:[ebp + 0xcc<204,-52>]
   eb 7d ?? jmp basic block L18
  
  L7: 8b 4d e0 ?? mov ecx, dword ss:[ebp + 0xe0<224,-32>]
   8b 51 24 ?? mov edx, dword ds:[ecx + 0x24<36>]
   81 e2 00 00 00 80 ?? and edx, 0x80000000
   75 09 ?? jne basic block L9
  
  L8: c7 45 dc 01 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 1
   eb 07 ?? jmp basic block L10
  
  L9: c7 45 dc 00 00 00 00 ?? mov dword ss:[ebp + 0xdc<220,-36>], 0
  
  L10: 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
   89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 c8 ?? mov eax, dword ss:[ebp + 0xc8<200,-56>]
   eb 4d ?? jmp basic block L18
  
  L11: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   eb 44 ?? jmp basic block L18
  
  L12: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 11 ?? mov edx, dword ds:[ecx]
   8b 02 ?? mov eax, dword ds:[edx]
   89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
   81 7d c4 05 00 00 c0 ?? cmp dword ss:[ebp + 0xc4<196,-60>], 0xc0000005
   75 09 ?? jne basic block L14
  
  L13: c7 45 d8 01 00 00 00 ?? mov dword ss:[ebp + 0xd8<216,-40>], 1
   eb 07 ?? jmp basic block L15
  
  L14: c7 45 d8 00 00 00 00 ?? mov dword ss:[ebp + 0xd8<216,-40>], 0
  
  L15: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   c3 ?? ret
  
  L16: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   c7 45 c0 00 00 00 00 ?? mov dword ss:[ebp + 0xc0<192,-64>], 0
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 c0 ?? mov eax, dword ss:[ebp + 0xc0<192,-64>]
   eb 07 ?? jmp basic block L18
  
  L17: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
  
  L18: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  