47e36e:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
47e371:	83 c2 02             	add    $0x2,%edx
47e374:	66 39 3a             	cmp    %di,(%edx)
47e377:	75 e1                	jne    0x47e35a
47e379:	5e                   	pop    %esi
47e37a:	8d 42 02             	lea    0x2(%edx),%eax
47e37d:	5f                   	pop    %edi
47e37e:	5d                   	pop    %ebp
47e37f:	c3                   	ret
47e380:	8b 01                	mov    (%ecx),%eax
47e382:	c3                   	ret
47e383:	33 c0                	xor    %eax,%eax
47e385:	c3                   	ret
47e386:	33 c0                	xor    %eax,%eax
47e388:	39 01                	cmp    %eax,(%ecx)
47e38a:	0f 95 c0             	setne  %al
47e38d:	c3                   	ret
47e38e:	8b ff                	mov    %edi,%edi
47e390:	55                   	push   %ebp
47e391:	8b ec                	mov    %esp,%ebp
47e393:	51                   	push   %ecx
47e394:	53                   	push   %ebx
47e395:	56                   	push   %esi
47e396:	57                   	push   %edi
47e397:	ff 15 28 40 49 00    	call   *0x494028
47e39d:	8b f0                	mov    %eax,%esi
47e39f:	33 ff                	xor    %edi,%edi
47e3a1:	85 f6                	test   %esi,%esi
47e3a3:	74 56                	je     0x47e3fb
47e3a5:	56                   	push   %esi
47e3a6:	e8 9e ff ff ff       	call   0x47e349
47e3ab:	59                   	pop    %ecx
47e3ac:	57                   	push   %edi
47e3ad:	57                   	push   %edi
47e3ae:	57                   	push   %edi
47e3af:	8b d8                	mov    %eax,%ebx
47e3b1:	57                   	push   %edi
47e3b2:	2b de                	sub    %esi,%ebx
47e3b4:	d1 fb                	sar    $1,%ebx
47e3b6:	53                   	push   %ebx
47e3b7:	56                   	push   %esi
47e3b8:	57                   	push   %edi
47e3b9:	57                   	push   %edi
47e3ba:	ff 15 78 41 49 00    	call   *0x494178
47e3c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
47e3c3:	85 c0                	test   %eax,%eax
47e3c5:	74 34                	je     0x47e3fb
47e3c7:	50                   	push   %eax
47e3c8:	e8 5d 89 ff ff       	call   0x476d2a
47e3cd:	8b f8                	mov    %eax,%edi
47e3cf:	59                   	pop    %ecx
47e3d0:	85 ff                	test   %edi,%edi
47e3d2:	74 1c                	je     0x47e3f0
47e3d4:	33 c0                	xor    %eax,%eax
47e3d6:	50                   	push   %eax
47e3d7:	50                   	push   %eax
47e3d8:	ff 75 fc             	push   -0x4(%ebp)
47e3db:	57                   	push   %edi
47e3dc:	53                   	push   %ebx
47e3dd:	56                   	push   %esi
47e3de:	50                   	push   %eax
47e3df:	50                   	push   %eax
47e3e0:	ff 15 78 41 49 00    	call   *0x494178
47e3e6:	85 c0                	test   %eax,%eax
47e3e8:	74 06                	je     0x47e3f0
47e3ea:	8b df                	mov    %edi,%ebx
47e3ec:	33 ff                	xor    %edi,%edi
47e3ee:	eb 02                	jmp    0x47e3f2
47e3f0:	33 db                	xor    %ebx,%ebx
47e3f2:	57                   	push   %edi
47e3f3:	e8 41 3f ff ff       	call   0x472339
47e3f8:	59                   	pop    %ecx
47e3f9:	eb 02                	jmp    0x47e3fd
47e3fb:	8b df                	mov    %edi,%ebx
47e3fd:	85 f6                	test   %esi,%esi
47e3ff:	74 07                	je     0x47e408
47e401:	56                   	push   %esi
47e402:	ff 15 24 40 49 00    	call   *0x494024
47e408:	5f                   	pop    %edi
47e409:	5e                   	pop    %esi
47e40a:	8b c3                	mov    %ebx,%eax
47e40c:	5b                   	pop    %ebx
47e40d:	8b e5                	mov    %ebp,%esp
47e40f:	5d                   	pop    %ebp
47e410:	c3                   	ret
47e411:	8b ff                	mov    %edi,%edi
47e413:	56                   	push   %esi
47e414:	57                   	push   %edi
47e415:	ff 15 28 40 49 00    	call   *0x494028
47e41b:	8b f0                	mov    %eax,%esi
47e41d:	85 f6                	test   %esi,%esi
47e41f:	75 04                	jne    0x47e425
47e421:	33 ff                	xor    %edi,%edi
47e423:	eb 37                	jmp    0x47e45c
47e425:	53                   	push   %ebx
47e426:	56                   	push   %esi
47e427:	e8 1d ff ff ff       	call   0x47e349
47e42c:	2b c6                	sub    %esi,%eax
47e42e:	d1 f8                	sar    $1,%eax
47e430:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
47e433:	53                   	push   %ebx
47e434:	e8 f1 88 ff ff       	call   0x476d2a
47e439:	8b f8                	mov    %eax,%edi
47e43b:	59                   	pop    %ecx
47e43c:	59                   	pop    %ecx
47e43d:	85 ff                	test   %edi,%edi
47e43f:	74 0b                	je     0x47e44c
47e441:	53                   	push   %ebx
47e442:	56                   	push   %esi
47e443:	57                   	push   %edi
47e444:	e8 17 4f fc ff       	call   0x443360
47e449:	83 c4 0c             	add    $0xc,%esp
47e44c:	6a 00                	push   $0x0
47e44e:	e8 e6 3e ff ff       	call   0x472339
47e453:	59                   	pop    %ecx
47e454:	56                   	push   %esi
47e455:	ff 15 24 40 49 00    	call   *0x494024
47e45b:	5b                   	pop    %ebx
47e45c:	8b c7                	mov    %edi,%eax
47e45e:	5f                   	pop    %edi
47e45f:	5e                   	pop    %esi
47e460:	c3                   	ret
47e461:	8b ff                	mov    %edi,%edi
47e463:	55                   	push   %ebp
47e464:	8b ec                	mov    %esp,%ebp
47e466:	83 ec 10             	sub    $0x10,%esp
47e469:	56                   	push   %esi
47e46a:	8b 75 08             	mov    0x8(%ebp),%esi
47e46d:	85 f6                	test   %esi,%esi
47e46f:	75 13                	jne    0x47e484
47e471:	e8 b9 e9 fc ff       	call   0x44ce2f
47e476:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47e47c:	83 c8 ff             	or     $0xffffffff,%eax
47e47f:	e9 14 02 00 00       	jmp    0x47e698
47e484:	53                   	push   %ebx
47e485:	57                   	push   %edi
47e486:	6a 3d                	push   $0x3d
47e488:	56                   	push   %esi
47e489:	8b fe                	mov    %esi,%edi
47e48b:	e8 30 5b fc ff       	call   0x443fc0
47e490:	89 45 f0             	mov    %eax,-0x10(%ebp)
47e493:	59                   	pop    %ecx
47e494:	59                   	pop    %ecx
47e495:	85 c0                	test   %eax,%eax
47e497:	0f 84 e2 01 00 00    	je     0x47e67f
47e49d:	3b c6                	cmp    %esi,%eax
47e49f:	0f 84 da 01 00 00    	je     0x47e67f
47e4a5:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
47e4a9:	0f 94 45 ff          	sete   -0x1(%ebp)
47e4ad:	e8 ad 05 00 00       	call   0x47ea5f
47e4b2:	33 db                	xor    %ebx,%ebx
47e4b4:	39 1d 94 b8 4b 00    	cmp    %ebx,0x4bb894
47e4ba:	75 7b                	jne    0x47e537
47e4bc:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e4bf:	74 1c                	je     0x47e4dd
47e4c1:	39 1d 98 b8 4b 00    	cmp    %ebx,0x4bb898
47e4c7:	74 14                	je     0x47e4dd
47e4c9:	e8 cf ed fe ff       	call   0x46d29d
47e4ce:	85 c0                	test   %eax,%eax
47e4d0:	0f 84 a9 01 00 00    	je     0x47e67f
47e4d6:	e8 84 05 00 00       	call   0x47ea5f
47e4db:	eb 5a                	jmp    0x47e537
47e4dd:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e4e0:	74 07                	je     0x47e4e9
47e4e2:	33 db                	xor    %ebx,%ebx
47e4e4:	e9 a4 01 00 00       	jmp    0x47e68d
47e4e9:	6a 04                	push   $0x4
47e4eb:	6a 01                	push   $0x1
47e4ed:	e8 61 3d ff ff       	call   0x472253
47e4f2:	53                   	push   %ebx
47e4f3:	a3 94 b8 4b 00       	mov    %eax,0x4bb894
47e4f8:	e8 3c 3e ff ff       	call   0x472339
47e4fd:	83 c4 0c             	add    $0xc,%esp
47e500:	39 1d 94 b8 4b 00    	cmp    %ebx,0x4bb894
47e506:	0f 84 7e 01 00 00    	je     0x47e68a
47e50c:	39 1d 98 b8 4b 00    	cmp    %ebx,0x4bb898
47e512:	75 23                	jne    0x47e537
47e514:	6a 04                	push   $0x4
47e516:	6a 01                	push   $0x1
47e518:	e8 36 3d ff ff       	call   0x472253
47e51d:	53                   	push   %ebx
47e51e:	a3 98 b8 4b 00       	mov    %eax,0x4bb898
47e523:	e8 11 3e ff ff       	call   0x472339
47e528:	83 c4 0c             	add    $0xc,%esp
47e52b:	39 1d 98 b8 4b 00    	cmp    %ebx,0x4bb898
47e531:	0f 84 53 01 00 00    	je     0x47e68a
47e537:	a1 94 b8 4b 00       	mov    0x4bb894,%eax
47e53c:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e53f:	85 c0                	test   %eax,%eax
47e541:	0f 84 43 01 00 00    	je     0x47e68a
47e547:	8b 45 f0             	mov    -0x10(%ebp),%eax
47e54a:	2b c6                	sub    %esi,%eax
47e54c:	50                   	push   %eax
47e54d:	56                   	push   %esi
47e54e:	e8 40 05 00 00       	call   0x47ea93
47e553:	89 45 f4             	mov    %eax,-0xc(%ebp)
47e556:	59                   	pop    %ecx
47e557:	59                   	pop    %ecx
47e558:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47e55b:	85 c0                	test   %eax,%eax
47e55d:	78 4f                	js     0x47e5ae
47e55f:	39 19                	cmp    %ebx,(%ecx)
47e561:	74 4b                	je     0x47e5ae
47e563:	ff 34 81             	push   (%ecx,%eax,4)
47e566:	e8 ce 3d ff ff       	call   0x472339
47e56b:	59                   	pop    %ecx
47e56c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47e56f:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e572:	74 30                	je     0x47e5a4
47e574:	8b 55 f8             	mov    -0x8(%ebp),%edx
47e577:	eb 08                	jmp    0x47e581
47e579:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
47e57d:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
47e580:	41                   	inc    %ecx
47e581:	39 1c 8a             	cmp    %ebx,(%edx,%ecx,4)
47e584:	75 f3                	jne    0x47e579
47e586:	6a 04                	push   $0x4
47e588:	51                   	push   %ecx
47e589:	52                   	push   %edx
47e58a:	e8 e0 1b ff ff       	call   0x47016f
47e58f:	53                   	push   %ebx
47e590:	89 45 f4             	mov    %eax,-0xc(%ebp)
47e593:	e8 a1 3d ff ff       	call   0x472339
47e598:	8b 45 f4             	mov    -0xc(%ebp),%eax
47e59b:	83 c4 10             	add    $0x10,%esp
47e59e:	85 c0                	test   %eax,%eax
47e5a0:	74 62                	je     0x47e604
47e5a2:	eb 5b                	jmp    0x47e5ff
47e5a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e5a7:	8b fb                	mov    %ebx,%edi
47e5a9:	89 34 88             	mov    %esi,(%eax,%ecx,4)
47e5ac:	eb 56                	jmp    0x47e604
47e5ae:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e5b1:	0f 85 d6 00 00 00    	jne    0x47e68d
47e5b7:	f7 d8                	neg    %eax
47e5b9:	89 45 f4             	mov    %eax,-0xc(%ebp)
47e5bc:	8d 50 02             	lea    0x2(%eax),%edx
47e5bf:	3b d0                	cmp    %eax,%edx
47e5c1:	0f 82 c3 00 00 00    	jb     0x47e68a
47e5c7:	81 fa ff ff ff 3f    	cmp    $0x3fffffff,%edx
47e5cd:	0f 83 b7 00 00 00    	jae    0x47e68a
47e5d3:	6a 04                	push   $0x4
47e5d5:	52                   	push   %edx
47e5d6:	51                   	push   %ecx
47e5d7:	e8 93 1b ff ff       	call   0x47016f
47e5dc:	53                   	push   %ebx
47e5dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e5e0:	e8 54 3d ff ff       	call   0x472339
47e5e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e5e8:	83 c4 10             	add    $0x10,%esp
47e5eb:	85 c0                	test   %eax,%eax
47e5ed:	0f 84 97 00 00 00    	je     0x47e68a
47e5f3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47e5f6:	8b fb                	mov    %ebx,%edi
47e5f8:	89 34 88             	mov    %esi,(%eax,%ecx,4)
47e5fb:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
47e5ff:	a3 94 b8 4b 00       	mov    %eax,0x4bb894
47e604:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e607:	0f 84 80 00 00 00    	je     0x47e68d
47e60d:	8d 4e 01             	lea    0x1(%esi),%ecx
47e610:	8a 06                	mov    (%esi),%al
47e612:	46                   	inc    %esi
47e613:	84 c0                	test   %al,%al
47e615:	75 f9                	jne    0x47e610
47e617:	2b f1                	sub    %ecx,%esi
47e619:	6a 01                	push   $0x1
47e61b:	8d 46 02             	lea    0x2(%esi),%eax
47e61e:	50                   	push   %eax
47e61f:	89 45 f4             	mov    %eax,-0xc(%ebp)
47e622:	e8 2c 3c ff ff       	call   0x472253
47e627:	8b f0                	mov    %eax,%esi
47e629:	59                   	pop    %ecx
47e62a:	59                   	pop    %ecx
47e62b:	85 f6                	test   %esi,%esi
47e62d:	74 47                	je     0x47e676
47e62f:	ff 75 08             	push   0x8(%ebp)
47e632:	ff 75 f4             	push   -0xc(%ebp)
47e635:	56                   	push   %esi
47e636:	e8 fb 1b ff ff       	call   0x470236
47e63b:	83 c4 0c             	add    $0xc,%esp
47e63e:	85 c0                	test   %eax,%eax
47e640:	75 5b                	jne    0x47e69d
47e642:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47e645:	8b c6                	mov    %esi,%eax
47e647:	2b 45 08             	sub    0x8(%ebp),%eax
47e64a:	41                   	inc    %ecx
47e64b:	03 c8                	add    %eax,%ecx
47e64d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
47e651:	f7 d8                	neg    %eax
47e653:	1b c0                	sbb    %eax,%eax
47e655:	f7 d0                	not    %eax
47e657:	88 59 ff             	mov    %bl,-0x1(%ecx)
47e65a:	23 c1                	and    %ecx,%eax
47e65c:	50                   	push   %eax
47e65d:	56                   	push   %esi
47e65e:	ff 15 20 40 49 00    	call   *0x494020
47e664:	85 c0                	test   %eax,%eax
47e666:	75 0e                	jne    0x47e676
47e668:	e8 c2 e7 fc ff       	call   0x44ce2f
47e66d:	83 cb ff             	or     $0xffffffff,%ebx
47e670:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
47e676:	56                   	push   %esi
47e677:	e8 bd 3c ff ff       	call   0x472339
47e67c:	59                   	pop    %ecx
47e67d:	eb 0e                	jmp    0x47e68d
47e67f:	e8 ab e7 fc ff       	call   0x44ce2f
47e684:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47e68a:	83 cb ff             	or     $0xffffffff,%ebx
47e68d:	57                   	push   %edi
47e68e:	e8 a6 3c ff ff       	call   0x472339
47e693:	59                   	pop    %ecx
47e694:	5f                   	pop    %edi
47e695:	8b c3                	mov    %ebx,%eax
47e697:	5b                   	pop    %ebx
47e698:	5e                   	pop    %esi
47e699:	8b e5                	mov    %ebp,%esp
47e69b:	5d                   	pop    %ebp
47e69c:	c3                   	ret
47e69d:	53                   	push   %ebx
47e69e:	53                   	push   %ebx
47e69f:	53                   	push   %ebx
47e6a0:	53                   	push   %ebx
47e6a1:	53                   	push   %ebx
47e6a2:	e8 5c e6 fc ff       	call   0x44cd03
47e6a7:	cc                   	int3
47e6a8:	8b ff                	mov    %edi,%edi
47e6aa:	55                   	push   %ebp
47e6ab:	8b ec                	mov    %esp,%ebp
47e6ad:	83 ec 0c             	sub    $0xc,%esp
47e6b0:	53                   	push   %ebx
47e6b1:	8b 5d 08             	mov    0x8(%ebp),%ebx
47e6b4:	85 db                	test   %ebx,%ebx
47e6b6:	75 13                	jne    0x47e6cb
47e6b8:	e8 72 e7 fc ff       	call   0x44ce2f
47e6bd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47e6c3:	83 c8 ff             	or     $0xffffffff,%eax
47e6c6:	e9 15 02 00 00       	jmp    0x47e8e0
47e6cb:	56                   	push   %esi
47e6cc:	57                   	push   %edi
47e6cd:	6a 3d                	push   $0x3d
47e6cf:	53                   	push   %ebx
47e6d0:	8b fb                	mov    %ebx,%edi
47e6d2:	e8 b0 b4 00 00       	call   0x489b87
47e6d7:	89 45 f4             	mov    %eax,-0xc(%ebp)
47e6da:	59                   	pop    %ecx
47e6db:	59                   	pop    %ecx
47e6dc:	85 c0                	test   %eax,%eax
47e6de:	0f 84 e3 01 00 00    	je     0x47e8c7
47e6e4:	3b c3                	cmp    %ebx,%eax
47e6e6:	0f 84 db 01 00 00    	je     0x47e8c7