407c50:	89 b5 c8 fd ff ff    	mov    %esi,-0x238(%ebp)
407c56:	89 b5 cc fd ff ff    	mov    %esi,-0x234(%ebp)
407c5c:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
407c62:	89 b5 c4 fd ff ff    	mov    %esi,-0x23c(%ebp)
407c68:	e9 e9 09 00 00       	jmp    0x408656
407c6d:	0f be c2             	movsbl %dl,%eax
407c70:	83 e8 20             	sub    $0x20,%eax
407c73:	74 4a                	je     0x407cbf
407c75:	83 e8 03             	sub    $0x3,%eax
407c78:	74 36                	je     0x407cb0
407c7a:	83 e8 08             	sub    $0x8,%eax
407c7d:	74 25                	je     0x407ca4
407c7f:	48                   	dec    %eax
407c80:	48                   	dec    %eax
407c81:	74 15                	je     0x407c98
407c83:	83 e8 03             	sub    $0x3,%eax
407c86:	0f 85 ca 09 00 00    	jne    0x408656
407c8c:	83 8d f0 fd ff ff 08 	orl    $0x8,-0x210(%ebp)
407c93:	e9 be 09 00 00       	jmp    0x408656
407c98:	83 8d f0 fd ff ff 04 	orl    $0x4,-0x210(%ebp)
407c9f:	e9 b2 09 00 00       	jmp    0x408656
407ca4:	83 8d f0 fd ff ff 01 	orl    $0x1,-0x210(%ebp)
407cab:	e9 a6 09 00 00       	jmp    0x408656
407cb0:	81 8d f0 fd ff ff 80 	orl    $0x80,-0x210(%ebp)
407cb7:	00 00 00
407cba:	e9 97 09 00 00       	jmp    0x408656
407cbf:	83 8d f0 fd ff ff 02 	orl    $0x2,-0x210(%ebp)
407cc6:	e9 8b 09 00 00       	jmp    0x408656
407ccb:	80 fa 2a             	cmp    $0x2a,%dl
407cce:	75 2c                	jne    0x407cfc
407cd0:	83 c7 04             	add    $0x4,%edi
407cd3:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
407cd9:	8b 7f fc             	mov    -0x4(%edi),%edi
407cdc:	89 bd c8 fd ff ff    	mov    %edi,-0x238(%ebp)
407ce2:	3b fe                	cmp    %esi,%edi
407ce4:	0f 8d 6c 09 00 00    	jge    0x408656
407cea:	83 8d f0 fd ff ff 04 	orl    $0x4,-0x210(%ebp)
407cf1:	f7 9d c8 fd ff ff    	negl   -0x238(%ebp)
407cf7:	e9 5a 09 00 00       	jmp    0x408656
407cfc:	8b 85 c8 fd ff ff    	mov    -0x238(%ebp),%eax
407d02:	6b c0 0a             	imul   $0xa,%eax,%eax
407d05:	0f be ca             	movsbl %dl,%ecx
407d08:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
407d0c:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
407d12:	e9 3f 09 00 00       	jmp    0x408656
407d17:	89 b5 e8 fd ff ff    	mov    %esi,-0x218(%ebp)
407d1d:	e9 34 09 00 00       	jmp    0x408656
407d22:	80 fa 2a             	cmp    $0x2a,%dl
407d25:	75 26                	jne    0x407d4d
407d27:	83 c7 04             	add    $0x4,%edi
407d2a:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
407d30:	8b 7f fc             	mov    -0x4(%edi),%edi
407d33:	89 bd e8 fd ff ff    	mov    %edi,-0x218(%ebp)
407d39:	3b fe                	cmp    %esi,%edi
407d3b:	0f 8d 15 09 00 00    	jge    0x408656
407d41:	83 8d e8 fd ff ff ff 	orl    $0xffffffff,-0x218(%ebp)
407d48:	e9 09 09 00 00       	jmp    0x408656
407d4d:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
407d53:	6b c0 0a             	imul   $0xa,%eax,%eax
407d56:	0f be ca             	movsbl %dl,%ecx
407d59:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
407d5d:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
407d63:	e9 ee 08 00 00       	jmp    0x408656
407d68:	80 fa 49             	cmp    $0x49,%dl
407d6b:	74 55                	je     0x407dc2
407d6d:	80 fa 68             	cmp    $0x68,%dl
407d70:	74 44                	je     0x407db6
407d72:	80 fa 6c             	cmp    $0x6c,%dl
407d75:	74 18                	je     0x407d8f
407d77:	80 fa 77             	cmp    $0x77,%dl
407d7a:	0f 85 d6 08 00 00    	jne    0x408656
407d80:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
407d87:	08 00 00
407d8a:	e9 c7 08 00 00       	jmp    0x408656
407d8f:	80 3b 6c             	cmpb   $0x6c,(%ebx)
407d92:	75 16                	jne    0x407daa
407d94:	43                   	inc    %ebx
407d95:	81 8d f0 fd ff ff 00 	orl    $0x1000,-0x210(%ebp)
407d9c:	10 00 00
407d9f:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
407da5:	e9 ac 08 00 00       	jmp    0x408656
407daa:	83 8d f0 fd ff ff 10 	orl    $0x10,-0x210(%ebp)
407db1:	e9 a0 08 00 00       	jmp    0x408656
407db6:	83 8d f0 fd ff ff 20 	orl    $0x20,-0x210(%ebp)
407dbd:	e9 94 08 00 00       	jmp    0x408656
407dc2:	8a 03                	mov    (%ebx),%al
407dc4:	3c 36                	cmp    $0x36,%al
407dc6:	75 1e                	jne    0x407de6
407dc8:	80 7b 01 34          	cmpb   $0x34,0x1(%ebx)
407dcc:	75 18                	jne    0x407de6
407dce:	83 c3 02             	add    $0x2,%ebx
407dd1:	81 8d f0 fd ff ff 00 	orl    $0x8000,-0x210(%ebp)
407dd8:	80 00 00
407ddb:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
407de1:	e9 70 08 00 00       	jmp    0x408656
407de6:	3c 33                	cmp    $0x33,%al
407de8:	75 1e                	jne    0x407e08
407dea:	80 7b 01 32          	cmpb   $0x32,0x1(%ebx)
407dee:	75 18                	jne    0x407e08
407df0:	83 c3 02             	add    $0x2,%ebx
407df3:	81 a5 f0 fd ff ff ff 	andl   $0xffff7fff,-0x210(%ebp)
407dfa:	7f ff ff
407dfd:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
407e03:	e9 4e 08 00 00       	jmp    0x408656
407e08:	3c 64                	cmp    $0x64,%al
407e0a:	0f 84 46 08 00 00    	je     0x408656
407e10:	3c 69                	cmp    $0x69,%al
407e12:	0f 84 3e 08 00 00    	je     0x408656
407e18:	3c 6f                	cmp    $0x6f,%al
407e1a:	0f 84 36 08 00 00    	je     0x408656
407e20:	3c 75                	cmp    $0x75,%al
407e22:	0f 84 2e 08 00 00    	je     0x408656
407e28:	3c 78                	cmp    $0x78,%al
407e2a:	0f 84 26 08 00 00    	je     0x408656
407e30:	3c 58                	cmp    $0x58,%al
407e32:	0f 84 1e 08 00 00    	je     0x408656
407e38:	89 b5 8c fd ff ff    	mov    %esi,-0x274(%ebp)
407e3e:	21 b5 c4 fd ff ff    	and    %esi,-0x23c(%ebp)
407e44:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
407e4a:	50                   	push   %eax
407e4b:	0f b6 c2             	movzbl %dl,%eax
407e4e:	50                   	push   %eax
407e4f:	e8 c7 2e 00 00       	call   0x40ad1b
407e54:	59                   	pop    %ecx
407e55:	85 c0                	test   %eax,%eax
407e57:	8a 85 ef fd ff ff    	mov    -0x211(%ebp),%al
407e5d:	59                   	pop    %ecx
407e5e:	74 22                	je     0x407e82
407e60:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
407e66:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
407e6c:	e8 1a 4d 00 00       	call   0x40cb8b
407e71:	8a 03                	mov    (%ebx),%al
407e73:	43                   	inc    %ebx
407e74:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
407e7a:	84 c0                	test   %al,%al
407e7c:	0f 84 b0 fc ff ff    	je     0x407b32
407e82:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
407e88:	8d b5 dc fd ff ff    	lea    -0x224(%ebp),%esi
407e8e:	e8 f8 4c 00 00       	call   0x40cb8b
407e93:	e9 be 07 00 00       	jmp    0x408656
407e98:	0f be c2             	movsbl %dl,%eax
407e9b:	83 f8 64             	cmp    $0x64,%eax
407e9e:	0f 8f b6 01 00 00    	jg     0x40805a
407ea4:	0f 84 58 02 00 00    	je     0x408102
407eaa:	83 f8 53             	cmp    $0x53,%eax
407ead:	0f 8f ba 00 00 00    	jg     0x407f6d
407eb3:	74 4c                	je     0x407f01
407eb5:	83 e8 41             	sub    $0x41,%eax
407eb8:	74 10                	je     0x407eca
407eba:	48                   	dec    %eax
407ebb:	48                   	dec    %eax
407ebc:	74 24                	je     0x407ee2
407ebe:	48                   	dec    %eax
407ebf:	48                   	dec    %eax
407ec0:	74 08                	je     0x407eca
407ec2:	48                   	dec    %eax
407ec3:	48                   	dec    %eax
407ec4:	0f 85 ab 05 00 00    	jne    0x408475
407eca:	80 c2 20             	add    $0x20,%dl
407ecd:	c7 85 88 fd ff ff 01 	movl   $0x1,-0x278(%ebp)
407ed4:	00 00 00
407ed7:	88 95 ef fd ff ff    	mov    %dl,-0x211(%ebp)
407edd:	e9 56 02 00 00       	jmp    0x408138
407ee2:	f7 85 f0 fd ff ff 30 	testl  $0x830,-0x210(%ebp)
407ee9:	08 00 00
407eec:	0f 85 9e 00 00 00    	jne    0x407f90
407ef2:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
407ef9:	08 00 00
407efc:	e9 8f 00 00 00       	jmp    0x407f90
407f01:	f7 85 f0 fd ff ff 30 	testl  $0x830,-0x210(%ebp)
407f08:	08 00 00
407f0b:	75 0a                	jne    0x407f17
407f0d:	81 8d f0 fd ff ff 00 	orl    $0x800,-0x210(%ebp)
407f14:	08 00 00
407f17:	8b 8d e8 fd ff ff    	mov    -0x218(%ebp),%ecx
407f1d:	83 f9 ff             	cmp    $0xffffffff,%ecx
407f20:	75 05                	jne    0x407f27
407f22:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
407f27:	83 c7 04             	add    $0x4,%edi
407f2a:	f7 85 f0 fd ff ff 10 	testl  $0x810,-0x210(%ebp)
407f31:	08 00 00
407f34:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
407f3a:	8b 7f fc             	mov    -0x4(%edi),%edi
407f3d:	89 bd e0 fd ff ff    	mov    %edi,-0x220(%ebp)
407f43:	0f 84 fe 04 00 00    	je     0x408447
407f49:	85 ff                	test   %edi,%edi
407f4b:	75 0b                	jne    0x407f58
407f4d:	a1 e4 2d 41 00       	mov    0x412de4,%eax
407f52:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
407f58:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
407f5e:	c7 85 c4 fd ff ff 01 	movl   $0x1,-0x23c(%ebp)
407f65:	00 00 00
407f68:	e9 cc 04 00 00       	jmp    0x408439
407f6d:	83 e8 58             	sub    $0x58,%eax
407f70:	0f 84 22 03 00 00    	je     0x408298
407f76:	48                   	dec    %eax
407f77:	48                   	dec    %eax
407f78:	74 7f                	je     0x407ff9
407f7a:	2b c1                	sub    %ecx,%eax
407f7c:	0f 84 b6 01 00 00    	je     0x408138
407f82:	48                   	dec    %eax
407f83:	48                   	dec    %eax
407f84:	0f 85 eb 04 00 00    	jne    0x408475
407f8a:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
407f90:	83 c7 04             	add    $0x4,%edi
407f93:	f7 85 f0 fd ff ff 10 	testl  $0x810,-0x210(%ebp)
407f9a:	08 00 00
407f9d:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
407fa3:	74 30                	je     0x407fd5
407fa5:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
407fa9:	50                   	push   %eax
407faa:	68 00 02 00 00       	push   $0x200
407faf:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
407fb5:	50                   	push   %eax
407fb6:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
407fbc:	50                   	push   %eax
407fbd:	e8 40 5c 00 00       	call   0x40dc02
407fc2:	83 c4 10             	add    $0x10,%esp
407fc5:	85 c0                	test   %eax,%eax
407fc7:	74 1f                	je     0x407fe8
407fc9:	c7 85 bc fd ff ff 01 	movl   $0x1,-0x244(%ebp)
407fd0:	00 00 00
407fd3:	eb 13                	jmp    0x407fe8
407fd5:	8a 47 fc             	mov    -0x4(%edi),%al
407fd8:	88 85 f4 fd ff ff    	mov    %al,-0x20c(%ebp)
407fde:	c7 85 d8 fd ff ff 01 	movl   $0x1,-0x228(%ebp)
407fe5:	00 00 00
407fe8:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
407fee:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
407ff4:	e9 7c 04 00 00       	jmp    0x408475
407ff9:	8b 07                	mov    (%edi),%eax
407ffb:	83 c7 04             	add    $0x4,%edi
407ffe:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
408004:	85 c0                	test   %eax,%eax
408006:	74 3b                	je     0x408043
408008:	8b 48 04             	mov    0x4(%eax),%ecx
40800b:	85 c9                	test   %ecx,%ecx
40800d:	74 34                	je     0x408043
40800f:	f7 85 f0 fd ff ff 00 	testl  $0x800,-0x210(%ebp)
408016:	08 00 00
408019:	0f bf 00             	movswl (%eax),%eax
40801c:	89 8d e0 fd ff ff    	mov    %ecx,-0x220(%ebp)
408022:	74 14                	je     0x408038
408024:	99                   	cltd
408025:	2b c2                	sub    %edx,%eax
408027:	d1 f8                	sar    $1,%eax
408029:	c7 85 c4 fd ff ff 01 	movl   $0x1,-0x23c(%ebp)
408030:	00 00 00
408033:	e9 37 04 00 00       	jmp    0x40846f
408038:	21 b5 c4 fd ff ff    	and    %esi,-0x23c(%ebp)
40803e:	e9 2c 04 00 00       	jmp    0x40846f
408043:	a1 e0 2d 41 00       	mov    0x412de0,%eax
408048:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40804e:	50                   	push   %eax
40804f:	e8 0c 2b 00 00       	call   0x40ab60
408054:	59                   	pop    %ecx
408055:	e9 15 04 00 00       	jmp    0x40846f
40805a:	83 f8 70             	cmp    $0x70,%eax
40805d:	0f 8f 3d 02 00 00    	jg     0x4082a0
408063:	0f 84 25 02 00 00    	je     0x40828e
408069:	83 f8 65             	cmp    $0x65,%eax
40806c:	0f 8c 03 04 00 00    	jl     0x408475
408072:	83 f8 67             	cmp    $0x67,%eax
408075:	0f 8e b7 00 00 00    	jle    0x408132
40807b:	83 f8 69             	cmp    $0x69,%eax
40807e:	74 7c                	je     0x4080fc
408080:	83 f8 6e             	cmp    $0x6e,%eax
408083:	74 2e                	je     0x4080b3
408085:	83 f8 6f             	cmp    $0x6f,%eax
408088:	0f 85 e7 03 00 00    	jne    0x408475
40808e:	f6 85 f0 fd ff ff 80 	testb  $0x80,-0x210(%ebp)
408095:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
40809b:	c7 85 d8 fd ff ff 08 	movl   $0x8,-0x228(%ebp)
4080a2:	00 00 00
4080a5:	74 6c                	je     0x408113
4080a7:	81 8d f0 fd ff ff 00 	orl    $0x200,-0x210(%ebp)
4080ae:	02 00 00
4080b1:	eb 60                	jmp    0x408113
4080b3:	83 85 e4 fd ff ff 04 	addl   $0x4,-0x21c(%ebp)
4080ba:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4080c0:	8b 70 fc             	mov    -0x4(%eax),%esi
4080c3:	e8 7f 2a 00 00       	call   0x40ab47
4080c8:	85 c0                	test   %eax,%eax
4080ca:	0f 84 62 fa ff ff    	je     0x407b32
4080d0:	f6 85 f0 fd ff ff 20 	testb  $0x20,-0x210(%ebp)
4080d7:	74 0c                	je     0x4080e5
4080d9:	66 8b 85 dc fd ff ff 	mov    -0x224(%ebp),%ax
4080e0:	66 89 06             	mov    %ax,(%esi)
4080e3:	eb 08                	jmp    0x4080ed
4080e5:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
4080eb:	89 06                	mov    %eax,(%esi)
4080ed:	c7 85 bc fd ff ff 01 	movl   $0x1,-0x244(%ebp)
4080f4:	00 00 00
4080f7:	e9 3e 05 00 00       	jmp    0x40863a
4080fc:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
408102:	83 8d f0 fd ff ff 40 	orl    $0x40,-0x210(%ebp)
408109:	c7 85 d8 fd ff ff 0a 	movl   $0xa,-0x228(%ebp)
408110:	00 00 00
408113:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
408119:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
40811f:	0f 84 e0 01 00 00    	je     0x408305
408125:	8b 07                	mov    (%edi),%eax
408127:	8b 57 04             	mov    0x4(%edi),%edx
40812a:	83 c7 08             	add    $0x8,%edi
40812d:	e9 0c 02 00 00       	jmp    0x40833e
408132:	8b bd e4 fd ff ff    	mov    -0x21c(%ebp),%edi
408138:	83 8d f0 fd ff ff 40 	orl    $0x40,-0x210(%ebp)
40813f:	8d 9d f4 fd ff ff    	lea    -0x20c(%ebp),%ebx
408145:	b8 00 02 00 00       	mov    $0x200,%eax
40814a:	89 9d e0 fd ff ff    	mov    %ebx,-0x220(%ebp)
408150:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
408156:	39 b5 e8 fd ff ff    	cmp    %esi,-0x218(%ebp)
40815c:	7d 0c                	jge    0x40816a
40815e:	c7 85 e8 fd ff ff 06 	movl   $0x6,-0x218(%ebp)
408165:	00 00 00
408168:	eb 6a                	jmp    0x4081d4
40816a:	75 11                	jne    0x40817d
40816c:	80 fa 67             	cmp    $0x67,%dl
40816f:	75 63                	jne    0x4081d4
408171:	c7 85 e8 fd ff ff 01 	movl   $0x1,-0x218(%ebp)
408178:	00 00 00
40817b:	eb 57                	jmp    0x4081d4
40817d:	39 85 e8 fd ff ff    	cmp    %eax,-0x218(%ebp)
408183:	7e 06                	jle    0x40818b
408185:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
40818b:	81 bd e8 fd ff ff a3 	cmpl   $0xa3,-0x218(%ebp)
408192:	00 00 00
408195:	7e 3d                	jle    0x4081d4
408197:	8b b5 e8 fd ff ff    	mov    -0x218(%ebp),%esi
40819d:	81 c6 5d 01 00 00    	add    $0x15d,%esi
4081a3:	56                   	push   %esi
4081a4:	e8 16 e7 ff ff       	call   0x4068bf
4081a9:	8a 95 ef fd ff ff    	mov    -0x211(%ebp),%dl
4081af:	59                   	pop    %ecx
4081b0:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
4081b6:	85 c0                	test   %eax,%eax
4081b8:	74 10                	je     0x4081ca
4081ba:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4081c0:	89 b5 a0 fd ff ff    	mov    %esi,-0x260(%ebp)
4081c6:	8b d8                	mov    %eax,%ebx
4081c8:	eb 0a                	jmp    0x4081d4
4081ca:	c7 85 e8 fd ff ff a3 	movl   $0xa3,-0x218(%ebp)
4081d1:	00 00 00
4081d4:	8b 07                	mov    (%edi),%eax
4081d6:	8b 35 90 f0 40 00    	mov    0x40f090,%esi
4081dc:	83 c7 08             	add    $0x8,%edi
4081df:	89 85 80 fd ff ff    	mov    %eax,-0x280(%ebp)
4081e5:	8b 47 fc             	mov    -0x4(%edi),%eax
4081e8:	89 85 84 fd ff ff    	mov    %eax,-0x27c(%ebp)
4081ee:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax