afa604:	53                   	push   %ebx
afa605:	56                   	push   %esi
afa606:	8b f1                	mov    %ecx,%esi
afa608:	33 db                	xor    %ebx,%ebx
afa60a:	57                   	push   %edi
afa60b:	8b 7e 04             	mov    0x4(%esi),%edi
afa60e:	8b 56 08             	mov    0x8(%esi),%edx
afa611:	4f                   	dec    %edi
afa612:	8b 46 0c             	mov    0xc(%esi),%eax
afa615:	23 d7                	and    %edi,%edx
afa617:	89 7e 04             	mov    %edi,0x4(%esi)
afa61a:	8d 04 90             	lea    (%eax,%edx,4),%eax
afa61d:	87 18                	xchg   %ebx,(%eax)
afa61f:	85 db                	test   %ebx,%ebx
afa621:	75 06                	jne    0xafa629
afa623:	8d 47 01             	lea    0x1(%edi),%eax
afa626:	89 46 04             	mov    %eax,0x4(%esi)
afa629:	f6 c3 01             	test   $0x1,%bl
afa62c:	74 1e                	je     0xafa64c
afa62e:	8b 4e 08             	mov    0x8(%esi),%ecx
afa631:	83 e3 fe             	and    $0xfffffffe,%ebx
afa634:	8b 46 10             	mov    0x10(%esi),%eax
afa637:	23 cf                	and    %edi,%ecx
afa639:	6a 00                	push   $0x0
afa63b:	8d 0c c8             	lea    (%eax,%ecx,8),%ecx
afa63e:	e8 60 e9 90 ff       	call   0x408fa3
afa643:	84 c0                	test   %al,%al
afa645:	75 05                	jne    0xafa64c
afa647:	33 c0                	xor    %eax,%eax
afa649:	40                   	inc    %eax
afa64a:	eb 02                	jmp    0xafa64e
afa64c:	8b c3                	mov    %ebx,%eax
afa64e:	5f                   	pop    %edi
afa64f:	5e                   	pop    %esi
afa650:	5b                   	pop    %ebx
afa651:	c3                   	ret
afa652:	cc                   	int3
afa653:	cc                   	int3
afa654:	cc                   	int3
afa655:	cc                   	int3
afa656:	cc                   	int3
afa657:	cc                   	int3
afa658:	cc                   	int3
afa659:	cc                   	int3
afa65a:	cc                   	int3
afa65b:	cc                   	int3
afa65c:	cc                   	int3
afa65d:	cc                   	int3
afa65e:	cc                   	int3
afa65f:	cc                   	int3
afa660:	cc                   	int3
afa661:	cc                   	int3
afa662:	cc                   	int3
afa663:	cc                   	int3
afa664:	cc                   	int3
afa665:	53                   	push   %ebx
afa666:	8b d1                	mov    %ecx,%edx
afa668:	56                   	push   %esi
afa669:	57                   	push   %edi
afa66a:	8d 7a 04             	lea    0x4(%edx),%edi
afa66d:	8b 37                	mov    (%edi),%esi
afa66f:	4e                   	dec    %esi
afa670:	8b c6                	mov    %esi,%eax
afa672:	87 07                	xchg   %eax,(%edi)
afa674:	39 32                	cmp    %esi,(%edx)
afa676:	7f 38                	jg     0xafa6b0
afa678:	8b 4a 08             	mov    0x8(%edx),%ecx
afa67b:	8b 42 1c             	mov    0x1c(%edx),%eax
afa67e:	23 ce                	and    %esi,%ecx
afa680:	8b 1c 88             	mov    (%eax,%ecx,4),%ebx
afa683:	85 db                	test   %ebx,%ebx
afa685:	74 e6                	je     0xafa66d
afa687:	f6 c3 01             	test   $0x1,%bl
afa68a:	74 20                	je     0xafa6ac
afa68c:	8b 4a 08             	mov    0x8(%edx),%ecx
afa68f:	83 e3 fe             	and    $0xfffffffe,%ebx
afa692:	8b 42 20             	mov    0x20(%edx),%eax
afa695:	23 ce                	and    %esi,%ecx
afa697:	6a 00                	push   $0x0
afa699:	8d 0c c8             	lea    (%eax,%ecx,8),%ecx
afa69c:	e8 02 e9 90 ff       	call   0x408fa3
afa6a1:	84 c0                	test   %al,%al
afa6a3:	75 07                	jne    0xafa6ac
afa6a5:	33 c0                	xor    %eax,%eax
afa6a7:	40                   	inc    %eax
afa6a8:	5f                   	pop    %edi
afa6a9:	5e                   	pop    %esi
afa6aa:	5b                   	pop    %ebx
afa6ab:	c3                   	ret
afa6ac:	8b c3                	mov    %ebx,%eax
afa6ae:	eb f8                	jmp    0xafa6a8
afa6b0:	8d 46 01             	lea    0x1(%esi),%eax
afa6b3:	8b ca                	mov    %edx,%ecx
afa6b5:	89 07                	mov    %eax,(%edi)
afa6b7:	5f                   	pop    %edi
afa6b8:	5e                   	pop    %esi
afa6b9:	5b                   	pop    %ebx
afa6ba:	e9 3f 47 91 ff       	jmp    0x40edfe
afa6bf:	cc                   	int3
afa6c0:	cc                   	int3
afa6c1:	cc                   	int3
afa6c2:	cc                   	int3
afa6c3:	cc                   	int3
afa6c4:	cc                   	int3
afa6c5:	cc                   	int3
afa6c6:	cc                   	int3
afa6c7:	cc                   	int3
afa6c8:	cc                   	int3
afa6c9:	cc                   	int3
afa6ca:	cc                   	int3
afa6cb:	cc                   	int3
afa6cc:	cc                   	int3
afa6cd:	cc                   	int3
afa6ce:	cc                   	int3
afa6cf:	cc                   	int3
afa6d0:	cc                   	int3
afa6d1:	cc                   	int3
afa6d2:	cc                   	int3
afa6d3:	cc                   	int3
afa6d4:	cc                   	int3
afa6d5:	ff 89 8c 00 00 00    	decl   0x8c(%ecx)
afa6db:	c3                   	ret
afa6dc:	56                   	push   %esi
afa6dd:	57                   	push   %edi
afa6de:	8b f9                	mov    %ecx,%edi
afa6e0:	8b 77 24             	mov    0x24(%edi),%esi
afa6e3:	56                   	push   %esi
afa6e4:	ff 35 88 2b d8 00    	push   0xd82b88
afa6ea:	e8 2d be 92 ff       	call   0x42651c
afa6ef:	83 67 24 00          	andl   $0x0,0x24(%edi)
afa6f3:	8b c6                	mov    %esi,%eax
afa6f5:	59                   	pop    %ecx
afa6f6:	59                   	pop    %ecx
afa6f7:	5f                   	pop    %edi
afa6f8:	5e                   	pop    %esi
afa6f9:	c3                   	ret
afa6fa:	cc                   	int3
afa6fb:	cc                   	int3
afa6fc:	cc                   	int3
afa6fd:	cc                   	int3
afa6fe:	cc                   	int3
afa6ff:	cc                   	int3
afa700:	cc                   	int3
afa701:	56                   	push   %esi
afa702:	57                   	push   %edi
afa703:	8b f9                	mov    %ecx,%edi
afa705:	8b 4f 34             	mov    0x34(%edi),%ecx
afa708:	e8 1c 61 92 ff       	call   0x420829
afa70d:	8b f0                	mov    %eax,%esi
afa70f:	85 f6                	test   %esi,%esi
afa711:	74 42                	je     0xafa755
afa713:	3b 77 30             	cmp    0x30(%edi),%esi
afa716:	74 1a                	je     0xafa732
afa718:	6a 00                	push   $0x0
afa71a:	8b ce                	mov    %esi,%ecx
afa71c:	e8 2e a8 93 ff       	call   0x434f4f
afa721:	85 c0                	test   %eax,%eax
afa723:	75 0d                	jne    0xafa732
afa725:	8b ce                	mov    %esi,%ecx
afa727:	e8 fd 60 92 ff       	call   0x420829
afa72c:	8b f0                	mov    %eax,%esi
afa72e:	85 f6                	test   %esi,%esi
afa730:	75 e1                	jne    0xafa713
afa732:	85 f6                	test   %esi,%esi
afa734:	74 1f                	je     0xafa755
afa736:	3b 77 30             	cmp    0x30(%edi),%esi
afa739:	74 1a                	je     0xafa755
afa73b:	6a 00                	push   $0x0
afa73d:	8b ce                	mov    %esi,%ecx
afa73f:	e8 0b a8 93 ff       	call   0x434f4f
afa744:	89 47 38             	mov    %eax,0x38(%edi)
afa747:	8b 46 04             	mov    0x4(%esi),%eax
afa74a:	c1 e0 04             	shl    $0x4,%eax
afa74d:	c1 f8 04             	sar    $0x4,%eax
afa750:	89 47 3c             	mov    %eax,0x3c(%edi)
afa753:	eb 08                	jmp    0xafa75d
afa755:	83 67 38 00          	andl   $0x0,0x38(%edi)
afa759:	83 4f 3c ff          	orl    $0xffffffff,0x3c(%edi)
afa75d:	5f                   	pop    %edi
afa75e:	5e                   	pop    %esi
afa75f:	c2 04 00             	ret    $0x4
afa762:	cc                   	int3
afa763:	cc                   	int3
afa764:	cc                   	int3
afa765:	cc                   	int3
afa766:	cc                   	int3
afa767:	cc                   	int3
afa768:	cc                   	int3
afa769:	cc                   	int3
afa76a:	cc                   	int3
afa76b:	cc                   	int3
afa76c:	cc                   	int3
afa76d:	cc                   	int3
afa76e:	cc                   	int3
afa76f:	cc                   	int3
afa770:	cc                   	int3
afa771:	cc                   	int3
afa772:	cc                   	int3
afa773:	cc                   	int3
afa774:	cc                   	int3
afa775:	cc                   	int3
afa776:	cc                   	int3
afa777:	cc                   	int3
afa778:	cc                   	int3
afa779:	cc                   	int3
afa77a:	8b 49 20             	mov    0x20(%ecx),%ecx
afa77d:	e9 29 2a 92 ff       	jmp    0x41d1ab
afa782:	cc                   	int3
afa783:	cc                   	int3
afa784:	e9 22 2a 92 ff       	jmp    0x41d1ab
afa789:	51                   	push   %ecx
afa78a:	ff 15 08 37 d8 00    	call   *0xd83708
afa790:	85 c0                	test   %eax,%eax
afa792:	75 01                	jne    0xafa795
afa794:	c3                   	ret
afa795:	83 c0 e8             	add    $0xffffffe8,%eax
afa798:	c3                   	ret
afa799:	cc                   	int3
afa79a:	cc                   	int3
afa79b:	cc                   	int3
afa79c:	cc                   	int3
afa79d:	55                   	push   %ebp
afa79e:	8b ec                	mov    %esp,%ebp
afa7a0:	8b d1                	mov    %ecx,%edx
afa7a2:	56                   	push   %esi
afa7a3:	57                   	push   %edi
afa7a4:	8b 7a 04             	mov    0x4(%edx),%edi
afa7a7:	8b 02                	mov    (%edx),%eax
afa7a9:	8b 72 08             	mov    0x8(%edx),%esi
afa7ac:	03 c6                	add    %esi,%eax
afa7ae:	3b f8                	cmp    %eax,%edi
afa7b0:	7d 13                	jge    0xafa7c5
afa7b2:	8b 4a 0c             	mov    0xc(%edx),%ecx
afa7b5:	23 f7                	and    %edi,%esi
afa7b7:	8b 45 08             	mov    0x8(%ebp),%eax
afa7ba:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
afa7bd:	8d 47 01             	lea    0x1(%edi),%eax
afa7c0:	89 42 04             	mov    %eax,0x4(%edx)
afa7c3:	eb 13                	jmp    0xafa7d8
afa7c5:	51                   	push   %ecx
afa7c6:	51                   	push   %ecx
afa7c7:	8b c4                	mov    %esp,%eax
afa7c9:	ff 75 08             	push   0x8(%ebp)
afa7cc:	83 20 00             	andl   $0x0,(%eax)
afa7cf:	83 60 04 00          	andl   $0x0,0x4(%eax)
afa7d3:	e8 84 de 90 ff       	call   0x40865c
afa7d8:	5f                   	pop    %edi
afa7d9:	5e                   	pop    %esi
afa7da:	5d                   	pop    %ebp
afa7db:	c2 04 00             	ret    $0x4
afa7de:	cc                   	int3
afa7df:	cc                   	int3
afa7e0:	cc                   	int3
afa7e1:	cc                   	int3
afa7e2:	cc                   	int3
afa7e3:	cc                   	int3
afa7e4:	cc                   	int3
afa7e5:	cc                   	int3
afa7e6:	cc                   	int3
afa7e7:	cc                   	int3
afa7e8:	cc                   	int3
afa7e9:	cc                   	int3
afa7ea:	cc                   	int3
afa7eb:	cc                   	int3
afa7ec:	cc                   	int3
afa7ed:	cc                   	int3
afa7ee:	55                   	push   %ebp
afa7ef:	8b ec                	mov    %esp,%ebp
afa7f1:	8b d1                	mov    %ecx,%edx
afa7f3:	56                   	push   %esi
afa7f4:	57                   	push   %edi
afa7f5:	8b 72 04             	mov    0x4(%edx),%esi
afa7f8:	8b 02                	mov    (%edx),%eax
afa7fa:	8b 7a 08             	mov    0x8(%edx),%edi
afa7fd:	03 c7                	add    %edi,%eax
afa7ff:	3b f0                	cmp    %eax,%esi
afa801:	8b 45 0c             	mov    0xc(%ebp),%eax
afa804:	7d 31                	jge    0xafa837
afa806:	85 c0                	test   %eax,%eax
afa808:	74 17                	je     0xafa821
afa80a:	8b 4a 10             	mov    0x10(%edx),%ecx
afa80d:	23 fe                	and    %esi,%edi
afa80f:	89 04 f9             	mov    %eax,(%ecx,%edi,8)
afa812:	8b 45 10             	mov    0x10(%ebp),%eax
afa815:	89 44 f9 04          	mov    %eax,0x4(%ecx,%edi,8)
afa819:	8b 7d 08             	mov    0x8(%ebp),%edi
afa81c:	83 cf 01             	or     $0x1,%edi
afa81f:	eb 03                	jmp    0xafa824
afa821:	8b 7d 08             	mov    0x8(%ebp),%edi
afa824:	8b 4a 08             	mov    0x8(%edx),%ecx
afa827:	8b 42 0c             	mov    0xc(%edx),%eax
afa82a:	23 ce                	and    %esi,%ecx
afa82c:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
afa82f:	8d 46 01             	lea    0x1(%esi),%eax
afa832:	89 42 04             	mov    %eax,0x4(%edx)
afa835:	eb 16                	jmp    0xafa84d
afa837:	51                   	push   %ecx
afa838:	51                   	push   %ecx
afa839:	8b cc                	mov    %esp,%ecx
afa83b:	ff 75 08             	push   0x8(%ebp)
afa83e:	89 01                	mov    %eax,(%ecx)
afa840:	8b 45 10             	mov    0x10(%ebp),%eax
afa843:	89 41 04             	mov    %eax,0x4(%ecx)
afa846:	8b ca                	mov    %edx,%ecx
afa848:	e8 0f de 90 ff       	call   0x40865c
afa84d:	5f                   	pop    %edi
afa84e:	5e                   	pop    %esi
afa84f:	5d                   	pop    %ebp
afa850:	c2 0c 00             	ret    $0xc
afa853:	cc                   	int3
afa854:	cc                   	int3
afa855:	cc                   	int3
afa856:	cc                   	int3
afa857:	cc                   	int3
afa858:	cc                   	int3
afa859:	cc                   	int3
afa85a:	cc                   	int3
afa85b:	cc                   	int3
afa85c:	cc                   	int3
afa85d:	cc                   	int3
afa85e:	cc                   	int3
afa85f:	cc                   	int3
afa860:	cc                   	int3
afa861:	cc                   	int3
afa862:	cc                   	int3
afa863:	cc                   	int3
afa864:	cc                   	int3
afa865:	cc                   	int3
afa866:	cc                   	int3
afa867:	cc                   	int3
afa868:	cc                   	int3
afa869:	cc                   	int3
afa86a:	cc                   	int3
afa86b:	cc                   	int3
afa86c:	55                   	push   %ebp
afa86d:	8b ec                	mov    %esp,%ebp
afa86f:	8b d1                	mov    %ecx,%edx
afa871:	56                   	push   %esi
afa872:	57                   	push   %edi
afa873:	8b 72 04             	mov    0x4(%edx),%esi
afa876:	8b 02                	mov    (%edx),%eax
afa878:	8b 7a 08             	mov    0x8(%edx),%edi
afa87b:	03 c7                	add    %edi,%eax
afa87d:	3b f0                	cmp    %eax,%esi
afa87f:	7d 18                	jge    0xafa899
afa881:	8b 4a 1c             	mov    0x1c(%edx),%ecx
afa884:	23 fe                	and    %esi,%edi
afa886:	8b 45 08             	mov    0x8(%ebp),%eax
afa889:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
afa88c:	8d 46 01             	lea    0x1(%esi),%eax