4776aa:	dd 5d c0             	fstpl  -0x40(%ebp)
4776ad:	dd 45 c0             	fldl   -0x40(%ebp)
4776b0:	e8 3a 9b f8 ff       	call   0x4011ef
4776b5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4776b8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4776bb:	8b 1b                	mov    (%ebx),%ebx
4776bd:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
4776c3:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4776c6:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4776c9:	83 3b 00             	cmpl   $0x0,(%ebx)
4776cc:	0f 85 21 00 00 00    	jne    0x4776f3
4776d2:	8b 5d 08             	mov    0x8(%ebp),%ebx
4776d5:	8b 1b                	mov    (%ebx),%ebx
4776d7:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
4776dd:	83 c3 04             	add    $0x4,%ebx
4776e0:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4776e3:	8b 5d d0             	mov    -0x30(%ebp),%ebx
4776e6:	83 3b 00             	cmpl   $0x0,(%ebx)
4776e9:	0f 85 04 00 00 00    	jne    0x4776f3
4776ef:	33 c0                	xor    %eax,%eax
4776f1:	eb 05                	jmp    0x4776f8
4776f3:	b8 01 00 00 00       	mov    $0x1,%eax
4776f8:	85 c0                	test   %eax,%eax
4776fa:	0f 84 98 00 00 00    	je     0x477798
477700:	8b 5d 08             	mov    0x8(%ebp),%ebx
477703:	8b 1b                	mov    (%ebx),%ebx
477705:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
47770b:	89 5d d8             	mov    %ebx,-0x28(%ebp)
47770e:	8b 45 e8             	mov    -0x18(%ebp),%eax
477711:	8b 5d d8             	mov    -0x28(%ebp),%ebx
477714:	39 03                	cmp    %eax,(%ebx)
477716:	b8 00 00 00 00       	mov    $0x0,%eax
47771b:	0f 9c c0             	setl   %al
47771e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
477721:	8b 5d 08             	mov    0x8(%ebp),%ebx
477724:	8b 1b                	mov    (%ebx),%ebx
477726:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
47772c:	89 5d d0             	mov    %ebx,-0x30(%ebp)
47772f:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
477733:	0f 84 08 00 00 00    	je     0x477741
477739:	8b 45 e8             	mov    -0x18(%ebp),%eax
47773c:	e9 05 00 00 00       	jmp    0x477746
477741:	8b 5d d0             	mov    -0x30(%ebp),%ebx
477744:	8b 03                	mov    (%ebx),%eax
477746:	89 45 e8             	mov    %eax,-0x18(%ebp)
477749:	8b 5d 08             	mov    0x8(%ebp),%ebx
47774c:	8b 1b                	mov    (%ebx),%ebx
47774e:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
477754:	83 c3 04             	add    $0x4,%ebx
477757:	89 5d d8             	mov    %ebx,-0x28(%ebp)
47775a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47775d:	8b 5d d8             	mov    -0x28(%ebp),%ebx
477760:	39 03                	cmp    %eax,(%ebx)
477762:	b8 00 00 00 00       	mov    $0x0,%eax
477767:	0f 9c c0             	setl   %al
47776a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
47776d:	8b 5d 08             	mov    0x8(%ebp),%ebx
477770:	8b 1b                	mov    (%ebx),%ebx
477772:	8b 9b a8 00 00 00    	mov    0xa8(%ebx),%ebx
477778:	83 c3 04             	add    $0x4,%ebx
47777b:	89 5d d0             	mov    %ebx,-0x30(%ebp)
47777e:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
477782:	0f 84 08 00 00 00    	je     0x477790
477788:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47778b:	e9 05 00 00 00       	jmp    0x477795
477790:	8b 5d d0             	mov    -0x30(%ebp),%ebx
477793:	8b 03                	mov    (%ebx),%eax
477795:	89 45 e4             	mov    %eax,-0x1c(%ebp)
477798:	db 45 0c             	fildl  0xc(%ebp)
47779b:	dd 5d d4             	fstpl  -0x2c(%ebp)
47779e:	dd 45 d4             	fldl   -0x2c(%ebp)
4777a1:	dc 05 6a ea 4d 00    	faddl  0x4dea6a
4777a7:	dd 5d cc             	fstpl  -0x34(%ebp)
4777aa:	ff 75 e8             	push   -0x18(%ebp)
4777ad:	dd 45 cc             	fldl   -0x34(%ebp)
4777b0:	e8 3a 9a f8 ff       	call   0x4011ef
4777b5:	50                   	push   %eax
4777b6:	e8 fc a6 f8 ff       	call   0x401eb7
4777bb:	db 45 0c             	fildl  0xc(%ebp)
4777be:	dd 5d d4             	fstpl  -0x2c(%ebp)
4777c1:	dd 45 d4             	fldl   -0x2c(%ebp)
4777c4:	dc 05 62 ea 4d 00    	faddl  0x4dea62
4777ca:	dd 5d cc             	fstpl  -0x34(%ebp)
4777cd:	ff 75 e4             	push   -0x1c(%ebp)
4777d0:	dd 45 cc             	fldl   -0x34(%ebp)
4777d3:	e8 17 9a f8 ff       	call   0x4011ef
4777d8:	50                   	push   %eax
4777d9:	e8 d9 a6 f8 ff       	call   0x401eb7
4777de:	ff 75 0c             	push   0xc(%ebp)
4777e1:	e8 b5 a4 f8 ff       	call   0x401c9b
4777e6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4777e9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4777ec:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
4777ef:	0f 8d 0b 00 00 00    	jge    0x477800
4777f5:	ff 75 e8             	push   -0x18(%ebp)
4777f8:	ff 75 0c             	push   0xc(%ebp)
4777fb:	e8 b7 a6 f8 ff       	call   0x401eb7
477800:	db 45 0c             	fildl  0xc(%ebp)
477803:	dd 5d d4             	fstpl  -0x2c(%ebp)
477806:	dd 45 d4             	fldl   -0x2c(%ebp)
477809:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
47780f:	dd 5d cc             	fstpl  -0x34(%ebp)
477812:	dd 45 cc             	fldl   -0x34(%ebp)
477815:	e8 d5 99 f8 ff       	call   0x4011ef
47781a:	50                   	push   %eax
47781b:	e8 7b a4 f8 ff       	call   0x401c9b
477820:	89 45 c4             	mov    %eax,-0x3c(%ebp)
477823:	8b 45 e4             	mov    -0x1c(%ebp),%eax
477826:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
477829:	0f 8d 23 00 00 00    	jge    0x477852
47782f:	db 45 0c             	fildl  0xc(%ebp)
477832:	dd 5d d4             	fstpl  -0x2c(%ebp)
477835:	dd 45 d4             	fldl   -0x2c(%ebp)
477838:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
47783e:	dd 5d cc             	fstpl  -0x34(%ebp)
477841:	ff 75 e4             	push   -0x1c(%ebp)
477844:	dd 45 cc             	fldl   -0x34(%ebp)
477847:	e8 a3 99 f8 ff       	call   0x4011ef
47784c:	50                   	push   %eax
47784d:	e8 65 a6 f8 ff       	call   0x401eb7
477852:	8b 5d 08             	mov    0x8(%ebp),%ebx
477855:	8b 1b                	mov    (%ebx),%ebx
477857:	8b 9b a4 00 00 00    	mov    0xa4(%ebx),%ebx
47785d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
477860:	8b 5d d8             	mov    -0x28(%ebp),%ebx
477863:	83 3b 00             	cmpl   $0x0,(%ebx)
477866:	0f 84 24 00 00 00    	je     0x477890
47786c:	8b 5d 08             	mov    0x8(%ebp),%ebx
47786f:	8b 1b                	mov    (%ebx),%ebx
477871:	8b 9b a4 00 00 00    	mov    0xa4(%ebx),%ebx
477877:	83 c3 04             	add    $0x4,%ebx
47787a:	89 5d d0             	mov    %ebx,-0x30(%ebp)
47787d:	8b 5d d0             	mov    -0x30(%ebp),%ebx
477880:	83 3b 00             	cmpl   $0x0,(%ebx)
477883:	0f 84 07 00 00 00    	je     0x477890
477889:	b8 01 00 00 00       	mov    $0x1,%eax
47788e:	eb 05                	jmp    0x477895
477890:	b8 00 00 00 00       	mov    $0x0,%eax
477895:	85 c0                	test   %eax,%eax
477897:	0f 84 6e 00 00 00    	je     0x47790b
47789d:	db 45 0c             	fildl  0xc(%ebp)
4778a0:	dd 5d d4             	fstpl  -0x2c(%ebp)
4778a3:	dd 45 d4             	fldl   -0x2c(%ebp)
4778a6:	dc 05 52 ea 4d 00    	faddl  0x4dea52
4778ac:	dd 5d cc             	fstpl  -0x34(%ebp)
4778af:	8b 5d 08             	mov    0x8(%ebp),%ebx
4778b2:	8b 1b                	mov    (%ebx),%ebx
4778b4:	8b 9b a4 00 00 00    	mov    0xa4(%ebx),%ebx
4778ba:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4778bd:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4778c0:	ff 33                	push   (%ebx)
4778c2:	dd 45 cc             	fldl   -0x34(%ebp)
4778c5:	e8 25 99 f8 ff       	call   0x4011ef
4778ca:	50                   	push   %eax
4778cb:	e8 e7 a5 f8 ff       	call   0x401eb7
4778d0:	db 45 0c             	fildl  0xc(%ebp)
4778d3:	dd 5d d4             	fstpl  -0x2c(%ebp)
4778d6:	dd 45 d4             	fldl   -0x2c(%ebp)
4778d9:	dc 05 5a ea 4d 00    	faddl  0x4dea5a
4778df:	dd 5d cc             	fstpl  -0x34(%ebp)
4778e2:	8b 5d 08             	mov    0x8(%ebp),%ebx
4778e5:	8b 1b                	mov    (%ebx),%ebx
4778e7:	8b 9b a4 00 00 00    	mov    0xa4(%ebx),%ebx
4778ed:	83 c3 04             	add    $0x4,%ebx
4778f0:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4778f3:	8b 5d c8             	mov    -0x38(%ebp),%ebx
4778f6:	ff 33                	push   (%ebx)
4778f8:	dd 45 cc             	fldl   -0x34(%ebp)
4778fb:	e8 ef 98 f8 ff       	call   0x4011ef
477900:	50                   	push   %eax
477901:	e8 b1 a5 f8 ff       	call   0x401eb7
477906:	e9 46 00 00 00       	jmp    0x477951
47790b:	db 45 0c             	fildl  0xc(%ebp)
47790e:	dd 5d d4             	fstpl  -0x2c(%ebp)
477911:	dd 45 d4             	fldl   -0x2c(%ebp)
477914:	dc 05 52 ea 4d 00    	faddl  0x4dea52
47791a:	dd 5d cc             	fstpl  -0x34(%ebp)
47791d:	ff 75 f0             	push   -0x10(%ebp)
477920:	dd 45 cc             	fldl   -0x34(%ebp)
477923:	e8 c7 98 f8 ff       	call   0x4011ef
477928:	50                   	push   %eax
477929:	e8 89 a5 f8 ff       	call   0x401eb7
47792e:	db 45 0c             	fildl  0xc(%ebp)
477931:	dd 5d d4             	fstpl  -0x2c(%ebp)
477934:	dd 45 d4             	fldl   -0x2c(%ebp)
477937:	dc 05 5a ea 4d 00    	faddl  0x4dea5a
47793d:	dd 5d cc             	fstpl  -0x34(%ebp)
477940:	ff 75 ec             	push   -0x14(%ebp)
477943:	dd 45 cc             	fldl   -0x34(%ebp)
477946:	e8 a4 98 f8 ff       	call   0x4011ef
47794b:	50                   	push   %eax
47794c:	e8 66 a5 f8 ff       	call   0x401eb7
477951:	b8 00 00 00 00       	mov    $0x0,%eax
477956:	e9 00 00 00 00       	jmp    0x47795b
47795b:	50                   	push   %eax
47795c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
47795f:	53                   	push   %ebx
477960:	e8 3f 8c 02 00       	call   0x4a05a4
477965:	83 c4 04             	add    $0x4,%esp
477968:	58                   	pop    %eax
477969:	8b e5                	mov    %ebp,%esp
47796b:	5d                   	pop    %ebp
47796c:	c2 08 00             	ret    $0x8
47796f:	55                   	push   %ebp
477970:	8b ec                	mov    %esp,%ebp
477972:	81 ec 40 00 00 00    	sub    $0x40,%esp
477978:	8b 5d 08             	mov    0x8(%ebp),%ebx
47797b:	8b 1b                	mov    (%ebx),%ebx
47797d:	83 c3 04             	add    $0x4,%ebx
477980:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477983:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477986:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
47798c:	8b 5d 08             	mov    0x8(%ebp),%ebx
47798f:	8b 1b                	mov    (%ebx),%ebx
477991:	83 c3 10             	add    $0x10,%ebx
477994:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477997:	8b 5d 08             	mov    0x8(%ebp),%ebx
47799a:	8b 1b                	mov    (%ebx),%ebx
47799c:	83 c3 08             	add    $0x8,%ebx
47799f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4779a2:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4779a9:	6a 00                	push   $0x0
4779ab:	ff 75 f4             	push   -0xc(%ebp)
4779ae:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4779b5:	6a 00                	push   $0x0
4779b7:	ff 75 f0             	push   -0x10(%ebp)
4779ba:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4779c1:	6a 00                	push   $0x0
4779c3:	ff 75 ec             	push   -0x14(%ebp)
4779c6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4779cd:	6a 00                	push   $0x0
4779cf:	ff 75 e8             	push   -0x18(%ebp)
4779d2:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4779d9:	6a 00                	push   $0x0
4779db:	ff 75 e4             	push   -0x1c(%ebp)
4779de:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4779e5:	6a 00                	push   $0x0
4779e7:	ff 75 e0             	push   -0x20(%ebp)
4779ea:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
4779f1:	6a 00                	push   $0x0
4779f3:	ff 75 dc             	push   -0x24(%ebp)
4779f6:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4779fd:	6a 00                	push   $0x0
4779ff:	ff 75 d8             	push   -0x28(%ebp)
477a02:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
477a09:	6a 00                	push   $0x0
477a0b:	ff 75 d4             	push   -0x2c(%ebp)
477a0e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
477a15:	6a 00                	push   $0x0
477a17:	ff 75 d0             	push   -0x30(%ebp)
477a1a:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
477a21:	6a 00                	push   $0x0
477a23:	ff 75 cc             	push   -0x34(%ebp)
477a26:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
477a2d:	6a 00                	push   $0x0
477a2f:	ff 75 c8             	push   -0x38(%ebp)
477a32:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
477a39:	6a 00                	push   $0x0
477a3b:	ff 75 c4             	push   -0x3c(%ebp)
477a3e:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
477a45:	6a 00                	push   $0x0
477a47:	ff 75 c0             	push   -0x40(%ebp)
477a4a:	6a 01                	push   $0x1
477a4c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
477a4f:	ff 33                	push   (%ebx)
477a51:	68 02 00 00 00       	push   $0x2
477a56:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477a59:	ff 33                	push   (%ebx)
477a5b:	e8 17 5f fb ff       	call   0x42d977
477a60:	8b 5d 08             	mov    0x8(%ebp),%ebx
477a63:	8b 1b                	mov    (%ebx),%ebx
477a65:	83 c3 10             	add    $0x10,%ebx
477a68:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477a6b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477a6e:	ff 33                	push   (%ebx)
477a70:	e8 7b b2 fb ff       	call   0x432cf0
477a75:	8b 5d 08             	mov    0x8(%ebp),%ebx
477a78:	8b 1b                	mov    (%ebx),%ebx
477a7a:	83 c3 5c             	add    $0x5c,%ebx
477a7d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477a80:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477a83:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
477a89:	8b 5d 08             	mov    0x8(%ebp),%ebx
477a8c:	8b 1b                	mov    (%ebx),%ebx
477a8e:	83 c3 1c             	add    $0x1c,%ebx
477a91:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477a94:	89 65 f8             	mov    %esp,-0x8(%ebp)
477a97:	68 00 00 00 00       	push   $0x0
477a9c:	68 00 00 00 00       	push   $0x0
477aa1:	68 10 00 00 00       	push   $0x10
477aa6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477aa9:	ff 33                	push   (%ebx)
477aab:	33 c0                	xor    %eax,%eax
477aad:	ff 15 f0 32 4b 00    	call   *0x4b32f0
477ab3:	90                   	nop
477ab4:	90                   	nop
477ab5:	39 65 f8             	cmp    %esp,-0x8(%ebp)
477ab8:	74 17                	je     0x477ad1
477aba:	68 80 00 00 00       	push   $0x80
477abf:	68 8b cf 03 04       	push   $0x403cf8b
477ac4:	68 06 00 00 00       	push   $0x6
477ac9:	e8 dc 8a 02 00       	call   0x4a05aa
477ace:	83 c4 0c             	add    $0xc,%esp
477ad1:	8b 5d 08             	mov    0x8(%ebp),%ebx
477ad4:	8b 1b                	mov    (%ebx),%ebx
477ad6:	81 c3 88 00 00 00    	add    $0x88,%ebx
477adc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477adf:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477ae2:	ff 33                	push   (%ebx)
477ae4:	e8 c0 04 00 00       	call   0x477fa9
477ae9:	ff 75 08             	push   0x8(%ebp)
477aec:	8b 04 24             	mov    (%esp),%eax
477aef:	8b 00                	mov    (%eax),%eax
477af1:	8b 00                	mov    (%eax),%eax
477af3:	ff 90 18 01 00 00    	call   *0x118(%eax)
477af9:	8b 5d 08             	mov    0x8(%ebp),%ebx
477afc:	8b 1b                	mov    (%ebx),%ebx
477afe:	81 c3 90 00 00 00    	add    $0x90,%ebx
477b04:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477b07:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477b0a:	ff 33                	push   (%ebx)
477b0c:	e8 13 db f8 ff       	call   0x405624
477b11:	6a 01                	push   $0x1
477b13:	68 01 00 00 00       	push   $0x1
477b18:	68 00 00 00 00       	push   $0x0
477b1d:	ff 75 08             	push   0x8(%ebp)
477b20:	8b 04 24             	mov    (%esp),%eax
477b23:	8b 00                	mov    (%eax),%eax
477b25:	8b 00                	mov    (%eax),%eax
477b27:	ff 50 54             	call   *0x54(%eax)
477b2a:	8b 5d 08             	mov    0x8(%ebp),%ebx
477b2d:	8b 1b                	mov    (%ebx),%ebx
477b2f:	81 c3 d8 00 00 00    	add    $0xd8,%ebx
477b35:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477b38:	8b 5d fc             	mov    -0x4(%ebp),%ebx
477b3b:	ff 33                	push   (%ebx)
477b3d:	e8 d6 b5 fb ff       	call   0x433118
477b42:	8b 5d 08             	mov    0x8(%ebp),%ebx
477b45:	8b 1b                	mov    (%ebx),%ebx
477b47:	81 c3 c8 00 00 00    	add    $0xc8,%ebx
477b4d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477b50:	ff 75 fc             	push   -0x4(%ebp)
477b53:	e8 8d f3 f8 ff       	call   0x406ee5
477b58:	8b 5d 08             	mov    0x8(%ebp),%ebx
477b5b:	8b 1b                	mov    (%ebx),%ebx
477b5d:	81 c3 94 00 00 00    	add    $0x94,%ebx
477b63:	89 5d fc             	mov    %ebx,-0x4(%ebp)
477b66:	ff 75 fc             	push   -0x4(%ebp)
477b69:	e8 77 f3 f8 ff       	call   0x406ee5
477b6e:	8b 5d 08             	mov    0x8(%ebp),%ebx