Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   81 ec 24 03 00 00 ?? sub esp, 0x00000324<804>
   53 ?? push ebx
   6a 17 ?? push 0x17<23>
   ff 15 10 30 40 00 ?? call dword ds:[0x00403010]
  
  L2: 85 c0 ?? test eax, eax
   74 05 ?? je basic block L4
  
  L3: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   cd 29 ?? int 0x29<41>
  
  L4: 6a 03 ?? push 3
   e8 d9 01 00 00 ?? call function 0x004020d3
  
  L5: c7 04 24 cc 02 00 00 ?? mov dword ss:[esp], 0x000002cc<716>
   8d 85 dc fc ff ff ?? lea eax, ss:[ebp + 0xfffffcdc<4294966492,-804>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 08 07 00 00 ?? call function 0x00402617
  
  L6: 83 c4 0c ?? add esp, 12
   89 85 8c fd ff ff ?? mov dword ss:[ebp + 0xfffffd8c<4294966668,-628>], eax
   89 8d 88 fd ff ff ?? mov dword ss:[ebp + 0xfffffd88<4294966664,-632>], ecx
   89 95 84 fd ff ff ?? mov dword ss:[ebp + 0xfffffd84<4294966660,-636>], edx
   89 9d 80 fd ff ff ?? mov dword ss:[ebp + 0xfffffd80<4294966656,-640>], ebx
   89 b5 7c fd ff ff ?? mov dword ss:[ebp + 0xfffffd7c<4294966652,-644>], esi
   89 bd 78 fd ff ff ?? mov dword ss:[ebp + 0xfffffd78<4294966648,-648>], edi
   66 8c 95 a4 fd ff ff ?? mov word ss:[ebp + 0xfffffda4<4294966692,-604>], ss
   66 8c 8d 98 fd ff ff ?? mov word ss:[ebp + 0xfffffd98<4294966680,-616>], cs
   66 8c 9d 74 fd ff ff ?? mov word ss:[ebp + 0xfffffd74<4294966644,-652>], ds
   66 8c 85 70 fd ff ff ?? mov word ss:[ebp + 0xfffffd70<4294966640,-656>], es
   66 8c a5 6c fd ff ff ?? mov word ss:[ebp + 0xfffffd6c<4294966636,-660>], fs
   66 8c ad 68 fd ff ff ?? mov word ss:[ebp + 0xfffffd68<4294966632,-664>], gs
   9c ?? pushfd
   8f 85 9c fd ff ff ?? pop dword ss:[ebp + 0xfffffd9c<4294966684,-612>]
   8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   89 85 94 fd ff ff ?? mov dword ss:[ebp + 0xfffffd94<4294966676,-620>], eax
   8d 45 04 ?? lea eax, ss:[ebp + 4]
   89 85 a0 fd ff ff ?? mov dword ss:[ebp + 0xfffffda0<4294966688,-608>], eax
   c7 85 dc fc ff ff 01 00 ?? mov dword ss:[ebp + 0xfffffcdc<4294966492,-804>], 0x00010001
   01 00
   8b 40 fc ?? mov eax, dword ds:[eax + 0xfc<252,-4>]
   6a 50 ?? push 0x50<80>
   89 85 90 fd ff ff ?? mov dword ss:[ebp + 0xfffffd90<4294966672,-624>], eax
   8d 45 a8 ?? lea eax, ss:[ebp + 0xa8<168,-88>]
   6a 00 ?? push 0
   50 ?? push eax
   e8 7e 06 00 00 ?? call function 0x00402617
  
  L7: 8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   83 c4 0c ?? add esp, 12
   c7 45 a8 15 00 00 40 ?? mov dword ss:[ebp + 0xa8<168,-88>], 0x40000015
   c7 45 ac 01 00 00 00 ?? mov dword ss:[ebp + 0xac<172,-84>], 1
   89 45 b4 ?? mov dword ss:[ebp + 0xb4<180,-76>], eax
   ff 15 30 30 40 00 ?? call dword ds:[0x00403030<">A@">]
  
  L8: 6a 00 ?? push 0
   8d 58 ff ?? lea ebx, ds:[eax + 0xff<255,-1>]
   f7 db ?? neg ebx
   8d 45 a8 ?? lea eax, ss:[ebp + 0xa8<168,-88>]
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
   8d 85 dc fc ff ff ?? lea eax, ss:[ebp + 0xfffffcdc<4294966492,-804>]
   1a db ?? sbb bl, bl
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   fe c3 ?? inc bl
   ff 15 04 30 40 00 ?? call dword ds:[0x00403004<"f@@">]
  
  L9: 8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
   50 ?? push eax
   ff 15 2c 30 40 00 ?? call dword ds:[0x0040302c<"J@@">]
  
  L10: 85 c0 ?? test eax, eax
   75 0c ?? jne basic block L14
  
  L11: 84 db ?? test bl, bl
   75 08 ?? jne basic block L14
  
  L12: 6a 03 ?? push 3
   e8 e4 00 00 00 ?? call function 0x004020d3
  
  L13: 59 ?? pop ecx
  
  L14: 5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  