47e17a:	83 ec 14             	sub    $0x14,%esp
47e17d:	53                   	push   %ebx
47e17e:	56                   	push   %esi
47e17f:	57                   	push   %edi
47e180:	ff 75 08             	push   0x8(%ebp)
47e183:	e8 35 be f8 ff       	call   0x409fbd
47e188:	8b f0                	mov    %eax,%esi
47e18a:	85 f6                	test   %esi,%esi
47e18c:	75 07                	jne    0x47e195
47e18e:	32 c0                	xor    %al,%al
47e190:	e9 8c 00 00 00       	jmp    0x47e221
47e195:	8b 46 18             	mov    0x18(%esi),%eax
47e198:	3b 46 14             	cmp    0x14(%esi),%eax
47e19b:	75 f1                	jne    0x47e18e
47e19d:	ff 75 08             	push   0x8(%ebp)
47e1a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47e1a3:	e8 dc 5d f8 ff       	call   0x403f84
47e1a8:	ff 76 10             	push   0x10(%esi)
47e1ab:	e8 18 90 f8 ff       	call   0x4071c8
47e1b0:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
47e1b4:	6a 03                	push   $0x3
47e1b6:	89 45 08             	mov    %eax,0x8(%ebp)
47e1b9:	5f                   	pop    %edi
47e1ba:	74 03                	je     0x47e1bf
47e1bc:	6a 04                	push   $0x4
47e1be:	5f                   	pop    %edi
47e1bf:	33 db                	xor    %ebx,%ebx
47e1c1:	39 5e 14             	cmp    %ebx,0x14(%esi)
47e1c4:	7e 59                	jle    0x47e21f
47e1c6:	c1 e7 02             	shl    $0x2,%edi
47e1c9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47e1cc:	e8 f6 95 f8 ff       	call   0x4077c7
47e1d1:	85 db                	test   %ebx,%ebx
47e1d3:	74 13                	je     0x47e1e8
47e1d5:	8b 45 08             	mov    0x8(%ebp),%eax
47e1d8:	8b 40 04             	mov    0x4(%eax),%eax
47e1db:	8b 04 38             	mov    (%eax,%edi,1),%eax
47e1de:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
47e1e3:	75 45                	jne    0x47e22a
47e1e5:	83 c7 04             	add    $0x4,%edi
47e1e8:	8b 45 08             	mov    0x8(%ebp),%eax
47e1eb:	8b 40 04             	mov    0x4(%eax),%eax
47e1ee:	8b 04 07             	mov    (%edi,%eax,1),%eax
47e1f1:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
47e1f6:	75 32                	jne    0x47e22a
47e1f8:	ff 30                	push   (%eax)
47e1fa:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47e1fd:	e8 a5 9f f8 ff       	call   0x4081a7
47e202:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47e205:	8d 45 f0             	lea    -0x10(%ebp),%eax
47e208:	50                   	push   %eax
47e209:	e8 76 5d f8 ff       	call   0x403f84
47e20e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47e211:	83 c7 04             	add    $0x4,%edi
47e214:	e8 4b 78 f8 ff       	call   0x405a64
47e219:	43                   	inc    %ebx
47e21a:	3b 5e 14             	cmp    0x14(%esi),%ebx
47e21d:	7c aa                	jl     0x47e1c9
47e21f:	b0 01                	mov    $0x1,%al
47e221:	5f                   	pop    %edi
47e222:	5e                   	pop    %esi
47e223:	5b                   	pop    %ebx
47e224:	8b e5                	mov    %ebp,%esp
47e226:	5d                   	pop    %ebp
47e227:	c2 08 00             	ret    $0x8
47e22a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47e22d:	e8 32 78 f8 ff       	call   0x405a64
47e232:	e9 57 ff ff ff       	jmp    0x47e18e
47e237:	55                   	push   %ebp
47e238:	8b ec                	mov    %esp,%ebp
47e23a:	6a 00                	push   $0x0
47e23c:	ff 75 0c             	push   0xc(%ebp)
47e23f:	ff 75 08             	push   0x8(%ebp)
47e242:	e8 aa eb ff ff       	call   0x47cdf1
47e247:	5d                   	pop    %ebp
47e248:	c2 08 00             	ret    $0x8
47e24b:	55                   	push   %ebp
47e24c:	8b ec                	mov    %esp,%ebp
47e24e:	6a 01                	push   $0x1
47e250:	ff 75 0c             	push   0xc(%ebp)
47e253:	ff 75 08             	push   0x8(%ebp)
47e256:	e8 96 eb ff ff       	call   0x47cdf1
47e25b:	5d                   	pop    %ebp
47e25c:	c2 08 00             	ret    $0x8
47e25f:	55                   	push   %ebp
47e260:	8b ec                	mov    %esp,%ebp
47e262:	8b 45 08             	mov    0x8(%ebp),%eax
47e265:	56                   	push   %esi
47e266:	57                   	push   %edi
47e267:	8b f9                	mov    %ecx,%edi
47e269:	8b 40 04             	mov    0x4(%eax),%eax
47e26c:	8b 08                	mov    (%eax),%ecx
47e26e:	e8 29 ba f8 ff       	call   0x409c9c
47e273:	8b f0                	mov    %eax,%esi
47e275:	4e                   	dec    %esi
47e276:	78 4a                	js     0x47e2c2
47e278:	3b b7 b8 01 00 00    	cmp    0x1b8(%edi),%esi
47e27e:	7d 42                	jge    0x47e2c2
47e280:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
47e286:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e289:	8b 00                	mov    (%eax),%eax
47e28b:	85 c0                	test   %eax,%eax
47e28d:	74 33                	je     0x47e2c2
47e28f:	68 00 80 00 00       	push   $0x8000
47e294:	6a 00                	push   $0x0
47e296:	ff 70 10             	push   0x10(%eax)
47e299:	ff 15 88 f2 48 00    	call   *0x48f288
47e29f:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
47e2a5:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e2a8:	8b 08                	mov    (%eax),%ecx
47e2aa:	85 c9                	test   %ecx,%ecx
47e2ac:	74 06                	je     0x47e2b4
47e2ae:	51                   	push   %ecx
47e2af:	e8 da bb fe ff       	call   0x469e8e
47e2b4:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
47e2ba:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e2bd:	83 20 00             	andl   $0x0,(%eax)
47e2c0:	eb 14                	jmp    0x47e2d6
47e2c2:	8b 75 0c             	mov    0xc(%ebp),%esi
47e2c5:	8b ce                	mov    %esi,%ecx
47e2c7:	e8 54 b7 f8 ff       	call   0x409a20
47e2cc:	83 26 00             	andl   $0x0,(%esi)
47e2cf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e2d6:	5f                   	pop    %edi
47e2d7:	33 c0                	xor    %eax,%eax
47e2d9:	5e                   	pop    %esi
47e2da:	5d                   	pop    %ebp
47e2db:	c2 08 00             	ret    $0x8
47e2de:	55                   	push   %ebp
47e2df:	8b ec                	mov    %esp,%ebp
47e2e1:	8b 45 08             	mov    0x8(%ebp),%eax
47e2e4:	56                   	push   %esi
47e2e5:	8b f1                	mov    %ecx,%esi
47e2e7:	8b 40 04             	mov    0x4(%eax),%eax
47e2ea:	8b 08                	mov    (%eax),%ecx
47e2ec:	e8 ab b9 f8 ff       	call   0x409c9c
47e2f1:	85 c0                	test   %eax,%eax
47e2f3:	7e 2e                	jle    0x47e323
47e2f5:	3b 86 b8 01 00 00    	cmp    0x1b8(%esi),%eax
47e2fb:	7f 26                	jg     0x47e323
47e2fd:	8b 8e b4 01 00 00    	mov    0x1b4(%esi),%ecx
47e303:	8b 75 0c             	mov    0xc(%ebp),%esi
47e306:	57                   	push   %edi
47e307:	8b 44 81 fc          	mov    -0x4(%ecx,%eax,4),%eax
47e30b:	8b ce                	mov    %esi,%ecx
47e30d:	8b 00                	mov    (%eax),%eax
47e30f:	8b 78 10             	mov    0x10(%eax),%edi
47e312:	e8 09 b7 f8 ff       	call   0x409a20
47e317:	89 3e                	mov    %edi,(%esi)
47e319:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
47e320:	5f                   	pop    %edi
47e321:	eb 14                	jmp    0x47e337
47e323:	8b 75 0c             	mov    0xc(%ebp),%esi
47e326:	8b ce                	mov    %esi,%ecx
47e328:	e8 f3 b6 f8 ff       	call   0x409a20
47e32d:	83 26 00             	andl   $0x0,(%esi)
47e330:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e337:	33 c0                	xor    %eax,%eax
47e339:	5e                   	pop    %esi
47e33a:	5d                   	pop    %ebp
47e33b:	c2 08 00             	ret    $0x8
47e33e:	55                   	push   %ebp
47e33f:	8b ec                	mov    %esp,%ebp
47e341:	83 e4 f8             	and    $0xfffffff8,%esp
47e344:	83 ec 5c             	sub    $0x5c,%esp
47e347:	53                   	push   %ebx
47e348:	56                   	push   %esi
47e349:	57                   	push   %edi
47e34a:	33 f6                	xor    %esi,%esi
47e34c:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
47e350:	68 40 03 00 00       	push   $0x340
47e355:	89 74 24 28          	mov    %esi,0x28(%esp)
47e359:	e8 98 2c fa ff       	call   0x420ff6
47e35e:	8b d8                	mov    %eax,%ebx
47e360:	89 5c 24 18          	mov    %ebx,0x18(%esp)
47e364:	59                   	pop    %ecx
47e365:	85 db                	test   %ebx,%ebx
47e367:	74 11                	je     0x47e37a
47e369:	c7 03 68 f9 48 00    	movl   $0x48f968,(%ebx)
47e36f:	89 73 04             	mov    %esi,0x4(%ebx)
47e372:	89 73 08             	mov    %esi,0x8(%ebx)
47e375:	89 73 0c             	mov    %esi,0xc(%ebx)
47e378:	eb 06                	jmp    0x47e380
47e37a:	8b de                	mov    %esi,%ebx
47e37c:	89 5c 24 14          	mov    %ebx,0x14(%esp)
47e380:	8b 45 08             	mov    0x8(%ebp),%eax
47e383:	8d 4b 10             	lea    0x10(%ebx),%ecx
47e386:	89 4c 24 18          	mov    %ecx,0x18(%esp)
47e38a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
47e38e:	8b 40 04             	mov    0x4(%eax),%eax
47e391:	8b 70 04             	mov    0x4(%eax),%esi
47e394:	8b ce                	mov    %esi,%ecx
47e396:	e8 fc b5 f8 ff       	call   0x409997
47e39b:	8b 4e 08             	mov    0x8(%esi),%ecx
47e39e:	8b 01                	mov    (%ecx),%eax
47e3a0:	89 44 24 38          	mov    %eax,0x38(%esp)
47e3a4:	8b 41 04             	mov    0x4(%ecx),%eax
47e3a7:	89 44 24 3c          	mov    %eax,0x3c(%esp)
47e3ab:	8b 41 08             	mov    0x8(%ecx),%eax
47e3ae:	89 44 24 40          	mov    %eax,0x40(%esp)
47e3b2:	8b 41 0c             	mov    0xc(%ecx),%eax
47e3b5:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47e3b9:	89 44 24 44          	mov    %eax,0x44(%esp)
47e3bd:	ff 00                	incl   (%eax)
47e3bf:	e8 eb 9b f8 ff       	call   0x407faf
47e3c4:	ff 74 24 3c          	push   0x3c(%esp)
47e3c8:	8b 3d fc f6 48 00    	mov    0x48f6fc,%edi
47e3ce:	ff 74 24 3c          	push   0x3c(%esp)
47e3d2:	ff d7                	call   *%edi
47e3d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e3d7:	8b 41 04             	mov    0x4(%ecx),%eax
47e3da:	8b 70 08             	mov    0x8(%eax),%esi
47e3dd:	8b ce                	mov    %esi,%ecx
47e3df:	e8 b3 b5 f8 ff       	call   0x409997
47e3e4:	8b 4e 08             	mov    0x8(%esi),%ecx
47e3e7:	8b 01                	mov    (%ecx),%eax
47e3e9:	89 44 24 28          	mov    %eax,0x28(%esp)
47e3ed:	8b 41 04             	mov    0x4(%ecx),%eax
47e3f0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
47e3f4:	8b 41 08             	mov    0x8(%ecx),%eax
47e3f7:	89 44 24 30          	mov    %eax,0x30(%esp)
47e3fb:	8b 41 0c             	mov    0xc(%ecx),%eax
47e3fe:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e402:	89 44 24 34          	mov    %eax,0x34(%esp)
47e406:	ff 00                	incl   (%eax)
47e408:	e8 a2 9b f8 ff       	call   0x407faf
47e40d:	ff 74 24 2c          	push   0x2c(%esp)
47e411:	ff 74 24 2c          	push   0x2c(%esp)
47e415:	ff d7                	call   *%edi
47e417:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
47e41b:	33 c0                	xor    %eax,%eax
47e41d:	8b c8                	mov    %eax,%ecx
47e41f:	89 44 24 24          	mov    %eax,0x24(%esp)
47e423:	8b b7 b8 01 00 00    	mov    0x1b8(%edi),%esi
47e429:	85 f6                	test   %esi,%esi
47e42b:	74 19                	je     0x47e446
47e42d:	8b 97 b4 01 00 00    	mov    0x1b4(%edi),%edx
47e433:	8b 02                	mov    (%edx),%eax
47e435:	83 38 00             	cmpl   $0x0,(%eax)
47e438:	74 08                	je     0x47e442
47e43a:	41                   	inc    %ecx
47e43b:	83 c2 04             	add    $0x4,%edx
47e43e:	3b ce                	cmp    %esi,%ecx
47e440:	72 f1                	jb     0x47e433
47e442:	89 4c 24 24          	mov    %ecx,0x24(%esp)
47e446:	3b ce                	cmp    %esi,%ecx
47e448:	75 1a                	jne    0x47e464
47e44a:	8d 44 24 10          	lea    0x10(%esp),%eax
47e44e:	50                   	push   %eax
47e44f:	8d 8f b0 01 00 00    	lea    0x1b0(%edi),%ecx
47e455:	e8 db 13 ff ff       	call   0x46f835
47e45a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
47e45e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
47e462:	eb 0b                	jmp    0x47e46f
47e464:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
47e46a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47e46d:	89 18                	mov    %ebx,(%eax)
47e46f:	8b 45 08             	mov    0x8(%ebp),%eax
47e472:	8b 40 04             	mov    0x4(%eax),%eax
47e475:	8b 30                	mov    (%eax),%esi
47e477:	8b ce                	mov    %esi,%ecx
47e479:	83 7e 0c 0e          	cmpl   $0xe,0xc(%esi)
47e47d:	75 13                	jne    0x47e492
47e47f:	33 c0                	xor    %eax,%eax
47e481:	40                   	inc    %eax
47e482:	89 44 24 10          	mov    %eax,0x10(%esp)
47e486:	8d 44 24 58          	lea    0x58(%esp),%eax
47e48a:	50                   	push   %eax
47e48b:	e8 14 97 fe ff       	call   0x467ba4
47e490:	eb 30                	jmp    0x47e4c2
47e492:	6a 02                	push   $0x2
47e494:	58                   	pop    %eax
47e495:	89 44 24 10          	mov    %eax,0x10(%esp)
47e499:	e8 f9 b4 f8 ff       	call   0x409997
47e49e:	8b 4e 08             	mov    0x8(%esi),%ecx
47e4a1:	8b 01                	mov    (%ecx),%eax
47e4a3:	89 44 24 48          	mov    %eax,0x48(%esp)
47e4a7:	8b 41 04             	mov    0x4(%ecx),%eax
47e4aa:	89 44 24 4c          	mov    %eax,0x4c(%esp)
47e4ae:	8b 41 08             	mov    0x8(%ecx),%eax
47e4b1:	89 44 24 50          	mov    %eax,0x50(%esp)
47e4b5:	8b 41 0c             	mov    0xc(%ecx),%eax
47e4b8:	89 44 24 54          	mov    %eax,0x54(%esp)
47e4bc:	ff 00                	incl   (%eax)
47e4be:	8d 44 24 48          	lea    0x48(%esp),%eax
47e4c2:	53                   	push   %ebx
47e4c3:	50                   	push   %eax
47e4c4:	8b cf                	mov    %edi,%ecx
47e4c6:	e8 ac fc ff ff       	call   0x47e177
47e4cb:	f6 d8                	neg    %al
47e4cd:	1a c0                	sbb    %al,%al
47e4cf:	fe c0                	inc    %al
47e4d1:	88 44 24 0f          	mov    %al,0xf(%esp)
47e4d5:	8b 44 24 10          	mov    0x10(%esp),%eax
47e4d9:	a8 02                	test   $0x2,%al
47e4db:	74 14                	je     0x47e4f1
47e4dd:	83 e0 fd             	and    $0xfffffffd,%eax
47e4e0:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47e4e4:	89 44 24 10          	mov    %eax,0x10(%esp)
47e4e8:	e8 77 75 f8 ff       	call   0x405a64
47e4ed:	8b 44 24 10          	mov    0x10(%esp),%eax
47e4f1:	a8 01                	test   $0x1,%al
47e4f3:	74 09                	je     0x47e4fe
47e4f5:	8d 4c 24 58          	lea    0x58(%esp),%ecx
47e4f9:	e8 66 75 f8 ff       	call   0x405a64
47e4fe:	80 7c 24 0f 00       	cmpb   $0x0,0xf(%esp)
47e503:	74 14                	je     0x47e519
47e505:	8b 75 0c             	mov    0xc(%ebp),%esi
47e508:	8b ce                	mov    %esi,%ecx
47e50a:	e8 11 b5 f8 ff       	call   0x409a20
47e50f:	33 c0                	xor    %eax,%eax
47e511:	50                   	push   %eax
47e512:	6a 03                	push   $0x3
47e514:	e9 84 01 00 00       	jmp    0x47e69d
47e519:	8b 74 24 18          	mov    0x18(%esp),%esi
47e51d:	8d 44 24 38          	lea    0x38(%esp),%eax
47e521:	56                   	push   %esi
47e522:	50                   	push   %eax
47e523:	e8 91 f5 ff ff       	call   0x47dab9
47e528:	84 c0                	test   %al,%al
47e52a:	75 19                	jne    0x47e545
47e52c:	8b 75 0c             	mov    0xc(%ebp),%esi
47e52f:	8b ce                	mov    %esi,%ecx
47e531:	e8 ea b4 f8 ff       	call   0x409a20
47e536:	33 c9                	xor    %ecx,%ecx
47e538:	41                   	inc    %ecx
47e539:	33 c0                	xor    %eax,%eax
47e53b:	50                   	push   %eax
47e53c:	89 4e 0c             	mov    %ecx,0xc(%esi)
47e53f:	51                   	push   %ecx
47e540:	e9 5f 01 00 00       	jmp    0x47e6a4
47e545:	33 c0                	xor    %eax,%eax
47e547:	33 db                	xor    %ebx,%ebx
47e549:	8b f0                	mov    %eax,%esi
47e54b:	8b f8                	mov    %eax,%edi
47e54d:	56                   	push   %esi
47e54e:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
47e552:	e8 fb 95 f8 ff       	call   0x407b52
47e557:	66 39 18             	cmp    %bx,(%eax)
47e55a:	74 16                	je     0x47e572
47e55c:	56                   	push   %esi
47e55d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
47e561:	e8 ec 95 f8 ff       	call   0x407b52
47e566:	6a 3b                	push   $0x3b
47e568:	59                   	pop    %ecx
47e569:	46                   	inc    %esi
47e56a:	66 39 08             	cmp    %cx,(%eax)
47e56d:	75 de                	jne    0x47e54d
47e56f:	47                   	inc    %edi
47e570:	eb db                	jmp    0x47e54d