41786d:	66 3b c1             	cmp    %cx,%ax
417870:	0f 82 05 ff ff ff    	jb     0x41777b
417876:	83 c2 50             	add    $0x50,%edx
417879:	66 3b c2             	cmp    %dx,%ax
41787c:	72 53                	jb     0x4178d1
41787e:	83 c1 50             	add    $0x50,%ecx
417881:	66 3b c1             	cmp    %cx,%ax
417884:	0f 82 f1 fe ff ff    	jb     0x41777b
41788a:	ba 40 10 00 00       	mov    $0x1040,%edx
41788f:	66 3b c2             	cmp    %dx,%ax
417892:	72 3d                	jb     0x4178d1
417894:	8d 4a 0a             	lea    0xa(%edx),%ecx
417897:	66 3b c1             	cmp    %cx,%ax
41789a:	0f 82 db fe ff ff    	jb     0x41777b
4178a0:	ba e0 17 00 00       	mov    $0x17e0,%edx
4178a5:	66 3b c2             	cmp    %dx,%ax
4178a8:	72 27                	jb     0x4178d1
4178aa:	8d 4a 0a             	lea    0xa(%edx),%ecx
4178ad:	66 3b c1             	cmp    %cx,%ax
4178b0:	0f 82 c5 fe ff ff    	jb     0x41777b
4178b6:	83 c2 30             	add    $0x30,%edx
4178b9:	66 3b c2             	cmp    %dx,%ax
4178bc:	72 13                	jb     0x4178d1
4178be:	83 c1 30             	add    $0x30,%ecx
4178c1:	eb 05                	jmp    0x4178c8
4178c3:	b9 1a ff 00 00       	mov    $0xff1a,%ecx
4178c8:	66 3b c1             	cmp    %cx,%ax
4178cb:	0f 82 aa fe ff ff    	jb     0x41777b
4178d1:	83 c8 ff             	or     $0xffffffff,%eax
4178d4:	5d                   	pop    %ebp
4178d5:	c3                   	ret
4178d6:	cc                   	int3
4178d7:	cc                   	int3
4178d8:	cc                   	int3
4178d9:	cc                   	int3
4178da:	cc                   	int3
4178db:	cc                   	int3
4178dc:	cc                   	int3
4178dd:	cc                   	int3
4178de:	cc                   	int3
4178df:	cc                   	int3
4178e0:	83 3d d0 20 42 00 01 	cmpl   $0x1,0x4220d0
4178e7:	72 5f                	jb     0x417948
4178e9:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
4178ee:	8b d0                	mov    %eax,%edx
4178f0:	c1 e0 08             	shl    $0x8,%eax
4178f3:	0b d0                	or     %eax,%edx
4178f5:	66 0f 6e da          	movd   %edx,%xmm3
4178f9:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
4178fe:	0f 16 db             	movlhps %xmm3,%xmm3
417901:	8b 54 24 04          	mov    0x4(%esp),%edx
417905:	b9 0f 00 00 00       	mov    $0xf,%ecx
41790a:	83 c8 ff             	or     $0xffffffff,%eax
41790d:	23 ca                	and    %edx,%ecx
41790f:	d3 e0                	shl    %cl,%eax
417911:	2b d1                	sub    %ecx,%edx
417913:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
417917:	66 0f ef d2          	pxor   %xmm2,%xmm2
41791b:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
41791f:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
417923:	66 0f eb d1          	por    %xmm1,%xmm2
417927:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
41792b:	23 c8                	and    %eax,%ecx
41792d:	75 08                	jne    0x417937
41792f:	83 c8 ff             	or     $0xffffffff,%eax
417932:	83 c2 10             	add    $0x10,%edx
417935:	eb dc                	jmp    0x417913
417937:	0f bc c1             	bsf    %ecx,%eax
41793a:	03 c2                	add    %edx,%eax
41793c:	66 0f 7e da          	movd   %xmm3,%edx
417940:	33 c9                	xor    %ecx,%ecx
417942:	3a 10                	cmp    (%eax),%dl
417944:	0f 45 c1             	cmovne %ecx,%eax
417947:	c3                   	ret
417948:	33 c0                	xor    %eax,%eax
41794a:	8a 44 24 08          	mov    0x8(%esp),%al
41794e:	53                   	push   %ebx
41794f:	8b d8                	mov    %eax,%ebx
417951:	c1 e0 08             	shl    $0x8,%eax
417954:	8b 54 24 08          	mov    0x8(%esp),%edx
417958:	f7 c2 03 00 00 00    	test   $0x3,%edx
41795e:	74 15                	je     0x417975
417960:	8a 0a                	mov    (%edx),%cl
417962:	83 c2 01             	add    $0x1,%edx
417965:	3a cb                	cmp    %bl,%cl
417967:	74 59                	je     0x4179c2
417969:	84 c9                	test   %cl,%cl
41796b:	74 51                	je     0x4179be
41796d:	f7 c2 03 00 00 00    	test   $0x3,%edx
417973:	75 eb                	jne    0x417960
417975:	0b d8                	or     %eax,%ebx
417977:	57                   	push   %edi
417978:	8b c3                	mov    %ebx,%eax
41797a:	c1 e3 10             	shl    $0x10,%ebx
41797d:	56                   	push   %esi
41797e:	0b d8                	or     %eax,%ebx
417980:	8b 0a                	mov    (%edx),%ecx
417982:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
417987:	8b c1                	mov    %ecx,%eax
417989:	8b f7                	mov    %edi,%esi
41798b:	33 cb                	xor    %ebx,%ecx
41798d:	03 f0                	add    %eax,%esi
41798f:	03 f9                	add    %ecx,%edi
417991:	83 f1 ff             	xor    $0xffffffff,%ecx
417994:	83 f0 ff             	xor    $0xffffffff,%eax
417997:	33 cf                	xor    %edi,%ecx
417999:	33 c6                	xor    %esi,%eax
41799b:	83 c2 04             	add    $0x4,%edx
41799e:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
4179a4:	75 21                	jne    0x4179c7
4179a6:	25 00 01 01 81       	and    $0x81010100,%eax
4179ab:	74 d3                	je     0x417980
4179ad:	25 00 01 01 01       	and    $0x1010100,%eax
4179b2:	75 08                	jne    0x4179bc
4179b4:	81 e6 00 00 00 80    	and    $0x80000000,%esi
4179ba:	75 c4                	jne    0x417980
4179bc:	5e                   	pop    %esi
4179bd:	5f                   	pop    %edi
4179be:	5b                   	pop    %ebx
4179bf:	33 c0                	xor    %eax,%eax
4179c1:	c3                   	ret
4179c2:	8d 42 ff             	lea    -0x1(%edx),%eax
4179c5:	5b                   	pop    %ebx
4179c6:	c3                   	ret
4179c7:	8b 42 fc             	mov    -0x4(%edx),%eax
4179ca:	3a c3                	cmp    %bl,%al
4179cc:	74 36                	je     0x417a04
4179ce:	84 c0                	test   %al,%al
4179d0:	74 ea                	je     0x4179bc
4179d2:	3a e3                	cmp    %bl,%ah
4179d4:	74 27                	je     0x4179fd
4179d6:	84 e4                	test   %ah,%ah
4179d8:	74 e2                	je     0x4179bc
4179da:	c1 e8 10             	shr    $0x10,%eax
4179dd:	3a c3                	cmp    %bl,%al
4179df:	74 15                	je     0x4179f6
4179e1:	84 c0                	test   %al,%al
4179e3:	74 d7                	je     0x4179bc
4179e5:	3a e3                	cmp    %bl,%ah
4179e7:	74 06                	je     0x4179ef
4179e9:	84 e4                	test   %ah,%ah
4179eb:	74 cf                	je     0x4179bc
4179ed:	eb 91                	jmp    0x417980
4179ef:	5e                   	pop    %esi
4179f0:	5f                   	pop    %edi
4179f1:	8d 42 ff             	lea    -0x1(%edx),%eax
4179f4:	5b                   	pop    %ebx
4179f5:	c3                   	ret
4179f6:	8d 42 fe             	lea    -0x2(%edx),%eax
4179f9:	5e                   	pop    %esi
4179fa:	5f                   	pop    %edi
4179fb:	5b                   	pop    %ebx
4179fc:	c3                   	ret
4179fd:	8d 42 fd             	lea    -0x3(%edx),%eax
417a00:	5e                   	pop    %esi
417a01:	5f                   	pop    %edi
417a02:	5b                   	pop    %ebx
417a03:	c3                   	ret
417a04:	8d 42 fc             	lea    -0x4(%edx),%eax
417a07:	5e                   	pop    %esi
417a08:	5f                   	pop    %edi
417a09:	5b                   	pop    %ebx
417a0a:	c3                   	ret
417a0b:	cc                   	int3
417a0c:	cc                   	int3
417a0d:	cc                   	int3
417a0e:	cc                   	int3
417a0f:	cc                   	int3
417a10:	55                   	push   %ebp
417a11:	8b ec                	mov    %esp,%ebp
417a13:	57                   	push   %edi
417a14:	56                   	push   %esi
417a15:	53                   	push   %ebx
417a16:	8b 4d 10             	mov    0x10(%ebp),%ecx
417a19:	0b c9                	or     %ecx,%ecx
417a1b:	74 4d                	je     0x417a6a
417a1d:	8b 75 08             	mov    0x8(%ebp),%esi
417a20:	8b 7d 0c             	mov    0xc(%ebp),%edi
417a23:	b7 41                	mov    $0x41,%bh
417a25:	b3 5a                	mov    $0x5a,%bl
417a27:	b6 20                	mov    $0x20,%dh
417a29:	8d 49 00             	lea    0x0(%ecx),%ecx
417a2c:	8a 26                	mov    (%esi),%ah
417a2e:	0a e4                	or     %ah,%ah
417a30:	8a 07                	mov    (%edi),%al
417a32:	74 27                	je     0x417a5b
417a34:	0a c0                	or     %al,%al
417a36:	74 23                	je     0x417a5b
417a38:	83 c6 01             	add    $0x1,%esi
417a3b:	83 c7 01             	add    $0x1,%edi
417a3e:	3a e7                	cmp    %bh,%ah
417a40:	72 06                	jb     0x417a48
417a42:	3a e3                	cmp    %bl,%ah
417a44:	77 02                	ja     0x417a48
417a46:	02 e6                	add    %dh,%ah
417a48:	3a c7                	cmp    %bh,%al
417a4a:	72 06                	jb     0x417a52
417a4c:	3a c3                	cmp    %bl,%al
417a4e:	77 02                	ja     0x417a52
417a50:	02 c6                	add    %dh,%al
417a52:	3a e0                	cmp    %al,%ah
417a54:	75 0b                	jne    0x417a61
417a56:	83 e9 01             	sub    $0x1,%ecx
417a59:	75 d1                	jne    0x417a2c
417a5b:	33 c9                	xor    %ecx,%ecx
417a5d:	3a e0                	cmp    %al,%ah
417a5f:	74 09                	je     0x417a6a
417a61:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
417a66:	72 02                	jb     0x417a6a
417a68:	f7 d9                	neg    %ecx
417a6a:	8b c1                	mov    %ecx,%eax
417a6c:	5b                   	pop    %ebx
417a6d:	5e                   	pop    %esi
417a6e:	5f                   	pop    %edi
417a6f:	c9                   	leave
417a70:	c3                   	ret
417a71:	cc                   	int3
417a72:	ff 25 88 90 41 00    	jmp    *0x419088
417a78:	ff 25 98 90 41 00    	jmp    *0x419098
417a7e:	cc                   	int3
417a7f:	cc                   	int3
417a80:	83 3d d0 20 42 00 00 	cmpl   $0x0,0x4220d0
417a87:	74 2d                	je     0x417ab6
417a89:	55                   	push   %ebp
417a8a:	8b ec                	mov    %esp,%ebp
417a8c:	83 ec 08             	sub    $0x8,%esp
417a8f:	83 e4 f8             	and    $0xfffffff8,%esp
417a92:	dd 1c 24             	fstpl  (%esp)
417a95:	f2 0f 2c 04 24       	cvttsd2si (%esp),%eax
417a9a:	c9                   	leave
417a9b:	c3                   	ret
417a9c:	83 3d d0 20 42 00 00 	cmpl   $0x0,0x4220d0
417aa3:	74 11                	je     0x417ab6
417aa5:	83 ec 04             	sub    $0x4,%esp
417aa8:	d9 3c 24             	fnstcw (%esp)
417aab:	58                   	pop    %eax
417aac:	66 83 e0 7f          	and    $0x7f,%ax
417ab0:	66 83 f8 7f          	cmp    $0x7f,%ax
417ab4:	74 d3                	je     0x417a89
417ab6:	55                   	push   %ebp
417ab7:	8b ec                	mov    %esp,%ebp
417ab9:	83 ec 20             	sub    $0x20,%esp
417abc:	83 e4 f0             	and    $0xfffffff0,%esp
417abf:	d9 c0                	fld    %st(0)
417ac1:	d9 54 24 18          	fsts   0x18(%esp)
417ac5:	df 7c 24 10          	fistpll 0x10(%esp)
417ac9:	df 6c 24 10          	fildll 0x10(%esp)
417acd:	8b 54 24 18          	mov    0x18(%esp),%edx
417ad1:	8b 44 24 10          	mov    0x10(%esp),%eax
417ad5:	85 c0                	test   %eax,%eax
417ad7:	74 3c                	je     0x417b15
417ad9:	de e9                	fsubrp %st,%st(1)
417adb:	85 d2                	test   %edx,%edx
417add:	79 1e                	jns    0x417afd
417adf:	d9 1c 24             	fstps  (%esp)
417ae2:	8b 0c 24             	mov    (%esp),%ecx
417ae5:	81 f1 00 00 00 80    	xor    $0x80000000,%ecx
417aeb:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
417af1:	83 d0 00             	adc    $0x0,%eax
417af4:	8b 54 24 14          	mov    0x14(%esp),%edx
417af8:	83 d2 00             	adc    $0x0,%edx
417afb:	eb 2c                	jmp    0x417b29
417afd:	d9 1c 24             	fstps  (%esp)
417b00:	8b 0c 24             	mov    (%esp),%ecx
417b03:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
417b09:	83 d8 00             	sbb    $0x0,%eax
417b0c:	8b 54 24 14          	mov    0x14(%esp),%edx
417b10:	83 da 00             	sbb    $0x0,%edx
417b13:	eb 14                	jmp    0x417b29
417b15:	8b 54 24 14          	mov    0x14(%esp),%edx
417b19:	f7 c2 ff ff ff 7f    	test   $0x7fffffff,%edx
417b1f:	75 b8                	jne    0x417ad9
417b21:	d9 5c 24 18          	fstps  0x18(%esp)
417b25:	d9 5c 24 18          	fstps  0x18(%esp)
417b29:	c9                   	leave
417b2a:	c3                   	ret
417b2b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
417b2e:	e9 e6 c8 fe ff       	jmp    0x404419
417b33:	8b 54 24 08          	mov    0x8(%esp),%edx
417b37:	8d 42 0c             	lea    0xc(%edx),%eax
417b3a:	8b 4a dc             	mov    -0x24(%edx),%ecx
417b3d:	33 c8                	xor    %eax,%ecx
417b3f:	e8 f5 cb fe ff       	call   0x404739
417b44:	b8 74 e1 41 00       	mov    $0x41e174,%eax
417b49:	e9 f7 e6 fe ff       	jmp    0x406245
417b4e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417b51:	e9 46 96 fe ff       	jmp    0x40119c
417b56:	8b 54 24 08          	mov    0x8(%esp),%edx
417b5a:	8d 42 0c             	lea    0xc(%edx),%eax
417b5d:	8b 4a cc             	mov    -0x34(%edx),%ecx
417b60:	33 c8                	xor    %eax,%ecx
417b62:	e8 d2 cb fe ff       	call   0x404739
417b67:	8b 4a fc             	mov    -0x4(%edx),%ecx
417b6a:	33 c8                	xor    %eax,%ecx
417b6c:	e8 c8 cb fe ff       	call   0x404739
417b71:	b8 1c e1 41 00       	mov    $0x41e11c,%eax
417b76:	e9 ca e6 fe ff       	jmp    0x406245
417b7b:	ff 75 08             	push   0x8(%ebp)
417b7e:	e8 75 d3 fe ff       	call   0x404ef8
417b83:	59                   	pop    %ecx
417b84:	c3                   	ret
417b85:	8b 54 24 08          	mov    0x8(%esp),%edx
417b89:	8d 42 0c             	lea    0xc(%edx),%eax
417b8c:	8b 4a b8             	mov    -0x48(%edx),%ecx
417b8f:	33 c8                	xor    %eax,%ecx
417b91:	e8 a3 cb fe ff       	call   0x404739
417b96:	b8 48 e1 41 00       	mov    $0x41e148,%eax
417b9b:	e9 a5 e6 fe ff       	jmp    0x406245
417ba0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417ba3:	e9 f4 95 fe ff       	jmp    0x40119c
417ba8:	8b 54 24 08          	mov    0x8(%esp),%edx
417bac:	8d 42 0c             	lea    0xc(%edx),%eax
417baf:	8b 4a c0             	mov    -0x40(%edx),%ecx
417bb2:	33 c8                	xor    %eax,%ecx
417bb4:	e8 80 cb fe ff       	call   0x404739
417bb9:	8b 4a fc             	mov    -0x4(%edx),%ecx
417bbc:	33 c8                	xor    %eax,%ecx
417bbe:	e8 76 cb fe ff       	call   0x404739
417bc3:	b8 c4 e0 41 00       	mov    $0x41e0c4,%eax
417bc8:	e9 78 e6 fe ff       	jmp    0x406245
417bcd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
417bd0:	e9 c7 95 fe ff       	jmp    0x40119c
417bd5:	8b 54 24 08          	mov    0x8(%esp),%edx
417bd9:	8d 42 0c             	lea    0xc(%edx),%eax
417bdc:	8b 4a c4             	mov    -0x3c(%edx),%ecx
417bdf:	33 c8                	xor    %eax,%ecx
417be1:	e8 53 cb fe ff       	call   0x404739
417be6:	8b 4a fc             	mov    -0x4(%edx),%ecx
417be9:	33 c8                	xor    %eax,%ecx
417beb:	e8 49 cb fe ff       	call   0x404739
417bf0:	b8 f0 e0 41 00       	mov    $0x41e0f0,%eax
417bf5:	e9 4b e6 fe ff       	jmp    0x406245
417bfa:	8d 4d f0             	lea    -0x10(%ebp),%ecx
417bfd:	e9 17 c8 fe ff       	jmp    0x404419
417c02:	8b 54 24 08          	mov    0x8(%esp),%edx
417c06:	8d 42 0c             	lea    0xc(%edx),%eax
417c09:	8b 4a ec             	mov    -0x14(%edx),%ecx
417c0c:	33 c8                	xor    %eax,%ecx
417c0e:	e8 26 cb fe ff       	call   0x404739
417c13:	b8 a0 e1 41 00       	mov    $0x41e1a0,%eax
417c18:	e9 28 e6 fe ff       	jmp    0x406245
417c1d:	8b 54 24 08          	mov    0x8(%esp),%edx
417c21:	8d 42 0c             	lea    0xc(%edx),%eax
417c24:	8b 4a ec             	mov    -0x14(%edx),%ecx
417c27:	33 c8                	xor    %eax,%ecx
417c29:	e8 0b cb fe ff       	call   0x404739
417c2e:	b8 f0 e3 41 00       	mov    $0x41e3f0,%eax
417c33:	e9 0d e6 fe ff       	jmp    0x406245
417c38:	8b 54 24 08          	mov    0x8(%esp),%edx
417c3c:	8d 42 0c             	lea    0xc(%edx),%eax