47370d:	33 db                	xor    %ebx,%ebx
47370f:	43                   	inc    %ebx
473710:	57                   	push   %edi
473711:	8b 4e 04             	mov    0x4(%esi),%ecx
473714:	8b 01                	mov    (%ecx),%eax
473716:	39 58 0c             	cmp    %ebx,0xc(%eax)
473719:	75 40                	jne    0x47375b
47371b:	8b 49 04             	mov    0x4(%ecx),%ecx
47371e:	39 59 0c             	cmp    %ebx,0xc(%ecx)
473721:	75 38                	jne    0x47375b
473723:	e8 74 65 f9 ff       	call   0x409c9c
473728:	85 c0                	test   %eax,%eax
47372a:	74 2f                	je     0x47375b
47372c:	8b 4e 04             	mov    0x4(%esi),%ecx
47372f:	8b 31                	mov    (%ecx),%esi
473731:	8b 49 04             	mov    0x4(%ecx),%ecx
473734:	e8 63 65 f9 ff       	call   0x409c9c
473739:	8b ce                	mov    %esi,%ecx
47373b:	8b f8                	mov    %eax,%edi
47373d:	e8 5a 65 f9 ff       	call   0x409c9c
473742:	99                   	cltd
473743:	f7 ff                	idiv   %edi
473745:	8b 75 0c             	mov    0xc(%ebp),%esi
473748:	8b ce                	mov    %esi,%ecx
47374a:	8b fa                	mov    %edx,%edi
47374c:	e8 cf 62 f9 ff       	call   0x409a20
473751:	89 5e 0c             	mov    %ebx,0xc(%esi)
473754:	89 3e                	mov    %edi,(%esi)
473756:	e9 a2 00 00 00       	jmp    0x4737fd
47375b:	8b 7e 04             	mov    0x4(%esi),%edi
47375e:	8b 0f                	mov    (%edi),%ecx
473760:	e8 dd 64 f9 ff       	call   0x409c42
473765:	84 c0                	test   %al,%al
473767:	74 55                	je     0x4737be
473769:	8b 4f 04             	mov    0x4(%edi),%ecx
47376c:	e8 d1 64 f9 ff       	call   0x409c42
473771:	84 c0                	test   %al,%al
473773:	74 49                	je     0x4737be
473775:	8b 4f 04             	mov    0x4(%edi),%ecx
473778:	e8 c9 65 f9 ff       	call   0x409d46
47377d:	0b c2                	or     %edx,%eax
47377f:	74 3d                	je     0x4737be
473781:	8b 4e 04             	mov    0x4(%esi),%ecx
473784:	8b 19                	mov    (%ecx),%ebx
473786:	8b 49 04             	mov    0x4(%ecx),%ecx
473789:	e8 b8 65 f9 ff       	call   0x409d46
47378e:	8b cb                	mov    %ebx,%ecx
473790:	8b f8                	mov    %eax,%edi
473792:	8b f2                	mov    %edx,%esi
473794:	e8 ad 65 f9 ff       	call   0x409d46
473799:	56                   	push   %esi
47379a:	57                   	push   %edi
47379b:	52                   	push   %edx
47379c:	50                   	push   %eax
47379d:	e8 ae 0f fc ff       	call   0x434750
4737a2:	8b 7d 0c             	mov    0xc(%ebp),%edi
4737a5:	8b f0                	mov    %eax,%esi
4737a7:	8b cf                	mov    %edi,%ecx
4737a9:	8b da                	mov    %edx,%ebx
4737ab:	e8 70 62 f9 ff       	call   0x409a20
4737b0:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
4737b7:	89 37                	mov    %esi,(%edi)
4737b9:	89 5f 04             	mov    %ebx,0x4(%edi)
4737bc:	eb 3f                	jmp    0x4737fd
4737be:	8b 46 04             	mov    0x4(%esi),%eax
4737c1:	8b 48 04             	mov    0x4(%eax),%ecx
4737c4:	8b 30                	mov    (%eax),%esi
4737c6:	e8 2d 65 f9 ff       	call   0x409cf8
4737cb:	51                   	push   %ecx
4737cc:	51                   	push   %ecx
4737cd:	dd 1c 24             	fstpl  (%esp)
4737d0:	8b ce                	mov    %esi,%ecx
4737d2:	e8 21 65 f9 ff       	call   0x409cf8
4737d7:	51                   	push   %ecx
4737d8:	51                   	push   %ecx
4737d9:	dd 1c 24             	fstpl  (%esp)
4737dc:	e8 af 31 fb ff       	call   0x426990
4737e1:	8b 75 0c             	mov    0xc(%ebp),%esi
4737e4:	83 c4 10             	add    $0x10,%esp
4737e7:	8b ce                	mov    %esi,%ecx
4737e9:	dd 5d f8             	fstpl  -0x8(%ebp)
4737ec:	e8 2f 62 f9 ff       	call   0x409a20
4737f1:	dd 45 f8             	fldl   -0x8(%ebp)
4737f4:	dd 1e                	fstpl  (%esi)
4737f6:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
4737fd:	5f                   	pop    %edi
4737fe:	5e                   	pop    %esi
4737ff:	33 c0                	xor    %eax,%eax
473801:	5b                   	pop    %ebx
473802:	8b e5                	mov    %ebp,%esp
473804:	5d                   	pop    %ebp
473805:	c2 08 00             	ret    $0x8
473808:	55                   	push   %ebp
473809:	8b ec                	mov    %esp,%ebp
47380b:	8b 45 08             	mov    0x8(%ebp),%eax
47380e:	56                   	push   %esi
47380f:	57                   	push   %edi
473810:	8b 40 04             	mov    0x4(%eax),%eax
473813:	8b 08                	mov    (%eax),%ecx
473815:	e8 a1 51 ff ff       	call   0x4689bb
47381a:	8b 75 0c             	mov    0xc(%ebp),%esi
47381d:	8b f8                	mov    %eax,%edi
47381f:	8b ce                	mov    %esi,%ecx
473821:	e8 fa 61 f9 ff       	call   0x409a20
473826:	89 3e                	mov    %edi,(%esi)
473828:	33 c0                	xor    %eax,%eax
47382a:	5f                   	pop    %edi
47382b:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
473832:	5e                   	pop    %esi
473833:	5d                   	pop    %ebp
473834:	c2 08 00             	ret    $0x8
473837:	55                   	push   %ebp
473838:	8b ec                	mov    %esp,%ebp
47383a:	83 ec 14             	sub    $0x14,%esp
47383d:	53                   	push   %ebx
47383e:	8b 5d 08             	mov    0x8(%ebp),%ebx
473841:	56                   	push   %esi
473842:	57                   	push   %edi
473843:	8b f1                	mov    %ecx,%esi
473845:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
473849:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
47384d:	75 13                	jne    0x473862
47384f:	8b 43 04             	mov    0x4(%ebx),%eax
473852:	8b 48 08             	mov    0x8(%eax),%ecx
473855:	e8 42 64 f9 ff       	call   0x409c9c
47385a:	83 f8 01             	cmp    $0x1,%eax
47385d:	75 03                	jne    0x473862
47385f:	88 45 ff             	mov    %al,-0x1(%ebp)
473862:	8b 7d 0c             	mov    0xc(%ebp),%edi
473865:	8b cf                	mov    %edi,%ecx
473867:	e8 b4 61 f9 ff       	call   0x409a20
47386c:	83 27 00             	andl   $0x0,(%edi)
47386f:	33 d2                	xor    %edx,%edx
473871:	42                   	inc    %edx
473872:	89 57 0c             	mov    %edx,0xc(%edi)
473875:	8b 43 08             	mov    0x8(%ebx),%eax
473878:	85 c0                	test   %eax,%eax
47387a:	0f 84 36 01 00 00    	je     0x4739b6
473880:	3b c2                	cmp    %edx,%eax
473882:	0f 84 f4 00 00 00    	je     0x47397c
473888:	83 c0 fe             	add    $0xfffffffe,%eax
47388b:	3b c2                	cmp    %edx,%eax
47388d:	0f 87 3e 01 00 00    	ja     0x4739d1
473893:	8b 4b 04             	mov    0x4(%ebx),%ecx
473896:	8b 01                	mov    (%ecx),%eax
473898:	83 78 0c 05          	cmpl   $0x5,0xc(%eax)
47389c:	0f 84 c9 00 00 00    	je     0x47396b
4738a2:	8b 49 04             	mov    0x4(%ecx),%ecx
4738a5:	83 79 0c 05          	cmpl   $0x5,0xc(%ecx)
4738a9:	0f 84 bc 00 00 00    	je     0x47396b
4738af:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4738b3:	74 6b                	je     0x473920
4738b5:	e8 e2 63 f9 ff       	call   0x409c9c
4738ba:	8b 4b 04             	mov    0x4(%ebx),%ecx
4738bd:	89 45 0c             	mov    %eax,0xc(%ebp)
4738c0:	8b 09                	mov    (%ecx),%ecx
4738c2:	e8 d5 63 f9 ff       	call   0x409c9c
4738c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4738ca:	89 45 08             	mov    %eax,0x8(%ebp)
4738cd:	3b c1                	cmp    %ecx,%eax
4738cf:	75 18                	jne    0x4738e9
4738d1:	8b cf                	mov    %edi,%ecx
4738d3:	e8 48 61 f9 ff       	call   0x409a20
4738d8:	8b 45 08             	mov    0x8(%ebp),%eax
4738db:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
4738e2:	89 07                	mov    %eax,(%edi)
4738e4:	e9 e8 00 00 00       	jmp    0x4739d1
4738e9:	8b d9                	mov    %ecx,%ebx
4738eb:	2b d8                	sub    %eax,%ebx
4738ed:	3b c1                	cmp    %ecx,%eax
4738ef:	7d 5f                	jge    0x473950
4738f1:	85 db                	test   %ebx,%ebx
4738f3:	7e 5b                	jle    0x473950
4738f5:	81 fb ff ff ff 07    	cmp    $0x7ffffff,%ebx
4738fb:	7d 01                	jge    0x4738fe
4738fd:	43                   	inc    %ebx
4738fe:	e8 29 51 ff ff       	call   0x468a2c
473903:	99                   	cltd
473904:	8b cf                	mov    %edi,%ecx
473906:	f7 fb                	idiv   %ebx
473908:	8b 75 08             	mov    0x8(%ebp),%esi
47390b:	03 f2                	add    %edx,%esi
47390d:	e8 0e 61 f9 ff       	call   0x409a20
473912:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
473919:	89 37                	mov    %esi,(%edi)
47391b:	e9 b1 00 00 00       	jmp    0x4739d1
473920:	e8 d3 63 f9 ff       	call   0x409cf8
473925:	8b 43 04             	mov    0x4(%ebx),%eax
473928:	dd 5d f4             	fstpl  -0xc(%ebp)
47392b:	8b 08                	mov    (%eax),%ecx
47392d:	e8 c6 63 f9 ff       	call   0x409cf8
473932:	dd 55 ec             	fstl   -0x14(%ebp)
473935:	dd 45 f4             	fldl   -0xc(%ebp)
473938:	dd e1                	fucom  %st(1)
47393a:	df e0                	fnstsw %ax
47393c:	f6 c4 44             	test   $0x44,%ah
47393f:	7a 06                	jp     0x473947
473941:	dd d8                	fstp   %st(0)
473943:	dd d8                	fstp   %st(0)
473945:	eb 77                	jmp    0x4739be
473947:	de d9                	fcompp
473949:	df e0                	fnstsw %ax
47394b:	f6 c4 41             	test   $0x41,%ah
47394e:	7a 06                	jp     0x473956
473950:	6a 00                	push   $0x0
473952:	6a 01                	push   $0x1
473954:	eb 18                	jmp    0x47396e
473956:	e8 16 51 ff ff       	call   0x468a71
47395b:	dd 45 f4             	fldl   -0xc(%ebp)
47395e:	dd 45 ec             	fldl   -0x14(%ebp)
473961:	dc e9                	fsubr  %st,%st(1)
473963:	d9 ca                	fxch   %st(2)
473965:	de c9                	fmulp  %st,%st(1)
473967:	de c1                	faddp  %st,%st(1)
473969:	eb 50                	jmp    0x4739bb
47396b:	6a 00                	push   $0x0
47396d:	52                   	push   %edx
47396e:	8b 06                	mov    (%esi),%eax
473970:	8b 48 04             	mov    0x4(%eax),%ecx
473973:	03 ce                	add    %esi,%ecx
473975:	e8 29 31 fe ff       	call   0x456aa3
47397a:	eb 55                	jmp    0x4739d1
47397c:	8b 43 04             	mov    0x4(%ebx),%eax
47397f:	8b 08                	mov    (%eax),%ecx
473981:	e8 72 63 f9 ff       	call   0x409cf8
473986:	dd 55 ec             	fstl   -0x14(%ebp)
473989:	d9 ee                	fldz
47398b:	dd e1                	fucom  %st(1)
47398d:	df e0                	fnstsw %ax
47398f:	f6 c4 44             	test   $0x44,%ah
473992:	7a 0f                	jp     0x4739a3
473994:	dd d8                	fstp   %st(0)
473996:	8b cf                	mov    %edi,%ecx
473998:	dd d8                	fstp   %st(0)
47399a:	e8 81 60 f9 ff       	call   0x409a20
47399f:	d9 ee                	fldz
4739a1:	eb 25                	jmp    0x4739c8
4739a3:	de d9                	fcompp
4739a5:	df e0                	fnstsw %ax
4739a7:	f6 c4 01             	test   $0x1,%ah
4739aa:	74 a4                	je     0x473950
4739ac:	e8 c0 50 ff ff       	call   0x468a71
4739b1:	dc 4d ec             	fmull  -0x14(%ebp)
4739b4:	eb 05                	jmp    0x4739bb
4739b6:	e8 b6 50 ff ff       	call   0x468a71
4739bb:	dd 5d ec             	fstpl  -0x14(%ebp)
4739be:	8b cf                	mov    %edi,%ecx
4739c0:	e8 5b 60 f9 ff       	call   0x409a20
4739c5:	dd 45 ec             	fldl   -0x14(%ebp)
4739c8:	dd 1f                	fstpl  (%edi)
4739ca:	c7 47 0c 03 00 00 00 	movl   $0x3,0xc(%edi)
4739d1:	5f                   	pop    %edi
4739d2:	5e                   	pop    %esi
4739d3:	33 c0                	xor    %eax,%eax
4739d5:	5b                   	pop    %ebx
4739d6:	8b e5                	mov    %ebp,%esp
4739d8:	5d                   	pop    %ebp
4739d9:	c2 08 00             	ret    $0x8
4739dc:	55                   	push   %ebp
4739dd:	8b ec                	mov    %esp,%ebp
4739df:	8b 45 08             	mov    0x8(%ebp),%eax
4739e2:	8b 40 04             	mov    0x4(%eax),%eax
4739e5:	8b 08                	mov    (%eax),%ecx
4739e7:	e8 b0 62 f9 ff       	call   0x409c9c
4739ec:	8b c8                	mov    %eax,%ecx
4739ee:	e8 e3 50 ff ff       	call   0x468ad6
4739f3:	33 c0                	xor    %eax,%eax
4739f5:	5d                   	pop    %ebp
4739f6:	c2 08 00             	ret    $0x8
4739f9:	55                   	push   %ebp
4739fa:	8b ec                	mov    %esp,%ebp
4739fc:	51                   	push   %ecx
4739fd:	51                   	push   %ecx
4739fe:	8b 45 08             	mov    0x8(%ebp),%eax
473a01:	56                   	push   %esi
473a02:	8b 40 04             	mov    0x4(%eax),%eax
473a05:	8b 08                	mov    (%eax),%ecx
473a07:	e8 ec 62 f9 ff       	call   0x409cf8
473a0c:	51                   	push   %ecx
473a0d:	51                   	push   %ecx
473a0e:	dd 1c 24             	fstpl  (%esp)
473a11:	e8 be 2f fb ff       	call   0x4269d4
473a16:	8b 75 0c             	mov    0xc(%ebp),%esi
473a19:	83 c4 08             	add    $0x8,%esp
473a1c:	8b ce                	mov    %esi,%ecx
473a1e:	dd 5d f8             	fstpl  -0x8(%ebp)
473a21:	e8 fa 5f f9 ff       	call   0x409a20
473a26:	dd 45 f8             	fldl   -0x8(%ebp)
473a29:	33 c0                	xor    %eax,%eax
473a2b:	dd 1e                	fstpl  (%esi)
473a2d:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
473a34:	5e                   	pop    %esi
473a35:	8b e5                	mov    %ebp,%esp
473a37:	5d                   	pop    %ebp
473a38:	c2 08 00             	ret    $0x8
473a3b:	55                   	push   %ebp
473a3c:	8b ec                	mov    %esp,%ebp
473a3e:	8b 45 08             	mov    0x8(%ebp),%eax
473a41:	56                   	push   %esi
473a42:	8b 40 04             	mov    0x4(%eax),%eax
473a45:	8b 30                	mov    (%eax),%esi
473a47:	8b ce                	mov    %esi,%ecx
473a49:	e8 49 5f f9 ff       	call   0x409997
473a4e:	ff 76 08             	push   0x8(%esi)
473a51:	8b 4d 0c             	mov    0xc(%ebp),%ecx
473a54:	e8 43 61 f9 ff       	call   0x409b9c
473a59:	33 c0                	xor    %eax,%eax
473a5b:	5e                   	pop    %esi
473a5c:	5d                   	pop    %ebp
473a5d:	c2 08 00             	ret    $0x8
473a60:	55                   	push   %ebp
473a61:	8b ec                	mov    %esp,%ebp
473a63:	51                   	push   %ecx
473a64:	51                   	push   %ecx
473a65:	8b 45 08             	mov    0x8(%ebp),%eax
473a68:	56                   	push   %esi
473a69:	8b 40 04             	mov    0x4(%eax),%eax
473a6c:	8b 08                	mov    (%eax),%ecx
473a6e:	e8 85 62 f9 ff       	call   0x409cf8
473a73:	51                   	push   %ecx
473a74:	51                   	push   %ecx
473a75:	dd 1c 24             	fstpl  (%esp)
473a78:	e8 83 2b fb ff       	call   0x426600
473a7d:	8b 75 0c             	mov    0xc(%ebp),%esi
473a80:	83 c4 08             	add    $0x8,%esp
473a83:	8b ce                	mov    %esi,%ecx
473a85:	dd 5d f8             	fstpl  -0x8(%ebp)
473a88:	e8 93 5f f9 ff       	call   0x409a20
473a8d:	dd 45 f8             	fldl   -0x8(%ebp)
473a90:	33 c0                	xor    %eax,%eax
473a92:	dd 1e                	fstpl  (%esi)
473a94:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
473a9b:	5e                   	pop    %esi
473a9c:	8b e5                	mov    %ebp,%esp
473a9e:	5d                   	pop    %ebp
473a9f:	c2 08 00             	ret    $0x8
473aa2:	55                   	push   %ebp
473aa3:	8b ec                	mov    %esp,%ebp
473aa5:	8b 45 14             	mov    0x14(%ebp),%eax
473aa8:	33 d2                	xor    %edx,%edx
473aaa:	53                   	push   %ebx
473aab:	56                   	push   %esi
473aac:	8b 75 08             	mov    0x8(%ebp),%esi
473aaf:	33 db                	xor    %ebx,%ebx
473ab1:	43                   	inc    %ebx
473ab2:	89 16                	mov    %edx,(%esi)
473ab4:	89 56 08             	mov    %edx,0x8(%esi)
473ab7:	89 5e 0c             	mov    %ebx,0xc(%esi)
473aba:	2b c2                	sub    %edx,%eax
473abc:	74 2d                	je     0x473aeb