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
40c8ef:	56                   	push   %esi
40c8f0:	ff b5 28 fe ff ff    	push   -0x1d8(%ebp)
40c8f6:	e8 18 69 00 00       	call   0x413213
40c8fb:	59                   	pop    %ecx
40c8fc:	59                   	pop    %ecx
40c8fd:	85 c0                	test   %eax,%eax
40c8ff:	0f 84 8c 01 00 00    	je     0x40ca91
40c905:	56                   	push   %esi
40c906:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
40c90c:	e8 02 69 00 00       	call   0x413213
40c911:	59                   	pop    %ecx
40c912:	59                   	pop    %ecx
40c913:	85 c0                	test   %eax,%eax
40c915:	0f 84 76 01 00 00    	je     0x40ca91
40c91b:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
40c921:	56                   	push   %esi
40c922:	50                   	push   %eax
40c923:	e8 98 fd ff ff       	call   0x40c6c0
40c928:	59                   	pop    %ecx
40c929:	59                   	pop    %ecx
40c92a:	85 c0                	test   %eax,%eax
40c92c:	0f 85 a4 00 00 00    	jne    0x40c9d6
40c932:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
40c938:	50                   	push   %eax
40c939:	ff b5 1c fe ff ff    	push   -0x1e4(%ebp)
40c93f:	50                   	push   %eax
40c940:	e8 52 6f 00 00       	call   0x413897
40c945:	83 c4 0c             	add    $0xc,%esp
40c948:	85 c0                	test   %eax,%eax
40c94a:	0f 84 86 00 00 00    	je     0x40c9d6
40c950:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
40c956:	50                   	push   %eax
40c957:	68 83 00 00 00       	push   $0x83
40c95c:	ff b5 28 fe ff ff    	push   -0x1d8(%ebp)
40c962:	e8 eb fc ff ff       	call   0x40c652
40c967:	83 c4 0c             	add    $0xc,%esp
40c96a:	85 ff                	test   %edi,%edi
40c96c:	74 29                	je     0x40c997
40c96e:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40c974:	50                   	push   %eax
40c975:	e8 29 c3 ff ff       	call   0x408ca3
40c97a:	40                   	inc    %eax
40c97b:	50                   	push   %eax
40c97c:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40c982:	50                   	push   %eax
40c983:	ff 75 18             	push   0x18(%ebp)
40c986:	57                   	push   %edi
40c987:	e8 32 50 00 00       	call   0x4119be
40c98c:	83 c4 14             	add    $0x14,%esp
40c98f:	85 c0                	test   %eax,%eax
40c991:	0f 85 55 01 00 00    	jne    0x40caec
40c997:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
40c99d:	33 c0                	xor    %eax,%eax
40c99f:	66 39 06             	cmp    %ax,(%esi)
40c9a2:	0f 84 de 00 00 00    	je     0x40ca86
40c9a8:	b9 83 00 00 00       	mov    $0x83,%ecx
40c9ad:	3b f9                	cmp    %ecx,%edi
40c9af:	0f 83 d1 00 00 00    	jae    0x40ca86
40c9b5:	8d 47 01             	lea    0x1(%edi),%eax
40c9b8:	50                   	push   %eax
40c9b9:	56                   	push   %esi
40c9ba:	51                   	push   %ecx
40c9bb:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
40c9c1:	e8 f8 4f 00 00       	call   0x4119be
40c9c6:	83 c4 10             	add    $0x10,%esp
40c9c9:	85 c0                	test   %eax,%eax
40c9cb:	0f 84 c0 00 00 00    	je     0x40ca91
40c9d1:	e9 16 01 00 00       	jmp    0x40caec
40c9d6:	56                   	push   %esi
40c9d7:	e8 96 31 00 00       	call   0x40fb72
40c9dc:	59                   	pop    %ecx
40c9dd:	85 c0                	test   %eax,%eax
40c9df:	0f 84 e5 00 00 00    	je     0x40caca
40c9e5:	6a 02                	push   $0x2
40c9e7:	8d 85 20 fe ff ff    	lea    -0x1e0(%ebp),%eax
40c9ed:	50                   	push   %eax
40c9ee:	68 04 10 00 20       	push   $0x20001004
40c9f3:	56                   	push   %esi
40c9f4:	e8 51 31 00 00       	call   0x40fb4a
40c9f9:	83 c4 10             	add    $0x10,%esp
40c9fc:	85 c0                	test   %eax,%eax
40c9fe:	74 0a                	je     0x40ca0a
40ca00:	8b 85 20 fe ff ff    	mov    -0x1e0(%ebp),%eax
40ca06:	85 c0                	test   %eax,%eax
40ca08:	75 0c                	jne    0x40ca16
40ca0a:	ff 15 c0 90 41 00    	call   *0x4190c0
40ca10:	89 85 20 fe ff ff    	mov    %eax,-0x1e0(%ebp)
40ca16:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
40ca1c:	0f b7 c0             	movzwl %ax,%eax
40ca1f:	89 01                	mov    %eax,(%ecx)
40ca21:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
40ca27:	40                   	inc    %eax
40ca28:	50                   	push   %eax
40ca29:	56                   	push   %esi
40ca2a:	68 83 00 00 00       	push   $0x83
40ca2f:	ff b5 28 fe ff ff    	push   -0x1d8(%ebp)
40ca35:	e8 84 4f 00 00       	call   0x4119be
40ca3a:	83 c4 10             	add    $0x10,%esp
40ca3d:	85 c0                	test   %eax,%eax
40ca3f:	0f 85 a7 00 00 00    	jne    0x40caec
40ca45:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
40ca4b:	40                   	inc    %eax
40ca4c:	50                   	push   %eax
40ca4d:	56                   	push   %esi
40ca4e:	ff 75 18             	push   0x18(%ebp)
40ca51:	57                   	push   %edi
40ca52:	e8 67 4f 00 00       	call   0x4119be
40ca57:	83 c4 10             	add    $0x10,%esp
40ca5a:	85 c0                	test   %eax,%eax
40ca5c:	0f 85 8a 00 00 00    	jne    0x40caec
40ca62:	8b bd 2c fe ff ff    	mov    -0x1d4(%ebp),%edi
40ca68:	8d 47 01             	lea    0x1(%edi),%eax
40ca6b:	50                   	push   %eax
40ca6c:	56                   	push   %esi
40ca6d:	6a 55                	push   $0x55
40ca6f:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
40ca75:	e8 44 4f 00 00       	call   0x4119be
40ca7a:	83 c4 10             	add    $0x10,%esp
40ca7d:	85 c0                	test   %eax,%eax
40ca7f:	75 6b                	jne    0x40caec
40ca81:	e9 17 ff ff ff       	jmp    0x40c99d
40ca86:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
40ca8c:	33 c9                	xor    %ecx,%ecx
40ca8e:	66 89 08             	mov    %cx,(%eax)
40ca91:	85 db                	test   %ebx,%ebx
40ca93:	74 11                	je     0x40caa6
40ca95:	6a 04                	push   $0x4
40ca97:	ff b5 1c fe ff ff    	push   -0x1e4(%ebp)
40ca9d:	53                   	push   %ebx
40ca9e:	e8 fd 8b ff ff       	call   0x4056a0
40caa3:	83 c4 0c             	add    $0xc,%esp
40caa6:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
40caac:	8b b5 18 fe ff ff    	mov    -0x1e8(%ebp),%esi
40cab2:	53                   	push   %ebx
40cab3:	ff 75 10             	push   0x10(%ebp)
40cab6:	56                   	push   %esi
40cab7:	e8 1c 30 00 00       	call   0x40fad8
40cabc:	83 c4 0c             	add    $0xc,%esp
40cabf:	85 c0                	test   %eax,%eax
40cac1:	75 29                	jne    0x40caec
40cac3:	8b c3                	mov    %ebx,%eax
40cac5:	e9 ab fd ff ff       	jmp    0x40c875
40caca:	57                   	push   %edi
40cacb:	e8 d3 c1 ff ff       	call   0x408ca3
40cad0:	40                   	inc    %eax
40cad1:	50                   	push   %eax
40cad2:	57                   	push   %edi
40cad3:	6a 55                	push   $0x55
40cad5:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
40cadb:	e8 de 4e 00 00       	call   0x4119be
40cae0:	83 c4 14             	add    $0x14,%esp
40cae3:	85 c0                	test   %eax,%eax
40cae5:	75 05                	jne    0x40caec
40cae7:	e9 87 fd ff ff       	jmp    0x40c873
40caec:	33 c0                	xor    %eax,%eax
40caee:	50                   	push   %eax
40caef:	50                   	push   %eax
40caf0:	50                   	push   %eax
40caf1:	50                   	push   %eax
40caf2:	50                   	push   %eax
40caf3:	e8 0d eb ff ff       	call   0x40b605
40caf8:	cc                   	int3
40caf9:	55                   	push   %ebp
40cafa:	8b ec                	mov    %esp,%ebp
40cafc:	53                   	push   %ebx
40cafd:	33 db                	xor    %ebx,%ebx
40caff:	56                   	push   %esi
40cb00:	8b f3                	mov    %ebx,%esi
40cb02:	39 5d 10             	cmp    %ebx,0x10(%ebp)
40cb05:	7e 22                	jle    0x40cb29
40cb07:	57                   	push   %edi
40cb08:	8d 7d 10             	lea    0x10(%ebp),%edi
40cb0b:	8d 7f 04             	lea    0x4(%edi),%edi
40cb0e:	ff 37                	push   (%edi)
40cb10:	ff 75 0c             	push   0xc(%ebp)