40b435:	8b 45 10             	mov    0x10(%ebp),%eax
40b438:	83 f8 ff             	cmp    $0xffffffff,%eax
40b43b:	8b 3d f0 b1 44 00    	mov    0x44b1f0,%edi
40b441:	56                   	push   %esi
40b442:	56                   	push   %esi
40b443:	56                   	push   %esi
40b444:	56                   	push   %esi
40b445:	0f 44 c1             	cmove  %ecx,%eax
40b448:	51                   	push   %ecx
40b449:	89 43 04             	mov    %eax,0x4(%ebx)
40b44c:	ff d7                	call   *%edi
40b44e:	85 c0                	test   %eax,%eax
40b450:	75 32                	jne    0x40b484
40b452:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b458:	0f b7 f0             	movzwl %ax,%esi
40b45b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b461:	85 c0                	test   %eax,%eax
40b463:	0f 4e f0             	cmovle %eax,%esi
40b466:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b46b:	85 f6                	test   %esi,%esi
40b46d:	0f 49 f0             	cmovns %eax,%esi
40b470:	56                   	push   %esi
40b471:	6a 43                	push   $0x43
40b473:	68 d4 ed 44 00       	push   $0x44edd4
40b478:	e8 56 83 ff ff       	call   0x4037d3
40b47d:	68 10 ee 44 00       	push   $0x44ee10
40b482:	eb ab                	jmp    0x40b42f
40b484:	56                   	push   %esi
40b485:	8b 35 ec b1 44 00    	mov    0x44b1ec,%esi
40b48b:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b491:	50                   	push   %eax
40b492:	6a 40                	push   $0x40
40b494:	8d 45 bc             	lea    -0x44(%ebp),%eax
40b497:	50                   	push   %eax
40b498:	ff 33                	push   (%ebx)
40b49a:	ff d6                	call   *%esi
40b49c:	85 c0                	test   %eax,%eax
40b49e:	75 35                	jne    0x40b4d5
40b4a0:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b4a6:	0f b7 f0             	movzwl %ax,%esi
40b4a9:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b4af:	85 c0                	test   %eax,%eax
40b4b1:	0f 4e f0             	cmovle %eax,%esi
40b4b4:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b4b9:	85 f6                	test   %esi,%esi
40b4bb:	0f 49 f0             	cmovns %eax,%esi
40b4be:	56                   	push   %esi
40b4bf:	6a 49                	push   $0x49
40b4c1:	68 d4 ed 44 00       	push   $0x44edd4
40b4c6:	e8 08 83 ff ff       	call   0x4037d3
40b4cb:	68 34 ee 44 00       	push   $0x44ee34
40b4d0:	e9 5a ff ff ff       	jmp    0x40b42f
40b4d5:	83 bd 98 fe ff ff 40 	cmpl   $0x40,-0x168(%ebp)
40b4dc:	0f 82 f1 05 00 00    	jb     0x40bad3
40b4e2:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40b4e7:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
40b4eb:	0f 85 e2 05 00 00    	jne    0x40bad3
40b4f1:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b4f4:	6a 00                	push   $0x0
40b4f6:	6a 00                	push   $0x0
40b4f8:	99                   	cltd
40b4f9:	52                   	push   %edx
40b4fa:	50                   	push   %eax
40b4fb:	ff 33                	push   (%ebx)
40b4fd:	ff d7                	call   *%edi
40b4ff:	85 c0                	test   %eax,%eax
40b501:	75 35                	jne    0x40b538
40b503:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b509:	0f b7 f0             	movzwl %ax,%esi
40b50c:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b512:	85 c0                	test   %eax,%eax
40b514:	0f 4e f0             	cmovle %eax,%esi
40b517:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b51c:	85 f6                	test   %esi,%esi
40b51e:	0f 49 f0             	cmovns %eax,%esi
40b521:	56                   	push   %esi
40b522:	6a 59                	push   $0x59
40b524:	68 d4 ed 44 00       	push   $0x44edd4
40b529:	e8 a5 82 ff ff       	call   0x4037d3
40b52e:	68 84 ee 44 00       	push   $0x44ee84
40b533:	e9 f7 fe ff ff       	jmp    0x40b42f
40b538:	6a 00                	push   $0x0
40b53a:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b540:	50                   	push   %eax
40b541:	6a 18                	push   $0x18
40b543:	8d 85 c4 fe ff ff    	lea    -0x13c(%ebp),%eax
40b549:	50                   	push   %eax
40b54a:	ff 33                	push   (%ebx)
40b54c:	ff d6                	call   *%esi
40b54e:	85 c0                	test   %eax,%eax
40b550:	75 35                	jne    0x40b587
40b552:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b558:	0f b7 f0             	movzwl %ax,%esi
40b55b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b561:	85 c0                	test   %eax,%eax
40b563:	0f 4e f0             	cmovle %eax,%esi
40b566:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b56b:	85 f6                	test   %esi,%esi
40b56d:	0f 49 f0             	cmovns %eax,%esi
40b570:	56                   	push   %esi
40b571:	6a 5f                	push   $0x5f
40b573:	68 d4 ed 44 00       	push   $0x44edd4
40b578:	e8 56 82 ff ff       	call   0x4037d3
40b57d:	68 a4 ee 44 00       	push   $0x44eea4
40b582:	e9 a8 fe ff ff       	jmp    0x40b42f
40b587:	83 bd 98 fe ff ff 18 	cmpl   $0x18,-0x168(%ebp)
40b58e:	0f 82 24 05 00 00    	jb     0x40bab8
40b594:	81 bd c4 fe ff ff 50 	cmpl   $0x4550,-0x13c(%ebp)
40b59b:	45 00 00
40b59e:	0f 85 14 05 00 00    	jne    0x40bab8
40b5a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b5a7:	8d 48 58             	lea    0x58(%eax),%ecx
40b5aa:	05 98 00 00 00       	add    $0x98,%eax
40b5af:	89 8d 80 fe ff ff    	mov    %ecx,-0x180(%ebp)
40b5b5:	33 c9                	xor    %ecx,%ecx
40b5b7:	51                   	push   %ecx
40b5b8:	51                   	push   %ecx
40b5b9:	51                   	push   %ecx
40b5ba:	50                   	push   %eax
40b5bb:	ff 33                	push   (%ebx)
40b5bd:	89 85 7c fe ff ff    	mov    %eax,-0x184(%ebp)
40b5c3:	ff d7                	call   *%edi
40b5c5:	85 c0                	test   %eax,%eax
40b5c7:	75 35                	jne    0x40b5fe
40b5c9:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b5cf:	0f b7 f0             	movzwl %ax,%esi
40b5d2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b5d8:	85 c0                	test   %eax,%eax
40b5da:	0f 4e f0             	cmovle %eax,%esi
40b5dd:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b5e2:	85 f6                	test   %esi,%esi
40b5e4:	0f 49 f0             	cmovns %eax,%esi
40b5e7:	56                   	push   %esi
40b5e8:	6a 6f                	push   $0x6f
40b5ea:	68 d4 ed 44 00       	push   $0x44edd4
40b5ef:	e8 df 81 ff ff       	call   0x4037d3
40b5f4:	68 f0 ee 44 00       	push   $0x44eef0
40b5f9:	e9 31 fe ff ff       	jmp    0x40b42f
40b5fe:	6a 00                	push   $0x0
40b600:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b606:	50                   	push   %eax
40b607:	6a 04                	push   $0x4
40b609:	8d 85 8c fe ff ff    	lea    -0x174(%ebp),%eax
40b60f:	50                   	push   %eax
40b610:	ff 33                	push   (%ebx)
40b612:	ff d6                	call   *%esi
40b614:	85 c0                	test   %eax,%eax
40b616:	75 35                	jne    0x40b64d
40b618:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b61e:	0f b7 f0             	movzwl %ax,%esi
40b621:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b627:	85 c0                	test   %eax,%eax
40b629:	0f 4e f0             	cmovle %eax,%esi
40b62c:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b631:	85 f6                	test   %esi,%esi
40b633:	0f 49 f0             	cmovns %eax,%esi
40b636:	56                   	push   %esi
40b637:	6a 74                	push   $0x74
40b639:	68 d4 ed 44 00       	push   $0x44edd4
40b63e:	e8 90 81 ff ff       	call   0x4037d3
40b643:	68 10 ef 44 00       	push   $0x44ef10
40b648:	e9 e2 fd ff ff       	jmp    0x40b42f
40b64d:	6a 00                	push   $0x0
40b64f:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b655:	50                   	push   %eax
40b656:	6a 04                	push   $0x4
40b658:	8d 85 88 fe ff ff    	lea    -0x178(%ebp),%eax
40b65e:	50                   	push   %eax
40b65f:	ff 33                	push   (%ebx)
40b661:	ff d6                	call   *%esi
40b663:	85 c0                	test   %eax,%eax
40b665:	75 35                	jne    0x40b69c
40b667:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b66d:	0f b7 f0             	movzwl %ax,%esi
40b670:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b676:	85 c0                	test   %eax,%eax
40b678:	0f 4e f0             	cmovle %eax,%esi
40b67b:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b680:	85 f6                	test   %esi,%esi
40b682:	0f 49 f0             	cmovns %eax,%esi
40b685:	56                   	push   %esi
40b686:	6a 79                	push   $0x79
40b688:	68 d4 ed 44 00       	push   $0x44edd4
40b68d:	e8 41 81 ff ff       	call   0x4037d3
40b692:	68 34 ef 44 00       	push   $0x44ef34
40b697:	e9 93 fd ff ff       	jmp    0x40b42f
40b69c:	0f b7 8d d8 fe ff ff 	movzwl -0x128(%ebp),%ecx
40b6a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b6a6:	83 c1 18             	add    $0x18,%ecx
40b6a9:	03 c1                	add    %ecx,%eax
40b6ab:	33 c9                	xor    %ecx,%ecx
40b6ad:	51                   	push   %ecx
40b6ae:	51                   	push   %ecx
40b6af:	51                   	push   %ecx
40b6b0:	50                   	push   %eax
40b6b1:	ff 33                	push   (%ebx)
40b6b3:	ff d7                	call   *%edi
40b6b5:	85 c0                	test   %eax,%eax
40b6b7:	75 38                	jne    0x40b6f1
40b6b9:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b6bf:	0f b7 f0             	movzwl %ax,%esi
40b6c2:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b6c8:	85 c0                	test   %eax,%eax
40b6ca:	0f 4e f0             	cmovle %eax,%esi
40b6cd:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b6d2:	85 f6                	test   %esi,%esi
40b6d4:	0f 49 f0             	cmovns %eax,%esi
40b6d7:	56                   	push   %esi
40b6d8:	68 84 00 00 00       	push   $0x84
40b6dd:	68 d4 ed 44 00       	push   $0x44edd4
40b6e2:	e8 ec 80 ff ff       	call   0x4037d3
40b6e7:	68 54 ef 44 00       	push   $0x44ef54
40b6ec:	e9 3e fd ff ff       	jmp    0x40b42f
40b6f1:	33 ff                	xor    %edi,%edi
40b6f3:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b6f9:	57                   	push   %edi
40b6fa:	50                   	push   %eax
40b6fb:	6a 28                	push   $0x28
40b6fd:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
40b703:	89 bd 84 fe ff ff    	mov    %edi,-0x17c(%ebp)
40b709:	50                   	push   %eax
40b70a:	ff 33                	push   (%ebx)
40b70c:	ff d6                	call   *%esi
40b70e:	85 c0                	test   %eax,%eax
40b710:	0f 84 63 03 00 00    	je     0x40ba79
40b716:	33 c9                	xor    %ecx,%ecx
40b718:	41                   	inc    %ecx
40b719:	83 bd 98 fe ff ff 28 	cmpl   $0x28,-0x168(%ebp)
40b720:	0f 82 2e 03 00 00    	jb     0x40ba54
40b726:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
40b72c:	81 38 2e 77 69 78    	cmpl   $0x7869772e,(%eax)
40b732:	75 09                	jne    0x40b73d
40b734:	81 78 04 62 75 72 6e 	cmpl   $0x6e727562,0x4(%eax)
40b73b:	74 43                	je     0x40b780
40b73d:	0f b7 85 ca fe ff ff 	movzwl -0x136(%ebp),%eax
40b744:	3b c8                	cmp    %eax,%ecx
40b746:	0f 83 cb 02 00 00    	jae    0x40ba17
40b74c:	6a 00                	push   $0x0
40b74e:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b754:	47                   	inc    %edi
40b755:	50                   	push   %eax
40b756:	6a 28                	push   $0x28
40b758:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
40b75e:	89 bd 84 fe ff ff    	mov    %edi,-0x17c(%ebp)
40b764:	50                   	push   %eax
40b765:	ff 33                	push   (%ebx)
40b767:	41                   	inc    %ecx
40b768:	89 8d 90 fe ff ff    	mov    %ecx,-0x170(%ebp)
40b76e:	ff d6                	call   *%esi
40b770:	85 c0                	test   %eax,%eax
40b772:	0f 84 01 03 00 00    	je     0x40ba79
40b778:	8b 8d 90 fe ff ff    	mov    -0x170(%ebp),%ecx
40b77e:	eb 99                	jmp    0x40b719
40b780:	83 bd ac fe ff ff 34 	cmpl   $0x34,-0x154(%ebp)
40b787:	73 27                	jae    0x40b7b0
40b789:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
40b78e:	57                   	push   %edi
40b78f:	68 ac 00 00 00       	push   $0xac
40b794:	68 d4 ed 44 00       	push   $0x44edd4
40b799:	8b f7                	mov    %edi,%esi
40b79b:	e8 33 80 ff ff       	call   0x4037d3
40b7a0:	ff b5 ac fe ff ff    	push   -0x154(%ebp)
40b7a6:	68 10 f0 44 00       	push   $0x44f010
40b7ab:	e9 c6 02 00 00       	jmp    0x40ba76
40b7b0:	6a 01                	push   $0x1
40b7b2:	ff b5 ac fe ff ff    	push   -0x154(%ebp)
40b7b8:	e8 17 81 ff ff       	call   0x4038d4
40b7bd:	8b f8                	mov    %eax,%edi
40b7bf:	89 bd 94 fe ff ff    	mov    %edi,-0x16c(%ebp)
40b7c5:	85 ff                	test   %edi,%edi
40b7c7:	75 22                	jne    0x40b7eb
40b7c9:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
40b7ce:	53                   	push   %ebx
40b7cf:	68 b1 00 00 00       	push   $0xb1
40b7d4:	68 d4 ed 44 00       	push   $0x44edd4
40b7d9:	8b f3                	mov    %ebx,%esi
40b7db:	e8 f3 7f ff ff       	call   0x4037d3
40b7e0:	68 40 f0 44 00       	push   $0x44f040
40b7e5:	53                   	push   %ebx
40b7e6:	e9 02 03 00 00       	jmp    0x40baed
40b7eb:	33 c0                	xor    %eax,%eax
40b7ed:	50                   	push   %eax
40b7ee:	50                   	push   %eax
40b7ef:	50                   	push   %eax
40b7f0:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
40b7f6:	ff 33                	push   (%ebx)
40b7f8:	ff 15 f0 b1 44 00    	call   *0x44b1f0
40b7fe:	85 c0                	test   %eax,%eax
40b800:	75 3e                	jne    0x40b840
40b802:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b808:	0f b7 f0             	movzwl %ax,%esi
40b80b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b811:	85 c0                	test   %eax,%eax
40b813:	0f 4e f0             	cmovle %eax,%esi
40b816:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b81b:	85 f6                	test   %esi,%esi
40b81d:	0f 49 f0             	cmovns %eax,%esi
40b820:	56                   	push   %esi
40b821:	68 b7 00 00 00       	push   $0xb7
40b826:	68 d4 ed 44 00       	push   $0x44edd4
40b82b:	e8 a3 7f ff ff       	call   0x4037d3
40b830:	68 f0 ee 44 00       	push   $0x44eef0
40b835:	56                   	push   %esi
40b836:	e8 f4 48 03 00       	call   0x44012f
40b83b:	e9 ff 01 00 00       	jmp    0x40ba3f
40b840:	8b 85 b0 fe ff ff    	mov    -0x150(%ebp),%eax
40b846:	83 c0 1c             	add    $0x1c,%eax
40b849:	6a 00                	push   $0x0
40b84b:	89 85 90 fe ff ff    	mov    %eax,-0x170(%ebp)
40b851:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40b857:	50                   	push   %eax
40b858:	ff b5 ac fe ff ff    	push   -0x154(%ebp)
40b85e:	57                   	push   %edi
40b85f:	ff 33                	push   (%ebx)
40b861:	ff d6                	call   *%esi
40b863:	85 c0                	test   %eax,%eax
40b865:	75 35                	jne    0x40b89c
40b867:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b86d:	0f b7 f0             	movzwl %ax,%esi
40b870:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40b876:	85 c0                	test   %eax,%eax
40b878:	0f 4e f0             	cmovle %eax,%esi
40b87b:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b880:	85 f6                	test   %esi,%esi
40b882:	0f 49 f0             	cmovns %eax,%esi
40b885:	56                   	push   %esi
40b886:	68 c0 00 00 00       	push   $0xc0
40b88b:	68 d4 ed 44 00       	push   $0x44edd4
40b890:	e8 3e 7f ff ff       	call   0x4037d3
40b895:	68 6c f0 44 00       	push   $0x44f06c
40b89a:	eb 99                	jmp    0x40b835
40b89c:	8b 85 ac fe ff ff    	mov    -0x154(%ebp),%eax
40b8a2:	3b 85 98 fe ff ff    	cmp    -0x168(%ebp),%eax
40b8a8:	76 21                	jbe    0x40b8cb
40b8aa:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
40b8af:	57                   	push   %edi
40b8b0:	68 c5 00 00 00       	push   $0xc5
40b8b5:	68 d4 ed 44 00       	push   $0x44edd4
40b8ba:	8b f7                	mov    %edi,%esi
40b8bc:	e8 12 7f ff ff       	call   0x4037d3
40b8c1:	68 8c f0 44 00       	push   $0x44f08c
40b8c6:	e9 68 01 00 00       	jmp    0x40ba33
40b8cb:	83 7f 04 02          	cmpl   $0x2,0x4(%edi)
40b8cf:	74 39                	je     0x40b90a
40b8d1:	bf 0d 00 07 80       	mov    $0x8007000d,%edi
40b8d6:	57                   	push   %edi
40b8d7:	68 cc 00 00 00       	push   $0xcc
40b8dc:	68 d4 ed 44 00       	push   $0x44edd4
40b8e1:	8b f7                	mov    %edi,%esi
40b8e3:	e8 eb 7e ff ff       	call   0x4037d3