407a19:	74 0c                	je     0x407a27
407a1b:	2b d1                	sub    %ecx,%edx
407a1d:	88 07                	mov    %al,(%edi)
407a1f:	83 c7 01             	add    $0x1,%edi
407a22:	83 e9 01             	sub    $0x1,%ecx
407a25:	75 f6                	jne    0x407a1d
407a27:	8b c8                	mov    %eax,%ecx
407a29:	c1 e0 08             	shl    $0x8,%eax
407a2c:	03 c1                	add    %ecx,%eax
407a2e:	8b c8                	mov    %eax,%ecx
407a30:	c1 e0 10             	shl    $0x10,%eax
407a33:	03 c1                	add    %ecx,%eax
407a35:	8b ca                	mov    %edx,%ecx
407a37:	83 e2 03             	and    $0x3,%edx
407a3a:	c1 e9 02             	shr    $0x2,%ecx
407a3d:	74 06                	je     0x407a45
407a3f:	f3 ab                	rep stos %eax,%es:(%edi)
407a41:	85 d2                	test   %edx,%edx
407a43:	74 0a                	je     0x407a4f
407a45:	88 07                	mov    %al,(%edi)
407a47:	83 c7 01             	add    $0x1,%edi
407a4a:	83 ea 01             	sub    $0x1,%edx
407a4d:	75 f6                	jne    0x407a45
407a4f:	8b 44 24 08          	mov    0x8(%esp),%eax
407a53:	5f                   	pop    %edi
407a54:	c3                   	ret
407a55:	8b 44 24 04          	mov    0x4(%esp),%eax
407a59:	c3                   	ret
407a5a:	8b ff                	mov    %edi,%edi
407a5c:	55                   	push   %ebp
407a5d:	8b ec                	mov    %esp,%ebp
407a5f:	51                   	push   %ecx
407a60:	f6 43 0c 40          	testb  $0x40,0xc(%ebx)
407a64:	56                   	push   %esi
407a65:	8b f0                	mov    %eax,%esi
407a67:	8b 07                	mov    (%edi),%eax
407a69:	89 45 fc             	mov    %eax,-0x4(%ebp)
407a6c:	74 0d                	je     0x407a7b
407a6e:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
407a72:	75 07                	jne    0x407a7b
407a74:	8b 45 0c             	mov    0xc(%ebp),%eax
407a77:	01 06                	add    %eax,(%esi)
407a79:	eb 3e                	jmp    0x407ab9
407a7b:	83 27 00             	andl   $0x0,(%edi)
407a7e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407a82:	7e 30                	jle    0x407ab4
407a84:	8b 45 08             	mov    0x8(%ebp),%eax
407a87:	8a 00                	mov    (%eax),%al
407a89:	ff 4d 0c             	decl   0xc(%ebp)
407a8c:	8b cb                	mov    %ebx,%ecx
407a8e:	e8 f8 50 00 00       	call   0x40cb8b
407a93:	ff 45 08             	incl   0x8(%ebp)
407a96:	83 3e ff             	cmpl   $0xffffffff,(%esi)
407a99:	75 0e                	jne    0x407aa9
407a9b:	83 3f 2a             	cmpl   $0x2a,(%edi)
407a9e:	75 0f                	jne    0x407aaf
407aa0:	8b cb                	mov    %ebx,%ecx
407aa2:	b0 3f                	mov    $0x3f,%al
407aa4:	e8 e2 50 00 00       	call   0x40cb8b
407aa9:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407aad:	7f d5                	jg     0x407a84
407aaf:	83 3f 00             	cmpl   $0x0,(%edi)
407ab2:	75 05                	jne    0x407ab9
407ab4:	8b 45 fc             	mov    -0x4(%ebp),%eax
407ab7:	89 07                	mov    %eax,(%edi)
407ab9:	5e                   	pop    %esi
407aba:	c9                   	leave
407abb:	c3                   	ret
407abc:	8b ff                	mov    %edi,%edi
407abe:	55                   	push   %ebp
407abf:	8b ec                	mov    %esp,%ebp
407ac1:	81 ec 80 02 00 00    	sub    $0x280,%esp
407ac7:	a1 84 22 41 00       	mov    0x412284,%eax
407acc:	33 c5                	xor    %ebp,%eax
407ace:	89 45 fc             	mov    %eax,-0x4(%ebp)
407ad1:	53                   	push   %ebx
407ad2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407ad5:	56                   	push   %esi
407ad6:	8b 75 08             	mov    0x8(%ebp),%esi
407ad9:	33 c0                	xor    %eax,%eax
407adb:	57                   	push   %edi
407adc:	8b 7d 14             	mov    0x14(%ebp),%edi
407adf:	ff 75 10             	push   0x10(%ebp)
407ae2:	8d 8d a4 fd ff ff    	lea    -0x25c(%ebp),%ecx
407ae8:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
407aee:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
407af4:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
407afa:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
407b00:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
407b06:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
407b0c:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
407b12:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
407b18:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
407b1e:	e8 c2 a4 ff ff       	call   0x401fe5
407b23:	e8 ff c5 ff ff       	call   0x404127
407b28:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
407b2e:	85 f6                	test   %esi,%esi
407b30:	75 2b                	jne    0x407b5d
407b32:	e8 f0 c5 ff ff       	call   0x404127
407b37:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
407b3d:	e8 45 b1 ff ff       	call   0x402c87
407b42:	80 bd b0 fd ff ff 00 	cmpb   $0x0,-0x250(%ebp)
407b49:	74 0a                	je     0x407b55
407b4b:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
407b51:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
407b55:	83 c8 ff             	or     $0xffffffff,%eax
407b58:	e9 37 0b 00 00       	jmp    0x408694
407b5d:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
407b61:	75 5e                	jne    0x407bc1
407b63:	56                   	push   %esi
407b64:	e8 47 af ff ff       	call   0x402ab0
407b69:	59                   	pop    %ecx
407b6a:	ba 78 2b 41 00       	mov    $0x412b78,%edx
407b6f:	83 f8 ff             	cmp    $0xffffffff,%eax
407b72:	74 1b                	je     0x407b8f
407b74:	83 f8 fe             	cmp    $0xfffffffe,%eax
407b77:	74 16                	je     0x407b8f
407b79:	8b c8                	mov    %eax,%ecx
407b7b:	83 e1 1f             	and    $0x1f,%ecx
407b7e:	8b f0                	mov    %eax,%esi
407b80:	c1 fe 05             	sar    $0x5,%esi
407b83:	c1 e1 06             	shl    $0x6,%ecx
407b86:	03 0c b5 20 46 41 00 	add    0x414620(,%esi,4),%ecx
407b8d:	eb 02                	jmp    0x407b91
407b8f:	8b ca                	mov    %edx,%ecx
407b91:	f6 41 24 7f          	testb  $0x7f,0x24(%ecx)
407b95:	75 9b                	jne    0x407b32
407b97:	83 f8 ff             	cmp    $0xffffffff,%eax
407b9a:	74 19                	je     0x407bb5
407b9c:	83 f8 fe             	cmp    $0xfffffffe,%eax
407b9f:	74 14                	je     0x407bb5
407ba1:	8b c8                	mov    %eax,%ecx
407ba3:	83 e0 1f             	and    $0x1f,%eax
407ba6:	c1 f9 05             	sar    $0x5,%ecx
407ba9:	c1 e0 06             	shl    $0x6,%eax
407bac:	03 04 8d 20 46 41 00 	add    0x414620(,%ecx,4),%eax
407bb3:	eb 02                	jmp    0x407bb7
407bb5:	8b c2                	mov    %edx,%eax
407bb7:	f6 40 24 80          	testb  $0x80,0x24(%eax)
407bbb:	0f 85 71 ff ff ff    	jne    0x407b32
407bc1:	33 c9                	xor    %ecx,%ecx
407bc3:	3b d9                	cmp    %ecx,%ebx
407bc5:	0f 84 67 ff ff ff    	je     0x407b32
407bcb:	8a 13                	mov    (%ebx),%dl
407bcd:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
407bd3:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
407bd9:	89 8d b8 fd ff ff    	mov    %ecx,-0x248(%ebp)
407bdf:	88 95 ef fd ff ff    	mov    %dl,-0x211(%ebp)
407be5:	84 d2                	test   %dl,%dl
407be7:	0f 84 8e 0a 00 00    	je     0x40867b
407bed:	43                   	inc    %ebx
407bee:	33 f6                	xor    %esi,%esi
407bf0:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
407bf6:	39 b5 dc fd ff ff    	cmp    %esi,-0x224(%ebp)
407bfc:	0f 8c 79 0a 00 00    	jl     0x40867b
407c02:	8d 42 e0             	lea    -0x20(%edx),%eax
407c05:	3c 58                	cmp    $0x58,%al
407c07:	77 0f                	ja     0x407c18
407c09:	0f be c2             	movsbl %dl,%eax
407c0c:	0f be 80 28 00 41 00 	movsbl 0x410028(%eax),%eax
407c13:	83 e0 0f             	and    $0xf,%eax
407c16:	eb 02                	jmp    0x407c1a
407c18:	33 c0                	xor    %eax,%eax
407c1a:	0f be 84 c1 48 00 41 	movsbl 0x410048(%ecx,%eax,8),%eax
407c21:	00
407c22:	6a 07                	push   $0x7
407c24:	c1 f8 04             	sar    $0x4,%eax
407c27:	59                   	pop    %ecx
407c28:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
407c2e:	3b c1                	cmp    %ecx,%eax
407c30:	0f 87 20 0a 00 00    	ja     0x408656
407c36:	ff 24 85 a4 86 40 00 	jmp    *0x4086a4(,%eax,4)
407c3d:	83 8d e8 fd ff ff ff 	orl    $0xffffffff,-0x218(%ebp)
407c44:	89 b5 88 fd ff ff    	mov    %esi,-0x278(%ebp)
407c4a:	89 b5 bc fd ff ff    	mov    %esi,-0x244(%ebp)
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