40d70f:	33 c0                	xor    %eax,%eax
40d711:	56                   	push   %esi
40d712:	ff 35 58 42 42 00    	push   0x424258
40d718:	f3 ab                	rep stos %eax,%es:(%edi)
40d71a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d71d:	6a 14                	push   $0x14
40d71f:	50                   	push   %eax
40d720:	e8 d2 8d ff ff       	call   0x4064f7
40d725:	83 c4 10             	add    $0x10,%esp
40d728:	85 c0                	test   %eax,%eax
40d72a:	78 1b                	js     0x40d747
40d72c:	a1 08 5e 42 00       	mov    0x425e08,%eax
40d731:	85 c0                	test   %eax,%eax
40d733:	74 12                	je     0x40d747
40d735:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d738:	51                   	push   %ecx
40d739:	6a 02                	push   $0x2
40d73b:	68 0b 04 00 00       	push   $0x40b
40d740:	50                   	push   %eax
40d741:	ff 15 bc 62 42 00    	call   *0x4262bc
40d747:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d74a:	5f                   	pop    %edi
40d74b:	89 35 04 5f 42 00    	mov    %esi,0x425f04
40d751:	33 cd                	xor    %ebp,%ecx
40d753:	5e                   	pop    %esi
40d754:	e8 17 41 01 00       	call   0x421870
40d759:	c9                   	leave
40d75a:	c3                   	ret
40d75b:	8b ff                	mov    %edi,%edi
40d75d:	55                   	push   %ebp
40d75e:	8b ec                	mov    %esp,%ebp
40d760:	81 ec 84 00 00 00    	sub    $0x84,%esp
40d766:	a1 10 42 42 00       	mov    0x424210,%eax
40d76b:	33 c5                	xor    %ebp,%eax
40d76d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d770:	56                   	push   %esi
40d771:	68 80 00 00 00       	push   $0x80
40d776:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40d77c:	8b f1                	mov    %ecx,%esi
40d77e:	6a 00                	push   $0x0
40d780:	50                   	push   %eax
40d781:	e8 c2 50 01 00       	call   0x422848
40d786:	56                   	push   %esi
40d787:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40d78d:	6a 40                	push   $0x40
40d78f:	50                   	push   %eax
40d790:	e8 62 8d ff ff       	call   0x4064f7
40d795:	83 c4 18             	add    $0x18,%esp
40d798:	5e                   	pop    %esi
40d799:	85 c0                	test   %eax,%eax
40d79b:	78 1e                	js     0x40d7bb
40d79d:	a1 08 5e 42 00       	mov    0x425e08,%eax
40d7a2:	85 c0                	test   %eax,%eax
40d7a4:	74 15                	je     0x40d7bb
40d7a6:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40d7ac:	51                   	push   %ecx
40d7ad:	6a 00                	push   $0x0
40d7af:	68 0b 04 00 00       	push   $0x40b
40d7b4:	50                   	push   %eax
40d7b5:	ff 15 bc 62 42 00    	call   *0x4262bc
40d7bb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d7be:	33 cd                	xor    %ebp,%ecx
40d7c0:	e8 ab 40 01 00       	call   0x421870
40d7c5:	c9                   	leave
40d7c6:	c3                   	ret
40d7c7:	8b ff                	mov    %edi,%edi
40d7c9:	55                   	push   %ebp
40d7ca:	8b ec                	mov    %esp,%ebp
40d7cc:	83 e4 f8             	and    $0xfffffff8,%esp
40d7cf:	81 ec 6c 02 00 00    	sub    $0x26c,%esp
40d7d5:	a1 10 42 42 00       	mov    0x424210,%eax
40d7da:	33 c4                	xor    %esp,%eax
40d7dc:	89 84 24 68 02 00 00 	mov    %eax,0x268(%esp)
40d7e3:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
40d7e9:	53                   	push   %ebx
40d7ea:	56                   	push   %esi
40d7eb:	57                   	push   %edi
40d7ec:	8b 10                	mov    (%eax),%edx
40d7ee:	8a f9                	mov    %cl,%bh
40d7f0:	a1 08 5f 42 00       	mov    0x425f08,%eax
40d7f5:	3b 82 04 00 00 00    	cmp    0x4(%edx),%eax
40d7fb:	0f 8f 3d 01 00 00    	jg     0x40d93e
40d801:	a1 70 59 42 00       	mov    0x425970,%eax
40d806:	33 ff                	xor    %edi,%edi
40d808:	89 7c 24 14          	mov    %edi,0x14(%esp)
40d80c:	85 c0                	test   %eax,%eax
40d80e:	75 0c                	jne    0x40d81c
40d810:	57                   	push   %edi
40d811:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40d815:	e8 18 0a 00 00       	call   0x40e232
40d81a:	eb 34                	jmp    0x40d850
40d81c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40d820:	51                   	push   %ecx
40d821:	50                   	push   %eax
40d822:	ff 15 b0 60 42 00    	call   *0x4260b0
40d828:	8b f0                	mov    %eax,%esi
40d82a:	8d 54 24 14          	lea    0x14(%esp),%edx
40d82e:	83 fe ff             	cmp    $0xffffffff,%esi
40d831:	74 12                	je     0x40d845
40d833:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
40d837:	e8 8c 19 00 00       	call   0x40f1c8
40d83c:	56                   	push   %esi
40d83d:	ff 15 b4 60 42 00    	call   *0x4260b4
40d843:	eb 0b                	jmp    0x40d850
40d845:	8b 0d 70 59 42 00    	mov    0x425970,%ecx
40d84b:	e8 78 19 00 00       	call   0x40f1c8
40d850:	e8 60 ef ff ff       	call   0x40c7b5
40d855:	8b 74 24 14          	mov    0x14(%esp),%esi
40d859:	8a d8                	mov    %al,%bl
40d85b:	84 ff                	test   %bh,%bh
40d85d:	75 23                	jne    0x40d882
40d85f:	3a 1d 10 5f 42 00    	cmp    0x425f10,%bl
40d865:	75 1b                	jne    0x40d882
40d867:	57                   	push   %edi
40d868:	6a ff                	push   $0xffffffff
40d86a:	ff 35 0c 5f 42 00    	push   0x425f0c
40d870:	6a ff                	push   $0xffffffff
40d872:	56                   	push   %esi
40d873:	ff 15 b8 60 42 00    	call   *0x4260b8
40d879:	83 f8 02             	cmp    $0x2,%eax
40d87c:	0f 84 9c 00 00 00    	je     0x40d91e
40d882:	8b fe                	mov    %esi,%edi
40d884:	85 f6                	test   %esi,%esi
40d886:	75 06                	jne    0x40d88e
40d888:	8b 3d 04 43 42 00    	mov    0x424304,%edi
40d88e:	84 db                	test   %bl,%bl
40d890:	74 15                	je     0x40d8a7
40d892:	51                   	push   %ecx
40d893:	51                   	push   %ecx
40d894:	6a 01                	push   $0x1
40d896:	b9 18 5f 42 00       	mov    $0x425f18,%ecx
40d89b:	e8 cf 0a 00 00       	call   0x40e36f
40d8a0:	b8 90 1f 40 00       	mov    $0x401f90,%eax
40d8a5:	eb 05                	jmp    0x40d8ac
40d8a7:	b8 94 1f 40 00       	mov    $0x401f94,%eax
40d8ac:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40d8b1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d8b5:	6a 00                	push   $0x0
40d8b7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40d8bb:	89 7c 24 20          	mov    %edi,0x20(%esp)
40d8bf:	e8 6e 09 00 00       	call   0x40e232
40d8c4:	8d 44 24 18          	lea    0x18(%esp),%eax
40d8c8:	33 c9                	xor    %ecx,%ecx
40d8ca:	50                   	push   %eax
40d8cb:	51                   	push   %ecx
40d8cc:	8d 44 24 18          	lea    0x18(%esp),%eax
40d8d0:	50                   	push   %eax
40d8d1:	51                   	push   %ecx
40d8d2:	51                   	push   %ecx
40d8d3:	ff 35 00 43 42 00    	push   0x424300
40d8d9:	68 00 25 00 00       	push   $0x2500
40d8de:	ff 15 74 61 42 00    	call   *0x426174
40d8e4:	85 c0                	test   %eax,%eax
40d8e6:	74 06                	je     0x40d8ee
40d8e8:	ff 74 24 10          	push   0x10(%esp)
40d8ec:	eb 01                	jmp    0x40d8ef
40d8ee:	57                   	push   %edi
40d8ef:	ff 35 0c 5e 42 00    	push   0x425e0c
40d8f5:	ff 15 38 62 42 00    	call   *0x426238
40d8fb:	56                   	push   %esi
40d8fc:	b9 0c 5f 42 00       	mov    $0x425f0c,%ecx
40d901:	88 1d 10 5f 42 00    	mov    %bl,0x425f10
40d907:	e8 26 09 00 00       	call   0x40e232
40d90c:	33 f6                	xor    %esi,%esi
40d90e:	39 74 24 10          	cmp    %esi,0x10(%esp)
40d912:	74 15                	je     0x40d929
40d914:	ff 74 24 10          	push   0x10(%esp)
40d918:	ff 15 dc 62 42 00    	call   *0x4262dc
40d91e:	85 f6                	test   %esi,%esi
40d920:	74 07                	je     0x40d929
40d922:	56                   	push   %esi
40d923:	ff 15 dc 62 42 00    	call   *0x4262dc
40d929:	8b 8c 24 74 02 00 00 	mov    0x274(%esp),%ecx
40d930:	5f                   	pop    %edi
40d931:	5e                   	pop    %esi
40d932:	5b                   	pop    %ebx
40d933:	33 cc                	xor    %esp,%ecx
40d935:	e8 36 3f 01 00       	call   0x421870
40d93a:	8b e5                	mov    %ebp,%esp
40d93c:	5d                   	pop    %ebp
40d93d:	c3                   	ret
40d93e:	be 08 5f 42 00       	mov    $0x425f08,%esi
40d943:	56                   	push   %esi
40d944:	e8 9f 45 01 00       	call   0x421ee8
40d949:	83 3d 08 5f 42 00 ff 	cmpl   $0xffffffff,0x425f08
40d950:	59                   	pop    %ecx
40d951:	0f 85 aa fe ff ff    	jne    0x40d801
40d957:	68 c0 2c 42 00       	push   $0x422cc0
40d95c:	e8 b6 43 01 00       	call   0x421d17
40d961:	59                   	pop    %ecx
40d962:	56                   	push   %esi
40d963:	e8 34 45 01 00       	call   0x421e9c
40d968:	59                   	pop    %ecx
40d969:	e9 93 fe ff ff       	jmp    0x40d801
40d96e:	8b ff                	mov    %edi,%edi
40d970:	56                   	push   %esi
40d971:	57                   	push   %edi
40d972:	8b f9                	mov    %ecx,%edi
40d974:	8b f7                	mov    %edi,%esi
40d976:	8b d7                	mov    %edi,%edx
40d978:	0f b7 07             	movzwl (%edi),%eax
40d97b:	66 85 c0             	test   %ax,%ax
40d97e:	74 2a                	je     0x40d9aa
40d980:	8b c8                	mov    %eax,%ecx
40d982:	66 83 f9 3a          	cmp    $0x3a,%cx
40d986:	74 06                	je     0x40d98e
40d988:	66 83 f9 5c          	cmp    $0x5c,%cx
40d98c:	75 02                	jne    0x40d990
40d98e:	8b f2                	mov    %edx,%esi
40d990:	52                   	push   %edx
40d991:	ff 15 18 62 42 00    	call   *0x426218
40d997:	8b d0                	mov    %eax,%edx
40d999:	0f b7 02             	movzwl (%edx),%eax
40d99c:	8b c8                	mov    %eax,%ecx
40d99e:	66 85 c0             	test   %ax,%ax
40d9a1:	75 df                	jne    0x40d982
40d9a3:	3b f7                	cmp    %edi,%esi
40d9a5:	74 03                	je     0x40d9aa
40d9a7:	83 c6 02             	add    $0x2,%esi
40d9aa:	5f                   	pop    %edi
40d9ab:	8b c6                	mov    %esi,%eax
40d9ad:	5e                   	pop    %esi
40d9ae:	c3                   	ret
40d9af:	8b ff                	mov    %edi,%edi
40d9b1:	55                   	push   %ebp
40d9b2:	8b ec                	mov    %esp,%ebp
40d9b4:	83 ec 0c             	sub    $0xc,%esp
40d9b7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40d9bb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d9bf:	53                   	push   %ebx
40d9c0:	56                   	push   %esi
40d9c1:	57                   	push   %edi
40d9c2:	ff 35 0c 5e 42 00    	push   0x425e0c
40d9c8:	8b f1                	mov    %ecx,%esi
40d9ca:	ff 15 c0 61 42 00    	call   *0x4261c0
40d9d0:	8b f8                	mov    %eax,%edi
40d9d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d9d5:	50                   	push   %eax
40d9d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d9d9:	50                   	push   %eax
40d9da:	68 b0 00 00 00       	push   $0xb0
40d9df:	ff 35 04 5e 42 00    	push   0x425e04
40d9e5:	ff 15 bc 62 42 00    	call   *0x4262bc
40d9eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d9ee:	33 db                	xor    %ebx,%ebx
40d9f0:	3b 45 f4             	cmp    -0xc(%ebp),%eax
40d9f3:	0f 94 c3             	sete   %bl
40d9f6:	53                   	push   %ebx
40d9f7:	68 00 03 00 00       	push   $0x300
40d9fc:	6a 01                	push   $0x1
40d9fe:	57                   	push   %edi
40d9ff:	ff 15 c8 61 42 00    	call   *0x4261c8
40da05:	50                   	push   %eax
40da06:	ff 15 cc 61 42 00    	call   *0x4261cc
40da0c:	53                   	push   %ebx
40da0d:	68 01 03 00 00       	push   $0x301
40da12:	6a 01                	push   $0x1
40da14:	57                   	push   %edi
40da15:	ff 15 c8 61 42 00    	call   *0x4261c8
40da1b:	50                   	push   %eax
40da1c:	ff 15 cc 61 42 00    	call   *0x4261cc
40da22:	53                   	push   %ebx
40da23:	68 03 03 00 00       	push   $0x303
40da28:	6a 01                	push   $0x1
40da2a:	57                   	push   %edi
40da2b:	ff 15 c8 61 42 00    	call   *0x4261c8
40da31:	50                   	push   %eax
40da32:	ff 15 cc 61 42 00    	call   *0x4261cc
40da38:	53                   	push   %ebx
40da39:	6a 1c                	push   $0x1c
40da3b:	33 db                	xor    %ebx,%ebx
40da3d:	43                   	inc    %ebx
40da3e:	53                   	push   %ebx
40da3f:	57                   	push   %edi
40da40:	ff 15 c8 61 42 00    	call   *0x4261c8
40da46:	50                   	push   %eax
40da47:	ff 15 cc 61 42 00    	call   *0x4261cc
40da4d:	56                   	push   %esi
40da4e:	ff 15 3c 62 42 00    	call   *0x42623c
40da54:	85 c0                	test   %eax,%eax
40da56:	74 10                	je     0x40da68
40da58:	53                   	push   %ebx
40da59:	ff 15 40 62 42 00    	call   *0x426240
40da5f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40da62:	ff 15 44 62 42 00    	call   *0x426244
40da68:	33 c9                	xor    %ecx,%ecx
40da6a:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
40da6d:	0f 94 c1             	sete   %cl
40da70:	51                   	push   %ecx
40da71:	68 02 03 00 00       	push   $0x302
40da76:	53                   	push   %ebx
40da77:	57                   	push   %edi
40da78:	ff 15 c8 61 42 00    	call   *0x4261c8
40da7e:	50                   	push   %eax
40da7f:	ff 15 cc 61 42 00    	call   *0x4261cc
40da85:	6a 00                	push   $0x0
40da87:	6a 00                	push   $0x0
40da89:	6a 0e                	push   $0xe
40da8b:	ff 35 04 5e 42 00    	push   0x425e04
40da91:	ff 15 bc 62 42 00    	call   *0x4262bc
40da97:	f7 d8                	neg    %eax
40da99:	1b f6                	sbb    %esi,%esi
40da9b:	f7 d6                	not    %esi
40da9d:	23 f3                	and    %ebx,%esi
40da9f:	56                   	push   %esi
40daa0:	6a 15                	push   $0x15
40daa2:	53                   	push   %ebx
40daa3:	57                   	push   %edi
40daa4:	ff 15 c8 61 42 00    	call   *0x4261c8
40daaa:	50                   	push   %eax
40daab:	ff 15 cc 61 42 00    	call   *0x4261cc
40dab1:	56                   	push   %esi
40dab2:	6a 16                	push   $0x16
40dab4:	53                   	push   %ebx
40dab5:	57                   	push   %edi
40dab6:	ff 15 c8 61 42 00    	call   *0x4261c8
40dabc:	50                   	push   %eax
40dabd:	ff 15 cc 61 42 00    	call   *0x4261cc
40dac3:	56                   	push   %esi
40dac4:	6a 1d                	push   $0x1d
40dac6:	53                   	push   %ebx
40dac7:	57                   	push   %edi
40dac8:	ff 15 c8 61 42 00    	call   *0x4261c8
40dace:	50                   	push   %eax
40dacf:	ff 15 cc 61 42 00    	call   *0x4261cc
40dad5:	33 db                	xor    %ebx,%ebx
40dad7:	39 1d f0 5b 42 00    	cmp    %ebx,0x425bf0
40dadd:	6a 01                	push   $0x1
40dadf:	57                   	push   %edi
40dae0:	0f 95 c3             	setne  %bl
40dae3:	ff 15 c8 61 42 00    	call   *0x4261c8
40dae9:	53                   	push   %ebx
40daea:	6a 18                	push   $0x18
40daec:	50                   	push   %eax
40daed:	ff 15 cc 61 42 00    	call   *0x4261cc
40daf3:	6a 00                	push   $0x0
40daf5:	6a 00                	push   $0x0
40daf7:	68 c6 00 00 00       	push   $0xc6
40dafc:	ff 35 04 5e 42 00    	push   0x425e04
40db02:	ff 15 bc 62 42 00    	call   *0x4262bc
40db08:	33 c9                	xor    %ecx,%ecx
40db0a:	85 c0                	test   %eax,%eax
40db0c:	0f 94 c1             	sete   %cl
40db0f:	51                   	push   %ecx
40db10:	6a 10                	push   $0x10
40db12:	6a 01                	push   $0x1
40db14:	57                   	push   %edi
40db15:	ff 15 c8 61 42 00    	call   *0x4261c8
40db1b:	50                   	push   %eax
40db1c:	ff 15 cc 61 42 00    	call   *0x4261cc