afa88f:	89 42 04             	mov    %eax,0x4(%edx)
afa892:	8b 42 0c             	mov    0xc(%edx),%eax
afa895:	03 c6                	add    %esi,%eax
afa897:	eb 13                	jmp    0xafa8ac
afa899:	51                   	push   %ecx
afa89a:	51                   	push   %ecx
afa89b:	8b c4                	mov    %esp,%eax
afa89d:	ff 75 08             	push   0x8(%ebp)
afa8a0:	83 20 00             	andl   $0x0,(%eax)
afa8a3:	83 60 04 00          	andl   $0x0,0x4(%eax)
afa8a7:	e8 5b 43 94 ff       	call   0x43ec07
afa8ac:	5f                   	pop    %edi
afa8ad:	5e                   	pop    %esi
afa8ae:	5d                   	pop    %ebp
afa8af:	c2 04 00             	ret    $0x4
afa8b2:	cc                   	int3
afa8b3:	cc                   	int3
afa8b4:	cc                   	int3
afa8b5:	cc                   	int3
afa8b6:	cc                   	int3
afa8b7:	cc                   	int3
afa8b8:	cc                   	int3
afa8b9:	cc                   	int3
afa8ba:	cc                   	int3
afa8bb:	cc                   	int3
afa8bc:	cc                   	int3
afa8bd:	cc                   	int3
afa8be:	cc                   	int3
afa8bf:	cc                   	int3
afa8c0:	cc                   	int3
afa8c1:	cc                   	int3
afa8c2:	cc                   	int3
afa8c3:	55                   	push   %ebp
afa8c4:	8b ec                	mov    %esp,%ebp
afa8c6:	8b d1                	mov    %ecx,%edx
afa8c8:	56                   	push   %esi
afa8c9:	57                   	push   %edi
afa8ca:	8b 72 04             	mov    0x4(%edx),%esi
afa8cd:	8b 02                	mov    (%edx),%eax
afa8cf:	8b 7a 08             	mov    0x8(%edx),%edi
afa8d2:	03 c7                	add    %edi,%eax
afa8d4:	3b f0                	cmp    %eax,%esi
afa8d6:	8b 45 0c             	mov    0xc(%ebp),%eax
afa8d9:	7d 36                	jge    0xafa911
afa8db:	85 c0                	test   %eax,%eax
afa8dd:	74 17                	je     0xafa8f6
afa8df:	8b 4a 20             	mov    0x20(%edx),%ecx
afa8e2:	23 fe                	and    %esi,%edi
afa8e4:	89 04 f9             	mov    %eax,(%ecx,%edi,8)
afa8e7:	8b 45 10             	mov    0x10(%ebp),%eax
afa8ea:	89 44 f9 04          	mov    %eax,0x4(%ecx,%edi,8)
afa8ee:	8b 7d 08             	mov    0x8(%ebp),%edi
afa8f1:	83 cf 01             	or     $0x1,%edi
afa8f4:	eb 03                	jmp    0xafa8f9
afa8f6:	8b 7d 08             	mov    0x8(%ebp),%edi
afa8f9:	8b 4a 08             	mov    0x8(%edx),%ecx
afa8fc:	8b 42 1c             	mov    0x1c(%edx),%eax
afa8ff:	23 ce                	and    %esi,%ecx
afa901:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
afa904:	8d 46 01             	lea    0x1(%esi),%eax
afa907:	89 42 04             	mov    %eax,0x4(%edx)
afa90a:	8b 42 0c             	mov    0xc(%edx),%eax
afa90d:	03 c6                	add    %esi,%eax
afa90f:	eb 16                	jmp    0xafa927
afa911:	51                   	push   %ecx
afa912:	51                   	push   %ecx
afa913:	8b cc                	mov    %esp,%ecx
afa915:	ff 75 08             	push   0x8(%ebp)
afa918:	89 01                	mov    %eax,(%ecx)
afa91a:	8b 45 10             	mov    0x10(%ebp),%eax
afa91d:	89 41 04             	mov    %eax,0x4(%ecx)
afa920:	8b ca                	mov    %edx,%ecx
afa922:	e8 e0 42 94 ff       	call   0x43ec07
afa927:	5f                   	pop    %edi
afa928:	5e                   	pop    %esi
afa929:	5d                   	pop    %ebp
afa92a:	c2 0c 00             	ret    $0xc
afa92d:	cc                   	int3
afa92e:	cc                   	int3
afa92f:	cc                   	int3
afa930:	cc                   	int3
afa931:	cc                   	int3
afa932:	cc                   	int3
afa933:	cc                   	int3
afa934:	cc                   	int3
afa935:	cc                   	int3
afa936:	cc                   	int3
afa937:	cc                   	int3
afa938:	cc                   	int3
afa939:	cc                   	int3
afa93a:	cc                   	int3
afa93b:	cc                   	int3
afa93c:	cc                   	int3
afa93d:	cc                   	int3
afa93e:	cc                   	int3
afa93f:	cc                   	int3
afa940:	cc                   	int3
afa941:	cc                   	int3
afa942:	cc                   	int3
afa943:	cc                   	int3
afa944:	cc                   	int3
afa945:	cc                   	int3
afa946:	cc                   	int3
afa947:	56                   	push   %esi
afa948:	8b f1                	mov    %ecx,%esi
afa94a:	8b 46 34             	mov    0x34(%esi),%eax
afa94d:	85 c0                	test   %eax,%eax
afa94f:	74 0b                	je     0xafa95c
afa951:	8b 40 04             	mov    0x4(%eax),%eax
afa954:	c1 e0 04             	shl    $0x4,%eax
afa957:	c1 f8 04             	sar    $0x4,%eax
afa95a:	eb 03                	jmp    0xafa95f
afa95c:	83 c8 ff             	or     $0xffffffff,%eax
afa95f:	50                   	push   %eax
afa960:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
afa966:	e8 8d d1 91 ff       	call   0x417af8
afa96b:	83 7e 74 00          	cmpl   $0x0,0x74(%esi)
afa96f:	75 0e                	jne    0xafa97f
afa971:	83 7e 68 ff          	cmpl   $0xffffffff,0x68(%esi)
afa975:	74 0b                	je     0xafa982
afa977:	8b 4e 68             	mov    0x68(%esi),%ecx
afa97a:	3b 48 04             	cmp    0x4(%eax),%ecx
afa97d:	7f 03                	jg     0xafa982
afa97f:	f0 ff 00             	lock incl (%eax)
afa982:	5e                   	pop    %esi
afa983:	c3                   	ret
afa984:	cc                   	int3
afa985:	cc                   	int3
afa986:	cc                   	int3
afa987:	cc                   	int3
afa988:	cc                   	int3
afa989:	cc                   	int3
afa98a:	cc                   	int3
afa98b:	cc                   	int3
afa98c:	cc                   	int3
afa98d:	cc                   	int3
afa98e:	cc                   	int3
afa98f:	cc                   	int3
afa990:	cc                   	int3
afa991:	cc                   	int3
afa992:	cc                   	int3
afa993:	55                   	push   %ebp
afa994:	8b ec                	mov    %esp,%ebp
afa996:	8b 45 08             	mov    0x8(%ebp),%eax
afa999:	51                   	push   %ecx
afa99a:	89 41 24             	mov    %eax,0x24(%ecx)
afa99d:	ff 35 88 2b d8 00    	push   0xd82b88
afa9a3:	e8 74 bb 92 ff       	call   0x42651c
afa9a8:	59                   	pop    %ecx
afa9a9:	59                   	pop    %ecx
afa9aa:	5d                   	pop    %ebp
afa9ab:	c2 04 00             	ret    $0x4
afa9ae:	cc                   	int3
afa9af:	cc                   	int3
afa9b0:	cc                   	int3
afa9b1:	cc                   	int3
afa9b2:	cc                   	int3
afa9b3:	cc                   	int3
afa9b4:	55                   	push   %ebp
afa9b5:	8b ec                	mov    %esp,%ebp
afa9b7:	8b 45 08             	mov    0x8(%ebp),%eax
afa9ba:	89 41 38             	mov    %eax,0x38(%ecx)
afa9bd:	8b 45 0c             	mov    0xc(%ebp),%eax
afa9c0:	89 41 3c             	mov    %eax,0x3c(%ecx)
afa9c3:	5d                   	pop    %ebp
afa9c4:	c2 08 00             	ret    $0x8
afa9c7:	cc                   	int3
afa9c8:	cc                   	int3
afa9c9:	cc                   	int3
afa9ca:	cc                   	int3
afa9cb:	55                   	push   %ebp
afa9cc:	8b ec                	mov    %esp,%ebp
afa9ce:	51                   	push   %ecx
afa9cf:	56                   	push   %esi
afa9d0:	8b f1                	mov    %ecx,%esi
afa9d2:	57                   	push   %edi
afa9d3:	33 ff                	xor    %edi,%edi
afa9d5:	39 7e 20             	cmp    %edi,0x20(%esi)
afa9d8:	75 05                	jne    0xafa9df
afa9da:	e8 24 47 93 ff       	call   0x42f103
afa9df:	ff 75 08             	push   0x8(%ebp)
afa9e2:	8b 4e 20             	mov    0x20(%esi),%ecx
afa9e5:	e8 cf 95 93 ff       	call   0x433fb9
afa9ea:	80 7e 4c 00          	cmpb   $0x0,0x4c(%esi)
afa9ee:	8b 86 9c 00 00 00    	mov    0x9c(%esi),%eax
afa9f4:	74 05                	je     0xafa9fb
afa9f6:	ff 40 08             	incl   0x8(%eax)
afa9f9:	eb 03                	jmp    0xafa9fe
afa9fb:	ff 40 68             	incl   0x68(%eax)
afa9fe:	8b 46 1c             	mov    0x1c(%esi),%eax
afaa01:	8b 88 b8 01 00 00    	mov    0x1b8(%eax),%ecx
afaa07:	8b 80 b4 01 00 00    	mov    0x1b4(%eax),%eax
afaa0d:	2b c1                	sub    %ecx,%eax
afaa0f:	85 c0                	test   %eax,%eax
afaa11:	7e 26                	jle    0xafaa39
afaa13:	83 ec 10             	sub    $0x10,%esp
afaa16:	8b c4                	mov    %esp,%eax
afaa18:	89 38                	mov    %edi,(%eax)
afaa1a:	89 78 04             	mov    %edi,0x4(%eax)
afaa1d:	89 78 08             	mov    %edi,0x8(%eax)
afaa20:	89 78 0c             	mov    %edi,0xc(%eax)
afaa23:	8b 7e 1c             	mov    0x1c(%esi),%edi
afaa26:	ff 76 18             	push   0x18(%esi)
afaa29:	8b 07                	mov    (%edi),%eax
afaa2b:	8b 70 38             	mov    0x38(%eax),%esi
afaa2e:	8b ce                	mov    %esi,%ecx
afaa30:	e8 30 1c 93 ff       	call   0x42c665
afaa35:	8b cf                	mov    %edi,%ecx
afaa37:	ff d6                	call   *%esi
afaa39:	5f                   	pop    %edi
afaa3a:	5e                   	pop    %esi
afaa3b:	8b e5                	mov    %ebp,%esp
afaa3d:	5d                   	pop    %ebp
afaa3e:	c2 04 00             	ret    $0x4
afaa41:	cc                   	int3
afaa42:	cc                   	int3
afaa43:	cc                   	int3
afaa44:	cc                   	int3
afaa45:	cc                   	int3
afaa46:	cc                   	int3
afaa47:	cc                   	int3
afaa48:	cc                   	int3
afaa49:	cc                   	int3
afaa4a:	cc                   	int3
afaa4b:	cc                   	int3
afaa4c:	cc                   	int3
afaa4d:	cc                   	int3
afaa4e:	cc                   	int3
afaa4f:	cc                   	int3
afaa50:	cc                   	int3
afaa51:	cc                   	int3
afaa52:	cc                   	int3
afaa53:	cc                   	int3
afaa54:	cc                   	int3
afaa55:	cc                   	int3
afaa56:	cc                   	int3
afaa57:	cc                   	int3
afaa58:	cc                   	int3
afaa59:	cc                   	int3
afaa5a:	cc                   	int3
afaa5b:	cc                   	int3
afaa5c:	cc                   	int3
afaa5d:	cc                   	int3
afaa5e:	55                   	push   %ebp
afaa5f:	8b ec                	mov    %esp,%ebp
afaa61:	83 ec 14             	sub    $0x14,%esp
afaa64:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
afaa68:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
afaa6c:	53                   	push   %ebx
afaa6d:	8b d9                	mov    %ecx,%ebx
afaa6f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
afaa72:	56                   	push   %esi
afaa73:	57                   	push   %edi
afaa74:	8b 7b 18             	mov    0x18(%ebx),%edi
afaa77:	89 7d fc             	mov    %edi,-0x4(%ebp)
afaa7a:	85 c9                	test   %ecx,%ecx
afaa7c:	74 56                	je     0xafaad4
afaa7e:	f7 01 ff ff ff 0f    	testl  $0xfffffff,(%ecx)
afaa84:	74 4e                	je     0xafaad4
afaa86:	8d 47 0c             	lea    0xc(%edi),%eax
afaa89:	50                   	push   %eax
afaa8a:	e8 9c e2 92 ff       	call   0x428d2b
afaa8f:	84 c0                	test   %al,%al
afaa91:	75 31                	jne    0xafaac4
afaa93:	8b bf 00 01 00 00    	mov    0x100(%edi),%edi
afaa99:	8d 45 fc             	lea    -0x4(%ebp),%eax
afaa9c:	50                   	push   %eax
afaa9d:	ff 75 0c             	push   0xc(%ebp)
afaaa0:	8d 45 ec             	lea    -0x14(%ebp),%eax
afaaa3:	8b 37                	mov    (%edi),%esi
afaaa5:	ff 75 08             	push   0x8(%ebp)
afaaa8:	50                   	push   %eax
afaaa9:	8b 4e 18             	mov    0x18(%esi),%ecx
afaaac:	e8 b4 1b 93 ff       	call   0x42c665
afaab1:	8b cf                	mov    %edi,%ecx
afaab3:	ff 56 18             	call   *0x18(%esi)
afaab6:	8b 7d fc             	mov    -0x4(%ebp),%edi
afaab9:	8b 08                	mov    (%eax),%ecx
afaabb:	8b 40 04             	mov    0x4(%eax),%eax
afaabe:	89 4d f8             	mov    %ecx,-0x8(%ebp)
afaac1:	89 45 f4             	mov    %eax,-0xc(%ebp)
afaac4:	8b 07                	mov    (%edi),%eax
afaac6:	8b 70 04             	mov    0x4(%eax),%esi
afaac9:	8b ce                	mov    %esi,%ecx
afaacb:	e8 95 1b 93 ff       	call   0x42c665
afaad0:	8b cf                	mov    %edi,%ecx
afaad2:	ff d6                	call   *%esi
afaad4:	51                   	push   %ecx
afaad5:	51                   	push   %ecx
afaad6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
afaad9:	8b c4                	mov    %esp,%eax
afaadb:	89 08                	mov    %ecx,(%eax)
afaadd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
afaae0:	89 48 04             	mov    %ecx,0x4(%eax)
afaae3:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
afaae7:	75 07                	jne    0xafaaf0
afaae9:	8b cb                	mov    %ebx,%ecx
afaaeb:	e8 13 46 93 ff       	call   0x42f103
afaaf0:	ff 75 08             	push   0x8(%ebp)
afaaf3:	8b 4b 20             	mov    0x20(%ebx),%ecx
afaaf6:	e8 c1 f1 92 ff       	call   0x429cbc
afaafb:	80 7b 4c 00          	cmpb   $0x0,0x4c(%ebx)
afaaff:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
afab05:	74 05                	je     0xafab0c
afab07:	ff 40 08             	incl   0x8(%eax)
afab0a:	eb 03                	jmp    0xafab0f
afab0c:	ff 40 68             	incl   0x68(%eax)
afab0f:	8b 43 1c             	mov    0x1c(%ebx),%eax
afab12:	8b 88 b8 01 00 00    	mov    0x1b8(%eax),%ecx
afab18:	8b 80 b4 01 00 00    	mov    0x1b4(%eax),%eax
afab1e:	2b c1                	sub    %ecx,%eax
afab20:	85 c0                	test   %eax,%eax
afab22:	7e 27                	jle    0xafab4b
afab24:	8b 45 fc             	mov    -0x4(%ebp),%eax
afab27:	83 ec 10             	sub    $0x10,%esp
afab2a:	83 c0 0c             	add    $0xc,%eax
afab2d:	8b cc                	mov    %esp,%ecx
afab2f:	50                   	push   %eax
afab30:	e8 11 da 93 ff       	call   0x438546
afab35:	8b 7b 1c             	mov    0x1c(%ebx),%edi
afab38:	ff 75 fc             	push   -0x4(%ebp)
afab3b:	8b 07                	mov    (%edi),%eax
afab3d:	8b 70 38             	mov    0x38(%eax),%esi
afab40:	8b ce                	mov    %esi,%ecx
afab42:	e8 1e 1b 93 ff       	call   0x42c665
afab47:	8b cf                	mov    %edi,%ecx
afab49:	ff d6                	call   *%esi
afab4b:	5f                   	pop    %edi
afab4c:	5e                   	pop    %esi
afab4d:	5b                   	pop    %ebx
afab4e:	8b e5                	mov    %ebp,%esp
afab50:	5d                   	pop    %ebp
afab51:	c2 08 00             	ret    $0x8
afab54:	cc                   	int3
afab55:	cc                   	int3
afab56:	cc                   	int3
afab57:	cc                   	int3
afab58:	cc                   	int3
afab59:	cc                   	int3
afab5a:	cc                   	int3
afab5b:	cc                   	int3
afab5c:	cc                   	int3
afab5d:	cc                   	int3
afab5e:	cc                   	int3
afab5f:	cc                   	int3
afab60:	cc                   	int3
afab61:	cc                   	int3
afab62:	cc                   	int3
afab63:	cc                   	int3
afab64:	cc                   	int3