408bd6:	83 e8 20             	sub    $0x20,%eax
408bd9:	74 4a                	je     0x408c25
408bdb:	83 e8 03             	sub    $0x3,%eax
408bde:	74 36                	je     0x408c16
408be0:	83 e8 08             	sub    $0x8,%eax
408be3:	74 25                	je     0x408c0a
408be5:	48                   	dec    %eax
408be6:	48                   	dec    %eax
408be7:	74 15                	je     0x408bfe
408be9:	83 e8 03             	sub    $0x3,%eax
408bec:	0f 85 57 09 00 00    	jne    0x409549
408bf2:	83 8d f0 fd ff ff 08 	orl    $0x8,-0x210(%ebp)
408bf9:	e9 4b 09 00 00       	jmp    0x409549
408bfe:	83 8d f0 fd ff ff 04 	orl    $0x4,-0x210(%ebp)
408c05:	e9 3f 09 00 00       	jmp    0x409549
408c0a:	83 8d f0 fd ff ff 01 	orl    $0x1,-0x210(%ebp)
408c11:	e9 33 09 00 00       	jmp    0x409549
408c16:	81 8d f0 fd ff ff 80 	orl    $0x80,-0x210(%ebp)
408c1d:	00 00 00
408c20:	e9 24 09 00 00       	jmp    0x409549
408c25:	83 8d f0 fd ff ff 02 	orl    $0x2,-0x210(%ebp)
408c2c:	e9 18 09 00 00       	jmp    0x409549
408c31:	80 fa 2a             	cmp    $0x2a,%dl
408c34:	75 2c                	jne    0x408c62
408c36:	83 c7 04             	add    $0x4,%edi
408c39:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
408c3f:	8b 7f fc             	mov    -0x4(%edi),%edi
408c42:	3b fe                	cmp    %esi,%edi
408c44:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
408c4a:	0f 8d f9 08 00 00    	jge    0x409549
408c50:	83 8d f0 fd ff ff 04 	orl    $0x4,-0x210(%ebp)
408c57:	f7 9d cc fd ff ff    	negl   -0x234(%ebp)
408c5d:	e9 e7 08 00 00       	jmp    0x409549
408c62:	8b 85 cc fd ff ff    	mov    -0x234(%ebp),%eax
408c68:	6b c0 0a             	imul   $0xa,%eax,%eax
408c6b:	0f be ca             	movsbl %dl,%ecx
408c6e:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
408c72:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
408c78:	e9 cc 08 00 00       	jmp    0x409549
408c7d:	89 b5 e8 fd ff ff    	mov    %esi,-0x218(%ebp)
408c83:	e9 c1 08 00 00       	jmp    0x409549
408c88:	80 fa 2a             	cmp    $0x2a,%dl
408c8b:	75 26                	jne    0x408cb3
408c8d:	83 c7 04             	add    $0x4,%edi
408c90:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
408c96:	8b 7f fc             	mov    -0x4(%edi),%edi
408c99:	3b fe                	cmp    %esi,%edi
408c9b:	89 bd e8 fd ff ff    	mov    %edi,-0x218(%ebp)
408ca1:	0f 8d a2 08 00 00    	jge    0x409549
408ca7:	83 8d e8 fd ff ff ff 	orl    $0xffffffff,-0x218(%ebp)
408cae:	e9 96 08 00 00       	jmp    0x409549
408cb3:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
408cb9:	6b c0 0a             	imul   $0xa,%eax,%eax
408cbc:	0f be ca             	movsbl %dl,%ecx
408cbf:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
408cc3:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
408cc9:	e9 7b 08 00 00       	jmp    0x409549
408cce:	80 fa 49             	cmp    $0x49,%dl
408cd1:	74 55                	je     0x408d28
408cd3:	80 fa 68             	cmp    $0x68,%dl
408cd6:	74 44                	je     0x408d1c
408cd8:	80 fa 6c             	cmp    $0x6c,%dl
408cdb:	74 18                	je     0x408cf5
408cdd:	80 fa 77             	cmp    $0x77,%dl
408ce0:	0f 85 63 08 00 00    	jne    0x409549
408ce6:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
408ced:	08 00 00
408cf0:	e9 54 08 00 00       	jmp    0x409549
408cf5:	80 3b 6c             	cmpb   $0x6c,(%ebx)
408cf8:	75 16                	jne    0x408d10
408cfa:	43                   	inc    %ebx
408cfb:	81 8d f0 fd ff ff 00 	orl    $0x1000,-0x210(%ebp)
408d02:	10 00 00
408d05:	89 9d c4 fd ff ff    	mov    %ebx,-0x23c(%ebp)
408d0b:	e9 39 08 00 00       	jmp    0x409549
408d10:	83 8d f0 fd ff ff 10 	orl    $0x10,-0x210(%ebp)
408d17:	e9 2d 08 00 00       	jmp    0x409549
408d1c:	83 8d f0 fd ff ff 20 	orl    $0x20,-0x210(%ebp)
408d23:	e9 21 08 00 00       	jmp    0x409549
408d28:	8a 03                	mov    (%ebx),%al
408d2a:	3c 36                	cmp    $0x36,%al
408d2c:	75 1d                	jne    0x408d4b
408d2e:	80 7b 01 34          	cmpb   $0x34,0x1(%ebx)
408d32:	75 17                	jne    0x408d4b
408d34:	43                   	inc    %ebx
408d35:	43                   	inc    %ebx
408d36:	81 8d f0 fd ff ff 00 	orl    $0x8000,-0x210(%ebp)
408d3d:	80 00 00
408d40:	89 9d c4 fd ff ff    	mov    %ebx,-0x23c(%ebp)
408d46:	e9 fe 07 00 00       	jmp    0x409549
408d4b:	3c 33                	cmp    $0x33,%al
408d4d:	75 1d                	jne    0x408d6c
408d4f:	80 7b 01 32          	cmpb   $0x32,0x1(%ebx)
408d53:	75 17                	jne    0x408d6c
408d55:	43                   	inc    %ebx
408d56:	43                   	inc    %ebx
408d57:	81 a5 f0 fd ff ff ff 	andl   $0xffff7fff,-0x210(%ebp)
408d5e:	7f ff ff
408d61:	89 9d c4 fd ff ff    	mov    %ebx,-0x23c(%ebp)
408d67:	e9 dd 07 00 00       	jmp    0x409549
408d6c:	3c 64                	cmp    $0x64,%al
408d6e:	0f 84 d5 07 00 00    	je     0x409549
408d74:	3c 69                	cmp    $0x69,%al
408d76:	0f 84 cd 07 00 00    	je     0x409549
408d7c:	3c 6f                	cmp    $0x6f,%al
408d7e:	0f 84 c5 07 00 00    	je     0x409549
408d84:	3c 75                	cmp    $0x75,%al
408d86:	0f 84 bd 07 00 00    	je     0x409549
408d8c:	3c 78                	cmp    $0x78,%al
408d8e:	0f 84 b5 07 00 00    	je     0x409549
408d94:	3c 58                	cmp    $0x58,%al
408d96:	0f 84 ad 07 00 00    	je     0x409549
408d9c:	89 b5 94 fd ff ff    	mov    %esi,-0x26c(%ebp)
408da2:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
408da8:	50                   	push   %eax
408da9:	0f b6 c2             	movzbl %dl,%eax
408dac:	50                   	push   %eax
408dad:	89 b5 c8 fd ff ff    	mov    %esi,-0x238(%ebp)
408db3:	e8 f0 9f 00 00       	call   0x412da8
408db8:	59                   	pop    %ecx
408db9:	85 c0                	test   %eax,%eax
408dbb:	8a 85 ef fd ff ff    	mov    -0x211(%ebp),%al
408dc1:	59                   	pop    %ecx
408dc2:	74 22                	je     0x408de6
408dc4:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
408dca:	8d b5 d8 fd ff ff    	lea    -0x228(%ebp),%esi
408dd0:	e8 a4 fb ff ff       	call   0x408979
408dd5:	8a 03                	mov    (%ebx),%al
408dd7:	43                   	inc    %ebx
408dd8:	89 9d c4 fd ff ff    	mov    %ebx,-0x23c(%ebp)
408dde:	84 c0                	test   %al,%al
408de0:	0f 84 a4 fc ff ff    	je     0x408a8a
408de6:	8b 8d b4 fd ff ff    	mov    -0x24c(%ebp),%ecx
408dec:	8d b5 d8 fd ff ff    	lea    -0x228(%ebp),%esi
408df2:	e8 82 fb ff ff       	call   0x408979
408df7:	e9 4d 07 00 00       	jmp    0x409549
408dfc:	0f be c2             	movsbl %dl,%eax
408dff:	83 f8 64             	cmp    $0x64,%eax
408e02:	0f 8f e8 01 00 00    	jg     0x408ff0
408e08:	0f 84 79 02 00 00    	je     0x409087
408e0e:	83 f8 53             	cmp    $0x53,%eax
408e11:	0f 8f f2 00 00 00    	jg     0x408f09
408e17:	0f 84 80 00 00 00    	je     0x408e9d
408e1d:	83 e8 41             	sub    $0x41,%eax
408e20:	74 10                	je     0x408e32
408e22:	48                   	dec    %eax
408e23:	48                   	dec    %eax
408e24:	74 58                	je     0x408e7e
408e26:	48                   	dec    %eax
408e27:	48                   	dec    %eax
408e28:	74 08                	je     0x408e32
408e2a:	48                   	dec    %eax
408e2b:	48                   	dec    %eax
408e2c:	0f 85 92 05 00 00    	jne    0x4093c4
408e32:	80 c2 20             	add    $0x20,%dl
408e35:	c7 85 90 fd ff ff 01 	movl   $0x1,-0x270(%ebp)
408e3c:	00 00 00
408e3f:	88 95 ef fd ff ff    	mov    %dl,-0x211(%ebp)
408e45:	83 8d f0 fd ff ff 40 	orl    $0x40,-0x210(%ebp)
408e4c:	39 b5 e8 fd ff ff    	cmp    %esi,-0x218(%ebp)
408e52:	8d 9d f4 fd ff ff    	lea    -0x20c(%ebp),%ebx
408e58:	b8 00 02 00 00       	mov    $0x200,%eax
408e5d:	89 9d e4 fd ff ff    	mov    %ebx,-0x21c(%ebp)
408e63:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
408e69:	0f 8d 48 02 00 00    	jge    0x4090b7
408e6f:	c7 85 e8 fd ff ff 06 	movl   $0x6,-0x218(%ebp)
408e76:	00 00 00
408e79:	e9 a5 02 00 00       	jmp    0x409123
408e7e:	f7 85 f0 fd ff ff 30 	testl  $0x830,-0x210(%ebp)
408e85:	08 00 00
408e88:	0f 85 98 00 00 00    	jne    0x408f26
408e8e:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
408e95:	08 00 00
408e98:	e9 89 00 00 00       	jmp    0x408f26
408e9d:	f7 85 f0 fd ff ff 30 	testl  $0x830,-0x210(%ebp)
408ea4:	08 00 00
408ea7:	75 0a                	jne    0x408eb3
408ea9:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
408eb0:	08 00 00
408eb3:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
408eb9:	83 f9 ff             	cmp    $0xffffffff,%ecx
408ebc:	75 05                	jne    0x408ec3
408ebe:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
408ec3:	83 c7 04             	add    $0x4,%edi
408ec6:	f7 85 f0 fd ff ff 10 	testl  $0x810,-0x210(%ebp)
408ecd:	08 00 00
408ed0:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
408ed6:	8b 7f fc             	mov    -0x4(%edi),%edi
408ed9:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
408edf:	0f 84 b1 04 00 00    	je     0x409396
408ee5:	3b fe                	cmp    %esi,%edi
408ee7:	75 0b                	jne    0x408ef4
408ee9:	a1 84 b2 42 00       	mov    0x42b284,%eax
408eee:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
408ef4:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
408efa:	c7 85 c8 fd ff ff 01 	movl   $0x1,-0x238(%ebp)
408f01:	00 00 00
408f04:	e9 7f 04 00 00       	jmp    0x409388
408f09:	83 e8 58             	sub    $0x58,%eax
408f0c:	0f 84 da 02 00 00    	je     0x4091ec
408f12:	48                   	dec    %eax
408f13:	48                   	dec    %eax
408f14:	74 79                	je     0x408f8f
408f16:	2b c1                	sub    %ecx,%eax
408f18:	0f 84 27 ff ff ff    	je     0x408e45
408f1e:	48                   	dec    %eax
408f1f:	48                   	dec    %eax
408f20:	0f 85 9e 04 00 00    	jne    0x4093c4
408f26:	83 c7 04             	add    $0x4,%edi
408f29:	f7 85 f0 fd ff ff 10 	testl  $0x810,-0x210(%ebp)
408f30:	08 00 00
408f33:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
408f39:	74 30                	je     0x408f6b
408f3b:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
408f3f:	50                   	push   %eax
408f40:	68 00 02 00 00       	push   $0x200
408f45:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
408f4b:	50                   	push   %eax
408f4c:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
408f52:	50                   	push   %eax
408f53:	e8 33 9e 00 00       	call   0x412d8b
408f58:	83 c4 10             	add    $0x10,%esp
408f5b:	85 c0                	test   %eax,%eax
408f5d:	74 1f                	je     0x408f7e
408f5f:	c7 85 c0 fd ff ff 01 	movl   $0x1,-0x240(%ebp)
408f66:	00 00 00
408f69:	eb 13                	jmp    0x408f7e
408f6b:	8a 47 fc             	mov    -0x4(%edi),%al
408f6e:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
408f74:	c7 85 e0 fd ff ff 01 	movl   $0x1,-0x220(%ebp)
408f7b:	00 00 00
408f7e:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
408f84:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
408f8a:	e9 35 04 00 00       	jmp    0x4093c4
408f8f:	8b 07                	mov    (%edi),%eax
408f91:	83 c7 04             	add    $0x4,%edi
408f94:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
408f9a:	3b c6                	cmp    %esi,%eax
408f9c:	74 3b                	je     0x408fd9
408f9e:	8b 48 04             	mov    0x4(%eax),%ecx
408fa1:	3b ce                	cmp    %esi,%ecx
408fa3:	74 34                	je     0x408fd9
408fa5:	f7 85 f0 fd ff ff 00 	testl  $0x800,-0x210(%ebp)
408fac:	08 00 00
408faf:	0f bf 00             	movswl (%eax),%eax
408fb2:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
408fb8:	74 14                	je     0x408fce
408fba:	99                   	cltd
408fbb:	2b c2                	sub    %edx,%eax
408fbd:	d1 f8                	sar    $1,%eax
408fbf:	c7 85 c8 fd ff ff 01 	movl   $0x1,-0x238(%ebp)
408fc6:	00 00 00
408fc9:	e9 f0 03 00 00       	jmp    0x4093be
408fce:	89 b5 c8 fd ff ff    	mov    %esi,-0x238(%ebp)
408fd4:	e9 e5 03 00 00       	jmp    0x4093be
408fd9:	a1 80 b2 42 00       	mov    0x42b280,%eax
408fde:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
408fe4:	50                   	push   %eax
408fe5:	e8 76 cf ff ff       	call   0x405f60
408fea:	59                   	pop    %ecx
408feb:	e9 ce 03 00 00       	jmp    0x4093be
408ff0:	83 f8 70             	cmp    $0x70,%eax
408ff3:	0f 8f fb 01 00 00    	jg     0x4091f4
408ff9:	0f 84 e3 01 00 00    	je     0x4091e2
408fff:	83 f8 65             	cmp    $0x65,%eax
409002:	0f 8c bc 03 00 00    	jl     0x4093c4
409008:	83 f8 67             	cmp    $0x67,%eax
40900b:	0f 8e 34 fe ff ff    	jle    0x408e45
409011:	83 f8 69             	cmp    $0x69,%eax
409014:	74 71                	je     0x409087
409016:	83 f8 6e             	cmp    $0x6e,%eax
409019:	74 28                	je     0x409043
40901b:	83 f8 6f             	cmp    $0x6f,%eax
40901e:	0f 85 a0 03 00 00    	jne    0x4093c4
409024:	f6 85 f0 fd ff ff 80 	testb  $0x80,-0x210(%ebp)
40902b:	c7 85 e0 fd ff ff 08 	movl   $0x8,-0x220(%ebp)
409032:	00 00 00
409035:	74 61                	je     0x409098
409037:	81 8d f0 fd ff ff 00 	orl    $0x200,-0x210(%ebp)
40903e:	02 00 00
409041:	eb 55                	jmp    0x409098
409043:	8b 37                	mov    (%edi),%esi
409045:	83 c7 04             	add    $0x4,%edi
409048:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
40904e:	e8 b6 9b 00 00       	call   0x412c09
409053:	85 c0                	test   %eax,%eax
409055:	0f 84 2f fa ff ff    	je     0x408a8a
40905b:	f6 85 f0 fd ff ff 20 	testb  $0x20,-0x210(%ebp)
409062:	74 0c                	je     0x409070
409064:	66 8b 85 d8 fd ff ff 	mov    -0x228(%ebp),%ax
40906b:	66 89 06             	mov    %ax,(%esi)
40906e:	eb 08                	jmp    0x409078
409070:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
409076:	89 06                	mov    %eax,(%esi)
409078:	c7 85 c0 fd ff ff 01 	movl   $0x1,-0x240(%ebp)
40907f:	00 00 00
409082:	e9 a6 04 00 00       	jmp    0x40952d
409087:	83 8d f0 fd ff ff 40 	orl    $0x40,-0x210(%ebp)
40908e:	c7 85 e0 fd ff ff 0a 	movl   $0xa,-0x220(%ebp)
409095:	00 00 00
409098:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
40909e:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
4090a4:	0f 84 a9 01 00 00    	je     0x409253
4090aa:	8b 07                	mov    (%edi),%eax
4090ac:	8b 57 04             	mov    0x4(%edi),%edx
4090af:	83 c7 08             	add    $0x8,%edi
4090b2:	e9 d5 01 00 00       	jmp    0x40928c
4090b7:	75 11                	jne    0x4090ca
4090b9:	80 fa 67             	cmp    $0x67,%dl
4090bc:	75 65                	jne    0x409123
4090be:	c7 85 e8 fd ff ff 01 	movl   $0x1,-0x218(%ebp)
4090c5:	00 00 00
4090c8:	eb 59                	jmp    0x409123
4090ca:	39 85 e8 fd ff ff    	cmp    %eax,-0x218(%ebp)
4090d0:	7e 06                	jle    0x4090d8
4090d2:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
4090d8:	81 bd e8 fd ff ff a3 	cmpl   $0xa3,-0x218(%ebp)
4090df:	00 00 00
4090e2:	7e 3f                	jle    0x409123
4090e4:	8b b5 e8 fd ff ff    	mov    -0x218(%ebp),%esi
4090ea:	81 c6 5d 01 00 00    	add    $0x15d,%esi
4090f0:	56                   	push   %esi
4090f1:	e8 6a ea ff ff       	call   0x407b60
4090f6:	8a 95 ef fd ff ff    	mov    -0x211(%ebp),%dl
4090fc:	59                   	pop    %ecx
4090fd:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
409103:	85 c0                	test   %eax,%eax
409105:	74 10                	je     0x409117
409107:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
40910d:	89 b5 a0 fd ff ff    	mov    %esi,-0x260(%ebp)
409113:	8b d8                	mov    %eax,%ebx
409115:	eb 0a                	jmp    0x409121
409117:	c7 85 e8 fd ff ff a3 	movl   $0xa3,-0x218(%ebp)
40911e:	00 00 00
409121:	33 f6                	xor    %esi,%esi
409123:	8b 07                	mov    (%edi),%eax
409125:	83 c7 08             	add    $0x8,%edi
409128:	89 85 88 fd ff ff    	mov    %eax,-0x278(%ebp)
40912e:	8b 47 fc             	mov    -0x4(%edi),%eax
409131:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
409137:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
40913d:	50                   	push   %eax
40913e:	ff b5 90 fd ff ff    	push   -0x270(%ebp)
409144:	0f be c2             	movsbl %dl,%eax
409147:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
40914d:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
409153:	50                   	push   %eax
409154:	ff b5 a0 fd ff ff    	push   -0x260(%ebp)
40915a:	8d 85 88 fd ff ff    	lea    -0x278(%ebp),%eax
409160:	53                   	push   %ebx