57f7e8:	89 04 24             	mov    %eax,(%esp)
57f7eb:	db 04 24             	fildl  (%esp)
57f7ee:	8b c7                	mov    %edi,%eax
57f7f0:	48                   	dec    %eax
57f7f1:	89 44 24 04          	mov    %eax,0x4(%esp)
57f7f5:	db 44 24 04          	fildl  0x4(%esp)
57f7f9:	de f9                	fdivrp %st,%st(1)
57f7fb:	d8 05 34 f8 57 00    	fadds  0x57f834
57f801:	83 c4 f4             	add    $0xfffffff4,%esp
57f804:	db 3c 24             	fstpt  (%esp)
57f807:	9b                   	fwait
57f808:	e8 f3 2e 07 00       	call   0x5f2700
57f80d:	50                   	push   %eax
57f80e:	0f b7 44 5d 00       	movzwl 0x0(%ebp,%ebx,2),%eax
57f813:	5a                   	pop    %edx
57f814:	2b c2                	sub    %edx,%eax
57f816:	99                   	cltd
57f817:	33 c2                	xor    %edx,%eax
57f819:	2b c2                	sub    %edx,%eax
57f81b:	83 f8 03             	cmp    $0x3,%eax
57f81e:	7e 04                	jle    0x57f824
57f820:	33 c0                	xor    %eax,%eax
57f822:	eb 09                	jmp    0x57f82d
57f824:	43                   	inc    %ebx
57f825:	4e                   	dec    %esi
57f826:	75 b9                	jne    0x57f7e1
57f828:	b8 01 00 00 00       	mov    $0x1,%eax
57f82d:	59                   	pop    %ecx
57f82e:	5a                   	pop    %edx
57f82f:	5d                   	pop    %ebp
57f830:	5f                   	pop    %edi
57f831:	5e                   	pop    %esi
57f832:	5b                   	pop    %ebx
57f833:	c3                   	ret
57f834:	00 00                	add    %al,(%eax)
57f836:	00 3f                	add    %bh,(%edi)
57f838:	b9 01 00 00 00       	mov    $0x1,%ecx
57f83d:	85 d2                	test   %edx,%edx
57f83f:	7e 08                	jle    0x57f849
57f841:	0f af c8             	imul   %eax,%ecx
57f844:	4a                   	dec    %edx
57f845:	85 d2                	test   %edx,%edx
57f847:	7f f8                	jg     0x57f841
57f849:	8b c1                	mov    %ecx,%eax
57f84b:	c3                   	ret
57f84c:	89 02                	mov    %eax,(%edx)
57f84e:	48                   	dec    %eax
57f84f:	66 89 42 0c          	mov    %ax,0xc(%edx)
57f853:	b8 01 00 00 00       	mov    $0x1,%eax
57f858:	89 42 08             	mov    %eax,0x8(%edx)
57f85b:	89 42 04             	mov    %eax,0x4(%edx)
57f85e:	c3                   	ret
57f85f:	90                   	nop
57f860:	c1 e8 10             	shr    $0x10,%eax
57f863:	c3                   	ret
57f864:	25 ff ff 00 00       	and    $0xffff,%eax
57f869:	c3                   	ret
57f86a:	8b c0                	mov    %eax,%eax
57f86c:	83 c4 f4             	add    $0xfffffff4,%esp
57f86f:	2b ca                	sub    %edx,%ecx
57f871:	89 4c 24 08          	mov    %ecx,0x8(%esp)
57f875:	db 44 24 08          	fildl  0x8(%esp)
57f879:	dd 1c 24             	fstpl  (%esp)
57f87c:	9b                   	fwait
57f87d:	89 44 24 08          	mov    %eax,0x8(%esp)
57f881:	db 44 24 08          	fildl  0x8(%esp)
57f885:	dc 0c 24             	fmull  (%esp)
57f888:	dd 1c 24             	fstpl  (%esp)
57f88b:	9b dd 04 24          	fldl   (%esp)
57f88f:	d8 35 b4 f8 57 00    	fdivs  0x57f8b4
57f895:	dd 1c 24             	fstpl  (%esp)
57f898:	9b                   	fwait
57f899:	89 54 24 08          	mov    %edx,0x8(%esp)
57f89d:	db 44 24 08          	fildl  0x8(%esp)
57f8a1:	dc 04 24             	faddl  (%esp)
57f8a4:	dd 1c 24             	fstpl  (%esp)
57f8a7:	9b dd 04 24          	fldl   (%esp)
57f8ab:	e8 10 34 e8 ff       	call   0x402cc0
57f8b0:	83 c4 0c             	add    $0xc,%esp
57f8b3:	c3                   	ret
57f8b4:	00 00                	add    %al,(%eax)
57f8b6:	80 47 55 8b          	addb   $0x8b,0x55(%edi)
57f8ba:	ec                   	in     (%dx),%al
57f8bb:	83 c4 e8             	add    $0xffffffe8,%esp
57f8be:	53                   	push   %ebx
57f8bf:	56                   	push   %esi
57f8c0:	57                   	push   %edi
57f8c1:	8b f9                	mov    %ecx,%edi
57f8c3:	89 55 f8             	mov    %edx,-0x8(%ebp)
57f8c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
57f8c9:	8b 5d 08             	mov    0x8(%ebp),%ebx
57f8cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
57f8cf:	0f b7 00             	movzwl (%eax),%eax
57f8d2:	0f b7 53 0c          	movzwl 0xc(%ebx),%edx
57f8d6:	f7 ea                	imul   %edx
57f8d8:	e8 33 ce ff ff       	call   0x57c710
57f8dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
57f8e0:	8b 45 f4             	mov    -0xc(%ebp),%eax
57f8e3:	e8 78 ff ff ff       	call   0x57f860
57f8e8:	8b f0                	mov    %eax,%esi
57f8ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
57f8ed:	e8 72 ff ff ff       	call   0x57f864
57f8f2:	89 45 f0             	mov    %eax,-0x10(%ebp)
57f8f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
57f8f8:	66 81 38 ff ff       	cmpw   $0xffff,(%eax)
57f8fd:	74 05                	je     0x57f904
57f8ff:	8d 46 01             	lea    0x1(%esi),%eax
57f902:	eb 02                	jmp    0x57f906
57f904:	8b c6                	mov    %esi,%eax
57f906:	8b 53 0e             	mov    0xe(%ebx),%edx
57f909:	8b ca                	mov    %edx,%ecx
57f90b:	0f af ce             	imul   %esi,%ecx
57f90e:	89 4d ec             	mov    %ecx,-0x14(%ebp)
57f911:	0f af d0             	imul   %eax,%edx
57f914:	89 55 e8             	mov    %edx,-0x18(%ebp)
57f917:	8b 73 08             	mov    0x8(%ebx),%esi
57f91a:	4e                   	dec    %esi
57f91b:	85 f6                	test   %esi,%esi
57f91d:	7c 28                	jl     0x57f947
57f91f:	46                   	inc    %esi
57f920:	33 db                	xor    %ebx,%ebx
57f922:	8b 45 e8             	mov    -0x18(%ebp),%eax
57f925:	03 c3                	add    %ebx,%eax
57f927:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
57f92b:	8b 45 ec             	mov    -0x14(%ebp),%eax
57f92e:	03 c3                	add    %ebx,%eax
57f930:	0f b7 14 47          	movzwl (%edi,%eax,2),%edx
57f934:	8b 45 f0             	mov    -0x10(%ebp),%eax
57f937:	e8 30 ff ff ff       	call   0x57f86c
57f93c:	8b 55 f8             	mov    -0x8(%ebp),%edx
57f93f:	66 89 04 5a          	mov    %ax,(%edx,%ebx,2)
57f943:	43                   	inc    %ebx
57f944:	4e                   	dec    %esi
57f945:	75 db                	jne    0x57f922
57f947:	5f                   	pop    %edi
57f948:	5e                   	pop    %esi
57f949:	5b                   	pop    %ebx
57f94a:	8b e5                	mov    %ebp,%esp
57f94c:	5d                   	pop    %ebp
57f94d:	c2 04 00             	ret    $0x4
57f950:	55                   	push   %ebp
57f951:	8b ec                	mov    %esp,%ebp
57f953:	83 c4 80             	add    $0xffffff80,%esp
57f956:	53                   	push   %ebx
57f957:	56                   	push   %esi
57f958:	57                   	push   %edi
57f959:	89 4d f8             	mov    %ecx,-0x8(%ebp)
57f95c:	89 55 fc             	mov    %edx,-0x4(%ebp)
57f95f:	8b f0                	mov    %eax,%esi
57f961:	8b 45 08             	mov    0x8(%ebp),%eax
57f964:	0f b7 58 0c          	movzwl 0xc(%eax),%ebx
57f968:	43                   	inc    %ebx
57f969:	8b 78 08             	mov    0x8(%eax),%edi
57f96c:	0f b7 16             	movzwl (%esi),%edx
57f96f:	0f b7 48 0c          	movzwl 0xc(%eax),%ecx
57f973:	0f af d1             	imul   %ecx,%edx
57f976:	89 55 80             	mov    %edx,-0x80(%ebp)
57f979:	db 45 80             	fildl  -0x80(%ebp)
57f97c:	d8 35 48 ff 57 00    	fdivs  0x57ff48
57f982:	dd 5d f0             	fstpl  -0x10(%ebp)
57f985:	9b                   	fwait
57f986:	0f b7 56 02          	movzwl 0x2(%esi),%edx
57f98a:	0f b7 48 0c          	movzwl 0xc(%eax),%ecx
57f98e:	0f af d1             	imul   %ecx,%edx
57f991:	89 55 80             	mov    %edx,-0x80(%ebp)
57f994:	db 45 80             	fildl  -0x80(%ebp)
57f997:	d8 35 48 ff 57 00    	fdivs  0x57ff48
57f99d:	dd 5d e8             	fstpl  -0x18(%ebp)
57f9a0:	9b                   	fwait
57f9a1:	0f b7 56 04          	movzwl 0x4(%esi),%edx
57f9a5:	0f b7 40 0c          	movzwl 0xc(%eax),%eax
57f9a9:	0f af d0             	imul   %eax,%edx
57f9ac:	89 55 80             	mov    %edx,-0x80(%ebp)
57f9af:	db 45 80             	fildl  -0x80(%ebp)
57f9b2:	d8 35 48 ff 57 00    	fdivs  0x57ff48
57f9b8:	dd 5d e0             	fstpl  -0x20(%ebp)
57f9bb:	9b dd 45 f0          	fldl   -0x10(%ebp)
57f9bf:	83 c4 f4             	add    $0xfffffff4,%esp
57f9c2:	db 3c 24             	fstpt  (%esp)
57f9c5:	9b                   	fwait
57f9c6:	e8 35 2d 07 00       	call   0x5f2700
57f9cb:	89 45 dc             	mov    %eax,-0x24(%ebp)
57f9ce:	db 45 dc             	fildl  -0x24(%ebp)
57f9d1:	dc 6d f0             	fsubrl -0x10(%ebp)
57f9d4:	dd 5d c0             	fstpl  -0x40(%ebp)
57f9d7:	9b dd 45 e8          	fldl   -0x18(%ebp)
57f9db:	83 c4 f4             	add    $0xfffffff4,%esp
57f9de:	db 3c 24             	fstpt  (%esp)
57f9e1:	9b                   	fwait
57f9e2:	e8 19 2d 07 00       	call   0x5f2700
57f9e7:	89 45 d8             	mov    %eax,-0x28(%ebp)
57f9ea:	db 45 d8             	fildl  -0x28(%ebp)
57f9ed:	dc 6d e8             	fsubrl -0x18(%ebp)
57f9f0:	dd 5d b8             	fstpl  -0x48(%ebp)
57f9f3:	9b dd 45 e0          	fldl   -0x20(%ebp)
57f9f7:	83 c4 f4             	add    $0xfffffff4,%esp
57f9fa:	db 3c 24             	fstpt  (%esp)
57f9fd:	9b                   	fwait
57f9fe:	e8 fd 2c 07 00       	call   0x5f2700
57fa03:	89 45 d4             	mov    %eax,-0x2c(%ebp)
57fa06:	db 45 d4             	fildl  -0x2c(%ebp)
57fa09:	dc 6d e0             	fsubrl -0x20(%ebp)
57fa0c:	dd 5d b0             	fstpl  -0x50(%ebp)
57fa0f:	9b                   	fwait
57fa10:	66 81 3e ff ff       	cmpw   $0xffff,(%esi)
57fa15:	74 09                	je     0x57fa20
57fa17:	8b 45 dc             	mov    -0x24(%ebp),%eax
57fa1a:	40                   	inc    %eax
57fa1b:	89 45 d0             	mov    %eax,-0x30(%ebp)
57fa1e:	eb 06                	jmp    0x57fa26
57fa20:	8b 45 dc             	mov    -0x24(%ebp),%eax
57fa23:	89 45 d0             	mov    %eax,-0x30(%ebp)
57fa26:	66 81 7e 02 ff ff    	cmpw   $0xffff,0x2(%esi)
57fa2c:	74 09                	je     0x57fa37
57fa2e:	8b 45 d8             	mov    -0x28(%ebp),%eax
57fa31:	40                   	inc    %eax
57fa32:	89 45 cc             	mov    %eax,-0x34(%ebp)
57fa35:	eb 06                	jmp    0x57fa3d
57fa37:	8b 45 d8             	mov    -0x28(%ebp),%eax
57fa3a:	89 45 cc             	mov    %eax,-0x34(%ebp)
57fa3d:	66 81 7e 04 ff ff    	cmpw   $0xffff,0x4(%esi)
57fa43:	74 09                	je     0x57fa4e
57fa45:	8b 45 d4             	mov    -0x2c(%ebp),%eax
57fa48:	40                   	inc    %eax
57fa49:	89 45 c8             	mov    %eax,-0x38(%ebp)
57fa4c:	eb 06                	jmp    0x57fa54
57fa4e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
57fa51:	89 45 c8             	mov    %eax,-0x38(%ebp)
57fa54:	8b c7                	mov    %edi,%eax
57fa56:	48                   	dec    %eax
57fa57:	85 c0                	test   %eax,%eax
57fa59:	0f 8c df 04 00 00    	jl     0x57ff3e
57fa5f:	40                   	inc    %eax
57fa60:	89 45 84             	mov    %eax,-0x7c(%ebp)
57fa63:	33 f6                	xor    %esi,%esi
57fa65:	dd 45 c0             	fldl   -0x40(%ebp)
57fa68:	dc 5d b8             	fcompl -0x48(%ebp)
57fa6b:	df e0                	fnstsw %ax
57fa6d:	9e                   	sahf
57fa6e:	0f 82 ad 00 00 00    	jb     0x57fb21
57fa74:	dd 45 b8             	fldl   -0x48(%ebp)
57fa77:	dc 5d b0             	fcompl -0x50(%ebp)
57fa7a:	df e0                	fnstsw %ax
57fa7c:	9e                   	sahf
57fa7d:	0f 82 9e 00 00 00    	jb     0x57fb21
57fa83:	8b c3                	mov    %ebx,%eax
57fa85:	f7 6d d0             	imull  -0x30(%ebp)
57fa88:	8b 55 d8             	mov    -0x28(%ebp),%edx
57fa8b:	03 d0                	add    %eax,%edx
57fa8d:	0f af d3             	imul   %ebx,%edx
57fa90:	03 55 d4             	add    -0x2c(%ebp),%edx
57fa93:	0f af d7             	imul   %edi,%edx
57fa96:	03 d6                	add    %esi,%edx
57fa98:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fa9b:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fa9f:	89 55 80             	mov    %edx,-0x80(%ebp)
57faa2:	db 45 80             	fildl  -0x80(%ebp)
57faa5:	dd 5d 90             	fstpl  -0x70(%ebp)
57faa8:	9b                   	fwait
57faa9:	8b 55 cc             	mov    -0x34(%ebp),%edx
57faac:	03 d0                	add    %eax,%edx
57faae:	0f af d3             	imul   %ebx,%edx
57fab1:	03 55 d4             	add    -0x2c(%ebp),%edx
57fab4:	0f af d7             	imul   %edi,%edx
57fab7:	03 d6                	add    %esi,%edx
57fab9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fabc:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fac0:	89 55 80             	mov    %edx,-0x80(%ebp)
57fac3:	db 45 80             	fildl  -0x80(%ebp)
57fac6:	dd 5d 88             	fstpl  -0x78(%ebp)
57fac9:	9b                   	fwait
57faca:	8b d3                	mov    %ebx,%edx
57facc:	0f af 55 dc          	imul   -0x24(%ebp),%edx
57fad0:	03 55 d8             	add    -0x28(%ebp),%edx
57fad3:	0f af d3             	imul   %ebx,%edx
57fad6:	03 55 d4             	add    -0x2c(%ebp),%edx
57fad9:	0f af d7             	imul   %edi,%edx
57fadc:	03 d6                	add    %esi,%edx
57fade:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fae1:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fae5:	89 55 80             	mov    %edx,-0x80(%ebp)
57fae8:	db 45 80             	fildl  -0x80(%ebp)
57faeb:	dc 6d 90             	fsubrl -0x70(%ebp)
57faee:	dd 5d a8             	fstpl  -0x58(%ebp)
57faf1:	9b dd 45 88          	fldl   -0x78(%ebp)
57faf5:	dc 65 90             	fsubl  -0x70(%ebp)
57faf8:	dd 5d a0             	fstpl  -0x60(%ebp)
57fafb:	9b                   	fwait
57fafc:	03 45 cc             	add    -0x34(%ebp),%eax
57faff:	f7 eb                	imul   %ebx
57fb01:	03 45 c8             	add    -0x38(%ebp),%eax
57fb04:	f7 ef                	imul   %edi
57fb06:	03 c6                	add    %esi,%eax
57fb08:	8b 55 f8             	mov    -0x8(%ebp),%edx
57fb0b:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
57fb0f:	89 45 80             	mov    %eax,-0x80(%ebp)
57fb12:	db 45 80             	fildl  -0x80(%ebp)
57fb15:	dc 65 88             	fsubl  -0x78(%ebp)
57fb18:	dd 5d 98             	fstpl  -0x68(%ebp)
57fb1b:	9b                   	fwait
57fb1c:	e9 c4 03 00 00       	jmp    0x57fee5
57fb21:	dd 45 c0             	fldl   -0x40(%ebp)
57fb24:	dc 5d b0             	fcompl -0x50(%ebp)
57fb27:	df e0                	fnstsw %ax
57fb29:	9e                   	sahf
57fb2a:	0f 82 ad 00 00 00    	jb     0x57fbdd
57fb30:	dd 45 b0             	fldl   -0x50(%ebp)
57fb33:	dc 5d b8             	fcompl -0x48(%ebp)
57fb36:	df e0                	fnstsw %ax
57fb38:	9e                   	sahf
57fb39:	0f 82 9e 00 00 00    	jb     0x57fbdd
57fb3f:	8b c3                	mov    %ebx,%eax
57fb41:	f7 6d d0             	imull  -0x30(%ebp)
57fb44:	8b 55 d8             	mov    -0x28(%ebp),%edx
57fb47:	03 d0                	add    %eax,%edx
57fb49:	0f af d3             	imul   %ebx,%edx
57fb4c:	03 55 d4             	add    -0x2c(%ebp),%edx
57fb4f:	0f af d7             	imul   %edi,%edx
57fb52:	03 d6                	add    %esi,%edx
57fb54:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fb57:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fb5b:	89 55 80             	mov    %edx,-0x80(%ebp)
57fb5e:	db 45 80             	fildl  -0x80(%ebp)
57fb61:	dd 5d 90             	fstpl  -0x70(%ebp)
57fb64:	9b                   	fwait
57fb65:	8b 55 d8             	mov    -0x28(%ebp),%edx
57fb68:	03 d0                	add    %eax,%edx
57fb6a:	0f af d3             	imul   %ebx,%edx
57fb6d:	03 55 c8             	add    -0x38(%ebp),%edx
57fb70:	0f af d7             	imul   %edi,%edx
57fb73:	03 d6                	add    %esi,%edx
57fb75:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fb78:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fb7c:	89 55 80             	mov    %edx,-0x80(%ebp)
57fb7f:	db 45 80             	fildl  -0x80(%ebp)
57fb82:	dd 5d 88             	fstpl  -0x78(%ebp)
57fb85:	9b                   	fwait
57fb86:	8b d3                	mov    %ebx,%edx
57fb88:	0f af 55 dc          	imul   -0x24(%ebp),%edx
57fb8c:	03 55 d8             	add    -0x28(%ebp),%edx
57fb8f:	0f af d3             	imul   %ebx,%edx
57fb92:	03 55 d4             	add    -0x2c(%ebp),%edx
57fb95:	0f af d7             	imul   %edi,%edx
57fb98:	03 d6                	add    %esi,%edx
57fb9a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57fb9d:	0f b7 14 51          	movzwl (%ecx,%edx,2),%edx
57fba1:	89 55 80             	mov    %edx,-0x80(%ebp)
57fba4:	db 45 80             	fildl  -0x80(%ebp)
57fba7:	dc 6d 90             	fsubrl -0x70(%ebp)
57fbaa:	dd 5d a8             	fstpl  -0x58(%ebp)