476eb7:	80 e2 fc             	and    $0xfc,%dl
476eba:	8b c6                	mov    %esi,%eax
476ebc:	e8 af 1c fa ff       	call   0x418b70
476ec1:	84 db                	test   %bl,%bl
476ec3:	7e 07                	jle    0x476ecc
476ec5:	8b c6                	mov    %esi,%eax
476ec7:	e8 c4 cd f8 ff       	call   0x403c90
476ecc:	5e                   	pop    %esi
476ecd:	5b                   	pop    %ebx
476ece:	c3                   	ret
476ecf:	90                   	nop
476ed0:	53                   	push   %ebx
476ed1:	56                   	push   %esi
476ed2:	57                   	push   %edi
476ed3:	83 c4 f8             	add    $0xfffffff8,%esp
476ed6:	8b d8                	mov    %eax,%ebx
476ed8:	8b f4                	mov    %esp,%esi
476eda:	8d 7c 24 04          	lea    0x4(%esp),%edi
476ede:	90                   	nop
476edf:	90                   	nop
476ee0:	90                   	nop
476ee1:	90                   	nop
476ee2:	90                   	nop
476ee3:	90                   	nop
476ee4:	90                   	nop
476ee5:	90                   	nop
476ee6:	90                   	nop
476ee7:	90                   	nop
476ee8:	90                   	nop
476ee9:	90                   	nop
476eea:	90                   	nop
476eeb:	90                   	nop
476eec:	90                   	nop
476eed:	8b c3                	mov    %ebx,%eax
476eef:	e8 d4 f6 ff ff       	call   0x4765c8
476ef4:	80 7b 24 00          	cmpb   $0x0,0x24(%ebx)
476ef8:	0f 85 dc 07 00 00    	jne    0x4776da
476efe:	90                   	nop
476eff:	90                   	nop
476f00:	90                   	nop
476f01:	90                   	nop
476f02:	90                   	nop
476f03:	33 d2                	xor    %edx,%edx
476f05:	8b 43 2c             	mov    0x2c(%ebx),%eax
476f08:	e8 1f 20 fa ff       	call   0x418f2c
476f0d:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
476f13:	e8 b4 cb f8 ff       	call   0x403acc
476f18:	0f b7 50 18          	movzwl 0x18(%eax),%edx
476f1c:	52                   	push   %edx
476f1d:	ff 70 14             	push   0x14(%eax)
476f20:	ff 70 10             	push   0x10(%eax)
476f23:	0f b7 50 22          	movzwl 0x22(%eax),%edx
476f27:	52                   	push   %edx
476f28:	ff 70 1e             	push   0x1e(%eax)
476f2b:	ff 70 1a             	push   0x1a(%eax)
476f2e:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
476f32:	52                   	push   %edx
476f33:	ff 70 28             	push   0x28(%eax)
476f36:	ff 70 24             	push   0x24(%eax)
476f39:	8b cf                	mov    %edi,%ecx
476f3b:	8b d6                	mov    %esi,%edx
476f3d:	8b 43 0c             	mov    0xc(%ebx),%eax
476f40:	e8 6f 1b 00 00       	call   0x478ab4
476f45:	8b 43 0c             	mov    0xc(%ebx),%eax
476f48:	8b 40 04             	mov    0x4(%eax),%eax
476f4b:	8b 0f                	mov    (%edi),%ecx
476f4d:	8b 16                	mov    (%esi),%edx
476f4f:	e8 18 de fa ff       	call   0x424d6c
476f54:	ba 01 00 00 00       	mov    $0x1,%edx
476f59:	8b 43 2c             	mov    0x2c(%ebx),%eax
476f5c:	e8 cb 1f fa ff       	call   0x418f2c
476f61:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
476f67:	e8 60 cb f8 ff       	call   0x403acc
476f6c:	0f b7 50 18          	movzwl 0x18(%eax),%edx
476f70:	52                   	push   %edx
476f71:	ff 70 14             	push   0x14(%eax)
476f74:	ff 70 10             	push   0x10(%eax)
476f77:	0f b7 50 22          	movzwl 0x22(%eax),%edx
476f7b:	52                   	push   %edx
476f7c:	ff 70 1e             	push   0x1e(%eax)
476f7f:	ff 70 1a             	push   0x1a(%eax)
476f82:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
476f86:	52                   	push   %edx
476f87:	ff 70 28             	push   0x28(%eax)
476f8a:	ff 70 24             	push   0x24(%eax)
476f8d:	8b cf                	mov    %edi,%ecx
476f8f:	8b d6                	mov    %esi,%edx
476f91:	8b 43 0c             	mov    0xc(%ebx),%eax
476f94:	e8 1b 1b 00 00       	call   0x478ab4
476f99:	8b 43 0c             	mov    0xc(%ebx),%eax
476f9c:	8b 40 04             	mov    0x4(%eax),%eax
476f9f:	8b 0f                	mov    (%edi),%ecx
476fa1:	8b 16                	mov    (%esi),%edx
476fa3:	e8 64 dd fa ff       	call   0x424d0c
476fa8:	33 d2                	xor    %edx,%edx
476faa:	8b 43 2c             	mov    0x2c(%ebx),%eax
476fad:	e8 7a 1f fa ff       	call   0x418f2c
476fb2:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
476fb8:	e8 0f cb f8 ff       	call   0x403acc
476fbd:	0f b7 50 18          	movzwl 0x18(%eax),%edx
476fc1:	52                   	push   %edx
476fc2:	ff 70 14             	push   0x14(%eax)
476fc5:	ff 70 10             	push   0x10(%eax)
476fc8:	0f b7 50 22          	movzwl 0x22(%eax),%edx
476fcc:	52                   	push   %edx
476fcd:	ff 70 1e             	push   0x1e(%eax)
476fd0:	ff 70 1a             	push   0x1a(%eax)
476fd3:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
476fd7:	52                   	push   %edx
476fd8:	ff 70 28             	push   0x28(%eax)
476fdb:	ff 70 24             	push   0x24(%eax)
476fde:	8b cf                	mov    %edi,%ecx
476fe0:	8b d6                	mov    %esi,%edx
476fe2:	8b 43 0c             	mov    0xc(%ebx),%eax
476fe5:	e8 ca 1a 00 00       	call   0x478ab4
476fea:	8b 43 0c             	mov    0xc(%ebx),%eax
476fed:	8b 40 04             	mov    0x4(%eax),%eax
476ff0:	8b 0f                	mov    (%edi),%ecx
476ff2:	8b 16                	mov    (%esi),%edx
476ff4:	e8 73 dd fa ff       	call   0x424d6c
476ff9:	ba 04 00 00 00       	mov    $0x4,%edx
476ffe:	8b 43 2c             	mov    0x2c(%ebx),%eax
477001:	e8 26 1f fa ff       	call   0x418f2c
477006:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
47700c:	e8 bb ca f8 ff       	call   0x403acc
477011:	0f b7 50 18          	movzwl 0x18(%eax),%edx
477015:	52                   	push   %edx
477016:	ff 70 14             	push   0x14(%eax)
477019:	ff 70 10             	push   0x10(%eax)
47701c:	0f b7 50 22          	movzwl 0x22(%eax),%edx
477020:	52                   	push   %edx
477021:	ff 70 1e             	push   0x1e(%eax)
477024:	ff 70 1a             	push   0x1a(%eax)
477027:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
47702b:	52                   	push   %edx
47702c:	ff 70 28             	push   0x28(%eax)
47702f:	ff 70 24             	push   0x24(%eax)
477032:	8b cf                	mov    %edi,%ecx
477034:	8b d6                	mov    %esi,%edx
477036:	8b 43 0c             	mov    0xc(%ebx),%eax
477039:	e8 76 1a 00 00       	call   0x478ab4
47703e:	8b 43 0c             	mov    0xc(%ebx),%eax
477041:	8b 40 04             	mov    0x4(%eax),%eax
477044:	8b 0f                	mov    (%edi),%ecx
477046:	8b 16                	mov    (%esi),%edx
477048:	e8 bf dc fa ff       	call   0x424d0c
47704d:	ba 01 00 00 00       	mov    $0x1,%edx
477052:	8b 43 2c             	mov    0x2c(%ebx),%eax
477055:	e8 d2 1e fa ff       	call   0x418f2c
47705a:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
477060:	e8 67 ca f8 ff       	call   0x403acc
477065:	0f b7 50 18          	movzwl 0x18(%eax),%edx
477069:	52                   	push   %edx
47706a:	ff 70 14             	push   0x14(%eax)
47706d:	ff 70 10             	push   0x10(%eax)
477070:	0f b7 50 22          	movzwl 0x22(%eax),%edx
477074:	52                   	push   %edx
477075:	ff 70 1e             	push   0x1e(%eax)
477078:	ff 70 1a             	push   0x1a(%eax)
47707b:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
47707f:	52                   	push   %edx
477080:	ff 70 28             	push   0x28(%eax)
477083:	ff 70 24             	push   0x24(%eax)
477086:	8b cf                	mov    %edi,%ecx
477088:	8b d6                	mov    %esi,%edx
47708a:	8b 43 0c             	mov    0xc(%ebx),%eax
47708d:	e8 22 1a 00 00       	call   0x478ab4
477092:	8b 43 0c             	mov    0xc(%ebx),%eax
477095:	8b 40 04             	mov    0x4(%eax),%eax
477098:	8b 0f                	mov    (%edi),%ecx
47709a:	8b 16                	mov    (%esi),%edx
47709c:	e8 cb dc fa ff       	call   0x424d6c
4770a1:	ba 02 00 00 00       	mov    $0x2,%edx
4770a6:	8b 43 2c             	mov    0x2c(%ebx),%eax
4770a9:	e8 7e 1e fa ff       	call   0x418f2c
4770ae:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
4770b4:	e8 13 ca f8 ff       	call   0x403acc
4770b9:	0f b7 50 18          	movzwl 0x18(%eax),%edx
4770bd:	52                   	push   %edx
4770be:	ff 70 14             	push   0x14(%eax)
4770c1:	ff 70 10             	push   0x10(%eax)
4770c4:	0f b7 50 22          	movzwl 0x22(%eax),%edx
4770c8:	52                   	push   %edx
4770c9:	ff 70 1e             	push   0x1e(%eax)
4770cc:	ff 70 1a             	push   0x1a(%eax)
4770cf:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
4770d3:	52                   	push   %edx
4770d4:	ff 70 28             	push   0x28(%eax)
4770d7:	ff 70 24             	push   0x24(%eax)
4770da:	8b cf                	mov    %edi,%ecx
4770dc:	8b d6                	mov    %esi,%edx
4770de:	8b 43 0c             	mov    0xc(%ebx),%eax
4770e1:	e8 ce 19 00 00       	call   0x478ab4
4770e6:	8b 43 0c             	mov    0xc(%ebx),%eax
4770e9:	8b 40 04             	mov    0x4(%eax),%eax
4770ec:	8b 0f                	mov    (%edi),%ecx
4770ee:	8b 16                	mov    (%esi),%edx
4770f0:	e8 17 dc fa ff       	call   0x424d0c
4770f5:	ba 01 00 00 00       	mov    $0x1,%edx
4770fa:	8b 43 2c             	mov    0x2c(%ebx),%eax
4770fd:	e8 2a 1e fa ff       	call   0x418f2c
477102:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
477108:	e8 bf c9 f8 ff       	call   0x403acc
47710d:	0f b7 50 18          	movzwl 0x18(%eax),%edx
477111:	52                   	push   %edx
477112:	ff 70 14             	push   0x14(%eax)
477115:	ff 70 10             	push   0x10(%eax)
477118:	0f b7 50 22          	movzwl 0x22(%eax),%edx
47711c:	52                   	push   %edx
47711d:	ff 70 1e             	push   0x1e(%eax)
477120:	ff 70 1a             	push   0x1a(%eax)
477123:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
477127:	52                   	push   %edx
477128:	ff 70 28             	push   0x28(%eax)
47712b:	ff 70 24             	push   0x24(%eax)
47712e:	8b cf                	mov    %edi,%ecx
477130:	8b d6                	mov    %esi,%edx
477132:	8b 43 0c             	mov    0xc(%ebx),%eax
477135:	e8 7a 19 00 00       	call   0x478ab4
47713a:	8b 43 0c             	mov    0xc(%ebx),%eax
47713d:	8b 40 04             	mov    0x4(%eax),%eax
477140:	8b 0f                	mov    (%edi),%ecx
477142:	8b 16                	mov    (%esi),%edx
477144:	e8 23 dc fa ff       	call   0x424d6c
477149:	ba 05 00 00 00       	mov    $0x5,%edx
47714e:	8b 43 2c             	mov    0x2c(%ebx),%eax
477151:	e8 d6 1d fa ff       	call   0x418f2c
477156:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
47715c:	e8 6b c9 f8 ff       	call   0x403acc
477161:	0f b7 50 18          	movzwl 0x18(%eax),%edx
477165:	52                   	push   %edx
477166:	ff 70 14             	push   0x14(%eax)
477169:	ff 70 10             	push   0x10(%eax)
47716c:	0f b7 50 22          	movzwl 0x22(%eax),%edx
477170:	52                   	push   %edx
477171:	ff 70 1e             	push   0x1e(%eax)
477174:	ff 70 1a             	push   0x1a(%eax)
477177:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
47717b:	52                   	push   %edx
47717c:	ff 70 28             	push   0x28(%eax)
47717f:	ff 70 24             	push   0x24(%eax)
477182:	8b cf                	mov    %edi,%ecx
477184:	8b d6                	mov    %esi,%edx
477186:	8b 43 0c             	mov    0xc(%ebx),%eax
477189:	e8 26 19 00 00       	call   0x478ab4
47718e:	8b 43 0c             	mov    0xc(%ebx),%eax
477191:	8b 40 04             	mov    0x4(%eax),%eax
477194:	8b 0f                	mov    (%edi),%ecx
477196:	8b 16                	mov    (%esi),%edx
477198:	e8 6f db fa ff       	call   0x424d0c
47719d:	ba 02 00 00 00       	mov    $0x2,%edx
4771a2:	8b 43 2c             	mov    0x2c(%ebx),%eax
4771a5:	e8 82 1d fa ff       	call   0x418f2c
4771aa:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
4771b0:	e8 17 c9 f8 ff       	call   0x403acc
4771b5:	0f b7 50 18          	movzwl 0x18(%eax),%edx
4771b9:	52                   	push   %edx
4771ba:	ff 70 14             	push   0x14(%eax)
4771bd:	ff 70 10             	push   0x10(%eax)
4771c0:	0f b7 50 22          	movzwl 0x22(%eax),%edx
4771c4:	52                   	push   %edx
4771c5:	ff 70 1e             	push   0x1e(%eax)
4771c8:	ff 70 1a             	push   0x1a(%eax)
4771cb:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
4771cf:	52                   	push   %edx
4771d0:	ff 70 28             	push   0x28(%eax)
4771d3:	ff 70 24             	push   0x24(%eax)
4771d6:	8b cf                	mov    %edi,%ecx
4771d8:	8b d6                	mov    %esi,%edx
4771da:	8b 43 0c             	mov    0xc(%ebx),%eax
4771dd:	e8 d2 18 00 00       	call   0x478ab4
4771e2:	8b 43 0c             	mov    0xc(%ebx),%eax
4771e5:	8b 40 04             	mov    0x4(%eax),%eax
4771e8:	8b 0f                	mov    (%edi),%ecx
4771ea:	8b 16                	mov    (%esi),%edx
4771ec:	e8 7b db fa ff       	call   0x424d6c
4771f1:	ba 03 00 00 00       	mov    $0x3,%edx
4771f6:	8b 43 2c             	mov    0x2c(%ebx),%eax
4771f9:	e8 2e 1d fa ff       	call   0x418f2c
4771fe:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
477204:	e8 c3 c8 f8 ff       	call   0x403acc
477209:	0f b7 50 18          	movzwl 0x18(%eax),%edx
47720d:	52                   	push   %edx
47720e:	ff 70 14             	push   0x14(%eax)
477211:	ff 70 10             	push   0x10(%eax)
477214:	0f b7 50 22          	movzwl 0x22(%eax),%edx
477218:	52                   	push   %edx
477219:	ff 70 1e             	push   0x1e(%eax)
47721c:	ff 70 1a             	push   0x1a(%eax)
47721f:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
477223:	52                   	push   %edx
477224:	ff 70 28             	push   0x28(%eax)
477227:	ff 70 24             	push   0x24(%eax)
47722a:	8b cf                	mov    %edi,%ecx
47722c:	8b d6                	mov    %esi,%edx
47722e:	8b 43 0c             	mov    0xc(%ebx),%eax
477231:	e8 7e 18 00 00       	call   0x478ab4
477236:	8b 43 0c             	mov    0xc(%ebx),%eax
477239:	8b 40 04             	mov    0x4(%eax),%eax
47723c:	8b 0f                	mov    (%edi),%ecx
47723e:	8b 16                	mov    (%esi),%edx
477240:	e8 c7 da fa ff       	call   0x424d0c
477245:	ba 02 00 00 00       	mov    $0x2,%edx
47724a:	8b 43 2c             	mov    0x2c(%ebx),%eax
47724d:	e8 da 1c fa ff       	call   0x418f2c
477252:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
477258:	e8 6f c8 f8 ff       	call   0x403acc
47725d:	0f b7 50 18          	movzwl 0x18(%eax),%edx
477261:	52                   	push   %edx
477262:	ff 70 14             	push   0x14(%eax)
477265:	ff 70 10             	push   0x10(%eax)
477268:	0f b7 50 22          	movzwl 0x22(%eax),%edx
47726c:	52                   	push   %edx
47726d:	ff 70 1e             	push   0x1e(%eax)
477270:	ff 70 1a             	push   0x1a(%eax)
477273:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
477277:	52                   	push   %edx
477278:	ff 70 28             	push   0x28(%eax)
47727b:	ff 70 24             	push   0x24(%eax)
47727e:	8b cf                	mov    %edi,%ecx
477280:	8b d6                	mov    %esi,%edx
477282:	8b 43 0c             	mov    0xc(%ebx),%eax
477285:	e8 2a 18 00 00       	call   0x478ab4
47728a:	8b 43 0c             	mov    0xc(%ebx),%eax
47728d:	8b 40 04             	mov    0x4(%eax),%eax
477290:	8b 0f                	mov    (%edi),%ecx
477292:	8b 16                	mov    (%esi),%edx
477294:	e8 d3 da fa ff       	call   0x424d6c
477299:	ba 06 00 00 00       	mov    $0x6,%edx
47729e:	8b 43 2c             	mov    0x2c(%ebx),%eax
4772a1:	e8 86 1c fa ff       	call   0x418f2c
4772a6:	8b 15 c0 24 47 00    	mov    0x4724c0,%edx
4772ac:	e8 1b c8 f8 ff       	call   0x403acc
4772b1:	0f b7 50 18          	movzwl 0x18(%eax),%edx
4772b5:	52                   	push   %edx
4772b6:	ff 70 14             	push   0x14(%eax)
4772b9:	ff 70 10             	push   0x10(%eax)
4772bc:	0f b7 50 22          	movzwl 0x22(%eax),%edx
4772c0:	52                   	push   %edx
4772c1:	ff 70 1e             	push   0x1e(%eax)
4772c4:	ff 70 1a             	push   0x1a(%eax)
4772c7:	0f b7 50 2c          	movzwl 0x2c(%eax),%edx
4772cb:	52                   	push   %edx
4772cc:	ff 70 28             	push   0x28(%eax)
4772cf:	ff 70 24             	push   0x24(%eax)
4772d2:	8b cf                	mov    %edi,%ecx
4772d4:	8b d6                	mov    %esi,%edx
4772d6:	8b 43 0c             	mov    0xc(%ebx),%eax
4772d9:	e8 d6 17 00 00       	call   0x478ab4
4772de:	8b 43 0c             	mov    0xc(%ebx),%eax