410a7b:	33 f6                	xor    %esi,%esi
410a7d:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
410a84:	8b 45 0c             	mov    0xc(%ebp),%eax
410a87:	8b 08                	mov    (%eax),%ecx
410a89:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
410a8c:	0f bf 40 08          	movswl 0x8(%eax),%eax
410a90:	83 e8 47             	sub    $0x47,%eax
410a93:	0f 84 fd 04 00 00    	je     0x410f96
410a99:	48                   	dec    %eax
410a9a:	74 13                	je     0x410aaf
410a9c:	83 e8 37             	sub    $0x37,%eax
410a9f:	0f 84 e7 0a 00 00    	je     0x41158c
410aa5:	8d 41 01             	lea    0x1(%ecx),%eax
410aa8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410aab:	89 01                	mov    %eax,(%ecx)
410aad:	eb d5                	jmp    0x410a84
410aaf:	85 f6                	test   %esi,%esi
410ab1:	0f 85 d1 04 00 00    	jne    0x410f88
410ab7:	8b 55 0c             	mov    0xc(%ebp),%edx
410aba:	89 74 24 6c          	mov    %esi,0x6c(%esp)
410abe:	8b 0a                	mov    (%edx),%ecx
410ac0:	89 4c 24 38          	mov    %ecx,0x38(%esp)
410ac4:	8d 41 01             	lea    0x1(%ecx),%eax
410ac7:	89 02                	mov    %eax,(%edx)
410ac9:	39 4c 24 48          	cmp    %ecx,0x48(%esp)
410acd:	0f 83 0b 01 00 00    	jae    0x410bde
410ad3:	eb 0b                	jmp    0x410ae0
410ad5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410adc:	8d 64 24 00          	lea    0x0(%esp),%esp
410ae0:	8b 44 24 7c          	mov    0x7c(%esp),%eax
410ae4:	c7 84 24 98 00 00 00 	movl   $0x0,0x98(%esp)
410aeb:	00 00 00 00
410aef:	c7 84 24 a0 00 00 00 	movl   $0x0,0xa0(%esp)
410af6:	00 00 00 00
410afa:	c7 84 24 a4 00 00 00 	movl   $0x1,0xa4(%esp)
410b01:	01 00 00 00
410b05:	39 44 24 78          	cmp    %eax,0x78(%esp)
410b09:	75 3b                	jne    0x410b46
410b0b:	03 c0                	add    %eax,%eax
410b0d:	83 f8 08             	cmp    $0x8,%eax
410b10:	73 05                	jae    0x410b17
410b12:	b8 08 00 00 00       	mov    $0x8,%eax
410b17:	33 c9                	xor    %ecx,%ecx
410b19:	89 44 24 7c          	mov    %eax,0x7c(%esp)
410b1d:	ba 04 00 00 00       	mov    $0x4,%edx
410b22:	f7 e2                	mul    %edx
410b24:	0f 90 c1             	seto   %cl
410b27:	f7 d9                	neg    %ecx
410b29:	0b c8                	or     %eax,%ecx
410b2b:	51                   	push   %ecx
410b2c:	e8 b9 e9 00 00       	call   0x41f4ea
410b31:	8b f0                	mov    %eax,%esi
410b33:	8b 44 24 78          	mov    0x78(%esp),%eax
410b37:	83 c4 04             	add    $0x4,%esp
410b3a:	85 c0                	test   %eax,%eax
410b3c:	0f 85 e3 8e 06 00    	jne    0x479a25
410b42:	89 74 24 74          	mov    %esi,0x74(%esp)
410b46:	6a 10                	push   $0x10
410b48:	e8 9d e9 00 00       	call   0x41f4ea
410b4d:	8b f0                	mov    %eax,%esi
410b4f:	83 c4 04             	add    $0x4,%esp
410b52:	85 f6                	test   %esi,%esi
410b54:	0f 84 e2 09 00 00    	je     0x41153c
410b5a:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
410b61:	50                   	push   %eax
410b62:	8b ce                	mov    %esi,%ecx
410b64:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
410b6b:	e8 b0 0b 00 00       	call   0x411720
410b70:	8b 4c 24 78          	mov    0x78(%esp),%ecx
410b74:	8b 44 24 74          	mov    0x74(%esp),%eax
410b78:	ff 74 24 38          	push   0x38(%esp)
410b7c:	89 34 88             	mov    %esi,(%eax,%ecx,4)
410b7f:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
410b83:	8b 44 24 78          	mov    0x78(%esp),%eax
410b87:	41                   	inc    %ecx
410b88:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
410b8c:	ff 74 88 fc          	push   -0x4(%eax,%ecx,4)
410b90:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
410b94:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
410b9b:	50                   	push   %eax
410b9c:	ff 75 08             	push   0x8(%ebp)
410b9f:	e8 8c f2 ff ff       	call   0x40fe30
410ba4:	85 c0                	test   %eax,%eax
410ba6:	0f 88 94 9b 06 00    	js     0x47a740
410bac:	8b 74 24 6c          	mov    0x6c(%esp),%esi
410bb0:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
410bb7:	8b 54 24 38          	mov    0x38(%esp),%edx
410bbb:	46                   	inc    %esi
410bbc:	89 74 24 6c          	mov    %esi,0x6c(%esp)
410bc0:	3b ca                	cmp    %edx,%ecx
410bc2:	0f 85 08 06 00 00    	jne    0x4111d0
410bc8:	c7 84 24 a4 00 00 00 	movl   $0x1,0xa4(%esp)
410bcf:	01 00 00 00
410bd3:	c7 84 24 98 00 00 00 	movl   $0x0,0x98(%esp)
410bda:	00 00 00 00
410bde:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410be2:	ff 74 24 60          	push   0x60(%esp)
410be6:	81 c1 9c 04 00 00    	add    $0x49c,%ecx
410bec:	e8 0f 3c 00 00       	call   0x414800
410bf1:	3b 70 18             	cmp    0x18(%eax),%esi
410bf4:	0f 8c 9c 09 00 00    	jl     0x411596
410bfa:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410bfe:	ff 74 24 60          	push   0x60(%esp)
410c02:	8d 89 9c 04 00 00    	lea    0x49c(%ecx),%ecx
410c08:	e8 f3 3b 00 00       	call   0x414800
410c0d:	3b 70 1c             	cmp    0x1c(%eax),%esi
410c10:	0f 8f 80 09 00 00    	jg     0x411596
410c16:	8b 74 24 30          	mov    0x30(%esp),%esi
410c1a:	8b 4e 08             	mov    0x8(%esi),%ecx
410c1d:	85 c9                	test   %ecx,%ecx
410c1f:	0f 85 2b 8e 06 00    	jne    0x479a50
410c25:	8b 46 0c             	mov    0xc(%esi),%eax
410c28:	83 f8 05             	cmp    $0x5,%eax
410c2b:	0f 8d 31 8e 06 00    	jge    0x479a62
410c31:	8b 54 24 14          	mov    0x14(%esp),%edx
410c35:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
410c3c:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
410c42:	8b 02                	mov    (%edx),%eax
410c44:	8b 48 04             	mov    0x4(%eax),%ecx
410c47:	8b 44 11 08          	mov    0x8(%ecx,%edx,1),%eax
410c4b:	03 ca                	add    %edx,%ecx
410c4d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410c51:	0f 85 ec 08 00 00    	jne    0x411543
410c57:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
410c5e:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410c62:	8b 41 08             	mov    0x8(%ecx),%eax
410c65:	0f 85 e0 08 00 00    	jne    0x41154b
410c6b:	c6 40 18 00          	movb   $0x0,0x18(%eax)
410c6f:	8b 02                	mov    (%edx),%eax
410c71:	8b 70 04             	mov    0x4(%eax),%esi
410c74:	03 f2                	add    %edx,%esi
410c76:	89 74 24 48          	mov    %esi,0x48(%esp)
410c7a:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
410c7e:	0f 85 8d 8e 06 00    	jne    0x479b11
410c84:	8b 76 08             	mov    0x8(%esi),%esi
410c87:	8b 4e 28             	mov    0x28(%esi),%ecx
410c8a:	85 c9                	test   %ecx,%ecx
410c8c:	0f 85 8a 8e 06 00    	jne    0x479b1c
410c92:	8b 46 2c             	mov    0x2c(%esi),%eax
410c95:	83 f8 05             	cmp    $0x5,%eax
410c98:	0f 8d 94 8e 06 00    	jge    0x479b32
410c9e:	8b 44 24 48          	mov    0x48(%esp),%eax
410ca2:	c7 46 2c 01 00 00 00 	movl   $0x1,0x2c(%esi)
410ca9:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
410cb0:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
410cb4:	8b 40 08             	mov    0x8(%eax),%eax
410cb7:	0f 85 96 08 00 00    	jne    0x411553
410cbd:	ff 74 24 60          	push   0x60(%esp)
410cc1:	8d 8a 9c 04 00 00    	lea    0x49c(%edx),%ecx
410cc7:	c6 40 30 00          	movb   $0x0,0x30(%eax)
410ccb:	e8 30 3b 00 00       	call   0x414800
410cd0:	8b 50 10             	mov    0x10(%eax),%edx
410cd3:	8b 48 14             	mov    0x14(%eax),%ecx
410cd6:	8b 70 0c             	mov    0xc(%eax),%esi
410cd9:	ff 74 24 30          	push   0x30(%esp)
410cdd:	8d 44 24 74          	lea    0x74(%esp),%eax
410ce1:	50                   	push   %eax
410ce2:	8b 44 24 1c          	mov    0x1c(%esp),%eax
410ce6:	8b 00                	mov    (%eax),%eax
410ce8:	8b 0c 01             	mov    (%ecx,%eax,1),%ecx
410ceb:	03 ca                	add    %edx,%ecx
410ced:	03 4c 24 1c          	add    0x1c(%esp),%ecx
410cf1:	ff d6                	call   *%esi
410cf3:	85 c0                	test   %eax,%eax
410cf5:	0f 88 80 9a 06 00    	js     0x47a77b
410cfb:	33 f6                	xor    %esi,%esi
410cfd:	c7 44 24 70 50 dc 49 	movl   $0x49dc50,0x70(%esp)
410d04:	00
410d05:	39 74 24 78          	cmp    %esi,0x78(%esp)
410d09:	76 37                	jbe    0x410d42
410d0b:	eb 03                	jmp    0x410d10
410d0d:	8d 49 00             	lea    0x0(%ecx),%ecx
410d10:	8b 44 24 74          	mov    0x74(%esp),%eax
410d14:	8b 0c b0             	mov    (%eax,%esi,4),%ecx
410d17:	89 4c 24 48          	mov    %ecx,0x48(%esp)
410d1b:	85 c9                	test   %ecx,%ecx
410d1d:	74 15                	je     0x410d34
410d1f:	e8 4c d3 ff ff       	call   0x40e070
410d24:	ff 74 24 48          	push   0x48(%esp)
410d28:	e8 31 e8 00 00       	call   0x41f55e
410d2d:	8b 44 24 78          	mov    0x78(%esp),%eax
410d31:	83 c4 04             	add    $0x4,%esp
410d34:	c7 04 b0 00 00 00 00 	movl   $0x0,(%eax,%esi,4)
410d3b:	46                   	inc    %esi
410d3c:	3b 74 24 78          	cmp    0x78(%esp),%esi
410d40:	72 ce                	jb     0x410d10
410d42:	ff 74 24 74          	push   0x74(%esp)
410d46:	c7 44 24 7c 00 00 00 	movl   $0x0,0x7c(%esp)
410d4d:	00
410d4e:	e8 0b e8 00 00       	call   0x41f55e
410d53:	83 c4 04             	add    $0x4,%esp
410d56:	8b 44 24 14          	mov    0x14(%esp),%eax
410d5a:	83 b8 fc 00 00 00 01 	cmpl   $0x1,0xfc(%eax)
410d61:	0f 84 88 9a 06 00    	je     0x47a7ef
410d67:	8b 75 0c             	mov    0xc(%ebp),%esi
410d6a:	e9 c9 f1 ff ff       	jmp    0x40ff38
410d6f:	8b 44 24 18          	mov    0x18(%esp),%eax
410d73:	83 f8 16             	cmp    $0x16,%eax
410d76:	0f 85 9c 02 00 00    	jne    0x411018
410d7c:	8d 41 01             	lea    0x1(%ecx),%eax
410d7f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410d82:	c7 44 24 18 0b 00 00 	movl   $0xb,0x18(%esp)
410d89:	00
410d8a:	8b 74 24 18          	mov    0x18(%esp),%esi
410d8e:	89 01                	mov    %eax,(%ecx)
410d90:	e9 0b f2 ff ff       	jmp    0x40ffa0
410d95:	8d 41 01             	lea    0x1(%ecx),%eax
410d98:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410d9b:	33 f6                	xor    %esi,%esi
410d9d:	89 01                	mov    %eax,(%ecx)
410d9f:	e9 f4 f1 ff ff       	jmp    0x40ff98
410da4:	8b 44 24 10          	mov    0x10(%esp),%eax
410da8:	3d 20 22 4c 00       	cmp    $0x4c2220,%eax
410dad:	74 3c                	je     0x410deb
410daf:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
410db3:	0f 84 a8 06 00 00    	je     0x411461
410db9:	8b 48 08             	mov    0x8(%eax),%ecx
410dbc:	85 c9                	test   %ecx,%ecx
410dbe:	0f 85 af 06 00 00    	jne    0x411473
410dc4:	8b 40 0c             	mov    0xc(%eax),%eax
410dc7:	83 f8 05             	cmp    $0x5,%eax
410dca:	0f 8d 20 97 06 00    	jge    0x47a4f0
410dd0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
410dd4:	68 20 22 4c 00       	push   $0x4c2220
410dd9:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
410de0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
410de6:	e8 35 09 00 00       	call   0x411720
410deb:	c6 44 24 2d 00       	movb   $0x0,0x2d(%esp)
410df0:	e9 67 f2 ff ff       	jmp    0x41005c
410df5:	8b c3                	mov    %ebx,%eax
410df7:	e9 b4 fa ff ff       	jmp    0x4108b0
410dfc:	8b 74 24 24          	mov    0x24(%esp),%esi
410e00:	c7 44 24 18 16 00 00 	movl   $0x16,0x18(%esp)
410e07:	00
410e08:	85 f6                	test   %esi,%esi
410e0a:	0f 85 54 02 00 00    	jne    0x411064
410e10:	81 ff 20 22 4c 00    	cmp    $0x4c2220,%edi
410e16:	74 3a                	je     0x410e52
410e18:	83 7f 0c 04          	cmpl   $0x4,0xc(%edi)
410e1c:	0f 84 c6 06 00 00    	je     0x4114e8
410e22:	8b 4f 08             	mov    0x8(%edi),%ecx
410e25:	85 c9                	test   %ecx,%ecx
410e27:	0f 85 cd 06 00 00    	jne    0x4114fa
410e2d:	8b 47 0c             	mov    0xc(%edi),%eax
410e30:	83 f8 05             	cmp    $0x5,%eax
410e33:	0f 8d 54 89 06 00    	jge    0x47978d
410e39:	68 20 22 4c 00       	push   $0x4c2220
410e3e:	8b cf                	mov    %edi,%ecx
410e40:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
410e47:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
410e4d:	e8 ce 08 00 00       	call   0x411720
410e52:	8b 54 24 10          	mov    0x10(%esp),%edx
410e56:	8b 45 0c             	mov    0xc(%ebp),%eax
410e59:	46                   	inc    %esi
410e5a:	8b 08                	mov    (%eax),%ecx
410e5c:	8b 45 08             	mov    0x8(%ebp),%eax
410e5f:	89 74 24 24          	mov    %esi,0x24(%esp)
410e63:	8b 40 04             	mov    0x4(%eax),%eax
410e66:	8b 04 88             	mov    (%eax,%ecx,4),%eax
410e69:	83 fe 01             	cmp    $0x1,%esi
410e6c:	0f 85 34 02 00 00    	jne    0x4110a6
410e72:	8b f7                	mov    %edi,%esi
410e74:	83 7e 0c 04          	cmpl   $0x4,0xc(%esi)
410e78:	8b 00                	mov    (%eax),%eax
410e7a:	8b 4e 08             	mov    0x8(%esi),%ecx
410e7d:	89 44 24 48          	mov    %eax,0x48(%esp)
410e81:	0f 84 c8 89 06 00    	je     0x47984f
410e87:	85 c9                	test   %ecx,%ecx
410e89:	0f 85 cb 89 06 00    	jne    0x47985a
410e8f:	8b 46 0c             	mov    0xc(%esi),%eax
410e92:	83 f8 05             	cmp    $0x5,%eax
410e95:	0f 8d d1 89 06 00    	jge    0x47986c
410e9b:	6a 10                	push   $0x10
410e9d:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
410ea3:	c7 46 0c 04 00 00 00 	movl   $0x4,0xc(%esi)
410eaa:	e8 3b e6 00 00       	call   0x41f4ea
410eaf:	8b d0                	mov    %eax,%edx
410eb1:	83 c4 04             	add    $0x4,%esp
410eb4:	85 d2                	test   %edx,%edx
410eb6:	0f 84 6a 06 00 00    	je     0x411526
410ebc:	8b 44 24 48          	mov    0x48(%esp),%eax
410ec0:	8b 08                	mov    (%eax),%ecx
410ec2:	89 0a                	mov    %ecx,(%edx)
410ec4:	8b 48 04             	mov    0x4(%eax),%ecx
410ec7:	89 4a 04             	mov    %ecx,0x4(%edx)
410eca:	8b 48 08             	mov    0x8(%eax),%ecx
410ecd:	89 4a 08             	mov    %ecx,0x8(%edx)
410ed0:	8b 40 0c             	mov    0xc(%eax),%eax
410ed3:	89 42 0c             	mov    %eax,0xc(%edx)
410ed6:	ff 00                	incl   (%eax)
410ed8:	89 56 08             	mov    %edx,0x8(%esi)
410edb:	8b 75 0c             	mov    0xc(%ebp),%esi
410ede:	8b 44 24 14          	mov    0x14(%esp),%eax
410ee2:	ff 06                	incl   (%esi)
410ee4:	80 b8 01 01 00 00 00 	cmpb   $0x0,0x101(%eax)
410eeb:	0f 85 2a 8a 06 00    	jne    0x47991b
410ef1:	80 b8 02 01 00 00 00 	cmpb   $0x0,0x102(%eax)
410ef8:	8b 55 08             	mov    0x8(%ebp),%edx
410efb:	8b 45 14             	mov    0x14(%ebp),%eax
410efe:	0f 84 3a f0 ff ff    	je     0x40ff3e
410f04:	e9 2a 8a 06 00       	jmp    0x479933
410f09:	8b 44 24 18          	mov    0x18(%esp),%eax
410f0d:	83 f8 16             	cmp    $0x16,%eax
410f10:	0f 85 74 02 00 00    	jne    0x41118a
410f16:	c7 44 24 18 0c 00 00 	movl   $0xc,0x18(%esp)
410f1d:	00
410f1e:	8b 74 24 18          	mov    0x18(%esp),%esi
410f22:	8d 41 01             	lea    0x1(%ecx),%eax
410f25:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410f28:	89 01                	mov    %eax,(%ecx)
410f2a:	e9 71 f0 ff ff       	jmp    0x40ffa0
410f2f:	8b 43 04             	mov    0x4(%ebx),%eax
410f32:	e9 8c f9 ff ff       	jmp    0x4108c3
410f37:	8b 44 24 10          	mov    0x10(%esp),%eax
410f3b:	3d 20 22 4c 00       	cmp    $0x4c2220,%eax
410f40:	74 3c                	je     0x410f7e
410f42:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
410f46:	0f 84 ed 92 06 00    	je     0x47a239
410f4c:	8b 48 08             	mov    0x8(%eax),%ecx
410f4f:	85 c9                	test   %ecx,%ecx
410f51:	0f 85 02 93 06 00    	jne    0x47a259
410f57:	8b 40 0c             	mov    0xc(%eax),%eax
410f5a:	83 f8 05             	cmp    $0x5,%eax
410f5d:	0f 8d 0c 93 06 00    	jge    0x47a26f
410f63:	8b 4c 24 10          	mov    0x10(%esp),%ecx
410f67:	68 20 22 4c 00       	push   $0x4c2220
410f6c:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
410f73:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
410f79:	e8 a2 07 00 00       	call   0x411720
410f7e:	c6 44 24 2d 00       	movb   $0x0,0x2d(%esp)
410f83:	e9 1d f4 ff ff       	jmp    0x4103a5
410f88:	8d 41 01             	lea    0x1(%ecx),%eax
410f8b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410f8e:	4e                   	dec    %esi
410f8f:	89 01                	mov    %eax,(%ecx)
410f91:	e9 ee fa ff ff       	jmp    0x410a84
410f96:	8d 41 01             	lea    0x1(%ecx),%eax
410f99:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410f9c:	46                   	inc    %esi
410f9d:	89 01                	mov    %eax,(%ecx)
410f9f:	e9 e0 fa ff ff       	jmp    0x410a84
410fa4:	8d 41 01             	lea    0x1(%ecx),%eax
410fa7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410faa:	be 0e 00 00 00       	mov    $0xe,%esi
410faf:	89 01                	mov    %eax,(%ecx)
410fb1:	e9 e2 ef ff ff       	jmp    0x40ff98
410fb6:	83 c0 02             	add    $0x2,%eax
410fb9:	83 c2 02             	add    $0x2,%edx
410fbc:	89 44 24 3c          	mov    %eax,0x3c(%esp)
410fc0:	49                   	dec    %ecx