972833:	c2 04 00             	ret    $0x4
972836:	cc                   	int3
972837:	cc                   	int3
972838:	cc                   	int3
972839:	cc                   	int3
97283a:	55                   	push   %ebp
97283b:	8b ec                	mov    %esp,%ebp
97283d:	8b 4d 08             	mov    0x8(%ebp),%ecx
972840:	8b 11                	mov    (%ecx),%edx
972842:	8b 02                	mov    (%edx),%eax
972844:	89 01                	mov    %eax,(%ecx)
972846:	8d 42 08             	lea    0x8(%edx),%eax
972849:	5d                   	pop    %ebp
97284a:	c2 04 00             	ret    $0x4
97284d:	cc                   	int3
97284e:	cc                   	int3
97284f:	cc                   	int3
972850:	cc                   	int3
972851:	55                   	push   %ebp
972852:	8b ec                	mov    %esp,%ebp
972854:	51                   	push   %ecx
972855:	53                   	push   %ebx
972856:	8b d1                	mov    %ecx,%edx
972858:	56                   	push   %esi
972859:	57                   	push   %edi
97285a:	8b 7a 04             	mov    0x4(%edx),%edi
97285d:	85 ff                	test   %edi,%edi
97285f:	74 73                	je     0x9728d4
972861:	8b 5d 08             	mov    0x8(%ebp),%ebx
972864:	8b 33                	mov    (%ebx),%esi
972866:	85 f6                	test   %esi,%esi
972868:	74 6a                	je     0x9728d4
97286a:	83 fe ff             	cmp    $0xffffffff,%esi
97286d:	75 1a                	jne    0x972889
97286f:	33 c9                	xor    %ecx,%ecx
972871:	39 4a 08             	cmp    %ecx,0x8(%edx)
972874:	76 13                	jbe    0x972889
972876:	8b c7                	mov    %edi,%eax
972878:	8b 30                	mov    (%eax),%esi
97287a:	85 f6                	test   %esi,%esi
97287c:	75 0b                	jne    0x972889
97287e:	41                   	inc    %ecx
97287f:	83 c0 04             	add    $0x4,%eax
972882:	3b 4a 08             	cmp    0x8(%edx),%ecx
972885:	72 f1                	jb     0x972878
972887:	eb 4b                	jmp    0x9728d4
972889:	8b 4e 08             	mov    0x8(%esi),%ecx
97288c:	85 c9                	test   %ecx,%ecx
97288e:	75 28                	jne    0x9728b8
972890:	8b 42 08             	mov    0x8(%edx),%eax
972893:	33 d2                	xor    %edx,%edx
972895:	89 45 fc             	mov    %eax,-0x4(%ebp)
972898:	8b 46 0c             	mov    0xc(%esi),%eax
97289b:	f7 75 fc             	divl   -0x4(%ebp)
97289e:	42                   	inc    %edx
97289f:	3b 55 fc             	cmp    -0x4(%ebp),%edx
9728a2:	73 14                	jae    0x9728b8
9728a4:	8d 04 97             	lea    (%edi,%edx,4),%eax
9728a7:	8b 7d fc             	mov    -0x4(%ebp),%edi
9728aa:	8b 08                	mov    (%eax),%ecx
9728ac:	85 c9                	test   %ecx,%ecx
9728ae:	75 08                	jne    0x9728b8
9728b0:	42                   	inc    %edx
9728b1:	83 c0 04             	add    $0x4,%eax
9728b4:	3b d7                	cmp    %edi,%edx
9728b6:	72 f2                	jb     0x9728aa
9728b8:	89 0b                	mov    %ecx,(%ebx)
9728ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
9728bd:	56                   	push   %esi
9728be:	e8 2a fe a9 ff       	call   0x4126ed
9728c3:	8b 45 10             	mov    0x10(%ebp),%eax
9728c6:	8b 4e 04             	mov    0x4(%esi),%ecx
9728c9:	5f                   	pop    %edi
9728ca:	5e                   	pop    %esi
9728cb:	89 08                	mov    %ecx,(%eax)
9728cd:	5b                   	pop    %ebx
9728ce:	8b e5                	mov    %ebp,%esp
9728d0:	5d                   	pop    %ebp
9728d1:	c2 0c 00             	ret    $0xc
9728d4:	e8 8d f6 ab ff       	call   0x431f66
9728d9:	cc                   	int3
9728da:	cc                   	int3
9728db:	cc                   	int3
9728dc:	cc                   	int3
9728dd:	cc                   	int3
9728de:	cc                   	int3
9728df:	cc                   	int3
9728e0:	cc                   	int3
9728e1:	cc                   	int3
9728e2:	cc                   	int3
9728e3:	cc                   	int3
9728e4:	cc                   	int3
9728e5:	cc                   	int3
9728e6:	cc                   	int3
9728e7:	cc                   	int3
9728e8:	cc                   	int3
9728e9:	cc                   	int3
9728ea:	cc                   	int3
9728eb:	cc                   	int3
9728ec:	cc                   	int3
9728ed:	cc                   	int3
9728ee:	cc                   	int3
9728ef:	cc                   	int3
9728f0:	cc                   	int3
9728f1:	cc                   	int3
9728f2:	cc                   	int3
9728f3:	cc                   	int3
9728f4:	cc                   	int3
9728f5:	cc                   	int3
9728f6:	cc                   	int3
9728f7:	cc                   	int3
9728f8:	cc                   	int3
9728f9:	cc                   	int3
9728fa:	cc                   	int3
9728fb:	cc                   	int3
9728fc:	8b 81 4c 01 00 00    	mov    0x14c(%ecx),%eax
972902:	c3                   	ret
972903:	8b 81 68 03 00 00    	mov    0x368(%ecx),%eax
972909:	c3                   	ret
97290a:	b8 ec a1 c5 00       	mov    $0xc5a1ec,%eax
97290f:	c3                   	ret
972910:	8b 41 0c             	mov    0xc(%ecx),%eax
972913:	f7 d8                	neg    %eax
972915:	1b c0                	sbb    %eax,%eax
972917:	c3                   	ret
972918:	cc                   	int3
972919:	cc                   	int3
97291a:	b8 cc a4 c5 00       	mov    $0xc5a4cc,%eax
97291f:	c3                   	ret
972920:	55                   	push   %ebp
972921:	8b ec                	mov    %esp,%ebp
972923:	56                   	push   %esi
972924:	8b f1                	mov    %ecx,%esi
972926:	57                   	push   %edi
972927:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
97292b:	74 0d                	je     0x97293a
97292d:	ff 76 04             	push   0x4(%esi)
972930:	e8 dd bc ac ff       	call   0x43e612
972935:	83 66 04 00          	andl   $0x0,0x4(%esi)
972939:	59                   	pop    %ecx
97293a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
97293e:	8b 7d 08             	mov    0x8(%ebp),%edi
972941:	74 31                	je     0x972974
972943:	33 c9                	xor    %ecx,%ecx
972945:	8b c7                	mov    %edi,%eax
972947:	6a 04                	push   $0x4
972949:	5a                   	pop    %edx
97294a:	f7 e2                	mul    %edx
97294c:	0f 90 c1             	seto   %cl
97294f:	f7 d9                	neg    %ecx
972951:	0b c8                	or     %eax,%ecx
972953:	51                   	push   %ecx
972954:	e8 3e 2e ac ff       	call   0x435797
972959:	59                   	pop    %ecx
97295a:	8b c8                	mov    %eax,%ecx
97295c:	89 4e 04             	mov    %ecx,0x4(%esi)
97295f:	85 c9                	test   %ecx,%ecx
972961:	74 1a                	je     0x97297d
972963:	8b c7                	mov    %edi,%eax
972965:	c1 e0 02             	shl    $0x2,%eax
972968:	50                   	push   %eax
972969:	6a 00                	push   $0x0
97296b:	51                   	push   %ecx
97296c:	e8 47 1e aa ff       	call   0x4147b8
972971:	83 c4 0c             	add    $0xc,%esp
972974:	89 7e 08             	mov    %edi,0x8(%esi)
972977:	5f                   	pop    %edi
972978:	5e                   	pop    %esi
972979:	5d                   	pop    %ebp
97297a:	c2 08 00             	ret    $0x8
97297d:	e8 e4 f5 ab ff       	call   0x431f66
972982:	cc                   	int3
972983:	cc                   	int3
972984:	cc                   	int3
972985:	cc                   	int3
972986:	cc                   	int3
972987:	cc                   	int3
972988:	cc                   	int3
972989:	cc                   	int3
97298a:	cc                   	int3
97298b:	cc                   	int3
97298c:	cc                   	int3
97298d:	cc                   	int3
97298e:	cc                   	int3
97298f:	cc                   	int3
972990:	cc                   	int3
972991:	cc                   	int3
972992:	cc                   	int3
972993:	cc                   	int3
972994:	cc                   	int3
972995:	cc                   	int3
972996:	cc                   	int3
972997:	cc                   	int3
972998:	cc                   	int3
972999:	cc                   	int3
97299a:	cc                   	int3
97299b:	33 c0                	xor    %eax,%eax
97299d:	39 41 0c             	cmp    %eax,0xc(%ecx)
9729a0:	0f 94 c0             	sete   %al
9729a3:	c3                   	ret
9729a4:	cc                   	int3
9729a5:	cc                   	int3
9729a6:	33 c0                	xor    %eax,%eax
9729a8:	39 81 e0 01 00 00    	cmp    %eax,0x1e0(%ecx)
9729ae:	0f 95 c0             	setne  %al
9729b1:	c3                   	ret
9729b2:	cc                   	int3
9729b3:	cc                   	int3
9729b4:	cc                   	int3
9729b5:	33 c0                	xor    %eax,%eax
9729b7:	39 81 fc 03 00 00    	cmp    %eax,0x3fc(%ecx)
9729bd:	0f 95 c0             	setne  %al
9729c0:	c3                   	ret
9729c1:	cc                   	int3
9729c2:	cc                   	int3
9729c3:	cc                   	int3
9729c4:	55                   	push   %ebp
9729c5:	8b ec                	mov    %esp,%ebp
9729c7:	51                   	push   %ecx
9729c8:	51                   	push   %ecx
9729c9:	8d 45 fc             	lea    -0x4(%ebp),%eax
9729cc:	50                   	push   %eax
9729cd:	8d 45 f8             	lea    -0x8(%ebp),%eax
9729d0:	50                   	push   %eax
9729d1:	ff 75 08             	push   0x8(%ebp)
9729d4:	e8 7f 69 aa ff       	call   0x419358
9729d9:	85 c0                	test   %eax,%eax
9729db:	74 0b                	je     0x9729e8
9729dd:	8b 48 04             	mov    0x4(%eax),%ecx
9729e0:	8b 45 0c             	mov    0xc(%ebp),%eax
9729e3:	89 08                	mov    %ecx,(%eax)
9729e5:	33 c0                	xor    %eax,%eax
9729e7:	40                   	inc    %eax
9729e8:	8b e5                	mov    %ebp,%esp
9729ea:	5d                   	pop    %ebp
9729eb:	c2 08 00             	ret    $0x8
9729ee:	cc                   	int3
9729ef:	cc                   	int3
9729f0:	cc                   	int3
9729f1:	cc                   	int3
9729f2:	cc                   	int3
9729f3:	cc                   	int3
9729f4:	cc                   	int3
9729f5:	cc                   	int3
9729f6:	cc                   	int3
9729f7:	cc                   	int3
9729f8:	6a 08                	push   $0x8
9729fa:	b8 f0 c9 ba 00       	mov    $0xbac9f0,%eax
9729ff:	e8 87 78 a9 ff       	call   0x40a28b
972a04:	8b f9                	mov    %ecx,%edi
972a06:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
972a0a:	75 2e                	jne    0x972a3a
972a0c:	6a 10                	push   $0x10
972a0e:	ff 77 18             	push   0x18(%edi)
972a11:	8d 47 14             	lea    0x14(%edi),%eax
972a14:	50                   	push   %eax
972a15:	e8 92 06 aa ff       	call   0x4130ac
972a1a:	8b 57 18             	mov    0x18(%edi),%edx
972a1d:	8b ca                	mov    %edx,%ecx
972a1f:	c1 e1 04             	shl    $0x4,%ecx
972a22:	83 c1 f8             	add    $0xfffffff8,%ecx
972a25:	03 c8                	add    %eax,%ecx
972a27:	eb 0c                	jmp    0x972a35
972a29:	8b 47 10             	mov    0x10(%edi),%eax
972a2c:	89 41 08             	mov    %eax,0x8(%ecx)
972a2f:	89 4f 10             	mov    %ecx,0x10(%edi)
972a32:	83 e9 10             	sub    $0x10,%ecx
972a35:	83 ea 01             	sub    $0x1,%edx
972a38:	79 ef                	jns    0x972a29
972a3a:	8b 5f 10             	mov    0x10(%edi),%ebx
972a3d:	85 db                	test   %ebx,%ebx
972a3f:	75 05                	jne    0x972a46
972a41:	e8 20 f5 ab ff       	call   0x431f66
972a46:	6a 10                	push   $0x10
972a48:	6a 00                	push   $0x0
972a4a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
972a4d:	8b 73 08             	mov    0x8(%ebx),%esi
972a50:	53                   	push   %ebx
972a51:	e8 62 1d aa ff       	call   0x4147b8
972a56:	89 73 08             	mov    %esi,0x8(%ebx)
972a59:	83 c4 0c             	add    $0xc,%esp
972a5c:	8b 47 10             	mov    0x10(%edi),%eax
972a5f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
972a62:	8b 48 08             	mov    0x8(%eax),%ecx
972a65:	ff 47 0c             	incl   0xc(%edi)
972a68:	89 4f 10             	mov    %ecx,0x10(%edi)
972a6b:	ff 75 08             	push   0x8(%ebp)
972a6e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
972a72:	8b cb                	mov    %ebx,%ecx
972a74:	e8 0a 1f ab ff       	call   0x424983
972a79:	8b c3                	mov    %ebx,%eax
972a7b:	e8 97 b9 a9 ff       	call   0x40e417
972a80:	c2 04 00             	ret    $0x4
972a83:	cc                   	int3
972a84:	cc                   	int3
972a85:	cc                   	int3
972a86:	cc                   	int3
972a87:	cc                   	int3
972a88:	cc                   	int3
972a89:	cc                   	int3
972a8a:	cc                   	int3
972a8b:	cc                   	int3
972a8c:	cc                   	int3
972a8d:	cc                   	int3
972a8e:	cc                   	int3
972a8f:	cc                   	int3
972a90:	cc                   	int3
972a91:	cc                   	int3
972a92:	cc                   	int3
972a93:	cc                   	int3
972a94:	cc                   	int3
972a95:	cc                   	int3
972a96:	cc                   	int3
972a97:	cc                   	int3
972a98:	cc                   	int3
972a99:	cc                   	int3
972a9a:	cc                   	int3
972a9b:	cc                   	int3
972a9c:	cc                   	int3
972a9d:	cc                   	int3
972a9e:	cc                   	int3
972a9f:	cc                   	int3
972aa0:	cc                   	int3
972aa1:	cc                   	int3
972aa2:	cc                   	int3
972aa3:	cc                   	int3
972aa4:	cc                   	int3
972aa5:	55                   	push   %ebp
972aa6:	8b ec                	mov    %esp,%ebp
972aa8:	56                   	push   %esi
972aa9:	8b f1                	mov    %ecx,%esi
972aab:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
972aaf:	75 2e                	jne    0x972adf
972ab1:	6a 0c                	push   $0xc
972ab3:	ff 76 18             	push   0x18(%esi)
972ab6:	8d 46 14             	lea    0x14(%esi),%eax
972ab9:	50                   	push   %eax
972aba:	e8 ed 05 aa ff       	call   0x4130ac
972abf:	8b 56 18             	mov    0x18(%esi),%edx
972ac2:	83 c0 08             	add    $0x8,%eax
972ac5:	6b ca 0c             	imul   $0xc,%edx,%ecx
972ac8:	83 c1 f4             	add    $0xfffffff4,%ecx
972acb:	03 c8                	add    %eax,%ecx
972acd:	eb 0b                	jmp    0x972ada
972acf:	8b 46 10             	mov    0x10(%esi),%eax
972ad2:	89 01                	mov    %eax,(%ecx)
972ad4:	89 4e 10             	mov    %ecx,0x10(%esi)
972ad7:	83 e9 0c             	sub    $0xc,%ecx
972ada:	83 ea 01             	sub    $0x1,%edx
972add:	79 f0                	jns    0x972acf