4743d6:	79 08                	jns    0x4743e0
4743d8:	83 c8 ff             	or     $0xffffffff,%eax
4743db:	e9 ce 8f fa ff       	jmp    0x41d3ae
4743e0:	33 c0                	xor    %eax,%eax
4743e2:	85 ff                	test   %edi,%edi
4743e4:	0f 9f c0             	setg   %al
4743e7:	e9 c2 8f fa ff       	jmp    0x41d3ae
4743ec:	8b 4e 08             	mov    0x8(%esi),%ecx
4743ef:	8b 79 10             	mov    0x10(%ecx),%edi
4743f2:	85 c9                	test   %ecx,%ecx
4743f4:	74 06                	je     0x4743fc
4743f6:	51                   	push   %ecx
4743f7:	e8 1a 82 fa ff       	call   0x41c616
4743fc:	89 7e 08             	mov    %edi,0x8(%esi)
4743ff:	c6 46 0d 00          	movb   $0x0,0xd(%esi)
474403:	e9 ef 81 fa ff       	jmp    0x41c5f7
474408:	ff 37                	push   (%edi)
47440a:	e8 4f b1 fa ff       	call   0x41f55e
47440f:	ff 77 0c             	push   0xc(%edi)
474412:	e8 47 b1 fa ff       	call   0x41f55e
474417:	59                   	pop    %ecx
474418:	59                   	pop    %ecx
474419:	e9 39 78 f9 ff       	jmp    0x40bc57
47441e:	6a 20                	push   $0x20
474420:	e8 c5 b0 fa ff       	call   0x41f4ea
474425:	8b f8                	mov    %eax,%edi
474427:	59                   	pop    %ecx
474428:	85 ff                	test   %edi,%edi
47442a:	74 09                	je     0x474435
47442c:	8b cf                	mov    %edi,%ecx
47442e:	e8 c4 93 f9 ff       	call   0x40d7f7
474433:	eb 02                	jmp    0x474437
474435:	33 ff                	xor    %edi,%edi
474437:	53                   	push   %ebx
474438:	8b cf                	mov    %edi,%ecx
47443a:	89 3e                	mov    %edi,(%esi)
47443c:	e8 ac 2a f9 ff       	call   0x406eed
474441:	8b 0e                	mov    (%esi),%ecx
474443:	8b 43 10             	mov    0x10(%ebx),%eax
474446:	89 41 10             	mov    %eax,0x10(%ecx)
474449:	8b 0e                	mov    (%esi),%ecx
47444b:	8b 43 14             	mov    0x14(%ebx),%eax
47444e:	89 41 14             	mov    %eax,0x14(%ecx)
474451:	8b 06                	mov    (%esi),%eax
474453:	8b 4d fc             	mov    -0x4(%ebp),%ecx
474456:	83 60 18 00          	andl   $0x0,0x18(%eax)
47445a:	8b 06                	mov    (%esi),%eax
47445c:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
474460:	8b 06                	mov    (%esi),%eax
474462:	ff 73 18             	push   0x18(%ebx)
474465:	83 c0 18             	add    $0x18,%eax
474468:	50                   	push   %eax
474469:	e8 60 e7 f8 ff       	call   0x402bce
47446e:	8b 36                	mov    (%esi),%esi
474470:	8b 5b 1c             	mov    0x1c(%ebx),%ebx
474473:	83 c6 1c             	add    $0x1c,%esi
474476:	e9 63 e7 f8 ff       	jmp    0x402bde
47447b:	85 c9                	test   %ecx,%ecx
47447d:	0f 85 0a 96 f9 ff    	jne    0x40da8d
474483:	85 db                	test   %ebx,%ebx
474485:	0f 85 b6 95 f9 ff    	jne    0x40da41
47448b:	e9 73 95 f9 ff       	jmp    0x40da03
474490:	ff 75 0c             	push   0xc(%ebp)
474493:	8b 49 14             	mov    0x14(%ecx),%ecx
474496:	e8 13 98 f9 ff       	call   0x40dcae
47449b:	e9 46 93 f9 ff       	jmp    0x40d7e6
4744a0:	dc 25 f8 26 4b 00    	fsubl  0x4b26f8
4744a6:	dd 5d f8             	fstpl  -0x8(%ebp)
4744a9:	8b 7d f8             	mov    -0x8(%ebp),%edi
4744ac:	2b 7d 10             	sub    0x10(%ebp),%edi
4744af:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4744b2:	1b 4d 14             	sbb    0x14(%ebp),%ecx
4744b5:	83 ef 0a             	sub    $0xa,%edi
4744b8:	83 d9 00             	sbb    $0x0,%ecx
4744bb:	2b 5d 10             	sub    0x10(%ebp),%ebx
4744be:	1b 45 14             	sbb    0x14(%ebp),%eax
4744c1:	3b c1                	cmp    %ecx,%eax
4744c3:	0f 8c e7 8b f9 ff    	jl     0x40d0b0
4744c9:	7f 08                	jg     0x4744d3
4744cb:	3b df                	cmp    %edi,%ebx
4744cd:	0f 82 dd 8b f9 ff    	jb     0x40d0b0
4744d3:	83 c6 ff             	add    $0xffffffff,%esi
4744d6:	83 d2 ff             	adc    $0xffffffff,%edx
4744d9:	e9 d2 8b f9 ff       	jmp    0x40d0b0
4744de:	33 d2                	xor    %edx,%edx
4744e0:	e9 96 4b f9 ff       	jmp    0x40907b
4744e5:	33 c0                	xor    %eax,%eax
4744e7:	e9 59 e4 f8 ff       	jmp    0x402945
4744ec:	8b 06                	mov    (%esi),%eax
4744ee:	85 c0                	test   %eax,%eax
4744f0:	0f 84 bc 9b f9 ff    	je     0x40e0b2
4744f6:	50                   	push   %eax
4744f7:	ff 15 4c d4 48 00    	call   *0x48d44c
4744fd:	ff 36                	push   (%esi)
4744ff:	e8 5a b0 fa ff       	call   0x41f55e
474504:	83 c4 04             	add    $0x4,%esp
474507:	e9 a6 9b f9 ff       	jmp    0x40e0b2
47450c:	8b 0e                	mov    (%esi),%ecx
47450e:	85 c9                	test   %ecx,%ecx
474510:	0f 84 9c 9b f9 ff    	je     0x40e0b2
474516:	51                   	push   %ecx
474517:	e8 4f 5c fd ff       	call   0x44a16b
47451c:	e9 91 9b f9 ff       	jmp    0x40e0b2
474521:	8b 06                	mov    (%esi),%eax
474523:	ff 70 04             	push   0x4(%eax)
474526:	e8 33 b0 fa ff       	call   0x41f55e
47452b:	ff 36                	push   (%esi)
47452d:	e8 2c b0 fa ff       	call   0x41f55e
474532:	83 c4 08             	add    $0x8,%esp
474535:	e9 78 9b f9 ff       	jmp    0x40e0b2
47453a:	8b 0e                	mov    (%esi),%ecx
47453c:	85 c9                	test   %ecx,%ecx
47453e:	0f 84 6e 9b f9 ff    	je     0x40e0b2
474544:	51                   	push   %ecx
474545:	e8 79 52 fc ff       	call   0x4397c3
47454a:	e9 63 9b f9 ff       	jmp    0x40e0b2
47454f:	8b 0e                	mov    (%esi),%ecx
474551:	85 c9                	test   %ecx,%ecx
474553:	0f 84 59 9b f9 ff    	je     0x40e0b2
474559:	51                   	push   %ecx
47455a:	e8 8e 52 fc ff       	call   0x4397ed
47455f:	e9 4e 9b f9 ff       	jmp    0x40e0b2
474564:	8b 0e                	mov    (%esi),%ecx
474566:	85 c9                	test   %ecx,%ecx
474568:	0f 84 44 9b f9 ff    	je     0x40e0b2
47456e:	51                   	push   %ecx
47456f:	e8 25 e5 f8 ff       	call   0x402a99
474574:	e9 39 9b f9 ff       	jmp    0x40e0b2
474579:	83 3e 00             	cmpl   $0x0,(%esi)
47457c:	0f 84 6d 97 f9 ff    	je     0x40dcef
474582:	ff 36                	push   (%esi)
474584:	ff 15 4c d4 48 00    	call   *0x48d44c
47458a:	ff 36                	push   (%esi)
47458c:	e8 cd af fa ff       	call   0x41f55e
474591:	eb 12                	jmp    0x4745a5
474593:	8b 06                	mov    (%esi),%eax
474595:	ff 70 04             	push   0x4(%eax)
474598:	e8 c1 af fa ff       	call   0x41f55e
47459d:	ff 36                	push   (%esi)
47459f:	e8 ba af fa ff       	call   0x41f55e
4745a4:	59                   	pop    %ecx
4745a5:	59                   	pop    %ecx
4745a6:	e9 44 97 f9 ff       	jmp    0x40dcef
4745ab:	83 f8 0c             	cmp    $0xc,%eax
4745ae:	74 3e                	je     0x4745ee
4745b0:	0f 8e 39 97 f9 ff    	jle    0x40dcef
4745b6:	83 f8 0e             	cmp    $0xe,%eax
4745b9:	7e 1e                	jle    0x4745d9
4745bb:	83 f8 0f             	cmp    $0xf,%eax
4745be:	0f 85 2b 97 f9 ff    	jne    0x40dcef
4745c4:	8b 0e                	mov    (%esi),%ecx
4745c6:	85 c9                	test   %ecx,%ecx
4745c8:	0f 84 21 97 f9 ff    	je     0x40dcef
4745ce:	51                   	push   %ecx
4745cf:	e8 19 52 fc ff       	call   0x4397ed
4745d4:	e9 16 97 f9 ff       	jmp    0x40dcef
4745d9:	8b 0e                	mov    (%esi),%ecx
4745db:	85 c9                	test   %ecx,%ecx
4745dd:	0f 84 0c 97 f9 ff    	je     0x40dcef
4745e3:	51                   	push   %ecx
4745e4:	e8 b0 e4 f8 ff       	call   0x402a99
4745e9:	e9 01 97 f9 ff       	jmp    0x40dcef
4745ee:	8b 0e                	mov    (%esi),%ecx
4745f0:	85 c9                	test   %ecx,%ecx
4745f2:	0f 84 f7 96 f9 ff    	je     0x40dcef
4745f8:	51                   	push   %ecx
4745f9:	e8 c5 51 fc ff       	call   0x4397c3
4745fe:	e9 ec 96 f9 ff       	jmp    0x40dcef
474603:	ff 37                	push   (%edi)
474605:	e8 54 af fa ff       	call   0x41f55e
47460a:	ff 77 0c             	push   0xc(%edi)
47460d:	e8 4c af fa ff       	call   0x41f55e
474612:	83 c4 08             	add    $0x8,%esp
474615:	e9 c2 e5 f9 ff       	jmp    0x412bdc
47461a:	8b c7                	mov    %edi,%eax
47461c:	e9 e5 e5 f9 ff       	jmp    0x412c06
474621:	85 c0                	test   %eax,%eax
474623:	0f 84 ec 87 f9 ff    	je     0x40ce15
474629:	8b c8                	mov    %eax,%ecx
47462b:	e8 c7 91 f9 ff       	call   0x40d7f7
474630:	e9 bc 87 f9 ff       	jmp    0x40cdf1
474635:	8b cf                	mov    %edi,%ecx
474637:	e8 57 89 f9 ff       	call   0x40cf93
47463c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47463f:	8b f0                	mov    %eax,%esi
474641:	8b fa                	mov    %edx,%edi
474643:	e8 4b 89 f9 ff       	call   0x40cf93
474648:	3b f0                	cmp    %eax,%esi
47464a:	0f 85 04 8b f9 ff    	jne    0x40d154
474650:	3b fa                	cmp    %edx,%edi
474652:	0f 85 fc 8a f9 ff    	jne    0x40d154
474658:	e9 1e 8b f9 ff       	jmp    0x40d17b
47465d:	8b cf                	mov    %edi,%ecx
47465f:	e8 13 6f fd ff       	call   0x44b577
474664:	8b ce                	mov    %esi,%ecx
474666:	8b d8                	mov    %eax,%ebx
474668:	e8 0a 6f fd ff       	call   0x44b577
47466d:	e9 9c 8a f9 ff       	jmp    0x40d10e
474672:	8b cf                	mov    %edi,%ecx
474674:	e8 d4 6e fd ff       	call   0x44b54d
474679:	8b ce                	mov    %esi,%ecx
47467b:	8b d0                	mov    %eax,%edx
47467d:	e8 cb 6e fd ff       	call   0x44b54d
474682:	eb 10                	jmp    0x474694
474684:	8b cf                	mov    %edi,%ecx
474686:	e8 03 60 fd ff       	call   0x44a68e
47468b:	8b ce                	mov    %esi,%ecx
47468d:	8b d0                	mov    %eax,%edx
47468f:	e8 fa 5f fd ff       	call   0x44a68e
474694:	2b d0                	sub    %eax,%edx
474696:	f7 da                	neg    %edx
474698:	1b d2                	sbb    %edx,%edx
47469a:	42                   	inc    %edx
47469b:	8a c2                	mov    %dl,%al
47469d:	e9 75 8a f9 ff       	jmp    0x40d117
4746a2:	33 db                	xor    %ebx,%ebx
4746a4:	83 f9 08             	cmp    $0x8,%ecx
4746a7:	75 04                	jne    0x4746ad
4746a9:	8b 07                	mov    (%edi),%eax
4746ab:	eb 02                	jmp    0x4746af
4746ad:	8b c3                	mov    %ebx,%eax
4746af:	85 c0                	test   %eax,%eax
4746b1:	0f 84 5e 8a f9 ff    	je     0x40d115
4746b7:	83 fa 08             	cmp    $0x8,%edx
4746ba:	75 04                	jne    0x4746c0
4746bc:	8b 06                	mov    (%esi),%eax
4746be:	eb 02                	jmp    0x4746c2
4746c0:	8b c3                	mov    %ebx,%eax
4746c2:	85 c0                	test   %eax,%eax
4746c4:	0f 84 4b 8a f9 ff    	je     0x40d115
4746ca:	83 fa 08             	cmp    $0x8,%edx
4746cd:	75 04                	jne    0x4746d3
4746cf:	8b 16                	mov    (%esi),%edx
4746d1:	eb 02                	jmp    0x4746d5
4746d3:	8b d3                	mov    %ebx,%edx
4746d5:	83 f9 08             	cmp    $0x8,%ecx
4746d8:	75 04                	jne    0x4746de
4746da:	8b 0f                	mov    (%edi),%ecx
4746dc:	eb 02                	jmp    0x4746e0
4746de:	8b cb                	mov    %ebx,%ecx
4746e0:	e8 9b 57 fd ff       	call   0x449e80
4746e5:	84 c0                	test   %al,%al
4746e7:	0f 84 28 8a f9 ff    	je     0x40d115
4746ed:	33 db                	xor    %ebx,%ebx
4746ef:	43                   	inc    %ebx
4746f0:	e9 20 8a f9 ff       	jmp    0x40d115
4746f5:	83 f9 0b             	cmp    $0xb,%ecx
4746f8:	75 43                	jne    0x47473d
4746fa:	3b d1                	cmp    %ecx,%edx
4746fc:	75 3f                	jne    0x47473d
4746fe:	8b cf                	mov    %edi,%ecx
474700:	e8 99 6e fd ff       	call   0x44b59e
474705:	8b ce                	mov    %esi,%ecx
474707:	8b d0                	mov    %eax,%edx
474709:	e8 90 6e fd ff       	call   0x44b59e
47470e:	3b d0                	cmp    %eax,%edx
474710:	0f 85 6a 8a f9 ff    	jne    0x40d180
474716:	8b cf                	mov    %edi,%ecx
474718:	e8 81 6e fd ff       	call   0x44b59e
47471d:	50                   	push   %eax
47471e:	51                   	push   %ecx
47471f:	8b ce                	mov    %esi,%ecx
474721:	e8 35 6e fd ff       	call   0x44b55b
474726:	59                   	pop    %ecx
474727:	50                   	push   %eax
474728:	8b cf                	mov    %edi,%ecx
47472a:	e8 2c 6e fd ff       	call   0x44b55b
47472f:	50                   	push   %eax
474730:	e8 2e ae fa ff       	call   0x41f563
474735:	83 c4 0c             	add    $0xc,%esp
474738:	e9 37 8a f9 ff       	jmp    0x40d174
47473d:	33 db                	xor    %ebx,%ebx
47473f:	57                   	push   %edi
474740:	8d 4d e0             	lea    -0x20(%ebp),%ecx
474743:	89 5d e8             	mov    %ebx,-0x18(%ebp)
474746:	e8 d5 cf f9 ff       	call   0x411720
47474b:	56                   	push   %esi
47474c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47474f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
474752:	e8 c9 cf f9 ff       	call   0x411720
474757:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47475a:	e8 76 5d fd ff       	call   0x44a4d5
47475f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474762:	e8 6e 5d fd ff       	call   0x44a4d5
474767:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47476a:	e8 2f 6e fd ff       	call   0x44b59e
47476f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474772:	8b d0                	mov    %eax,%edx
474774:	e8 25 6e fd ff       	call   0x44b59e
474779:	3b d0                	cmp    %eax,%edx
47477b:	75 22                	jne    0x47479f
47477d:	52                   	push   %edx
47477e:	51                   	push   %ecx
47477f:	e8 d7 6d fd ff       	call   0x44b55b
474784:	59                   	pop    %ecx
474785:	50                   	push   %eax
474786:	8d 4d e0             	lea    -0x20(%ebp),%ecx
474789:	e8 cd 6d fd ff       	call   0x44b55b
47478e:	50                   	push   %eax
47478f:	e8 cf ad fa ff       	call   0x41f563
474794:	83 c4 0c             	add    $0xc,%esp
474797:	f7 d8                	neg    %eax
474799:	1a c0                	sbb    %al,%al
47479b:	fe c0                	inc    %al
47479d:	8a d8                	mov    %al,%bl
47479f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4747a2:	e8 79 e4 f9 ff       	call   0x412c20
4747a7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4747aa:	e8 71 e4 f9 ff       	call   0x412c20
4747af:	e9 61 89 f9 ff       	jmp    0x40d115
4747b4:	8d 45 c0             	lea    -0x40(%ebp),%eax
4747b7:	50                   	push   %eax
4747b8:	8b ce                	mov    %esi,%ecx
4747ba:	e8 de 5e fd ff       	call   0x44a69d
4747bf:	8b f0                	mov    %eax,%esi
4747c1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4747c4:	50                   	push   %eax
4747c5:	8b cf                	mov    %edi,%ecx
4747c7:	e8 d1 5e fd ff       	call   0x44a69d
4747cc:	8b d6                	mov    %esi,%edx
4747ce:	8b c8                	mov    %eax,%ecx
4747d0:	e8 51 21 f9 ff       	call   0x406926
4747d5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4747d8:	8a d8                	mov    %al,%bl
4747da:	e8 58 83 f9 ff       	call   0x40cb37
4747df:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4747e2:	e8 50 83 f9 ff       	call   0x40cb37
4747e7:	e9 29 89 f9 ff       	jmp    0x40d115
4747ec:	33 db                	xor    %ebx,%ebx
4747ee:	83 f9 0f             	cmp    $0xf,%ecx
4747f1:	75 04                	jne    0x4747f7
4747f3:	8b 07                	mov    (%edi),%eax
4747f5:	eb 02                	jmp    0x4747f9
4747f7:	8b c3                	mov    %ebx,%eax
4747f9:	8b 48 0c             	mov    0xc(%eax),%ecx
4747fc:	83 fa 0f             	cmp    $0xf,%edx
4747ff:	75 02                	jne    0x474803
474801:	8b 1e                	mov    (%esi),%ebx
474803:	33 c0                	xor    %eax,%eax
474805:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
474808:	0f 94 c0             	sete   %al
47480b:	e9 07 89 f9 ff       	jmp    0x40d117
474810:	48                   	dec    %eax
474811:	74 2d                	je     0x474840
474813:	83 e8 03             	sub    $0x3,%eax
474816:	74 0f                	je     0x474827
474818:	48                   	dec    %eax
474819:	48                   	dec    %eax
47481a:	0f 84 e9 fc f9 ff    	je     0x414509
474820:	32 c0                	xor    %al,%al