408bcf:	59                   	pop    %ecx
408bd0:	e9 f0 07 00 00       	jmp    0x4093c5
408bd5:	0f b7 c2             	movzwl %dx,%eax
408bd8:	83 f8 64             	cmp    $0x64,%eax
408bdb:	0f 8f 31 02 00 00    	jg     0x408e12
408be1:	0f 84 bf 02 00 00    	je     0x408ea6
408be7:	83 f8 53             	cmp    $0x53,%eax
408bea:	0f 8f 1c 01 00 00    	jg     0x408d0c
408bf0:	74 7f                	je     0x408c71
408bf2:	83 e8 41             	sub    $0x41,%eax
408bf5:	74 10                	je     0x408c07
408bf7:	2b c1                	sub    %ecx,%eax
408bf9:	74 5a                	je     0x408c55
408bfb:	2b c1                	sub    %ecx,%eax
408bfd:	74 08                	je     0x408c07
408bff:	2b c1                	sub    %ecx,%eax
408c01:	0f 85 e1 05 00 00    	jne    0x4091e8
408c07:	83 c2 20             	add    $0x20,%edx
408c0a:	c7 85 98 fb ff ff 01 	movl   $0x1,-0x468(%ebp)
408c11:	00 00 00
408c14:	89 95 e0 fb ff ff    	mov    %edx,-0x420(%ebp)
408c1a:	8b 8d f4 fb ff ff    	mov    -0x40c(%ebp),%ecx
408c20:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
408c27:	8d bd fc fb ff ff    	lea    -0x404(%ebp),%edi
408c2d:	b8 00 02 00 00       	mov    $0x200,%eax
408c32:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
408c38:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
408c3e:	85 c9                	test   %ecx,%ecx
408c40:	0f 89 8e 02 00 00    	jns    0x408ed4
408c46:	c7 85 f4 fb ff ff 06 	movl   $0x6,-0x40c(%ebp)
408c4d:	00 00 00
408c50:	e9 de 02 00 00       	jmp    0x408f33
408c55:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
408c5c:	08 00 00
408c5f:	0f 85 c9 00 00 00    	jne    0x408d2e
408c65:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
408c6c:	e9 bd 00 00 00       	jmp    0x408d2e
408c71:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
408c78:	08 00 00
408c7b:	75 07                	jne    0x408c84
408c7d:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
408c84:	8b bd f4 fb ff ff    	mov    -0x40c(%ebp),%edi
408c8a:	83 ff ff             	cmp    $0xffffffff,%edi
408c8d:	75 05                	jne    0x408c94
408c8f:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
408c94:	83 c3 04             	add    $0x4,%ebx
408c97:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
408c9e:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408ca4:	8b 5b fc             	mov    -0x4(%ebx),%ebx
408ca7:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
408cad:	0f 84 f9 04 00 00    	je     0x4091ac
408cb3:	85 db                	test   %ebx,%ebx
408cb5:	75 0b                	jne    0x408cc2
408cb7:	a1 e0 2d 41 00       	mov    0x412de0,%eax
408cbc:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
408cc2:	83 a5 ec fb ff ff 00 	andl   $0x0,-0x414(%ebp)
408cc9:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
408ccf:	85 ff                	test   %edi,%edi
408cd1:	0f 8e 11 05 00 00    	jle    0x4091e8
408cd7:	8a 06                	mov    (%esi),%al
408cd9:	84 c0                	test   %al,%al
408cdb:	0f 84 07 05 00 00    	je     0x4091e8
408ce1:	8d 8d b4 fb ff ff    	lea    -0x44c(%ebp),%ecx
408ce7:	0f b6 c0             	movzbl %al,%eax
408cea:	51                   	push   %ecx
408ceb:	50                   	push   %eax
408cec:	e8 2a 20 00 00       	call   0x40ad1b
408cf1:	59                   	pop    %ecx
408cf2:	59                   	pop    %ecx
408cf3:	85 c0                	test   %eax,%eax
408cf5:	74 01                	je     0x408cf8
408cf7:	46                   	inc    %esi
408cf8:	46                   	inc    %esi
408cf9:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
408cff:	39 bd ec fb ff ff    	cmp    %edi,-0x414(%ebp)
408d05:	7c d0                	jl     0x408cd7
408d07:	e9 dc 04 00 00       	jmp    0x4091e8
408d0c:	83 e8 58             	sub    $0x58,%eax
408d0f:	0f 84 df 02 00 00    	je     0x408ff4
408d15:	2b c1                	sub    %ecx,%eax
408d17:	0f 84 95 00 00 00    	je     0x408db2
408d1d:	83 e8 07             	sub    $0x7,%eax
408d20:	0f 84 f4 fe ff ff    	je     0x408c1a
408d26:	2b c1                	sub    %ecx,%eax
408d28:	0f 85 ba 04 00 00    	jne    0x4091e8
408d2e:	0f b7 03             	movzwl (%ebx),%eax
408d31:	83 c3 04             	add    $0x4,%ebx
408d34:	33 f6                	xor    %esi,%esi
408d36:	46                   	inc    %esi
408d37:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
408d3e:	89 b5 d0 fb ff ff    	mov    %esi,-0x430(%ebp)
408d44:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408d4a:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
408d50:	74 42                	je     0x408d94
408d52:	88 85 c8 fb ff ff    	mov    %al,-0x438(%ebp)
408d58:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408d5e:	50                   	push   %eax
408d5f:	8b 85 b4 fb ff ff    	mov    -0x44c(%ebp),%eax
408d65:	c6 85 c9 fb ff ff 00 	movb   $0x0,-0x437(%ebp)
408d6c:	ff b0 ac 00 00 00    	push   0xac(%eax)
408d72:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
408d78:	50                   	push   %eax
408d79:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
408d7f:	50                   	push   %eax
408d80:	e8 66 1e 00 00       	call   0x40abeb
408d85:	83 c4 10             	add    $0x10,%esp
408d88:	85 c0                	test   %eax,%eax
408d8a:	79 0f                	jns    0x408d9b
408d8c:	89 b5 b0 fb ff ff    	mov    %esi,-0x450(%ebp)
408d92:	eb 07                	jmp    0x408d9b
408d94:	66 89 85 fc fb ff ff 	mov    %ax,-0x404(%ebp)
408d9b:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
408da1:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
408da7:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
408dad:	e9 36 04 00 00       	jmp    0x4091e8
408db2:	8b 03                	mov    (%ebx),%eax
408db4:	83 c3 04             	add    $0x4,%ebx
408db7:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408dbd:	85 c0                	test   %eax,%eax
408dbf:	74 3a                	je     0x408dfb
408dc1:	8b 48 04             	mov    0x4(%eax),%ecx
408dc4:	85 c9                	test   %ecx,%ecx
408dc6:	74 33                	je     0x408dfb
408dc8:	f7 85 f8 fb ff ff 00 	testl  $0x800,-0x408(%ebp)
408dcf:	08 00 00
408dd2:	0f bf 00             	movswl (%eax),%eax
408dd5:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
408ddb:	74 12                	je     0x408def
408ddd:	99                   	cltd
408dde:	2b c2                	sub    %edx,%eax
408de0:	c7 85 d0 fb ff ff 01 	movl   $0x1,-0x430(%ebp)
408de7:	00 00 00
408dea:	e9 f1 03 00 00       	jmp    0x4091e0
408def:	83 a5 d0 fb ff ff 00 	andl   $0x0,-0x430(%ebp)
408df6:	e9 e7 03 00 00       	jmp    0x4091e2
408dfb:	a1 e0 2d 41 00       	mov    0x412de0,%eax
408e00:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
408e06:	50                   	push   %eax
408e07:	e8 54 1d 00 00       	call   0x40ab60
408e0c:	59                   	pop    %ecx
408e0d:	e9 d0 03 00 00       	jmp    0x4091e2
408e12:	83 f8 70             	cmp    $0x70,%eax
408e15:	0f 8f e5 01 00 00    	jg     0x409000
408e1b:	0f 84 cd 01 00 00    	je     0x408fee
408e21:	83 f8 65             	cmp    $0x65,%eax
408e24:	0f 8c be 03 00 00    	jl     0x4091e8
408e2a:	83 f8 67             	cmp    $0x67,%eax
408e2d:	0f 8e e7 fd ff ff    	jle    0x408c1a
408e33:	83 f8 69             	cmp    $0x69,%eax
408e36:	74 6e                	je     0x408ea6
408e38:	83 f8 6e             	cmp    $0x6e,%eax
408e3b:	74 24                	je     0x408e61
408e3d:	83 f8 6f             	cmp    $0x6f,%eax
408e40:	0f 85 a2 03 00 00    	jne    0x4091e8
408e46:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
408e4d:	89 b5 e0 fb ff ff    	mov    %esi,-0x420(%ebp)
408e53:	74 62                	je     0x408eb7
408e55:	81 8d f8 fb ff ff 00 	orl    $0x200,-0x408(%ebp)
408e5c:	02 00 00
408e5f:	eb 56                	jmp    0x408eb7
408e61:	83 c3 04             	add    $0x4,%ebx
408e64:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408e6a:	8b 5b fc             	mov    -0x4(%ebx),%ebx
408e6d:	e8 d5 1c 00 00       	call   0x40ab47
408e72:	85 c0                	test   %eax,%eax
408e74:	0f 84 78 fa ff ff    	je     0x4088f2
408e7a:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
408e81:	74 0c                	je     0x408e8f
408e83:	66 8b 85 e8 fb ff ff 	mov    -0x418(%ebp),%ax
408e8a:	66 89 03             	mov    %ax,(%ebx)
408e8d:	eb 08                	jmp    0x408e97
408e8f:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
408e95:	89 03                	mov    %eax,(%ebx)
408e97:	c7 85 b0 fb ff ff 01 	movl   $0x1,-0x450(%ebp)
408e9e:	00 00 00
408ea1:	e9 f7 04 00 00       	jmp    0x40939d
408ea6:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
408ead:	c7 85 e0 fb ff ff 0a 	movl   $0xa,-0x420(%ebp)
408eb4:	00 00 00
408eb7:	f7 85 f8 fb ff ff 00 	testl  $0x8000,-0x408(%ebp)
408ebe:	80 00 00
408ec1:	0f 84 99 01 00 00    	je     0x409060
408ec7:	03 de                	add    %esi,%ebx
408ec9:	8b 43 f8             	mov    -0x8(%ebx),%eax
408ecc:	8b 53 fc             	mov    -0x4(%ebx),%edx
408ecf:	e9 d5 01 00 00       	jmp    0x4090a9
408ed4:	75 12                	jne    0x408ee8
408ed6:	66 83 fa 67          	cmp    $0x67,%dx
408eda:	75 57                	jne    0x408f33
408edc:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
408ee3:	00 00 00
408ee6:	eb 4b                	jmp    0x408f33
408ee8:	3b c8                	cmp    %eax,%ecx
408eea:	7e 08                	jle    0x408ef4
408eec:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
408ef2:	8b c8                	mov    %eax,%ecx
408ef4:	81 f9 a3 00 00 00    	cmp    $0xa3,%ecx
408efa:	7e 37                	jle    0x408f33
408efc:	8d b1 5d 01 00 00    	lea    0x15d(%ecx),%esi
408f02:	56                   	push   %esi
408f03:	e8 b7 d9 ff ff       	call   0x4068bf
408f08:	8b 95 e0 fb ff ff    	mov    -0x420(%ebp),%edx
408f0e:	59                   	pop    %ecx
408f0f:	89 85 a8 fb ff ff    	mov    %eax,-0x458(%ebp)
408f15:	85 c0                	test   %eax,%eax
408f17:	74 10                	je     0x408f29
408f19:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
408f1f:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
408f25:	8b f8                	mov    %eax,%edi
408f27:	eb 0a                	jmp    0x408f33
408f29:	c7 85 f4 fb ff ff a3 	movl   $0xa3,-0x40c(%ebp)
408f30:	00 00 00
408f33:	8b 03                	mov    (%ebx),%eax
408f35:	8b 35 90 f0 40 00    	mov    0x40f090,%esi
408f3b:	83 c3 08             	add    $0x8,%ebx
408f3e:	89 85 90 fb ff ff    	mov    %eax,-0x470(%ebp)
408f44:	8b 43 fc             	mov    -0x4(%ebx),%eax
408f47:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
408f4d:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408f53:	50                   	push   %eax
408f54:	ff b5 98 fb ff ff    	push   -0x468(%ebp)
408f5a:	0f be c2             	movsbl %dl,%eax
408f5d:	ff b5 f4 fb ff ff    	push   -0x40c(%ebp)
408f63:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
408f69:	50                   	push   %eax
408f6a:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
408f70:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
408f76:	57                   	push   %edi
408f77:	50                   	push   %eax
408f78:	ff 35 18 2e 41 00    	push   0x412e18
408f7e:	ff d6                	call   *%esi
408f80:	ff d0                	call   *%eax
408f82:	8b 9d f8 fb ff ff    	mov    -0x408(%ebp),%ebx
408f88:	83 c4 1c             	add    $0x1c,%esp
408f8b:	81 e3 80 00 00 00    	and    $0x80,%ebx
408f91:	74 1d                	je     0x408fb0
408f93:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
408f9a:	75 14                	jne    0x408fb0
408f9c:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408fa2:	50                   	push   %eax
408fa3:	57                   	push   %edi
408fa4:	ff 35 24 2e 41 00    	push   0x412e24
408faa:	ff d6                	call   *%esi
408fac:	ff d0                	call   *%eax
408fae:	59                   	pop    %ecx
408faf:	59                   	pop    %ecx
408fb0:	66 83 bd e0 fb ff ff 	cmpw   $0x67,-0x420(%ebp)
408fb7:	67
408fb8:	75 18                	jne    0x408fd2
408fba:	85 db                	test   %ebx,%ebx
408fbc:	75 14                	jne    0x408fd2
408fbe:	8d 85 b4 fb ff ff    	lea    -0x44c(%ebp),%eax
408fc4:	50                   	push   %eax
408fc5:	57                   	push   %edi
408fc6:	ff 35 20 2e 41 00    	push   0x412e20
408fcc:	ff d6                	call   *%esi
408fce:	ff d0                	call   *%eax
408fd0:	59                   	pop    %ecx
408fd1:	59                   	pop    %ecx
408fd2:	80 3f 2d             	cmpb   $0x2d,(%edi)
408fd5:	75 11                	jne    0x408fe8
408fd7:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
408fde:	01 00 00
408fe1:	47                   	inc    %edi
408fe2:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
408fe8:	57                   	push   %edi
408fe9:	e9 19 fe ff ff       	jmp    0x408e07
408fee:	89 b5 f4 fb ff ff    	mov    %esi,-0x40c(%ebp)
408ff4:	c7 85 ac fb ff ff 07 	movl   $0x7,-0x454(%ebp)
408ffb:	00 00 00
408ffe:	eb 24                	jmp    0x409024
409000:	83 e8 73             	sub    $0x73,%eax
409003:	0f 84 7b fc ff ff    	je     0x408c84
409009:	2b c1                	sub    %ecx,%eax
40900b:	0f 84 9c fe ff ff    	je     0x408ead
409011:	83 e8 03             	sub    $0x3,%eax
409014:	0f 85 ce 01 00 00    	jne    0x4091e8
40901a:	c7 85 ac fb ff ff 27 	movl   $0x27,-0x454(%ebp)
409021:	00 00 00
409024:	f6 85 f8 fb ff ff 80 	testb  $0x80,-0x408(%ebp)
40902b:	c7 85 e0 fb ff ff 10 	movl   $0x10,-0x420(%ebp)
409032:	00 00 00
409035:	0f 84 7c fe ff ff    	je     0x408eb7
40903b:	6a 30                	push   $0x30
40903d:	58                   	pop    %eax
40903e:	66 89 85 cc fb ff ff 	mov    %ax,-0x434(%ebp)
409045:	8b 85 ac fb ff ff    	mov    -0x454(%ebp),%eax
40904b:	83 c0 51             	add    $0x51,%eax
40904e:	66 89 85 ce fb ff ff 	mov    %ax,-0x432(%ebp)
409055:	89 8d dc fb ff ff    	mov    %ecx,-0x424(%ebp)
40905b:	e9 57 fe ff ff       	jmp    0x408eb7
409060:	f7 85 f8 fb ff ff 00 	testl  $0x1000,-0x408(%ebp)
409067:	10 00 00
40906a:	0f 85 57 fe ff ff    	jne    0x408ec7
409070:	83 c3 04             	add    $0x4,%ebx
409073:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
40907a:	74 1c                	je     0x409098
40907c:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
409083:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
409089:	74 06                	je     0x409091
40908b:	0f bf 43 fc          	movswl -0x4(%ebx),%eax
40908f:	eb 04                	jmp    0x409095
409091:	0f b7 43 fc          	movzwl -0x4(%ebx),%eax
409095:	99                   	cltd
409096:	eb 17                	jmp    0x4090af
409098:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
40909f:	8b 43 fc             	mov    -0x4(%ebx),%eax
4090a2:	74 03                	je     0x4090a7
4090a4:	99                   	cltd
4090a5:	eb 02                	jmp    0x4090a9
4090a7:	33 d2                	xor    %edx,%edx
4090a9:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
4090af:	f6 85 f8 fb ff ff 40 	testb  $0x40,-0x408(%ebp)
4090b6:	74 1b                	je     0x4090d3
4090b8:	85 d2                	test   %edx,%edx
4090ba:	7f 17                	jg     0x4090d3
4090bc:	7c 04                	jl     0x4090c2
4090be:	85 c0                	test   %eax,%eax
4090c0:	73 11                	jae    0x4090d3
4090c2:	f7 d8                	neg    %eax
4090c4:	83 d2 00             	adc    $0x0,%edx
4090c7:	f7 da                	neg    %edx
4090c9:	81 8d f8 fb ff ff 00 	orl    $0x100,-0x408(%ebp)
4090d0:	01 00 00
4090d3:	f7 85 f8 fb ff ff 00 	testl  $0x9000,-0x408(%ebp)
4090da:	90 00 00
4090dd:	8b fa                	mov    %edx,%edi
4090df:	8b d8                	mov    %eax,%ebx
4090e1:	75 02                	jne    0x4090e5
4090e3:	33 ff                	xor    %edi,%edi
4090e5:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
4090ec:	7d 0c                	jge    0x4090fa
4090ee:	c7 85 f4 fb ff ff 01 	movl   $0x1,-0x40c(%ebp)
4090f5:	00 00 00
4090f8:	eb 1a                	jmp    0x409114
4090fa:	83 a5 f8 fb ff ff f7 	andl   $0xfffffff7,-0x408(%ebp)
409101:	b8 00 02 00 00       	mov    $0x200,%eax
409106:	39 85 f4 fb ff ff    	cmp    %eax,-0x40c(%ebp)
40910c:	7e 06                	jle    0x409114
40910e:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
409114:	8b c3                	mov    %ebx,%eax
409116:	0b c7                	or     %edi,%eax
409118:	75 06                	jne    0x409120
40911a:	21 85 dc fb ff ff    	and    %eax,-0x424(%ebp)
409120:	8d b5 fb fd ff ff    	lea    -0x205(%ebp),%esi
409126:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
40912c:	ff 8d f4 fb ff ff    	decl   -0x40c(%ebp)
409132:	85 c0                	test   %eax,%eax
409134:	7f 06                	jg     0x40913c
409136:	8b c3                	mov    %ebx,%eax