Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   81 ec a8 00 00 00 ?? sub esp, 0x000000a8<168>
   a1 44 44 44 00 ?? mov eax, dword ds:[0x00444444]
   33 c5 ?? xor eax, ebp
   89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
   89 8d 64 ff ff ff ?? mov dword ss:[ebp + 0xffffff64<4294967140,-156>], ecx
   c7 45 f0 6c 00 00 00 ?? mov dword ss:[ebp + 0xf0<240,-16>], 0x0000006c<108>
   8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   e8 a6 ca ff ff ?? call function 0x004011fe
  
  L2: 85 c0 ?? test eax, eax
   7f 1b ?? jg basic block L6
  
  L3: 8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   e8 bc cb ff ff ?? call function 0x00401320
  
  L4: 25 00 20 00 00 ?? and eax, 0x00002000<8192>
   75 0c ?? jne basic block L6
  
  L5: c7 85 60 ff ff ff 06 00 ?? mov dword ss:[ebp + 0xffffff60<4294967136,-160>], 6
   00 00
   eb 0e ?? jmp basic block L8
  
  L6: 8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   e8 7f ca ff ff ?? call function 0x004011fe
  
  L7: 89 85 60 ff ff ff ?? mov dword ss:[ebp + 0xffffff60<4294967136,-160>], eax
  
  L8: 8b 85 60 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff60<4294967136,-160>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   83 7d f4 24 ?? cmp dword ss:[ebp + 0xf4<244,-12>], 0x24<36>
   7e 0c ?? jle basic block L10
  
  L9: c7 85 5c ff ff ff 24 00 ?? mov dword ss:[ebp + 0xffffff5c<4294967132,-164>], 0x00000024<36>
   00 00
   eb 09 ?? jmp basic block L11
  
  L10: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   89 8d 5c ff ff ff ?? mov dword ss:[ebp + 0xffffff5c<4294967132,-164>], ecx
  
  L11: 8b 95 5c ff ff ff ?? mov edx, dword ss:[ebp + 0xffffff5c<4294967132,-164>]
   89 95 6c ff ff ff ?? mov dword ss:[ebp + 0xffffff6c<4294967148,-148>], edx
   8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   2b 85 6c ff ff ff ?? sub eax, dword ss:[ebp + 0xffffff6c<4294967148,-148>]
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
   8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   e8 49 cb ff ff ?? call function 0x00401320
  
  L12: 25 00 30 00 00 ?? and eax, 0x00003000<12288>
   3d 00 20 00 00 ?? cmp eax, 0x00002000<8192>
   0f 85 ee 00 00 00 ?? jne basic block L31
  
  L13: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dc 0d 90 d1 43 00 ?? fmul double ds:[0x0043d190]
   dc 5d 1c ?? fcomp double ss:[ebp + 0x1c<28>]
   df e0 ?? fnstsw ax
   f6 c4 44 ?? test ah, 0x44<68>
   0f 8b d7 00 00 00 ?? jpo basic block L31
  
  L14: d9 ee ?? fldz
   dc 5d 1c ?? fcomp double ss:[ebp + 0x1c<28>]
   df e0 ?? fnstsw ax
   f6 c4 41 ?? test ah, 0x41<65>
   75 0c ?? jne basic block L16
  
  L15: c7 85 58 ff ff ff 01 00 ?? mov dword ss:[ebp + 0xffffff58<4294967128,-168>], 1
   00 00
   eb 0a ?? jmp basic block L17
  
  L16: c7 85 58 ff ff ff 00 00 ?? mov dword ss:[ebp + 0xffffff58<4294967128,-168>], 0
   00 00
  
  L17: 8a 8d 58 ff ff ff ?? mov cl, byte ss:[ebp + 0xffffff58<4294967128,-168>]
   88 8d 6b ff ff ff ?? mov byte ss:[ebp + 0xffffff6b<4294967147,-149>], cl
   0f b6 95 6b ff ff ff ?? movzx edx, byte ss:[ebp + 0xffffff6b<4294967147,-149>]
   85 d2 ?? test edx, edx
   74 08 ?? je basic block L19
  
  L18: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   d9 e0 ?? fchs
   dd 5d 1c ?? fstp double ss:[ebp + 0x1c<28>]
  
  L19: eb 09 ?? jmp basic block L20
  
  L20: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dc 1d 70 d1 43 00 ?? fcomp double ds:[0x0043d170]
   df e0 ?? fnstsw ax
   f6 c4 01 ?? test ah, 1
   75 17 ?? jne basic block L23
  
  L21: 81 7d fc 88 13 00 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0x00001388<5000>
   73 0e ?? jae basic block L23
  
  L22: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dc 35 60 d1 43 00 ?? fdiv double ds:[0x0043d160]
   dd 5d 1c ?? fstp double ss:[ebp + 0x1c<28>]
   eb d0 ?? jmp 0x00404841
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   83 c0 0a ?? add eax, 10
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
  
  L23: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dc 1d 80 d1 43 00 ?? fcomp double ds:[0x0043d180]
   df e0 ?? fnstsw ax
   f6 c4 41 ?? test ah, 0x41<65>
   75 41 ?? jne basic block L29
  
  L24: eb 09 ?? jmp basic block L25
  
  L25: 83 7d f4 0a ?? cmp dword ss:[ebp + 0xf4<244,-12>], 10
   7c 30 ?? jl basic block L29
  
  L26: dd 05 50 d1 43 00 ?? fld double ds:[0x0043d150]
   dc 5d 1c ?? fcomp double ss:[ebp + 0x1c<28>]
   df e0 ?? fnstsw ax
   f6 c4 01 ?? test ah, 1
   75 20 ?? jne basic block L29
  
  L27: 81 7d f8 88 13 00 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0x00001388<5000>
   73 17 ?? jae basic block L29
  
  L28: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dc 0d 60 d1 43 00 ?? fmul double ds:[0x0043d160]
   dd 5d 1c ?? fstp double ss:[ebp + 0x1c<28>]
   8b 55 f4 ?? mov edx, dword ss:[ebp + 0xf4<244,-12>]
   83 ea 0a ?? sub edx, 10
   89 55 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], edx
   eb c1 ?? jmp 0x00404883
   8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   83 c1 0a ?? add ecx, 10
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
  
  L29: 0f b6 85 6b ff ff ff ?? movzx eax, byte ss:[ebp + 0xffffff6b<4294967147,-149>]
   85 c0 ?? test eax, eax
   74 08 ?? je basic block L31
  
  L30: dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   d9 e0 ?? fchs
   dd 5d 1c ?? fstp double ss:[ebp + 0x1c<28>]
  
  L31: 83 ec 08 ?? sub esp, 8
   dd 45 1c ?? fld double ss:[ebp + 0x1c<28>]
   dd 1c 24 ?? fstp double ss:[esp]
   8b 8d 6c ff ff ff ?? mov ecx, dword ss:[ebp + 0xffffff6c<4294967148,-148>]
   51 ?? push ecx
   8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   e8 33 ca ff ff ?? call function 0x00401320
  
  L32: 50 ?? push eax
   6a 00 ?? push 0
   8d 95 70 ff ff ff ?? lea edx, ss:[ebp + 0xffffff70<4294967152,-144>]
   52 ?? push edx
   8b 85 64 ff ff ff ?? mov eax, dword ss:[ebp + 0xffffff64<4294967140,-156>]
   50 ?? push eax
   e8 84 c7 ff ff ?? call function 0x00401087
  
  L33: 83 c4 10 ?? add esp, 0x10<16>
   50 ?? push eax
   6a 6c ?? push 0x6c<108>
   8d 8d 78 ff ff ff ?? lea ecx, ss:[ebp + 0xffffff78<4294967160,-136>]
   51 ?? push ecx
   e8 9c 59 00 00 ?? call function 0x0040a2b1
  
  L34: 83 c4 18 ?? add esp, 0x18<24>
   50 ?? push eax
   8b 55 f4 ?? mov edx, dword ss:[ebp + 0xf4<244,-12>]
   52 ?? push edx
   8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   50 ?? push eax
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   51 ?? push ecx
   8d 95 78 ff ff ff ?? lea edx, ss:[ebp + 0xffffff78<4294967160,-136>]
   52 ?? push edx
   0f b6 45 18 ?? movzx eax, byte ss:[ebp + 0x18<24>]
   50 ?? push eax
   8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   51 ?? push ecx
   8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   52 ?? push edx
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   50 ?? push eax
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   51 ?? push ecx
   8b 95 64 ff ff ff ?? mov edx, dword ss:[ebp + 0xffffff64<4294967140,-156>]
   52 ?? push edx
   e8 f2 c8 ff ff ?? call function 0x0040123f
  
  L35: 83 c4 2c ?? add esp, 0x2c<44>
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   33 cd ?? xor ecx, ebp
   e8 ef 51 00 00 ?? call function 0x00409b4c
  
  L36: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 1c 00 ?? ret 0x001c<28>
  
  