42c4e2:	a3 a8 67 43 00       	mov    %eax,0x4367a8
42c4e7:	e8 ef d9 ff ff       	call   0x429edb
42c4ec:	eb 17                	jmp    0x42c505
42c4ee:	ff 74 24 1c          	push   0x1c(%esp)
42c4f2:	ff 74 24 1c          	push   0x1c(%esp)
42c4f6:	6a 02                	push   $0x2
42c4f8:	68 2c 27 00 40       	push   $0x4000272c
42c4fd:	e8 bb 9e fd ff       	call   0x4063bd
42c502:	83 c4 10             	add    $0x10,%esp
42c505:	8b cf                	mov    %edi,%ecx
42c507:	e8 83 54 fe ff       	call   0x41198f
42c50c:	5f                   	pop    %edi
42c50d:	8b c6                	mov    %esi,%eax
42c50f:	5e                   	pop    %esi
42c510:	5b                   	pop    %ebx
42c511:	8b e5                	mov    %ebp,%esp
42c513:	5d                   	pop    %ebp
42c514:	c3                   	ret
42c515:	8b 41 04             	mov    0x4(%ecx),%eax
42c518:	83 e0 01             	and    $0x1,%eax
42c51b:	83 c8 02             	or     $0x2,%eax
42c51e:	50                   	push   %eax
42c51f:	ff 71 0c             	push   0xc(%ecx)
42c522:	ff 71 08             	push   0x8(%ecx)
42c525:	ff 15 04 a1 44 00    	call   *0x44a104
42c52b:	33 c9                	xor    %ecx,%ecx
42c52d:	84 c0                	test   %al,%al
42c52f:	0f 94 c1             	sete   %cl
42c532:	8b c1                	mov    %ecx,%eax
42c534:	c3                   	ret
42c535:	8b ff                	mov    %edi,%edi
42c537:	55                   	push   %ebp
42c538:	8b ec                	mov    %esp,%ebp
42c53a:	81 ec 24 02 00 00    	sub    $0x224,%esp
42c540:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42c545:	33 c5                	xor    %ebp,%eax
42c547:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c54a:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
42c54e:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c554:	53                   	push   %ebx
42c555:	56                   	push   %esi
42c556:	57                   	push   %edi
42c557:	bf 04 01 00 00       	mov    $0x104,%edi
42c55c:	33 db                	xor    %ebx,%ebx
42c55e:	57                   	push   %edi
42c55f:	6a 00                	push   $0x0
42c561:	43                   	inc    %ebx
42c562:	89 7d f0             	mov    %edi,-0x10(%ebp)
42c565:	50                   	push   %eax
42c566:	8b f1                	mov    %ecx,%esi
42c568:	88 5d ec             	mov    %bl,-0x14(%ebp)
42c56b:	e8 4d ba fe ff       	call   0x417fbd
42c570:	33 c0                	xor    %eax,%eax
42c572:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
42c578:	83 c4 0c             	add    $0xc,%esp
42c57b:	38 45 ec             	cmp    %al,-0x14(%ebp)
42c57e:	0f 94 c0             	sete   %al
42c581:	48                   	dec    %eax
42c582:	25 e3 7e 00 00       	and    $0x7ee3,%eax
42c587:	03 c7                	add    %edi,%eax
42c589:	50                   	push   %eax
42c58a:	e8 61 1e fe ff       	call   0x40e3f0
42c58f:	85 c0                	test   %eax,%eax
42c591:	78 3b                	js     0x42c5ce
42c593:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c596:	85 c0                	test   %eax,%eax
42c598:	75 06                	jne    0x42c5a0
42c59a:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c5a0:	ff 75 f0             	push   -0x10(%ebp)
42c5a3:	50                   	push   %eax
42c5a4:	56                   	push   %esi
42c5a5:	ff 15 a8 a0 44 00    	call   *0x44a0a8
42c5ab:	85 c0                	test   %eax,%eax
42c5ad:	74 1d                	je     0x42c5cc
42c5af:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c5b2:	85 c0                	test   %eax,%eax
42c5b4:	75 06                	jne    0x42c5bc
42c5b6:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c5bc:	50                   	push   %eax
42c5bd:	ff 15 f4 a0 44 00    	call   *0x44a0f4
42c5c3:	85 c0                	test   %eax,%eax
42c5c5:	74 05                	je     0x42c5cc
42c5c7:	83 f8 04             	cmp    $0x4,%eax
42c5ca:	75 02                	jne    0x42c5ce
42c5cc:	33 db                	xor    %ebx,%ebx
42c5ce:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c5d1:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
42c5d5:	85 c0                	test   %eax,%eax
42c5d7:	74 08                	je     0x42c5e1
42c5d9:	50                   	push   %eax
42c5da:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42c5e0:	59                   	pop    %ecx
42c5e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c5e4:	8b c3                	mov    %ebx,%eax
42c5e6:	5f                   	pop    %edi
42c5e7:	5e                   	pop    %esi
42c5e8:	33 cd                	xor    %ebp,%ecx
42c5ea:	5b                   	pop    %ebx
42c5eb:	e8 40 a5 fe ff       	call   0x416b30
42c5f0:	c9                   	leave
42c5f1:	c3                   	ret
42c5f2:	8b ff                	mov    %edi,%edi
42c5f4:	55                   	push   %ebp
42c5f5:	8b ec                	mov    %esp,%ebp
42c5f7:	81 ec 40 04 00 00    	sub    $0x440,%esp
42c5fd:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42c602:	33 c5                	xor    %ebp,%eax
42c604:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c607:	53                   	push   %ebx
42c608:	56                   	push   %esi
42c609:	57                   	push   %edi
42c60a:	b8 04 01 00 00       	mov    $0x104,%eax
42c60f:	88 95 c7 fb ff ff    	mov    %dl,-0x439(%ebp)
42c615:	50                   	push   %eax
42c616:	33 ff                	xor    %edi,%edi
42c618:	89 45 f0             	mov    %eax,-0x10(%ebp)
42c61b:	33 db                	xor    %ebx,%ebx
42c61d:	89 7d e8             	mov    %edi,-0x18(%ebp)
42c620:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c626:	43                   	inc    %ebx
42c627:	57                   	push   %edi
42c628:	50                   	push   %eax
42c629:	8b f1                	mov    %ecx,%esi
42c62b:	88 5d ec             	mov    %bl,-0x14(%ebp)
42c62e:	e8 8a b9 fe ff       	call   0x417fbd
42c633:	83 c4 0c             	add    $0xc,%esp
42c636:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
42c63c:	b8 04 01 00 00       	mov    $0x104,%eax
42c641:	88 9d d4 fd ff ff    	mov    %bl,-0x22c(%ebp)
42c647:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
42c64d:	50                   	push   %eax
42c64e:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
42c654:	57                   	push   %edi
42c655:	50                   	push   %eax
42c656:	e8 62 b9 fe ff       	call   0x417fbd
42c65b:	33 c0                	xor    %eax,%eax
42c65d:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
42c663:	83 c4 0c             	add    $0xc,%esp
42c666:	38 45 ec             	cmp    %al,-0x14(%ebp)
42c669:	0f 94 c0             	sete   %al
42c66c:	48                   	dec    %eax
42c66d:	25 e3 7e 00 00       	and    $0x7ee3,%eax
42c672:	05 04 01 00 00       	add    $0x104,%eax
42c677:	50                   	push   %eax
42c678:	e8 73 1d fe ff       	call   0x40e3f0
42c67d:	85 c0                	test   %eax,%eax
42c67f:	0f 88 1d 01 00 00    	js     0x42c7a2
42c685:	33 c0                	xor    %eax,%eax
42c687:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
42c68d:	38 85 d4 fd ff ff    	cmp    %al,-0x22c(%ebp)
42c693:	0f 94 c0             	sete   %al
42c696:	48                   	dec    %eax
42c697:	25 e3 7e 00 00       	and    $0x7ee3,%eax
42c69c:	05 04 01 00 00       	add    $0x104,%eax
42c6a1:	50                   	push   %eax
42c6a2:	e8 49 1d fe ff       	call   0x40e3f0
42c6a7:	85 c0                	test   %eax,%eax
42c6a9:	0f 88 f3 00 00 00    	js     0x42c7a2
42c6af:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
42c6b5:	85 c0                	test   %eax,%eax
42c6b7:	75 06                	jne    0x42c6bf
42c6b9:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
42c6bf:	ff b5 d8 fd ff ff    	push   -0x228(%ebp)
42c6c5:	50                   	push   %eax
42c6c6:	56                   	push   %esi
42c6c7:	ff 15 a8 a0 44 00    	call   *0x44a0a8
42c6cd:	85 c0                	test   %eax,%eax
42c6cf:	0f 84 cd 00 00 00    	je     0x42c7a2
42c6d5:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
42c6db:	85 c0                	test   %eax,%eax
42c6dd:	75 06                	jne    0x42c6e5
42c6df:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
42c6e5:	50                   	push   %eax
42c6e6:	ff 15 f4 a0 44 00    	call   *0x44a0f4
42c6ec:	85 c0                	test   %eax,%eax
42c6ee:	0f 84 ac 00 00 00    	je     0x42c7a0
42c6f4:	83 f8 04             	cmp    $0x4,%eax
42c6f7:	0f 84 a3 00 00 00    	je     0x42c7a0
42c6fd:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c700:	85 c0                	test   %eax,%eax
42c702:	75 06                	jne    0x42c70a
42c704:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c70a:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
42c710:	85 c9                	test   %ecx,%ecx
42c712:	75 06                	jne    0x42c71a
42c714:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
42c71a:	ff 75 f0             	push   -0x10(%ebp)
42c71d:	50                   	push   %eax
42c71e:	8d 85 c0 fb ff ff    	lea    -0x440(%ebp),%eax
42c724:	50                   	push   %eax
42c725:	50                   	push   %eax
42c726:	57                   	push   %edi
42c727:	57                   	push   %edi
42c728:	57                   	push   %edi
42c729:	51                   	push   %ecx
42c72a:	ff 15 dc a0 44 00    	call   *0x44a0dc
42c730:	85 c0                	test   %eax,%eax
42c732:	74 6e                	je     0x42c7a2
42c734:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c737:	85 c0                	test   %eax,%eax
42c739:	75 06                	jne    0x42c741
42c73b:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c741:	68 3c 41 40 00       	push   $0x40413c
42c746:	50                   	push   %eax
42c747:	ff 15 40 a4 44 00    	call   *0x44a440
42c74d:	59                   	pop    %ecx
42c74e:	59                   	pop    %ecx
42c74f:	85 c0                	test   %eax,%eax
42c751:	74 4f                	je     0x42c7a2
42c753:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
42c757:	74 1f                	je     0x42c778
42c759:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c75c:	85 c0                	test   %eax,%eax
42c75e:	75 06                	jne    0x42c766
42c760:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c766:	68 48 41 40 00       	push   $0x404148
42c76b:	50                   	push   %eax
42c76c:	ff 15 40 a4 44 00    	call   *0x44a440
42c772:	59                   	pop    %ecx
42c773:	59                   	pop    %ecx
42c774:	85 c0                	test   %eax,%eax
42c776:	74 2a                	je     0x42c7a2
42c778:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
42c77f:	74 1f                	je     0x42c7a0
42c781:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c784:	85 c0                	test   %eax,%eax
42c786:	75 06                	jne    0x42c78e
42c788:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
42c78e:	68 54 41 40 00       	push   $0x404154
42c793:	50                   	push   %eax
42c794:	ff 15 40 a4 44 00    	call   *0x44a440
42c79a:	59                   	pop    %ecx
42c79b:	59                   	pop    %ecx
42c79c:	85 c0                	test   %eax,%eax
42c79e:	74 02                	je     0x42c7a2
42c7a0:	8b df                	mov    %edi,%ebx
42c7a2:	8b 85 d0 fd ff ff    	mov    -0x230(%ebp),%eax
42c7a8:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
42c7ae:	85 c0                	test   %eax,%eax
42c7b0:	74 08                	je     0x42c7ba
42c7b2:	50                   	push   %eax
42c7b3:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42c7b9:	59                   	pop    %ecx
42c7ba:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c7bd:	89 7d e8             	mov    %edi,-0x18(%ebp)
42c7c0:	85 c0                	test   %eax,%eax
42c7c2:	74 08                	je     0x42c7cc
42c7c4:	50                   	push   %eax
42c7c5:	ff 15 e0 a3 44 00    	call   *0x44a3e0
42c7cb:	59                   	pop    %ecx
42c7cc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c7cf:	8b c3                	mov    %ebx,%eax
42c7d1:	5f                   	pop    %edi
42c7d2:	5e                   	pop    %esi
42c7d3:	33 cd                	xor    %ebp,%ecx
42c7d5:	5b                   	pop    %ebx
42c7d6:	e8 55 a3 fe ff       	call   0x416b30
42c7db:	c9                   	leave
42c7dc:	c2 04 00             	ret    $0x4
42c7df:	8b ff                	mov    %edi,%edi
42c7e1:	55                   	push   %ebp
42c7e2:	8b ec                	mov    %esp,%ebp
42c7e4:	83 ec 1c             	sub    $0x1c,%esp
42c7e7:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
42c7ec:	33 c5                	xor    %ebp,%eax
42c7ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c7f1:	53                   	push   %ebx
42c7f2:	56                   	push   %esi
42c7f3:	8b f2                	mov    %edx,%esi
42c7f5:	57                   	push   %edi
42c7f6:	85 c9                	test   %ecx,%ecx
42c7f8:	75 15                	jne    0x42c80f
42c7fa:	51                   	push   %ecx
42c7fb:	68 2a 27 00 40       	push   $0x4000272a
42c800:	e8 df b0 fd ff       	call   0x4078e4
42c805:	59                   	pop    %ecx
42c806:	59                   	pop    %ecx
42c807:	33 c0                	xor    %eax,%eax
42c809:	40                   	inc    %eax
42c80a:	e9 9b 00 00 00       	jmp    0x42c8aa
42c80f:	85 f6                	test   %esi,%esi
42c811:	75 05                	jne    0x42c818
42c813:	56                   	push   %esi
42c814:	6a 0e                	push   $0xe
42c816:	eb e8                	jmp    0x42c800
42c818:	6a 2f                	push   $0x2f
42c81a:	58                   	pop    %eax
42c81b:	33 db                	xor    %ebx,%ebx
42c81d:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
42c821:	33 c0                	xor    %eax,%eax
42c823:	89 1e                	mov    %ebx,(%esi)
42c825:	6a 02                	push   $0x2
42c827:	8d 55 e8             	lea    -0x18(%ebp),%edx
42c82a:	89 5e 04             	mov    %ebx,0x4(%esi)
42c82d:	89 5e 08             	mov    %ebx,0x8(%esi)
42c830:	89 5e 0c             	mov    %ebx,0xc(%esi)
42c833:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
42c837:	e8 f4 f3 fd ff       	call   0x40bc30
42c83c:	eb 60                	jmp    0x42c89e
42c83e:	6a 2f                	push   $0x2f
42c840:	59                   	pop    %ecx
42c841:	66 3b c1             	cmp    %cx,%ax
42c844:	75 3f                	jne    0x42c885
42c846:	0f b7 47 04          	movzwl 0x4(%edi),%eax
42c84a:	50                   	push   %eax
42c84b:	ff 15 18 a4 44 00    	call   *0x44a418
42c851:	0f b7 c0             	movzwl %ax,%eax
42c854:	59                   	pop    %ecx
42c855:	83 e8 44             	sub    $0x44,%eax
42c858:	74 18                	je     0x42c872
42c85a:	83 e8 04             	sub    $0x4,%eax
42c85d:	74 0b                	je     0x42c86a
42c85f:	6a 02                	push   $0x2
42c861:	59                   	pop    %ecx
42c862:	2b c1                	sub    %ecx,%eax
42c864:	75 53                	jne    0x42c8b9
42c866:	89 0e                	mov    %ecx,(%esi)
42c868:	eb 0c                	jmp    0x42c876
42c86a:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
42c870:	eb 04                	jmp    0x42c876
42c872:	83 4e 04 01          	orl    $0x1,0x4(%esi)
42c876:	33 c0                	xor    %eax,%eax
42c878:	66 39 47 06          	cmp    %ax,0x6(%edi)
42c87c:	75 5c                	jne    0x42c8da
42c87e:	83 c7 04             	add    $0x4,%edi
42c881:	33 db                	xor    %ebx,%ebx
42c883:	eb 12                	jmp    0x42c897
42c885:	39 5e 08             	cmp    %ebx,0x8(%esi)
42c888:	75 05                	jne    0x42c88f
42c88a:	89 7e 08             	mov    %edi,0x8(%esi)
42c88d:	eb 08                	jmp    0x42c897
42c88f:	39 5e 0c             	cmp    %ebx,0xc(%esi)
42c892:	75 5e                	jne    0x42c8f2
42c894:	89 7e 0c             	mov    %edi,0xc(%esi)
42c897:	8b cf                	mov    %edi,%ecx
42c899:	e8 37 df fd ff       	call   0x40a7d5
42c89e:	8b f8                	mov    %eax,%edi
42c8a0:	0f b7 07             	movzwl (%edi),%eax
42c8a3:	66 85 c0             	test   %ax,%ax
42c8a6:	75 96                	jne    0x42c83e
42c8a8:	33 c0                	xor    %eax,%eax
42c8aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c8ad:	5f                   	pop    %edi
42c8ae:	5e                   	pop    %esi
42c8af:	33 cd                	xor    %ebp,%ecx
42c8b1:	5b                   	pop    %ebx
42c8b2:	e8 79 a2 fe ff       	call   0x416b30
42c8b7:	c9                   	leave
42c8b8:	c3                   	ret
42c8b9:	6a 2f                	push   $0x2f