afd6a1:	e8 59 e6 93 ff       	call   0x43bcff
afd6a6:	8b f8                	mov    %eax,%edi
afd6a8:	89 7d e8             	mov    %edi,-0x18(%ebp)
afd6ab:	e8 08 e0 90 ff       	call   0x40b6b8
afd6b0:	8b d8                	mov    %eax,%ebx
afd6b2:	c6 45 ef 00          	movb   $0x0,-0x11(%ebp)
afd6b6:	8b 46 68             	mov    0x68(%esi),%eax
afd6b9:	89 5d dc             	mov    %ebx,-0x24(%ebp)
afd6bc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
afd6bf:	8b 4b 34             	mov    0x34(%ebx),%ecx
afd6c2:	89 0f                	mov    %ecx,(%edi)
afd6c4:	85 c9                	test   %ecx,%ecx
afd6c6:	74 0c                	je     0xafd6d4
afd6c8:	8b 49 04             	mov    0x4(%ecx),%ecx
afd6cb:	c1 e1 04             	shl    $0x4,%ecx
afd6ce:	c1 f9 04             	sar    $0x4,%ecx
afd6d1:	41                   	inc    %ecx
afd6d2:	eb 02                	jmp    0xafd6d6
afd6d4:	33 c9                	xor    %ecx,%ecx
afd6d6:	8b 47 04             	mov    0x4(%edi),%eax
afd6d9:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
afd6dd:	33 c1                	xor    %ecx,%eax
afd6df:	25 ff ff ff 0f       	and    $0xfffffff,%eax
afd6e4:	31 47 04             	xor    %eax,0x4(%edi)
afd6e7:	89 7b 34             	mov    %edi,0x34(%ebx)
afd6ea:	8b 4e 08             	mov    0x8(%esi),%ecx
afd6ed:	85 c9                	test   %ecx,%ecx
afd6ef:	74 2e                	je     0xafd71f
afd6f1:	83 f9 02             	cmp    $0x2,%ecx
afd6f4:	74 15                	je     0xafd70b
afd6f6:	3b 4b 38             	cmp    0x38(%ebx),%ecx
afd6f9:	74 10                	je     0xafd70b
afd6fb:	6a 01                	push   $0x1
afd6fd:	56                   	push   %esi
afd6fe:	68 7f 8e 42 00       	push   $0x428e7f
afd703:	e8 b8 04 91 ff       	call   0x40dbc0
afd708:	89 45 e0             	mov    %eax,-0x20(%ebp)
afd70b:	8b 47 04             	mov    0x4(%edi),%eax
afd70e:	8b cb                	mov    %ebx,%ecx
afd710:	c1 e0 04             	shl    $0x4,%eax
afd713:	c1 f8 04             	sar    $0x4,%eax
afd716:	50                   	push   %eax
afd717:	ff 76 08             	push   0x8(%esi)
afd71a:	e8 bc 23 93 ff       	call   0x42fadb
afd71f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
afd723:	8d 4f 38             	lea    0x38(%edi),%ecx
afd726:	33 d2                	xor    %edx,%edx
afd728:	33 c0                	xor    %eax,%eax
afd72a:	42                   	inc    %edx
afd72b:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
afd72f:	83 f8 03             	cmp    $0x3,%eax
afd732:	75 23                	jne    0xafd757
afd734:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
afd738:	74 07                	je     0xafd741
afd73a:	8b cf                	mov    %edi,%ecx
afd73c:	e8 4d c8 90 ff       	call   0x409f8e
afd741:	8d 4d cc             	lea    -0x34(%ebp),%ecx
afd744:	e8 2c 85 92 ff       	call   0x425c75
afd749:	68 30 dc d4 00       	push   $0xd4dc30
afd74e:	8d 45 cc             	lea    -0x34(%ebp),%eax
afd751:	50                   	push   %eax
afd752:	e8 38 02 92 ff       	call   0x41d98f
afd757:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
afd75b:	74 60                	je     0xafd7bd
afd75d:	8b cf                	mov    %edi,%ecx
afd75f:	e8 2a c8 90 ff       	call   0x409f8e
afd764:	8b 46 64             	mov    0x64(%esi),%eax
afd767:	83 78 34 00          	cmpl   $0x0,0x34(%eax)
afd76b:	75 3e                	jne    0xafd7ab
afd76d:	8b 43 78             	mov    0x78(%ebx),%eax
afd770:	03 43 70             	add    0x70(%ebx),%eax
afd773:	85 c0                	test   %eax,%eax
afd775:	7e 0e                	jle    0xafd785
afd777:	6a 00                	push   $0x0
afd779:	57                   	push   %edi
afd77a:	8b cb                	mov    %ebx,%ecx
afd77c:	e8 79 e8 90 ff       	call   0x40bffa
afd781:	84 c0                	test   %al,%al
afd783:	75 26                	jne    0xafd7ab
afd785:	8b 45 0c             	mov    0xc(%ebp),%eax
afd788:	50                   	push   %eax
afd789:	8b 70 04             	mov    0x4(%eax),%esi
afd78c:	8b ce                	mov    %esi,%ecx
afd78e:	e8 d2 ee 92 ff       	call   0x42c665
afd793:	ff d6                	call   *%esi
afd795:	8b 45 0c             	mov    0xc(%ebp),%eax
afd798:	59                   	pop    %ecx
afd799:	33 f6                	xor    %esi,%esi
afd79b:	8b cf                	mov    %edi,%ecx
afd79d:	50                   	push   %eax
afd79e:	89 70 08             	mov    %esi,0x8(%eax)
afd7a1:	e8 e7 c5 93 ff       	call   0x439d8d
afd7a6:	89 75 0c             	mov    %esi,0xc(%ebp)
afd7a9:	eb 14                	jmp    0xafd7bf
afd7ab:	8d 4d c0             	lea    -0x40(%ebp),%ecx
afd7ae:	e8 c2 84 92 ff       	call   0x425c75
afd7b3:	68 30 dc d4 00       	push   $0xd4dc30
afd7b8:	8d 45 c0             	lea    -0x40(%ebp),%eax
afd7bb:	eb 94                	jmp    0xafd751
afd7bd:	33 f6                	xor    %esi,%esi
afd7bf:	8b 45 08             	mov    0x8(%ebp),%eax
afd7c2:	39 b7 84 00 00 00    	cmp    %esi,0x84(%edi)
afd7c8:	7e 74                	jle    0xafd83e
afd7ca:	8b 40 64             	mov    0x64(%eax),%eax
afd7cd:	39 70 34             	cmp    %esi,0x34(%eax)
afd7d0:	0f 85 e0 00 00 00    	jne    0xafd8b6
afd7d6:	8b 43 78             	mov    0x78(%ebx),%eax
afd7d9:	03 43 70             	add    0x70(%ebx),%eax
afd7dc:	85 c0                	test   %eax,%eax
afd7de:	7e 11                	jle    0xafd7f1
afd7e0:	56                   	push   %esi
afd7e1:	57                   	push   %edi
afd7e2:	8b cb                	mov    %ebx,%ecx
afd7e4:	e8 11 e8 90 ff       	call   0x40bffa
afd7e9:	84 c0                	test   %al,%al
afd7eb:	0f 85 c5 00 00 00    	jne    0xafd8b6
afd7f1:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
afd7f7:	83 f9 02             	cmp    $0x2,%ecx
afd7fa:	76 11                	jbe    0xafd80d
afd7fc:	8b 47 6c             	mov    0x6c(%edi),%eax
afd7ff:	ff 48 04             	decl   0x4(%eax)
afd802:	8b 48 04             	mov    0x4(%eax),%ecx
afd805:	8b 40 08             	mov    0x8(%eax),%eax
afd808:	8b 04 88             	mov    (%eax,%ecx,4),%eax
afd80b:	eb 07                	jmp    0xafd814
afd80d:	8b 45 08             	mov    0x8(%ebp),%eax
afd810:	8b 44 88 6c          	mov    0x6c(%eax,%ecx,4),%eax
afd814:	ff 8f 84 00 00 00    	decl   0x84(%edi)
afd81a:	8b cb                	mov    %ebx,%ecx
afd81c:	50                   	push   %eax
afd81d:	e8 4e a9 90 ff       	call   0x408170
afd822:	8b c8                	mov    %eax,%ecx
afd824:	89 4d d8             	mov    %ecx,-0x28(%ebp)
afd827:	89 4d 0c             	mov    %ecx,0xc(%ebp)
afd82a:	85 c9                	test   %ecx,%ecx
afd82c:	75 52                	jne    0xafd880
afd82e:	8b 47 6c             	mov    0x6c(%edi),%eax
afd831:	85 c0                	test   %eax,%eax
afd833:	74 03                	je     0xafd838
afd835:	89 70 04             	mov    %esi,0x4(%eax)
afd838:	89 b7 84 00 00 00    	mov    %esi,0x84(%edi)
afd83e:	8b 47 6c             	mov    0x6c(%edi),%eax
afd841:	85 c0                	test   %eax,%eax
afd843:	0f 84 82 00 00 00    	je     0xafd8cb
afd849:	8a 40 0c             	mov    0xc(%eax),%al
afd84c:	84 c0                	test   %al,%al
afd84e:	74 7b                	je     0xafd8cb
afd850:	6a 05                	push   $0x5
afd852:	33 c0                	xor    %eax,%eax
afd854:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
afd858:	5a                   	pop    %edx
afd859:	8d 4f 38             	lea    0x38(%edi),%ecx
afd85c:	40                   	inc    %eax
afd85d:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
afd861:	83 f8 04             	cmp    $0x4,%eax
afd864:	74 05                	je     0xafd86b
afd866:	83 f8 09             	cmp    $0x9,%eax
afd869:	75 60                	jne    0xafd8cb
afd86b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
afd86e:	e8 02 84 92 ff       	call   0x425c75
afd873:	68 30 dc d4 00       	push   $0xd4dc30
afd878:	8d 45 a8             	lea    -0x58(%ebp),%eax
afd87b:	e9 d1 fe ff ff       	jmp    0xafd751
afd880:	8b 45 08             	mov    0x8(%ebp),%eax
afd883:	83 f9 01             	cmp    $0x1,%ecx
afd886:	0f 84 36 ff ff ff    	je     0xafd7c2
afd88c:	8a 43 4c             	mov    0x4c(%ebx),%al
afd88f:	84 c0                	test   %al,%al
afd891:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
afd897:	74 05                	je     0xafd89e
afd899:	ff 40 0c             	incl   0xc(%eax)
afd89c:	eb 03                	jmp    0xafd8a1
afd89e:	ff 40 6c             	incl   0x6c(%eax)
afd8a1:	8b 71 04             	mov    0x4(%ecx),%esi
afd8a4:	51                   	push   %ecx
afd8a5:	8b ce                	mov    %esi,%ecx
afd8a7:	e8 b9 ed 92 ff       	call   0x42c665
afd8ac:	ff d6                	call   *%esi
afd8ae:	8b 45 d8             	mov    -0x28(%ebp),%eax
afd8b1:	e9 e2 fe ff ff       	jmp    0xafd798
afd8b6:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
afd8b9:	e8 b7 83 92 ff       	call   0x425c75
afd8be:	68 30 dc d4 00       	push   $0xd4dc30
afd8c3:	8d 45 b4             	lea    -0x4c(%ebp),%eax
afd8c6:	e9 86 fe ff ff       	jmp    0xafd751
afd8cb:	ff 75 e4             	push   -0x1c(%ebp)
afd8ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
afd8d1:	e8 84 0d 92 ff       	call   0x41e65a
afd8d6:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
afd8da:	74 2f                	je     0xafd90b
afd8dc:	33 d2                	xor    %edx,%edx
afd8de:	8d 4f 38             	lea    0x38(%edi),%ecx
afd8e1:	6a 05                	push   $0x5
afd8e3:	42                   	inc    %edx
afd8e4:	58                   	pop    %eax
afd8e5:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
afd8e9:	83 f8 09             	cmp    $0x9,%eax
afd8ec:	75 1d                	jne    0xafd90b
afd8ee:	89 75 88             	mov    %esi,-0x78(%ebp)
afd8f1:	c7 45 8c ef cc 43 00 	movl   $0x43ccef,-0x74(%ebp)
afd8f8:	8b 45 08             	mov    0x8(%ebp),%eax
afd8fb:	83 78 38 09          	cmpl   $0x9,0x38(%eax)
afd8ff:	75 0d                	jne    0xafd90e
afd901:	8d 4d 80             	lea    -0x80(%ebp),%ecx
afd904:	e8 52 3e 92 ff       	call   0x42175b
afd909:	eb ed                	jmp    0xafd8f8
afd90b:	8b 45 08             	mov    0x8(%ebp),%eax
afd90e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
afd911:	3b 48 68             	cmp    0x68(%eax),%ecx
afd914:	75 06                	jne    0xafd91c
afd916:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
afd91a:	eb 47                	jmp    0xafd963
afd91c:	8b 48 68             	mov    0x68(%eax),%ecx
afd91f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
afd922:	e9 9b fe ff ff       	jmp    0xafd7c2
afd927:	8b 45 0c             	mov    0xc(%ebp),%eax
afd92a:	85 c0                	test   %eax,%eax
afd92c:	74 16                	je     0xafd944
afd92e:	83 f8 01             	cmp    $0x1,%eax
afd931:	74 11                	je     0xafd944
afd933:	8b 75 e8             	mov    -0x18(%ebp),%esi
afd936:	8b ce                	mov    %esi,%ecx
afd938:	83 60 08 00          	andl   $0x0,0x8(%eax)
afd93c:	50                   	push   %eax
afd93d:	e8 4b c4 93 ff       	call   0x439d8d
afd942:	eb 03                	jmp    0xafd947
afd944:	8b 75 e8             	mov    -0x18(%ebp),%esi
afd947:	8b ce                	mov    %esi,%ecx
afd949:	e8 2a 4f 91 ff       	call   0x412878
afd94e:	b8 54 d9 af 00       	mov    $0xafd954,%eax
afd953:	c3                   	ret
afd954:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
afd958:	33 f6                	xor    %esi,%esi
afd95a:	8b 45 08             	mov    0x8(%ebp),%eax
afd95d:	8b 5d dc             	mov    -0x24(%ebp),%ebx
afd960:	8b 7d e8             	mov    -0x18(%ebp),%edi
afd963:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
afd967:	74 25                	je     0xafd98e
afd969:	ff 70 08             	push   0x8(%eax)
afd96c:	8b cb                	mov    %ebx,%ecx
afd96e:	e8 bf ef 90 ff       	call   0x40c932
afd973:	8b 45 e0             	mov    -0x20(%ebp),%eax
afd976:	85 c0                	test   %eax,%eax
afd978:	74 14                	je     0xafd98e
afd97a:	50                   	push   %eax
afd97b:	8b 45 08             	mov    0x8(%ebp),%eax
afd97e:	8b 48 08             	mov    0x8(%eax),%ecx
afd981:	e8 3c 67 93 ff       	call   0x4340c2
afd986:	8b 4d e0             	mov    -0x20(%ebp),%ecx
afd989:	e8 41 c4 92 ff       	call   0x429dcf
afd98e:	8b 07                	mov    (%edi),%eax
afd990:	8b cf                	mov    %edi,%ecx
afd992:	89 43 34             	mov    %eax,0x34(%ebx)
afd995:	8b 45 08             	mov    0x8(%ebp),%eax
afd998:	8b 40 64             	mov    0x64(%eax),%eax
afd99b:	39 70 34             	cmp    %esi,0x34(%eax)
afd99e:	74 70                	je     0xafda10
afd9a0:	56                   	push   %esi
afd9a1:	e8 c0 9f 93 ff       	call   0x437966
afd9a6:	8b 43 78             	mov    0x78(%ebx),%eax
afd9a9:	03 43 70             	add    0x70(%ebx),%eax
afd9ac:	85 c0                	test   %eax,%eax
afd9ae:	7e 5b                	jle    0xafda0b
afd9b0:	8b 45 08             	mov    0x8(%ebp),%eax
afd9b3:	8b cb                	mov    %ebx,%ecx
afd9b5:	39 70 08             	cmp    %esi,0x8(%eax)
afd9b8:	0f 95 c0             	setne  %al
afd9bb:	0f b6 c0             	movzbl %al,%eax
afd9be:	50                   	push   %eax
afd9bf:	57                   	push   %edi
afd9c0:	e8 35 e6 90 ff       	call   0x40bffa
afd9c5:	84 c0                	test   %al,%al
afd9c7:	74 42                	je     0xafda0b
afd9c9:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
afd9cc:	e8 a4 82 92 ff       	call   0x425c75
afd9d1:	68 30 dc d4 00       	push   $0xd4dc30
afd9d6:	8d 45 9c             	lea    -0x64(%ebp),%eax
afd9d9:	e9 73 fd ff ff       	jmp    0xafd751
afd9de:	8b 45 0c             	mov    0xc(%ebp),%eax
afd9e1:	85 c0                	test   %eax,%eax
afd9e3:	74 16                	je     0xafd9fb
afd9e5:	83 f8 01             	cmp    $0x1,%eax
afd9e8:	74 11                	je     0xafd9fb
afd9ea:	8b 75 e8             	mov    -0x18(%ebp),%esi
afd9ed:	8b ce                	mov    %esi,%ecx
afd9ef:	83 60 08 00          	andl   $0x0,0x8(%eax)
afd9f3:	50                   	push   %eax
afd9f4:	e8 94 c3 93 ff       	call   0x439d8d
afd9f9:	eb 03                	jmp    0xafd9fe
afd9fb:	8b 75 e8             	mov    -0x18(%ebp),%esi
afd9fe:	8b ce                	mov    %esi,%ecx
afda00:	e8 7c b4 90 ff       	call   0x408e81
afda05:	b8 54 d9 af 00       	mov    $0xafd954,%eax
afda0a:	c3                   	ret
afda0b:	6a 02                	push   $0x2
afda0d:	58                   	pop    %eax
afda0e:	eb 43                	jmp    0xafda53
afda10:	ff 75 e4             	push   -0x1c(%ebp)
afda13:	e8 5b 2a 92 ff       	call   0x420473
afda18:	8b 43 78             	mov    0x78(%ebx),%eax
afda1b:	03 43 70             	add    0x70(%ebx),%eax
afda1e:	85 c0                	test   %eax,%eax
afda20:	7e 2e                	jle    0xafda50
afda22:	8b 45 08             	mov    0x8(%ebp),%eax
afda25:	8b cb                	mov    %ebx,%ecx
afda27:	39 70 08             	cmp    %esi,0x8(%eax)
afda2a:	0f 95 c0             	setne  %al
afda2d:	0f b6 c0             	movzbl %al,%eax
afda30:	50                   	push   %eax
afda31:	57                   	push   %edi
afda32:	e8 c3 e5 90 ff       	call   0x40bffa
afda37:	84 c0                	test   %al,%al
afda39:	74 15                	je     0xafda50
afda3b:	8d 4d 90             	lea    -0x70(%ebp),%ecx
afda3e:	e8 32 82 92 ff       	call   0x425c75
afda43:	68 30 dc d4 00       	push   $0xd4dc30
afda48:	8d 45 90             	lea    -0x70(%ebp),%eax
afda4b:	e9 01 fd ff ff       	jmp    0xafd751
afda50:	33 c0                	xor    %eax,%eax
afda52:	40                   	inc    %eax
afda53:	e8 bf 09 91 ff       	call   0x40e417
afda58:	c2 08 00             	ret    $0x8
afda5b:	cc                   	int3
afda5c:	cc                   	int3
afda5d:	cc                   	int3
afda5e:	cc                   	int3
afda5f:	cc                   	int3
afda60:	cc                   	int3
afda61:	cc                   	int3
afda62:	cc                   	int3
afda63:	cc                   	int3
afda64:	cc                   	int3
afda65:	cc                   	int3
afda66:	cc                   	int3
afda67:	cc                   	int3
afda68:	cc                   	int3
afda69:	cc                   	int3
afda6a:	cc                   	int3
afda6b:	cc                   	int3
afda6c:	cc                   	int3
afda6d:	cc                   	int3
afda6e:	cc                   	int3
afda6f:	cc                   	int3
afda70:	cc                   	int3
afda71:	cc                   	int3
afda72:	cc                   	int3
afda73:	cc                   	int3
afda74:	cc                   	int3
afda75:	cc                   	int3
afda76:	cc                   	int3