5b96b6:	99                   	cltd
5b96b7:	f7 f9                	idiv   %ecx
5b96b9:	ff 04 86             	incl   (%esi,%eax,4)
5b96bc:	ff 44 24 08          	incl   0x8(%esp)
5b96c0:	4b                   	dec    %ebx
5b96c1:	75 aa                	jne    0x5b966d
5b96c3:	e9 28 02 00 00       	jmp    0x5b98f0
5b96c8:	8b 54 24 04          	mov    0x4(%esp),%edx
5b96cc:	8b 04 24             	mov    (%esp),%eax
5b96cf:	8b 08                	mov    (%eax),%ecx
5b96d1:	ff 11                	call   *(%ecx)
5b96d3:	89 44 24 08          	mov    %eax,0x8(%esp)
5b96d7:	8b 04 24             	mov    (%esp),%eax
5b96da:	8b 10                	mov    (%eax),%edx
5b96dc:	ff 52 0c             	call   *0xc(%edx)
5b96df:	8b d8                	mov    %eax,%ebx
5b96e1:	4b                   	dec    %ebx
5b96e2:	85 db                	test   %ebx,%ebx
5b96e4:	0f 8c 06 02 00 00    	jl     0x5b98f0
5b96ea:	43                   	inc    %ebx
5b96eb:	8b 44 24 08          	mov    0x8(%esp),%eax
5b96ef:	0f b6 00             	movzbl (%eax),%eax
5b96f2:	ff 04 86             	incl   (%esi,%eax,4)
5b96f5:	ff 44 24 08          	incl   0x8(%esp)
5b96f9:	4b                   	dec    %ebx
5b96fa:	75 ef                	jne    0x5b96eb
5b96fc:	e9 ef 01 00 00       	jmp    0x5b98f0
5b9701:	8b 54 24 04          	mov    0x4(%esp),%edx
5b9705:	8b 04 24             	mov    (%esp),%eax
5b9708:	8b 08                	mov    (%eax),%ecx
5b970a:	ff 11                	call   *(%ecx)
5b970c:	8b f8                	mov    %eax,%edi
5b970e:	8b 04 24             	mov    (%esp),%eax
5b9711:	8b 10                	mov    (%eax),%edx
5b9713:	ff 52 0c             	call   *0xc(%edx)
5b9716:	8b d8                	mov    %eax,%ebx
5b9718:	4b                   	dec    %ebx
5b9719:	85 db                	test   %ebx,%ebx
5b971b:	0f 8c cf 01 00 00    	jl     0x5b98f0
5b9721:	43                   	inc    %ebx
5b9722:	0f b7 07             	movzwl (%edi),%eax
5b9725:	c1 e8 08             	shr    $0x8,%eax
5b9728:	ff 04 86             	incl   (%esi,%eax,4)
5b972b:	83 c7 02             	add    $0x2,%edi
5b972e:	4b                   	dec    %ebx
5b972f:	75 f1                	jne    0x5b9722
5b9731:	e9 ba 01 00 00       	jmp    0x5b98f0
5b9736:	8b 54 24 04          	mov    0x4(%esp),%edx
5b973a:	8b 04 24             	mov    (%esp),%eax
5b973d:	8b 08                	mov    (%eax),%ecx
5b973f:	ff 11                	call   *(%ecx)
5b9741:	8b f8                	mov    %eax,%edi
5b9743:	8b 04 24             	mov    (%esp),%eax
5b9746:	8b 10                	mov    (%eax),%edx
5b9748:	ff 52 0c             	call   *0xc(%edx)
5b974b:	8b d8                	mov    %eax,%ebx
5b974d:	4b                   	dec    %ebx
5b974e:	85 db                	test   %ebx,%ebx
5b9750:	0f 8c 9a 01 00 00    	jl     0x5b98f0
5b9756:	43                   	inc    %ebx
5b9757:	8b cf                	mov    %edi,%ecx
5b9759:	33 c0                	xor    %eax,%eax
5b975b:	8a 41 02             	mov    0x2(%ecx),%al
5b975e:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5b9764:	f7 2a                	imull  (%edx)
5b9766:	33 d2                	xor    %edx,%edx
5b9768:	8a 51 01             	mov    0x1(%ecx),%dl
5b976b:	8b 2d 4c 71 6a 00    	mov    0x6a714c,%ebp
5b9771:	0f af 55 00          	imul   0x0(%ebp),%edx
5b9775:	03 c2                	add    %edx,%eax
5b9777:	33 d2                	xor    %edx,%edx
5b9779:	8a 11                	mov    (%ecx),%dl
5b977b:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5b9781:	0f af 11             	imul   (%ecx),%edx
5b9784:	03 c2                	add    %edx,%eax
5b9786:	b9 64 00 00 00       	mov    $0x64,%ecx
5b978b:	99                   	cltd
5b978c:	f7 f9                	idiv   %ecx
5b978e:	ff 04 86             	incl   (%esi,%eax,4)
5b9791:	83 c7 03             	add    $0x3,%edi
5b9794:	4b                   	dec    %ebx
5b9795:	75 c0                	jne    0x5b9757
5b9797:	e9 54 01 00 00       	jmp    0x5b98f0
5b979c:	8b 54 24 04          	mov    0x4(%esp),%edx
5b97a0:	8b 04 24             	mov    (%esp),%eax
5b97a3:	8b 08                	mov    (%eax),%ecx
5b97a5:	ff 11                	call   *(%ecx)
5b97a7:	8b f8                	mov    %eax,%edi
5b97a9:	8b 04 24             	mov    (%esp),%eax
5b97ac:	8b 10                	mov    (%eax),%edx
5b97ae:	ff 52 0c             	call   *0xc(%edx)
5b97b1:	8b d8                	mov    %eax,%ebx
5b97b3:	4b                   	dec    %ebx
5b97b4:	85 db                	test   %ebx,%ebx
5b97b6:	0f 8c 34 01 00 00    	jl     0x5b98f0
5b97bc:	43                   	inc    %ebx
5b97bd:	d9 07                	flds   (%edi)
5b97bf:	d8 0d 08 99 5b 00    	fmuls  0x5b9908
5b97c5:	e8 02 95 e4 ff       	call   0x402ccc
5b97ca:	ff 04 86             	incl   (%esi,%eax,4)
5b97cd:	83 c7 04             	add    $0x4,%edi
5b97d0:	4b                   	dec    %ebx
5b97d1:	75 ea                	jne    0x5b97bd
5b97d3:	e9 18 01 00 00       	jmp    0x5b98f0
5b97d8:	8b 54 24 04          	mov    0x4(%esp),%edx
5b97dc:	8b 04 24             	mov    (%esp),%eax
5b97df:	8b 08                	mov    (%eax),%ecx
5b97e1:	ff 11                	call   *(%ecx)
5b97e3:	8b f8                	mov    %eax,%edi
5b97e5:	8b 04 24             	mov    (%esp),%eax
5b97e8:	8b 10                	mov    (%eax),%edx
5b97ea:	ff 52 0c             	call   *0xc(%edx)
5b97ed:	8b d8                	mov    %eax,%ebx
5b97ef:	4b                   	dec    %ebx
5b97f0:	85 db                	test   %ebx,%ebx
5b97f2:	0f 8c f8 00 00 00    	jl     0x5b98f0
5b97f8:	43                   	inc    %ebx
5b97f9:	8d 54 24 0c          	lea    0xc(%esp),%edx
5b97fd:	8b 07                	mov    (%edi),%eax
5b97ff:	e8 9c b7 01 00       	call   0x5d4fa0
5b9804:	33 c0                	xor    %eax,%eax
5b9806:	8a 44 24 0e          	mov    0xe(%esp),%al
5b980a:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5b9810:	f7 2a                	imull  (%edx)
5b9812:	33 d2                	xor    %edx,%edx
5b9814:	8a 54 24 0d          	mov    0xd(%esp),%dl
5b9818:	8b 0d 4c 71 6a 00    	mov    0x6a714c,%ecx
5b981e:	0f af 11             	imul   (%ecx),%edx
5b9821:	03 c2                	add    %edx,%eax
5b9823:	33 d2                	xor    %edx,%edx
5b9825:	8a 54 24 0c          	mov    0xc(%esp),%dl
5b9829:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5b982f:	0f af 11             	imul   (%ecx),%edx
5b9832:	03 c2                	add    %edx,%eax
5b9834:	b9 64 00 00 00       	mov    $0x64,%ecx
5b9839:	99                   	cltd
5b983a:	f7 f9                	idiv   %ecx
5b983c:	ff 04 86             	incl   (%esi,%eax,4)
5b983f:	83 c7 04             	add    $0x4,%edi
5b9842:	4b                   	dec    %ebx
5b9843:	75 b4                	jne    0x5b97f9
5b9845:	e9 a6 00 00 00       	jmp    0x5b98f0
5b984a:	8b 54 24 04          	mov    0x4(%esp),%edx
5b984e:	8b 04 24             	mov    (%esp),%eax
5b9851:	8b 08                	mov    (%eax),%ecx
5b9853:	ff 11                	call   *(%ecx)
5b9855:	8b e8                	mov    %eax,%ebp
5b9857:	8b 04 24             	mov    (%esp),%eax
5b985a:	8b 10                	mov    (%eax),%edx
5b985c:	ff 52 0c             	call   *0xc(%edx)
5b985f:	8b d8                	mov    %eax,%ebx
5b9861:	4b                   	dec    %ebx
5b9862:	85 db                	test   %ebx,%ebx
5b9864:	0f 8c 86 00 00 00    	jl     0x5b98f0
5b986a:	43                   	inc    %ebx
5b986b:	8b fd                	mov    %ebp,%edi
5b986d:	6a 00                	push   $0x0
5b986f:	6a 64                	push   $0x64
5b9871:	a1 4c 71 6a 00       	mov    0x6a714c,%eax
5b9876:	8b 00                	mov    (%eax),%eax
5b9878:	99                   	cltd
5b9879:	52                   	push   %edx
5b987a:	50                   	push   %eax
5b987b:	0f b7 47 02          	movzwl 0x2(%edi),%eax
5b987f:	c1 e8 08             	shr    $0x8,%eax
5b9882:	89 44 24 28          	mov    %eax,0x28(%esp)
5b9886:	db 44 24 28          	fildl  0x28(%esp)
5b988a:	e8 3d 94 e4 ff       	call   0x402ccc
5b988f:	e8 f0 c1 e4 ff       	call   0x405a84
5b9894:	52                   	push   %edx
5b9895:	50                   	push   %eax
5b9896:	0f b7 07             	movzwl (%edi),%eax
5b9899:	c1 e8 08             	shr    $0x8,%eax
5b989c:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5b98a2:	f7 2a                	imull  (%edx)
5b98a4:	99                   	cltd
5b98a5:	03 04 24             	add    (%esp),%eax
5b98a8:	13 54 24 04          	adc    0x4(%esp),%edx
5b98ac:	83 c4 08             	add    $0x8,%esp
5b98af:	52                   	push   %edx
5b98b0:	50                   	push   %eax
5b98b1:	a1 bc 6d 6a 00       	mov    0x6a6dbc,%eax
5b98b6:	8b 00                	mov    (%eax),%eax
5b98b8:	99                   	cltd
5b98b9:	52                   	push   %edx
5b98ba:	50                   	push   %eax
5b98bb:	0f b7 47 04          	movzwl 0x4(%edi),%eax
5b98bf:	c1 e8 08             	shr    $0x8,%eax
5b98c2:	89 44 24 34          	mov    %eax,0x34(%esp)
5b98c6:	db 44 24 34          	fildl  0x34(%esp)
5b98ca:	e8 fd 93 e4 ff       	call   0x402ccc
5b98cf:	e8 b0 c1 e4 ff       	call   0x405a84
5b98d4:	03 04 24             	add    (%esp),%eax
5b98d7:	13 54 24 04          	adc    0x4(%esp),%edx
5b98db:	83 c4 08             	add    $0x8,%esp
5b98de:	e8 c5 c1 e4 ff       	call   0x405aa8
5b98e3:	ff 04 86             	incl   (%esi,%eax,4)
5b98e6:	83 c5 06             	add    $0x6,%ebp
5b98e9:	4b                   	dec    %ebx
5b98ea:	0f 85 7b ff ff ff    	jne    0x5b986b
5b98f0:	ff 44 24 04          	incl   0x4(%esp)
5b98f4:	ff 4c 24 10          	decl   0x10(%esp)
5b98f8:	0f 85 bc fc ff ff    	jne    0x5b95ba
5b98fe:	83 c4 20             	add    $0x20,%esp
5b9901:	5d                   	pop    %ebp
5b9902:	5f                   	pop    %edi
5b9903:	5e                   	pop    %esi
5b9904:	5b                   	pop    %ebx
5b9905:	c3                   	ret
5b9906:	00 00                	add    %al,(%eax)
5b9908:	00 00                	add    %al,(%eax)
5b990a:	7f 43                	jg     0x5b994f
5b990c:	55                   	push   %ebp
5b990d:	8b ec                	mov    %esp,%ebp
5b990f:	8b 45 0c             	mov    0xc(%ebp),%eax
5b9912:	8b 40 fc             	mov    -0x4(%eax),%eax
5b9915:	83 e0 07             	and    $0x7,%eax
5b9918:	8b 55 0c             	mov    0xc(%ebp),%edx
5b991b:	89 42 f8             	mov    %eax,-0x8(%edx)
5b991e:	33 c0                	xor    %eax,%eax
5b9920:	8a 45 0a             	mov    0xa(%ebp),%al
5b9923:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5b9929:	f7 2a                	imull  (%edx)
5b992b:	33 d2                	xor    %edx,%edx
5b992d:	8a 55 09             	mov    0x9(%ebp),%dl
5b9930:	8b 0d 4c 71 6a 00    	mov    0x6a714c,%ecx
5b9936:	0f af 11             	imul   (%ecx),%edx
5b9939:	03 c2                	add    %edx,%eax
5b993b:	33 d2                	xor    %edx,%edx
5b993d:	8a 55 08             	mov    0x8(%ebp),%dl
5b9940:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5b9946:	0f af 11             	imul   (%ecx),%edx
5b9949:	03 c2                	add    %edx,%eax
5b994b:	b9 64 00 00 00       	mov    $0x64,%ecx
5b9950:	99                   	cltd
5b9951:	f7 f9                	idiv   %ecx
5b9953:	8b 55 0c             	mov    0xc(%ebp),%edx
5b9956:	89 42 f4             	mov    %eax,-0xc(%edx)
5b9959:	8b 45 0c             	mov    0xc(%ebp),%eax
5b995c:	8b 40 f4             	mov    -0xc(%eax),%eax
5b995f:	8b 55 0c             	mov    0xc(%ebp),%edx
5b9962:	3b 42 f0             	cmp    -0x10(%edx),%eax
5b9965:	7c 19                	jl     0x5b9980
5b9967:	8b 45 0c             	mov    0xc(%ebp),%eax
5b996a:	8b 40 f8             	mov    -0x8(%eax),%eax
5b996d:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
5b9973:	8a 04 02             	mov    (%edx,%eax,1),%al
5b9976:	8b 55 0c             	mov    0xc(%ebp),%edx
5b9979:	8b 52 ec             	mov    -0x14(%edx),%edx
5b997c:	08 02                	or     %al,(%edx)
5b997e:	eb 19                	jmp    0x5b9999
5b9980:	8b 45 0c             	mov    0xc(%ebp),%eax
5b9983:	8b 40 f8             	mov    -0x8(%eax),%eax
5b9986:	8b 15 88 6d 6a 00    	mov    0x6a6d88,%edx
5b998c:	8a 04 02             	mov    (%edx,%eax,1),%al
5b998f:	f6 d0                	not    %al
5b9991:	8b 55 0c             	mov    0xc(%ebp),%edx
5b9994:	8b 52 ec             	mov    -0x14(%edx),%edx
5b9997:	20 02                	and    %al,(%edx)
5b9999:	8b 45 0c             	mov    0xc(%ebp),%eax
5b999c:	83 78 f8 07          	cmpl   $0x7,-0x8(%eax)
5b99a0:	75 06                	jne    0x5b99a8
5b99a2:	8b 45 0c             	mov    0xc(%ebp),%eax
5b99a5:	ff 40 ec             	incl   -0x14(%eax)
5b99a8:	5d                   	pop    %ebp
5b99a9:	c2 04 00             	ret    $0x4
5b99ac:	55                   	push   %ebp
5b99ad:	8b ec                	mov    %esp,%ebp
5b99af:	83 c4 90             	add    $0xffffff90,%esp
5b99b2:	53                   	push   %ebx
5b99b3:	56                   	push   %esi
5b99b4:	57                   	push   %edi
5b99b5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5b99b8:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5b99bb:	89 45 e8             	mov    %eax,-0x18(%ebp)
5b99be:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b99c1:	8b 10                	mov    (%eax),%edx
5b99c3:	ff 52 10             	call   *0x10(%edx)
5b99c6:	3c 01                	cmp    $0x1,%al
5b99c8:	75 10                	jne    0x5b99da
5b99ca:	8b 55 e8             	mov    -0x18(%ebp),%edx
5b99cd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5b99d0:	e8 eb ef 03 00       	call   0x5f89c0
5b99d5:	e9 2d 05 00 00       	jmp    0x5b9f07
5b99da:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b99dd:	8b 10                	mov    (%eax),%edx
5b99df:	ff 52 08             	call   *0x8(%edx)
5b99e2:	89 45 94             	mov    %eax,-0x6c(%ebp)
5b99e5:	db 45 94             	fildl  -0x6c(%ebp)
5b99e8:	d8 05 10 9f 5b 00    	fadds  0x5b9f10
5b99ee:	d8 3d 14 9f 5b 00    	fdivrs 0x5b9f14
5b99f4:	8b 45 08             	mov    0x8(%ebp),%eax
5b99f7:	dd 58 18             	fstpl  0x18(%eax)
5b99fa:	9b                   	fwait
5b99fb:	33 c0                	xor    %eax,%eax
5b99fd:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5b9a00:	33 db                	xor    %ebx,%ebx
5b9a02:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b9a05:	83 e8 fe             	sub    $0xfffffffe,%eax
5b9a08:	74 4f                	je     0x5b9a59
5b9a0a:	48                   	dec    %eax
5b9a0b:	0f 85 c7 01 00 00    	jne    0x5b9bd8
5b9a11:	8d 45 d0             	lea    -0x30(%ebp),%eax
5b9a14:	50                   	push   %eax
5b9a15:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5b9a18:	8d 55 d8             	lea    -0x28(%ebp),%edx
5b9a1b:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b9a1e:	e8 85 19 ff ff       	call   0x5ab3a8
5b9a23:	a1 24 72 6a 00       	mov    0x6a7224,%eax
5b9a28:	8b 00                	mov    (%eax),%eax
5b9a2a:	f7 6d d8             	imull  -0x28(%ebp)
5b9a2d:	8b 15 4c 71 6a 00    	mov    0x6a714c,%edx
5b9a33:	8b 12                	mov    (%edx),%edx
5b9a35:	0f af 55 d4          	imul   -0x2c(%ebp),%edx
5b9a39:	03 c2                	add    %edx,%eax
5b9a3b:	8b 15 bc 6d 6a 00    	mov    0x6a6dbc,%edx
5b9a41:	8b 12                	mov    (%edx),%edx
5b9a43:	0f af 55 d0          	imul   -0x30(%ebp),%edx
5b9a47:	03 c2                	add    %edx,%eax
5b9a49:	b9 64 00 00 00       	mov    $0x64,%ecx
5b9a4e:	99                   	cltd
5b9a4f:	f7 f9                	idiv   %ecx
5b9a51:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b9a54:	e9 7f 01 00 00       	jmp    0x5b9bd8
5b9a59:	b8 00 04 00 00       	mov    $0x400,%eax
5b9a5e:	e8 49 8d e4 ff       	call   0x4027ac
5b9a63:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5b9a66:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b9a69:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b9a6c:	e8 13 fb ff ff       	call   0x5b9584
5b9a71:	b8 00 08 00 00       	mov    $0x800,%eax
5b9a76:	e8 31 8d e4 ff       	call   0x4027ac
5b9a7b:	8b d8                	mov    %eax,%ebx
5b9a7d:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b9a80:	8b 10                	mov    (%eax),%edx
5b9a82:	ff 52 0c             	call   *0xc(%edx)
5b9a85:	8b f0                	mov    %eax,%esi
5b9a87:	8b 45 e8             	mov    -0x18(%ebp),%eax
5b9a8a:	8b 10                	mov    (%eax),%edx
5b9a8c:	ff 52 08             	call   *0x8(%edx)
5b9a8f:	0f af f0             	imul   %eax,%esi
5b9a92:	8b c6                	mov    %esi,%eax
5b9a94:	33 d2                	xor    %edx,%edx
5b9a96:	89 55 e0             	mov    %edx,-0x20(%ebp)
5b9a99:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5b9a9c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5b9a9f:	db 04 8a             	fildl  (%edx,%ecx,4)
5b9aa2:	89 45 94             	mov    %eax,-0x6c(%ebp)
5b9aa5:	db 45 94             	fildl  -0x6c(%ebp)
5b9aa8:	de f9                	fdivrp %st,%st(1)