5fe802:	eb 06                	jmp    0x5fe80a
5fe804:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fe807:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe80a:	8b 75 f0             	mov    -0x10(%ebp),%esi
5fe80d:	8b 45 20             	mov    0x20(%ebp),%eax
5fe810:	8b 5d 18             	mov    0x18(%ebp),%ebx
5fe813:	2b d8                	sub    %eax,%ebx
5fe815:	7c 71                	jl     0x5fe888
5fe817:	43                   	inc    %ebx
5fe818:	8b 06                	mov    (%esi),%eax
5fe81a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5fe81d:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fe821:	8b 45 44             	mov    0x44(%ebp),%eax
5fe824:	e8 f3 ab fa ff       	call   0x5a941c
5fe829:	8b f8                	mov    %eax,%edi
5fe82b:	c1 e7 0a             	shl    $0xa,%edi
5fe82e:	8b 06                	mov    (%esi),%eax
5fe830:	8b 55 e0             	mov    -0x20(%ebp),%edx
5fe833:	8b 04 82             	mov    (%edx,%eax,4),%eax
5fe836:	8d 55 dd             	lea    -0x23(%ebp),%edx
5fe839:	e8 62 67 fd ff       	call   0x5d4fa0
5fe83e:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe841:	33 d2                	xor    %edx,%edx
5fe843:	8a 55 df             	mov    -0x21(%ebp),%dl
5fe846:	33 c9                	xor    %ecx,%ecx
5fe848:	8a 48 02             	mov    0x2(%eax),%cl
5fe84b:	2b d1                	sub    %ecx,%edx
5fe84d:	0f af d7             	imul   %edi,%edx
5fe850:	c1 ea 12             	shr    $0x12,%edx
5fe853:	00 50 02             	add    %dl,0x2(%eax)
5fe856:	33 d2                	xor    %edx,%edx
5fe858:	8a 55 de             	mov    -0x22(%ebp),%dl
5fe85b:	33 c9                	xor    %ecx,%ecx
5fe85d:	8a 48 01             	mov    0x1(%eax),%cl
5fe860:	2b d1                	sub    %ecx,%edx
5fe862:	0f af d7             	imul   %edi,%edx
5fe865:	c1 ea 12             	shr    $0x12,%edx
5fe868:	00 50 01             	add    %dl,0x1(%eax)
5fe86b:	33 d2                	xor    %edx,%edx
5fe86d:	8a 55 dd             	mov    -0x23(%ebp),%dl
5fe870:	33 c9                	xor    %ecx,%ecx
5fe872:	8a 08                	mov    (%eax),%cl
5fe874:	2b d1                	sub    %ecx,%edx
5fe876:	0f af d7             	imul   %edi,%edx
5fe879:	c1 ea 12             	shr    $0x12,%edx
5fe87c:	00 10                	add    %dl,(%eax)
5fe87e:	83 45 e8 03          	addl   $0x3,-0x18(%ebp)
5fe882:	83 c6 04             	add    $0x4,%esi
5fe885:	4b                   	dec    %ebx
5fe886:	75 90                	jne    0x5fe818
5fe888:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe88c:	ff 45 ec             	incl   -0x14(%ebp)
5fe88f:	ff 4d d8             	decl   -0x28(%ebp)
5fe892:	0f 85 2c ff ff ff    	jne    0x5fe7c4
5fe898:	5f                   	pop    %edi
5fe899:	5e                   	pop    %esi
5fe89a:	5b                   	pop    %ebx
5fe89b:	8b e5                	mov    %ebp,%esp
5fe89d:	5d                   	pop    %ebp
5fe89e:	c2 40 00             	ret    $0x40
5fe8a1:	8d 40 00             	lea    0x0(%eax),%eax
5fe8a4:	55                   	push   %ebp
5fe8a5:	8b ec                	mov    %esp,%ebp
5fe8a7:	83 c4 e0             	add    $0xffffffe0,%esp
5fe8aa:	53                   	push   %ebx
5fe8ab:	56                   	push   %esi
5fe8ac:	57                   	push   %edi
5fe8ad:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe8b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe8b3:	8b 45 38             	mov    0x38(%ebp),%eax
5fe8b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe8b9:	8b 75 34             	mov    0x34(%ebp),%esi
5fe8bc:	83 cb ff             	or     $0xffffffff,%ebx
5fe8bf:	8b 01                	mov    (%ecx),%eax
5fe8c1:	8b 10                	mov    (%eax),%edx
5fe8c3:	ff 52 14             	call   *0x14(%edx)
5fe8c6:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe8c9:	89 75 f4             	mov    %esi,-0xc(%ebp)
5fe8cc:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe8cf:	8b 55 14             	mov    0x14(%ebp),%edx
5fe8d2:	2b d0                	sub    %eax,%edx
5fe8d4:	0f 8c ad 00 00 00    	jl     0x5fe987
5fe8da:	42                   	inc    %edx
5fe8db:	89 55 e0             	mov    %edx,-0x20(%ebp)
5fe8de:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe8e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe8e4:	8b 00                	mov    (%eax),%eax
5fe8e6:	3b d8                	cmp    %eax,%ebx
5fe8e8:	0f 94 c2             	sete   %dl
5fe8eb:	22 55 08             	and    0x8(%ebp),%dl
5fe8ee:	74 1d                	je     0x5fe90d
5fe8f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe8f3:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe8f6:	8b 54 90 fc          	mov    -0x4(%eax,%edx,4),%edx
5fe8fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe8fd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5fe900:	8b 04 88             	mov    (%eax,%ecx,4),%eax
5fe903:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5fe906:	e8 b5 95 e0 ff       	call   0x407ec0
5fe90b:	eb 6a                	jmp    0x5fe977
5fe90d:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fe910:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5fe913:	8b 1c 8a             	mov    (%edx,%ecx,4),%ebx
5fe916:	8b 55 20             	mov    0x20(%ebp),%edx
5fe919:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fe91c:	03 da                	add    %edx,%ebx
5fe91e:	8b d0                	mov    %eax,%edx
5fe920:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe923:	8b 08                	mov    (%eax),%ecx
5fe925:	ff 11                	call   *(%ecx)
5fe927:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fe92a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe92d:	8b 55 20             	mov    0x20(%ebp),%edx
5fe930:	8b 4d 18             	mov    0x18(%ebp),%ecx
5fe933:	2b ca                	sub    %edx,%ecx
5fe935:	7c 3b                	jl     0x5fe972
5fe937:	41                   	inc    %ecx
5fe938:	87 d1                	xchg   %edx,%ecx
5fe93a:	8b 30                	mov    (%eax),%esi
5fe93c:	8b ce                	mov    %esi,%ecx
5fe93e:	c1 e9 03             	shr    $0x3,%ecx
5fe941:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5fe944:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
5fe947:	83 e6 07             	and    $0x7,%esi
5fe94a:	22 8e ec 54 6a 00    	and    0x6a54ec(%esi),%cl
5fe950:	75 0e                	jne    0x5fe960
5fe952:	66 c7 03 00 00       	movw   $0x0,(%ebx)
5fe957:	83 c3 02             	add    $0x2,%ebx
5fe95a:	c6 03 00             	movb   $0x0,(%ebx)
5fe95d:	43                   	inc    %ebx
5fe95e:	eb 0c                	jmp    0x5fe96c
5fe960:	66 c7 03 ff ff       	movw   $0xffff,(%ebx)
5fe965:	83 c3 02             	add    $0x2,%ebx
5fe968:	c6 03 ff             	movb   $0xff,(%ebx)
5fe96b:	43                   	inc    %ebx
5fe96c:	83 c0 04             	add    $0x4,%eax
5fe96f:	4a                   	dec    %edx
5fe970:	75 c8                	jne    0x5fe93a
5fe972:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe975:	8b 18                	mov    (%eax),%ebx
5fe977:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe97b:	ff 45 ec             	incl   -0x14(%ebp)
5fe97e:	ff 4d e0             	decl   -0x20(%ebp)
5fe981:	0f 85 5a ff ff ff    	jne    0x5fe8e1
5fe987:	5f                   	pop    %edi
5fe988:	5e                   	pop    %esi
5fe989:	5b                   	pop    %ebx
5fe98a:	8b e5                	mov    %ebp,%esp
5fe98c:	5d                   	pop    %ebp
5fe98d:	c2 34 00             	ret    $0x34
5fe990:	55                   	push   %ebp
5fe991:	8b ec                	mov    %esp,%ebp
5fe993:	83 c4 cc             	add    $0xffffffcc,%esp
5fe996:	53                   	push   %ebx
5fe997:	56                   	push   %esi
5fe998:	57                   	push   %edi
5fe999:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fe99c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fe99f:	8b 45 38             	mov    0x38(%ebp),%eax
5fe9a2:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fe9a5:	8b 75 34             	mov    0x34(%ebp),%esi
5fe9a8:	83 cb ff             	or     $0xffffffff,%ebx
5fe9ab:	8b 01                	mov    (%ecx),%eax
5fe9ad:	8b 10                	mov    (%eax),%edx
5fe9af:	ff 52 14             	call   *0x14(%edx)
5fe9b2:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe9b5:	89 75 f4             	mov    %esi,-0xc(%ebp)
5fe9b8:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fe9bb:	8b 55 14             	mov    0x14(%ebp),%edx
5fe9be:	2b d0                	sub    %eax,%edx
5fe9c0:	0f 8c 5f 01 00 00    	jl     0x5feb25
5fe9c6:	42                   	inc    %edx
5fe9c7:	89 55 cc             	mov    %edx,-0x34(%ebp)
5fe9ca:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fe9cd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fe9d0:	8b 00                	mov    (%eax),%eax
5fe9d2:	3b d8                	cmp    %eax,%ebx
5fe9d4:	0f 94 c2             	sete   %dl
5fe9d7:	22 55 08             	and    0x8(%ebp),%dl
5fe9da:	74 20                	je     0x5fe9fc
5fe9dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe9df:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fe9e2:	8b 54 90 fc          	mov    -0x4(%eax,%edx,4),%edx
5fe9e6:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fe9e9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5fe9ec:	8b 04 88             	mov    (%eax,%ecx,4),%eax
5fe9ef:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5fe9f2:	e8 c9 94 e0 ff       	call   0x407ec0
5fe9f7:	e9 19 01 00 00       	jmp    0x5feb15
5fe9fc:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fe9ff:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5fea02:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
5fea05:	89 55 e0             	mov    %edx,-0x20(%ebp)
5fea08:	8b 55 20             	mov    0x20(%ebp),%edx
5fea0b:	8d 14 52             	lea    (%edx,%edx,2),%edx
5fea0e:	01 55 e0             	add    %edx,-0x20(%ebp)
5fea11:	8b d0                	mov    %eax,%edx
5fea13:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fea16:	8b 08                	mov    (%eax),%ecx
5fea18:	ff 11                	call   *(%ecx)
5fea1a:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fea1d:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fea21:	74 16                	je     0x5fea39
5fea23:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fea26:	e8 ad 8e ff ff       	call   0x5f78d8
5fea2b:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fea2e:	8b 12                	mov    (%edx),%edx
5fea30:	8b 08                	mov    (%eax),%ecx
5fea32:	ff 11                	call   *(%ecx)
5fea34:	89 45 d8             	mov    %eax,-0x28(%ebp)
5fea37:	eb 06                	jmp    0x5fea3f
5fea39:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fea3c:	89 45 d8             	mov    %eax,-0x28(%ebp)
5fea3f:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fea42:	8b 45 20             	mov    0x20(%ebp),%eax
5fea45:	8b 75 18             	mov    0x18(%ebp),%esi
5fea48:	2b f0                	sub    %eax,%esi
5fea4a:	0f 8c c0 00 00 00    	jl     0x5feb10
5fea50:	46                   	inc    %esi
5fea51:	8b 45 d8             	mov    -0x28(%ebp),%eax
5fea54:	8b 13                	mov    (%ebx),%edx
5fea56:	0f b6 14 10          	movzbl (%eax,%edx,1),%edx
5fea5a:	8b 45 44             	mov    0x44(%ebp),%eax
5fea5d:	e8 ba a9 fa ff       	call   0x5a941c
5fea62:	c1 e0 0a             	shl    $0xa,%eax
5fea65:	8b 13                	mov    (%ebx),%edx
5fea67:	8b ca                	mov    %edx,%ecx
5fea69:	c1 e9 03             	shr    $0x3,%ecx
5fea6c:	8b 7d dc             	mov    -0x24(%ebp),%edi
5fea6f:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
5fea72:	83 e2 07             	and    $0x7,%edx
5fea75:	22 8a ec 54 6a 00    	and    0x6a54ec(%edx),%cl
5fea7b:	75 3f                	jne    0x5feabc
5fea7d:	8b 55 e0             	mov    -0x20(%ebp),%edx
5fea80:	33 c9                	xor    %ecx,%ecx
5fea82:	8a 4a 02             	mov    0x2(%edx),%cl
5fea85:	51                   	push   %ecx
5fea86:	33 c9                	xor    %ecx,%ecx
5fea88:	5f                   	pop    %edi
5fea89:	2b cf                	sub    %edi,%ecx
5fea8b:	0f af c8             	imul   %eax,%ecx
5fea8e:	c1 e9 12             	shr    $0x12,%ecx
5fea91:	00 4a 02             	add    %cl,0x2(%edx)
5fea94:	33 c9                	xor    %ecx,%ecx
5fea96:	8a 4a 01             	mov    0x1(%edx),%cl
5fea99:	51                   	push   %ecx
5fea9a:	33 c9                	xor    %ecx,%ecx
5fea9c:	5f                   	pop    %edi
5fea9d:	2b cf                	sub    %edi,%ecx
5fea9f:	0f af c8             	imul   %eax,%ecx
5feaa2:	c1 e9 12             	shr    $0x12,%ecx
5feaa5:	00 4a 01             	add    %cl,0x1(%edx)
5feaa8:	33 c9                	xor    %ecx,%ecx
5feaaa:	8a 0a                	mov    (%edx),%cl
5feaac:	51                   	push   %ecx
5feaad:	33 c9                	xor    %ecx,%ecx
5feaaf:	5f                   	pop    %edi
5feab0:	2b cf                	sub    %edi,%ecx
5feab2:	0f af c8             	imul   %eax,%ecx
5feab5:	c1 e9 12             	shr    $0x12,%ecx
5feab8:	00 0a                	add    %cl,(%edx)
5feaba:	eb 46                	jmp    0x5feb02
5feabc:	8b 55 e0             	mov    -0x20(%ebp),%edx
5feabf:	33 c9                	xor    %ecx,%ecx
5feac1:	8a 4a 02             	mov    0x2(%edx),%cl
5feac4:	51                   	push   %ecx
5feac5:	b9 ff 00 00 00       	mov    $0xff,%ecx
5feaca:	5f                   	pop    %edi
5feacb:	2b cf                	sub    %edi,%ecx
5feacd:	0f af c8             	imul   %eax,%ecx
5fead0:	c1 e9 12             	shr    $0x12,%ecx
5fead3:	00 4a 02             	add    %cl,0x2(%edx)
5fead6:	33 c9                	xor    %ecx,%ecx
5fead8:	8a 4a 01             	mov    0x1(%edx),%cl
5feadb:	51                   	push   %ecx
5feadc:	b9 ff 00 00 00       	mov    $0xff,%ecx
5feae1:	5f                   	pop    %edi
5feae2:	2b cf                	sub    %edi,%ecx
5feae4:	0f af c8             	imul   %eax,%ecx
5feae7:	c1 e9 12             	shr    $0x12,%ecx
5feaea:	00 4a 01             	add    %cl,0x1(%edx)
5feaed:	33 c9                	xor    %ecx,%ecx
5feaef:	8a 0a                	mov    (%edx),%cl
5feaf1:	51                   	push   %ecx
5feaf2:	b9 ff 00 00 00       	mov    $0xff,%ecx
5feaf7:	5f                   	pop    %edi
5feaf8:	2b cf                	sub    %edi,%ecx
5feafa:	0f af c8             	imul   %eax,%ecx
5feafd:	c1 e9 12             	shr    $0x12,%ecx
5feb00:	00 0a                	add    %cl,(%edx)
5feb02:	83 45 e0 03          	addl   $0x3,-0x20(%ebp)
5feb06:	83 c3 04             	add    $0x4,%ebx
5feb09:	4e                   	dec    %esi
5feb0a:	0f 85 41 ff ff ff    	jne    0x5fea51
5feb10:	8b 45 f4             	mov    -0xc(%ebp),%eax
5feb13:	8b 18                	mov    (%eax),%ebx
5feb15:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5feb19:	ff 45 ec             	incl   -0x14(%ebp)
5feb1c:	ff 4d cc             	decl   -0x34(%ebp)
5feb1f:	0f 85 a8 fe ff ff    	jne    0x5fe9cd
5feb25:	5f                   	pop    %edi
5feb26:	5e                   	pop    %esi
5feb27:	5b                   	pop    %ebx
5feb28:	8b e5                	mov    %ebp,%esp
5feb2a:	5d                   	pop    %ebp
5feb2b:	c2 40 00             	ret    $0x40
5feb2e:	8b c0                	mov    %eax,%eax
5feb30:	55                   	push   %ebp
5feb31:	8b ec                	mov    %esp,%ebp
5feb33:	83 c4 e4             	add    $0xffffffe4,%esp
5feb36:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5feb39:	db 45 e4             	fildl  -0x1c(%ebp)
5feb3c:	d8 35 d0 eb 5f 00    	fdivs  0x5febd0
5feb42:	dd 5d f8             	fstpl  -0x8(%ebp)
5feb45:	9b                   	fwait
5feb46:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5feb49:	db 45 e4             	fildl  -0x1c(%ebp)
5feb4c:	d8 35 d0 eb 5f 00    	fdivs  0x5febd0
5feb52:	dd 5d f0             	fstpl  -0x10(%ebp)
5feb55:	9b dd 45 f0          	fldl   -0x10(%ebp)
5feb59:	d8 1d d4 eb 5f 00    	fcomps 0x5febd4
5feb5f:	df e0                	fnstsw %ax
5feb61:	9e                   	sahf
5feb62:	73 2a                	jae    0x5feb8e
5feb64:	dd 45 f8             	fldl   -0x8(%ebp)
5feb67:	d8 c8                	fmul   %st(0),%st
5feb69:	d9 05 d8 eb 5f 00    	flds   0x5febd8
5feb6f:	dc 4d f0             	fmull  -0x10(%ebp)
5feb72:	d8 2d dc eb 5f 00    	fsubrs 0x5febdc
5feb78:	de c9                	fmulp  %st,%st(1)
5feb7a:	d9 05 d8 eb 5f 00    	flds   0x5febd8
5feb80:	dc 4d f8             	fmull  -0x8(%ebp)
5feb83:	dc 4d f0             	fmull  -0x10(%ebp)
5feb86:	de c1                	faddp  %st,%st(1)
5feb88:	dd 5d e8             	fstpl  -0x18(%ebp)
5feb8b:	9b                   	fwait
5feb8c:	eb 30                	jmp    0x5febbe
5feb8e:	dd 45 f8             	fldl   -0x8(%ebp)
5feb91:	d9 fa                	fsqrt
5feb93:	d9 05 d8 eb 5f 00    	flds   0x5febd8
5feb99:	dc 4d f0             	fmull  -0x10(%ebp)
5feb9c:	d8 25 dc eb 5f 00    	fsubs  0x5febdc
5feba2:	de c9                	fmulp  %st,%st(1)
5feba4:	d9 05 d8 eb 5f 00    	flds   0x5febd8
5febaa:	dc 4d f8             	fmull  -0x8(%ebp)
5febad:	d9 05 dc eb 5f 00    	flds   0x5febdc
5febb3:	dc 65 f0             	fsubl  -0x10(%ebp)
5febb6:	de c9                	fmulp  %st,%st(1)
5febb8:	de c1                	faddp  %st,%st(1)
5febba:	dd 5d e8             	fstpl  -0x18(%ebp)