40c369:	68 d4 43 40 00       	push   $0x4043d4
40c36e:	56                   	push   %esi
40c36f:	68 98 40 40 00       	push   $0x404098
40c374:	68 54 2b 40 00       	push   $0x402b54
40c379:	53                   	push   %ebx
40c37a:	8b cf                	mov    %edi,%ecx
40c37c:	e8 33 ef ff ff       	call   0x40b2b4
40c381:	85 c0                	test   %eax,%eax
40c383:	74 0a                	je     0x40c38f
40c385:	68 54 2b 40 00       	push   $0x402b54
40c38a:	e9 65 04 00 00       	jmp    0x40c7f4
40c38f:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c392:	8b cf                	mov    %edi,%ecx
40c394:	50                   	push   %eax
40c395:	b8 10 2b 40 00       	mov    $0x402b10,%eax
40c39a:	50                   	push   %eax
40c39b:	56                   	push   %esi
40c39c:	68 9c 40 40 00       	push   $0x40409c
40c3a1:	50                   	push   %eax
40c3a2:	e8 69 eb ff ff       	call   0x40af10
40c3a7:	84 c0                	test   %al,%al
40c3a9:	74 4c                	je     0x40c3f7
40c3ab:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c3af:	8b 55 d8             	mov    -0x28(%ebp),%edx
40c3b2:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
40c3b9:	73 03                	jae    0x40c3be
40c3bb:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c3be:	b9 a0 11 41 00       	mov    $0x4111a0,%ecx
40c3c3:	e8 ac 17 00 00       	call   0x40db74
40c3c8:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c3cb:	83 f8 ff             	cmp    $0xffffffff,%eax
40c3ce:	75 0a                	jne    0x40c3da
40c3d0:	68 10 2b 40 00       	push   $0x402b10
40c3d5:	e9 27 04 00 00       	jmp    0x40c801
40c3da:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c3dd:	50                   	push   %eax
40c3de:	6a 00                	push   $0x0
40c3e0:	6a 12                	push   $0x12
40c3e2:	53                   	push   %ebx
40c3e3:	ff 15 18 20 41 00    	call   *0x412018
40c3e9:	85 c0                	test   %eax,%eax
40c3eb:	75 0a                	jne    0x40c3f7
40c3ed:	68 10 2b 40 00       	push   $0x402b10
40c3f2:	e9 e8 fb ff ff       	jmp    0x40bfdf
40c3f7:	6a 13                	push   $0x13
40c3f9:	b8 80 2b 40 00       	mov    $0x402b80,%eax
40c3fe:	8b cf                	mov    %edi,%ecx
40c400:	50                   	push   %eax
40c401:	56                   	push   %esi
40c402:	68 a4 40 40 00       	push   $0x4040a4
40c407:	50                   	push   %eax
40c408:	53                   	push   %ebx
40c409:	e8 a6 ee ff ff       	call   0x40b2b4
40c40e:	85 c0                	test   %eax,%eax
40c410:	74 0a                	je     0x40c41c
40c412:	68 80 2b 40 00       	push   $0x402b80
40c417:	e9 d8 03 00 00       	jmp    0x40c7f4
40c41c:	6a 14                	push   $0x14
40c41e:	b8 ac 2b 40 00       	mov    $0x402bac,%eax
40c423:	8b cf                	mov    %edi,%ecx
40c425:	50                   	push   %eax
40c426:	56                   	push   %esi
40c427:	68 ac 40 40 00       	push   $0x4040ac
40c42c:	50                   	push   %eax
40c42d:	53                   	push   %ebx
40c42e:	e8 81 ee ff ff       	call   0x40b2b4
40c433:	85 c0                	test   %eax,%eax
40c435:	74 0a                	je     0x40c441
40c437:	68 ac 2b 40 00       	push   $0x402bac
40c43c:	e9 b3 03 00 00       	jmp    0x40c7f4
40c441:	6a 18                	push   $0x18
40c443:	68 f8 43 40 00       	push   $0x4043f8
40c448:	56                   	push   %esi
40c449:	68 b4 40 40 00       	push   $0x4040b4
40c44e:	68 28 29 40 00       	push   $0x402928
40c453:	53                   	push   %ebx
40c454:	8b cf                	mov    %edi,%ecx
40c456:	e8 59 ee ff ff       	call   0x40b2b4
40c45b:	85 c0                	test   %eax,%eax
40c45d:	74 0a                	je     0x40c469
40c45f:	68 28 29 40 00       	push   $0x402928
40c464:	e9 8b 03 00 00       	jmp    0x40c7f4
40c469:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c46c:	8b cf                	mov    %edi,%ecx
40c46e:	50                   	push   %eax
40c46f:	b8 f0 2b 40 00       	mov    $0x402bf0,%eax
40c474:	50                   	push   %eax
40c475:	56                   	push   %esi
40c476:	68 bc 40 40 00       	push   $0x4040bc
40c47b:	50                   	push   %eax
40c47c:	e8 8f ea ff ff       	call   0x40af10
40c481:	84 c0                	test   %al,%al
40c483:	74 4c                	je     0x40c4d1
40c485:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c489:	8b 55 d8             	mov    -0x28(%ebp),%edx
40c48c:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
40c493:	73 03                	jae    0x40c498
40c495:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c498:	b9 60 11 41 00       	mov    $0x411160,%ecx
40c49d:	e8 d2 16 00 00       	call   0x40db74
40c4a2:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c4a5:	83 f8 ff             	cmp    $0xffffffff,%eax
40c4a8:	75 0a                	jne    0x40c4b4
40c4aa:	68 f0 2b 40 00       	push   $0x402bf0
40c4af:	e9 4d 03 00 00       	jmp    0x40c801
40c4b4:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c4b7:	50                   	push   %eax
40c4b8:	6a 00                	push   $0x0
40c4ba:	6a 15                	push   $0x15
40c4bc:	53                   	push   %ebx
40c4bd:	ff 15 18 20 41 00    	call   *0x412018
40c4c3:	85 c0                	test   %eax,%eax
40c4c5:	75 0a                	jne    0x40c4d1
40c4c7:	68 f0 2b 40 00       	push   $0x402bf0
40c4cc:	e9 0e fb ff ff       	jmp    0x40bfdf
40c4d1:	8b 4f 08             	mov    0x8(%edi),%ecx
40c4d4:	8d 45 d7             	lea    -0x29(%ebp),%eax
40c4d7:	50                   	push   %eax
40c4d8:	68 7c 24 40 00       	push   $0x40247c
40c4dd:	68 f0 40 40 00       	push   $0x4040f0
40c4e2:	68 3c 2c 40 00       	push   $0x402c3c
40c4e7:	c6 45 d7 00          	movb   $0x0,-0x29(%ebp)
40c4eb:	e8 5a a4 ff ff       	call   0x40694a
40c4f0:	50                   	push   %eax
40c4f1:	ff 15 08 40 41 00    	call   *0x414008
40c4f7:	89 45 cc             	mov    %eax,-0x34(%ebp)
40c4fa:	33 c0                	xor    %eax,%eax
40c4fc:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40c4ff:	89 45 a8             	mov    %eax,-0x58(%ebp)
40c502:	89 45 ac             	mov    %eax,-0x54(%ebp)
40c505:	83 ec 0c             	sub    $0xc,%esp
40c508:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40c50c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40c50f:	8b cc                	mov    %esp,%ecx
40c511:	50                   	push   %eax
40c512:	e8 57 05 00 00       	call   0x40ca6e
40c517:	8d 4d 88             	lea    -0x78(%ebp),%ecx
40c51a:	e8 99 06 00 00       	call   0x40cbb8
40c51f:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40c523:	80 7d d7 00          	cmpb   $0x0,-0x29(%ebp)
40c527:	0f 85 85 00 00 00    	jne    0x40c5b2
40c52d:	85 f6                	test   %esi,%esi
40c52f:	0f 84 57 01 00 00    	je     0x40c68c
40c535:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c538:	ba 3c 2c 40 00       	mov    $0x402c3c,%edx
40c53d:	50                   	push   %eax
40c53e:	8b ce                	mov    %esi,%ecx
40c540:	e8 01 b7 ff ff       	call   0x407c46
40c545:	85 c0                	test   %eax,%eax
40c547:	79 0a                	jns    0x40c553
40c549:	68 3c 2c 40 00       	push   $0x402c3c
40c54e:	e9 a1 02 00 00       	jmp    0x40c7f4
40c553:	0f 85 33 01 00 00    	jne    0x40c68c
40c559:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c55c:	85 c0                	test   %eax,%eax
40c55e:	74 23                	je     0x40c583
40c560:	50                   	push   %eax
40c561:	ff 15 04 40 41 00    	call   *0x414004
40c567:	85 c0                	test   %eax,%eax
40c569:	74 18                	je     0x40c583
40c56b:	8d 47 18             	lea    0x18(%edi),%eax
40c56e:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
40c572:	72 02                	jb     0x40c576
40c574:	8b 00                	mov    (%eax),%eax
40c576:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40c579:	51                   	push   %ecx
40c57a:	ff 75 cc             	push   -0x34(%ebp)
40c57d:	50                   	push   %eax
40c57e:	e8 91 02 00 00       	call   0x40c814
40c583:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c586:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c589:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c58c:	50                   	push   %eax
40c58d:	33 c0                	xor    %eax,%eax
40c58f:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
40c596:	50                   	push   %eax
40c597:	6a 16                	push   $0x16
40c599:	53                   	push   %ebx
40c59a:	ff 15 18 20 41 00    	call   *0x412018
40c5a0:	85 c0                	test   %eax,%eax
40c5a2:	0f 85 9f 00 00 00    	jne    0x40c647
40c5a8:	68 3c 2c 40 00       	push   $0x402c3c
40c5ad:	e9 2d fa ff ff       	jmp    0x40bfdf
40c5b2:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c5b5:	85 c0                	test   %eax,%eax
40c5b7:	74 ca                	je     0x40c583
40c5b9:	50                   	push   %eax
40c5ba:	ff 15 04 40 41 00    	call   *0x414004
40c5c0:	85 c0                	test   %eax,%eax
40c5c2:	74 bf                	je     0x40c583
40c5c4:	8b 4f 08             	mov    0x8(%edi),%ecx
40c5c7:	8d 45 d7             	lea    -0x29(%ebp),%eax
40c5ca:	50                   	push   %eax
40c5cb:	68 88 2c 40 00       	push   $0x402c88
40c5d0:	68 20 41 40 00       	push   $0x404120
40c5d5:	68 f8 40 40 00       	push   $0x4040f8
40c5da:	e8 6b a3 ff ff       	call   0x40694a
40c5df:	89 45 b0             	mov    %eax,-0x50(%ebp)
40c5e2:	85 c0                	test   %eax,%eax
40c5e4:	74 85                	je     0x40c56b
40c5e6:	68 88 2c 40 00       	push   $0x402c88
40c5eb:	50                   	push   %eax
40c5ec:	ff 15 a0 21 41 00    	call   *0x4121a0
40c5f2:	59                   	pop    %ecx
40c5f3:	59                   	pop    %ecx
40c5f4:	85 c0                	test   %eax,%eax
40c5f6:	0f 84 6f ff ff ff    	je     0x40c56b
40c5fc:	8b 55 b0             	mov    -0x50(%ebp),%edx
40c5ff:	8d 42 02             	lea    0x2(%edx),%eax
40c602:	89 45 d0             	mov    %eax,-0x30(%ebp)
40c605:	33 c0                	xor    %eax,%eax
40c607:	66 8b 0a             	mov    (%edx),%cx
40c60a:	83 c2 02             	add    $0x2,%edx
40c60d:	66 3b c8             	cmp    %ax,%cx
40c610:	75 f5                	jne    0x40c607
40c612:	2b 55 d0             	sub    -0x30(%ebp),%edx
40c615:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40c618:	50                   	push   %eax
40c619:	50                   	push   %eax
40c61a:	8d 45 b8             	lea    -0x48(%ebp),%eax
40c61d:	d1 fa                	sar    $1,%edx
40c61f:	50                   	push   %eax
40c620:	89 55 d0             	mov    %edx,-0x30(%ebp)
40c623:	e8 7c b3 ff ff       	call   0x4079a4
40c628:	8b 45 d0             	mov    -0x30(%ebp),%eax
40c62b:	8b 4d b0             	mov    -0x50(%ebp),%ecx
40c62e:	40                   	inc    %eax
40c62f:	ff 75 9c             	push   -0x64(%ebp)
40c632:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40c635:	50                   	push   %eax
40c636:	51                   	push   %ecx
40c637:	ff 75 a4             	push   -0x5c(%ebp)
40c63a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40c63d:	e8 0c 06 00 00       	call   0x40cc4e
40c642:	e9 3c ff ff ff       	jmp    0x40c583
40c647:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
40c64b:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
40c652:	74 17                	je     0x40c66b
40c654:	ff 75 cc             	push   -0x34(%ebp)
40c657:	ff 15 04 40 41 00    	call   *0x414004
40c65d:	85 c0                	test   %eax,%eax
40c65f:	74 0a                	je     0x40c66b
40c661:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40c664:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c667:	33 c0                	xor    %eax,%eax
40c669:	eb 05                	jmp    0x40c670
40c66b:	33 c0                	xor    %eax,%eax
40c66d:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c670:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c673:	51                   	push   %ecx
40c674:	50                   	push   %eax
40c675:	6a 17                	push   $0x17
40c677:	53                   	push   %ebx
40c678:	ff 15 18 20 41 00    	call   *0x412018
40c67e:	85 c0                	test   %eax,%eax
40c680:	75 0a                	jne    0x40c68c
40c682:	68 38 44 40 00       	push   $0x404438
40c687:	e9 53 f9 ff ff       	jmp    0x40bfdf
40c68c:	6a 19                	push   $0x19
40c68e:	b8 2c 2a 40 00       	mov    $0x402a2c,%eax
40c693:	8b cf                	mov    %edi,%ecx
40c695:	50                   	push   %eax
40c696:	56                   	push   %esi
40c697:	68 28 41 40 00       	push   $0x404128
40c69c:	50                   	push   %eax
40c69d:	53                   	push   %ebx
40c69e:	e8 d2 e9 ff ff       	call   0x40b075
40c6a3:	85 c0                	test   %eax,%eax
40c6a5:	74 0a                	je     0x40c6b1
40c6a7:	68 2c 2a 40 00       	push   $0x402a2c
40c6ac:	e9 43 01 00 00       	jmp    0x40c7f4
40c6b1:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c6b4:	8b cf                	mov    %edi,%ecx
40c6b6:	50                   	push   %eax
40c6b7:	b8 f8 26 40 00       	mov    $0x4026f8,%eax
40c6bc:	50                   	push   %eax
40c6bd:	56                   	push   %esi
40c6be:	68 30 41 40 00       	push   $0x404130
40c6c3:	50                   	push   %eax
40c6c4:	e8 47 e8 ff ff       	call   0x40af10
40c6c9:	84 c0                	test   %al,%al
40c6cb:	74 4d                	je     0x40c71a
40c6cd:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40c6d1:	8b 55 d8             	mov    -0x28(%ebp),%edx
40c6d4:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
40c6db:	73 03                	jae    0x40c6e0
40c6dd:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c6e0:	b9 10 12 41 00       	mov    $0x411210,%ecx
40c6e5:	e8 8a 14 00 00       	call   0x40db74
40c6ea:	89 45 bc             	mov    %eax,-0x44(%ebp)
40c6ed:	83 f8 ff             	cmp    $0xffffffff,%eax
40c6f0:	75 0a                	jne    0x40c6fc
40c6f2:	68 f8 26 40 00       	push   $0x4026f8
40c6f7:	e9 05 01 00 00       	jmp    0x40c801
40c6fc:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c6ff:	50                   	push   %eax
40c700:	33 c0                	xor    %eax,%eax
40c702:	50                   	push   %eax
40c703:	6a 1b                	push   $0x1b
40c705:	53                   	push   %ebx
40c706:	ff 15 18 20 41 00    	call   *0x412018
40c70c:	85 c0                	test   %eax,%eax
40c70e:	75 0a                	jne    0x40c71a
40c710:	68 f8 26 40 00       	push   $0x4026f8
40c715:	e9 c5 f8 ff ff       	jmp    0x40bfdf
40c71a:	6a 1c                	push   $0x1c
40c71c:	68 58 44 40 00       	push   $0x404458
40c721:	56                   	push   %esi
40c722:	68 58 41 40 00       	push   $0x404158
40c727:	68 38 41 40 00       	push   $0x404138
40c72c:	53                   	push   %ebx
40c72d:	8b cf                	mov    %edi,%ecx
40c72f:	e8 12 ec ff ff       	call   0x40b346
40c734:	85 c0                	test   %eax,%eax
40c736:	74 0a                	je     0x40c742
40c738:	68 38 41 40 00       	push   $0x404138
40c73d:	e9 b2 00 00 00       	jmp    0x40c7f4
40c742:	6a 1d                	push   $0x1d
40c744:	68 d8 44 40 00       	push   $0x4044d8
40c749:	56                   	push   %esi
40c74a:	68 80 41 40 00       	push   $0x404180
40c74f:	68 60 41 40 00       	push   $0x404160
40c754:	53                   	push   %ebx
40c755:	8b cf                	mov    %edi,%ecx
40c757:	e8 ea eb ff ff       	call   0x40b346
40c75c:	85 c0                	test   %eax,%eax
40c75e:	74 0a                	je     0x40c76a
40c760:	68 60 41 40 00       	push   $0x404160
40c765:	e9 8a 00 00 00       	jmp    0x40c7f4
40c76a:	6a 1e                	push   $0x1e
40c76c:	68 50 45 40 00       	push   $0x404550
40c771:	56                   	push   %esi
40c772:	68 a0 22 40 00       	push   $0x4022a0
40c777:	68 88 41 40 00       	push   $0x404188
40c77c:	53                   	push   %ebx
40c77d:	8b cf                	mov    %edi,%ecx
40c77f:	e8 c2 eb ff ff       	call   0x40b346
40c784:	85 c0                	test   %eax,%eax
40c786:	74 07                	je     0x40c78f
40c788:	68 88 41 40 00       	push   $0x404188
40c78d:	eb 65                	jmp    0x40c7f4
40c78f:	6a 1f                	push   $0x1f
40c791:	b8 cc 2d 40 00       	mov    $0x402dcc,%eax
40c796:	8b cf                	mov    %edi,%ecx
40c798:	50                   	push   %eax
40c799:	56                   	push   %esi
40c79a:	68 a8 41 40 00       	push   $0x4041a8
40c79f:	50                   	push   %eax
40c7a0:	53                   	push   %ebx
40c7a1:	e8 0e eb ff ff       	call   0x40b2b4