479e66:	8b 04 11             	mov    (%ecx,%edx,1),%eax
479e69:	3b 02                	cmp    (%edx),%eax
479e6b:	75 d3                	jne    0x479e40
479e6d:	83 eb 04             	sub    $0x4,%ebx
479e70:	76 14                	jbe    0x479e86
479e72:	8d b0 ff fe fe fe    	lea    -0x1010101(%eax),%esi
479e78:	83 c2 04             	add    $0x4,%edx
479e7b:	f7 d0                	not    %eax
479e7d:	23 c6                	and    %esi,%eax
479e7f:	a9 80 80 80 80       	test   $0x80808080,%eax
479e84:	74 d1                	je     0x479e57
479e86:	33 c0                	xor    %eax,%eax
479e88:	5e                   	pop    %esi
479e89:	5b                   	pop    %ebx
479e8a:	c3                   	ret
479e8b:	eb 03                	jmp    0x479e90
479e8d:	cc                   	int3
479e8e:	cc                   	int3
479e8f:	cc                   	int3
479e90:	1b c0                	sbb    %eax,%eax
479e92:	83 c8 01             	or     $0x1,%eax
479e95:	5e                   	pop    %esi
479e96:	5b                   	pop    %ebx
479e97:	c3                   	ret
479e98:	8b ff                	mov    %edi,%edi
479e9a:	55                   	push   %ebp
479e9b:	8b ec                	mov    %esp,%ebp
479e9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
479ea0:	33 c0                	xor    %eax,%eax
479ea2:	3b 0c c5 10 1b 4a 00 	cmp    0x4a1b10(,%eax,8),%ecx
479ea9:	74 27                	je     0x479ed2
479eab:	40                   	inc    %eax
479eac:	83 f8 2d             	cmp    $0x2d,%eax
479eaf:	72 f1                	jb     0x479ea2
479eb1:	8d 41 ed             	lea    -0x13(%ecx),%eax
479eb4:	83 f8 11             	cmp    $0x11,%eax
479eb7:	77 05                	ja     0x479ebe
479eb9:	6a 0d                	push   $0xd
479ebb:	58                   	pop    %eax
479ebc:	5d                   	pop    %ebp
479ebd:	c3                   	ret
479ebe:	8d 81 44 ff ff ff    	lea    -0xbc(%ecx),%eax
479ec4:	6a 0e                	push   $0xe
479ec6:	59                   	pop    %ecx
479ec7:	3b c8                	cmp    %eax,%ecx
479ec9:	1b c0                	sbb    %eax,%eax
479ecb:	23 c1                	and    %ecx,%eax
479ecd:	83 c0 08             	add    $0x8,%eax
479ed0:	5d                   	pop    %ebp
479ed1:	c3                   	ret
479ed2:	8b 04 c5 14 1b 4a 00 	mov    0x4a1b14(,%eax,8),%eax
479ed9:	5d                   	pop    %ebp
479eda:	c3                   	ret
479edb:	8b ff                	mov    %edi,%edi
479edd:	55                   	push   %ebp
479ede:	8b ec                	mov    %esp,%ebp
479ee0:	56                   	push   %esi
479ee1:	e8 3c 00 00 00       	call   0x479f22
479ee6:	8b 4d 08             	mov    0x8(%ebp),%ecx
479ee9:	51                   	push   %ecx
479eea:	89 08                	mov    %ecx,(%eax)
479eec:	e8 a7 ff ff ff       	call   0x479e98
479ef1:	59                   	pop    %ecx
479ef2:	8b f0                	mov    %eax,%esi
479ef4:	e8 3c 00 00 00       	call   0x479f35
479ef9:	89 30                	mov    %esi,(%eax)
479efb:	5e                   	pop    %esi
479efc:	5d                   	pop    %ebp
479efd:	c3                   	ret
479efe:	8b ff                	mov    %edi,%edi
479f00:	55                   	push   %ebp
479f01:	8b ec                	mov    %esp,%ebp
479f03:	8b 45 08             	mov    0x8(%ebp),%eax
479f06:	56                   	push   %esi
479f07:	8b 75 0c             	mov    0xc(%ebp),%esi
479f0a:	50                   	push   %eax
479f0b:	c6 46 24 01          	movb   $0x1,0x24(%esi)
479f0f:	89 46 20             	mov    %eax,0x20(%esi)
479f12:	e8 81 ff ff ff       	call   0x479e98
479f17:	59                   	pop    %ecx
479f18:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
479f1c:	89 46 18             	mov    %eax,0x18(%esi)
479f1f:	5e                   	pop    %esi
479f20:	5d                   	pop    %ebp
479f21:	c3                   	ret
479f22:	e8 e3 cc 00 00       	call   0x486c0a
479f27:	85 c0                	test   %eax,%eax
479f29:	75 06                	jne    0x479f31
479f2b:	b8 44 41 4c 00       	mov    $0x4c4144,%eax
479f30:	c3                   	ret
479f31:	83 c0 14             	add    $0x14,%eax
479f34:	c3                   	ret
479f35:	e8 d0 cc 00 00       	call   0x486c0a
479f3a:	85 c0                	test   %eax,%eax
479f3c:	75 06                	jne    0x479f44
479f3e:	b8 40 41 4c 00       	mov    $0x4c4140,%eax
479f43:	c3                   	ret
479f44:	83 c0 10             	add    $0x10,%eax
479f47:	c3                   	ret
479f48:	8b ff                	mov    %edi,%edi
479f4a:	55                   	push   %ebp
479f4b:	8b ec                	mov    %esp,%ebp
479f4d:	83 ec 14             	sub    $0x14,%esp
479f50:	53                   	push   %ebx
479f51:	8b 5d 10             	mov    0x10(%ebp),%ebx
479f54:	56                   	push   %esi
479f55:	57                   	push   %edi
479f56:	85 db                	test   %ebx,%ebx
479f58:	74 1d                	je     0x479f77
479f5a:	8b 75 14             	mov    0x14(%ebp),%esi
479f5d:	85 f6                	test   %esi,%esi
479f5f:	74 16                	je     0x479f77
479f61:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
479f65:	75 17                	jne    0x479f7e
479f67:	e8 c9 ff ff ff       	call   0x479f35
479f6c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
479f72:	e8 aa f6 ff ff       	call   0x479621
479f77:	33 c0                	xor    %eax,%eax
479f79:	5f                   	pop    %edi
479f7a:	5e                   	pop    %esi
479f7b:	5b                   	pop    %ebx
479f7c:	c9                   	leave
479f7d:	c3                   	ret
479f7e:	8b 4d 18             	mov    0x18(%ebp),%ecx
479f81:	8b 7d 0c             	mov    0xc(%ebp),%edi
479f84:	85 c9                	test   %ecx,%ecx
479f86:	74 0b                	je     0x479f93
479f88:	83 c8 ff             	or     $0xffffffff,%eax
479f8b:	33 d2                	xor    %edx,%edx
479f8d:	f7 f3                	div    %ebx
479f8f:	3b f0                	cmp    %eax,%esi
479f91:	76 25                	jbe    0x479fb8
479f93:	83 ff ff             	cmp    $0xffffffff,%edi
479f96:	74 11                	je     0x479fa9
479f98:	57                   	push   %edi
479f99:	6a 00                	push   $0x0
479f9b:	ff 75 08             	push   0x8(%ebp)
479f9e:	e8 0d 1c ff ff       	call   0x46bbb0
479fa3:	8b 4d 18             	mov    0x18(%ebp),%ecx
479fa6:	83 c4 0c             	add    $0xc,%esp
479fa9:	85 c9                	test   %ecx,%ecx
479fab:	74 ba                	je     0x479f67
479fad:	83 c8 ff             	or     $0xffffffff,%eax
479fb0:	33 d2                	xor    %edx,%edx
479fb2:	f7 f3                	div    %ebx
479fb4:	3b f0                	cmp    %eax,%esi
479fb6:	77 af                	ja     0x479f67
479fb8:	8d 41 0c             	lea    0xc(%ecx),%eax
479fbb:	89 45 ec             	mov    %eax,-0x14(%ebp)
479fbe:	8b 00                	mov    (%eax),%eax
479fc0:	90                   	nop
479fc1:	a9 c0 04 00 00       	test   $0x4c0,%eax
479fc6:	74 08                	je     0x479fd0
479fc8:	8b 41 18             	mov    0x18(%ecx),%eax
479fcb:	89 45 f4             	mov    %eax,-0xc(%ebp)
479fce:	eb 07                	jmp    0x479fd7
479fd0:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
479fd7:	8b 45 08             	mov    0x8(%ebp),%eax
479fda:	8b f3                	mov    %ebx,%esi
479fdc:	0f af 75 14          	imul   0x14(%ebp),%esi
479fe0:	8b d7                	mov    %edi,%edx
479fe2:	89 45 f0             	mov    %eax,-0x10(%ebp)
479fe5:	8b de                	mov    %esi,%ebx
479fe7:	85 f6                	test   %esi,%esi
479fe9:	e9 e4 00 00 00       	jmp    0x47a0d2
479fee:	8b 41 0c             	mov    0xc(%ecx),%eax
479ff1:	90                   	nop
479ff2:	a9 c0 04 00 00       	test   $0x4c0,%eax
479ff7:	74 47                	je     0x47a040
479ff9:	8b 41 08             	mov    0x8(%ecx),%eax
479ffc:	89 45 f8             	mov    %eax,-0x8(%ebp)
479fff:	85 c0                	test   %eax,%eax
47a001:	74 3d                	je     0x47a040
47a003:	0f 88 fd 00 00 00    	js     0x47a106
47a009:	3b d8                	cmp    %eax,%ebx
47a00b:	73 05                	jae    0x47a012
47a00d:	8b c3                	mov    %ebx,%eax
47a00f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47a012:	3b c2                	cmp    %edx,%eax
47a014:	0f 87 c9 00 00 00    	ja     0x47a0e3
47a01a:	50                   	push   %eax
47a01b:	ff 31                	push   (%ecx)
47a01d:	52                   	push   %edx
47a01e:	ff 75 f0             	push   -0x10(%ebp)
47a021:	e8 b5 01 00 00       	call   0x47a1db
47a026:	8b 4d 18             	mov    0x18(%ebp),%ecx
47a029:	83 c4 10             	add    $0x10,%esp
47a02c:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a02f:	2b d8                	sub    %eax,%ebx
47a031:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a034:	29 41 08             	sub    %eax,0x8(%ecx)
47a037:	01 01                	add    %eax,(%ecx)
47a039:	2b d0                	sub    %eax,%edx
47a03b:	e9 8d 00 00 00       	jmp    0x47a0cd
47a040:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
47a043:	72 62                	jb     0x47a0a7
47a045:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47a04a:	3b d8                	cmp    %eax,%ebx
47a04c:	76 05                	jbe    0x47a053
47a04e:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a051:	eb 05                	jmp    0x47a058
47a053:	8b c3                	mov    %ebx,%eax
47a055:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47a058:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
47a05c:	74 0d                	je     0x47a06b
47a05e:	33 d2                	xor    %edx,%edx
47a060:	f7 75 f4             	divl   -0xc(%ebp)
47a063:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a066:	2b c2                	sub    %edx,%eax
47a068:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a06b:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a06e:	3b c2                	cmp    %edx,%eax
47a070:	77 71                	ja     0x47a0e3
47a072:	ff 75 f8             	push   -0x8(%ebp)
47a075:	8b 41 04             	mov    0x4(%ecx),%eax
47a078:	ff 75 f0             	push   -0x10(%ebp)
47a07b:	83 61 08 00          	andl   $0x0,0x8(%ecx)
47a07f:	51                   	push   %ecx
47a080:	89 01                	mov    %eax,(%ecx)
47a082:	e8 ab c6 00 00       	call   0x486732
47a087:	59                   	pop    %ecx
47a088:	50                   	push   %eax
47a089:	e8 94 f2 00 00       	call   0x489322
47a08e:	83 c4 0c             	add    $0xc,%esp
47a091:	85 c0                	test   %eax,%eax
47a093:	0f 84 84 00 00 00    	je     0x47a11d
47a099:	78 6b                	js     0x47a106
47a09b:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a09e:	2b d8                	sub    %eax,%ebx
47a0a0:	8b 4d 18             	mov    0x18(%ebp),%ecx
47a0a3:	2b d0                	sub    %eax,%edx
47a0a5:	eb 26                	jmp    0x47a0cd
47a0a7:	51                   	push   %ecx
47a0a8:	e8 85 e2 00 00       	call   0x488332
47a0ad:	59                   	pop    %ecx
47a0ae:	83 f8 ff             	cmp    $0xffffffff,%eax
47a0b1:	74 5c                	je     0x47a10f
47a0b3:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a0b6:	85 d2                	test   %edx,%edx
47a0b8:	74 29                	je     0x47a0e3
47a0ba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47a0bd:	4b                   	dec    %ebx
47a0be:	4a                   	dec    %edx
47a0bf:	88 01                	mov    %al,(%ecx)
47a0c1:	8b 4d 18             	mov    0x18(%ebp),%ecx
47a0c4:	8b 41 18             	mov    0x18(%ecx),%eax
47a0c7:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a0ca:	33 c0                	xor    %eax,%eax
47a0cc:	40                   	inc    %eax
47a0cd:	01 45 f0             	add    %eax,-0x10(%ebp)
47a0d0:	85 db                	test   %ebx,%ebx
47a0d2:	89 55 fc             	mov    %edx,-0x4(%ebp)
47a0d5:	0f 85 13 ff ff ff    	jne    0x479fee
47a0db:	8b 45 14             	mov    0x14(%ebp),%eax
47a0de:	e9 96 fe ff ff       	jmp    0x479f79
47a0e3:	83 ff ff             	cmp    $0xffffffff,%edi
47a0e6:	74 0e                	je     0x47a0f6
47a0e8:	57                   	push   %edi
47a0e9:	6a 00                	push   $0x0
47a0eb:	ff 75 08             	push   0x8(%ebp)
47a0ee:	e8 bd 1a ff ff       	call   0x46bbb0
47a0f3:	83 c4 0c             	add    $0xc,%esp
47a0f6:	e8 3a fe ff ff       	call   0x479f35
47a0fb:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47a101:	e9 6c fe ff ff       	jmp    0x479f72
47a106:	6a 10                	push   $0x10
47a108:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a10b:	59                   	pop    %ecx
47a10c:	f0 09 08             	lock or %ecx,(%eax)
47a10f:	2b f3                	sub    %ebx,%esi
47a111:	33 d2                	xor    %edx,%edx
47a113:	8b c6                	mov    %esi,%eax
47a115:	f7 75 10             	divl   0x10(%ebp)
47a118:	e9 5c fe ff ff       	jmp    0x479f79
47a11d:	6a 08                	push   $0x8
47a11f:	eb e7                	jmp    0x47a108
47a121:	8b ff                	mov    %edi,%edi
47a123:	55                   	push   %ebp
47a124:	8b ec                	mov    %esp,%ebp
47a126:	ff 75 14             	push   0x14(%ebp)
47a129:	ff 75 10             	push   0x10(%ebp)
47a12c:	ff 75 0c             	push   0xc(%ebp)
47a12f:	6a ff                	push   $0xffffffff
47a131:	ff 75 08             	push   0x8(%ebp)
47a134:	e8 05 00 00 00       	call   0x47a13e
47a139:	83 c4 14             	add    $0x14,%esp
47a13c:	5d                   	pop    %ebp
47a13d:	c3                   	ret
47a13e:	6a 0c                	push   $0xc
47a140:	68 e8 16 4c 00       	push   $0x4c16e8
47a145:	e8 f6 05 ff ff       	call   0x46a740
47a14a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
47a14e:	74 32                	je     0x47a182
47a150:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47a154:	74 2c                	je     0x47a182
47a156:	8b 75 18             	mov    0x18(%ebp),%esi
47a159:	85 f6                	test   %esi,%esi
47a15b:	75 37                	jne    0x47a194
47a15d:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
47a161:	74 0f                	je     0x47a172
47a163:	ff 75 0c             	push   0xc(%ebp)
47a166:	56                   	push   %esi
47a167:	ff 75 08             	push   0x8(%ebp)
47a16a:	e8 41 1a ff ff       	call   0x46bbb0
47a16f:	83 c4 0c             	add    $0xc,%esp
47a172:	e8 be fd ff ff       	call   0x479f35
47a177:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a17d:	e8 9f f4 ff ff       	call   0x479621
47a182:	33 c0                	xor    %eax,%eax
47a184:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47a187:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
47a18e:	59                   	pop    %ecx
47a18f:	5f                   	pop    %edi
47a190:	5e                   	pop    %esi
47a191:	5b                   	pop    %ebx
47a192:	c9                   	leave
47a193:	c3                   	ret
47a194:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
47a198:	56                   	push   %esi
47a199:	e8 4e fc ff ff       	call   0x479dec
47a19e:	59                   	pop    %ecx
47a19f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47a1a3:	56                   	push   %esi
47a1a4:	ff 75 14             	push   0x14(%ebp)
47a1a7:	ff 75 10             	push   0x10(%ebp)
47a1aa:	ff 75 0c             	push   0xc(%ebp)
47a1ad:	ff 75 08             	push   0x8(%ebp)
47a1b0:	e8 93 fd ff ff       	call   0x479f48
47a1b5:	83 c4 14             	add    $0x14,%esp
47a1b8:	8b f8                	mov    %eax,%edi
47a1ba:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47a1bd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
47a1c4:	e8 0a 00 00 00       	call   0x47a1d3
47a1c9:	8b c7                	mov    %edi,%eax
47a1cb:	eb b7                	jmp    0x47a184
47a1cd:	8b 75 18             	mov    0x18(%ebp),%esi
47a1d0:	8b 7d e4             	mov    -0x1c(%ebp),%edi
47a1d3:	56                   	push   %esi
47a1d4:	e8 27 fc ff ff       	call   0x479e00
47a1d9:	59                   	pop    %ecx
47a1da:	c3                   	ret
47a1db:	8b ff                	mov    %edi,%edi
47a1dd:	55                   	push   %ebp
47a1de:	8b ec                	mov    %esp,%ebp
47a1e0:	56                   	push   %esi
47a1e1:	8b 75 14             	mov    0x14(%ebp),%esi
47a1e4:	85 f6                	test   %esi,%esi
47a1e6:	75 04                	jne    0x47a1ec
47a1e8:	33 c0                	xor    %eax,%eax
47a1ea:	eb 6d                	jmp    0x47a259