40c3be:	83 f8 01             	cmp    $0x1,%eax
40c3c1:	0f 84 ee 00 00 00    	je     0x40c4b5
40c3c7:	39 35 38 03 41 00    	cmp    %esi,0x410338
40c3cd:	75 10                	jne    0x40c3df
40c3cf:	68 38 03 41 00       	push   $0x410338
40c3d4:	68 c4 7c 40 00       	push   $0x407cc4
40c3d9:	ff 15 28 11 40 00    	call   *0x401128
40c3df:	8d 5d e4             	lea    -0x1c(%ebp),%ebx
40c3e2:	53                   	push   %ebx
40c3e3:	83 ec 10             	sub    $0x10,%esp
40c3e6:	bf 03 00 00 00       	mov    $0x3,%edi
40c3eb:	8b dc                	mov    %esp,%ebx
40c3ed:	8b cf                	mov    %edi,%ecx
40c3ef:	89 0b                	mov    %ecx,(%ebx)
40c3f1:	8b 4d 98             	mov    -0x68(%ebp),%ecx
40c3f4:	89 4b 04             	mov    %ecx,0x4(%ebx)
40c3f7:	83 ec 10             	sub    $0x10,%esp
40c3fa:	b8 68 f6 0d 00       	mov    $0xdf668,%eax
40c3ff:	89 43 08             	mov    %eax,0x8(%ebx)
40c402:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c405:	89 43 0c             	mov    %eax,0xc(%ebx)
40c408:	8b 45 a8             	mov    -0x58(%ebp),%eax
40c40b:	8b cc                	mov    %esp,%ecx
40c40d:	89 39                	mov    %edi,(%ecx)
40c40f:	89 41 04             	mov    %eax,0x4(%ecx)
40c412:	8b 45 b0             	mov    -0x50(%ebp),%eax
40c415:	8b 5d d0             	mov    -0x30(%ebp),%ebx
40c418:	8b 15 38 03 41 00    	mov    0x410338,%edx
40c41e:	be 10 bf 31 00       	mov    $0x31bf10,%esi
40c423:	89 71 08             	mov    %esi,0x8(%ecx)
40c426:	89 41 0c             	mov    %eax,0xc(%ecx)
40c429:	83 ec 10             	sub    $0x10,%esp
40c42c:	8b cc                	mov    %esp,%ecx
40c42e:	b8 02 00 00 00       	mov    $0x2,%eax
40c433:	89 01                	mov    %eax,(%ecx)
40c435:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c438:	89 41 04             	mov    %eax,0x4(%ecx)
40c43b:	8b 75 e0             	mov    -0x20(%ebp),%esi
40c43e:	b8 18 00 00 00       	mov    $0x18,%eax
40c443:	89 41 08             	mov    %eax,0x8(%ecx)
40c446:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c449:	89 41 0c             	mov    %eax,0xc(%ecx)
40c44c:	83 ec 10             	sub    $0x10,%esp
40c44f:	8b cc                	mov    %esp,%ecx
40c451:	8b c7                	mov    %edi,%eax
40c453:	89 01                	mov    %eax,(%ecx)
40c455:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c458:	89 41 04             	mov    %eax,0x4(%ecx)
40c45b:	b8 db 80 3f 00       	mov    $0x3f80db,%eax
40c460:	89 41 08             	mov    %eax,0x8(%ecx)
40c463:	89 59 0c             	mov    %ebx,0xc(%ecx)
40c466:	83 ec 10             	sub    $0x10,%esp
40c469:	8b cc                	mov    %esp,%ecx
40c46b:	b8 08 00 00 00       	mov    $0x8,%eax
40c470:	89 01                	mov    %eax,(%ecx)
40c472:	89 7d c4             	mov    %edi,-0x3c(%ebp)
40c475:	8b 7d d8             	mov    -0x28(%ebp),%edi
40c478:	89 79 04             	mov    %edi,0x4(%ecx)
40c47b:	89 55 90             	mov    %edx,-0x70(%ebp)
40c47e:	8b 12                	mov    (%edx),%edx
40c480:	b8 74 80 40 00       	mov    $0x408074,%eax
40c485:	89 41 08             	mov    %eax,0x8(%ecx)
40c488:	8b 45 90             	mov    -0x70(%ebp),%eax
40c48b:	50                   	push   %eax
40c48c:	89 71 0c             	mov    %esi,0xc(%ecx)
40c48f:	ff 52 44             	call   *0x44(%edx)
40c492:	db e2                	fnclex
40c494:	85 c0                	test   %eax,%eax
40c496:	7d 12                	jge    0x40c4aa
40c498:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40c49b:	6a 44                	push   $0x44
40c49d:	68 b4 7c 40 00       	push   $0x407cb4
40c4a2:	51                   	push   %ecx
40c4a3:	50                   	push   %eax
40c4a4:	ff 15 48 10 40 00    	call   *0x401048
40c4aa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c4ad:	ff 15 ac 11 40 00    	call   *0x4011ac
40c4b3:	eb 09                	jmp    0x40c4be
40c4b5:	8b 75 e0             	mov    -0x20(%ebp),%esi
40c4b8:	8b 7d d8             	mov    -0x28(%ebp),%edi
40c4bb:	8b 5d d0             	mov    -0x30(%ebp),%ebx
40c4be:	68 8c 77 40 00       	push   $0x40778c
40c4c3:	ff 15 1c 10 40 00    	call   *0x40101c
40c4c9:	83 f8 01             	cmp    $0x1,%eax
40c4cc:	0f 84 e7 00 00 00    	je     0x40c5b9
40c4d2:	a1 38 03 41 00       	mov    0x410338,%eax
40c4d7:	85 c0                	test   %eax,%eax
40c4d9:	75 10                	jne    0x40c4eb
40c4db:	68 38 03 41 00       	push   $0x410338
40c4e0:	68 c4 7c 40 00       	push   $0x407cc4
40c4e5:	ff 15 28 11 40 00    	call   *0x401128
40c4eb:	8b 0d 38 03 41 00    	mov    0x410338,%ecx
40c4f1:	8b 11                	mov    (%ecx),%edx
40c4f3:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40c4f6:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c4f9:	51                   	push   %ecx
40c4fa:	83 ec 10             	sub    $0x10,%esp
40c4fd:	8b cc                	mov    %esp,%ecx
40c4ff:	b8 03 00 00 00       	mov    $0x3,%eax
40c504:	89 01                	mov    %eax,(%ecx)
40c506:	8b 45 98             	mov    -0x68(%ebp),%eax
40c509:	89 41 04             	mov    %eax,0x4(%ecx)
40c50c:	b8 cb 62 64 00       	mov    $0x6462cb,%eax
40c511:	89 41 08             	mov    %eax,0x8(%ecx)
40c514:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c517:	89 41 0c             	mov    %eax,0xc(%ecx)
40c51a:	83 ec 10             	sub    $0x10,%esp
40c51d:	8b cc                	mov    %esp,%ecx
40c51f:	b8 03 00 00 00       	mov    $0x3,%eax
40c524:	89 01                	mov    %eax,(%ecx)
40c526:	8b 45 a8             	mov    -0x58(%ebp),%eax
40c529:	89 41 04             	mov    %eax,0x4(%ecx)
40c52c:	b8 81 64 55 00       	mov    $0x556481,%eax
40c531:	89 41 08             	mov    %eax,0x8(%ecx)
40c534:	8b 45 b0             	mov    -0x50(%ebp),%eax
40c537:	89 41 0c             	mov    %eax,0xc(%ecx)
40c53a:	83 ec 10             	sub    $0x10,%esp
40c53d:	8b cc                	mov    %esp,%ecx
40c53f:	b8 02 00 00 00       	mov    $0x2,%eax
40c544:	89 01                	mov    %eax,(%ecx)
40c546:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c549:	89 41 04             	mov    %eax,0x4(%ecx)
40c54c:	b8 18 00 00 00       	mov    $0x18,%eax
40c551:	89 41 08             	mov    %eax,0x8(%ecx)
40c554:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c557:	89 41 0c             	mov    %eax,0xc(%ecx)
40c55a:	83 ec 10             	sub    $0x10,%esp
40c55d:	8b cc                	mov    %esp,%ecx
40c55f:	b8 03 00 00 00       	mov    $0x3,%eax
40c564:	89 01                	mov    %eax,(%ecx)
40c566:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c569:	89 41 04             	mov    %eax,0x4(%ecx)
40c56c:	b8 9b 92 00 00       	mov    $0x929b,%eax
40c571:	89 41 08             	mov    %eax,0x8(%ecx)
40c574:	89 59 0c             	mov    %ebx,0xc(%ecx)
40c577:	83 ec 10             	sub    $0x10,%esp
40c57a:	8b cc                	mov    %esp,%ecx
40c57c:	b8 08 00 00 00       	mov    $0x8,%eax
40c581:	89 01                	mov    %eax,(%ecx)
40c583:	89 79 04             	mov    %edi,0x4(%ecx)
40c586:	b8 90 80 40 00       	mov    $0x408090,%eax
40c58b:	89 41 08             	mov    %eax,0x8(%ecx)
40c58e:	8b 45 90             	mov    -0x70(%ebp),%eax
40c591:	50                   	push   %eax
40c592:	89 71 0c             	mov    %esi,0xc(%ecx)
40c595:	ff 52 44             	call   *0x44(%edx)
40c598:	db e2                	fnclex
40c59a:	85 c0                	test   %eax,%eax
40c59c:	7d 12                	jge    0x40c5b0
40c59e:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40c5a1:	6a 44                	push   $0x44
40c5a3:	68 b4 7c 40 00       	push   $0x407cb4
40c5a8:	51                   	push   %ecx
40c5a9:	50                   	push   %eax
40c5aa:	ff 15 48 10 40 00    	call   *0x401048
40c5b0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c5b3:	ff 15 ac 11 40 00    	call   *0x4011ac
40c5b9:	68 a4 80 40 00       	push   $0x4080a4
40c5be:	ff 15 1c 10 40 00    	call   *0x40101c
40c5c4:	83 f8 01             	cmp    $0x1,%eax
40c5c7:	0f 84 e7 00 00 00    	je     0x40c6b4
40c5cd:	a1 38 03 41 00       	mov    0x410338,%eax
40c5d2:	85 c0                	test   %eax,%eax
40c5d4:	75 10                	jne    0x40c5e6
40c5d6:	68 38 03 41 00       	push   $0x410338
40c5db:	68 c4 7c 40 00       	push   $0x407cc4
40c5e0:	ff 15 28 11 40 00    	call   *0x401128
40c5e6:	8b 0d 38 03 41 00    	mov    0x410338,%ecx
40c5ec:	8b 11                	mov    (%ecx),%edx
40c5ee:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40c5f1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c5f4:	51                   	push   %ecx
40c5f5:	83 ec 10             	sub    $0x10,%esp
40c5f8:	8b cc                	mov    %esp,%ecx
40c5fa:	b8 03 00 00 00       	mov    $0x3,%eax
40c5ff:	89 01                	mov    %eax,(%ecx)
40c601:	8b 45 98             	mov    -0x68(%ebp),%eax
40c604:	89 41 04             	mov    %eax,0x4(%ecx)
40c607:	b8 8a 91 4d 00       	mov    $0x4d918a,%eax
40c60c:	89 41 08             	mov    %eax,0x8(%ecx)
40c60f:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c612:	89 41 0c             	mov    %eax,0xc(%ecx)
40c615:	83 ec 10             	sub    $0x10,%esp
40c618:	8b cc                	mov    %esp,%ecx
40c61a:	b8 03 00 00 00       	mov    $0x3,%eax
40c61f:	89 01                	mov    %eax,(%ecx)
40c621:	8b 45 a8             	mov    -0x58(%ebp),%eax
40c624:	89 41 04             	mov    %eax,0x4(%ecx)
40c627:	b8 95 9a 2b 00       	mov    $0x2b9a95,%eax
40c62c:	89 41 08             	mov    %eax,0x8(%ecx)
40c62f:	8b 45 b0             	mov    -0x50(%ebp),%eax
40c632:	89 41 0c             	mov    %eax,0xc(%ecx)
40c635:	83 ec 10             	sub    $0x10,%esp
40c638:	8b cc                	mov    %esp,%ecx
40c63a:	b8 02 00 00 00       	mov    $0x2,%eax
40c63f:	89 01                	mov    %eax,(%ecx)
40c641:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c644:	89 41 04             	mov    %eax,0x4(%ecx)
40c647:	b8 18 00 00 00       	mov    $0x18,%eax
40c64c:	89 41 08             	mov    %eax,0x8(%ecx)
40c64f:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c652:	89 41 0c             	mov    %eax,0xc(%ecx)
40c655:	83 ec 10             	sub    $0x10,%esp
40c658:	8b cc                	mov    %esp,%ecx
40c65a:	b8 03 00 00 00       	mov    $0x3,%eax
40c65f:	89 01                	mov    %eax,(%ecx)
40c661:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c664:	89 41 04             	mov    %eax,0x4(%ecx)
40c667:	b8 49 c5 60 00       	mov    $0x60c549,%eax
40c66c:	89 41 08             	mov    %eax,0x8(%ecx)
40c66f:	89 59 0c             	mov    %ebx,0xc(%ecx)
40c672:	83 ec 10             	sub    $0x10,%esp
40c675:	8b cc                	mov    %esp,%ecx
40c677:	b8 08 00 00 00       	mov    $0x8,%eax
40c67c:	89 01                	mov    %eax,(%ecx)
40c67e:	89 79 04             	mov    %edi,0x4(%ecx)
40c681:	b8 ac 80 40 00       	mov    $0x4080ac,%eax
40c686:	89 41 08             	mov    %eax,0x8(%ecx)
40c689:	8b 45 90             	mov    -0x70(%ebp),%eax
40c68c:	50                   	push   %eax
40c68d:	89 71 0c             	mov    %esi,0xc(%ecx)
40c690:	ff 52 44             	call   *0x44(%edx)
40c693:	db e2                	fnclex
40c695:	85 c0                	test   %eax,%eax
40c697:	7d 12                	jge    0x40c6ab
40c699:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40c69c:	6a 44                	push   $0x44
40c69e:	68 b4 7c 40 00       	push   $0x407cb4
40c6a3:	51                   	push   %ecx
40c6a4:	50                   	push   %eax
40c6a5:	ff 15 48 10 40 00    	call   *0x401048
40c6ab:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c6ae:	ff 15 ac 11 40 00    	call   *0x4011ac
40c6b4:	68 cc 80 40 00       	push   $0x4080cc
40c6b9:	ff 15 1c 10 40 00    	call   *0x40101c
40c6bf:	83 f8 01             	cmp    $0x1,%eax
40c6c2:	0f 84 e7 00 00 00    	je     0x40c7af
40c6c8:	a1 38 03 41 00       	mov    0x410338,%eax
40c6cd:	85 c0                	test   %eax,%eax
40c6cf:	75 10                	jne    0x40c6e1
40c6d1:	68 38 03 41 00       	push   $0x410338
40c6d6:	68 c4 7c 40 00       	push   $0x407cc4
40c6db:	ff 15 28 11 40 00    	call   *0x401128
40c6e1:	8b 0d 38 03 41 00    	mov    0x410338,%ecx
40c6e7:	8b 11                	mov    (%ecx),%edx
40c6e9:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40c6ec:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c6ef:	51                   	push   %ecx
40c6f0:	83 ec 10             	sub    $0x10,%esp
40c6f3:	8b cc                	mov    %esp,%ecx
40c6f5:	b8 03 00 00 00       	mov    $0x3,%eax
40c6fa:	89 01                	mov    %eax,(%ecx)
40c6fc:	8b 45 98             	mov    -0x68(%ebp),%eax
40c6ff:	89 41 04             	mov    %eax,0x4(%ecx)
40c702:	b8 7e bc 71 00       	mov    $0x71bc7e,%eax
40c707:	89 41 08             	mov    %eax,0x8(%ecx)
40c70a:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c70d:	89 41 0c             	mov    %eax,0xc(%ecx)
40c710:	83 ec 10             	sub    $0x10,%esp
40c713:	8b cc                	mov    %esp,%ecx
40c715:	b8 03 00 00 00       	mov    $0x3,%eax
40c71a:	89 01                	mov    %eax,(%ecx)
40c71c:	8b 45 a8             	mov    -0x58(%ebp),%eax
40c71f:	89 41 04             	mov    %eax,0x4(%ecx)
40c722:	b8 12 ef 72 00       	mov    $0x72ef12,%eax
40c727:	89 41 08             	mov    %eax,0x8(%ecx)
40c72a:	8b 45 b0             	mov    -0x50(%ebp),%eax
40c72d:	89 41 0c             	mov    %eax,0xc(%ecx)
40c730:	83 ec 10             	sub    $0x10,%esp
40c733:	8b cc                	mov    %esp,%ecx
40c735:	b8 02 00 00 00       	mov    $0x2,%eax
40c73a:	89 01                	mov    %eax,(%ecx)
40c73c:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c73f:	89 41 04             	mov    %eax,0x4(%ecx)
40c742:	b8 18 00 00 00       	mov    $0x18,%eax
40c747:	89 41 08             	mov    %eax,0x8(%ecx)
40c74a:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c74d:	89 41 0c             	mov    %eax,0xc(%ecx)
40c750:	83 ec 10             	sub    $0x10,%esp
40c753:	8b cc                	mov    %esp,%ecx
40c755:	b8 03 00 00 00       	mov    $0x3,%eax
40c75a:	89 01                	mov    %eax,(%ecx)
40c75c:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c75f:	89 41 04             	mov    %eax,0x4(%ecx)
40c762:	b8 5e 0a 45 00       	mov    $0x450a5e,%eax
40c767:	89 41 08             	mov    %eax,0x8(%ecx)
40c76a:	89 59 0c             	mov    %ebx,0xc(%ecx)
40c76d:	83 ec 10             	sub    $0x10,%esp
40c770:	8b cc                	mov    %esp,%ecx
40c772:	b8 08 00 00 00       	mov    $0x8,%eax
40c777:	89 01                	mov    %eax,(%ecx)
40c779:	89 79 04             	mov    %edi,0x4(%ecx)
40c77c:	b8 d4 80 40 00       	mov    $0x4080d4,%eax
40c781:	89 41 08             	mov    %eax,0x8(%ecx)
40c784:	8b 45 90             	mov    -0x70(%ebp),%eax
40c787:	50                   	push   %eax
40c788:	89 71 0c             	mov    %esi,0xc(%ecx)
40c78b:	ff 52 44             	call   *0x44(%edx)
40c78e:	db e2                	fnclex
40c790:	85 c0                	test   %eax,%eax
40c792:	7d 12                	jge    0x40c7a6
40c794:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40c797:	6a 44                	push   $0x44
40c799:	68 b4 7c 40 00       	push   $0x407cb4
40c79e:	51                   	push   %ecx
40c79f:	50                   	push   %eax
40c7a0:	ff 15 48 10 40 00    	call   *0x401048
40c7a6:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c7a9:	ff 15 ac 11 40 00    	call   *0x4011ac
40c7af:	68 94 77 40 00       	push   $0x407794
40c7b4:	ff 15 1c 10 40 00    	call   *0x40101c
40c7ba:	83 f8 01             	cmp    $0x1,%eax
40c7bd:	0f 84 e7 00 00 00    	je     0x40c8aa
40c7c3:	a1 38 03 41 00       	mov    0x410338,%eax
40c7c8:	85 c0                	test   %eax,%eax
40c7ca:	75 10                	jne    0x40c7dc
40c7cc:	68 38 03 41 00       	push   $0x410338
40c7d1:	68 c4 7c 40 00       	push   $0x407cc4
40c7d6:	ff 15 28 11 40 00    	call   *0x401128
40c7dc:	8b 0d 38 03 41 00    	mov    0x410338,%ecx
40c7e2:	8b 11                	mov    (%ecx),%edx
40c7e4:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40c7e7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c7ea:	51                   	push   %ecx
40c7eb:	83 ec 10             	sub    $0x10,%esp
40c7ee:	8b cc                	mov    %esp,%ecx
40c7f0:	b8 03 00 00 00       	mov    $0x3,%eax
40c7f5:	89 01                	mov    %eax,(%ecx)
40c7f7:	8b 45 98             	mov    -0x68(%ebp),%eax
40c7fa:	89 41 04             	mov    %eax,0x4(%ecx)
40c7fd:	b8 7c ee 05 00       	mov    $0x5ee7c,%eax
40c802:	89 41 08             	mov    %eax,0x8(%ecx)
40c805:	8b 45 a0             	mov    -0x60(%ebp),%eax
40c808:	89 41 0c             	mov    %eax,0xc(%ecx)
40c80b:	83 ec 10             	sub    $0x10,%esp
40c80e:	8b cc                	mov    %esp,%ecx
40c810:	b8 03 00 00 00       	mov    $0x3,%eax
40c815:	89 01                	mov    %eax,(%ecx)
40c817:	8b 45 a8             	mov    -0x58(%ebp),%eax
40c81a:	89 41 04             	mov    %eax,0x4(%ecx)
40c81d:	b8 0f 30 19 00       	mov    $0x19300f,%eax
40c822:	89 41 08             	mov    %eax,0x8(%ecx)
40c825:	8b 45 b0             	mov    -0x50(%ebp),%eax
40c828:	89 41 0c             	mov    %eax,0xc(%ecx)
40c82b:	83 ec 10             	sub    $0x10,%esp
40c82e:	8b cc                	mov    %esp,%ecx
40c830:	b8 02 00 00 00       	mov    $0x2,%eax
40c835:	89 01                	mov    %eax,(%ecx)
40c837:	8b 45 b8             	mov    -0x48(%ebp),%eax
40c83a:	89 41 04             	mov    %eax,0x4(%ecx)