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
47e6ec:	33 db                	xor    %ebx,%ebx
47e6ee:	66 39 58 02          	cmp    %bx,0x2(%eax)
47e6f2:	0f 94 45 ff          	sete   -0x1(%ebp)
47e6f6:	e8 7e 03 00 00       	call   0x47ea79
47e6fb:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e701:	85 f6                	test   %esi,%esi
47e703:	0f 85 81 00 00 00    	jne    0x47e78a
47e709:	a1 94 b8 4b 00       	mov    0x4bb894,%eax
47e70e:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e711:	74 18                	je     0x47e72b
47e713:	85 c0                	test   %eax,%eax
47e715:	74 14                	je     0x47e72b
47e717:	e8 86 eb fe ff       	call   0x46d2a2
47e71c:	85 c0                	test   %eax,%eax
47e71e:	0f 84 a3 01 00 00    	je     0x47e8c7
47e724:	e8 50 03 00 00       	call   0x47ea79
47e729:	eb 51                	jmp    0x47e77c
47e72b:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e72e:	0f 85 a1 01 00 00    	jne    0x47e8d5
47e734:	85 c0                	test   %eax,%eax
47e736:	75 2d                	jne    0x47e765
47e738:	6a 04                	push   $0x4
47e73a:	6a 01                	push   $0x1
47e73c:	e8 12 3b ff ff       	call   0x472253
47e741:	53                   	push   %ebx
47e742:	a3 94 b8 4b 00       	mov    %eax,0x4bb894
47e747:	e8 ed 3b ff ff       	call   0x472339
47e74c:	83 c4 0c             	add    $0xc,%esp
47e74f:	39 1d 94 b8 4b 00    	cmp    %ebx,0x4bb894
47e755:	0f 84 77 01 00 00    	je     0x47e8d2
47e75b:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e761:	85 f6                	test   %esi,%esi
47e763:	75 25                	jne    0x47e78a
47e765:	6a 04                	push   $0x4
47e767:	6a 01                	push   $0x1
47e769:	e8 e5 3a ff ff       	call   0x472253
47e76e:	53                   	push   %ebx
47e76f:	a3 98 b8 4b 00       	mov    %eax,0x4bb898
47e774:	e8 c0 3b ff ff       	call   0x472339
47e779:	83 c4 0c             	add    $0xc,%esp
47e77c:	8b 35 98 b8 4b 00    	mov    0x4bb898,%esi
47e782:	85 f6                	test   %esi,%esi
47e784:	0f 84 48 01 00 00    	je     0x47e8d2
47e78a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47e78d:	8b c7                	mov    %edi,%eax
47e78f:	2b c8                	sub    %eax,%ecx
47e791:	d1 f9                	sar    $1,%ecx
47e793:	51                   	push   %ecx
47e794:	50                   	push   %eax
47e795:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47e798:	e8 4a 03 00 00       	call   0x47eae7
47e79d:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e7a0:	59                   	pop    %ecx
47e7a1:	59                   	pop    %ecx
47e7a2:	85 c0                	test   %eax,%eax
47e7a4:	78 48                	js     0x47e7ee
47e7a6:	39 1e                	cmp    %ebx,(%esi)
47e7a8:	74 44                	je     0x47e7ee
47e7aa:	ff 34 86             	push   (%esi,%eax,4)
47e7ad:	e8 87 3b ff ff       	call   0x472339
47e7b2:	59                   	pop    %ecx
47e7b3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47e7b6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e7b9:	75 12                	jne    0x47e7cd
47e7bb:	8b 45 08             	mov    0x8(%ebp),%eax
47e7be:	8b fb                	mov    %ebx,%edi
47e7c0:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e7c3:	eb 7f                	jmp    0x47e844
47e7c5:	8b 44 8e 04          	mov    0x4(%esi,%ecx,4),%eax
47e7c9:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e7cc:	41                   	inc    %ecx
47e7cd:	39 1c 8e             	cmp    %ebx,(%esi,%ecx,4)
47e7d0:	75 f3                	jne    0x47e7c5
47e7d2:	6a 04                	push   $0x4
47e7d4:	51                   	push   %ecx
47e7d5:	56                   	push   %esi
47e7d6:	e8 94 19 ff ff       	call   0x47016f
47e7db:	53                   	push   %ebx
47e7dc:	8b f0                	mov    %eax,%esi
47e7de:	e8 56 3b ff ff       	call   0x472339
47e7e3:	83 c4 10             	add    $0x10,%esp
47e7e6:	8b c7                	mov    %edi,%eax
47e7e8:	85 f6                	test   %esi,%esi
47e7ea:	74 58                	je     0x47e844
47e7ec:	eb 50                	jmp    0x47e83e
47e7ee:	38 5d ff             	cmp    %bl,-0x1(%ebp)
47e7f1:	0f 85 de 00 00 00    	jne    0x47e8d5
47e7f7:	f7 d8                	neg    %eax
47e7f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e7fc:	8d 48 02             	lea    0x2(%eax),%ecx
47e7ff:	3b c8                	cmp    %eax,%ecx
47e801:	0f 82 cb 00 00 00    	jb     0x47e8d2
47e807:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
47e80d:	0f 83 bf 00 00 00    	jae    0x47e8d2
47e813:	6a 04                	push   $0x4
47e815:	51                   	push   %ecx
47e816:	56                   	push   %esi
47e817:	e8 53 19 ff ff       	call   0x47016f
47e81c:	53                   	push   %ebx
47e81d:	8b f0                	mov    %eax,%esi
47e81f:	e8 15 3b ff ff       	call   0x472339
47e824:	83 c4 10             	add    $0x10,%esp
47e827:	85 f6                	test   %esi,%esi
47e829:	0f 84 a3 00 00 00    	je     0x47e8d2
47e82f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47e832:	8b fb                	mov    %ebx,%edi
47e834:	8b 45 08             	mov    0x8(%ebp),%eax
47e837:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
47e83a:	89 5c 8e 04          	mov    %ebx,0x4(%esi,%ecx,4)
47e83e:	89 35 98 b8 4b 00    	mov    %esi,0x4bb898
47e844:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
47e847:	0f 84 88 00 00 00    	je     0x47e8d5
47e84d:	8b c8                	mov    %eax,%ecx
47e84f:	8d 51 02             	lea    0x2(%ecx),%edx
47e852:	66 8b 01             	mov    (%ecx),%ax
47e855:	83 c1 02             	add    $0x2,%ecx
47e858:	66 3b c3             	cmp    %bx,%ax
47e85b:	75 f5                	jne    0x47e852
47e85d:	2b ca                	sub    %edx,%ecx
47e85f:	d1 f9                	sar    $1,%ecx
47e861:	6a 02                	push   $0x2
47e863:	8d 41 02             	lea    0x2(%ecx),%eax
47e866:	50                   	push   %eax
47e867:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e86a:	e8 e4 39 ff ff       	call   0x472253
47e86f:	8b f0                	mov    %eax,%esi
47e871:	59                   	pop    %ecx
47e872:	59                   	pop    %ecx
47e873:	85 f6                	test   %esi,%esi
47e875:	74 47                	je     0x47e8be
47e877:	8b 45 08             	mov    0x8(%ebp),%eax
47e87a:	50                   	push   %eax
47e87b:	ff 75 f8             	push   -0x8(%ebp)
47e87e:	56                   	push   %esi
47e87f:	e8 e3 95 fe ff       	call   0x467e67
47e884:	83 c4 0c             	add    $0xc,%esp
47e887:	85 c0                	test   %eax,%eax
47e889:	75 5a                	jne    0x47e8e5
47e88b:	8b 45 f4             	mov    -0xc(%ebp),%eax
47e88e:	40                   	inc    %eax
47e88f:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
47e892:	33 c0                	xor    %eax,%eax
47e894:	66 89 41 fe          	mov    %ax,-0x2(%ecx)
47e898:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
47e89c:	f7 d8                	neg    %eax
47e89e:	1b c0                	sbb    %eax,%eax
47e8a0:	f7 d0                	not    %eax
47e8a2:	23 c1                	and    %ecx,%eax
47e8a4:	50                   	push   %eax
47e8a5:	56                   	push   %esi
47e8a6:	ff 15 1c 40 49 00    	call   *0x49401c
47e8ac:	85 c0                	test   %eax,%eax
47e8ae:	75 0e                	jne    0x47e8be
47e8b0:	e8 7a e5 fc ff       	call   0x44ce2f
47e8b5:	83 cb ff             	or     $0xffffffff,%ebx
47e8b8:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
47e8be:	56                   	push   %esi
47e8bf:	e8 75 3a ff ff       	call   0x472339
47e8c4:	59                   	pop    %ecx
47e8c5:	eb 0e                	jmp    0x47e8d5
47e8c7:	e8 63 e5 fc ff       	call   0x44ce2f
47e8cc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47e8d2:	83 cb ff             	or     $0xffffffff,%ebx
47e8d5:	57                   	push   %edi
47e8d6:	e8 5e 3a ff ff       	call   0x472339
47e8db:	59                   	pop    %ecx
47e8dc:	5f                   	pop    %edi
47e8dd:	8b c3                	mov    %ebx,%eax
47e8df:	5e                   	pop    %esi
47e8e0:	5b                   	pop    %ebx
47e8e1:	8b e5                	mov    %ebp,%esp
47e8e3:	5d                   	pop    %ebp
47e8e4:	c3                   	ret
47e8e5:	53                   	push   %ebx
47e8e6:	53                   	push   %ebx