5ab45b:	89 74 24 14          	mov    %esi,0x14(%esp)
5ab45f:	57                   	push   %edi
5ab460:	8b 7c 24 48          	mov    0x48(%esp),%edi
5ab464:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
5ab467:	8b c1                	mov    %ecx,%eax
5ab469:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5ab46d:	33 c6                	xor    %esi,%eax
5ab46f:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
5ab476:	00
5ab477:	89 44 24 20          	mov    %eax,0x20(%esp)
5ab47b:	8d 14 09             	lea    (%ecx,%ecx,1),%edx
5ab47e:	8b c2                	mov    %edx,%eax
5ab480:	89 54 24 24          	mov    %edx,0x24(%esp)
5ab484:	33 c6                	xor    %esi,%eax
5ab486:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
5ab48a:	89 44 24 28          	mov    %eax,0x28(%esp)
5ab48e:	33 d1                	xor    %ecx,%edx
5ab490:	89 54 24 2c          	mov    %edx,0x2c(%esp)
5ab494:	8b c7                	mov    %edi,%eax
5ab496:	c1 e8 03             	shr    $0x3,%eax
5ab499:	33 d6                	xor    %esi,%edx
5ab49b:	83 e0 07             	and    $0x7,%eax
5ab49e:	89 54 24 30          	mov    %edx,0x30(%esp)
5ab4a2:	8b 6c 24 40          	mov    0x40(%esp),%ebp
5ab4a6:	8b 54 84 14          	mov    0x14(%esp,%eax,4),%edx
5ab4aa:	8b c7                	mov    %edi,%eax
5ab4ac:	83 e0 07             	and    $0x7,%eax
5ab4af:	8d 34 d5 00 00 00 00 	lea    0x0(,%edx,8),%esi
5ab4b6:	c1 ea 1d             	shr    $0x1d,%edx
5ab4b9:	33 74 84 14          	xor    0x14(%esp,%eax,4),%esi
5ab4bd:	8b c7                	mov    %edi,%eax
5ab4bf:	c1 e8 06             	shr    $0x6,%eax
5ab4c2:	83 e0 07             	and    $0x7,%eax
5ab4c5:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab4c9:	8b c1                	mov    %ecx,%eax
5ab4cb:	c1 e0 06             	shl    $0x6,%eax
5ab4ce:	33 f0                	xor    %eax,%esi
5ab4d0:	c1 e9 1a             	shr    $0x1a,%ecx
5ab4d3:	33 d1                	xor    %ecx,%edx
5ab4d5:	8b c7                	mov    %edi,%eax
5ab4d7:	c1 e8 09             	shr    $0x9,%eax
5ab4da:	83 e0 07             	and    $0x7,%eax
5ab4dd:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab4e1:	8b c1                	mov    %ecx,%eax
5ab4e3:	c1 e0 09             	shl    $0x9,%eax
5ab4e6:	33 f0                	xor    %eax,%esi
5ab4e8:	c1 e9 17             	shr    $0x17,%ecx
5ab4eb:	8b c7                	mov    %edi,%eax
5ab4ed:	33 d1                	xor    %ecx,%edx
5ab4ef:	c1 e8 0c             	shr    $0xc,%eax
5ab4f2:	83 e0 07             	and    $0x7,%eax
5ab4f5:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab4f9:	8b c1                	mov    %ecx,%eax
5ab4fb:	c1 e0 0c             	shl    $0xc,%eax
5ab4fe:	33 f0                	xor    %eax,%esi
5ab500:	c1 e9 14             	shr    $0x14,%ecx
5ab503:	8b c7                	mov    %edi,%eax
5ab505:	33 d1                	xor    %ecx,%edx
5ab507:	c1 e8 0f             	shr    $0xf,%eax
5ab50a:	83 e0 07             	and    $0x7,%eax
5ab50d:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab511:	8b c1                	mov    %ecx,%eax
5ab513:	c1 e0 0f             	shl    $0xf,%eax
5ab516:	33 f0                	xor    %eax,%esi
5ab518:	c1 e9 11             	shr    $0x11,%ecx
5ab51b:	8b c7                	mov    %edi,%eax
5ab51d:	33 d1                	xor    %ecx,%edx
5ab51f:	c1 e8 12             	shr    $0x12,%eax
5ab522:	83 e0 07             	and    $0x7,%eax
5ab525:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab529:	8b c1                	mov    %ecx,%eax
5ab52b:	c1 e0 12             	shl    $0x12,%eax
5ab52e:	33 f0                	xor    %eax,%esi
5ab530:	c1 e9 0e             	shr    $0xe,%ecx
5ab533:	33 d1                	xor    %ecx,%edx
5ab535:	8b c7                	mov    %edi,%eax
5ab537:	c1 e8 15             	shr    $0x15,%eax
5ab53a:	83 e0 07             	and    $0x7,%eax
5ab53d:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab541:	8b c1                	mov    %ecx,%eax
5ab543:	c1 e0 15             	shl    $0x15,%eax
5ab546:	33 f0                	xor    %eax,%esi
5ab548:	c1 e9 0b             	shr    $0xb,%ecx
5ab54b:	33 d1                	xor    %ecx,%edx
5ab54d:	8b c7                	mov    %edi,%eax
5ab54f:	c1 e8 18             	shr    $0x18,%eax
5ab552:	83 e0 07             	and    $0x7,%eax
5ab555:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab559:	8b c1                	mov    %ecx,%eax
5ab55b:	c1 e0 18             	shl    $0x18,%eax
5ab55e:	33 f0                	xor    %eax,%esi
5ab560:	c1 e9 08             	shr    $0x8,%ecx
5ab563:	8b c7                	mov    %edi,%eax
5ab565:	33 d1                	xor    %ecx,%edx
5ab567:	c1 e8 1b             	shr    $0x1b,%eax
5ab56a:	83 e0 07             	and    $0x7,%eax
5ab56d:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab571:	8b c1                	mov    %ecx,%eax
5ab573:	c1 e0 1b             	shl    $0x1b,%eax
5ab576:	33 f0                	xor    %eax,%esi
5ab578:	c1 e9 05             	shr    $0x5,%ecx
5ab57b:	8b c7                	mov    %edi,%eax
5ab57d:	33 d1                	xor    %ecx,%edx
5ab57f:	c1 e8 1e             	shr    $0x1e,%eax
5ab582:	8b 4c 84 14          	mov    0x14(%esp,%eax,4),%ecx
5ab586:	8b c1                	mov    %ecx,%eax
5ab588:	c1 e9 02             	shr    $0x2,%ecx
5ab58b:	c1 e0 1e             	shl    $0x1e,%eax
5ab58e:	33 d1                	xor    %ecx,%edx
5ab590:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5ab594:	33 f0                	xor    %eax,%esi
5ab596:	f6 c1 01             	test   $0x1,%cl
5ab599:	74 0e                	je     0x5ab5a9
5ab59b:	8b c7                	mov    %edi,%eax
5ab59d:	c1 e0 1e             	shl    $0x1e,%eax
5ab5a0:	33 f0                	xor    %eax,%esi
5ab5a2:	8b c7                	mov    %edi,%eax
5ab5a4:	c1 e8 02             	shr    $0x2,%eax
5ab5a7:	33 d0                	xor    %eax,%edx
5ab5a9:	f6 c1 02             	test   $0x2,%cl
5ab5ac:	74 0b                	je     0x5ab5b9
5ab5ae:	8b c7                	mov    %edi,%eax
5ab5b0:	d1 ef                	shr    $1,%edi
5ab5b2:	c1 e0 1f             	shl    $0x1f,%eax
5ab5b5:	33 f0                	xor    %eax,%esi
5ab5b7:	33 d7                	xor    %edi,%edx
5ab5b9:	8b 4c 24 34          	mov    0x34(%esp),%ecx
5ab5bd:	5f                   	pop    %edi
5ab5be:	89 13                	mov    %edx,(%ebx)
5ab5c0:	89 75 00             	mov    %esi,0x0(%ebp)
5ab5c3:	5e                   	pop    %esi
5ab5c4:	5d                   	pop    %ebp
5ab5c5:	5b                   	pop    %ebx
5ab5c6:	33 cc                	xor    %esp,%ecx
5ab5c8:	e8 0d 5f 03 00       	call   0x5e14da
5ab5cd:	83 c4 28             	add    $0x28,%esp
5ab5d0:	c3                   	ret
5ab5d1:	cc                   	int3
5ab5d2:	cc                   	int3
5ab5d3:	cc                   	int3
5ab5d4:	cc                   	int3
5ab5d5:	cc                   	int3
5ab5d6:	cc                   	int3
5ab5d7:	cc                   	int3
5ab5d8:	cc                   	int3
5ab5d9:	cc                   	int3
5ab5da:	cc                   	int3
5ab5db:	cc                   	int3
5ab5dc:	cc                   	int3
5ab5dd:	cc                   	int3
5ab5de:	cc                   	int3
5ab5df:	cc                   	int3
5ab5e0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5ab5e4:	53                   	push   %ebx
5ab5e5:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5ab5e9:	56                   	push   %esi
5ab5ea:	83 f9 ff             	cmp    $0xffffffff,%ecx
5ab5ed:	75 0e                	jne    0x5ab5fd
5ab5ef:	8b cb                	mov    %ebx,%ecx
5ab5f1:	8d 51 01             	lea    0x1(%ecx),%edx
5ab5f4:	8a 01                	mov    (%ecx),%al
5ab5f6:	41                   	inc    %ecx
5ab5f7:	84 c0                	test   %al,%al
5ab5f9:	75 f9                	jne    0x5ab5f4
5ab5fb:	2b ca                	sub    %edx,%ecx
5ab5fd:	6a 4a                	push   $0x4a
5ab5ff:	8d 34 4d 02 00 00 00 	lea    0x2(,%ecx,2),%esi
5ab606:	68 e0 d4 6c 00       	push   $0x6cd4e0
5ab60b:	56                   	push   %esi
5ab60c:	e8 9f 4b ef ff       	call   0x4a01b0
5ab611:	8b d0                	mov    %eax,%edx
5ab613:	83 c4 0c             	add    $0xc,%esp
5ab616:	85 d2                	test   %edx,%edx
5ab618:	75 03                	jne    0x5ab61d
5ab61a:	5e                   	pop    %esi
5ab61b:	5b                   	pop    %ebx
5ab61c:	c3                   	ret
5ab61d:	57                   	push   %edi
5ab61e:	8d 7e fe             	lea    -0x2(%esi),%edi
5ab621:	33 c9                	xor    %ecx,%ecx
5ab623:	85 ff                	test   %edi,%edi
5ab625:	7e 16                	jle    0x5ab63d
5ab627:	8b c1                	mov    %ecx,%eax
5ab629:	c6 04 0a 00          	movb   $0x0,(%edx,%ecx,1)
5ab62d:	d1 f8                	sar    $1,%eax
5ab62f:	8a 04 18             	mov    (%eax,%ebx,1),%al
5ab632:	88 44 0a 01          	mov    %al,0x1(%edx,%ecx,1)
5ab636:	83 c1 02             	add    $0x2,%ecx
5ab639:	3b cf                	cmp    %edi,%ecx
5ab63b:	7c ea                	jl     0x5ab627
5ab63d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5ab641:	66 c7 44 32 fe 00 00 	movw   $0x0,-0x2(%edx,%esi,1)
5ab648:	5f                   	pop    %edi
5ab649:	85 c0                	test   %eax,%eax
5ab64b:	74 02                	je     0x5ab64f
5ab64d:	89 30                	mov    %esi,(%eax)
5ab64f:	8b 44 24 14          	mov    0x14(%esp),%eax
5ab653:	85 c0                	test   %eax,%eax
5ab655:	74 02                	je     0x5ab659
5ab657:	89 10                	mov    %edx,(%eax)
5ab659:	5e                   	pop    %esi
5ab65a:	8b c2                	mov    %edx,%eax
5ab65c:	5b                   	pop    %ebx
5ab65d:	c3                   	ret
5ab65e:	cc                   	int3
5ab65f:	cc                   	int3
5ab660:	8b 44 24 08          	mov    0x8(%esp),%eax
5ab664:	85 c0                	test   %eax,%eax
5ab666:	75 2c                	jne    0x5ab694
5ab668:	50                   	push   %eax
5ab669:	50                   	push   %eax
5ab66a:	e8 61 8b fe ff       	call   0x5941d0
5ab66f:	83 c4 08             	add    $0x8,%esp
5ab672:	85 c0                	test   %eax,%eax
5ab674:	75 1e                	jne    0x5ab694
5ab676:	68 90 00 00 00       	push   $0x90
5ab67b:	68 fc d4 6c 00       	push   $0x6cd4fc
5ab680:	6a 41                	push   $0x41
5ab682:	68 87 00 00 00       	push   $0x87
5ab687:	6a 21                	push   $0x21
5ab689:	e8 12 5e ef ff       	call   0x4a14a0
5ab68e:	83 c4 14             	add    $0x14,%esp
5ab691:	33 c0                	xor    %eax,%eax
5ab693:	c3                   	ret
5ab694:	50                   	push   %eax
5ab695:	6a 17                	push   $0x17
5ab697:	6a 34                	push   $0x34
5ab699:	ff 74 24 10          	push   0x10(%esp)
5ab69d:	e8 1e 28 ff ff       	call   0x59dec0
5ab6a2:	83 c4 10             	add    $0x10,%esp
5ab6a5:	c3                   	ret
5ab6a6:	cc                   	int3
5ab6a7:	cc                   	int3
5ab6a8:	cc                   	int3
5ab6a9:	cc                   	int3
5ab6aa:	cc                   	int3
5ab6ab:	cc                   	int3
5ab6ac:	cc                   	int3
5ab6ad:	cc                   	int3
5ab6ae:	cc                   	int3
5ab6af:	cc                   	int3
5ab6b0:	56                   	push   %esi
5ab6b1:	e8 da 85 f0 ff       	call   0x4b3c90
5ab6b6:	8b f0                	mov    %eax,%esi
5ab6b8:	85 f6                	test   %esi,%esi
5ab6ba:	74 3a                	je     0x5ab6f6
5ab6bc:	ff 74 24 10          	push   0x10(%esp)
5ab6c0:	ff 74 24 10          	push   0x10(%esp)
5ab6c4:	56                   	push   %esi
5ab6c5:	e8 46 63 f0 ff       	call   0x4b1a10
5ab6ca:	83 c4 0c             	add    $0xc,%esp
5ab6cd:	85 c0                	test   %eax,%eax
5ab6cf:	74 1c                	je     0x5ab6ed
5ab6d1:	56                   	push   %esi
5ab6d2:	6a 04                	push   $0x4
5ab6d4:	6a 33                	push   $0x33
5ab6d6:	ff 74 24 14          	push   0x14(%esp)
5ab6da:	e8 e1 27 ff ff       	call   0x59dec0
5ab6df:	83 c4 10             	add    $0x10,%esp
5ab6e2:	85 c0                	test   %eax,%eax
5ab6e4:	74 07                	je     0x5ab6ed
5ab6e6:	b8 01 00 00 00       	mov    $0x1,%eax
5ab6eb:	5e                   	pop    %esi
5ab6ec:	c3                   	ret
5ab6ed:	56                   	push   %esi
5ab6ee:	e8 6d 85 f0 ff       	call   0x4b3c60
5ab6f3:	83 c4 04             	add    $0x4,%esp
5ab6f6:	33 c0                	xor    %eax,%eax
5ab6f8:	5e                   	pop    %esi
5ab6f9:	c3                   	ret
5ab6fa:	cc                   	int3
5ab6fb:	cc                   	int3
5ab6fc:	cc                   	int3
5ab6fd:	cc                   	int3
5ab6fe:	cc                   	int3
5ab6ff:	cc                   	int3
5ab700:	56                   	push   %esi
5ab701:	8b 74 24 08          	mov    0x8(%esp),%esi
5ab705:	ff 76 04             	push   0x4(%esi)
5ab708:	e8 f3 b6 ef ff       	call   0x4a6e00
5ab70d:	83 c4 04             	add    $0x4,%esp
5ab710:	f6 06 04             	testb  $0x4,(%esi)
5ab713:	75 10                	jne    0x5ab725
5ab715:	68 70 90 59 00       	push   $0x599070
5ab71a:	ff 76 08             	push   0x8(%esi)
5ab71d:	e8 1e 2f f0 ff       	call   0x4ae640
5ab722:	83 c4 08             	add    $0x8,%esp
5ab725:	68 00 6e 4a 00       	push   $0x4a6e00
5ab72a:	ff 76 0c             	push   0xc(%esi)
5ab72d:	e8 0e 2f f0 ff       	call   0x4ae640
5ab732:	56                   	push   %esi
5ab733:	e8 f8 49 ef ff       	call   0x4a0130
5ab738:	83 c4 0c             	add    $0xc,%esp
5ab73b:	5e                   	pop    %esi
5ab73c:	c3                   	ret
5ab73d:	cc                   	int3
5ab73e:	cc                   	int3
5ab73f:	cc                   	int3
5ab740:	b8 04 00 00 00       	mov    $0x4,%eax
5ab745:	e8 a6 5d 03 00       	call   0x5e14f0
5ab74a:	53                   	push   %ebx
5ab74b:	55                   	push   %ebp
5ab74c:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5ab750:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
5ab755:	56                   	push   %esi
5ab756:	57                   	push   %edi
5ab757:	55                   	push   %ebp
5ab758:	33 f6                	xor    %esi,%esi
5ab75a:	e8 41 c7 f2 ff       	call   0x4d7ea0
5ab75f:	55                   	push   %ebp
5ab760:	e8 5b c6 f2 ff       	call   0x4d7dc0
5ab765:	55                   	push   %ebp
5ab766:	8b f8                	mov    %eax,%edi
5ab768:	e8 53 c6 f2 ff       	call   0x4d7dc0
5ab76d:	8b e8                	mov    %eax,%ebp
5ab76f:	83 c4 0c             	add    $0xc,%esp
5ab772:	85 ed                	test   %ebp,%ebp
5ab774:	0f 84 16 02 00 00    	je     0x5ab990
5ab77a:	ff 74 24 18          	push   0x18(%esp)
5ab77e:	57                   	push   %edi
5ab77f:	e8 4c 79 f0 ff       	call   0x4b30d0
5ab784:	83 c4 08             	add    $0x8,%esp
5ab787:	8b f0                	mov    %eax,%esi
5ab789:	f7 de                	neg    %esi
5ab78b:	1b f6                	sbb    %esi,%esi
5ab78d:	83 c6 01             	add    $0x1,%esi
5ab790:	0f 85 fa 01 00 00    	jne    0x5ab990
5ab796:	ff 74 24 1c          	push   0x1c(%esp)
5ab79a:	55                   	push   %ebp
5ab79b:	e8 30 79 f0 ff       	call   0x4b30d0
5ab7a0:	83 c4 08             	add    $0x8,%esp
5ab7a3:	8b f0                	mov    %eax,%esi
5ab7a5:	f7 de                	neg    %esi
5ab7a7:	1b f6                	sbb    %esi,%esi
5ab7a9:	83 c6 01             	add    $0x1,%esi
5ab7ac:	0f 85 de 01 00 00    	jne    0x5ab990
5ab7b2:	8b 4d 04             	mov    0x4(%ebp),%ecx
5ab7b5:	85 c9                	test   %ecx,%ecx
5ab7b7:	75 1d                	jne    0x5ab7d6
5ab7b9:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
5ab7bd:	0f 85 c5 01 00 00    	jne    0x5ab988
5ab7c3:	8b 07                	mov    (%edi),%eax
5ab7c5:	83 38 01             	cmpl   $0x1,(%eax)
5ab7c8:	0f 85 ba 01 00 00    	jne    0x5ab988
5ab7ce:	8d 5e 01             	lea    0x1(%esi),%ebx
5ab7d1:	e9 ba 01 00 00       	jmp    0x5ab990
5ab7d6:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5ab7da:	7e 07                	jle    0x5ab7e3
5ab7dc:	8b 07                	mov    (%edi),%eax
5ab7de:	f6 00 01             	testb  $0x1,(%eax)