5fdcab:	8b 06                	mov    (%esi),%eax
5fdcad:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fdcb0:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fdcb4:	8b 45 44             	mov    0x44(%ebp),%eax
5fdcb7:	e8 60 b7 fa ff       	call   0x5a941c
5fdcbc:	8b d0                	mov    %eax,%edx
5fdcbe:	c1 e2 0a             	shl    $0xa,%edx
5fdcc1:	8b 06                	mov    (%esi),%eax
5fdcc3:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5fdcc6:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
5fdcca:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fdccd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fdcd0:	8b 49 10             	mov    0x10(%ecx),%ecx
5fdcd3:	8d 04 01             	lea    (%ecx,%eax,1),%eax
5fdcd6:	33 c9                	xor    %ecx,%ecx
5fdcd8:	8a 48 02             	mov    0x2(%eax),%cl
5fdcdb:	89 4d cc             	mov    %ecx,-0x34(%ebp)
5fdcde:	33 c9                	xor    %ecx,%ecx
5fdce0:	8a 48 01             	mov    0x1(%eax),%cl
5fdce3:	89 4d c8             	mov    %ecx,-0x38(%ebp)
5fdce6:	0f b6 00             	movzbl (%eax),%eax
5fdce9:	89 45 c4             	mov    %eax,-0x3c(%ebp)
5fdcec:	8b c3                	mov    %ebx,%eax
5fdcee:	33 c9                	xor    %ecx,%ecx
5fdcf0:	8a 48 02             	mov    0x2(%eax),%cl
5fdcf3:	51                   	push   %ecx
5fdcf4:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5fdcf7:	5f                   	pop    %edi
5fdcf8:	2b cf                	sub    %edi,%ecx
5fdcfa:	0f af ca             	imul   %edx,%ecx
5fdcfd:	c1 e9 12             	shr    $0x12,%ecx
5fdd00:	00 48 02             	add    %cl,0x2(%eax)
5fdd03:	33 c9                	xor    %ecx,%ecx
5fdd05:	8a 48 01             	mov    0x1(%eax),%cl
5fdd08:	51                   	push   %ecx
5fdd09:	8b 4d c8             	mov    -0x38(%ebp),%ecx
5fdd0c:	5f                   	pop    %edi
5fdd0d:	2b cf                	sub    %edi,%ecx
5fdd0f:	0f af ca             	imul   %edx,%ecx
5fdd12:	c1 e9 12             	shr    $0x12,%ecx
5fdd15:	00 48 01             	add    %cl,0x1(%eax)
5fdd18:	33 c9                	xor    %ecx,%ecx
5fdd1a:	8a 08                	mov    (%eax),%cl
5fdd1c:	51                   	push   %ecx
5fdd1d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5fdd20:	5f                   	pop    %edi
5fdd21:	2b cf                	sub    %edi,%ecx
5fdd23:	0f af ca             	imul   %edx,%ecx
5fdd26:	c1 e9 12             	shr    $0x12,%ecx
5fdd29:	00 08                	add    %cl,(%eax)
5fdd2b:	83 c3 03             	add    $0x3,%ebx
5fdd2e:	83 c6 04             	add    $0x4,%esi
5fdd31:	ff 4d bc             	decl   -0x44(%ebp)
5fdd34:	0f 85 71 ff ff ff    	jne    0x5fdcab
5fdd3a:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fdd3e:	ff 45 ec             	incl   -0x14(%ebp)
5fdd41:	ff 4d c0             	decl   -0x40(%ebp)
5fdd44:	0f 85 0a ff ff ff    	jne    0x5fdc54
5fdd4a:	5f                   	pop    %edi
5fdd4b:	5e                   	pop    %esi
5fdd4c:	5b                   	pop    %ebx
5fdd4d:	8b e5                	mov    %ebp,%esp
5fdd4f:	5d                   	pop    %ebp
5fdd50:	c2 40 00             	ret    $0x40
5fdd53:	90                   	nop
5fdd54:	55                   	push   %ebp
5fdd55:	8b ec                	mov    %esp,%ebp
5fdd57:	83 c4 cc             	add    $0xffffffcc,%esp
5fdd5a:	53                   	push   %ebx
5fdd5b:	56                   	push   %esi
5fdd5c:	57                   	push   %edi
5fdd5d:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fdd60:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fdd63:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdd66:	dd 40 58             	fldl   0x58(%eax)
5fdd69:	e8 5e 4f e0 ff       	call   0x402ccc
5fdd6e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fdd71:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdd74:	dd 40 60             	fldl   0x60(%eax)
5fdd77:	e8 50 4f e0 ff       	call   0x402ccc
5fdd7c:	89 45 e0             	mov    %eax,-0x20(%ebp)
5fdd7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdd82:	dd 40 60             	fldl   0x60(%eax)
5fdd85:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdd88:	dc 60 58             	fsubl  0x58(%eax)
5fdd8b:	dd 5d d8             	fstpl  -0x28(%ebp)
5fdd8e:	9b                   	fwait
5fdd8f:	8b 45 38             	mov    0x38(%ebp),%eax
5fdd92:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fdd95:	8b 45 34             	mov    0x34(%ebp),%eax
5fdd98:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdd9b:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fdd9e:	8b 55 14             	mov    0x14(%ebp),%edx
5fdda1:	2b d0                	sub    %eax,%edx
5fdda3:	0f 8c cc 00 00 00    	jl     0x5fde75
5fdda9:	42                   	inc    %edx
5fddaa:	89 55 d0             	mov    %edx,-0x30(%ebp)
5fddad:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fddb0:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fddb3:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fddb6:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fddb9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5fddbc:	8b 45 20             	mov    0x20(%ebp),%eax
5fddbf:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fddc2:	01 45 d4             	add    %eax,-0x2c(%ebp)
5fddc5:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fddc8:	8b 10                	mov    (%eax),%edx
5fddca:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fddcd:	8b 08                	mov    (%eax),%ecx
5fddcf:	ff 11                	call   *(%ecx)
5fddd1:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fddd4:	8b 7d f0             	mov    -0x10(%ebp),%edi
5fddd7:	dd 45 d8             	fldl   -0x28(%ebp)
5fddda:	d8 1d 80 de 5f 00    	fcomps 0x5fde80
5fdde0:	df e0                	fnstsw %ax
5fdde2:	9e                   	sahf
5fdde3:	75 2d                	jne    0x5fde12
5fdde5:	8b 45 20             	mov    0x20(%ebp),%eax
5fdde8:	8b 75 18             	mov    0x18(%ebp),%esi
5fddeb:	2b f0                	sub    %eax,%esi
5fdded:	7c 76                	jl     0x5fde65
5fddef:	46                   	inc    %esi
5fddf0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5fddf3:	8b 17                	mov    (%edi),%edx
5fddf5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5fddf8:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5fddfb:	88 50 02             	mov    %dl,0x2(%eax)
5fddfe:	88 50 01             	mov    %dl,0x1(%eax)
5fde01:	8a 50 02             	mov    0x2(%eax),%dl
5fde04:	88 10                	mov    %dl,(%eax)
5fde06:	83 45 d4 03          	addl   $0x3,-0x2c(%ebp)
5fde0a:	83 c7 04             	add    $0x4,%edi
5fde0d:	4e                   	dec    %esi
5fde0e:	75 e0                	jne    0x5fddf0
5fde10:	eb 53                	jmp    0x5fde65
5fde12:	8b 45 20             	mov    0x20(%ebp),%eax
5fde15:	8b 75 18             	mov    0x18(%ebp),%esi
5fde18:	2b f0                	sub    %eax,%esi
5fde1a:	7c 49                	jl     0x5fde65
5fde1c:	46                   	inc    %esi
5fde1d:	8b 07                	mov    (%edi),%eax
5fde1f:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fde22:	33 db                	xor    %ebx,%ebx
5fde24:	8a 1c 02             	mov    (%edx,%eax,1),%bl
5fde27:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
5fde2a:	7f 03                	jg     0x5fde2f
5fde2c:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5fde2f:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5fde32:	7c 03                	jl     0x5fde37
5fde34:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5fde37:	2b 5d e4             	sub    -0x1c(%ebp),%ebx
5fde3a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
5fde3d:	db 45 cc             	fildl  -0x34(%ebp)
5fde40:	dc 75 d8             	fdivl  -0x28(%ebp)
5fde43:	d8 0d 84 de 5f 00    	fmuls  0x5fde84
5fde49:	e8 7e 4e e0 ff       	call   0x402ccc
5fde4e:	8b d8                	mov    %eax,%ebx
5fde50:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5fde53:	88 58 02             	mov    %bl,0x2(%eax)
5fde56:	88 58 01             	mov    %bl,0x1(%eax)
5fde59:	88 18                	mov    %bl,(%eax)
5fde5b:	83 45 d4 03          	addl   $0x3,-0x2c(%ebp)
5fde5f:	83 c7 04             	add    $0x4,%edi
5fde62:	4e                   	dec    %esi
5fde63:	75 b8                	jne    0x5fde1d
5fde65:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fde69:	ff 45 ec             	incl   -0x14(%ebp)
5fde6c:	ff 4d d0             	decl   -0x30(%ebp)
5fde6f:	0f 85 3b ff ff ff    	jne    0x5fddb0
5fde75:	5f                   	pop    %edi
5fde76:	5e                   	pop    %esi
5fde77:	5b                   	pop    %ebx
5fde78:	8b e5                	mov    %ebp,%esp
5fde7a:	5d                   	pop    %ebp
5fde7b:	c2 34 00             	ret    $0x34
5fde86:	7f 43                	jg     0x5fdecb
5fde88:	55                   	push   %ebp
5fde89:	8b ec                	mov    %esp,%ebp
5fde8b:	83 c4 b4             	add    $0xffffffb4,%esp
5fde8e:	53                   	push   %ebx
5fde8f:	56                   	push   %esi
5fde90:	57                   	push   %edi
5fde91:	89 55 f8             	mov    %edx,-0x8(%ebp)
5fde94:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fde97:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fde9a:	dd 40 58             	fldl   0x58(%eax)
5fde9d:	e8 2a 4e e0 ff       	call   0x402ccc
5fdea2:	89 45 cc             	mov    %eax,-0x34(%ebp)
5fdea5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdea8:	dd 40 60             	fldl   0x60(%eax)
5fdeab:	e8 1c 4e e0 ff       	call   0x402ccc
5fdeb0:	89 45 c8             	mov    %eax,-0x38(%ebp)
5fdeb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdeb6:	dd 40 60             	fldl   0x60(%eax)
5fdeb9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdebc:	dc 60 58             	fsubl  0x58(%eax)
5fdebf:	dd 5d c0             	fstpl  -0x40(%ebp)
5fdec2:	9b                   	fwait
5fdec3:	8b 45 38             	mov    0x38(%ebp),%eax
5fdec6:	89 45 f0             	mov    %eax,-0x10(%ebp)
5fdec9:	8b 45 34             	mov    0x34(%ebp),%eax
5fdecc:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdecf:	8b 45 1c             	mov    0x1c(%ebp),%eax
5fded2:	8b 55 14             	mov    0x14(%ebp),%edx
5fded5:	2b d0                	sub    %eax,%edx
5fded7:	0f 8c 88 01 00 00    	jl     0x5fe065
5fdedd:	42                   	inc    %edx
5fdede:	89 55 bc             	mov    %edx,-0x44(%ebp)
5fdee1:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fdee4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5fdee7:	8b 55 ec             	mov    -0x14(%ebp),%edx
5fdeea:	8b 04 90             	mov    (%eax,%edx,4),%eax
5fdeed:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5fdef0:	8b 45 20             	mov    0x20(%ebp),%eax
5fdef3:	8d 04 40             	lea    (%eax,%eax,2),%eax
5fdef6:	01 45 e4             	add    %eax,-0x1c(%ebp)
5fdef9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fdefc:	8b 10                	mov    (%eax),%edx
5fdefe:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdf01:	8b 08                	mov    (%eax),%ecx
5fdf03:	ff 11                	call   *(%ecx)
5fdf05:	89 45 d0             	mov    %eax,-0x30(%ebp)
5fdf08:	80 7d 40 00          	cmpb   $0x0,0x40(%ebp)
5fdf0c:	74 16                	je     0x5fdf24
5fdf0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fdf11:	e8 c2 99 ff ff       	call   0x5f78d8
5fdf16:	8b 55 f4             	mov    -0xc(%ebp),%edx
5fdf19:	8b 12                	mov    (%edx),%edx
5fdf1b:	8b 08                	mov    (%eax),%ecx
5fdf1d:	ff 11                	call   *(%ecx)
5fdf1f:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fdf22:	eb 06                	jmp    0x5fdf2a
5fdf24:	8b 45 3c             	mov    0x3c(%ebp),%eax
5fdf27:	89 45 dc             	mov    %eax,-0x24(%ebp)
5fdf2a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5fdf2d:	dd 45 c0             	fldl   -0x40(%ebp)
5fdf30:	d8 1d 70 e0 5f 00    	fcomps 0x5fe070
5fdf36:	df e0                	fnstsw %ax
5fdf38:	9e                   	sahf
5fdf39:	75 79                	jne    0x5fdfb4
5fdf3b:	8b 45 20             	mov    0x20(%ebp),%eax
5fdf3e:	8b 55 18             	mov    0x18(%ebp),%edx
5fdf41:	2b d0                	sub    %eax,%edx
5fdf43:	0f 8c 0c 01 00 00    	jl     0x5fe055
5fdf49:	42                   	inc    %edx
5fdf4a:	89 55 b8             	mov    %edx,-0x48(%ebp)
5fdf4d:	8b 03                	mov    (%ebx),%eax
5fdf4f:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fdf52:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fdf56:	8b 45 44             	mov    0x44(%ebp),%eax
5fdf59:	e8 be b4 fa ff       	call   0x5a941c
5fdf5e:	8b f0                	mov    %eax,%esi
5fdf60:	c1 e6 0a             	shl    $0xa,%esi
5fdf63:	8b 03                	mov    (%ebx),%eax
5fdf65:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fdf68:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
5fdf6c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fdf6f:	33 d2                	xor    %edx,%edx
5fdf71:	8a 50 02             	mov    0x2(%eax),%dl
5fdf74:	8b cf                	mov    %edi,%ecx
5fdf76:	2b ca                	sub    %edx,%ecx
5fdf78:	0f af ce             	imul   %esi,%ecx
5fdf7b:	c1 e9 12             	shr    $0x12,%ecx
5fdf7e:	00 48 02             	add    %cl,0x2(%eax)
5fdf81:	33 d2                	xor    %edx,%edx
5fdf83:	8a 50 01             	mov    0x1(%eax),%dl
5fdf86:	8b cf                	mov    %edi,%ecx
5fdf88:	2b ca                	sub    %edx,%ecx
5fdf8a:	0f af ce             	imul   %esi,%ecx
5fdf8d:	c1 e9 12             	shr    $0x12,%ecx
5fdf90:	00 48 01             	add    %cl,0x1(%eax)
5fdf93:	33 d2                	xor    %edx,%edx
5fdf95:	8a 10                	mov    (%eax),%dl
5fdf97:	8b cf                	mov    %edi,%ecx
5fdf99:	2b ca                	sub    %edx,%ecx
5fdf9b:	0f af ce             	imul   %esi,%ecx
5fdf9e:	c1 e9 12             	shr    $0x12,%ecx
5fdfa1:	00 08                	add    %cl,(%eax)
5fdfa3:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fdfa7:	83 c3 04             	add    $0x4,%ebx
5fdfaa:	ff 4d b8             	decl   -0x48(%ebp)
5fdfad:	75 9e                	jne    0x5fdf4d
5fdfaf:	e9 a1 00 00 00       	jmp    0x5fe055
5fdfb4:	8b 45 20             	mov    0x20(%ebp),%eax
5fdfb7:	8b 55 18             	mov    0x18(%ebp),%edx
5fdfba:	2b d0                	sub    %eax,%edx
5fdfbc:	0f 8c 93 00 00 00    	jl     0x5fe055
5fdfc2:	42                   	inc    %edx
5fdfc3:	89 55 b8             	mov    %edx,-0x48(%ebp)
5fdfc6:	8b 03                	mov    (%ebx),%eax
5fdfc8:	8b 55 dc             	mov    -0x24(%ebp),%edx
5fdfcb:	0f b6 14 02          	movzbl (%edx,%eax,1),%edx
5fdfcf:	8b 45 44             	mov    0x44(%ebp),%eax
5fdfd2:	e8 45 b4 fa ff       	call   0x5a941c
5fdfd7:	8b f0                	mov    %eax,%esi
5fdfd9:	c1 e6 0a             	shl    $0xa,%esi
5fdfdc:	8b 03                	mov    (%ebx),%eax
5fdfde:	8b 55 d0             	mov    -0x30(%ebp),%edx
5fdfe1:	0f b6 3c 02          	movzbl (%edx,%eax,1),%edi
5fdfe5:	3b 7d cc             	cmp    -0x34(%ebp),%edi
5fdfe8:	7f 03                	jg     0x5fdfed
5fdfea:	8b 7d cc             	mov    -0x34(%ebp),%edi
5fdfed:	3b 7d c8             	cmp    -0x38(%ebp),%edi
5fdff0:	7c 03                	jl     0x5fdff5
5fdff2:	8b 7d c8             	mov    -0x38(%ebp),%edi
5fdff5:	2b 7d cc             	sub    -0x34(%ebp),%edi
5fdff8:	89 7d b4             	mov    %edi,-0x4c(%ebp)
5fdffb:	db 45 b4             	fildl  -0x4c(%ebp)
5fdffe:	dc 75 c0             	fdivl  -0x40(%ebp)
5fe001:	d8 0d 74 e0 5f 00    	fmuls  0x5fe074
5fe007:	e8 c0 4c e0 ff       	call   0x402ccc
5fe00c:	8b f8                	mov    %eax,%edi
5fe00e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5fe011:	33 d2                	xor    %edx,%edx
5fe013:	8a 50 02             	mov    0x2(%eax),%dl
5fe016:	8b cf                	mov    %edi,%ecx
5fe018:	2b ca                	sub    %edx,%ecx
5fe01a:	0f af ce             	imul   %esi,%ecx
5fe01d:	c1 e9 12             	shr    $0x12,%ecx
5fe020:	00 48 02             	add    %cl,0x2(%eax)
5fe023:	33 d2                	xor    %edx,%edx
5fe025:	8a 50 01             	mov    0x1(%eax),%dl
5fe028:	8b cf                	mov    %edi,%ecx
5fe02a:	2b ca                	sub    %edx,%ecx
5fe02c:	0f af ce             	imul   %esi,%ecx
5fe02f:	c1 e9 12             	shr    $0x12,%ecx
5fe032:	00 48 01             	add    %cl,0x1(%eax)
5fe035:	33 d2                	xor    %edx,%edx
5fe037:	8a 10                	mov    (%eax),%dl
5fe039:	8b cf                	mov    %edi,%ecx
5fe03b:	2b ca                	sub    %edx,%ecx
5fe03d:	0f af ce             	imul   %esi,%ecx
5fe040:	c1 e9 12             	shr    $0x12,%ecx
5fe043:	00 08                	add    %cl,(%eax)
5fe045:	83 45 e4 03          	addl   $0x3,-0x1c(%ebp)
5fe049:	83 c3 04             	add    $0x4,%ebx
5fe04c:	ff 4d b8             	decl   -0x48(%ebp)
5fe04f:	0f 85 71 ff ff ff    	jne    0x5fdfc6
5fe055:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
5fe059:	ff 45 ec             	incl   -0x14(%ebp)
5fe05c:	ff 4d bc             	decl   -0x44(%ebp)
5fe05f:	0f 85 7f fe ff ff    	jne    0x5fdee4
5fe065:	5f                   	pop    %edi
5fe066:	5e                   	pop    %esi
5fe067:	5b                   	pop    %ebx
5fe068:	8b e5                	mov    %ebp,%esp
5fe06a:	5d                   	pop    %ebp
5fe06b:	c2 40 00             	ret    $0x40
5fe076:	7f 43                	jg     0x5fe0bb
5fe078:	55                   	push   %ebp