Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a fe ?? push 0xfe<254,-2>
   68 c0 70 40 00 ?? push 0x004070c0
   68 50 29 40 00 ?? push function 0x00402950
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 c4 d8 ?? add esp, 0xd8<216,-40>
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   a1 a4 80 40 00 ?? mov eax, dword ds:[0x004080a4]
   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 d4 fe ff ff ?? call function 0x00402740
  
  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 97 00 00 00 ?? jmp basic block L12
  
  L4: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   2b 4d e4 ?? sub ecx, dword ss:[ebp + 0xe4<228,-28>]
   89 4d dc ?? mov dword ss:[ebp + 0xdc<220,-36>], ecx
   8b 55 dc ?? mov edx, dword ss:[ebp + 0xdc<220,-36>]
   52 ?? push edx
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   50 ?? push eax
   e8 01 ff ff ff ?? call function 0x004027a0
  
  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 d0 00 00 00 00 ?? mov dword ss:[ebp + 0xd0<208,-48>], 0
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 d0 ?? mov eax, dword ss:[ebp + 0xd0<208,-48>]
   eb 62 ?? jmp basic block L12
  
  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
   f7 da ?? neg edx
   1b d2 ?? sbb edx, edx
   83 c2 01 ?? add edx, 1
   89 55 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], edx
   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 40 ?? jmp basic block L12
  
  L8: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   eb 37 ?? jmp basic block L12
  
  L9: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 11 ?? mov edx, dword ds:[ecx]
   89 55 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], edx
   8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   33 c9 ?? xor ecx, ecx
   3d 05 00 00 c0 ?? cmp eax, 0xc0000005
   0f 94 c1 ?? sete cl
   8b c1 ?? mov eax, ecx
   c3 ?? ret
  
  L10: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   c7 45 c8 00 00 00 00 ?? mov dword ss:[ebp + 0xc8<200,-56>], 0
   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 07 ?? jmp basic block L12
  
  L11: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
  
  L12: 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
  
  