40c564:	59                   	pop    %ecx
40c565:	ff 15 cc 90 41 00    	call   *0x4190cc
40c56b:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40c56f:	89 06                	mov    %eax,(%esi)
40c571:	33 c0                	xor    %eax,%eax
40c573:	40                   	inc    %eax
40c574:	5e                   	pop    %esi
40c575:	c3                   	ret
40c576:	e8 04 00 00 00       	call   0x40c57f
40c57b:	33 c0                	xor    %eax,%eax
40c57d:	5e                   	pop    %esi
40c57e:	c3                   	ret
40c57f:	a1 d8 0d 42 00       	mov    0x420dd8,%eax
40c584:	83 f8 ff             	cmp    $0xffffffff,%eax
40c587:	74 0e                	je     0x40c597
40c589:	50                   	push   %eax
40c58a:	e8 59 34 00 00       	call   0x40f9e8
40c58f:	83 0d d8 0d 42 00 ff 	orl    $0xffffffff,0x420dd8
40c596:	59                   	pop    %ecx
40c597:	e9 3f bf ff ff       	jmp    0x4084db
40c59c:	6a 08                	push   $0x8
40c59e:	68 d8 e5 41 00       	push   $0x41e5d8
40c5a3:	e8 08 e8 ff ff       	call   0x40adb0
40c5a8:	be 48 0f 42 00       	mov    $0x420f48,%esi
40c5ad:	39 35 44 0f 42 00    	cmp    %esi,0x420f44
40c5b3:	74 2a                	je     0x40c5df
40c5b5:	6a 0c                	push   $0xc
40c5b7:	e8 eb be ff ff       	call   0x4084a7
40c5bc:	59                   	pop    %ecx
40c5bd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c5c1:	56                   	push   %esi
40c5c2:	68 44 0f 42 00       	push   $0x420f44
40c5c7:	e8 d6 f4 ff ff       	call   0x40baa2
40c5cc:	59                   	pop    %ecx
40c5cd:	59                   	pop    %ecx
40c5ce:	a3 44 0f 42 00       	mov    %eax,0x420f44
40c5d3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c5da:	e8 06 00 00 00       	call   0x40c5e5
40c5df:	e8 11 e8 ff ff       	call   0x40adf5
40c5e4:	c3                   	ret
40c5e5:	6a 0c                	push   $0xc
40c5e7:	e8 1f c0 ff ff       	call   0x40860b
40c5ec:	59                   	pop    %ecx
40c5ed:	c3                   	ret
40c5ee:	55                   	push   %ebp
40c5ef:	8b ec                	mov    %esp,%ebp
40c5f1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40c5f5:	75 04                	jne    0x40c5fb
40c5f7:	33 c0                	xor    %eax,%eax
40c5f9:	5d                   	pop    %ebp
40c5fa:	c3                   	ret
40c5fb:	53                   	push   %ebx
40c5fc:	6a 55                	push   $0x55
40c5fe:	ff 75 08             	push   0x8(%ebp)
40c601:	e8 b8 4c 00 00       	call   0x4112be
40c606:	8b d8                	mov    %eax,%ebx
40c608:	59                   	pop    %ecx
40c609:	59                   	pop    %ecx
40c60a:	83 fb 55             	cmp    $0x55,%ebx
40c60d:	72 04                	jb     0x40c613
40c60f:	33 c0                	xor    %eax,%eax
40c611:	eb 16                	jmp    0x40c629
40c613:	8d 04 5d 02 00 00 00 	lea    0x2(,%ebx,2),%eax
40c61a:	57                   	push   %edi
40c61b:	50                   	push   %eax
40c61c:	e8 81 c4 ff ff       	call   0x408aa2
40c621:	8b f8                	mov    %eax,%edi
40c623:	59                   	pop    %ecx
40c624:	85 ff                	test   %edi,%edi
40c626:	75 04                	jne    0x40c62c
40c628:	5f                   	pop    %edi
40c629:	5b                   	pop    %ebx
40c62a:	5d                   	pop    %ebp
40c62b:	c3                   	ret
40c62c:	8d 43 01             	lea    0x1(%ebx),%eax
40c62f:	50                   	push   %eax
40c630:	ff 75 08             	push   0x8(%ebp)
40c633:	50                   	push   %eax
40c634:	57                   	push   %edi
40c635:	e8 84 53 00 00       	call   0x4119be
40c63a:	83 c4 10             	add    $0x10,%esp
40c63d:	85 c0                	test   %eax,%eax
40c63f:	75 04                	jne    0x40c645
40c641:	8b c7                	mov    %edi,%eax
40c643:	eb e3                	jmp    0x40c628
40c645:	33 c0                	xor    %eax,%eax
40c647:	50                   	push   %eax
40c648:	50                   	push   %eax
40c649:	50                   	push   %eax
40c64a:	50                   	push   %eax
40c64b:	50                   	push   %eax
40c64c:	e8 b4 ef ff ff       	call   0x40b605
40c651:	cc                   	int3
40c652:	55                   	push   %ebp
40c653:	8b ec                	mov    %esp,%ebp
40c655:	56                   	push   %esi
40c656:	57                   	push   %edi
40c657:	8b 7d 10             	mov    0x10(%ebp),%edi
40c65a:	57                   	push   %edi
40c65b:	ff 75 0c             	push   0xc(%ebp)
40c65e:	ff 75 08             	push   0x8(%ebp)
40c661:	e8 72 34 00 00       	call   0x40fad8
40c666:	83 c4 0c             	add    $0xc,%esp
40c669:	33 f6                	xor    %esi,%esi
40c66b:	85 c0                	test   %eax,%eax
40c66d:	75 46                	jne    0x40c6b5
40c66f:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40c675:	66 39 30             	cmp    %si,(%eax)
40c678:	74 16                	je     0x40c690
40c67a:	50                   	push   %eax
40c67b:	68 5c bb 41 00       	push   $0x41bb5c
40c680:	6a 02                	push   $0x2
40c682:	ff 75 0c             	push   0xc(%ebp)
40c685:	ff 75 08             	push   0x8(%ebp)
40c688:	e8 6c 04 00 00       	call   0x40caf9
40c68d:	83 c4 14             	add    $0x14,%esp
40c690:	81 c7 00 01 00 00    	add    $0x100,%edi
40c696:	66 39 37             	cmp    %si,(%edi)
40c699:	74 16                	je     0x40c6b1
40c69b:	57                   	push   %edi
40c69c:	68 60 bb 41 00       	push   $0x41bb60
40c6a1:	6a 02                	push   $0x2
40c6a3:	ff 75 0c             	push   0xc(%ebp)
40c6a6:	ff 75 08             	push   0x8(%ebp)
40c6a9:	e8 4b 04 00 00       	call   0x40caf9
40c6ae:	83 c4 14             	add    $0x14,%esp
40c6b1:	5f                   	pop    %edi
40c6b2:	5e                   	pop    %esi
40c6b3:	5d                   	pop    %ebp
40c6b4:	c3                   	ret
40c6b5:	56                   	push   %esi
40c6b6:	56                   	push   %esi
40c6b7:	56                   	push   %esi
40c6b8:	56                   	push   %esi
40c6b9:	56                   	push   %esi
40c6ba:	e8 46 ef ff ff       	call   0x40b605
40c6bf:	cc                   	int3
40c6c0:	55                   	push   %ebp
40c6c1:	8b ec                	mov    %esp,%ebp
40c6c3:	51                   	push   %ecx
40c6c4:	53                   	push   %ebx
40c6c5:	56                   	push   %esi
40c6c6:	57                   	push   %edi
40c6c7:	8b 7d 08             	mov    0x8(%ebp),%edi
40c6ca:	68 ca 01 00 00       	push   $0x1ca
40c6cf:	33 db                	xor    %ebx,%ebx
40c6d1:	53                   	push   %ebx
40c6d2:	57                   	push   %edi
40c6d3:	e8 68 a8 ff ff       	call   0x406f40
40c6d8:	8b 75 0c             	mov    0xc(%ebp),%esi
40c6db:	83 c4 0c             	add    $0xc,%esp
40c6de:	0f b7 06             	movzwl (%esi),%eax
40c6e1:	66 85 c0             	test   %ax,%ax
40c6e4:	75 07                	jne    0x40c6ed
40c6e6:	33 c0                	xor    %eax,%eax
40c6e8:	e9 ed 00 00 00       	jmp    0x40c7da
40c6ed:	6a 2e                	push   $0x2e
40c6ef:	59                   	pop    %ecx
40c6f0:	66 3b c1             	cmp    %cx,%ax
40c6f3:	75 2d                	jne    0x40c722
40c6f5:	8d 46 02             	lea    0x2(%esi),%eax
40c6f8:	66 39 18             	cmp    %bx,(%eax)
40c6fb:	74 25                	je     0x40c722
40c6fd:	6a 0f                	push   $0xf
40c6ff:	50                   	push   %eax
40c700:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
40c706:	6a 10                	push   $0x10
40c708:	50                   	push   %eax
40c709:	e8 b0 52 00 00       	call   0x4119be
40c70e:	83 c4 10             	add    $0x10,%esp
40c711:	85 c0                	test   %eax,%eax
40c713:	0f 85 c6 00 00 00    	jne    0x40c7df
40c719:	66 89 87 1e 01 00 00 	mov    %ax,0x11e(%edi)
40c720:	eb c4                	jmp    0x40c6e6
40c722:	89 5d 0c             	mov    %ebx,0xc(%ebp)
40c725:	68 54 bb 41 00       	push   $0x41bb54
40c72a:	56                   	push   %esi
40c72b:	e8 21 6b 00 00       	call   0x413251
40c730:	59                   	pop    %ecx
40c731:	59                   	pop    %ecx
40c732:	85 c0                	test   %eax,%eax
40c734:	0f 84 9d 00 00 00    	je     0x40c7d7
40c73a:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
40c73d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40c740:	0f b7 19             	movzwl (%ecx),%ebx
40c743:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c746:	6a 2c                	push   $0x2c
40c748:	5a                   	pop    %edx
40c749:	85 c9                	test   %ecx,%ecx
40c74b:	75 18                	jne    0x40c765
40c74d:	83 f8 40             	cmp    $0x40,%eax
40c750:	0f 83 81 00 00 00    	jae    0x40c7d7
40c756:	6a 2e                	push   $0x2e
40c758:	59                   	pop    %ecx
40c759:	66 3b d9             	cmp    %cx,%bx
40c75c:	74 79                	je     0x40c7d7
40c75e:	50                   	push   %eax
40c75f:	56                   	push   %esi
40c760:	6a 40                	push   $0x40
40c762:	57                   	push   %edi
40c763:	eb 3a                	jmp    0x40c79f
40c765:	83 f9 01             	cmp    $0x1,%ecx
40c768:	75 16                	jne    0x40c780
40c76a:	83 f8 40             	cmp    $0x40,%eax
40c76d:	73 68                	jae    0x40c7d7
40c76f:	83 fb 5f             	cmp    $0x5f,%ebx
40c772:	74 63                	je     0x40c7d7
40c774:	50                   	push   %eax
40c775:	56                   	push   %esi
40c776:	6a 40                	push   $0x40
40c778:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40c77e:	eb 1e                	jmp    0x40c79e
40c780:	83 f9 02             	cmp    $0x2,%ecx
40c783:	75 52                	jne    0x40c7d7
40c785:	83 f8 10             	cmp    $0x10,%eax
40c788:	73 4d                	jae    0x40c7d7
40c78a:	66 85 db             	test   %bx,%bx
40c78d:	74 05                	je     0x40c794
40c78f:	66 3b da             	cmp    %dx,%bx
40c792:	75 43                	jne    0x40c7d7
40c794:	50                   	push   %eax
40c795:	56                   	push   %esi
40c796:	6a 10                	push   $0x10
40c798:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
40c79e:	50                   	push   %eax
40c79f:	e8 1a 52 00 00       	call   0x4119be
40c7a4:	83 c4 10             	add    $0x10,%esp
40c7a7:	85 c0                	test   %eax,%eax
40c7a9:	75 23                	jne    0x40c7ce
40c7ab:	6a 2c                	push   $0x2c
40c7ad:	58                   	pop    %eax
40c7ae:	66 3b d8             	cmp    %ax,%bx
40c7b1:	0f 84 2f ff ff ff    	je     0x40c6e6
40c7b7:	66 85 db             	test   %bx,%bx
40c7ba:	0f 84 26 ff ff ff    	je     0x40c6e6
40c7c0:	8b 75 fc             	mov    -0x4(%ebp),%esi
40c7c3:	83 c6 02             	add    $0x2,%esi
40c7c6:	ff 45 0c             	incl   0xc(%ebp)
40c7c9:	e9 57 ff ff ff       	jmp    0x40c725
40c7ce:	33 c0                	xor    %eax,%eax
40c7d0:	50                   	push   %eax
40c7d1:	50                   	push   %eax
40c7d2:	50                   	push   %eax
40c7d3:	50                   	push   %eax
40c7d4:	50                   	push   %eax
40c7d5:	eb 0d                	jmp    0x40c7e4
40c7d7:	83 c8 ff             	or     $0xffffffff,%eax
40c7da:	5f                   	pop    %edi
40c7db:	5e                   	pop    %esi
40c7dc:	5b                   	pop    %ebx
40c7dd:	c9                   	leave
40c7de:	c3                   	ret
40c7df:	53                   	push   %ebx
40c7e0:	53                   	push   %ebx
40c7e1:	53                   	push   %ebx
40c7e2:	53                   	push   %ebx
40c7e3:	53                   	push   %ebx
40c7e4:	e8 1c ee ff ff       	call   0x40b605
40c7e9:	cc                   	int3
40c7ea:	55                   	push   %ebp
40c7eb:	8b ec                	mov    %esp,%ebp
40c7ed:	56                   	push   %esi
40c7ee:	8b 75 0c             	mov    0xc(%ebp),%esi
40c7f1:	85 f6                	test   %esi,%esi
40c7f3:	74 1e                	je     0x40c813
40c7f5:	8b 45 08             	mov    0x8(%ebp),%eax
40c7f8:	85 c0                	test   %eax,%eax
40c7fa:	74 17                	je     0x40c813
40c7fc:	3b c6                	cmp    %esi,%eax
40c7fe:	74 13                	je     0x40c813
40c800:	57                   	push   %edi
40c801:	6a 2e                	push   $0x2e
40c803:	59                   	pop    %ecx
40c804:	8b f8                	mov    %eax,%edi
40c806:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c808:	83 20 00             	andl   $0x0,(%eax)
40c80b:	50                   	push   %eax
40c80c:	e8 90 ef ff ff       	call   0x40b7a1
40c811:	59                   	pop    %ecx
40c812:	5f                   	pop    %edi
40c813:	5e                   	pop    %esi
40c814:	5d                   	pop    %ebp
40c815:	c3                   	ret
40c816:	55                   	push   %ebp
40c817:	8b ec                	mov    %esp,%ebp
40c819:	81 ec ec 01 00 00    	sub    $0x1ec,%esp
40c81f:	a1 90 08 42 00       	mov    0x420890,%eax
40c824:	33 c5                	xor    %ebp,%eax
40c826:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c829:	8b 45 0c             	mov    0xc(%ebp),%eax
40c82c:	53                   	push   %ebx
40c82d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
40c830:	56                   	push   %esi
40c831:	8b 75 08             	mov    0x8(%ebp),%esi
40c834:	57                   	push   %edi
40c835:	8b 7d 14             	mov    0x14(%ebp),%edi
40c838:	89 85 18 fe ff ff    	mov    %eax,-0x1e8(%ebp)
40c83e:	e8 93 fb ff ff       	call   0x40c3d6
40c843:	8d 88 b4 00 00 00    	lea    0xb4(%eax),%ecx
40c849:	89 8d 1c fe ff ff    	mov    %ecx,-0x1e4(%ebp)
40c84f:	8d 88 b8 00 00 00    	lea    0xb8(%eax),%ecx
40c855:	89 8d 24 fe ff ff    	mov    %ecx,-0x1dc(%ebp)
40c85b:	8d 88 be 01 00 00    	lea    0x1be(%eax),%ecx
40c861:	89 8d 28 fe ff ff    	mov    %ecx,-0x1d8(%ebp)
40c867:	33 c9                	xor    %ecx,%ecx
40c869:	89 8d 20 fe ff ff    	mov    %ecx,-0x1e0(%ebp)
40c86f:	85 f6                	test   %esi,%esi
40c871:	75 11                	jne    0x40c884
40c873:	33 c0                	xor    %eax,%eax
40c875:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c878:	5f                   	pop    %edi
40c879:	5e                   	pop    %esi
40c87a:	33 cd                	xor    %ebp,%ecx
40c87c:	5b                   	pop    %ebx
40c87d:	e8 b7 7e ff ff       	call   0x404739
40c882:	c9                   	leave
40c883:	c3                   	ret
40c884:	05 ec 02 00 00       	add    $0x2ec,%eax
40c889:	6a 55                	push   $0x55
40c88b:	50                   	push   %eax
40c88c:	ff 75 18             	push   0x18(%ebp)
40c88f:	89 85 14 fe ff ff    	mov    %eax,-0x1ec(%ebp)
40c895:	57                   	push   %edi
40c896:	e8 23 51 00 00       	call   0x4119be
40c89b:	83 c4 10             	add    $0x10,%esp
40c89e:	85 c0                	test   %eax,%eax
40c8a0:	0f 85 46 02 00 00    	jne    0x40caec
40c8a6:	66 83 3e 43          	cmpw   $0x43,(%esi)
40c8aa:	75 2f                	jne    0x40c8db
40c8ac:	66 39 46 02          	cmp    %ax,0x2(%esi)
40c8b0:	75 29                	jne    0x40c8db
40c8b2:	8b b5 18 fe ff ff    	mov    -0x1e8(%ebp),%esi
40c8b8:	68 50 bb 41 00       	push   $0x41bb50
40c8bd:	ff 75 10             	push   0x10(%ebp)
40c8c0:	56                   	push   %esi
40c8c1:	e8 12 32 00 00       	call   0x40fad8
40c8c6:	83 c4 0c             	add    $0xc,%esp
40c8c9:	85 c0                	test   %eax,%eax
40c8cb:	0f 85 1b 02 00 00    	jne    0x40caec
40c8d1:	85 db                	test   %ebx,%ebx
40c8d3:	74 02                	je     0x40c8d7
40c8d5:	89 03                	mov    %eax,(%ebx)
40c8d7:	8b c6                	mov    %esi,%eax
40c8d9:	eb 9a                	jmp    0x40c875
40c8db:	56                   	push   %esi
40c8dc:	e8 c2 c3 ff ff       	call   0x408ca3
40c8e1:	59                   	pop    %ecx
40c8e2:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
40c8e8:	3d 83 00 00 00       	cmp    $0x83,%eax
40c8ed:	73 2c                	jae    0x40c91b