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)
5ab7e1:	75 14                	jne    0x5ab7f7
5ab7e3:	85 c9                	test   %ecx,%ecx
5ab7e5:	0f 8e 9d 01 00 00    	jle    0x5ab988
5ab7eb:	8b 45 00             	mov    0x0(%ebp),%eax
5ab7ee:	f6 00 01             	testb  $0x1,(%eax)
5ab7f1:	0f 84 91 01 00 00    	je     0x5ab988
5ab7f7:	6a 00                	push   $0x0
5ab7f9:	55                   	push   %ebp
5ab7fa:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5ab801:	00
5ab802:	e8 39 7a f0 ff       	call   0x4b3240
5ab807:	83 c4 08             	add    $0x8,%esp
5ab80a:	85 c0                	test   %eax,%eax
5ab80c:	75 1a                	jne    0x5ab828
5ab80e:	33 db                	xor    %ebx,%ebx
5ab810:	43                   	inc    %ebx
5ab811:	53                   	push   %ebx
5ab812:	55                   	push   %ebp
5ab813:	e8 28 7a f0 ff       	call   0x4b3240
5ab818:	83 c4 08             	add    $0x8,%esp
5ab81b:	85 c0                	test   %eax,%eax
5ab81d:	74 f1                	je     0x5ab810
5ab81f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5ab823:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
5ab828:	ff 74 24 10          	push   0x10(%esp)
5ab82c:	55                   	push   %ebp
5ab82d:	55                   	push   %ebp
5ab82e:	e8 ed 8e f0 ff       	call   0x4b4720
5ab833:	83 c4 0c             	add    $0xc,%esp
5ab836:	8b f0                	mov    %eax,%esi
5ab838:	f7 de                	neg    %esi
5ab83a:	1b f6                	sbb    %esi,%esi
5ab83c:	83 c6 01             	add    $0x1,%esi
5ab83f:	0f 85 4b 01 00 00    	jne    0x5ab990
5ab845:	f6 44 24 10 01       	testb  $0x1,0x10(%esp)
5ab84a:	74 23                	je     0x5ab86f
5ab84c:	39 77 04             	cmp    %esi,0x4(%edi)
5ab84f:	75 0e                	jne    0x5ab85f
5ab851:	33 c0                	xor    %eax,%eax
5ab853:	83 e0 07             	and    $0x7,%eax
5ab856:	8b 04 85 18 d5 6c 00 	mov    0x6cd518(,%eax,4),%eax
5ab85d:	eb 15                	jmp    0x5ab874
5ab85f:	8b 07                	mov    (%edi),%eax
5ab861:	8b 00                	mov    (%eax),%eax
5ab863:	83 e0 07             	and    $0x7,%eax
5ab866:	8b 04 85 18 d5 6c 00 	mov    0x6cd518(,%eax,4),%eax
5ab86d:	eb 05                	jmp    0x5ab874
5ab86f:	b8 01 00 00 00       	mov    $0x1,%eax
5ab874:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5ab878:	89 44 24 10          	mov    %eax,0x10(%esp)
5ab87c:	74 13                	je     0x5ab891
5ab87e:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
5ab885:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
5ab889:	74 06                	je     0x5ab891
5ab88b:	f7 d8                	neg    %eax
5ab88d:	89 44 24 10          	mov    %eax,0x10(%esp)
5ab891:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5ab895:	0f 84 d9 00 00 00    	je     0x5ab974
5ab89b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5ab8a0:	33 db                	xor    %ebx,%ebx
5ab8a2:	53                   	push   %ebx
5ab8a3:	57                   	push   %edi
5ab8a4:	e8 97 79 f0 ff       	call   0x4b3240
5ab8a9:	83 c4 08             	add    $0x8,%esp
5ab8ac:	85 c0                	test   %eax,%eax
5ab8ae:	75 0f                	jne    0x5ab8bf
5ab8b0:	43                   	inc    %ebx
5ab8b1:	53                   	push   %ebx
5ab8b2:	57                   	push   %edi
5ab8b3:	e8 88 79 f0 ff       	call   0x4b3240
5ab8b8:	83 c4 08             	add    $0x8,%esp
5ab8bb:	85 c0                	test   %eax,%eax
5ab8bd:	74 f1                	je     0x5ab8b0
5ab8bf:	53                   	push   %ebx
5ab8c0:	57                   	push   %edi
5ab8c1:	57                   	push   %edi
5ab8c2:	e8 59 8e f0 ff       	call   0x4b4720
5ab8c7:	83 c4 0c             	add    $0xc,%esp
5ab8ca:	8b f0                	mov    %eax,%esi
5ab8cc:	f7 de                	neg    %esi
5ab8ce:	1b f6                	sbb    %esi,%esi
5ab8d0:	83 c6 01             	add    $0x1,%esi
5ab8d3:	0f 85 b3 00 00 00    	jne    0x5ab98c
5ab8d9:	f6 c3 01             	test   $0x1,%bl
5ab8dc:	74 23                	je     0x5ab901
5ab8de:	39 75 04             	cmp    %esi,0x4(%ebp)
5ab8e1:	75 04                	jne    0x5ab8e7
5ab8e3:	33 c0                	xor    %eax,%eax
5ab8e5:	eb 05                	jmp    0x5ab8ec
5ab8e7:	8b 45 00             	mov    0x0(%ebp),%eax
5ab8ea:	8b 00                	mov    (%eax),%eax
5ab8ec:	83 e0 07             	and    $0x7,%eax
5ab8ef:	8b 1c 85 18 d5 6c 00 	mov    0x6cd518(,%eax,4),%ebx
5ab8f6:	0f af 5c 24 10       	imul   0x10(%esp),%ebx
5ab8fb:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5ab8ff:	eb 04                	jmp    0x5ab905
5ab901:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5ab905:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
5ab909:	74 14                	je     0x5ab91f
5ab90b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5ab90f:	75 06                	jne    0x5ab917
5ab911:	33 c9                	xor    %ecx,%ecx
5ab913:	f7 d1                	not    %ecx
5ab915:	eb 16                	jmp    0x5ab92d
5ab917:	8b 07                	mov    (%edi),%eax
5ab919:	8b 08                	mov    (%eax),%ecx
5ab91b:	f7 d1                	not    %ecx
5ab91d:	eb 0e                	jmp    0x5ab92d
5ab91f:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5ab923:	75 04                	jne    0x5ab929
5ab925:	33 c9                	xor    %ecx,%ecx
5ab927:	eb 04                	jmp    0x5ab92d
5ab929:	8b 07                	mov    (%edi),%eax
5ab92b:	8b 08                	mov    (%eax),%ecx
5ab92d:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
5ab931:	75 04                	jne    0x5ab937
5ab933:	33 c0                	xor    %eax,%eax
5ab935:	eb 05                	jmp    0x5ab93c
5ab937:	8b 45 00             	mov    0x0(%ebp),%eax
5ab93a:	8b 00                	mov    (%eax),%eax
5ab93c:	23 c1                	and    %ecx,%eax
5ab93e:	a8 02                	test   $0x2,%al
5ab940:	74 06                	je     0x5ab948
5ab942:	f7 db                	neg    %ebx
5ab944:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5ab948:	ff 74 24 20          	push   0x20(%esp)
5ab94c:	57                   	push   %edi
5ab94d:	55                   	push   %ebp
5ab94e:	55                   	push   %ebp
5ab94f:	e8 fc 33 fc ff       	call   0x56ed50
5ab954:	83 c4 10             	add    $0x10,%esp
5ab957:	8b f0                	mov    %eax,%esi
5ab959:	f7 de                	neg    %esi
5ab95b:	1b f6                	sbb    %esi,%esi
5ab95d:	83 c6 01             	add    $0x1,%esi
5ab960:	75 2e                	jne    0x5ab990
5ab962:	8b c7                	mov    %edi,%eax
5ab964:	8b fd                	mov    %ebp,%edi
5ab966:	8b e8                	mov    %eax,%ebp
5ab968:	89 70 0c             	mov    %esi,0xc(%eax)
5ab96b:	39 77 04             	cmp    %esi,0x4(%edi)
5ab96e:	0f 85 2c ff ff ff    	jne    0x5ab8a0
5ab974:	83 7d 04 01          	cmpl   $0x1,0x4(%ebp)
5ab978:	75 0e                	jne    0x5ab988
5ab97a:	8b 45 00             	mov    0x0(%ebp),%eax
5ab97d:	83 38 01             	cmpl   $0x1,(%eax)
5ab980:	75 06                	jne    0x5ab988
5ab982:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5ab986:	74 04                	je     0x5ab98c
5ab988:	33 db                	xor    %ebx,%ebx
5ab98a:	eb 04                	jmp    0x5ab990
5ab98c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5ab990:	ff 74 24 20          	push   0x20(%esp)
5ab994:	e8 b7 c3 f2 ff       	call   0x4d7d50
5ab999:	83 c4 04             	add    $0x4,%esp
5ab99c:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5ab9a1:	85 f6                	test   %esi,%esi
5ab9a3:	0f 45 d8             	cmovne %eax,%ebx
5ab9a6:	5f                   	pop    %edi
5ab9a7:	5e                   	pop    %esi
5ab9a8:	5d                   	pop    %ebp
5ab9a9:	8b c3                	mov    %ebx,%eax
5ab9ab:	5b                   	pop    %ebx
5ab9ac:	59                   	pop    %ecx
5ab9ad:	c3                   	ret
5ab9ae:	cc                   	int3
5ab9af:	cc                   	int3
5ab9b0:	b8 18 00 00 00       	mov    $0x18,%eax
5ab9b5:	e8 36 5b 03 00       	call   0x5e14f0
5ab9ba:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5ab9be:	53                   	push   %ebx
5ab9bf:	8b 5c 24 28          	mov    0x28(%esp),%ebx
5ab9c3:	55                   	push   %ebp
5ab9c4:	8b 6c 24 30          	mov    0x30(%esp),%ebp
5ab9c8:	56                   	push   %esi