600c37:	8b 45 fc             	mov    -0x4(%ebp),%eax
600c3a:	8b 10                	mov    (%eax),%edx
600c3c:	ff 52 10             	call   *0x10(%edx)
600c3f:	fe c8                	dec    %al
600c41:	0f 84 2d 01 00 00    	je     0x600d74
600c47:	2c 04                	sub    $0x4,%al
600c49:	0f 85 ce 01 00 00    	jne    0x600e1d
600c4f:	81 7d c0 00 40 00 00 	cmpl   $0x4000,-0x40(%ebp)
600c56:	0f 85 87 00 00 00    	jne    0x600ce3
600c5c:	81 7d c4 00 40 00 00 	cmpl   $0x4000,-0x3c(%ebp)
600c63:	75 7e                	jne    0x600ce3
600c65:	8b 45 94             	mov    -0x6c(%ebp),%eax
600c68:	2b 45 9c             	sub    -0x64(%ebp),%eax
600c6b:	40                   	inc    %eax
600c6c:	8d 04 40             	lea    (%eax,%eax,2),%eax
600c6f:	89 45 a4             	mov    %eax,-0x5c(%ebp)
600c72:	8b 45 98             	mov    -0x68(%ebp),%eax
600c75:	8b 55 90             	mov    -0x70(%ebp),%edx
600c78:	2b d0                	sub    %eax,%edx
600c7a:	0f 8c 9d 01 00 00    	jl     0x600e1d
600c80:	42                   	inc    %edx
600c81:	89 95 54 ff ff ff    	mov    %edx,-0xac(%ebp)
600c87:	89 45 f0             	mov    %eax,-0x10(%ebp)
600c8a:	8b 55 f0             	mov    -0x10(%ebp),%edx
600c8d:	8b 45 f8             	mov    -0x8(%ebp),%eax
600c90:	8b 08                	mov    (%eax),%ecx
600c92:	ff 11                	call   *(%ecx)
600c94:	8b f0                	mov    %eax,%esi
600c96:	8b 45 9c             	mov    -0x64(%ebp),%eax
600c99:	8d 04 40             	lea    (%eax,%eax,2),%eax
600c9c:	03 f0                	add    %eax,%esi
600c9e:	8b 55 f0             	mov    -0x10(%ebp),%edx
600ca1:	2b 55 88             	sub    -0x78(%ebp),%edx
600ca4:	03 95 78 ff ff ff    	add    -0x88(%ebp),%edx
600caa:	8b 45 fc             	mov    -0x4(%ebp),%eax
600cad:	8b 08                	mov    (%eax),%ecx
600caf:	ff 11                	call   *(%ecx)
600cb1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
600cb4:	8b 45 9c             	mov    -0x64(%ebp),%eax
600cb7:	2b 45 8c             	sub    -0x74(%ebp),%eax
600cba:	03 85 7c ff ff ff    	add    -0x84(%ebp),%eax
600cc0:	8d 04 40             	lea    (%eax,%eax,2),%eax
600cc3:	01 45 e4             	add    %eax,-0x1c(%ebp)
600cc6:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
600cc9:	8b 55 e4             	mov    -0x1c(%ebp),%edx
600ccc:	8b c6                	mov    %esi,%eax
600cce:	e8 ed 71 e0 ff       	call   0x407ec0
600cd3:	ff 45 f0             	incl   -0x10(%ebp)
600cd6:	ff 8d 54 ff ff ff    	decl   -0xac(%ebp)
600cdc:	75 ac                	jne    0x600c8a
600cde:	e9 3a 01 00 00       	jmp    0x600e1d
600ce3:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
600ce9:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
600cef:	8b 45 98             	mov    -0x68(%ebp),%eax
600cf2:	8b 55 90             	mov    -0x70(%ebp),%edx
600cf5:	2b d0                	sub    %eax,%edx
600cf7:	0f 8c 20 01 00 00    	jl     0x600e1d
600cfd:	42                   	inc    %edx
600cfe:	89 95 54 ff ff ff    	mov    %edx,-0xac(%ebp)
600d04:	89 45 f0             	mov    %eax,-0x10(%ebp)
600d07:	8b 55 f0             	mov    -0x10(%ebp),%edx
600d0a:	8b 45 f8             	mov    -0x8(%ebp),%eax
600d0d:	8b 08                	mov    (%eax),%ecx
600d0f:	ff 11                	call   *(%ecx)
600d11:	8b f0                	mov    %eax,%esi
600d13:	8b 45 9c             	mov    -0x64(%ebp),%eax
600d16:	8d 04 40             	lea    (%eax,%eax,2),%eax
600d19:	03 f0                	add    %eax,%esi
600d1b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
600d21:	8b 10                	mov    (%eax),%edx
600d23:	8b 45 fc             	mov    -0x4(%ebp),%eax
600d26:	8b 08                	mov    (%eax),%ecx
600d28:	ff 11                	call   *(%ecx)
600d2a:	89 45 e0             	mov    %eax,-0x20(%ebp)
600d2d:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
600d33:	8b 55 9c             	mov    -0x64(%ebp),%edx
600d36:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
600d39:	2b da                	sub    %edx,%ebx
600d3b:	7c 20                	jl     0x600d5d
600d3d:	43                   	inc    %ebx
600d3e:	8b 10                	mov    (%eax),%edx
600d40:	8d 14 52             	lea    (%edx,%edx,2),%edx
600d43:	8b 4d e0             	mov    -0x20(%ebp),%ecx
600d46:	03 ca                	add    %edx,%ecx
600d48:	66 8b 11             	mov    (%ecx),%dx
600d4b:	66 89 16             	mov    %dx,(%esi)
600d4e:	8a 51 02             	mov    0x2(%ecx),%dl
600d51:	88 56 02             	mov    %dl,0x2(%esi)
600d54:	83 c6 03             	add    $0x3,%esi
600d57:	83 c0 04             	add    $0x4,%eax
600d5a:	4b                   	dec    %ebx
600d5b:	75 e1                	jne    0x600d3e
600d5d:	83 85 60 ff ff ff 04 	addl   $0x4,-0xa0(%ebp)
600d64:	ff 45 f0             	incl   -0x10(%ebp)
600d67:	ff 8d 54 ff ff ff    	decl   -0xac(%ebp)
600d6d:	75 98                	jne    0x600d07
600d6f:	e9 a9 00 00 00       	jmp    0x600e1d
600d74:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
600d7a:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
600d80:	8b 45 98             	mov    -0x68(%ebp),%eax
600d83:	8b 55 90             	mov    -0x70(%ebp),%edx
600d86:	2b d0                	sub    %eax,%edx
600d88:	0f 8c 8f 00 00 00    	jl     0x600e1d
600d8e:	42                   	inc    %edx
600d8f:	89 95 54 ff ff ff    	mov    %edx,-0xac(%ebp)
600d95:	89 45 f0             	mov    %eax,-0x10(%ebp)
600d98:	8b 55 f0             	mov    -0x10(%ebp),%edx
600d9b:	8b 45 f8             	mov    -0x8(%ebp),%eax
600d9e:	8b 08                	mov    (%eax),%ecx
600da0:	ff 11                	call   *(%ecx)
600da2:	8b f0                	mov    %eax,%esi
600da4:	8b 45 9c             	mov    -0x64(%ebp),%eax
600da7:	8d 04 40             	lea    (%eax,%eax,2),%eax
600daa:	03 f0                	add    %eax,%esi
600dac:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
600db2:	8b 10                	mov    (%eax),%edx
600db4:	8b 45 fc             	mov    -0x4(%ebp),%eax
600db7:	8b 08                	mov    (%eax),%ecx
600db9:	ff 11                	call   *(%ecx)
600dbb:	89 45 e0             	mov    %eax,-0x20(%ebp)
600dbe:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
600dc4:	8b 55 9c             	mov    -0x64(%ebp),%edx
600dc7:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
600dca:	2b da                	sub    %edx,%ebx
600dcc:	7c 39                	jl     0x600e07
600dce:	43                   	inc    %ebx
600dcf:	8b 10                	mov    (%eax),%edx
600dd1:	8b ca                	mov    %edx,%ecx
600dd3:	c1 e9 03             	shr    $0x3,%ecx
600dd6:	8b 7d e0             	mov    -0x20(%ebp),%edi
600dd9:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
600ddc:	83 e2 07             	and    $0x7,%edx
600ddf:	22 8a ec 54 6a 00    	and    0x6a54ec(%edx),%cl
600de5:	75 0e                	jne    0x600df5
600de7:	66 c7 06 00 00       	movw   $0x0,(%esi)
600dec:	83 c6 02             	add    $0x2,%esi
600def:	c6 06 00             	movb   $0x0,(%esi)
600df2:	46                   	inc    %esi
600df3:	eb 0c                	jmp    0x600e01
600df5:	66 c7 06 ff ff       	movw   $0xffff,(%esi)
600dfa:	83 c6 02             	add    $0x2,%esi
600dfd:	c6 06 ff             	movb   $0xff,(%esi)
600e00:	46                   	inc    %esi
600e01:	83 c0 04             	add    $0x4,%eax
600e04:	4b                   	dec    %ebx
600e05:	75 c8                	jne    0x600dcf
600e07:	83 85 60 ff ff ff 04 	addl   $0x4,-0xa0(%ebp)
600e0e:	ff 45 f0             	incl   -0x10(%ebp)
600e11:	ff 8d 54 ff ff ff    	decl   -0xac(%ebp)
600e17:	0f 85 7b ff ff ff    	jne    0x600d98
600e1d:	33 c0                	xor    %eax,%eax
600e1f:	5a                   	pop    %edx
600e20:	59                   	pop    %ecx
600e21:	59                   	pop    %ecx
600e22:	64 89 10             	mov    %edx,%fs:(%eax)
600e25:	eb 0a                	jmp    0x600e31
600e27:	e9 2c 31 e0 ff       	jmp    0x403f58
600e2c:	e8 8f 34 e0 ff       	call   0x4042c0
600e31:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
600e38:	74 0b                	je     0x600e45
600e3a:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
600e40:	e8 87 19 e0 ff       	call   0x4027cc
600e45:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
600e4c:	74 0b                	je     0x600e59
600e4e:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
600e54:	e8 73 19 e0 ff       	call   0x4027cc
600e59:	5f                   	pop    %edi
600e5a:	5e                   	pop    %esi
600e5b:	5b                   	pop    %ebx
600e5c:	8b e5                	mov    %ebp,%esp
600e5e:	5d                   	pop    %ebp
600e5f:	c2 24 00             	ret    $0x24
600e62:	00 00                	add    %al,(%eax)
600e64:	00 00                	add    %al,(%eax)
600e66:	80 46 53 56          	addb   $0x56,0x53(%esi)
600e6a:	83 c4 f8             	add    $0xfffffff8,%esp
600e6d:	8b d8                	mov    %eax,%ebx
600e6f:	8b 43 3c             	mov    0x3c(%ebx),%eax
600e72:	89 44 24 04          	mov    %eax,0x4(%esp)
600e76:	8b 73 34             	mov    0x34(%ebx),%esi
600e79:	4e                   	dec    %esi
600e7a:	85 f6                	test   %esi,%esi
600e7c:	7c 32                	jl     0x600eb0
600e7e:	46                   	inc    %esi
600e7f:	c7 04 24 00 00 00 00 	movl   $0x0,(%esp)
600e86:	8b 14 24             	mov    (%esp),%edx
600e89:	8b c3                	mov    %ebx,%eax
600e8b:	8b 08                	mov    (%eax),%ecx
600e8d:	ff 11                	call   *(%ecx)
600e8f:	8b d0                	mov    %eax,%edx
600e91:	8b 44 24 04          	mov    0x4(%esp),%eax
600e95:	48                   	dec    %eax
600e96:	85 c0                	test   %eax,%eax
600e98:	7c 10                	jl     0x600eaa
600e9a:	40                   	inc    %eax
600e9b:	80 3a ff             	cmpb   $0xff,(%edx)
600e9e:	73 06                	jae    0x600ea6
600ea0:	c6 43 43 00          	movb   $0x0,0x43(%ebx)
600ea4:	eb 0e                	jmp    0x600eb4
600ea6:	42                   	inc    %edx
600ea7:	48                   	dec    %eax
600ea8:	75 f1                	jne    0x600e9b
600eaa:	ff 04 24             	incl   (%esp)
600ead:	4e                   	dec    %esi
600eae:	75 d6                	jne    0x600e86
600eb0:	c6 43 43 01          	movb   $0x1,0x43(%ebx)
600eb4:	59                   	pop    %ecx
600eb5:	5a                   	pop    %edx
600eb6:	5e                   	pop    %esi
600eb7:	5b                   	pop    %ebx
600eb8:	c3                   	ret
600eb9:	8d 40 00             	lea    0x0(%eax),%eax
600ebc:	53                   	push   %ebx
600ebd:	56                   	push   %esi
600ebe:	83 c4 f8             	add    $0xfffffff8,%esp
600ec1:	89 04 24             	mov    %eax,(%esp)
600ec4:	8b 04 24             	mov    (%esp),%eax
600ec7:	8b 40 3c             	mov    0x3c(%eax),%eax
600eca:	89 44 24 04          	mov    %eax,0x4(%esp)
600ece:	8b 04 24             	mov    (%esp),%eax
600ed1:	8b 58 34             	mov    0x34(%eax),%ebx
600ed4:	4b                   	dec    %ebx
600ed5:	85 db                	test   %ebx,%ebx
600ed7:	7c 29                	jl     0x600f02
600ed9:	43                   	inc    %ebx
600eda:	33 f6                	xor    %esi,%esi
600edc:	8b d6                	mov    %esi,%edx
600ede:	8b 04 24             	mov    (%esp),%eax
600ee1:	8b 08                	mov    (%eax),%ecx
600ee3:	ff 11                	call   *(%ecx)
600ee5:	8b d0                	mov    %eax,%edx
600ee7:	8b 44 24 04          	mov    0x4(%esp),%eax
600eeb:	48                   	dec    %eax
600eec:	85 c0                	test   %eax,%eax
600eee:	7c 0e                	jl     0x600efe
600ef0:	40                   	inc    %eax
600ef1:	80 3a 00             	cmpb   $0x0,(%edx)
600ef4:	74 04                	je     0x600efa
600ef6:	33 c0                	xor    %eax,%eax
600ef8:	eb 0a                	jmp    0x600f04
600efa:	42                   	inc    %edx
600efb:	48                   	dec    %eax
600efc:	75 f3                	jne    0x600ef1
600efe:	46                   	inc    %esi
600eff:	4b                   	dec    %ebx
600f00:	75 da                	jne    0x600edc
600f02:	b0 01                	mov    $0x1,%al
600f04:	59                   	pop    %ecx
600f05:	5a                   	pop    %edx
600f06:	5e                   	pop    %esi
600f07:	5b                   	pop    %ebx
600f08:	c3                   	ret
600f09:	8d 40 00             	lea    0x0(%eax),%eax
600f0c:	56                   	push   %esi
600f0d:	57                   	push   %edi
600f0e:	55                   	push   %ebp
600f0f:	83 c4 f4             	add    $0xfffffff4,%esp
600f12:	89 04 24             	mov    %eax,(%esp)
600f15:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
600f1a:	8b 04 24             	mov    (%esp),%eax
600f1d:	8a 40 40             	mov    0x40(%eax),%al
600f20:	2c 02                	sub    $0x2,%al
600f22:	74 09                	je     0x600f2d
600f24:	2c 03                	sub    $0x3,%al
600f26:	74 4f                	je     0x600f77
600f28:	e9 9f 00 00 00       	jmp    0x600fcc
600f2d:	8b 04 24             	mov    (%esp),%eax
600f30:	8b 70 14             	mov    0x14(%eax),%esi
600f33:	4e                   	dec    %esi
600f34:	85 f6                	test   %esi,%esi
600f36:	0f 8c 90 00 00 00    	jl     0x600fcc
600f3c:	46                   	inc    %esi
600f3d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
600f44:	00
600f45:	8b 44 24 08          	mov    0x8(%esp),%eax
600f49:	8d 04 40             	lea    (%eax,%eax,2),%eax
600f4c:	8b 14 24             	mov    (%esp),%edx
600f4f:	8b 52 10             	mov    0x10(%edx),%edx
600f52:	8d 3c 02             	lea    (%edx,%eax,1),%edi
600f55:	8a 47 01             	mov    0x1(%edi),%al
600f58:	8a 57 02             	mov    0x2(%edi),%dl
600f5b:	3a c2                	cmp    %dl,%al
600f5d:	75 08                	jne    0x600f67
600f5f:	3a 17                	cmp    (%edi),%dl
600f61:	75 04                	jne    0x600f67
600f63:	3a 07                	cmp    (%edi),%al
600f65:	74 07                	je     0x600f6e
600f67:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
600f6c:	eb 5e                	jmp    0x600fcc
600f6e:	ff 44 24 08          	incl   0x8(%esp)
600f72:	4e                   	dec    %esi
600f73:	75 d0                	jne    0x600f45
600f75:	eb 55                	jmp    0x600fcc
600f77:	8b 04 24             	mov    (%esp),%eax
600f7a:	8b 70 34             	mov    0x34(%eax),%esi
600f7d:	4e                   	dec    %esi
600f7e:	85 f6                	test   %esi,%esi
600f80:	7c 4a                	jl     0x600fcc
600f82:	46                   	inc    %esi
600f83:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
600f8a:	00
600f8b:	8b 54 24 08          	mov    0x8(%esp),%edx
600f8f:	8b 04 24             	mov    (%esp),%eax
600f92:	8b 08                	mov    (%eax),%ecx
600f94:	ff 11                	call   *(%ecx)
600f96:	8b f8                	mov    %eax,%edi
600f98:	8b 04 24             	mov    (%esp),%eax
600f9b:	8b 68 30             	mov    0x30(%eax),%ebp
600f9e:	4d                   	dec    %ebp
600f9f:	85 ed                	test   %ebp,%ebp
600fa1:	7c 22                	jl     0x600fc5
600fa3:	45                   	inc    %ebp
600fa4:	8b c7                	mov    %edi,%eax
600fa6:	8a 50 01             	mov    0x1(%eax),%dl
600fa9:	8a 48 02             	mov    0x2(%eax),%cl
600fac:	3a d1                	cmp    %cl,%dl
600fae:	75 08                	jne    0x600fb8
600fb0:	3a 08                	cmp    (%eax),%cl
600fb2:	75 04                	jne    0x600fb8
600fb4:	3a 10                	cmp    (%eax),%dl
600fb6:	74 07                	je     0x600fbf
600fb8:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
600fbd:	eb 0d                	jmp    0x600fcc
600fbf:	83 c7 03             	add    $0x3,%edi
600fc2:	4d                   	dec    %ebp
600fc3:	75 df                	jne    0x600fa4
600fc5:	ff 44 24 08          	incl   0x8(%esp)
600fc9:	4e                   	dec    %esi
600fca:	75 bf                	jne    0x600f8b
600fcc:	8a 44 24 04          	mov    0x4(%esp),%al
600fd0:	83 c4 0c             	add    $0xc,%esp
600fd3:	5d                   	pop    %ebp
600fd4:	5f                   	pop    %edi
600fd5:	5e                   	pop    %esi
600fd6:	c3                   	ret
600fd7:	90                   	nop
600fd8:	55                   	push   %ebp
600fd9:	8b ec                	mov    %esp,%ebp
600fdb:	83 c4 d8             	add    $0xffffffd8,%esp
600fde:	53                   	push   %ebx
600fdf:	56                   	push   %esi
600fe0:	57                   	push   %edi
600fe1:	8b f1                	mov    %ecx,%esi
600fe3:	8b da                	mov    %edx,%ebx
600fe5:	8b f8                	mov    %eax,%edi
600fe7:	8b 47 0c             	mov    0xc(%edi),%eax
600fea:	8b 55 20             	mov    0x20(%ebp),%edx
600fed:	8b 08                	mov    (%eax),%ecx
600fef:	ff 51 08             	call   *0x8(%ecx)
600ff2:	8b 47 14             	mov    0x14(%edi),%eax