5a65c5:	57                   	push   %edi
5a65c6:	33 ff                	xor    %edi,%edi
5a65c8:	85 db                	test   %ebx,%ebx
5a65ca:	75 05                	jne    0x5a65d1
5a65cc:	5f                   	pop    %edi
5a65cd:	33 c0                	xor    %eax,%eax
5a65cf:	5b                   	pop    %ebx
5a65d0:	c3                   	ret
5a65d1:	8b 03                	mov    (%ebx),%eax
5a65d3:	55                   	push   %ebp
5a65d4:	56                   	push   %esi
5a65d5:	85 c0                	test   %eax,%eax
5a65d7:	75 25                	jne    0x5a65fe
5a65d9:	6a 01                	push   $0x1
5a65db:	68 9c 9b 6a 00       	push   $0x6a9b9c
5a65e0:	ff 74 24 1c          	push   0x1c(%esp)
5a65e4:	e8 67 c5 f0 ff       	call   0x4b2b50
5a65e9:	83 c4 0c             	add    $0xc,%esp
5a65ec:	83 f8 01             	cmp    $0x1,%eax
5a65ef:	0f 85 94 00 00 00    	jne    0x5a6689
5a65f5:	8b f8                	mov    %eax,%edi
5a65f7:	5e                   	pop    %esi
5a65f8:	5d                   	pop    %ebp
5a65f9:	8b c7                	mov    %edi,%eax
5a65fb:	5f                   	pop    %edi
5a65fc:	5b                   	pop    %ebx
5a65fd:	c3                   	ret
5a65fe:	33 f6                	xor    %esi,%esi
5a6600:	85 c0                	test   %eax,%eax
5a6602:	7e f3                	jle    0x5a65f7
5a6604:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5a6608:	85 f6                	test   %esi,%esi
5a660a:	74 33                	je     0x5a663f
5a660c:	b8 eb a0 0e ea       	mov    $0xea0ea0eb,%eax
5a6611:	8b ce                	mov    %esi,%ecx
5a6613:	f7 ee                	imul   %esi
5a6615:	03 d6                	add    %esi,%edx
5a6617:	c1 fa 05             	sar    $0x5,%edx
5a661a:	8b c2                	mov    %edx,%eax
5a661c:	c1 e8 1f             	shr    $0x1f,%eax
5a661f:	03 c2                	add    %edx,%eax
5a6621:	6b c0 23             	imul   $0x23,%eax,%eax
5a6624:	2b c8                	sub    %eax,%ecx
5a6626:	75 17                	jne    0x5a663f
5a6628:	6a 02                	push   $0x2
5a662a:	68 dc 37 6c 00       	push   $0x6c37dc
5a662f:	55                   	push   %ebp
5a6630:	e8 1b c5 f0 ff       	call   0x4b2b50
5a6635:	83 c4 0c             	add    $0xc,%esp
5a6638:	83 f8 02             	cmp    $0x2,%eax
5a663b:	75 4c                	jne    0x5a6689
5a663d:	03 f8                	add    %eax,%edi
5a663f:	8b 53 08             	mov    0x8(%ebx),%edx
5a6642:	8b 0d 58 4c 72 00    	mov    0x724c58,%ecx
5a6648:	6a 02                	push   $0x2
5a664a:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
5a664e:	c1 e8 04             	shr    $0x4,%eax
5a6651:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
5a6655:	88 44 24 1c          	mov    %al,0x1c(%esp)
5a6659:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
5a665d:	83 e0 0f             	and    $0xf,%eax
5a6660:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
5a6664:	88 44 24 1d          	mov    %al,0x1d(%esp)
5a6668:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a666c:	50                   	push   %eax
5a666d:	55                   	push   %ebp
5a666e:	e8 dd c4 f0 ff       	call   0x4b2b50
5a6673:	83 c4 0c             	add    $0xc,%esp
5a6676:	83 f8 02             	cmp    $0x2,%eax
5a6679:	75 0e                	jne    0x5a6689
5a667b:	46                   	inc    %esi
5a667c:	03 f8                	add    %eax,%edi
5a667e:	3b 33                	cmp    (%ebx),%esi
5a6680:	7c 86                	jl     0x5a6608
5a6682:	5e                   	pop    %esi
5a6683:	5d                   	pop    %ebp
5a6684:	8b c7                	mov    %edi,%eax
5a6686:	5f                   	pop    %edi
5a6687:	5b                   	pop    %ebx
5a6688:	c3                   	ret
5a6689:	5e                   	pop    %esi
5a668a:	5d                   	pop    %ebp
5a668b:	5f                   	pop    %edi
5a668c:	83 c8 ff             	or     $0xffffffff,%eax
5a668f:	5b                   	pop    %ebx
5a6690:	c3                   	ret
5a6691:	cc                   	int3
5a6692:	cc                   	int3
5a6693:	cc                   	int3
5a6694:	cc                   	int3
5a6695:	cc                   	int3
5a6696:	cc                   	int3
5a6697:	cc                   	int3
5a6698:	cc                   	int3
5a6699:	cc                   	int3
5a669a:	cc                   	int3
5a669b:	cc                   	int3
5a669c:	cc                   	int3
5a669d:	cc                   	int3
5a669e:	cc                   	int3
5a669f:	cc                   	int3
5a66a0:	56                   	push   %esi
5a66a1:	8b 74 24 08          	mov    0x8(%esp),%esi
5a66a5:	8d 46 48             	lea    0x48(%esi),%eax
5a66a8:	50                   	push   %eax
5a66a9:	e8 72 cb f0 ff       	call   0x4b3220
5a66ae:	8d 46 74             	lea    0x74(%esi),%eax
5a66b1:	50                   	push   %eax
5a66b2:	e8 69 cb f0 ff       	call   0x4b3220
5a66b7:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
5a66bd:	50                   	push   %eax
5a66be:	e8 5d cb f0 ff       	call   0x4b3220
5a66c3:	83 c4 0c             	add    $0xc,%esp
5a66c6:	c7 86 9c 00 00 00 00 	movl   $0x0,0x9c(%esi)
5a66cd:	00 00 00
5a66d0:	b8 01 00 00 00       	mov    $0x1,%eax
5a66d5:	5e                   	pop    %esi
5a66d6:	c3                   	ret
5a66d7:	cc                   	int3
5a66d8:	cc                   	int3
5a66d9:	cc                   	int3
5a66da:	cc                   	int3
5a66db:	cc                   	int3
5a66dc:	cc                   	int3
5a66dd:	cc                   	int3
5a66de:	cc                   	int3
5a66df:	cc                   	int3
5a66e0:	56                   	push   %esi
5a66e1:	8b 74 24 08          	mov    0x8(%esp),%esi
5a66e5:	8d 46 48             	lea    0x48(%esi),%eax
5a66e8:	50                   	push   %eax
5a66e9:	e8 82 c6 f0 ff       	call   0x4b2d70
5a66ee:	8d 46 74             	lea    0x74(%esi),%eax
5a66f1:	50                   	push   %eax
5a66f2:	e8 79 c6 f0 ff       	call   0x4b2d70
5a66f7:	83 c4 08             	add    $0x8,%esp
5a66fa:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
5a6700:	5e                   	pop    %esi
5a6701:	89 44 24 04          	mov    %eax,0x4(%esp)
5a6705:	e9 66 c6 f0 ff       	jmp    0x4b2d70
5a670a:	cc                   	int3
5a670b:	cc                   	int3
5a670c:	cc                   	int3
5a670d:	cc                   	int3
5a670e:	cc                   	int3
5a670f:	cc                   	int3
5a6710:	56                   	push   %esi
5a6711:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a6715:	57                   	push   %edi
5a6716:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a671a:	8d 46 48             	lea    0x48(%esi),%eax
5a671d:	50                   	push   %eax
5a671e:	8d 47 48             	lea    0x48(%edi),%eax
5a6721:	50                   	push   %eax
5a6722:	e8 a9 c9 f0 ff       	call   0x4b30d0
5a6727:	83 c4 08             	add    $0x8,%esp
5a672a:	85 c0                	test   %eax,%eax
5a672c:	75 05                	jne    0x5a6733
5a672e:	5f                   	pop    %edi
5a672f:	33 c0                	xor    %eax,%eax
5a6731:	5e                   	pop    %esi
5a6732:	c3                   	ret
5a6733:	8d 46 74             	lea    0x74(%esi),%eax
5a6736:	50                   	push   %eax
5a6737:	8d 47 74             	lea    0x74(%edi),%eax
5a673a:	50                   	push   %eax
5a673b:	e8 90 c9 f0 ff       	call   0x4b30d0
5a6740:	83 c4 08             	add    $0x8,%esp
5a6743:	85 c0                	test   %eax,%eax
5a6745:	74 e7                	je     0x5a672e
5a6747:	8d 86 88 00 00 00    	lea    0x88(%esi),%eax
5a674d:	50                   	push   %eax
5a674e:	8d 87 88 00 00 00    	lea    0x88(%edi),%eax
5a6754:	50                   	push   %eax
5a6755:	e8 76 c9 f0 ff       	call   0x4b30d0
5a675a:	83 c4 08             	add    $0x8,%esp
5a675d:	85 c0                	test   %eax,%eax
5a675f:	74 cd                	je     0x5a672e
5a6761:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
5a6767:	89 87 9c 00 00 00    	mov    %eax,0x9c(%edi)
5a676d:	b8 01 00 00 00       	mov    $0x1,%eax
5a6772:	5f                   	pop    %edi
5a6773:	5e                   	pop    %esi
5a6774:	c3                   	ret
5a6775:	cc                   	int3
5a6776:	cc                   	int3
5a6777:	cc                   	int3
5a6778:	cc                   	int3
5a6779:	cc                   	int3
5a677a:	cc                   	int3
5a677b:	cc                   	int3
5a677c:	cc                   	int3
5a677d:	cc                   	int3
5a677e:	cc                   	int3
5a677f:	cc                   	int3
5a6780:	b8 04 00 00 00       	mov    $0x4,%eax
5a6785:	e8 66 ad 03 00       	call   0x5e14f0
5a678a:	53                   	push   %ebx
5a678b:	55                   	push   %ebp
5a678c:	57                   	push   %edi
5a678d:	8b 7c 24 18          	mov    0x18(%esp),%edi
5a6791:	33 db                	xor    %ebx,%ebx
5a6793:	57                   	push   %edi
5a6794:	33 ed                	xor    %ebp,%ebp
5a6796:	e8 d5 cb f0 ff       	call   0x4b3370
5a679b:	83 c4 04             	add    $0x4,%esp
5a679e:	83 f8 02             	cmp    $0x2,%eax
5a67a1:	0f 8e 41 01 00 00    	jle    0x5a68e8
5a67a7:	39 5f 04             	cmp    %ebx,0x4(%edi)
5a67aa:	0f 8e 38 01 00 00    	jle    0x5a68e8
5a67b0:	8b 07                	mov    (%edi),%eax
5a67b2:	f6 00 01             	testb  $0x1,(%eax)
5a67b5:	0f 84 2d 01 00 00    	je     0x5a68e8
5a67bb:	56                   	push   %esi
5a67bc:	8b 74 24 28          	mov    0x28(%esp),%esi
5a67c0:	85 f6                	test   %esi,%esi
5a67c2:	75 13                	jne    0x5a67d7
5a67c4:	e8 57 16 f3 ff       	call   0x4d7e20
5a67c9:	8b e8                	mov    %eax,%ebp
5a67cb:	8b f5                	mov    %ebp,%esi
5a67cd:	85 ed                	test   %ebp,%ebp
5a67cf:	75 06                	jne    0x5a67d7
5a67d1:	5e                   	pop    %esi
5a67d2:	5f                   	pop    %edi
5a67d3:	5d                   	pop    %ebp
5a67d4:	5b                   	pop    %ebx
5a67d5:	59                   	pop    %ecx
5a67d6:	c3                   	ret
5a67d7:	56                   	push   %esi
5a67d8:	e8 c3 16 f3 ff       	call   0x4d7ea0
5a67dd:	56                   	push   %esi
5a67de:	e8 dd 15 f3 ff       	call   0x4d7dc0
5a67e3:	83 c4 08             	add    $0x8,%esp
5a67e6:	89 44 24 10          	mov    %eax,0x10(%esp)
5a67ea:	85 c0                	test   %eax,%eax
5a67ec:	0f 84 d8 00 00 00    	je     0x5a68ca
5a67f2:	8b 5c 24 18          	mov    0x18(%esp),%ebx
5a67f6:	57                   	push   %edi
5a67f7:	8d 43 48             	lea    0x48(%ebx),%eax
5a67fa:	50                   	push   %eax
5a67fb:	e8 d0 c8 f0 ff       	call   0x4b30d0
5a6800:	83 c4 08             	add    $0x8,%esp
5a6803:	85 c0                	test   %eax,%eax
5a6805:	0f 84 bd 00 00 00    	je     0x5a68c8
5a680b:	8d 43 48             	lea    0x48(%ebx),%eax
5a680e:	6a 00                	push   $0x0
5a6810:	50                   	push   %eax
5a6811:	e8 aa cc f0 ff       	call   0x4b34c0
5a6816:	56                   	push   %esi
5a6817:	57                   	push   %edi
5a6818:	ff 74 24 30          	push   0x30(%esp)
5a681c:	ff 74 24 24          	push   0x24(%esp)
5a6820:	e8 2b 85 fc ff       	call   0x56ed50
5a6825:	83 c4 18             	add    $0x18,%esp
5a6828:	85 c0                	test   %eax,%eax
5a682a:	0f 84 98 00 00 00    	je     0x5a68c8
5a6830:	8b 03                	mov    (%ebx),%eax
5a6832:	8b 88 90 00 00 00    	mov    0x90(%eax),%ecx
5a6838:	8d 43 74             	lea    0x74(%ebx),%eax
5a683b:	85 c9                	test   %ecx,%ecx
5a683d:	74 0e                	je     0x5a684d
5a683f:	56                   	push   %esi
5a6840:	ff 74 24 14          	push   0x14(%esp)
5a6844:	50                   	push   %eax
5a6845:	53                   	push   %ebx
5a6846:	ff d1                	call   *%ecx
5a6848:	83 c4 10             	add    $0x10,%esp
5a684b:	eb 0d                	jmp    0x5a685a
5a684d:	ff 74 24 10          	push   0x10(%esp)
5a6851:	50                   	push   %eax
5a6852:	e8 79 c8 f0 ff       	call   0x4b30d0
5a6857:	83 c4 08             	add    $0x8,%esp
5a685a:	85 c0                	test   %eax,%eax
5a685c:	74 6a                	je     0x5a68c8
5a685e:	56                   	push   %esi
5a685f:	57                   	push   %edi
5a6860:	ff 74 24 2c          	push   0x2c(%esp)
5a6864:	8d 83 88 00 00 00    	lea    0x88(%ebx),%eax
5a686a:	50                   	push   %eax
5a686b:	e8 e0 84 fc ff       	call   0x56ed50
5a6870:	83 c4 10             	add    $0x10,%esp
5a6873:	85 c0                	test   %eax,%eax
5a6875:	74 51                	je     0x5a68c8
5a6877:	8b 03                	mov    (%ebx),%eax
5a6879:	8b 88 90 00 00 00    	mov    0x90(%eax),%ecx
5a687f:	85 c9                	test   %ecx,%ecx
5a6881:	74 13                	je     0x5a6896
5a6883:	56                   	push   %esi
5a6884:	8d 83 88 00 00 00    	lea    0x88(%ebx),%eax
5a688a:	50                   	push   %eax
5a688b:	50                   	push   %eax
5a688c:	53                   	push   %ebx
5a688d:	ff d1                	call   *%ecx
5a688f:	83 c4 10             	add    $0x10,%esp
5a6892:	85 c0                	test   %eax,%eax
5a6894:	74 32                	je     0x5a68c8
5a6896:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a689a:	6a 03                	push   $0x3
5a689c:	57                   	push   %edi
5a689d:	e8 3e cf f0 ff       	call   0x4b37e0
5a68a2:	83 c4 08             	add    $0x8,%esp
5a68a5:	85 c0                	test   %eax,%eax
5a68a7:	74 1f                	je     0x5a68c8
5a68a9:	8d 43 48             	lea    0x48(%ebx),%eax
5a68ac:	50                   	push   %eax
5a68ad:	57                   	push   %edi
5a68ae:	e8 0d c5 f0 ff       	call   0x4b2dc0
5a68b3:	83 c4 08             	add    $0x8,%esp
5a68b6:	f7 d8                	neg    %eax
5a68b8:	1b c0                	sbb    %eax,%eax
5a68ba:	40                   	inc    %eax
5a68bb:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
5a68c1:	bb 01 00 00 00       	mov    $0x1,%ebx
5a68c6:	eb 02                	jmp    0x5a68ca
5a68c8:	33 db                	xor    %ebx,%ebx
5a68ca:	56                   	push   %esi
5a68cb:	e8 80 14 f3 ff       	call   0x4d7d50
5a68d0:	83 c4 04             	add    $0x4,%esp
5a68d3:	85 ed                	test   %ebp,%ebp
5a68d5:	74 09                	je     0x5a68e0
5a68d7:	55                   	push   %ebp
5a68d8:	e8 b3 14 f3 ff       	call   0x4d7d90
5a68dd:	83 c4 04             	add    $0x4,%esp
5a68e0:	5e                   	pop    %esi
5a68e1:	5f                   	pop    %edi
5a68e2:	5d                   	pop    %ebp
5a68e3:	8b c3                	mov    %ebx,%eax
5a68e5:	5b                   	pop    %ebx
5a68e6:	59                   	pop    %ecx
5a68e7:	c3                   	ret
5a68e8:	68 ba 00 00 00       	push   $0xba
5a68ed:	68 ac cf 6c 00       	push   $0x6ccfac
5a68f2:	6a 67                	push   $0x67
5a68f4:	68 a6 00 00 00       	push   $0xa6
5a68f9:	6a 10                	push   $0x10
5a68fb:	e8 a0 ab ef ff       	call   0x4a14a0
5a6900:	83 c4 14             	add    $0x14,%esp
5a6903:	33 c0                	xor    %eax,%eax
5a6905:	5f                   	pop    %edi
5a6906:	5d                   	pop    %ebp
5a6907:	5b                   	pop    %ebx
5a6908:	59                   	pop    %ecx
5a6909:	c3                   	ret
5a690a:	cc                   	int3
5a690b:	cc                   	int3
5a690c:	cc                   	int3
5a690d:	cc                   	int3
5a690e:	cc                   	int3
5a690f:	cc                   	int3
5a6910:	b8 04 00 00 00       	mov    $0x4,%eax