5edc4d:	a8 01                	test   $0x1,%al
5edc4f:	74 25                	je     0x5edc76
5edc51:	8b 07                	mov    (%edi),%eax
5edc53:	90                   	nop
5edc54:	c1 e8 06             	shr    $0x6,%eax
5edc57:	a8 01                	test   $0x1,%al
5edc59:	74 1b                	je     0x5edc76
5edc5b:	ff 76 04             	push   0x4(%esi)
5edc5e:	e8 bf d5 ff ff       	call   0x5eb222
5edc63:	59                   	pop    %ecx
5edc64:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
5edc69:	f0 21 07             	lock and %eax,(%edi)
5edc6c:	33 c0                	xor    %eax,%eax
5edc6e:	89 46 04             	mov    %eax,0x4(%esi)
5edc71:	89 06                	mov    %eax,(%esi)
5edc73:	89 46 08             	mov    %eax,0x8(%esi)
5edc76:	5f                   	pop    %edi
5edc77:	5e                   	pop    %esi
5edc78:	5d                   	pop    %ebp
5edc79:	c3                   	ret
5edc7a:	6a 0c                	push   $0xc
5edc7c:	68 e0 aa 68 00       	push   $0x68aae0
5edc81:	e8 7a 4c fe ff       	call   0x5d2900
5edc86:	33 f6                	xor    %esi,%esi
5edc88:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5edc8b:	8b 45 08             	mov    0x8(%ebp),%eax
5edc8e:	ff 30                	push   (%eax)
5edc90:	e8 24 10 00 00       	call   0x5eecb9
5edc95:	59                   	pop    %ecx
5edc96:	89 75 fc             	mov    %esi,-0x4(%ebp)
5edc99:	8b 45 0c             	mov    0xc(%ebp),%eax
5edc9c:	8b 00                	mov    (%eax),%eax
5edc9e:	8b 38                	mov    (%eax),%edi
5edca0:	8b d7                	mov    %edi,%edx
5edca2:	c1 fa 06             	sar    $0x6,%edx
5edca5:	8b c7                	mov    %edi,%eax
5edca7:	83 e0 3f             	and    $0x3f,%eax
5edcaa:	6b c8 38             	imul   $0x38,%eax,%ecx
5edcad:	8b 04 95 a8 70 71 00 	mov    0x7170a8(,%edx,4),%eax
5edcb4:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
5edcb9:	74 21                	je     0x5edcdc
5edcbb:	57                   	push   %edi
5edcbc:	e8 74 12 00 00       	call   0x5eef35
5edcc1:	59                   	pop    %ecx
5edcc2:	50                   	push   %eax
5edcc3:	ff 15 84 22 60 00    	call   *0x602284
5edcc9:	85 c0                	test   %eax,%eax
5edccb:	75 1d                	jne    0x5edcea
5edccd:	ff 15 58 21 60 00    	call   *0x602158
5edcd3:	8b f0                	mov    %eax,%esi
5edcd5:	e8 9b cf fe ff       	call   0x5dac75
5edcda:	89 30                	mov    %esi,(%eax)
5edcdc:	e8 a7 cf fe ff       	call   0x5dac88
5edce1:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5edce7:	83 ce ff             	or     $0xffffffff,%esi
5edcea:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5edced:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5edcf4:	e8 17 00 00 00       	call   0x5edd10
5edcf9:	8b c6                	mov    %esi,%eax
5edcfb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5edcfe:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5edd05:	59                   	pop    %ecx
5edd06:	5f                   	pop    %edi
5edd07:	5e                   	pop    %esi
5edd08:	5b                   	pop    %ebx
5edd09:	c9                   	leave
5edd0a:	c2 0c 00             	ret    $0xc
5edd0d:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5edd10:	8b 4d 10             	mov    0x10(%ebp),%ecx
5edd13:	ff 31                	push   (%ecx)
5edd15:	e8 54 10 00 00       	call   0x5eed6e
5edd1a:	59                   	pop    %ecx
5edd1b:	c3                   	ret
5edd1c:	8b ff                	mov    %edi,%edi
5edd1e:	55                   	push   %ebp
5edd1f:	8b ec                	mov    %esp,%ebp
5edd21:	83 ec 10             	sub    $0x10,%esp
5edd24:	56                   	push   %esi
5edd25:	8b 75 08             	mov    0x8(%ebp),%esi
5edd28:	83 fe fe             	cmp    $0xfffffffe,%esi
5edd2b:	75 0d                	jne    0x5edd3a
5edd2d:	e8 56 cf fe ff       	call   0x5dac88
5edd32:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5edd38:	eb 59                	jmp    0x5edd93
5edd3a:	85 f6                	test   %esi,%esi
5edd3c:	78 45                	js     0x5edd83
5edd3e:	3b 35 a8 72 71 00    	cmp    0x7172a8,%esi
5edd44:	73 3d                	jae    0x5edd83
5edd46:	8b c6                	mov    %esi,%eax
5edd48:	8b d6                	mov    %esi,%edx
5edd4a:	83 e0 3f             	and    $0x3f,%eax
5edd4d:	c1 fa 06             	sar    $0x6,%edx
5edd50:	6b c8 38             	imul   $0x38,%eax,%ecx
5edd53:	8b 04 95 a8 70 71 00 	mov    0x7170a8(,%edx,4),%eax
5edd5a:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
5edd5f:	74 22                	je     0x5edd83
5edd61:	8d 45 08             	lea    0x8(%ebp),%eax
5edd64:	89 75 f8             	mov    %esi,-0x8(%ebp)
5edd67:	89 45 f4             	mov    %eax,-0xc(%ebp)
5edd6a:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5edd6d:	8d 45 f8             	lea    -0x8(%ebp),%eax
5edd70:	89 75 f0             	mov    %esi,-0x10(%ebp)
5edd73:	50                   	push   %eax
5edd74:	8d 45 f4             	lea    -0xc(%ebp),%eax
5edd77:	50                   	push   %eax
5edd78:	8d 45 f0             	lea    -0x10(%ebp),%eax
5edd7b:	50                   	push   %eax
5edd7c:	e8 f9 fe ff ff       	call   0x5edc7a
5edd81:	eb 13                	jmp    0x5edd96
5edd83:	e8 00 cf fe ff       	call   0x5dac88
5edd88:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5edd8e:	e8 4d 84 fe ff       	call   0x5d61e0
5edd93:	83 c8 ff             	or     $0xffffffff,%eax
5edd96:	5e                   	pop    %esi
5edd97:	c9                   	leave
5edd98:	c3                   	ret
5edd99:	b8 88 4e 67 00       	mov    $0x674e88,%eax
5edd9e:	c3                   	ret
5edd9f:	b8 54 52 67 00       	mov    $0x675254,%eax
5edda4:	c3                   	ret
5edda5:	8b ff                	mov    %edi,%edi
5edda7:	55                   	push   %ebp
5edda8:	8b ec                	mov    %esp,%ebp
5eddaa:	51                   	push   %ecx
5eddab:	8b 4d 08             	mov    0x8(%ebp),%ecx
5eddae:	53                   	push   %ebx
5eddaf:	8b 5d 10             	mov    0x10(%ebp),%ebx
5eddb2:	56                   	push   %esi
5eddb3:	8b 75 14             	mov    0x14(%ebp),%esi
5eddb6:	57                   	push   %edi
5eddb7:	85 f6                	test   %esi,%esi
5eddb9:	75 1f                	jne    0x5eddda
5eddbb:	85 c9                	test   %ecx,%ecx
5eddbd:	75 1f                	jne    0x5eddde
5eddbf:	39 75 0c             	cmp    %esi,0xc(%ebp)
5eddc2:	74 28                	je     0x5eddec
5eddc4:	e8 bf ce fe ff       	call   0x5dac88
5eddc9:	6a 16                	push   $0x16
5eddcb:	5e                   	pop    %esi
5eddcc:	89 30                	mov    %esi,(%eax)
5eddce:	e8 0d 84 fe ff       	call   0x5d61e0
5eddd3:	8b c6                	mov    %esi,%eax
5eddd5:	5f                   	pop    %edi
5eddd6:	5e                   	pop    %esi
5eddd7:	5b                   	pop    %ebx
5eddd8:	c9                   	leave
5eddd9:	c3                   	ret
5eddda:	85 c9                	test   %ecx,%ecx
5edddc:	74 e6                	je     0x5eddc4
5eddde:	8b 45 0c             	mov    0xc(%ebp),%eax
5edde1:	85 c0                	test   %eax,%eax
5edde3:	74 df                	je     0x5eddc4
5edde5:	85 f6                	test   %esi,%esi
5edde7:	75 07                	jne    0x5eddf0
5edde9:	c6 01 00             	movb   $0x0,(%ecx)
5eddec:	33 c0                	xor    %eax,%eax
5eddee:	eb e5                	jmp    0x5eddd5
5eddf0:	85 db                	test   %ebx,%ebx
5eddf2:	75 04                	jne    0x5eddf8
5eddf4:	88 19                	mov    %bl,(%ecx)
5eddf6:	eb cc                	jmp    0x5eddc4
5eddf8:	2b d9                	sub    %ecx,%ebx
5eddfa:	89 75 fc             	mov    %esi,-0x4(%ebp)
5eddfd:	8b d1                	mov    %ecx,%edx
5eddff:	8b f8                	mov    %eax,%edi
5ede01:	83 fe ff             	cmp    $0xffffffff,%esi
5ede04:	75 11                	jne    0x5ede17
5ede06:	8a 04 13             	mov    (%ebx,%edx,1),%al
5ede09:	88 02                	mov    %al,(%edx)
5ede0b:	42                   	inc    %edx
5ede0c:	84 c0                	test   %al,%al
5ede0e:	74 dc                	je     0x5eddec
5ede10:	83 ef 01             	sub    $0x1,%edi
5ede13:	75 f1                	jne    0x5ede06
5ede15:	eb 20                	jmp    0x5ede37
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