41e081:	80 e2 fc             	and    $0xfc,%dl
41e084:	8b c6                	mov    %esi,%eax
41e086:	e8 91 f1 ff ff       	call   0x41d21c
41e08b:	8b 46 14             	mov    0x14(%esi),%eax
41e08e:	85 c0                	test   %eax,%eax
41e090:	74 10                	je     0x41e0a2
41e092:	8b c8                	mov    %eax,%ecx
41e094:	8b 46 10             	mov    0x10(%esi),%eax
41e097:	8b 15 64 9a 41 00    	mov    0x419a64,%edx
41e09d:	e8 be 73 fe ff       	call   0x405460
41e0a2:	33 c0                	xor    %eax,%eax
41e0a4:	89 46 14             	mov    %eax,0x14(%esi)
41e0a7:	33 d2                	xor    %edx,%edx
41e0a9:	8b c6                	mov    %esi,%eax
41e0ab:	8b 08                	mov    (%eax),%ecx
41e0ad:	ff 51 28             	call   *0x28(%ecx)
41e0b0:	84 db                	test   %bl,%bl
41e0b2:	7e 07                	jle    0x41e0bb
41e0b4:	8b c6                	mov    %esi,%eax
41e0b6:	e8 71 5d fe ff       	call   0x403e2c
41e0bb:	5e                   	pop    %esi
41e0bc:	5b                   	pop    %ebx
41e0bd:	c3                   	ret
41e0be:	8b c0                	mov    %eax,%eax
41e0c0:	53                   	push   %ebx
41e0c1:	33 c9                	xor    %ecx,%ecx
41e0c3:	8b 18                	mov    (%eax),%ebx
41e0c5:	ff 53 3c             	call   *0x3c(%ebx)
41e0c8:	5b                   	pop    %ebx
41e0c9:	c3                   	ret
41e0ca:	8b c0                	mov    %eax,%eax
41e0cc:	53                   	push   %ebx
41e0cd:	56                   	push   %esi
41e0ce:	57                   	push   %edi
41e0cf:	55                   	push   %ebp
41e0d0:	51                   	push   %ecx
41e0d1:	8b f9                	mov    %ecx,%edi
41e0d3:	8b f2                	mov    %edx,%esi
41e0d5:	8b d8                	mov    %eax,%ebx
41e0d7:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e0db:	75 08                	jne    0x41e0e5
41e0dd:	8b 43 14             	mov    0x14(%ebx),%eax
41e0e0:	89 04 24             	mov    %eax,(%esp)
41e0e3:	eb 2e                	jmp    0x41e113
41e0e5:	8b cc                	mov    %esp,%ecx
41e0e7:	8b d6                	mov    %esi,%edx
41e0e9:	8b c3                	mov    %ebx,%eax
41e0eb:	8b 28                	mov    (%eax),%ebp
41e0ed:	ff 95 8c 00 00 00    	call   *0x8c(%ebp)
41e0f3:	84 c0                	test   %al,%al
41e0f5:	74 1c                	je     0x41e113
41e0f7:	8a 43 1d             	mov    0x1d(%ebx),%al
41e0fa:	2c 01                	sub    $0x1,%al
41e0fc:	72 26                	jb     0x41e124
41e0fe:	fe c8                	dec    %al
41e100:	74 02                	je     0x41e104
41e102:	eb 0f                	jmp    0x41e113
41e104:	8b 15 8c 6d 6a 00    	mov    0x6a6d8c,%edx
41e10a:	33 c9                	xor    %ecx,%ecx
41e10c:	8b c3                	mov    %ebx,%eax
41e10e:	e8 7d f4 ff ff       	call   0x41d590
41e113:	57                   	push   %edi
41e114:	8b ce                	mov    %esi,%ecx
41e116:	8b 54 24 04          	mov    0x4(%esp),%edx
41e11a:	8b c3                	mov    %ebx,%eax
41e11c:	8b 18                	mov    (%eax),%ebx
41e11e:	ff 93 88 00 00 00    	call   *0x88(%ebx)
41e124:	8b 04 24             	mov    (%esp),%eax
41e127:	5a                   	pop    %edx
41e128:	5d                   	pop    %ebp
41e129:	5f                   	pop    %edi
41e12a:	5e                   	pop    %esi
41e12b:	5b                   	pop    %ebx
41e12c:	c3                   	ret
41e12d:	8d 40 00             	lea    0x0(%eax),%eax
41e130:	53                   	push   %ebx
41e131:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41e135:	75 11                	jne    0x41e148
41e137:	66 83 78 22 00       	cmpw   $0x0,0x22(%eax)
41e13c:	74 0a                	je     0x41e148
41e13e:	8b d8                	mov    %eax,%ebx
41e140:	8b d0                	mov    %eax,%edx
41e142:	8b 43 24             	mov    0x24(%ebx),%eax
41e145:	ff 53 20             	call   *0x20(%ebx)
41e148:	5b                   	pop    %ebx
41e149:	c3                   	ret
41e14a:	8b c0                	mov    %eax,%eax
41e14c:	53                   	push   %ebx
41e14d:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
41e151:	75 11                	jne    0x41e164
41e153:	66 83 78 2a 00       	cmpw   $0x0,0x2a(%eax)
41e158:	74 0a                	je     0x41e164
41e15a:	8b d8                	mov    %eax,%ebx
41e15c:	8b d0                	mov    %eax,%edx
41e15e:	8b 43 2c             	mov    0x2c(%ebx),%eax
41e161:	ff 53 28             	call   *0x28(%ebx)
41e164:	5b                   	pop    %ebx
41e165:	c3                   	ret
41e166:	8b c0                	mov    %eax,%eax
41e168:	53                   	push   %ebx
41e169:	8b d8                	mov    %eax,%ebx
41e16b:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41e16f:	74 33                	je     0x41e1a4
41e171:	8b c3                	mov    %ebx,%eax
41e173:	8b 10                	mov    (%eax),%edx
41e175:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e17b:	8b 43 10             	mov    0x10(%ebx),%eax
41e17e:	8b 4b 14             	mov    0x14(%ebx),%ecx
41e181:	8b 15 64 9a 41 00    	mov    0x419a64,%edx
41e187:	e8 d4 72 fe ff       	call   0x405460
41e18c:	33 c0                	xor    %eax,%eax
41e18e:	89 43 14             	mov    %eax,0x14(%ebx)
41e191:	33 d2                	xor    %edx,%edx
41e193:	8b c3                	mov    %ebx,%eax
41e195:	8b 08                	mov    (%eax),%ecx
41e197:	ff 51 28             	call   *0x28(%ecx)
41e19a:	8b c3                	mov    %ebx,%eax
41e19c:	8b 10                	mov    (%eax),%edx
41e19e:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e1a4:	5b                   	pop    %ebx
41e1a5:	c3                   	ret
41e1a6:	8b c0                	mov    %eax,%eax
41e1a8:	53                   	push   %ebx
41e1a9:	56                   	push   %esi
41e1aa:	8b f2                	mov    %edx,%esi
41e1ac:	8b d8                	mov    %eax,%ebx
41e1ae:	85 f6                	test   %esi,%esi
41e1b0:	7c 05                	jl     0x41e1b7
41e1b2:	3b 73 14             	cmp    0x14(%ebx),%esi
41e1b5:	7c 0f                	jl     0x41e1c6
41e1b7:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e1bd:	8b ce                	mov    %esi,%ecx
41e1bf:	8b c3                	mov    %ebx,%eax
41e1c1:	e8 ca f3 ff ff       	call   0x41d590
41e1c6:	8b c3                	mov    %ebx,%eax
41e1c8:	8b 10                	mov    (%eax),%edx
41e1ca:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e1d0:	8b 43 10             	mov    0x10(%ebx),%eax
41e1d3:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41e1d6:	8b 15 64 9a 41 00    	mov    0x419a64,%edx
41e1dc:	e8 6b 73 fe ff       	call   0x40554c
41e1e1:	ff 4b 14             	decl   0x14(%ebx)
41e1e4:	8b 43 14             	mov    0x14(%ebx),%eax
41e1e7:	3b f0                	cmp    %eax,%esi
41e1e9:	7d 19                	jge    0x41e204
41e1eb:	2b c6                	sub    %esi,%eax
41e1ed:	8b c8                	mov    %eax,%ecx
41e1ef:	c1 e1 03             	shl    $0x3,%ecx
41e1f2:	8b 43 10             	mov    0x10(%ebx),%eax
41e1f5:	8d 14 f0             	lea    (%eax,%esi,8),%edx
41e1f8:	8b 43 10             	mov    0x10(%ebx),%eax
41e1fb:	8d 44 f0 08          	lea    0x8(%eax,%esi,8),%eax
41e1ff:	e8 1c 48 fe ff       	call   0x402a20
41e204:	8b c3                	mov    %ebx,%eax
41e206:	8b 10                	mov    (%eax),%edx
41e208:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e20e:	5e                   	pop    %esi
41e20f:	5b                   	pop    %ebx
41e210:	c3                   	ret
41e211:	8d 40 00             	lea    0x0(%eax),%eax
41e214:	53                   	push   %ebx
41e215:	56                   	push   %esi
41e216:	57                   	push   %edi
41e217:	8b f9                	mov    %ecx,%edi
41e219:	8b f2                	mov    %edx,%esi
41e21b:	8b d8                	mov    %eax,%ebx
41e21d:	85 f6                	test   %esi,%esi
41e21f:	7c 05                	jl     0x41e226
41e221:	3b 73 14             	cmp    0x14(%ebx),%esi
41e224:	7c 0f                	jl     0x41e235
41e226:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e22c:	8b ce                	mov    %esi,%ecx
41e22e:	8b c3                	mov    %ebx,%eax
41e230:	e8 5b f3 ff ff       	call   0x41d590
41e235:	85 ff                	test   %edi,%edi
41e237:	7c 05                	jl     0x41e23e
41e239:	3b 7b 14             	cmp    0x14(%ebx),%edi
41e23c:	7c 0f                	jl     0x41e24d
41e23e:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e244:	8b cf                	mov    %edi,%ecx
41e246:	8b c3                	mov    %ebx,%eax
41e248:	e8 43 f3 ff ff       	call   0x41d590
41e24d:	8b c3                	mov    %ebx,%eax
41e24f:	8b 10                	mov    (%eax),%edx
41e251:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e257:	8b cf                	mov    %edi,%ecx
41e259:	8b d6                	mov    %esi,%edx
41e25b:	8b c3                	mov    %ebx,%eax
41e25d:	e8 0e 00 00 00       	call   0x41e270
41e262:	8b c3                	mov    %ebx,%eax
41e264:	8b 10                	mov    (%eax),%edx
41e266:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e26c:	5f                   	pop    %edi
41e26d:	5e                   	pop    %esi
41e26e:	5b                   	pop    %ebx
41e26f:	c3                   	ret
41e270:	53                   	push   %ebx
41e271:	8b 58 10             	mov    0x10(%eax),%ebx
41e274:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
41e277:	8b 40 10             	mov    0x10(%eax),%eax
41e27a:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
41e27d:	8b 0a                	mov    (%edx),%ecx
41e27f:	8b 18                	mov    (%eax),%ebx
41e281:	89 1a                	mov    %ebx,(%edx)
41e283:	89 08                	mov    %ecx,(%eax)
41e285:	8b 4a 04             	mov    0x4(%edx),%ecx
41e288:	8b 58 04             	mov    0x4(%eax),%ebx
41e28b:	89 5a 04             	mov    %ebx,0x4(%edx)
41e28e:	89 48 04             	mov    %ecx,0x4(%eax)
41e291:	5b                   	pop    %ebx
41e292:	c3                   	ret
41e293:	90                   	nop
41e294:	53                   	push   %ebx
41e295:	56                   	push   %esi
41e296:	57                   	push   %edi
41e297:	55                   	push   %ebp
41e298:	83 c4 f0             	add    $0xfffffff0,%esp
41e29b:	89 4c 24 04          	mov    %ecx,0x4(%esp)
41e29f:	89 14 24             	mov    %edx,(%esp)
41e2a2:	8b f8                	mov    %eax,%edi
41e2a4:	c6 44 24 08 00       	movb   $0x0,0x8(%esp)
41e2a9:	33 f6                	xor    %esi,%esi
41e2ab:	8b 47 14             	mov    0x14(%edi),%eax
41e2ae:	48                   	dec    %eax
41e2af:	89 44 24 0c          	mov    %eax,0xc(%esp)
41e2b3:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41e2b7:	7f 3f                	jg     0x41e2f8
41e2b9:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
41e2bd:	03 de                	add    %esi,%ebx
41e2bf:	d1 eb                	shr    $1,%ebx
41e2c1:	8b 47 10             	mov    0x10(%edi),%eax
41e2c4:	8b 14 d8             	mov    (%eax,%ebx,8),%edx
41e2c7:	8b 0c 24             	mov    (%esp),%ecx
41e2ca:	8b c7                	mov    %edi,%eax
41e2cc:	8b 28                	mov    (%eax),%ebp
41e2ce:	ff 55 34             	call   *0x34(%ebp)
41e2d1:	85 c0                	test   %eax,%eax
41e2d3:	7d 05                	jge    0x41e2da
41e2d5:	8d 73 01             	lea    0x1(%ebx),%esi
41e2d8:	eb 18                	jmp    0x41e2f2
41e2da:	8b d3                	mov    %ebx,%edx
41e2dc:	4a                   	dec    %edx
41e2dd:	89 54 24 0c          	mov    %edx,0xc(%esp)
41e2e1:	85 c0                	test   %eax,%eax
41e2e3:	75 0d                	jne    0x41e2f2
41e2e5:	c6 44 24 08 01       	movb   $0x1,0x8(%esp)
41e2ea:	80 7f 1d 01          	cmpb   $0x1,0x1d(%edi)
41e2ee:	74 02                	je     0x41e2f2
41e2f0:	8b f3                	mov    %ebx,%esi
41e2f2:	3b 74 24 0c          	cmp    0xc(%esp),%esi
41e2f6:	7e c1                	jle    0x41e2b9
41e2f8:	8b 44 24 04          	mov    0x4(%esp),%eax
41e2fc:	89 30                	mov    %esi,(%eax)
41e2fe:	8a 44 24 08          	mov    0x8(%esp),%al
41e302:	83 c4 10             	add    $0x10,%esp
41e305:	5d                   	pop    %ebp
41e306:	5f                   	pop    %edi
41e307:	5e                   	pop    %esi
41e308:	5b                   	pop    %ebx
41e309:	c3                   	ret
41e30a:	8b c0                	mov    %eax,%eax
41e30c:	53                   	push   %ebx
41e30d:	56                   	push   %esi
41e30e:	57                   	push   %edi
41e30f:	8b f9                	mov    %ecx,%edi
41e311:	8b f2                	mov    %edx,%esi
41e313:	8b d8                	mov    %eax,%ebx
41e315:	85 f6                	test   %esi,%esi
41e317:	7c 05                	jl     0x41e31e
41e319:	3b 73 14             	cmp    0x14(%ebx),%esi
41e31c:	7c 0f                	jl     0x41e32d
41e31e:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e324:	8b ce                	mov    %esi,%ecx
41e326:	8b c3                	mov    %ebx,%eax
41e328:	e8 63 f2 ff ff       	call   0x41d590
41e32d:	8b c7                	mov    %edi,%eax
41e32f:	8b 53 10             	mov    0x10(%ebx),%edx
41e332:	8b 14 f2             	mov    (%edx,%esi,8),%edx
41e335:	e8 82 65 fe ff       	call   0x4048bc
41e33a:	5f                   	pop    %edi
41e33b:	5e                   	pop    %esi
41e33c:	5b                   	pop    %ebx
41e33d:	c3                   	ret
41e33e:	8b c0                	mov    %eax,%eax
41e340:	8b 40 18             	mov    0x18(%eax),%eax
41e343:	c3                   	ret
41e344:	8b 40 14             	mov    0x14(%eax),%eax
41e347:	c3                   	ret
41e348:	53                   	push   %ebx
41e349:	56                   	push   %esi
41e34a:	8b f2                	mov    %edx,%esi
41e34c:	8b d8                	mov    %eax,%ebx
41e34e:	85 f6                	test   %esi,%esi
41e350:	7c 05                	jl     0x41e357
41e352:	3b 73 14             	cmp    0x14(%ebx),%esi
41e355:	7c 0f                	jl     0x41e366
41e357:	8b 15 dc 70 6a 00    	mov    0x6a70dc,%edx
41e35d:	8b ce                	mov    %esi,%ecx
41e35f:	8b c3                	mov    %ebx,%eax
41e361:	e8 2a f2 ff ff       	call   0x41d590
41e366:	8b 43 10             	mov    0x10(%ebx),%eax
41e369:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
41e36d:	5e                   	pop    %esi
41e36e:	5b                   	pop    %ebx
41e36f:	c3                   	ret
41e370:	56                   	push   %esi
41e371:	8b 50 18             	mov    0x18(%eax),%edx
41e374:	83 fa 40             	cmp    $0x40,%edx
41e377:	7e 0e                	jle    0x41e387
41e379:	8b f2                	mov    %edx,%esi
41e37b:	85 f6                	test   %esi,%esi
41e37d:	79 03                	jns    0x41e382
41e37f:	83 c6 03             	add    $0x3,%esi
41e382:	c1 fe 02             	sar    $0x2,%esi
41e385:	eb 11                	jmp    0x41e398
41e387:	83 fa 08             	cmp    $0x8,%edx
41e38a:	7e 07                	jle    0x41e393
41e38c:	be 10 00 00 00       	mov    $0x10,%esi
41e391:	eb 05                	jmp    0x41e398
41e393:	be 04 00 00 00       	mov    $0x4,%esi
41e398:	03 f2                	add    %edx,%esi
41e39a:	8b d6                	mov    %esi,%edx
41e39c:	8b 08                	mov    (%eax),%ecx
41e39e:	ff 51 28             	call   *0x28(%ecx)
41e3a1:	5e                   	pop    %esi
41e3a2:	c3                   	ret
41e3a3:	90                   	nop
41e3a4:	53                   	push   %ebx
41e3a5:	56                   	push   %esi
41e3a6:	51                   	push   %ecx
41e3a7:	8b f2                	mov    %edx,%esi
41e3a9:	8b d8                	mov    %eax,%ebx
41e3ab:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e3af:	75 0e                	jne    0x41e3bf
41e3b1:	8b d6                	mov    %esi,%edx
41e3b3:	8b c3                	mov    %ebx,%eax
41e3b5:	e8 2a f5 ff ff       	call   0x41d8e4
41e3ba:	89 04 24             	mov    %eax,(%esp)
41e3bd:	eb 19                	jmp    0x41e3d8
41e3bf:	8b cc                	mov    %esp,%ecx
41e3c1:	8b d6                	mov    %esi,%edx
41e3c3:	8b c3                	mov    %ebx,%eax
41e3c5:	8b 18                	mov    (%eax),%ebx
41e3c7:	ff 93 8c 00 00 00    	call   *0x8c(%ebx)
41e3cd:	84 c0                	test   %al,%al
41e3cf:	75 07                	jne    0x41e3d8
41e3d1:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
41e3d8:	8b 04 24             	mov    (%esp),%eax
41e3db:	5a                   	pop    %edx
41e3dc:	5e                   	pop    %esi