40e97c:	85 c0                	test   %eax,%eax
40e97e:	74 11                	je     0x40e991
40e980:	6a 04                	push   $0x4
40e982:	6a 00                	push   $0x0
40e984:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40e98a:	50                   	push   %eax
40e98b:	ff 15 bc a0 42 00    	call   *0x42a0bc
40e991:	6a 00                	push   $0x0
40e993:	8d 85 78 a3 ff ff    	lea    -0x5c88(%ebp),%eax
40e999:	50                   	push   %eax
40e99a:	8d 8d 70 83 ff ff    	lea    -0x7c90(%ebp),%ecx
40e9a0:	e8 e7 ab ff ff       	call   0x40958c
40e9a5:	84 c0                	test   %al,%al
40e9a7:	0f 85 ac fe ff ff    	jne    0x40e859
40e9ad:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40e9b1:	8d 8d 70 83 ff ff    	lea    -0x7c90(%ebp),%ecx
40e9b7:	e8 0b aa ff ff       	call   0x4093c7
40e9bc:	e9 ff 08 00 00       	jmp    0x40f2c0
40e9c1:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40e9c5:	0f 85 f5 08 00 00    	jne    0x40f2c0
40e9cb:	a1 0c 0d 44 00       	mov    0x440d0c,%eax
40e9d0:	85 c0                	test   %eax,%eax
40e9d2:	0f 94 45 ee          	sete   -0x12(%ebp)
40e9d6:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40e9da:	75 0d                	jne    0x40e9e9
40e9dc:	68 6c a9 42 00       	push   $0x42a96c
40e9e1:	50                   	push   %eax
40e9e2:	e8 be b7 00 00       	call   0x41a1a5
40e9e7:	59                   	pop    %ecx
40e9e8:	59                   	pop    %ecx
40e9e9:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
40e9ed:	74 08                	je     0x40e9f7
40e9ef:	8d bd c0 bb ff ff    	lea    -0x4440(%ebp),%edi
40e9f5:	eb 0a                	jmp    0x40ea01
40e9f7:	8d 7d 0c             	lea    0xc(%ebp),%edi
40e9fa:	e8 ab ed ff ff       	call   0x40d7aa
40e9ff:	8b f8                	mov    %eax,%edi
40ea01:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40ea05:	74 04                	je     0x40ea0b
40ea07:	33 f6                	xor    %esi,%esi
40ea09:	eb 0e                	jmp    0x40ea19
40ea0b:	ff 35 0c 0d 44 00    	push   0x440d0c
40ea11:	e8 75 b7 00 00       	call   0x41a18b
40ea16:	59                   	pop    %ecx
40ea17:	8b f0                	mov    %eax,%esi
40ea19:	57                   	push   %edi
40ea1a:	e8 6c b7 00 00       	call   0x41a18b
40ea1f:	03 c6                	add    %esi,%eax
40ea21:	8d 44 00 0a          	lea    0xa(%eax,%eax,1),%eax
40ea25:	50                   	push   %eax
40ea26:	ff 35 0c 0d 44 00    	push   0x440d0c
40ea2c:	e8 3f b5 00 00       	call   0x419f70
40ea31:	83 c4 0c             	add    $0xc,%esp
40ea34:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40ea38:	a3 0c 0d 44 00       	mov    %eax,0x440d0c
40ea3d:	74 05                	je     0x40ea44
40ea3f:	33 c9                	xor    %ecx,%ecx
40ea41:	66 89 08             	mov    %cx,(%eax)
40ea44:	57                   	push   %edi
40ea45:	50                   	push   %eax
40ea46:	e8 5a b7 00 00       	call   0x41a1a5
40ea4b:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
40ea4f:	59                   	pop    %ecx
40ea50:	59                   	pop    %ecx
40ea51:	0f 85 69 08 00 00    	jne    0x40f2c0
40ea57:	57                   	push   %edi
40ea58:	e8 85 b4 00 00       	call   0x419ee2
40ea5d:	59                   	pop    %ecx
40ea5e:	e9 5d 08 00 00       	jmp    0x40f2c0
40ea63:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40ea67:	0f 85 53 08 00 00    	jne    0x40f2c0
40ea6d:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40ea73:	50                   	push   %eax
40ea74:	ff 75 08             	push   0x8(%ebp)
40ea77:	ff 15 34 a3 42 00    	call   *0x42a334
40ea7d:	e9 3e 08 00 00       	jmp    0x40f2c0
40ea82:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40ea86:	0f 85 34 08 00 00    	jne    0x40f2c0
40ea8c:	66 83 3d 3a 0d 44 00 	cmpw   $0x0,0x440d3a
40ea93:	00
40ea94:	0f 85 26 08 00 00    	jne    0x40f2c0
40ea9a:	33 c0                	xor    %eax,%eax
40ea9c:	66 83 bd c0 bb ff ff 	cmpw   $0x22,-0x4440(%ebp)
40eaa3:	22
40eaa4:	8d bd c0 bb ff ff    	lea    -0x4440(%ebp),%edi
40eaaa:	89 7d e8             	mov    %edi,-0x18(%ebp)
40eaad:	66 89 85 c0 ef ff ff 	mov    %ax,-0x1040(%ebp)
40eab4:	75 09                	jne    0x40eabf
40eab6:	8d bd c2 bb ff ff    	lea    -0x443e(%ebp),%edi
40eabc:	89 7d e8             	mov    %edi,-0x18(%ebp)
40eabf:	57                   	push   %edi
40eac0:	e8 c6 b6 00 00       	call   0x41a18b
40eac5:	59                   	pop    %ecx
40eac6:	3b c3                	cmp    %ebx,%eax
40eac8:	0f 83 f2 07 00 00    	jae    0x40f2c0
40eace:	0f b7 07             	movzwl (%edi),%eax
40ead1:	66 83 f8 2e          	cmp    $0x2e,%ax
40ead5:	75 1a                	jne    0x40eaf1
40ead7:	66 83 7f 02 5c       	cmpw   $0x5c,0x2(%edi)
40eadc:	75 13                	jne    0x40eaf1
40eade:	8d 47 04             	lea    0x4(%edi),%eax
40eae1:	66 83 38 00          	cmpw   $0x0,(%eax)
40eae5:	0f 84 d5 07 00 00    	je     0x40f2c0
40eaeb:	50                   	push   %eax
40eaec:	e9 e6 00 00 00       	jmp    0x40ebd7
40eaf1:	66 83 f8 5c          	cmp    $0x5c,%ax
40eaf5:	0f 84 db 00 00 00    	je     0x40ebd6
40eafb:	66 85 c0             	test   %ax,%ax
40eafe:	74 0b                	je     0x40eb0b
40eb00:	66 83 7f 02 3a       	cmpw   $0x3a,0x2(%edi)
40eb05:	0f 84 cb 00 00 00    	je     0x40ebd6
40eb0b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40eb0e:	50                   	push   %eax
40eb0f:	6a 01                	push   $0x1
40eb11:	6a 00                	push   $0x0
40eb13:	68 18 a9 42 00       	push   $0x42a918
40eb18:	68 02 00 00 80       	push   $0x80000002
40eb1d:	ff 15 00 a0 42 00    	call   *0x42a000
40eb23:	85 c0                	test   %eax,%eax
40eb25:	75 49                	jne    0x40eb70
40eb27:	8d 45 f0             	lea    -0x10(%ebp),%eax
40eb2a:	50                   	push   %eax
40eb2b:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40eb31:	50                   	push   %eax
40eb32:	8d 45 e0             	lea    -0x20(%ebp),%eax
40eb35:	50                   	push   %eax
40eb36:	6a 00                	push   $0x0
40eb38:	68 f8 a8 42 00       	push   $0x42a8f8
40eb3d:	ff 75 e4             	push   -0x1c(%ebp)
40eb40:	c7 45 f0 00 10 00 00 	movl   $0x1000,-0x10(%ebp)
40eb47:	ff 15 04 a0 42 00    	call   *0x42a004
40eb4d:	ff 75 e4             	push   -0x1c(%ebp)
40eb50:	ff 15 10 a0 42 00    	call   *0x42a010
40eb56:	d1 6d f0             	shrl   $1,-0x10(%ebp)
40eb59:	b8 ff 07 00 00       	mov    $0x7ff,%eax
40eb5e:	39 45 f0             	cmp    %eax,-0x10(%ebp)
40eb61:	73 03                	jae    0x40eb66
40eb63:	8b 45 f0             	mov    -0x10(%ebp),%eax
40eb66:	33 c9                	xor    %ecx,%ecx
40eb68:	66 89 8c 45 c0 ef ff 	mov    %cx,-0x1040(%ebp,%eax,2)
40eb6f:	ff
40eb70:	66 83 bd c0 ef ff ff 	cmpw   $0x0,-0x1040(%ebp)
40eb77:	00
40eb78:	74 2b                	je     0x40eba5
40eb7a:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40eb80:	50                   	push   %eax
40eb81:	e8 05 b6 00 00       	call   0x41a18b
40eb86:	66 83 bc 45 be ef ff 	cmpw   $0x5c,-0x1042(%ebp,%eax,2)
40eb8d:	ff 5c
40eb8f:	59                   	pop    %ecx
40eb90:	74 13                	je     0x40eba5
40eb92:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40eb98:	68 5c a6 42 00       	push   $0x42a65c
40eb9d:	50                   	push   %eax
40eb9e:	e8 02 b6 00 00       	call   0x41a1a5
40eba3:	59                   	pop    %ecx
40eba4:	59                   	pop    %ecx
40eba5:	57                   	push   %edi
40eba6:	e8 e0 b5 00 00       	call   0x41a18b
40ebab:	8b f8                	mov    %eax,%edi
40ebad:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ebb3:	50                   	push   %eax
40ebb4:	e8 d2 b5 00 00       	call   0x41a18b
40ebb9:	03 f8                	add    %eax,%edi
40ebbb:	59                   	pop    %ecx
40ebbc:	59                   	pop    %ecx
40ebbd:	81 ff ff 07 00 00    	cmp    $0x7ff,%edi
40ebc3:	73 20                	jae    0x40ebe5
40ebc5:	ff 75 e8             	push   -0x18(%ebp)
40ebc8:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ebce:	50                   	push   %eax
40ebcf:	e8 d1 b5 00 00       	call   0x41a1a5
40ebd4:	eb 0d                	jmp    0x40ebe3
40ebd6:	57                   	push   %edi
40ebd7:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ebdd:	50                   	push   %eax
40ebde:	e8 f0 b5 00 00       	call   0x41a1d3
40ebe3:	59                   	pop    %ecx
40ebe4:	59                   	pop    %ecx
40ebe5:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ebeb:	6a 22                	push   $0x22
40ebed:	50                   	push   %eax
40ebee:	e8 7c d8 00 00       	call   0x41c46f
40ebf3:	59                   	pop    %ecx
40ebf4:	59                   	pop    %ecx
40ebf5:	85 c0                	test   %eax,%eax
40ebf7:	74 0c                	je     0x40ec05
40ebf9:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
40ebfe:	75 05                	jne    0x40ec05
40ec00:	33 c9                	xor    %ecx,%ecx
40ec02:	66 89 08             	mov    %cx,(%eax)
40ec05:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ec0b:	50                   	push   %eax
40ec0c:	56                   	push   %esi
40ec0d:	e8 c1 b5 00 00       	call   0x41a1d3
40ec12:	59                   	pop    %ecx
40ec13:	59                   	pop    %ecx
40ec14:	53                   	push   %ebx
40ec15:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ec1b:	50                   	push   %eax
40ec1c:	e8 72 ed ff ff       	call   0x40d993
40ec21:	6a 66                	push   $0x66
40ec23:	ff 75 08             	push   0x8(%ebp)
40ec26:	ff 15 88 a2 42 00    	call   *0x42a288
40ec2c:	8b f8                	mov    %eax,%edi
40ec2e:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ec34:	50                   	push   %eax
40ec35:	57                   	push   %edi
40ec36:	ff 15 34 a3 42 00    	call   *0x42a334
40ec3c:	56                   	push   %esi
40ec3d:	6a 00                	push   $0x0
40ec3f:	68 43 01 00 00       	push   $0x143
40ec44:	57                   	push   %edi
40ec45:	ff 15 04 a3 42 00    	call   *0x42a304
40ec4b:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ec51:	50                   	push   %eax
40ec52:	56                   	push   %esi
40ec53:	e8 a9 b7 00 00       	call   0x41a401
40ec58:	59                   	pop    %ecx
40ec59:	59                   	pop    %ecx
40ec5a:	85 c0                	test   %eax,%eax
40ec5c:	0f 84 5e 06 00 00    	je     0x40f2c0
40ec62:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40ec68:	50                   	push   %eax
40ec69:	6a 00                	push   $0x0
40ec6b:	68 43 01 00 00       	push   $0x143
40ec70:	57                   	push   %edi
40ec71:	ff 15 04 a3 42 00    	call   *0x42a304
40ec77:	e9 44 06 00 00       	jmp    0x40f2c0
40ec7c:	83 3d 34 0d 44 00 01 	cmpl   $0x1,0x440d34
40ec83:	0f 84 37 06 00 00    	je     0x40f2c0
40ec89:	0f b7 85 c0 bb ff ff 	movzwl -0x4440(%ebp),%eax
40ec90:	50                   	push   %eax
40ec91:	e8 5a 1c 00 00       	call   0x4108f0
40ec96:	84 c0                	test   %al,%al
40ec98:	74 14                	je     0x40ecae
40ec9a:	0f b7 85 c0 bb ff ff 	movzwl -0x4440(%ebp),%eax
40eca1:	83 e8 30             	sub    $0x30,%eax
40eca4:	a3 34 0d 44 00       	mov    %eax,0x440d34
40eca9:	e9 12 06 00 00       	jmp    0x40f2c0
40ecae:	c7 05 34 0d 44 00 02 	movl   $0x2,0x440d34
40ecb5:	00 00 00
40ecb8:	e9 03 06 00 00       	jmp    0x40f2c0
40ecbd:	0f b7 85 c0 bb ff ff 	movzwl -0x4440(%ebp),%eax
40ecc4:	83 e8 00             	sub    $0x0,%eax
40ecc7:	74 2b                	je     0x40ecf4
40ecc9:	83 e8 30             	sub    $0x30,%eax
40eccc:	74 13                	je     0x40ece1
40ecce:	48                   	dec    %eax
40eccf:	74 23                	je     0x40ecf4
40ecd1:	48                   	dec    %eax
40ecd2:	0f 85 e8 05 00 00    	jne    0x40f2c0
40ecd8:	c6 05 e7 0c 44 00 01 	movb   $0x1,0x440ce7
40ecdf:	eb 07                	jmp    0x40ece8
40ece1:	c6 05 e7 0c 44 00 00 	movb   $0x0,0x440ce7
40ece8:	c6 05 e6 0c 44 00 00 	movb   $0x0,0x440ce6
40ecef:	e9 cc 05 00 00       	jmp    0x40f2c0
40ecf4:	c6 05 e7 0c 44 00 00 	movb   $0x0,0x440ce7
40ecfb:	c6 05 e6 0c 44 00 01 	movb   $0x1,0x440ce6
40ed02:	e9 b9 05 00 00       	jmp    0x40f2c0
40ed07:	0f b7 85 c0 bb ff ff 	movzwl -0x4440(%ebp),%eax
40ed0e:	50                   	push   %eax
40ed0f:	e8 71 df 00 00       	call   0x41cc85
40ed14:	59                   	pop    %ecx
40ed15:	83 f8 46             	cmp    $0x46,%eax
40ed18:	74 24                	je     0x40ed3e
40ed1a:	83 f8 55             	cmp    $0x55,%eax
40ed1d:	74 13                	je     0x40ed32
40ed1f:	c6 05 e5 0c 44 00 00 	movb   $0x0,0x440ce5
40ed26:	c6 05 e4 0c 44 00 00 	movb   $0x0,0x440ce4
40ed2d:	e9 8e 05 00 00       	jmp    0x40f2c0
40ed32:	c6 05 e4 0c 44 00 01 	movb   $0x1,0x440ce4
40ed39:	e9 82 05 00 00       	jmp    0x40f2c0
40ed3e:	c6 05 e5 0c 44 00 01 	movb   $0x1,0x440ce5
40ed45:	e9 76 05 00 00       	jmp    0x40f2c0
40ed4a:	83 7d 10 04          	cmpl   $0x4,0x10(%ebp)
40ed4e:	75 27                	jne    0x40ed77
40ed50:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40ed56:	68 f0 a8 42 00       	push   $0x42a8f0
40ed5b:	50                   	push   %eax
40ed5c:	e8 a0 b6 00 00       	call   0x41a401
40ed61:	59                   	pop    %ecx
40ed62:	59                   	pop    %ecx
40ed63:	85 c0                	test   %eax,%eax
40ed65:	74 10                	je     0x40ed77
40ed67:	6a 00                	push   $0x0
40ed69:	ff 75 08             	push   0x8(%ebp)
40ed6c:	8d 8d c0 bb ff ff    	lea    -0x4440(%ebp),%ecx
40ed72:	e8 6b f5 ff ff       	call   0x40e2e2
40ed77:	c6 05 18 0d 44 00 01 	movb   $0x1,0x440d18
40ed7e:	e9 3d 05 00 00       	jmp    0x40f2c0
40ed83:	c6 05 19 0d 44 00 01 	movb   $0x1,0x440d19
40ed8a:	e9 31 05 00 00       	jmp    0x40f2c0
40ed8f:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
40ed93:	0f 85 71 01 00 00    	jne    0x40ef0a
40ed99:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40ed9f:	50                   	push   %eax
40eda0:	53                   	push   %ebx
40eda1:	ff 15 b8 a0 42 00    	call   *0x42a0b8
40eda7:	53                   	push   %ebx
40eda8:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40edae:	50                   	push   %eax
40edaf:	e8 48 b2 ff ff       	call   0x409ffc
40edb4:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40edb8:	6a 00                	push   $0x0
40edba:	be e0 a8 42 00       	mov    $0x42a8e0,%esi
40edbf:	eb 06                	jmp    0x40edc7
40edc1:	ff 45 f0             	incl   -0x10(%ebp)
40edc4:	ff 75 f0             	push   -0x10(%ebp)
40edc7:	ff 35 c0 f0 42 00    	push   0x42f0c0
40edcd:	8d 85 70 73 ff ff    	lea    -0x8c90(%ebp),%eax
40edd3:	50                   	push   %eax
40edd4:	56                   	push   %esi
40edd5:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40eddb:	53                   	push   %ebx
40eddc:	50                   	push   %eax
40eddd:	e8 00 e8 ff ff       	call   0x40d5e2
40ede2:	83 c4 18             	add    $0x18,%esp
40ede5:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40edeb:	50                   	push   %eax
40edec:	ff d7                	call   *%edi
40edee:	83 f8 ff             	cmp    $0xffffffff,%eax
40edf1:	75 ce                	jne    0x40edc1
40edf3:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
40edf9:	50                   	push   %eax
40edfa:	6a 66                	push   $0x66
40edfc:	ff 75 08             	push   0x8(%ebp)
40edff:	ff 15 fc a2 42 00    	call   *0x42a2fc
40ee05:	66 83 bd c0 bb ff ff 	cmpw   $0x0,-0x4440(%ebp)
40ee0c:	00
40ee0d:	0f 84 ad 04 00 00    	je     0x40f2c0
40ee13:	80 3d 06 0d 44 00 00 	cmpb   $0x0,0x440d06
40ee1a:	0f 85 a0 04 00 00    	jne    0x40f2c0
40ee20:	33 c0                	xor    %eax,%eax
40ee22:	66 89 85 c0 eb ff ff 	mov    %ax,-0x1440(%ebp)
40ee29:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40ee2f:	6a 2c                	push   $0x2c
40ee31:	50                   	push   %eax
40ee32:	e8 12 d6 00 00       	call   0x41c449
40ee37:	59                   	pop    %ecx
40ee38:	59                   	pop    %ecx
40ee39:	85 c0                	test   %eax,%eax
40ee3b:	75 4a                	jne    0x40ee87
40ee3d:	33 c9                	xor    %ecx,%ecx
40ee3f:	66 39 8d c0 bb ff ff 	cmp    %cx,-0x4440(%ebp)
40ee46:	74 3f                	je     0x40ee87
40ee48:	8d 85 c0 bb ff ff    	lea    -0x4440(%ebp),%eax
40ee4e:	66 83 38 40          	cmpw   $0x40,(%eax)
40ee52:	74 10                	je     0x40ee64
40ee54:	41                   	inc    %ecx