414ded:	84 c0                	test   %al,%al
414def:	75 0a                	jne    0x414dfb
414df1:	e8 ca a9 ff ff       	call   0x40f7c0
414df6:	e9 a1 03 00 00       	jmp    0x41519c
414dfb:	8d 45 f4             	lea    -0xc(%ebp),%eax
414dfe:	50                   	push   %eax
414dff:	8b d3                	mov    %ebx,%edx
414e01:	b9 0b 00 00 00       	mov    $0xb,%ecx
414e06:	8b 45 e8             	mov    -0x18(%ebp),%eax
414e09:	8b 30                	mov    (%eax),%esi
414e0b:	ff 56 04             	call   *0x4(%esi)
414e0e:	84 c0                	test   %al,%al
414e10:	0f 84 ae 00 00 00    	je     0x414ec4
414e16:	66 8b 03             	mov    (%ebx),%ax
414e19:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
414e1d:	74 7b                	je     0x414e9a
414e1f:	8d 45 d8             	lea    -0x28(%ebp),%eax
414e22:	50                   	push   %eax
414e23:	e8 d0 98 ff ff       	call   0x40e6f8
414e28:	33 c0                	xor    %eax,%eax
414e2a:	55                   	push   %ebp
414e2b:	68 93 4e 41 00       	push   $0x414e93
414e30:	64 ff 30             	push   %fs:(%eax)
414e33:	64 89 20             	mov    %esp,%fs:(%eax)
414e36:	0f b7 4d f4          	movzwl -0xc(%ebp),%ecx
414e3a:	8b d3                	mov    %ebx,%edx
414e3c:	8d 45 d8             	lea    -0x28(%ebp),%eax
414e3f:	e8 84 b9 ff ff       	call   0x4107c8
414e44:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
414e48:	66 25 ff 0f          	and    $0xfff,%ax
414e4c:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
414e50:	74 05                	je     0x414e57
414e52:	e8 79 a8 ff ff       	call   0x40f6d0
414e57:	8b 45 f8             	mov    -0x8(%ebp),%eax
414e5a:	50                   	push   %eax
414e5b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414e5e:	8d 55 d8             	lea    -0x28(%ebp),%edx
414e61:	8b 45 e8             	mov    -0x18(%ebp),%eax
414e64:	8b 18                	mov    (%eax),%ebx
414e66:	ff 53 34             	call   *0x34(%ebx)
414e69:	83 e0 7f             	and    $0x7f,%eax
414e6c:	8b 55 f8             	mov    -0x8(%ebp),%edx
414e6f:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
414e76:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
414e7a:	88 45 f7             	mov    %al,-0x9(%ebp)
414e7d:	33 c0                	xor    %eax,%eax
414e7f:	5a                   	pop    %edx
414e80:	59                   	pop    %ecx
414e81:	59                   	pop    %ecx
414e82:	64 89 10             	mov    %edx,%fs:(%eax)
414e85:	68 9c 51 41 00       	push   $0x41519c
414e8a:	8d 45 d8             	lea    -0x28(%ebp),%eax
414e8d:	e8 ca b0 ff ff       	call   0x40ff5c
414e92:	c3                   	ret
414e93:	e9 d0 ec fe ff       	jmp    0x403b68
414e98:	eb f0                	jmp    0x414e8a
414e9a:	8b 45 f8             	mov    -0x8(%ebp),%eax
414e9d:	50                   	push   %eax
414e9e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414ea1:	8b d3                	mov    %ebx,%edx
414ea3:	8b 45 e8             	mov    -0x18(%ebp),%eax
414ea6:	8b 18                	mov    (%eax),%ebx
414ea8:	ff 53 34             	call   *0x34(%ebx)
414eab:	83 e0 7f             	and    $0x7f,%eax
414eae:	8b 55 f8             	mov    -0x8(%ebp),%edx
414eb1:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
414eb8:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
414ebc:	88 45 f7             	mov    %al,-0x9(%ebp)
414ebf:	e9 d8 02 00 00       	jmp    0x41519c
414ec4:	8d 45 d8             	lea    -0x28(%ebp),%eax
414ec7:	50                   	push   %eax
414ec8:	e8 2b 98 ff ff       	call   0x40e6f8
414ecd:	33 c0                	xor    %eax,%eax
414ecf:	55                   	push   %ebp
414ed0:	68 21 4f 41 00       	push   $0x414f21
414ed5:	64 ff 30             	push   %fs:(%eax)
414ed8:	64 89 20             	mov    %esp,%fs:(%eax)
414edb:	0f b7 0b             	movzwl (%ebx),%ecx
414ede:	8b 55 fc             	mov    -0x4(%ebp),%edx
414ee1:	8d 45 d8             	lea    -0x28(%ebp),%eax
414ee4:	e8 df b8 ff ff       	call   0x4107c8
414ee9:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
414eed:	66 25 ff 0f          	and    $0xfff,%ax
414ef1:	66 3b 03             	cmp    (%ebx),%ax
414ef4:	74 05                	je     0x414efb
414ef6:	e8 d5 a7 ff ff       	call   0x40f6d0
414efb:	8d 55 d8             	lea    -0x28(%ebp),%edx
414efe:	8b c3                	mov    %ebx,%eax
414f00:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414f03:	e8 f4 fc ff ff       	call   0x414bfc
414f08:	88 45 f7             	mov    %al,-0x9(%ebp)
414f0b:	33 c0                	xor    %eax,%eax
414f0d:	5a                   	pop    %edx
414f0e:	59                   	pop    %ecx
414f0f:	59                   	pop    %ecx
414f10:	64 89 10             	mov    %edx,%fs:(%eax)
414f13:	68 9c 51 41 00       	push   $0x41519c
414f18:	8d 45 d8             	lea    -0x28(%ebp),%eax
414f1b:	e8 3c b0 ff ff       	call   0x40ff5c
414f20:	c3                   	ret
414f21:	e9 42 ec fe ff       	jmp    0x403b68
414f26:	eb f0                	jmp    0x414f18
414f28:	8b 45 fc             	mov    -0x4(%ebp),%eax
414f2b:	66 8b 00             	mov    (%eax),%ax
414f2e:	66 85 c0             	test   %ax,%ax
414f31:	75 11                	jne    0x414f44
414f33:	b2 01                	mov    $0x1,%dl
414f35:	33 c0                	xor    %eax,%eax
414f37:	e8 8c fa ff ff       	call   0x4149c8
414f3c:	88 45 f7             	mov    %al,-0x9(%ebp)
414f3f:	e9 58 02 00 00       	jmp    0x41519c
414f44:	8b 55 fc             	mov    -0x4(%ebp),%edx
414f47:	66 83 f8 01          	cmp    $0x1,%ax
414f4b:	75 14                	jne    0x414f61
414f4d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414f50:	b2 02                	mov    $0x2,%dl
414f52:	33 c0                	xor    %eax,%eax
414f54:	e8 83 fa ff ff       	call   0x4149dc
414f59:	88 45 f7             	mov    %al,-0x9(%ebp)
414f5c:	e9 3b 02 00 00       	jmp    0x41519c
414f61:	8d 55 ec             	lea    -0x14(%ebp),%edx
414f64:	8b c6                	mov    %esi,%eax
414f66:	e8 31 21 00 00       	call   0x41709c
414f6b:	84 c0                	test   %al,%al
414f6d:	75 0a                	jne    0x414f79
414f6f:	e8 4c a8 ff ff       	call   0x40f7c0
414f74:	e9 23 02 00 00       	jmp    0x41519c
414f79:	8d 45 f2             	lea    -0xe(%ebp),%eax
414f7c:	50                   	push   %eax
414f7d:	8b 55 fc             	mov    -0x4(%ebp),%edx
414f80:	b9 0b 00 00 00       	mov    $0xb,%ecx
414f85:	8b 45 ec             	mov    -0x14(%ebp),%eax
414f88:	8b 30                	mov    (%eax),%esi
414f8a:	ff 56 08             	call   *0x8(%esi)
414f8d:	84 c0                	test   %al,%al
414f8f:	0f 84 ad 00 00 00    	je     0x415042
414f95:	8b 45 fc             	mov    -0x4(%ebp),%eax
414f98:	66 8b 00             	mov    (%eax),%ax
414f9b:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
414f9f:	74 77                	je     0x415018
414fa1:	8d 45 d8             	lea    -0x28(%ebp),%eax
414fa4:	50                   	push   %eax
414fa5:	e8 4e 97 ff ff       	call   0x40e6f8
414faa:	33 c0                	xor    %eax,%eax
414fac:	55                   	push   %ebp
414fad:	68 11 50 41 00       	push   $0x415011
414fb2:	64 ff 30             	push   %fs:(%eax)
414fb5:	64 89 20             	mov    %esp,%fs:(%eax)
414fb8:	0f b7 4d f2          	movzwl -0xe(%ebp),%ecx
414fbc:	8b 55 fc             	mov    -0x4(%ebp),%edx
414fbf:	8d 45 d8             	lea    -0x28(%ebp),%eax
414fc2:	e8 01 b8 ff ff       	call   0x4107c8
414fc7:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
414fcb:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
414fcf:	74 05                	je     0x414fd6
414fd1:	e8 fa a6 ff ff       	call   0x40f6d0
414fd6:	8b 45 f8             	mov    -0x8(%ebp),%eax
414fd9:	50                   	push   %eax
414fda:	8d 4d d8             	lea    -0x28(%ebp),%ecx
414fdd:	8b d3                	mov    %ebx,%edx
414fdf:	8b 45 ec             	mov    -0x14(%ebp),%eax
414fe2:	8b 18                	mov    (%eax),%ebx
414fe4:	ff 53 34             	call   *0x34(%ebx)
414fe7:	83 e0 7f             	and    $0x7f,%eax
414fea:	8b 55 f8             	mov    -0x8(%ebp),%edx
414fed:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
414ff4:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
414ff8:	88 45 f7             	mov    %al,-0x9(%ebp)
414ffb:	33 c0                	xor    %eax,%eax
414ffd:	5a                   	pop    %edx
414ffe:	59                   	pop    %ecx
414fff:	59                   	pop    %ecx
415000:	64 89 10             	mov    %edx,%fs:(%eax)
415003:	68 9c 51 41 00       	push   $0x41519c
415008:	8d 45 d8             	lea    -0x28(%ebp),%eax
41500b:	e8 4c af ff ff       	call   0x40ff5c
415010:	c3                   	ret
415011:	e9 52 eb fe ff       	jmp    0x403b68
415016:	eb f0                	jmp    0x415008
415018:	8b 45 f8             	mov    -0x8(%ebp),%eax
41501b:	50                   	push   %eax
41501c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41501f:	8b d3                	mov    %ebx,%edx
415021:	8b 45 ec             	mov    -0x14(%ebp),%eax
415024:	8b 18                	mov    (%eax),%ebx
415026:	ff 53 34             	call   *0x34(%ebx)
415029:	83 e0 7f             	and    $0x7f,%eax
41502c:	8b 55 f8             	mov    -0x8(%ebp),%edx
41502f:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
415036:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
41503a:	88 45 f7             	mov    %al,-0x9(%ebp)
41503d:	e9 5a 01 00 00       	jmp    0x41519c
415042:	8b 75 fc             	mov    -0x4(%ebp),%esi
415045:	66 8b 36             	mov    (%esi),%si
415048:	8b c6                	mov    %esi,%eax
41504a:	66 25 ff 0f          	and    $0xfff,%ax
41504e:	66 3d 0f 01          	cmp    $0x10f,%ax
415052:	73 66                	jae    0x4150ba
415054:	8d 45 d8             	lea    -0x28(%ebp),%eax
415057:	50                   	push   %eax
415058:	e8 9b 96 ff ff       	call   0x40e6f8
41505d:	33 c0                	xor    %eax,%eax
41505f:	55                   	push   %ebp
415060:	68 b3 50 41 00       	push   $0x4150b3
415065:	64 ff 30             	push   %fs:(%eax)
415068:	64 89 20             	mov    %esp,%fs:(%eax)
41506b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41506e:	0f b7 09             	movzwl (%ecx),%ecx
415071:	8b d3                	mov    %ebx,%edx
415073:	8d 45 d8             	lea    -0x28(%ebp),%eax
415076:	e8 4d b7 ff ff       	call   0x4107c8
41507b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41507e:	66 8b 00             	mov    (%eax),%ax
415081:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
415085:	74 05                	je     0x41508c
415087:	e8 44 a6 ff ff       	call   0x40f6d0
41508c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41508f:	8d 45 d8             	lea    -0x28(%ebp),%eax
415092:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415095:	e8 62 fb ff ff       	call   0x414bfc
41509a:	88 45 f7             	mov    %al,-0x9(%ebp)
41509d:	33 c0                	xor    %eax,%eax
41509f:	5a                   	pop    %edx
4150a0:	59                   	pop    %ecx
4150a1:	59                   	pop    %ecx
4150a2:	64 89 10             	mov    %edx,%fs:(%eax)
4150a5:	68 9c 51 41 00       	push   $0x41519c
4150aa:	8d 45 d8             	lea    -0x28(%ebp),%eax
4150ad:	e8 aa ae ff ff       	call   0x40ff5c
4150b2:	c3                   	ret
4150b3:	e9 b0 ea fe ff       	jmp    0x403b68
4150b8:	eb f0                	jmp    0x4150aa
4150ba:	8d 55 e8             	lea    -0x18(%ebp),%edx
4150bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4150c0:	8b c6                	mov    %esi,%eax
4150c2:	e8 d5 1f 00 00       	call   0x41709c
4150c7:	84 c0                	test   %al,%al
4150c9:	75 0a                	jne    0x4150d5
4150cb:	e8 f0 a6 ff ff       	call   0x40f7c0
4150d0:	e9 c7 00 00 00       	jmp    0x41519c
4150d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4150d8:	50                   	push   %eax
4150d9:	8b d3                	mov    %ebx,%edx
4150db:	b9 0b 00 00 00       	mov    $0xb,%ecx
4150e0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4150e3:	8b 30                	mov    (%eax),%esi
4150e5:	ff 56 04             	call   *0x4(%esi)
4150e8:	84 c0                	test   %al,%al
4150ea:	0f 84 a7 00 00 00    	je     0x415197
4150f0:	66 8b 03             	mov    (%ebx),%ax
4150f3:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
4150f7:	74 77                	je     0x415170
4150f9:	8d 45 d8             	lea    -0x28(%ebp),%eax
4150fc:	50                   	push   %eax
4150fd:	e8 f6 95 ff ff       	call   0x40e6f8
415102:	33 c0                	xor    %eax,%eax
415104:	55                   	push   %ebp
415105:	68 69 51 41 00       	push   $0x415169
41510a:	64 ff 30             	push   %fs:(%eax)
41510d:	64 89 20             	mov    %esp,%fs:(%eax)
415110:	0f b7 4d f4          	movzwl -0xc(%ebp),%ecx
415114:	8b d3                	mov    %ebx,%edx
415116:	8d 45 d8             	lea    -0x28(%ebp),%eax
415119:	e8 aa b6 ff ff       	call   0x4107c8
41511e:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
415122:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
415126:	74 05                	je     0x41512d
415128:	e8 a3 a5 ff ff       	call   0x40f6d0
41512d:	8b 45 f8             	mov    -0x8(%ebp),%eax
415130:	50                   	push   %eax
415131:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415134:	8d 55 d8             	lea    -0x28(%ebp),%edx
415137:	8b 45 e8             	mov    -0x18(%ebp),%eax
41513a:	8b 18                	mov    (%eax),%ebx
41513c:	ff 53 34             	call   *0x34(%ebx)
41513f:	83 e0 7f             	and    $0x7f,%eax
415142:	8b 55 f8             	mov    -0x8(%ebp),%edx
415145:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
41514c:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
415150:	88 45 f7             	mov    %al,-0x9(%ebp)
415153:	33 c0                	xor    %eax,%eax
415155:	5a                   	pop    %edx
415156:	59                   	pop    %ecx
415157:	59                   	pop    %ecx
415158:	64 89 10             	mov    %edx,%fs:(%eax)
41515b:	68 9c 51 41 00       	push   $0x41519c
415160:	8d 45 d8             	lea    -0x28(%ebp),%eax
415163:	e8 f4 ad ff ff       	call   0x40ff5c
415168:	c3                   	ret
415169:	e9 fa e9 fe ff       	jmp    0x403b68
41516e:	eb f0                	jmp    0x415160
415170:	8b 45 f8             	mov    -0x8(%ebp),%eax
415173:	50                   	push   %eax
415174:	8b 4d fc             	mov    -0x4(%ebp),%ecx
415177:	8b d3                	mov    %ebx,%edx
415179:	8b 45 e8             	mov    -0x18(%ebp),%eax
41517c:	8b 18                	mov    (%eax),%ebx
41517e:	ff 53 34             	call   *0x34(%ebx)
415181:	83 e0 7f             	and    $0x7f,%eax
415184:	8b 55 f8             	mov    -0x8(%ebp),%edx
415187:	8d 14 55 88 d4 48 00 	lea    0x48d488(,%edx,2),%edx
41518e:	8a 44 02 e4          	mov    -0x1c(%edx,%eax,1),%al
415192:	88 45 f7             	mov    %al,-0x9(%ebp)
415195:	eb 05                	jmp    0x41519c
415197:	e8 24 a6 ff ff       	call   0x40f7c0
41519c:	8a 45 f7             	mov    -0x9(%ebp),%al
41519f:	5e                   	pop    %esi
4151a0:	5b                   	pop    %ebx
4151a1:	8b e5                	mov    %ebp,%esp
4151a3:	5d                   	pop    %ebp
4151a4:	c3                   	ret
4151a5:	8d 40 00             	lea    0x0(%eax),%eax
4151a8:	56                   	push   %esi
4151a9:	57                   	push   %edi
4151aa:	66 8b 30             	mov    (%eax),%si
4151ad:	66 8b 3a             	mov    (%edx),%di
4151b0:	66 81 fe 0f 01       	cmp    $0x10f,%si
4151b5:	73 0f                	jae    0x4151c6
4151b7:	66 81 ff 0f 01       	cmp    $0x10f,%di
4151bc:	73 08                	jae    0x4151c6
4151be:	e8 39 fa ff ff       	call   0x414bfc
4151c3:	5f                   	pop    %edi
4151c4:	5e                   	pop    %esi
4151c5:	c3                   	ret
4151c6:	66 81 fe 0c 40       	cmp    $0x400c,%si
4151cb:	75 0a                	jne    0x4151d7
4151cd:	8b 40 08             	mov    0x8(%eax),%eax
4151d0:	e8 d3 ff ff ff       	call   0x4151a8
4151d5:	eb 35                	jmp    0x41520c
4151d7:	66 81 ff 0c 40       	cmp    $0x400c,%di
4151dc:	75 0a                	jne    0x4151e8
4151de:	8b 52 08             	mov    0x8(%edx),%edx
4151e1:	e8 c2 ff ff ff       	call   0x4151a8
4151e6:	eb 24                	jmp    0x41520c
4151e8:	66 81 e6 ff 0f       	and    $0xfff,%si
4151ed:	66 81 fe 0f 01       	cmp    $0x10f,%si
4151f2:	73 13                	jae    0x415207
4151f4:	66 81 e7 ff 0f       	and    $0xfff,%di
4151f9:	66 81 ff 0f 01       	cmp    $0x10f,%di
4151fe:	73 07                	jae    0x415207
415200:	e8 f7 f9 ff ff       	call   0x414bfc
415205:	eb 05                	jmp    0x41520c
415207:	e8 7c fb ff ff       	call   0x414d88
41520c:	5f                   	pop    %edi
41520d:	5e                   	pop    %esi
41520e:	c3                   	ret
41520f:	90                   	nop
415210:	66 83 38 08          	cmpw   $0x8,(%eax)
415214:	72 1a                	jb     0x415230
415216:	ff 70 0c             	push   0xc(%eax)