86971f:	55                   	push   %ebp
869720:	8b ec                	mov    %esp,%ebp
869722:	56                   	push   %esi
869723:	8b f1                	mov    %ecx,%esi
869725:	e8 43 29 ba ff       	call   0x40c06d
86972a:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
86972e:	74 1b                	je     0x86974b
869730:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
869734:	75 08                	jne    0x86973e
869736:	56                   	push   %esi
869737:	e8 53 80 b9 ff       	call   0x40178f
86973c:	eb 0c                	jmp    0x86974a
86973e:	68 00 01 00 00       	push   $0x100
869743:	56                   	push   %esi
869744:	e8 91 60 bb ff       	call   0x41f7da
869749:	59                   	pop    %ecx
86974a:	59                   	pop    %ecx
86974b:	8b c6                	mov    %esi,%eax
86974d:	5e                   	pop    %esi
86974e:	5d                   	pop    %ebp
86974f:	c2 04 00             	ret    $0x4
869752:	cc                   	int3
869753:	cc                   	int3
869754:	cc                   	int3
869755:	cc                   	int3
869756:	cc                   	int3
869757:	cc                   	int3
869758:	cc                   	int3
869759:	cc                   	int3
86975a:	cc                   	int3
86975b:	cc                   	int3
86975c:	cc                   	int3
86975d:	cc                   	int3
86975e:	55                   	push   %ebp
86975f:	8b ec                	mov    %esp,%ebp
869761:	56                   	push   %esi
869762:	8b f1                	mov    %ecx,%esi
869764:	c7 06 c4 1a c4 00    	movl   $0xc41ac4,(%esi)
86976a:	e8 d6 c2 bb ff       	call   0x425a45
86976f:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
869773:	74 1b                	je     0x869790
869775:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
869779:	75 08                	jne    0x869783
86977b:	56                   	push   %esi
86977c:	e8 0e 80 b9 ff       	call   0x40178f
869781:	eb 0c                	jmp    0x86978f
869783:	68 a8 01 00 00       	push   $0x1a8
869788:	56                   	push   %esi
869789:	e8 4c 60 bb ff       	call   0x41f7da
86978e:	59                   	pop    %ecx
86978f:	59                   	pop    %ecx
869790:	8b c6                	mov    %esi,%eax
869792:	5e                   	pop    %esi
869793:	5d                   	pop    %ebp
869794:	c2 04 00             	ret    $0x4
869797:	cc                   	int3
869798:	cc                   	int3
869799:	cc                   	int3
86979a:	cc                   	int3
86979b:	cc                   	int3
86979c:	cc                   	int3
86979d:	cc                   	int3
86979e:	cc                   	int3
86979f:	cc                   	int3
8697a0:	cc                   	int3
8697a1:	cc                   	int3
8697a2:	cc                   	int3
8697a3:	cc                   	int3
8697a4:	cc                   	int3
8697a5:	55                   	push   %ebp
8697a6:	8b ec                	mov    %esp,%ebp
8697a8:	56                   	push   %esi
8697a9:	8b f1                	mov    %ecx,%esi
8697ab:	e8 95 c2 bb ff       	call   0x425a45
8697b0:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
8697b4:	74 1b                	je     0x8697d1
8697b6:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
8697ba:	75 08                	jne    0x8697c4
8697bc:	56                   	push   %esi
8697bd:	e8 cd 7f b9 ff       	call   0x40178f
8697c2:	eb 0c                	jmp    0x8697d0
8697c4:	68 e8 00 00 00       	push   $0xe8
8697c9:	56                   	push   %esi
8697ca:	e8 0b 60 bb ff       	call   0x41f7da
8697cf:	59                   	pop    %ecx
8697d0:	59                   	pop    %ecx
8697d1:	8b c6                	mov    %esi,%eax
8697d3:	5e                   	pop    %esi
8697d4:	5d                   	pop    %ebp
8697d5:	c2 04 00             	ret    $0x4
8697d8:	cc                   	int3
8697d9:	cc                   	int3
8697da:	cc                   	int3
8697db:	cc                   	int3
8697dc:	cc                   	int3
8697dd:	cc                   	int3
8697de:	cc                   	int3
8697df:	cc                   	int3
8697e0:	cc                   	int3
8697e1:	cc                   	int3
8697e2:	cc                   	int3
8697e3:	cc                   	int3
8697e4:	55                   	push   %ebp
8697e5:	8b ec                	mov    %esp,%ebp
8697e7:	56                   	push   %esi
8697e8:	8b f1                	mov    %ecx,%esi
8697ea:	ff 76 04             	push   0x4(%esi)
8697ed:	6a 00                	push   $0x0
8697ef:	e8 8f e3 bb ff       	call   0x427b83
8697f4:	8b 55 08             	mov    0x8(%ebp),%edx
8697f7:	89 50 08             	mov    %edx,0x8(%eax)
8697fa:	8b 4e 04             	mov    0x4(%esi),%ecx
8697fd:	85 c9                	test   %ecx,%ecx
8697ff:	74 05                	je     0x869806
869801:	89 41 04             	mov    %eax,0x4(%ecx)
869804:	eb 03                	jmp    0x869809
869806:	89 46 08             	mov    %eax,0x8(%esi)
869809:	89 46 04             	mov    %eax,0x4(%esi)
86980c:	5e                   	pop    %esi
86980d:	5d                   	pop    %ebp
86980e:	c2 04 00             	ret    $0x4
869811:	cc                   	int3
869812:	cc                   	int3
869813:	cc                   	int3
869814:	cc                   	int3
869815:	cc                   	int3
869816:	cc                   	int3
869817:	cc                   	int3
869818:	cc                   	int3
869819:	cc                   	int3
86981a:	cc                   	int3
86981b:	cc                   	int3
86981c:	55                   	push   %ebp
86981d:	8b ec                	mov    %esp,%ebp
86981f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
869823:	57                   	push   %edi
869824:	8b f9                	mov    %ecx,%edi
869826:	74 37                	je     0x86985f
869828:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
86982c:	74 18                	je     0x869846
86982e:	6a 00                	push   $0x0
869830:	ff 75 08             	push   0x8(%ebp)
869833:	8d 8f 9c 00 00 00    	lea    0x9c(%edi),%ecx
869839:	e8 68 48 bb ff       	call   0x41e0a6
86983e:	85 c0                	test   %eax,%eax
869840:	74 04                	je     0x869846
869842:	33 c0                	xor    %eax,%eax
869844:	eb 14                	jmp    0x86985a
869846:	ff 75 08             	push   0x8(%ebp)
869849:	8d 8f 9c 00 00 00    	lea    0x9c(%edi),%ecx
86984f:	e8 50 ea bb ff       	call   0x4282a4
869854:	33 c0                	xor    %eax,%eax
869856:	40                   	inc    %eax
869857:	89 47 2c             	mov    %eax,0x2c(%edi)
86985a:	5f                   	pop    %edi
86985b:	5d                   	pop    %ebp
86985c:	c2 08 00             	ret    $0x8
86985f:	e8 02 87 bc ff       	call   0x431f66
869864:	cc                   	int3
869865:	cc                   	int3
869866:	cc                   	int3
869867:	cc                   	int3
869868:	cc                   	int3
869869:	cc                   	int3
86986a:	cc                   	int3
86986b:	cc                   	int3
86986c:	cc                   	int3
86986d:	cc                   	int3
86986e:	cc                   	int3
86986f:	cc                   	int3
869870:	cc                   	int3
869871:	cc                   	int3
869872:	cc                   	int3
869873:	cc                   	int3
869874:	cc                   	int3
869875:	cc                   	int3
869876:	cc                   	int3
869877:	55                   	push   %ebp
869878:	8b ec                	mov    %esp,%ebp
86987a:	51                   	push   %ecx
86987b:	53                   	push   %ebx
86987c:	8b 5d 08             	mov    0x8(%ebp),%ebx
86987f:	56                   	push   %esi
869880:	57                   	push   %edi
869881:	8b f9                	mov    %ecx,%edi
869883:	8b b7 a4 03 00 00    	mov    0x3a4(%edi),%esi
869889:	eb 13                	jmp    0x86989e
86988b:	8b 4e 08             	mov    0x8(%esi),%ecx
86988e:	8b 36                	mov    (%esi),%esi
869890:	3b cb                	cmp    %ebx,%ecx
869892:	74 63                	je     0x8698f7
869894:	53                   	push   %ebx
869895:	e8 08 2f ba ff       	call   0x40c7a2
86989a:	85 c0                	test   %eax,%eax
86989c:	75 59                	jne    0x8698f7
86989e:	85 f6                	test   %esi,%esi
8698a0:	75 e9                	jne    0x86988b
8698a2:	57                   	push   %edi
8698a3:	8b cb                	mov    %ebx,%ecx
8698a5:	e8 f3 ce ba ff       	call   0x41679d
8698aa:	53                   	push   %ebx
8698ab:	8d 8f a0 03 00 00    	lea    0x3a0(%edi),%ecx
8698b1:	e8 e8 5f ba ff       	call   0x40f89e
8698b6:	8b 87 ac 03 00 00    	mov    0x3ac(%edi),%eax
8698bc:	48                   	dec    %eax
8698bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
8698c0:	39 75 10             	cmp    %esi,0x10(%ebp)
8698c3:	74 29                	je     0x8698ee
8698c5:	8b 07                	mov    (%edi),%eax
8698c7:	8b b0 70 01 00 00    	mov    0x170(%eax),%esi
8698cd:	8b ce                	mov    %esi,%ecx
8698cf:	e8 91 2d bc ff       	call   0x42c665
8698d4:	8b cf                	mov    %edi,%ecx
8698d6:	ff d6                	call   *%esi
8698d8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
8698dc:	74 0d                	je     0x8698eb
8698de:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
8698e2:	74 07                	je     0x8698eb
8698e4:	8b cb                	mov    %ebx,%ecx
8698e6:	e8 47 28 bd ff       	call   0x43c132
8698eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
8698ee:	5f                   	pop    %edi
8698ef:	5e                   	pop    %esi
8698f0:	5b                   	pop    %ebx
8698f1:	8b e5                	mov    %ebp,%esp
8698f3:	5d                   	pop    %ebp
8698f4:	c2 0c 00             	ret    $0xc
8698f7:	83 c8 ff             	or     $0xffffffff,%eax
8698fa:	eb f2                	jmp    0x8698ee
8698fc:	cc                   	int3
8698fd:	cc                   	int3
8698fe:	cc                   	int3
8698ff:	cc                   	int3
869900:	cc                   	int3
869901:	cc                   	int3
869902:	cc                   	int3
869903:	cc                   	int3
869904:	cc                   	int3
869905:	cc                   	int3
869906:	cc                   	int3
869907:	cc                   	int3
869908:	cc                   	int3
869909:	cc                   	int3
86990a:	cc                   	int3
86990b:	cc                   	int3
86990c:	cc                   	int3
86990d:	cc                   	int3
86990e:	cc                   	int3
86990f:	cc                   	int3
869910:	cc                   	int3
869911:	cc                   	int3
869912:	cc                   	int3
869913:	cc                   	int3
869914:	cc                   	int3
869915:	cc                   	int3
869916:	cc                   	int3
869917:	cc                   	int3
869918:	cc                   	int3
869919:	cc                   	int3
86991a:	cc                   	int3
86991b:	cc                   	int3
86991c:	cc                   	int3
86991d:	55                   	push   %ebp
86991e:	8b ec                	mov    %esp,%ebp
869920:	53                   	push   %ebx
869921:	8b d9                	mov    %ecx,%ebx
869923:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
869927:	75 04                	jne    0x86992d
869929:	33 c0                	xor    %eax,%eax
86992b:	eb 51                	jmp    0x86997e
86992d:	56                   	push   %esi
86992e:	8b 75 08             	mov    0x8(%ebp),%esi
869931:	57                   	push   %edi
869932:	8b be c4 00 00 00    	mov    0xc4(%esi),%edi
869938:	85 ff                	test   %edi,%edi
86993a:	74 1f                	je     0x86995b
86993c:	8b bf a4 03 00 00    	mov    0x3a4(%edi),%edi
869942:	eb 13                	jmp    0x869957
869944:	8b 4f 08             	mov    0x8(%edi),%ecx
869947:	8b 3f                	mov    (%edi),%edi
869949:	3b ce                	cmp    %esi,%ecx
86994b:	74 36                	je     0x869983
86994d:	56                   	push   %esi
86994e:	e8 4f 2e ba ff       	call   0x40c7a2
869953:	85 c0                	test   %eax,%eax
869955:	75 2c                	jne    0x869983
869957:	85 ff                	test   %edi,%edi
869959:	75 e9                	jne    0x869944
86995b:	56                   	push   %esi
86995c:	8d 8b cc 00 00 00    	lea    0xcc(%ebx),%ecx
869962:	89 9e c8 00 00 00    	mov    %ebx,0xc8(%esi)
869968:	e8 31 5f ba ff       	call   0x40f89e
86996d:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
869973:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
869979:	33 c0                	xor    %eax,%eax
86997b:	40                   	inc    %eax
86997c:	5f                   	pop    %edi
86997d:	5e                   	pop    %esi
86997e:	5b                   	pop    %ebx
86997f:	5d                   	pop    %ebp
869980:	c2 04 00             	ret    $0x4
869983:	33 c0                	xor    %eax,%eax
869985:	eb f5                	jmp    0x86997c
869987:	cc                   	int3
869988:	cc                   	int3
869989:	cc                   	int3
86998a:	cc                   	int3
86998b:	cc                   	int3
86998c:	cc                   	int3
86998d:	cc                   	int3
86998e:	cc                   	int3
86998f:	cc                   	int3
869990:	cc                   	int3
869991:	cc                   	int3
869992:	cc                   	int3
869993:	cc                   	int3
869994:	cc                   	int3
869995:	cc                   	int3
869996:	cc                   	int3
869997:	cc                   	int3
869998:	cc                   	int3
869999:	cc                   	int3
86999a:	cc                   	int3
86999b:	cc                   	int3
86999c:	cc                   	int3
86999d:	cc                   	int3
86999e:	cc                   	int3
86999f:	cc                   	int3
8699a0:	cc                   	int3
8699a1:	55                   	push   %ebp
8699a2:	8b ec                	mov    %esp,%ebp
8699a4:	56                   	push   %esi
8699a5:	8b f1                	mov    %ecx,%esi
8699a7:	6a 00                	push   $0x0
8699a9:	ff 76 08             	push   0x8(%esi)
8699ac:	e8 d2 e1 bb ff       	call   0x427b83
8699b1:	8b 55 08             	mov    0x8(%ebp),%edx
8699b4:	89 50 08             	mov    %edx,0x8(%eax)
8699b7:	8b 4e 08             	mov    0x8(%esi),%ecx
8699ba:	85 c9                	test   %ecx,%ecx
8699bc:	74 04                	je     0x8699c2
8699be:	89 01                	mov    %eax,(%ecx)
8699c0:	eb 03                	jmp    0x8699c5
8699c2:	89 46 04             	mov    %eax,0x4(%esi)
8699c5:	89 46 08             	mov    %eax,0x8(%esi)
8699c8:	5e                   	pop    %esi
8699c9:	5d                   	pop    %ebp
8699ca:	c2 04 00             	ret    $0x4
8699cd:	cc                   	int3
8699ce:	cc                   	int3