40e653:	55                   	push   %ebp
40e654:	8b ec                	mov    %esp,%ebp
40e656:	51                   	push   %ecx
40e657:	8b 45 08             	mov    0x8(%ebp),%eax
40e65a:	53                   	push   %ebx
40e65b:	8b d9                	mov    %ecx,%ebx
40e65d:	56                   	push   %esi
40e65e:	8b 50 04             	mov    0x4(%eax),%edx
40e661:	57                   	push   %edi
40e662:	6a ff                	push   $0xffffffff
40e664:	8d 43 10             	lea    0x10(%ebx),%eax
40e667:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e66a:	52                   	push   %edx
40e66b:	c7 03 80 11 40 00    	movl   $0x401180,(%ebx)
40e671:	89 43 04             	mov    %eax,0x4(%ebx)
40e674:	c7 43 08 21 00 00 00 	movl   $0x21,0x8(%ebx)
40e67b:	e8 50 56 00 00       	call   0x413cd0
40e680:	8b 75 0c             	mov    0xc(%ebp),%esi
40e683:	8d 7b 54             	lea    0x54(%ebx),%edi
40e686:	c7 03 64 11 40 00    	movl   $0x401164,(%ebx)
40e68c:	33 c0                	xor    %eax,%eax
40e68e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e68f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e690:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e691:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e692:	89 43 64             	mov    %eax,0x64(%ebx)
40e695:	89 43 68             	mov    %eax,0x68(%ebx)
40e698:	89 43 6c             	mov    %eax,0x6c(%ebx)
40e69b:	89 43 70             	mov    %eax,0x70(%ebx)
40e69e:	89 43 74             	mov    %eax,0x74(%ebx)
40e6a1:	89 43 78             	mov    %eax,0x78(%ebx)
40e6a4:	5f                   	pop    %edi
40e6a5:	89 43 7c             	mov    %eax,0x7c(%ebx)
40e6a8:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
40e6ae:	8b c3                	mov    %ebx,%eax
40e6b0:	5e                   	pop    %esi
40e6b1:	5b                   	pop    %ebx
40e6b2:	c9                   	leave
40e6b3:	c2 08 00             	ret    $0x8
40e6b6:	8b ff                	mov    %edi,%edi
40e6b8:	56                   	push   %esi
40e6b9:	8b f1                	mov    %ecx,%esi
40e6bb:	8b 4e 04             	mov    0x4(%esi),%ecx
40e6be:	c7 06 e0 11 40 00    	movl   $0x4011e0,(%esi)
40e6c4:	85 c9                	test   %ecx,%ecx
40e6c6:	74 0f                	je     0x40e6d7
40e6c8:	8d 46 10             	lea    0x10(%esi),%eax
40e6cb:	3b c8                	cmp    %eax,%ecx
40e6cd:	74 08                	je     0x40e6d7
40e6cf:	51                   	push   %ecx
40e6d0:	ff 15 14 a4 43 00    	call   *0x43a414
40e6d6:	59                   	pop    %ecx
40e6d7:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
40e6dd:	5e                   	pop    %esi
40e6de:	c3                   	ret
40e6df:	6a 14                	push   $0x14
40e6e1:	b8 68 e5 41 00       	mov    $0x41e568,%eax
40e6e6:	e8 23 c7 00 00       	call   0x41ae0e
40e6eb:	8b d9                	mov    %ecx,%ebx
40e6ed:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e6f0:	33 c9                	xor    %ecx,%ecx
40e6f2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40e6f5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e6f8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40e6fb:	8d 45 ec             	lea    -0x14(%ebp),%eax
40e6fe:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40e702:	50                   	push   %eax
40e703:	51                   	push   %ecx
40e704:	8b f9                	mov    %ecx,%edi
40e706:	ff 15 14 a0 43 00    	call   *0x43a014
40e70c:	85 c0                	test   %eax,%eax
40e70e:	0f 84 a9 22 01 00    	je     0x4209bd
40e714:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40e718:	8d 8b b8 09 00 00    	lea    0x9b8(%ebx),%ecx
40e71e:	e8 1b fc ff ff       	call   0x40e33e
40e723:	8b 75 e0             	mov    -0x20(%ebp),%esi
40e726:	33 db                	xor    %ebx,%ebx
40e728:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
40e72f:	85 db                	test   %ebx,%ebx
40e731:	78 28                	js     0x40e75b
40e733:	6a 05                	push   $0x5
40e735:	ff 75 08             	push   0x8(%ebp)
40e738:	8b ce                	mov    %esi,%ecx
40e73a:	ff 75 e8             	push   -0x18(%ebp)
40e73d:	e8 e0 09 00 00       	call   0x40f122
40e742:	8b d8                	mov    %eax,%ebx
40e744:	85 db                	test   %ebx,%ebx
40e746:	78 13                	js     0x40e75b
40e748:	8b ce                	mov    %esi,%ecx
40e74a:	85 ff                	test   %edi,%edi
40e74c:	75 58                	jne    0x40e7a6
40e74e:	57                   	push   %edi
40e74f:	68 cc 3f 40 00       	push   $0x403fcc
40e754:	e8 a9 53 00 00       	call   0x413b02
40e759:	8b d8                	mov    %eax,%ebx
40e75b:	8d 86 b8 09 00 00    	lea    0x9b8(%esi),%eax
40e761:	8b 08                	mov    (%eax),%ecx
40e763:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40e766:	8b c8                	mov    %eax,%ecx
40e768:	e8 7b 53 00 00       	call   0x413ae8
40e76d:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
40e771:	75 bc                	jne    0x40e72f
40e773:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40e778:	39 45 08             	cmp    %eax,0x8(%ebp)
40e77b:	0f 84 7a 22 01 00    	je     0x4209fb
40e781:	ff 75 f0             	push   -0x10(%ebp)
40e784:	ff 15 00 a0 43 00    	call   *0x43a000
40e78a:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40e791:	8b 45 ec             	mov    -0x14(%ebp),%eax
40e794:	85 c0                	test   %eax,%eax
40e796:	0f 85 72 22 01 00    	jne    0x420a0e
40e79c:	8b c3                	mov    %ebx,%eax
40e79e:	e8 39 c6 00 00       	call   0x41addc
40e7a3:	c2 04 00             	ret    $0x4
40e7a6:	57                   	push   %edi
40e7a7:	ff 75 f0             	push   -0x10(%ebp)
40e7aa:	eb a8                	jmp    0x40e754
40e7ac:	8b ff                	mov    %edi,%edi
40e7ae:	56                   	push   %esi
40e7af:	8b f1                	mov    %ecx,%esi
40e7b1:	8b 4e 0c             	mov    0xc(%esi),%ecx
40e7b4:	85 c9                	test   %ecx,%ecx
40e7b6:	74 12                	je     0x40e7ca
40e7b8:	8b 46 04             	mov    0x4(%esi),%eax
40e7bb:	0f b7 44 48 fe       	movzwl -0x2(%eax,%ecx,2),%eax
40e7c0:	83 f8 2f             	cmp    $0x2f,%eax
40e7c3:	74 27                	je     0x40e7ec
40e7c5:	83 f8 5c             	cmp    $0x5c,%eax
40e7c8:	74 22                	je     0x40e7ec
40e7ca:	8b 06                	mov    (%esi),%eax
40e7cc:	57                   	push   %edi
40e7cd:	6a ff                	push   $0xffffffff
40e7cf:	51                   	push   %ecx
40e7d0:	8b 78 10             	mov    0x10(%eax),%edi
40e7d3:	68 b8 3f 40 00       	push   $0x403fb8
40e7d8:	81 ff a0 36 41 00    	cmp    $0x4136a0,%edi
40e7de:	0f 85 3f 22 01 00    	jne    0x420a23
40e7e4:	8b ce                	mov    %esi,%ecx
40e7e6:	e8 b5 4e 00 00       	call   0x4136a0
40e7eb:	5f                   	pop    %edi
40e7ec:	5e                   	pop    %esi
40e7ed:	c3                   	ret
40e7ee:	8b ff                	mov    %edi,%edi
40e7f0:	56                   	push   %esi
40e7f1:	8b f1                	mov    %ecx,%esi
40e7f3:	e8 d7 0f 00 00       	call   0x40f7cf
40e7f8:	8d 4e 54             	lea    0x54(%esi),%ecx
40e7fb:	e8 cf 0f 00 00       	call   0x40f7cf
40e800:	8d 8e a8 00 00 00    	lea    0xa8(%esi),%ecx
40e806:	e8 47 54 00 00       	call   0x413c52
40e80b:	83 a6 3c 02 00 00 00 	andl   $0x0,0x23c(%esi)
40e812:	8d 8e 44 02 00 00    	lea    0x244(%esi),%ecx
40e818:	83 61 0c 00          	andl   $0x0,0xc(%ecx)
40e81c:	8d 41 04             	lea    0x4(%ecx),%eax
40e81f:	89 00                	mov    %eax,(%eax)
40e821:	89 01                	mov    %eax,(%ecx)
40e823:	8b c6                	mov    %esi,%eax
40e825:	89 49 08             	mov    %ecx,0x8(%ecx)
40e828:	c7 86 40 02 00 00 1c 	movl   $0x40111c,0x240(%esi)
40e82f:	11 40 00
40e832:	5e                   	pop    %esi
40e833:	c3                   	ret
40e834:	cc                   	int3
40e835:	cc                   	int3
40e836:	cc                   	int3
40e837:	cc                   	int3
40e838:	cc                   	int3
40e839:	cc                   	int3
40e83a:	cc                   	int3
40e83b:	cc                   	int3
40e83c:	cc                   	int3
40e83d:	cc                   	int3
40e83e:	cc                   	int3
40e83f:	cc                   	int3
40e840:	68 5c 03 00 00       	push   $0x35c
40e845:	b8 cd e5 41 00       	mov    $0x41e5cd,%eax
40e84a:	e8 5e c6 00 00       	call   0x41aead
40e84f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e853:	8b 45 08             	mov    0x8(%ebp),%eax
40e856:	51                   	push   %ecx
40e857:	51                   	push   %ecx
40e858:	ff 71 08             	push   0x8(%ecx)
40e85b:	89 85 98 fc ff ff    	mov    %eax,-0x368(%ebp)
40e861:	ff 71 04             	push   0x4(%ecx)
40e864:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40e86a:	e8 9e fc ff ff       	call   0x40e50d
40e86f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40e872:	33 ff                	xor    %edi,%edi
40e874:	33 db                	xor    %ebx,%ebx
40e876:	e8 54 0f 00 00       	call   0x40f7cf
40e87b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e87f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40e882:	8b c3                	mov    %ebx,%eax
40e884:	51                   	push   %ecx
40e885:	50                   	push   %eax
40e886:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40e88c:	43                   	inc    %ebx
40e88d:	e8 de 51 00 00       	call   0x413a70
40e892:	85 c0                	test   %eax,%eax
40e894:	0f 84 37 01 00 00    	je     0x40e9d1
40e89a:	68 19 00 02 00       	push   $0x20019
40e89f:	ff 75 9c             	push   -0x64(%ebp)
40e8a2:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
40e8a8:	50                   	push   %eax
40e8a9:	8d 8d 3c fd ff ff    	lea    -0x2c4(%ebp),%ecx
40e8af:	e8 aa 04 00 00       	call   0x40ed5e
40e8b4:	8d 8d d0 fe ff ff    	lea    -0x130(%ebp),%ecx
40e8ba:	33 f6                	xor    %esi,%esi
40e8bc:	e8 0e 0f 00 00       	call   0x40f7cf
40e8c1:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40e8c5:	8d 8d d0 fe ff ff    	lea    -0x130(%ebp),%ecx
40e8cb:	8b c6                	mov    %esi,%eax
40e8cd:	51                   	push   %ecx
40e8ce:	50                   	push   %eax
40e8cf:	8d 8d 3c fd ff ff    	lea    -0x2c4(%ebp),%ecx
40e8d5:	46                   	inc    %esi
40e8d6:	e8 95 51 00 00       	call   0x413a70
40e8db:	85 c0                	test   %eax,%eax
40e8dd:	0f 84 ae 00 00 00    	je     0x40e991
40e8e3:	68 19 00 02 00       	push   $0x20019
40e8e8:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
40e8ee:	8d 85 3c fd ff ff    	lea    -0x2c4(%ebp),%eax
40e8f4:	50                   	push   %eax
40e8f5:	8d 8d 9c fc ff ff    	lea    -0x364(%ebp),%ecx
40e8fb:	e8 5e 04 00 00       	call   0x40ed5e
40e900:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e906:	e8 c4 0e 00 00       	call   0x40f7cf
40e90b:	8b c1                	mov    %ecx,%eax
40e90d:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40e911:	50                   	push   %eax
40e912:	68 a8 3f 40 00       	push   $0x403fa8
40e917:	8d 8d 9c fc ff ff    	lea    -0x364(%ebp),%ecx
40e91d:	e8 da 56 00 00       	call   0x413ffc
40e922:	85 c0                	test   %eax,%eax
40e924:	74 2b                	je     0x40e951
40e926:	8d 45 88             	lea    -0x78(%ebp),%eax
40e929:	50                   	push   %eax
40e92a:	ff b5 28 ff ff ff    	push   -0xd8(%ebp)
40e930:	e8 10 55 00 00       	call   0x413e45
40e935:	85 c0                	test   %eax,%eax
40e937:	78 18                	js     0x40e951
40e939:	8b 8d 98 fc ff ff    	mov    -0x368(%ebp),%ecx
40e93f:	8d 45 88             	lea    -0x78(%ebp),%eax
40e942:	50                   	push   %eax
40e943:	8d 45 98             	lea    -0x68(%ebp),%eax
40e946:	50                   	push   %eax
40e947:	e8 c8 54 00 00       	call   0x413e14
40e94c:	85 c0                	test   %eax,%eax
40e94e:	78 01                	js     0x40e951
40e950:	47                   	inc    %edi
40e951:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
40e957:	c7 85 24 ff ff ff 64 	movl   $0x401164,-0xdc(%ebp)
40e95e:	11 40 00
40e961:	85 c0                	test   %eax,%eax
40e963:	74 0e                	je     0x40e973
40e965:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
40e96b:	3b c1                	cmp    %ecx,%eax
40e96d:	0f 85 06 01 00 00    	jne    0x40ea79
40e973:	8d 8d 9c fc ff ff    	lea    -0x364(%ebp),%ecx
40e979:	c7 85 24 ff ff ff 80 	movl   $0x401180,-0xdc(%ebp)
40e980:	11 40 00
40e983:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
40e987:	e8 49 4b 00 00       	call   0x4134d5
40e98c:	e9 34 ff ff ff       	jmp    0x40e8c5
40e991:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
40e997:	c7 85 d0 fe ff ff 64 	movl   $0x401164,-0x130(%ebp)
40e99e:	11 40 00
40e9a1:	85 c0                	test   %eax,%eax
40e9a3:	74 0e                	je     0x40e9b3
40e9a5:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
40e9ab:	3b c1                	cmp    %ecx,%eax
40e9ad:	0f 85 81 20 01 00    	jne    0x420a34
40e9b3:	8d 8d 3c fd ff ff    	lea    -0x2c4(%ebp),%ecx
40e9b9:	c7 85 d0 fe ff ff 80 	movl   $0x401180,-0x130(%ebp)
40e9c0:	11 40 00
40e9c3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e9c7:	e8 09 4b 00 00       	call   0x4134d5
40e9cc:	e9 ae fe ff ff       	jmp    0x40e87f
40e9d1:	33 f6                	xor    %esi,%esi
40e9d3:	bb 64 11 40 00       	mov    $0x401164,%ebx
40e9d8:	8d 45 98             	lea    -0x68(%ebp),%eax
40e9db:	50                   	push   %eax
40e9dc:	56                   	push   %esi
40e9dd:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40e9e3:	e8 78 5a 00 00       	call   0x414460
40e9e8:	85 c0                	test   %eax,%eax
40e9ea:	0f 84 96 00 00 00    	je     0x40ea86
40e9f0:	8d 8d 7c fe ff ff    	lea    -0x184(%ebp),%ecx
40e9f6:	e8 d4 0d 00 00       	call   0x40f7cf
40e9fb:	6a 00                	push   $0x0
40e9fd:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40ea00:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40ea04:	e8 7f 58 00 00       	call   0x414288
40ea09:	8d 8d 7c fe ff ff    	lea    -0x184(%ebp),%ecx
40ea0f:	51                   	push   %ecx
40ea10:	50                   	push   %eax
40ea11:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40ea17:	e8 e0 55 00 00       	call   0x413ffc
40ea1c:	85 c0                	test   %eax,%eax
40ea1e:	74 31                	je     0x40ea51
40ea20:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40ea26:	50                   	push   %eax
40ea27:	ff b5 80 fe ff ff    	push   -0x180(%ebp)
40ea2d:	e8 13 54 00 00       	call   0x413e45
40ea32:	85 c0                	test   %eax,%eax
40ea34:	78 1b                	js     0x40ea51
40ea36:	8b 8d 98 fc ff ff    	mov    -0x368(%ebp),%ecx
40ea3c:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40ea42:	50                   	push   %eax
40ea43:	8d 45 98             	lea    -0x68(%ebp),%eax
40ea46:	50                   	push   %eax
40ea47:	e8 c8 53 00 00       	call   0x413e14
40ea4c:	85 c0                	test   %eax,%eax
40ea4e:	78 01                	js     0x40ea51
40ea50:	47                   	inc    %edi
40ea51:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40ea55:	8b 85 80 fe ff ff    	mov    -0x180(%ebp),%eax
40ea5b:	89 9d 7c fe ff ff    	mov    %ebx,-0x184(%ebp)
40ea61:	85 c0                	test   %eax,%eax
40ea63:	74 0e                	je     0x40ea73
40ea65:	8d 8d 8c fe ff ff    	lea    -0x174(%ebp),%ecx
40ea6b:	3b c1                	cmp    %ecx,%eax
40ea6d:	0f 85 ce 1f 01 00    	jne    0x420a41
40ea73:	46                   	inc    %esi
40ea74:	e9 5f ff ff ff       	jmp    0x40e9d8
40ea79:	50                   	push   %eax
40ea7a:	ff 15 14 a4 43 00    	call   *0x43a414
40ea80:	59                   	pop    %ecx
40ea81:	e9 ed fe ff ff       	jmp    0x40e973
40ea86:	8b 4d 04             	mov    0x4(%ebp),%ecx
40ea89:	85 ff                	test   %edi,%edi
40ea8b:	0f 84 bd 1f 01 00    	je     0x420a4e
40ea91:	8b 45 9c             	mov    -0x64(%ebp),%eax
40ea94:	89 5d 98             	mov    %ebx,-0x68(%ebp)
40ea97:	85 c0                	test   %eax,%eax
40ea99:	74 0b                	je     0x40eaa6
40ea9b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40ea9e:	3b c1                	cmp    %ecx,%eax
40eaa0:	0f 85 bc 1f 01 00    	jne    0x420a62
40eaa6:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40eaac:	c7 45 98 80 11 40 00 	movl   $0x401180,-0x68(%ebp)
40eab3:	e8 1d 4a 00 00       	call   0x4134d5
40eab8:	33 c0                	xor    %eax,%eax
40eaba:	e8 40 c3 00 00       	call   0x41adff
40eabf:	c2 04 00             	ret    $0x4
40eac2:	8b ff                	mov    %edi,%edi
40eac4:	55                   	push   %ebp
40eac5:	8b ec                	mov    %esp,%ebp
40eac7:	6a ff                	push   $0xffffffff
40eac9:	68 f5 e5 41 00       	push   $0x41e5f5