5ede17:	8a 04 13             	mov    (%ebx,%edx,1),%al
5ede1a:	88 02                	mov    %al,(%edx)
5ede1c:	42                   	inc    %edx
5ede1d:	84 c0                	test   %al,%al
5ede1f:	74 cb                	je     0x5eddec
5ede21:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ede24:	83 ef 01             	sub    $0x1,%edi
5ede27:	74 08                	je     0x5ede31
5ede29:	83 e8 01             	sub    $0x1,%eax
5ede2c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ede2f:	75 e6                	jne    0x5ede17
5ede31:	85 c0                	test   %eax,%eax
5ede33:	75 02                	jne    0x5ede37
5ede35:	88 02                	mov    %al,(%edx)
5ede37:	85 ff                	test   %edi,%edi
5ede39:	75 b1                	jne    0x5eddec
5ede3b:	83 fe ff             	cmp    $0xffffffff,%esi
5ede3e:	75 0d                	jne    0x5ede4d
5ede40:	8b 45 0c             	mov    0xc(%ebp),%eax
5ede43:	6a 50                	push   $0x50
5ede45:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
5ede4a:	58                   	pop    %eax
5ede4b:	eb 88                	jmp    0x5eddd5
5ede4d:	c6 01 00             	movb   $0x0,(%ecx)
5ede50:	e8 33 ce fe ff       	call   0x5dac88
5ede55:	6a 22                	push   $0x22
5ede57:	e9 6f ff ff ff       	jmp    0x5eddcb
5ede5c:	8b ff                	mov    %edi,%edi
5ede5e:	55                   	push   %ebp
5ede5f:	8b ec                	mov    %esp,%ebp
5ede61:	5d                   	pop    %ebp
5ede62:	e9 3e ff ff ff       	jmp    0x5edda5
5ede67:	8b ff                	mov    %edi,%edi
5ede69:	55                   	push   %ebp
5ede6a:	8b ec                	mov    %esp,%ebp
5ede6c:	dd 45 08             	fldl   0x8(%ebp)
5ede6f:	d9 ee                	fldz
5ede71:	dd e1                	fucom  %st(1)
5ede73:	df e0                	fnstsw %ax
5ede75:	56                   	push   %esi
5ede76:	f6 c4 44             	test   $0x44,%ah
5ede79:	7a 09                	jp     0x5ede84
5ede7b:	dd d9                	fstp   %st(1)
5ede7d:	33 f6                	xor    %esi,%esi
5ede7f:	e9 ad 00 00 00       	jmp    0x5edf31
5ede84:	57                   	push   %edi
5ede85:	66 8b 7d 0e          	mov    0xe(%ebp),%di
5ede89:	0f b7 c7             	movzwl %di,%eax
5ede8c:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
5ede91:	75 7a                	jne    0x5edf0d
5ede93:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ede96:	8b 55 08             	mov    0x8(%ebp),%edx
5ede99:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
5ede9f:	75 04                	jne    0x5edea5
5edea1:	85 d2                	test   %edx,%edx
5edea3:	74 68                	je     0x5edf0d
5edea5:	de d9                	fcompp
5edea7:	be 03 fc ff ff       	mov    $0xfffffc03,%esi
5edeac:	df e0                	fnstsw %ax
5edeae:	53                   	push   %ebx
5edeaf:	33 db                	xor    %ebx,%ebx
5edeb1:	f6 c4 41             	test   $0x41,%ah
5edeb4:	75 01                	jne    0x5edeb7
5edeb6:	43                   	inc    %ebx
5edeb7:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
5edebb:	75 1f                	jne    0x5ededc
5edebd:	03 c9                	add    %ecx,%ecx
5edebf:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5edec2:	85 d2                	test   %edx,%edx
5edec4:	79 06                	jns    0x5edecc
5edec6:	83 c9 01             	or     $0x1,%ecx
5edec9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5edecc:	03 d2                	add    %edx,%edx
5edece:	4e                   	dec    %esi
5edecf:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
5eded3:	74 e8                	je     0x5edebd
5eded5:	66 8b 7d 0e          	mov    0xe(%ebp),%di
5eded9:	89 55 08             	mov    %edx,0x8(%ebp)
5ededc:	b8 ef ff 00 00       	mov    $0xffef,%eax
5edee1:	66 23 f8             	and    %ax,%di
5edee4:	85 db                	test   %ebx,%ebx
5edee6:	0f b7 c7             	movzwl %di,%eax
5edee9:	66 89 7d 0e          	mov    %di,0xe(%ebp)
5edeed:	5b                   	pop    %ebx
5edeee:	74 09                	je     0x5edef9
5edef0:	0d 00 80 00 00       	or     $0x8000,%eax
5edef5:	66 89 45 0e          	mov    %ax,0xe(%ebp)
5edef9:	dd 45 08             	fldl   0x8(%ebp)
5edefc:	6a 00                	push   $0x0
5edefe:	51                   	push   %ecx
5edeff:	51                   	push   %ecx
5edf00:	dd 1c 24             	fstpl  (%esp)
5edf03:	e8 31 00 00 00       	call   0x5edf39
5edf08:	83 c4 0c             	add    $0xc,%esp
5edf0b:	eb 23                	jmp    0x5edf30
5edf0d:	6a 00                	push   $0x0
5edf0f:	51                   	push   %ecx
5edf10:	dd d8                	fstp   %st(0)
5edf12:	51                   	push   %ecx
5edf13:	dd 1c 24             	fstpl  (%esp)
5edf16:	e8 1e 00 00 00       	call   0x5edf39
5edf1b:	0f b7 f7             	movzwl %di,%esi
5edf1e:	83 c4 0c             	add    $0xc,%esp
5edf21:	c1 ee 04             	shr    $0x4,%esi
5edf24:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
5edf2a:	81 ee fe 03 00 00    	sub    $0x3fe,%esi
5edf30:	5f                   	pop    %edi
5edf31:	8b 45 10             	mov    0x10(%ebp),%eax
5edf34:	89 30                	mov    %esi,(%eax)
5edf36:	5e                   	pop    %esi
5edf37:	5d                   	pop    %ebp
5edf38:	c3                   	ret
5edf39:	8b ff                	mov    %edi,%edi
5edf3b:	55                   	push   %ebp
5edf3c:	8b ec                	mov    %esp,%ebp
5edf3e:	51                   	push   %ecx
5edf3f:	51                   	push   %ecx
5edf40:	8b 4d 10             	mov    0x10(%ebp),%ecx
5edf43:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
5edf47:	dd 45 08             	fldl   0x8(%ebp)
5edf4a:	25 0f 80 00 00       	and    $0x800f,%eax
5edf4f:	dd 5d f8             	fstpl  -0x8(%ebp)
5edf52:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
5edf58:	c1 e1 04             	shl    $0x4,%ecx
5edf5b:	0b c8                	or     %eax,%ecx
5edf5d:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
5edf61:	dd 45 f8             	fldl   -0x8(%ebp)
5edf64:	c9                   	leave
5edf65:	c3                   	ret
5edf66:	8b ff                	mov    %edi,%edi
5edf68:	55                   	push   %ebp
5edf69:	8b ec                	mov    %esp,%ebp
5edf6b:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
5edf72:	8b 45 08             	mov    0x8(%ebp),%eax
5edf75:	75 07                	jne    0x5edf7e
5edf77:	85 c0                	test   %eax,%eax
5edf79:	75 15                	jne    0x5edf90
5edf7b:	40                   	inc    %eax
5edf7c:	5d                   	pop    %ebp
5edf7d:	c3                   	ret
5edf7e:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
5edf85:	75 09                	jne    0x5edf90
5edf87:	85 c0                	test   %eax,%eax
5edf89:	75 05                	jne    0x5edf90
5edf8b:	6a 02                	push   $0x2
5edf8d:	58                   	pop    %eax
5edf8e:	5d                   	pop    %ebp
5edf8f:	c3                   	ret
5edf90:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
5edf94:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
5edf99:	66 23 ca             	and    %dx,%cx
5edf9c:	66 3b ca             	cmp    %dx,%cx
5edf9f:	75 04                	jne    0x5edfa5
5edfa1:	6a 03                	push   $0x3
5edfa3:	eb e8                	jmp    0x5edf8d
5edfa5:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
5edfaa:	66 3b ca             	cmp    %dx,%cx
5edfad:	75 16                	jne    0x5edfc5
5edfaf:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
5edfb6:	75 09                	jne    0x5edfc1
5edfb8:	f7 d8                	neg    %eax
5edfba:	1b c0                	sbb    %eax,%eax
5edfbc:	83 e0 04             	and    $0x4,%eax
5edfbf:	5d                   	pop    %ebp
5edfc0:	c3                   	ret
5edfc1:	6a 04                	push   $0x4
5edfc3:	eb c8                	jmp    0x5edf8d
5edfc5:	33 c0                	xor    %eax,%eax
5edfc7:	5d                   	pop    %ebp
5edfc8:	c3                   	ret
5edfc9:	6a 08                	push   $0x8
5edfcb:	68 00 ab 68 00       	push   $0x68ab00
5edfd0:	e8 2b 49 fe ff       	call   0x5d2900
5edfd5:	83 3d 58 6b 71 00 01 	cmpl   $0x1,0x716b58
5edfdc:	7c 5b                	jl     0x5ee039
5edfde:	8b 45 08             	mov    0x8(%ebp),%eax
5edfe1:	a8 40                	test   $0x40,%al
5edfe3:	74 4a                	je     0x5ee02f
5edfe5:	83 3d 20 1a 69 00 00 	cmpl   $0x0,0x691a20
5edfec:	74 41                	je     0x5ee02f
5edfee:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5edff2:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
5edff6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5edffd:	eb 3a                	jmp    0x5ee039
5edfff:	8b 45 ec             	mov    -0x14(%ebp),%eax
5ee002:	8b 00                	mov    (%eax),%eax
5ee004:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
5ee00a:	74 0b                	je     0x5ee017
5ee00c:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
5ee012:	74 03                	je     0x5ee017
5ee014:	33 c0                	xor    %eax,%eax
5ee016:	c3                   	ret
5ee017:	33 c0                	xor    %eax,%eax
5ee019:	40                   	inc    %eax
5ee01a:	c3                   	ret
5ee01b:	8b 65 e8             	mov    -0x18(%ebp),%esp
5ee01e:	83 25 20 1a 69 00 00 	andl   $0x0,0x691a20
5ee025:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
5ee029:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
5ee02d:	eb c7                	jmp    0x5edff6
5ee02f:	83 e0 bf             	and    $0xffffffbf,%eax
5ee032:	89 45 08             	mov    %eax,0x8(%ebp)
5ee035:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
5ee039:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ee03c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ee043:	59                   	pop    %ecx
5ee044:	5f                   	pop    %edi
5ee045:	5e                   	pop    %esi
5ee046:	5b                   	pop    %ebx
5ee047:	c9                   	leave
5ee048:	c3                   	ret
5ee049:	8b ff                	mov    %edi,%edi
5ee04b:	55                   	push   %ebp
5ee04c:	8b ec                	mov    %esp,%ebp
5ee04e:	51                   	push   %ecx
5ee04f:	dd 7d fc             	fnstsw -0x4(%ebp)
5ee052:	db e2                	fnclex
5ee054:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
5ee058:	c9                   	leave
5ee059:	c3                   	ret
5ee05a:	8b ff                	mov    %edi,%edi
5ee05c:	55                   	push   %ebp
5ee05d:	8b ec                	mov    %esp,%ebp
5ee05f:	51                   	push   %ecx
5ee060:	51                   	push   %ecx
5ee061:	9b d9 7d fc          	fstcw  -0x4(%ebp)
5ee065:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5ee068:	8b 45 08             	mov    0x8(%ebp),%eax
5ee06b:	f7 d1                	not    %ecx
5ee06d:	66 23 4d fc          	and    -0x4(%ebp),%cx
5ee071:	23 45 0c             	and    0xc(%ebp),%eax
5ee074:	66 0b c8             	or     %ax,%cx
5ee077:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
5ee07b:	d9 6d f8             	fldcw  -0x8(%ebp)
5ee07e:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
5ee082:	c9                   	leave
5ee083:	c3                   	ret
5ee084:	8b ff                	mov    %edi,%edi
5ee086:	55                   	push   %ebp
5ee087:	8b ec                	mov    %esp,%ebp
5ee089:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee08c:	83 ec 0c             	sub    $0xc,%esp
5ee08f:	f6 c1 01             	test   $0x1,%cl
5ee092:	74 0a                	je     0x5ee09e
5ee094:	db 2d 70 52 67 00    	fldt   0x675270
5ee09a:	db 5d fc             	fistpl -0x4(%ebp)
5ee09d:	9b                   	fwait
5ee09e:	f6 c1 08             	test   $0x8,%cl
5ee0a1:	74 10                	je     0x5ee0b3
5ee0a3:	9b df e0             	fstsw  %ax
5ee0a6:	db 2d 70 52 67 00    	fldt   0x675270
5ee0ac:	dd 5d f4             	fstpl  -0xc(%ebp)
5ee0af:	9b 9b df e0          	fstsw  %ax
5ee0b3:	f6 c1 10             	test   $0x10,%cl
5ee0b6:	74 0a                	je     0x5ee0c2
5ee0b8:	db 2d 7c 52 67 00    	fldt   0x67527c
5ee0be:	dd 5d f4             	fstpl  -0xc(%ebp)
5ee0c1:	9b                   	fwait
5ee0c2:	f6 c1 04             	test   $0x4,%cl
5ee0c5:	74 09                	je     0x5ee0d0
5ee0c7:	d9 ee                	fldz
5ee0c9:	d9 e8                	fld1
5ee0cb:	de f1                	fdivp  %st,%st(1)
5ee0cd:	dd d8                	fstp   %st(0)
5ee0cf:	9b                   	fwait
5ee0d0:	f6 c1 20             	test   $0x20,%cl
5ee0d3:	74 06                	je     0x5ee0db
5ee0d5:	d9 eb                	fldpi
5ee0d7:	dd 5d f4             	fstpl  -0xc(%ebp)
5ee0da:	9b                   	fwait
5ee0db:	c9                   	leave
5ee0dc:	c3                   	ret
5ee0dd:	8b ff                	mov    %edi,%edi
5ee0df:	55                   	push   %ebp
5ee0e0:	8b ec                	mov    %esp,%ebp
5ee0e2:	51                   	push   %ecx
5ee0e3:	9b dd 7d fc          	fstsw  -0x4(%ebp)
5ee0e7:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
5ee0eb:	c9                   	leave
5ee0ec:	c3                   	ret
5ee0ed:	6a 0c                	push   $0xc
5ee0ef:	68 20 ab 68 00       	push   $0x68ab20
5ee0f4:	e8 07 48 fe ff       	call   0x5d2900
5ee0f9:	33 ff                	xor    %edi,%edi
5ee0fb:	8b 75 08             	mov    0x8(%ebp),%esi
5ee0fe:	89 3e                	mov    %edi,(%esi)
5ee100:	6a 08                	push   $0x8
5ee102:	e8 bb a4 ff ff       	call   0x5e85c2
5ee107:	59                   	pop    %ecx
5ee108:	89 7d fc             	mov    %edi,-0x4(%ebp)
5ee10b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5ee10e:	50                   	push   %eax
5ee10f:	e8 7d 00 00 00       	call   0x5ee191
5ee114:	59                   	pop    %ecx
5ee115:	8b 00                	mov    (%eax),%eax
5ee117:	89 06                	mov    %eax,(%esi)
5ee119:	85 c0                	test   %eax,%eax
5ee11b:	74 0f                	je     0x5ee12c
5ee11d:	89 78 08             	mov    %edi,0x8(%eax)
5ee120:	89 78 1c             	mov    %edi,0x1c(%eax)
5ee123:	89 38                	mov    %edi,(%eax)
5ee125:	89 78 04             	mov    %edi,0x4(%eax)
5ee128:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
5ee12c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5ee133:	e8 15 00 00 00       	call   0x5ee14d
5ee138:	8b c6                	mov    %esi,%eax
5ee13a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5ee13d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5ee144:	59                   	pop    %ecx
5ee145:	5f                   	pop    %edi
5ee146:	5e                   	pop    %esi
5ee147:	5b                   	pop    %ebx
5ee148:	c9                   	leave
5ee149:	c3                   	ret
5ee14a:	8b 75 08             	mov    0x8(%ebp),%esi
5ee14d:	6a 08                	push   $0x8
5ee14f:	e8 b6 a4 ff ff       	call   0x5e860a
5ee154:	59                   	pop    %ecx
5ee155:	c3                   	ret
5ee156:	8b ff                	mov    %edi,%edi
5ee158:	55                   	push   %ebp
5ee159:	8b ec                	mov    %esp,%ebp
5ee15b:	8b 45 08             	mov    0x8(%ebp),%eax
5ee15e:	33 c9                	xor    %ecx,%ecx
5ee160:	89 08                	mov    %ecx,(%eax)
5ee162:	8b 45 08             	mov    0x8(%ebp),%eax
5ee165:	89 48 04             	mov    %ecx,0x4(%eax)
5ee168:	8b 45 08             	mov    0x8(%ebp),%eax
5ee16b:	89 48 08             	mov    %ecx,0x8(%eax)
5ee16e:	8b 45 08             	mov    0x8(%ebp),%eax
5ee171:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
5ee175:	8b 45 08             	mov    0x8(%ebp),%eax
5ee178:	89 48 14             	mov    %ecx,0x14(%eax)
5ee17b:	8b 45 08             	mov    0x8(%ebp),%eax
5ee17e:	89 48 18             	mov    %ecx,0x18(%eax)
5ee181:	8b 45 08             	mov    0x8(%ebp),%eax
5ee184:	89 48 1c             	mov    %ecx,0x1c(%eax)
5ee187:	8b 45 08             	mov    0x8(%ebp),%eax
5ee18a:	83 c0 0c             	add    $0xc,%eax
5ee18d:	87 08                	xchg   %ecx,(%eax)
5ee18f:	5d                   	pop    %ebp
5ee190:	c3                   	ret
5ee191:	8b ff                	mov    %edi,%edi
5ee193:	55                   	push   %ebp
5ee194:	8b ec                	mov    %esp,%ebp
5ee196:	51                   	push   %ecx
5ee197:	53                   	push   %ebx
5ee198:	8b 1d bc 6c 71 00    	mov    0x716cbc,%ebx
5ee19e:	56                   	push   %esi
5ee19f:	57                   	push   %edi