417e21:	09 d2                	or     %edx,%edx
417e23:	74 0b                	je     0x417e30
417e25:	8a 4a fc             	mov    -0x4(%edx),%cl
417e28:	8a 2a                	mov    (%edx),%ch
417e2a:	81 e1 ff df 00 00    	and    $0xdfff,%ecx
417e30:	31 db                	xor    %ebx,%ebx
417e32:	8a 58 01             	mov    0x1(%eax),%bl
417e35:	8d 74 18 02          	lea    0x2(%eax,%ebx,1),%esi
417e39:	8a 5e 0a             	mov    0xa(%esi),%bl
417e3c:	0f b7 7c 1e 0b       	movzwl 0xb(%esi,%ebx,1),%edi
417e41:	85 ff                	test   %edi,%edi
417e43:	74 18                	je     0x417e5d
417e45:	8d 44 1e 0d          	lea    0xd(%esi,%ebx,1),%eax
417e49:	66 8b 58 1a          	mov    0x1a(%eax),%bx
417e4d:	80 e7 df             	and    $0xdf,%bh
417e50:	39 cb                	cmp    %ecx,%ebx
417e52:	74 1e                	je     0x417e72
417e54:	b7 00                	mov    $0x0,%bh
417e56:	4f                   	dec    %edi
417e57:	8d 44 18 1b          	lea    0x1b(%eax,%ebx,1),%eax
417e5b:	75 ec                	jne    0x417e49
417e5d:	8b 46 04             	mov    0x4(%esi),%eax
417e60:	85 c0                	test   %eax,%eax
417e62:	74 20                	je     0x417e84
417e64:	8b 00                	mov    (%eax),%eax
417e66:	eb c8                	jmp    0x417e30
417e68:	8a 2a                	mov    (%edx),%ch
417e6a:	80 e5 df             	and    $0xdf,%ch
417e6d:	8a 58 1a             	mov    0x1a(%eax),%bl
417e70:	eb e2                	jmp    0x417e54
417e72:	b7 00                	mov    $0x0,%bh
417e74:	8a 6c 13 ff          	mov    -0x1(%ebx,%edx,1),%ch
417e78:	32 6c 18 1a          	xor    0x1a(%eax,%ebx,1),%ch
417e7c:	f6 c5 df             	test   $0xdf,%ch
417e7f:	75 e7                	jne    0x417e68
417e81:	4b                   	dec    %ebx
417e82:	75 f0                	jne    0x417e74
417e84:	5f                   	pop    %edi
417e85:	5e                   	pop    %esi
417e86:	5b                   	pop    %ebx
417e87:	c3                   	ret
417e88:	53                   	push   %ebx
417e89:	56                   	push   %esi
417e8a:	57                   	push   %edi
417e8b:	31 c9                	xor    %ecx,%ecx
417e8d:	89 c6                	mov    %eax,%esi
417e8f:	8a 48 01             	mov    0x1(%eax),%cl
417e92:	89 d7                	mov    %edx,%edi
417e94:	31 c0                	xor    %eax,%eax
417e96:	0f b7 4c 0e 0a       	movzwl 0xa(%esi,%ecx,1),%ecx
417e9b:	f3 ab                	rep stos %eax,%es:(%edi)
417e9d:	8a 4e 01             	mov    0x1(%esi),%cl
417ea0:	8d 74 0e 02          	lea    0x2(%esi,%ecx,1),%esi
417ea4:	8a 4e 0a             	mov    0xa(%esi),%cl
417ea7:	0f b7 44 0e 0b       	movzwl 0xb(%esi,%ecx,1),%eax
417eac:	85 c0                	test   %eax,%eax
417eae:	74 1b                	je     0x417ecb
417eb0:	8d 7c 0e 0d          	lea    0xd(%esi,%ecx,1),%edi
417eb4:	0f b7 5f 18          	movzwl 0x18(%edi),%ebx
417eb8:	8a 4f 1a             	mov    0x1a(%edi),%cl
417ebb:	83 3c 9a 00          	cmpl   $0x0,(%edx,%ebx,4)
417ebf:	75 03                	jne    0x417ec4
417ec1:	89 3c 9a             	mov    %edi,(%edx,%ebx,4)
417ec4:	8d 7c 0f 1b          	lea    0x1b(%edi,%ecx,1),%edi
417ec8:	48                   	dec    %eax
417ec9:	75 e9                	jne    0x417eb4
417ecb:	8b 76 04             	mov    0x4(%esi),%esi
417ece:	31 c9                	xor    %ecx,%ecx
417ed0:	85 f6                	test   %esi,%esi
417ed2:	74 04                	je     0x417ed8
417ed4:	8b 36                	mov    (%esi),%esi
417ed6:	eb c5                	jmp    0x417e9d
417ed8:	5f                   	pop    %edi
417ed9:	5e                   	pop    %esi
417eda:	5b                   	pop    %ebx
417edb:	c3                   	ret
417edc:	8b 4a 0c             	mov    0xc(%edx),%ecx
417edf:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
417ee5:	74 1f                	je     0x417f06
417ee7:	80 7a 0f fe          	cmpb   $0xfe,0xf(%edx)
417eeb:	8b 52 10             	mov    0x10(%edx),%edx
417eee:	72 0a                	jb     0x417efa
417ef0:	77 0b                	ja     0x417efd
417ef2:	0f bf c9             	movswl %cx,%ecx
417ef5:	03 08                	add    (%eax),%ecx
417ef7:	ff 11                	call   *(%ecx)
417ef9:	c3                   	ret
417efa:	ff d1                	call   *%ecx
417efc:	c3                   	ret
417efd:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
417f03:	8a 0c 01             	mov    (%ecx,%eax,1),%cl
417f06:	88 c8                	mov    %cl,%al
417f08:	c3                   	ret
417f09:	8d 40 00             	lea    0x0(%eax),%eax
417f0c:	53                   	push   %ebx
417f0d:	57                   	push   %edi
417f0e:	8b 3a                	mov    (%edx),%edi
417f10:	8b 3f                	mov    (%edi),%edi
417f12:	b3 04                	mov    $0x4,%bl
417f14:	80 3f 07             	cmpb   $0x7,(%edi)
417f17:	74 09                	je     0x417f22
417f19:	31 c9                	xor    %ecx,%ecx
417f1b:	8a 4f 01             	mov    0x1(%edi),%cl
417f1e:	8a 5c 0f 02          	mov    0x2(%edi,%ecx,1),%bl
417f22:	8b 4a 04             	mov    0x4(%edx),%ecx
417f25:	80 7a 07 fe          	cmpb   $0xfe,0x7(%edx)
417f29:	8b 52 10             	mov    0x10(%edx),%edx
417f2c:	72 0b                	jb     0x417f39
417f2e:	77 0d                	ja     0x417f3d
417f30:	0f bf c9             	movswl %cx,%ecx
417f33:	03 08                	add    (%eax),%ecx
417f35:	ff 11                	call   *(%ecx)
417f37:	eb 1d                	jmp    0x417f56
417f39:	ff d1                	call   *%ecx
417f3b:	eb 19                	jmp    0x417f56
417f3d:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
417f43:	01 c1                	add    %eax,%ecx
417f45:	8a 01                	mov    (%ecx),%al
417f47:	80 fb 02             	cmp    $0x2,%bl
417f4a:	72 0a                	jb     0x417f56
417f4c:	66 8b 01             	mov    (%ecx),%ax
417f4f:	80 fb 04             	cmp    $0x4,%bl
417f52:	72 02                	jb     0x417f56
417f54:	8b 01                	mov    (%ecx),%eax
417f56:	80 fb 04             	cmp    $0x4,%bl
417f59:	73 1f                	jae    0x417f7a
417f5b:	80 fb 02             	cmp    $0x2,%bl
417f5e:	73 10                	jae    0x417f70
417f60:	80 fb 00             	cmp    $0x0,%bl
417f63:	0f be c0             	movsbl %al,%eax
417f66:	74 12                	je     0x417f7a
417f68:	25 ff 00 00 00       	and    $0xff,%eax
417f6d:	5f                   	pop    %edi
417f6e:	5b                   	pop    %ebx
417f6f:	c3                   	ret
417f70:	0f bf c0             	movswl %ax,%eax
417f73:	74 05                	je     0x417f7a
417f75:	25 ff ff 00 00       	and    $0xffff,%eax
417f7a:	5f                   	pop    %edi
417f7b:	5b                   	pop    %ebx
417f7c:	c3                   	ret
417f7d:	8d 40 00             	lea    0x0(%eax),%eax
417f80:	53                   	push   %ebx
417f81:	56                   	push   %esi
417f82:	57                   	push   %edi
417f83:	89 d7                	mov    %edx,%edi
417f85:	8b 37                	mov    (%edi),%esi
417f87:	8b 36                	mov    (%esi),%esi
417f89:	b3 04                	mov    $0x4,%bl
417f8b:	80 3e 07             	cmpb   $0x7,(%esi)
417f8e:	74 09                	je     0x417f99
417f90:	31 db                	xor    %ebx,%ebx
417f92:	8a 5e 01             	mov    0x1(%esi),%bl
417f95:	8a 5c 1e 02          	mov    0x2(%esi,%ebx,1),%bl
417f99:	8b 57 10             	mov    0x10(%edi),%edx
417f9c:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
417fa2:	75 02                	jne    0x417fa6
417fa4:	89 ca                	mov    %ecx,%edx
417fa6:	8b 77 08             	mov    0x8(%edi),%esi
417fa9:	80 7f 0b fe          	cmpb   $0xfe,0xb(%edi)
417fad:	77 0f                	ja     0x417fbe
417faf:	72 09                	jb     0x417fba
417fb1:	0f bf f6             	movswl %si,%esi
417fb4:	03 30                	add    (%eax),%esi
417fb6:	ff 16                	call   *(%esi)
417fb8:	eb 1d                	jmp    0x417fd7
417fba:	ff d6                	call   *%esi
417fbc:	eb 19                	jmp    0x417fd7
417fbe:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
417fc4:	01 f0                	add    %esi,%eax
417fc6:	88 08                	mov    %cl,(%eax)
417fc8:	80 fb 02             	cmp    $0x2,%bl
417fcb:	72 0a                	jb     0x417fd7
417fcd:	66 89 08             	mov    %cx,(%eax)
417fd0:	80 fb 04             	cmp    $0x4,%bl
417fd3:	72 02                	jb     0x417fd7
417fd5:	89 08                	mov    %ecx,(%eax)
417fd7:	5f                   	pop    %edi
417fd8:	5e                   	pop    %esi
417fd9:	5b                   	pop    %ebx
417fda:	c3                   	ret
417fdb:	90                   	nop
417fdc:	55                   	push   %ebp
417fdd:	8b ec                	mov    %esp,%ebp
417fdf:	56                   	push   %esi
417fe0:	57                   	push   %edi
417fe1:	89 d7                	mov    %edx,%edi
417fe3:	8b 57 10             	mov    0x10(%edi),%edx
417fe6:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
417fec:	75 02                	jne    0x417ff0
417fee:	89 ca                	mov    %ecx,%edx
417ff0:	8b 77 04             	mov    0x4(%edi),%esi
417ff3:	80 7f 07 fe          	cmpb   $0xfe,0x7(%edi)
417ff7:	77 0f                	ja     0x418008
417ff9:	72 09                	jb     0x418004
417ffb:	0f bf f6             	movswl %si,%esi
417ffe:	03 30                	add    (%eax),%esi
418000:	ff 16                	call   *(%esi)
418002:	eb 15                	jmp    0x418019
418004:	ff d6                	call   *%esi
418006:	eb 11                	jmp    0x418019
418008:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
41800e:	01 c6                	add    %eax,%esi
418010:	89 cf                	mov    %ecx,%edi
418012:	31 c9                	xor    %ecx,%ecx
418014:	8a 0e                	mov    (%esi),%cl
418016:	41                   	inc    %ecx
418017:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
418019:	5f                   	pop    %edi
41801a:	5e                   	pop    %esi
41801b:	5d                   	pop    %ebp
41801c:	c2 04 00             	ret    $0x4
41801f:	90                   	nop
418020:	56                   	push   %esi
418021:	57                   	push   %edi
418022:	89 d6                	mov    %edx,%esi
418024:	8b 56 10             	mov    0x10(%esi),%edx
418027:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
41802d:	75 02                	jne    0x418031
41802f:	89 ca                	mov    %ecx,%edx
418031:	8b 7e 08             	mov    0x8(%esi),%edi
418034:	80 7e 0b fe          	cmpb   $0xfe,0xb(%esi)
418038:	77 11                	ja     0x41804b
41803a:	72 0a                	jb     0x418046
41803c:	0f bf ff             	movswl %di,%edi
41803f:	03 38                	add    (%eax),%edi
418041:	ff 17                	call   *(%edi)
418043:	5f                   	pop    %edi
418044:	5e                   	pop    %esi
418045:	c3                   	ret
418046:	ff d7                	call   *%edi
418048:	5f                   	pop    %edi
418049:	5e                   	pop    %esi
41804a:	c3                   	ret
41804b:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
418051:	01 c7                	add    %eax,%edi
418053:	8b 06                	mov    (%esi),%eax
418055:	8b 00                	mov    (%eax),%eax
418057:	89 ce                	mov    %ecx,%esi
418059:	31 c9                	xor    %ecx,%ecx
41805b:	8a 48 01             	mov    0x1(%eax),%cl
41805e:	8a 4c 08 02          	mov    0x2(%eax,%ecx,1),%cl
418062:	ac                   	lods   %ds:(%esi),%al
418063:	38 c8                	cmp    %cl,%al
418065:	72 02                	jb     0x418069
418067:	88 c8                	mov    %cl,%al
418069:	aa                   	stos   %al,%es:(%edi)
41806a:	88 c1                	mov    %al,%cl
41806c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41806e:	5f                   	pop    %edi
41806f:	5e                   	pop    %esi
418070:	c3                   	ret
418071:	8d 40 00             	lea    0x0(%eax),%eax
418074:	53                   	push   %ebx
418075:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
41807b:	8b d9                	mov    %ecx,%ebx
41807d:	68 ff 00 00 00       	push   $0xff
418082:	8d 4c 24 04          	lea    0x4(%esp),%ecx
418086:	e8 51 ff ff ff       	call   0x417fdc
41808b:	8b c3                	mov    %ebx,%eax
41808d:	8b d4                	mov    %esp,%edx
41808f:	e8 30 ca fe ff       	call   0x404ac4
418094:	81 c4 00 01 00 00    	add    $0x100,%esp
41809a:	5b                   	pop    %ebx
41809b:	c3                   	ret
41809c:	53                   	push   %ebx
41809d:	56                   	push   %esi
41809e:	57                   	push   %edi
41809f:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
4180a5:	8b f9                	mov    %ecx,%edi
4180a7:	8b f2                	mov    %edx,%esi
4180a9:	8b d8                	mov    %eax,%ebx
4180ab:	8b c4                	mov    %esp,%eax
4180ad:	8b d7                	mov    %edi,%edx
4180af:	b9 ff 00 00 00       	mov    $0xff,%ecx
4180b4:	e8 43 ca fe ff       	call   0x404afc
4180b9:	8b cc                	mov    %esp,%ecx
4180bb:	8b d6                	mov    %esi,%edx
4180bd:	8b c3                	mov    %ebx,%eax
4180bf:	e8 5c ff ff ff       	call   0x418020
4180c4:	81 c4 00 01 00 00    	add    $0x100,%esp
4180ca:	5f                   	pop    %edi
4180cb:	5e                   	pop    %esi
4180cc:	5b                   	pop    %ebx
4180cd:	c3                   	ret
4180ce:	8b c0                	mov    %eax,%eax
4180d0:	53                   	push   %ebx
4180d1:	56                   	push   %esi
4180d2:	8b f2                	mov    %edx,%esi
4180d4:	8b d8                	mov    %eax,%ebx
4180d6:	8b c3                	mov    %ebx,%eax
4180d8:	8b d6                	mov    %esi,%edx
4180da:	e8 dd c7 fe ff       	call   0x4048bc
4180df:	5e                   	pop    %esi
4180e0:	5b                   	pop    %ebx
4180e1:	c3                   	ret
4180e2:	8b c0                	mov    %eax,%eax
4180e4:	56                   	push   %esi
4180e5:	57                   	push   %edi
4180e6:	89 d7                	mov    %edx,%edi
4180e8:	8b 57 10             	mov    0x10(%edi),%edx
4180eb:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
4180f1:	75 02                	jne    0x4180f5
4180f3:	89 ca                	mov    %ecx,%edx
4180f5:	8b 77 04             	mov    0x4(%edi),%esi
4180f8:	80 7f 07 fe          	cmpb   $0xfe,0x7(%edi)
4180fc:	77 11                	ja     0x41810f
4180fe:	72 0a                	jb     0x41810a
418100:	0f bf f6             	movswl %si,%esi
418103:	03 30                	add    (%eax),%esi
418105:	ff 16                	call   *(%esi)
418107:	5f                   	pop    %edi
418108:	5e                   	pop    %esi
418109:	c3                   	ret
41810a:	ff d6                	call   *%esi
41810c:	5f                   	pop    %edi
41810d:	5e                   	pop    %esi
41810e:	c3                   	ret
41810f:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
418115:	8b 14 06             	mov    (%esi,%eax,1),%edx
418118:	89 c8                	mov    %ecx,%eax
41811a:	e8 b1 ff ff ff       	call   0x4180d0
41811f:	5f                   	pop    %edi
418120:	5e                   	pop    %esi
418121:	c3                   	ret
418122:	8b c0                	mov    %eax,%eax
418124:	56                   	push   %esi
418125:	57                   	push   %edi
418126:	89 d6                	mov    %edx,%esi
418128:	8b 56 10             	mov    0x10(%esi),%edx
41812b:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
418131:	75 02                	jne    0x418135
418133:	89 ca                	mov    %ecx,%edx
418135:	8b 7e 08             	mov    0x8(%esi),%edi
418138:	80 7e 0b fe          	cmpb   $0xfe,0xb(%esi)
41813c:	77 11                	ja     0x41814f
41813e:	72 0a                	jb     0x41814a
418140:	0f bf ff             	movswl %di,%edi
418143:	03 38                	add    (%eax),%edi
418145:	ff 17                	call   *(%edi)
418147:	5f                   	pop    %edi
418148:	5e                   	pop    %esi
418149:	c3                   	ret
41814a:	ff d7                	call   *%edi
41814c:	5f                   	pop    %edi
41814d:	5e                   	pop    %esi
41814e:	c3                   	ret
41814f:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
418155:	01 f8                	add    %edi,%eax
418157:	89 ca                	mov    %ecx,%edx