516406:	89 85 38 04 00 00    	mov    %eax,0x438(%ebp)
51640c:	53                   	push   %ebx
51640d:	56                   	push   %esi
51640e:	57                   	push   %edi
51640f:	50                   	push   %eax
516410:	8d 45 f4             	lea    -0xc(%ebp),%eax
516413:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
516419:	8b f1                	mov    %ecx,%esi
51641b:	8b bd 48 04 00 00    	mov    0x448(%ebp),%edi
516421:	8d 85 34 03 00 00    	lea    0x334(%ebp),%eax
516427:	6a 00                	push   $0x0
516429:	6a 00                	push   $0x0
51642b:	68 04 01 00 00       	push   $0x104
516430:	50                   	push   %eax
516431:	6a 00                	push   $0x0
516433:	6a 00                	push   $0x0
516435:	ff 37                	push   (%edi)
516437:	e8 a7 6b f1 ff       	call   0x42cfe3
51643c:	8b 06                	mov    (%esi),%eax
51643e:	8d 4d 00             	lea    0x0(%ebp),%ecx
516441:	83 c4 1c             	add    $0x1c,%esp
516444:	6a 0d                	push   $0xd
516446:	51                   	push   %ecx
516447:	8b ce                	mov    %esi,%ecx
516449:	ff 50 10             	call   *0x10(%eax)
51644c:	8b 85 08 01 00 00    	mov    0x108(%ebp),%eax
516452:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
516459:	80 38 00             	cmpb   $0x0,(%eax)
51645c:	74 08                	je     0x516466
51645e:	8d 4d 00             	lea    0x0(%ebp),%ecx
516461:	e8 7f ba f0 ff       	call   0x421ee5
516466:	68 e4 cc bd 00       	push   $0xbdcce4
51646b:	8d 4d 00             	lea    0x0(%ebp),%ecx
51646e:	e8 52 c5 f1 ff       	call   0x4329c5
516473:	8d 45 f0             	lea    -0x10(%ebp),%eax
516476:	50                   	push   %eax
516477:	e8 5f 32 f1 ff       	call   0x4296db
51647c:	83 c4 04             	add    $0x4,%esp
51647f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
516482:	8d 55 00             	lea    0x0(%ebp),%edx
516485:	6a 01                	push   $0x1
516487:	52                   	push   %edx
516488:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
51648c:	8b 01                	mov    (%ecx),%eax
51648e:	ff 50 2c             	call   *0x2c(%eax)
516491:	c7 85 e0 02 00 00 0f 	movl   $0xf,0x2e0(%ebp)
516498:	00 00 00
51649b:	c7 85 dc 02 00 00 00 	movl   $0x0,0x2dc(%ebp)
5164a2:	00 00 00
5164a5:	c6 85 cc 02 00 00 00 	movb   $0x0,0x2cc(%ebp)
5164ac:	80 bd 34 03 00 00 00 	cmpb   $0x0,0x334(%ebp)
5164b3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5164b7:	c7 85 18 03 00 00 0f 	movl   $0xf,0x318(%ebp)
5164be:	00 00 00
5164c1:	c7 85 14 03 00 00 00 	movl   $0x0,0x314(%ebp)
5164c8:	00 00 00
5164cb:	c6 85 04 03 00 00 00 	movb   $0x0,0x304(%ebp)
5164d2:	75 04                	jne    0x5164d8
5164d4:	33 c9                	xor    %ecx,%ecx
5164d6:	eb 12                	jmp    0x5164ea
5164d8:	8d 8d 34 03 00 00    	lea    0x334(%ebp),%ecx
5164de:	8d 51 01             	lea    0x1(%ecx),%edx
5164e1:	8a 01                	mov    (%ecx),%al
5164e3:	41                   	inc    %ecx
5164e4:	84 c0                	test   %al,%al
5164e6:	75 f9                	jne    0x5164e1
5164e8:	2b ca                	sub    %edx,%ecx
5164ea:	51                   	push   %ecx
5164eb:	8d 85 34 03 00 00    	lea    0x334(%ebp),%eax
5164f1:	50                   	push   %eax
5164f2:	8d 8d 04 03 00 00    	lea    0x304(%ebp),%ecx
5164f8:	e8 94 e1 ef ff       	call   0x414691
5164fd:	6a 03                	push   $0x3
5164ff:	68 04 cd bd 00       	push   $0xbdcd04
516504:	8d 8d 1c 03 00 00    	lea    0x31c(%ebp),%ecx
51650a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
51650e:	c7 85 30 03 00 00 0f 	movl   $0xf,0x330(%ebp)
516515:	00 00 00
516518:	c7 85 2c 03 00 00 00 	movl   $0x0,0x32c(%ebp)
51651f:	00 00 00
516522:	c6 85 1c 03 00 00 00 	movb   $0x0,0x31c(%ebp)
516529:	e8 63 e1 ef ff       	call   0x414691
51652e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
516531:	8d 95 cc 02 00 00    	lea    0x2cc(%ebp),%edx
516537:	52                   	push   %edx
516538:	8d 95 04 03 00 00    	lea    0x304(%ebp),%edx
51653e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
516542:	52                   	push   %edx
516543:	8b 01                	mov    (%ecx),%eax
516545:	8d 95 1c 03 00 00    	lea    0x31c(%ebp),%edx
51654b:	52                   	push   %edx
51654c:	8b 40 18             	mov    0x18(%eax),%eax
51654f:	ff d0                	call   *%eax
516551:	84 c0                	test   %al,%al
516553:	8b 85 30 03 00 00    	mov    0x330(%ebp),%eax
516559:	0f 94 c3             	sete   %bl
51655c:	83 f8 10             	cmp    $0x10,%eax
51655f:	72 13                	jb     0x516574
516561:	40                   	inc    %eax
516562:	8d 8d 1c 03 00 00    	lea    0x31c(%ebp),%ecx
516568:	50                   	push   %eax
516569:	ff b5 1c 03 00 00    	push   0x31c(%ebp)
51656f:	e8 a8 e0 f1 ff       	call   0x43461c
516574:	8b 85 18 03 00 00    	mov    0x318(%ebp),%eax
51657a:	c7 85 30 03 00 00 0f 	movl   $0xf,0x330(%ebp)
516581:	00 00 00
516584:	c7 85 2c 03 00 00 00 	movl   $0x0,0x32c(%ebp)
51658b:	00 00 00
51658e:	c6 85 1c 03 00 00 00 	movb   $0x0,0x31c(%ebp)
516595:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
516599:	83 f8 10             	cmp    $0x10,%eax
51659c:	72 13                	jb     0x5165b1
51659e:	40                   	inc    %eax
51659f:	8d 8d 04 03 00 00    	lea    0x304(%ebp),%ecx
5165a5:	50                   	push   %eax
5165a6:	ff b5 04 03 00 00    	push   0x304(%ebp)
5165ac:	e8 6b e0 f1 ff       	call   0x43461c
5165b1:	84 db                	test   %bl,%bl
5165b3:	0f 84 22 02 00 00    	je     0x5167db
5165b9:	6a 58                	push   $0x58
5165bb:	68 08 cd bd 00       	push   $0xbdcd08
5165c0:	8d 8d 1c 03 00 00    	lea    0x31c(%ebp),%ecx
5165c6:	c7 85 30 03 00 00 0f 	movl   $0xf,0x330(%ebp)
5165cd:	00 00 00
5165d0:	c7 85 2c 03 00 00 00 	movl   $0x0,0x32c(%ebp)
5165d7:	00 00 00
5165da:	c6 85 1c 03 00 00 00 	movb   $0x0,0x31c(%ebp)
5165e1:	e8 ab e0 ef ff       	call   0x414691
5165e6:	6a 08                	push   $0x8
5165e8:	68 74 cd bd 00       	push   $0xbdcd74
5165ed:	8d 8d b4 02 00 00    	lea    0x2b4(%ebp),%ecx
5165f3:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5165f7:	c7 85 c8 02 00 00 0f 	movl   $0xf,0x2c8(%ebp)
5165fe:	00 00 00
516601:	c7 85 c4 02 00 00 00 	movl   $0x0,0x2c4(%ebp)
516608:	00 00 00
51660b:	c6 85 b4 02 00 00 00 	movb   $0x0,0x2b4(%ebp)
516612:	e8 7a e0 ef ff       	call   0x414691
516617:	80 bd 34 03 00 00 00 	cmpb   $0x0,0x334(%ebp)
51661e:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
516622:	c7 85 98 02 00 00 0f 	movl   $0xf,0x298(%ebp)
516629:	00 00 00
51662c:	c7 85 94 02 00 00 00 	movl   $0x0,0x294(%ebp)
516633:	00 00 00
516636:	c6 85 84 02 00 00 00 	movb   $0x0,0x284(%ebp)
51663d:	75 04                	jne    0x516643
51663f:	33 c9                	xor    %ecx,%ecx
516641:	eb 16                	jmp    0x516659
516643:	8d 8d 34 03 00 00    	lea    0x334(%ebp),%ecx
516649:	8d 51 01             	lea    0x1(%ecx),%edx
51664c:	0f 1f 40 00          	nopl   0x0(%eax)
516650:	8a 01                	mov    (%ecx),%al
516652:	41                   	inc    %ecx
516653:	84 c0                	test   %al,%al
516655:	75 f9                	jne    0x516650
516657:	2b ca                	sub    %edx,%ecx
516659:	51                   	push   %ecx
51665a:	8d 85 34 03 00 00    	lea    0x334(%ebp),%eax
516660:	50                   	push   %eax
516661:	8d 8d 84 02 00 00    	lea    0x284(%ebp),%ecx
516667:	e8 25 e0 ef ff       	call   0x414691
51666c:	6a 06                	push   $0x6
51666e:	68 80 cd bd 00       	push   $0xbdcd80
516673:	8d 8d 04 03 00 00    	lea    0x304(%ebp),%ecx
516679:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
51667d:	c7 85 18 03 00 00 0f 	movl   $0xf,0x318(%ebp)
516684:	00 00 00
516687:	c7 85 14 03 00 00 00 	movl   $0x0,0x314(%ebp)
51668e:	00 00 00
516691:	c6 85 04 03 00 00 00 	movb   $0x0,0x304(%ebp)
516698:	e8 f4 df ef ff       	call   0x414691
51669d:	6a 2d                	push   $0x2d
51669f:	68 88 cd bd 00       	push   $0xbdcd88
5166a4:	8d 8d 9c 02 00 00    	lea    0x29c(%ebp),%ecx
5166aa:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5166ae:	c7 85 b0 02 00 00 0f 	movl   $0xf,0x2b0(%ebp)
5166b5:	00 00 00
5166b8:	c7 85 ac 02 00 00 00 	movl   $0x0,0x2ac(%ebp)
5166bf:	00 00 00
5166c2:	c6 85 9c 02 00 00 00 	movb   $0x0,0x29c(%ebp)
5166c9:	e8 c3 df ef ff       	call   0x414691
5166ce:	6a 32                	push   $0x32
5166d0:	8d 85 1c 03 00 00    	lea    0x31c(%ebp),%eax
5166d6:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
5166da:	50                   	push   %eax
5166db:	8d 85 b4 02 00 00    	lea    0x2b4(%ebp),%eax
5166e1:	50                   	push   %eax
5166e2:	8d 8d 10 01 00 00    	lea    0x110(%ebp),%ecx
5166e8:	e8 b0 63 f1 ff       	call   0x42ca9d
5166ed:	8b f0                	mov    %eax,%esi
5166ef:	6a 00                	push   $0x0
5166f1:	6a 00                	push   $0x0
5166f3:	8d 8d e8 02 00 00    	lea    0x2e8(%ebp),%ecx
5166f9:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
5166fd:	c7 85 e4 02 00 00 00 	movl   $0x0,0x2e4(%ebp)
516704:	00 00 00
516707:	c7 85 e8 02 00 00 00 	movl   $0x0,0x2e8(%ebp)
51670e:	00 00 00
516711:	c7 85 ec 02 00 00 00 	movl   $0x0,0x2ec(%ebp)
516718:	00 00 00
51671b:	e8 62 89 f0 ff       	call   0x41f082
516720:	89 85 e8 02 00 00    	mov    %eax,0x2e8(%ebp)
516726:	c7 85 f0 02 00 00 00 	movl   $0x0,0x2f0(%ebp)
51672d:	00 00 00
516730:	c7 85 f4 02 00 00 00 	movl   $0x0,0x2f4(%ebp)
516737:	00 00 00
51673a:	c7 85 f8 02 00 00 00 	movl   $0x0,0x2f8(%ebp)
516741:	00 00 00
516744:	6a 08                	push   $0x8
516746:	8d 8d e4 02 00 00    	lea    0x2e4(%ebp),%ecx
51674c:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
516750:	c7 85 e4 02 00 00 00 	movl   $0x3f800000,0x2e4(%ebp)
516757:	00 80 3f
51675a:	e8 f0 20 f0 ff       	call   0x41884f
51675f:	8d 85 04 03 00 00    	lea    0x304(%ebp),%eax
516765:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
516769:	50                   	push   %eax
51676a:	8d 45 ec             	lea    -0x14(%ebp),%eax
51676d:	50                   	push   %eax
51676e:	8d 8d e4 02 00 00    	lea    0x2e4(%ebp),%ecx
516774:	e8 b5 77 f1 ff       	call   0x42df2e
516779:	8b 45 ec             	mov    -0x14(%ebp),%eax
51677c:	3b 85 e8 02 00 00    	cmp    0x2e8(%ebp),%eax
516782:	75 28                	jne    0x5167ac
516784:	8d 85 04 03 00 00    	lea    0x304(%ebp),%eax
51678a:	89 45 ec             	mov    %eax,-0x14(%ebp)
51678d:	8d 8d e4 02 00 00    	lea    0x2e4(%ebp),%ecx
516793:	8d 45 eb             	lea    -0x15(%ebp),%eax
516796:	50                   	push   %eax
516797:	8d 45 ec             	lea    -0x14(%ebp),%eax
51679a:	50                   	push   %eax
51679b:	68 e3 cc bd 00       	push   $0xbdcce3
5167a0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5167a3:	50                   	push   %eax
5167a4:	e8 4b 5c f1 ff       	call   0x42c3f4
5167a9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5167ac:	8d 48 20             	lea    0x20(%eax),%ecx
5167af:	8d 85 84 02 00 00    	lea    0x284(%ebp),%eax
5167b5:	3b c8                	cmp    %eax,%ecx
5167b7:	74 0a                	je     0x5167c3
5167b9:	6a ff                	push   $0xffffffff
5167bb:	6a 00                	push   $0x0
5167bd:	50                   	push   %eax
5167be:	e8 3c 78 f2 ff       	call   0x43dfff
5167c3:	56                   	push   %esi
5167c4:	8d 85 e4 02 00 00    	lea    0x2e4(%ebp),%eax
5167ca:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
5167ce:	50                   	push   %eax
5167cf:	8d 85 9c 02 00 00    	lea    0x29c(%ebp),%eax
5167d5:	50                   	push   %eax
5167d6:	e8 c9 08 ef ff       	call   0x4070a4
5167db:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5167de:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5167e5:	85 c9                	test   %ecx,%ecx
5167e7:	74 06                	je     0x5167ef
5167e9:	8b 01                	mov    (%ecx),%eax
5167eb:	6a 01                	push   $0x1
5167ed:	ff 10                	call   *(%eax)
5167ef:	8d 85 60 01 00 00    	lea    0x160(%ebp),%eax
5167f5:	c7 85 68 02 00 00 04 	movl   $0x104,0x268(%ebp)
5167fc:	01 00 00
5167ff:	89 85 64 02 00 00    	mov    %eax,0x264(%ebp)
516805:	c6 85 60 01 00 00 00 	movb   $0x0,0x160(%ebp)
51680c:	c7 85 5c 01 00 00 04 	movl   $0xbd1d04,0x15c(%ebp)
516813:	1d bd 00
516816:	83 bd e0 02 00 00 10 	cmpl   $0x10,0x2e0(%ebp)
51681d:	8d 8d 5c 01 00 00    	lea    0x15c(%ebp),%ecx
516823:	8b 06                	mov    (%esi),%eax
516825:	8d 95 cc 02 00 00    	lea    0x2cc(%ebp),%edx
51682b:	0f 43 95 cc 02 00 00 	cmovae 0x2cc(%ebp),%edx
516832:	51                   	push   %ecx
516833:	68 28 a0 bd 00       	push   $0xbda028
516838:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
51683e:	8b ce                	mov    %esi,%ecx
516840:	52                   	push   %edx
516841:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
516845:	ff d0                	call   *%eax
516847:	84 c0                	test   %al,%al
516849:	0f 85 d1 00 00 00    	jne    0x516920
51684f:	68 08 cd bd 00       	push   $0xbdcd08
516854:	8d 8d 9c 02 00 00    	lea    0x29c(%ebp),%ecx
51685a:	e8 6b 04 f0 ff       	call   0x416cca
51685f:	68 74 cd bd 00       	push   $0xbdcd74
516864:	8d 8d b4 02 00 00    	lea    0x2b4(%ebp),%ecx
51686a:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
51686e:	e8 57 04 f0 ff       	call   0x416cca
516873:	68 a4 65 bd 00       	push   $0xbd65a4
516878:	8d 8d 04 03 00 00    	lea    0x304(%ebp),%ecx
51687e:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
516882:	e8 43 04 f0 ff       	call   0x416cca
516887:	8d 85 34 03 00 00    	lea    0x334(%ebp),%eax
51688d:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
516891:	50                   	push   %eax
516892:	8d 8d 1c 03 00 00    	lea    0x31c(%ebp),%ecx
516898:	e8 2d 04 f0 ff       	call   0x416cca
51689d:	68 0c 62 bd 00       	push   $0xbd620c
5168a2:	8d 8d 6c 02 00 00    	lea    0x26c(%ebp),%ecx
5168a8:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
5168ac:	e8 19 04 f0 ff       	call   0x416cca
5168b1:	68 c0 cd bd 00       	push   $0xbdcdc0
5168b6:	8d 8d ec 02 00 00    	lea    0x2ec(%ebp),%ecx
5168bc:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
5168c0:	e8 05 04 f0 ff       	call   0x416cca
5168c5:	6a 3a                	push   $0x3a
5168c7:	8d 85 9c 02 00 00    	lea    0x29c(%ebp),%eax
5168cd:	c6 45 fc 15          	movb   $0x15,-0x4(%ebp)
5168d1:	50                   	push   %eax
5168d2:	8d 85 b4 02 00 00    	lea    0x2b4(%ebp),%eax
5168d8:	50                   	push   %eax
5168d9:	8d 8d 10 01 00 00    	lea    0x110(%ebp),%ecx
5168df:	e8 b9 61 f1 ff       	call   0x42ca9d
5168e4:	8b f0                	mov    %eax,%esi
5168e6:	8d 85 cc 02 00 00    	lea    0x2cc(%ebp),%eax
5168ec:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
5168f0:	50                   	push   %eax
5168f1:	8d 85 04 03 00 00    	lea    0x304(%ebp),%eax
5168f7:	50                   	push   %eax
5168f8:	8d 85 1c 03 00 00    	lea    0x31c(%ebp),%eax
5168fe:	50                   	push   %eax
5168ff:	8d 85 6c 02 00 00    	lea    0x26c(%ebp),%eax
516905:	50                   	push   %eax
516906:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
516909:	e8 b3 9e ef ff       	call   0x4107c1
51690e:	56                   	push   %esi
51690f:	50                   	push   %eax
516910:	8d 85 ec 02 00 00    	lea    0x2ec(%ebp),%eax
516916:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
51691a:	50                   	push   %eax
51691b:	e8 84 07 ef ff       	call   0x4070a4
516920:	8d 4d e0             	lea    -0x20(%ebp),%ecx
516923:	e8 20 bd ef ff       	call   0x412648
516928:	6a 02                	push   $0x2
51692a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
51692d:	c6 45 fc 18          	movb   $0x18,-0x4(%ebp)
516931:	e8 fc fe f0 ff       	call   0x426832
516936:	8d 85 5c 01 00 00    	lea    0x15c(%ebp),%eax
51693c:	50                   	push   %eax
51693d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
516940:	e8 38 3f f2 ff       	call   0x43a87d
516945:	8b 8d 44 04 00 00    	mov    0x444(%ebp),%ecx
51694b:	83 f9 01             	cmp    $0x1,%ecx
51694e:	7e 10                	jle    0x516960
516950:	8d 47 04             	lea    0x4(%edi),%eax
516953:	50                   	push   %eax
516954:	8d 41 ff             	lea    -0x1(%ecx),%eax
516957:	50                   	push   %eax
516958:	8d 4d e0             	lea    -0x20(%ebp),%ecx
51695b:	e8 0f ec ee ff       	call   0x40556f
516960:	8d 85 ec 02 00 00    	lea    0x2ec(%ebp),%eax
516966:	50                   	push   %eax