410e9c:	8a 2a                	mov    (%edx),%ch
410e9e:	80 e5 df             	and    $0xdf,%ch
410ea1:	8a 58 1a             	mov    0x1a(%eax),%bl
410ea4:	eb e2                	jmp    0x410e88
410ea6:	b7 00                	mov    $0x0,%bh
410ea8:	8a 6c 13 ff          	mov    -0x1(%ebx,%edx,1),%ch
410eac:	32 6c 18 1a          	xor    0x1a(%eax,%ebx,1),%ch
410eb0:	f6 c5 df             	test   $0xdf,%ch
410eb3:	75 e7                	jne    0x410e9c
410eb5:	4b                   	dec    %ebx
410eb6:	75 f0                	jne    0x410ea8
410eb8:	5f                   	pop    %edi
410eb9:	5e                   	pop    %esi
410eba:	5b                   	pop    %ebx
410ebb:	c3                   	ret
410ebc:	53                   	push   %ebx
410ebd:	57                   	push   %edi
410ebe:	8b 3a                	mov    (%edx),%edi
410ec0:	8b 3f                	mov    (%edi),%edi
410ec2:	b3 04                	mov    $0x4,%bl
410ec4:	80 3f 07             	cmpb   $0x7,(%edi)
410ec7:	74 09                	je     0x410ed2
410ec9:	31 c9                	xor    %ecx,%ecx
410ecb:	8a 4f 01             	mov    0x1(%edi),%cl
410ece:	8a 5c 0f 02          	mov    0x2(%edi,%ecx,1),%bl
410ed2:	8b 4a 04             	mov    0x4(%edx),%ecx
410ed5:	80 7a 07 fe          	cmpb   $0xfe,0x7(%edx)
410ed9:	8b 52 10             	mov    0x10(%edx),%edx
410edc:	72 0b                	jb     0x410ee9
410ede:	77 0d                	ja     0x410eed
410ee0:	0f bf c9             	movswl %cx,%ecx
410ee3:	03 08                	add    (%eax),%ecx
410ee5:	ff 11                	call   *(%ecx)
410ee7:	eb 1d                	jmp    0x410f06
410ee9:	ff d1                	call   *%ecx
410eeb:	eb 19                	jmp    0x410f06
410eed:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
410ef3:	01 c1                	add    %eax,%ecx
410ef5:	8a 01                	mov    (%ecx),%al
410ef7:	80 fb 02             	cmp    $0x2,%bl
410efa:	72 0a                	jb     0x410f06
410efc:	66 8b 01             	mov    (%ecx),%ax
410eff:	80 fb 04             	cmp    $0x4,%bl
410f02:	72 02                	jb     0x410f06
410f04:	8b 01                	mov    (%ecx),%eax
410f06:	80 fb 04             	cmp    $0x4,%bl
410f09:	73 1f                	jae    0x410f2a
410f0b:	80 fb 02             	cmp    $0x2,%bl
410f0e:	73 10                	jae    0x410f20
410f10:	80 fb 00             	cmp    $0x0,%bl
410f13:	0f be c0             	movsbl %al,%eax
410f16:	74 12                	je     0x410f2a
410f18:	25 ff 00 00 00       	and    $0xff,%eax
410f1d:	5f                   	pop    %edi
410f1e:	5b                   	pop    %ebx
410f1f:	c3                   	ret
410f20:	0f bf c0             	movswl %ax,%eax
410f23:	74 05                	je     0x410f2a
410f25:	25 ff ff 00 00       	and    $0xffff,%eax
410f2a:	5f                   	pop    %edi
410f2b:	5b                   	pop    %ebx
410f2c:	c3                   	ret
410f2d:	8d 40 00             	lea    0x0(%eax),%eax
410f30:	53                   	push   %ebx
410f31:	56                   	push   %esi
410f32:	57                   	push   %edi
410f33:	89 d7                	mov    %edx,%edi
410f35:	8b 37                	mov    (%edi),%esi
410f37:	8b 36                	mov    (%esi),%esi
410f39:	b3 04                	mov    $0x4,%bl
410f3b:	80 3e 07             	cmpb   $0x7,(%esi)
410f3e:	74 09                	je     0x410f49
410f40:	31 db                	xor    %ebx,%ebx
410f42:	8a 5e 01             	mov    0x1(%esi),%bl
410f45:	8a 5c 1e 02          	mov    0x2(%esi,%ebx,1),%bl
410f49:	8b 57 10             	mov    0x10(%edi),%edx
410f4c:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
410f52:	75 02                	jne    0x410f56
410f54:	89 ca                	mov    %ecx,%edx
410f56:	8b 77 08             	mov    0x8(%edi),%esi
410f59:	80 7f 0b fe          	cmpb   $0xfe,0xb(%edi)
410f5d:	77 0f                	ja     0x410f6e
410f5f:	72 09                	jb     0x410f6a
410f61:	0f bf f6             	movswl %si,%esi
410f64:	03 30                	add    (%eax),%esi
410f66:	ff 16                	call   *(%esi)
410f68:	eb 1d                	jmp    0x410f87
410f6a:	ff d6                	call   *%esi
410f6c:	eb 19                	jmp    0x410f87
410f6e:	81 e6 ff ff ff 00    	and    $0xffffff,%esi
410f74:	01 f0                	add    %esi,%eax
410f76:	88 08                	mov    %cl,(%eax)
410f78:	80 fb 02             	cmp    $0x2,%bl
410f7b:	72 0a                	jb     0x410f87
410f7d:	66 89 08             	mov    %cx,(%eax)
410f80:	80 fb 04             	cmp    $0x4,%bl
410f83:	72 02                	jb     0x410f87
410f85:	89 08                	mov    %ecx,(%eax)
410f87:	5f                   	pop    %edi
410f88:	5e                   	pop    %esi
410f89:	5b                   	pop    %ebx
410f8a:	c3                   	ret
410f8b:	90                   	nop
410f8c:	56                   	push   %esi
410f8d:	57                   	push   %edi
410f8e:	89 d6                	mov    %edx,%esi
410f90:	8b 56 10             	mov    0x10(%esi),%edx
410f93:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
410f99:	75 02                	jne    0x410f9d
410f9b:	89 ca                	mov    %ecx,%edx
410f9d:	8b 7e 08             	mov    0x8(%esi),%edi
410fa0:	80 7e 0b fe          	cmpb   $0xfe,0xb(%esi)
410fa4:	77 11                	ja     0x410fb7
410fa6:	72 0a                	jb     0x410fb2
410fa8:	0f bf ff             	movswl %di,%edi
410fab:	03 38                	add    (%eax),%edi
410fad:	ff 17                	call   *(%edi)
410faf:	5f                   	pop    %edi
410fb0:	5e                   	pop    %esi
410fb1:	c3                   	ret
410fb2:	ff d7                	call   *%edi
410fb4:	5f                   	pop    %edi
410fb5:	5e                   	pop    %esi
410fb6:	c3                   	ret
410fb7:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
410fbd:	01 c7                	add    %eax,%edi
410fbf:	8b 06                	mov    (%esi),%eax
410fc1:	8b 00                	mov    (%eax),%eax
410fc3:	89 ce                	mov    %ecx,%esi
410fc5:	31 c9                	xor    %ecx,%ecx
410fc7:	8a 48 01             	mov    0x1(%eax),%cl
410fca:	8a 4c 08 02          	mov    0x2(%eax,%ecx,1),%cl
410fce:	ac                   	lods   %ds:(%esi),%al
410fcf:	38 c8                	cmp    %cl,%al
410fd1:	72 02                	jb     0x410fd5
410fd3:	88 c8                	mov    %cl,%al
410fd5:	aa                   	stos   %al,%es:(%edi)
410fd6:	88 c1                	mov    %al,%cl
410fd8:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
410fda:	5f                   	pop    %edi
410fdb:	5e                   	pop    %esi
410fdc:	c3                   	ret
410fdd:	8d 40 00             	lea    0x0(%eax),%eax
410fe0:	53                   	push   %ebx
410fe1:	56                   	push   %esi
410fe2:	57                   	push   %edi
410fe3:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
410fe9:	8b f9                	mov    %ecx,%edi
410feb:	8b f2                	mov    %edx,%esi
410fed:	8b d8                	mov    %eax,%ebx
410fef:	8b c4                	mov    %esp,%eax
410ff1:	8b d7                	mov    %edi,%edx
410ff3:	b9 ff 00 00 00       	mov    $0xff,%ecx
410ff8:	e8 0f 38 ff ff       	call   0x40480c
410ffd:	8b cc                	mov    %esp,%ecx
410fff:	8b d6                	mov    %esi,%edx
411001:	8b c3                	mov    %ebx,%eax
411003:	e8 84 ff ff ff       	call   0x410f8c
411008:	81 c4 00 01 00 00    	add    $0x100,%esp
41100e:	5f                   	pop    %edi
41100f:	5e                   	pop    %esi
411010:	5b                   	pop    %ebx
411011:	c3                   	ret
411012:	8b c0                	mov    %eax,%eax
411014:	53                   	push   %ebx
411015:	56                   	push   %esi
411016:	8b f2                	mov    %edx,%esi
411018:	8b d8                	mov    %eax,%ebx
41101a:	8b c3                	mov    %ebx,%eax
41101c:	8b d6                	mov    %esi,%edx
41101e:	e8 a1 35 ff ff       	call   0x4045c4
411023:	5e                   	pop    %esi
411024:	5b                   	pop    %ebx
411025:	c3                   	ret
411026:	8b c0                	mov    %eax,%eax
411028:	56                   	push   %esi
411029:	57                   	push   %edi
41102a:	89 d6                	mov    %edx,%esi
41102c:	8b 56 10             	mov    0x10(%esi),%edx
41102f:	81 fa 00 00 00 80    	cmp    $0x80000000,%edx
411035:	75 02                	jne    0x411039
411037:	89 ca                	mov    %ecx,%edx
411039:	8b 7e 08             	mov    0x8(%esi),%edi
41103c:	80 7e 0b fe          	cmpb   $0xfe,0xb(%esi)
411040:	77 11                	ja     0x411053
411042:	72 0a                	jb     0x41104e
411044:	0f bf ff             	movswl %di,%edi
411047:	03 38                	add    (%eax),%edi
411049:	ff 17                	call   *(%edi)
41104b:	5f                   	pop    %edi
41104c:	5e                   	pop    %esi
41104d:	c3                   	ret
41104e:	ff d7                	call   *%edi
411050:	5f                   	pop    %edi
411051:	5e                   	pop    %esi
411052:	c3                   	ret
411053:	81 e7 ff ff ff 00    	and    $0xffffff,%edi
411059:	01 f8                	add    %edi,%eax
41105b:	89 ca                	mov    %ecx,%edx
41105d:	e8 b2 ff ff ff       	call   0x411014
411062:	5f                   	pop    %edi
411063:	5e                   	pop    %esi
411064:	c3                   	ret
411065:	8d 40 00             	lea    0x0(%eax),%eax
411068:	55                   	push   %ebp
411069:	8b ec                	mov    %esp,%ebp
41106b:	6a 00                	push   $0x0
41106d:	53                   	push   %ebx
41106e:	56                   	push   %esi
41106f:	57                   	push   %edi
411070:	8b f9                	mov    %ecx,%edi
411072:	8b f2                	mov    %edx,%esi
411074:	8b d8                	mov    %eax,%ebx
411076:	33 c0                	xor    %eax,%eax
411078:	55                   	push   %ebp
411079:	68 b0 10 41 00       	push   $0x4110b0
41107e:	64 ff 30             	push   %fs:(%eax)
411081:	64 89 20             	mov    %esp,%fs:(%eax)
411084:	8d 45 fc             	lea    -0x4(%ebp),%eax
411087:	8b d7                	mov    %edi,%edx
411089:	e8 0e 3d ff ff       	call   0x404d9c
41108e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411091:	8b d6                	mov    %esi,%edx
411093:	8b c3                	mov    %ebx,%eax
411095:	e8 52 00 00 00       	call   0x4110ec
41109a:	33 c0                	xor    %eax,%eax
41109c:	5a                   	pop    %edx
41109d:	59                   	pop    %ecx
41109e:	59                   	pop    %ecx
41109f:	64 89 10             	mov    %edx,%fs:(%eax)
4110a2:	68 b7 10 41 00       	push   $0x4110b7
4110a7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4110aa:	e8 a1 3b ff ff       	call   0x404c50
4110af:	c3                   	ret
4110b0:	e9 97 2e ff ff       	jmp    0x403f4c
4110b5:	eb f0                	jmp    0x4110a7
4110b7:	5f                   	pop    %edi
4110b8:	5e                   	pop    %esi
4110b9:	5b                   	pop    %ebx
4110ba:	59                   	pop    %ecx
4110bb:	5d                   	pop    %ebp
4110bc:	c3                   	ret
4110bd:	8d 40 00             	lea    0x0(%eax),%eax
4110c0:	53                   	push   %ebx
4110c1:	8b 1a                	mov    (%edx),%ebx
4110c3:	8b 1b                	mov    (%ebx),%ebx
4110c5:	8a 1b                	mov    (%ebx),%bl
4110c7:	80 eb 05             	sub    $0x5,%bl
4110ca:	74 0b                	je     0x4110d7
4110cc:	80 eb 05             	sub    $0x5,%bl
4110cf:	74 0d                	je     0x4110de
4110d1:	fe cb                	dec    %bl
4110d3:	74 10                	je     0x4110e5
4110d5:	eb 13                	jmp    0x4110ea
4110d7:	e8 04 ff ff ff       	call   0x410fe0
4110dc:	5b                   	pop    %ebx
4110dd:	c3                   	ret
4110de:	e8 45 ff ff ff       	call   0x411028
4110e3:	5b                   	pop    %ebx
4110e4:	c3                   	ret
4110e5:	e8 7e ff ff ff       	call   0x411068
4110ea:	5b                   	pop    %ebx
4110eb:	c3                   	ret
4110ec:	55                   	push   %ebp
4110ed:	8b ec                	mov    %esp,%ebp
4110ef:	83 c4 f0             	add    $0xfffffff0,%esp
4110f2:	53                   	push   %ebx
4110f3:	56                   	push   %esi
4110f4:	57                   	push   %edi
4110f5:	33 db                	xor    %ebx,%ebx
4110f7:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4110fa:	8b f9                	mov    %ecx,%edi
4110fc:	8b da                	mov    %edx,%ebx
4110fe:	8b f0                	mov    %eax,%esi
411100:	33 c0                	xor    %eax,%eax
411102:	55                   	push   %ebp
411103:	68 b3 11 41 00       	push   $0x4111b3
411108:	64 ff 30             	push   %fs:(%eax)
41110b:	64 89 20             	mov    %esp,%fs:(%eax)
41110e:	8b 03                	mov    (%ebx),%eax
411110:	8b 00                	mov    (%eax),%eax
411112:	8a 00                	mov    (%eax),%al
411114:	2c 05                	sub    $0x5,%al
411116:	74 0a                	je     0x411122
411118:	2c 05                	sub    $0x5,%al
41111a:	74 06                	je     0x411122
41111c:	fe c8                	dec    %al
41111e:	74 1a                	je     0x41113a
411120:	eb 7b                	jmp    0x41119d
411122:	8d 45 f0             	lea    -0x10(%ebp),%eax
411125:	8b d7                	mov    %edi,%edx
411127:	e8 cc 36 ff ff       	call   0x4047f8
41112c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41112f:	8b d3                	mov    %ebx,%edx
411131:	8b c6                	mov    %esi,%eax
411133:	e8 88 ff ff ff       	call   0x4110c0
411138:	eb 63                	jmp    0x41119d
41113a:	8b 43 08             	mov    0x8(%ebx),%eax
41113d:	8b d0                	mov    %eax,%edx
41113f:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
411145:	81 fa 00 00 00 ff    	cmp    $0xff000000,%edx
41114b:	75 16                	jne    0x411163
41114d:	25 ff ff ff 00       	and    $0xffffff,%eax
411152:	03 c6                	add    %esi,%eax
411154:	89 45 fc             	mov    %eax,-0x4(%ebp)
411157:	8b 45 fc             	mov    -0x4(%ebp),%eax
41115a:	8b d7                	mov    %edi,%edx
41115c:	e8 2b 3b ff ff       	call   0x404c8c
411161:	eb 3a                	jmp    0x41119d
411163:	81 fa 00 00 00 fe    	cmp    $0xfe000000,%edx
411169:	75 0e                	jne    0x411179
41116b:	8b 16                	mov    (%esi),%edx
41116d:	0f bf c0             	movswl %ax,%eax
411170:	03 d0                	add    %eax,%edx
411172:	8b 02                	mov    (%edx),%eax
411174:	89 45 f4             	mov    %eax,-0xc(%ebp)
411177:	eb 03                	jmp    0x41117c
411179:	89 45 f4             	mov    %eax,-0xc(%ebp)
41117c:	89 75 f8             	mov    %esi,-0x8(%ebp)
41117f:	8b 43 10             	mov    0x10(%ebx),%eax
411182:	3d 00 00 00 80       	cmp    $0x80000000,%eax
411187:	75 0a                	jne    0x411193
411189:	8b d7                	mov    %edi,%edx
41118b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41118e:	ff 55 f4             	call   *-0xc(%ebp)
411191:	eb 0a                	jmp    0x41119d
411193:	8b cf                	mov    %edi,%ecx
411195:	8b d0                	mov    %eax,%edx
411197:	8b 45 f8             	mov    -0x8(%ebp),%eax
41119a:	ff 55 f4             	call   *-0xc(%ebp)
41119d:	33 c0                	xor    %eax,%eax
41119f:	5a                   	pop    %edx
4111a0:	59                   	pop    %ecx
4111a1:	59                   	pop    %ecx
4111a2:	64 89 10             	mov    %edx,%fs:(%eax)
4111a5:	68 ba 11 41 00       	push   $0x4111ba
4111aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
4111ad:	e8 be 33 ff ff       	call   0x404570
4111b2:	c3                   	ret
4111b3:	e9 94 2d ff ff       	jmp    0x403f4c
4111b8:	eb f0                	jmp    0x4111aa
4111ba:	5f                   	pop    %edi
4111bb:	5e                   	pop    %esi
4111bc:	5b                   	pop    %ebx
4111bd:	8b e5                	mov    %ebp,%esp
4111bf:	5d                   	pop    %ebp
4111c0:	c3                   	ret
4111c1:	8d 40 00             	lea    0x0(%eax),%eax
4111c4:	55                   	push   %ebp
4111c5:	8b ec                	mov    %esp,%ebp