413e10:	ff 75 0c             	push   0xc(%ebp)
413e13:	ff 75 08             	push   0x8(%ebp)
413e16:	e8 6c db ff ff       	call   0x411987
413e1b:	83 c4 0c             	add    $0xc,%esp
413e1e:	38 5d fc             	cmp    %bl,-0x4(%ebp)
413e21:	0f 84 a9 00 00 00    	je     0x413ed0
413e27:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413e2a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
413e2e:	e9 9d 00 00 00       	jmp    0x413ed0
413e33:	39 5d 08             	cmp    %ebx,0x8(%ebp)
413e36:	75 2b                	jne    0x413e63
413e38:	e8 98 1c ff ff       	call   0x405ad5
413e3d:	53                   	push   %ebx
413e3e:	53                   	push   %ebx
413e3f:	53                   	push   %ebx
413e40:	53                   	push   %ebx
413e41:	53                   	push   %ebx
413e42:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413e48:	e8 d8 13 ff ff       	call   0x405225
413e4d:	83 c4 14             	add    $0x14,%esp
413e50:	38 5d fc             	cmp    %bl,-0x4(%ebp)
413e53:	74 07                	je     0x413e5c
413e55:	8b 45 f8             	mov    -0x8(%ebp),%eax
413e58:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
413e5c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
413e61:	eb 6d                	jmp    0x413ed0
413e63:	56                   	push   %esi
413e64:	8b 75 0c             	mov    0xc(%ebp),%esi
413e67:	3b f3                	cmp    %ebx,%esi
413e69:	75 2b                	jne    0x413e96
413e6b:	e8 65 1c ff ff       	call   0x405ad5
413e70:	53                   	push   %ebx
413e71:	53                   	push   %ebx
413e72:	53                   	push   %ebx
413e73:	53                   	push   %ebx
413e74:	53                   	push   %ebx
413e75:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413e7b:	e8 a5 13 ff ff       	call   0x405225
413e80:	83 c4 14             	add    $0x14,%esp
413e83:	38 5d fc             	cmp    %bl,-0x4(%ebp)
413e86:	74 07                	je     0x413e8f
413e88:	8b 45 f8             	mov    -0x8(%ebp),%eax
413e8b:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
413e8f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
413e94:	eb 39                	jmp    0x413ecf
413e96:	8b 45 08             	mov    0x8(%ebp),%eax
413e99:	66 0f b6 00          	movzbw (%eax),%ax
413e9d:	ff 4d 10             	decl   0x10(%ebp)
413ea0:	ff 45 08             	incl   0x8(%ebp)
413ea3:	0f b7 c8             	movzwl %ax,%ecx
413ea6:	0f b6 c1             	movzbl %cl,%eax
413ea9:	f6 44 38 1d 04       	testb  $0x4,0x1d(%eax,%edi,1)
413eae:	74 41                	je     0x413ef1
413eb0:	39 5d 10             	cmp    %ebx,0x10(%ebp)
413eb3:	75 1f                	jne    0x413ed4
413eb5:	0f b6 06             	movzbl (%esi),%eax
413eb8:	33 c9                	xor    %ecx,%ecx
413eba:	f6 44 38 1d 04       	testb  $0x4,0x1d(%eax,%edi,1)
413ebf:	74 5f                	je     0x413f20
413ec1:	38 5d fc             	cmp    %bl,-0x4(%ebp)
413ec4:	74 07                	je     0x413ecd
413ec6:	8b 45 f8             	mov    -0x8(%ebp),%eax
413ec9:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
413ecd:	33 c0                	xor    %eax,%eax
413ecf:	5e                   	pop    %esi
413ed0:	5f                   	pop    %edi
413ed1:	5b                   	pop    %ebx
413ed2:	c9                   	leave
413ed3:	c3                   	ret
413ed4:	8b 45 08             	mov    0x8(%ebp),%eax
413ed7:	8a 00                	mov    (%eax),%al
413ed9:	3a c3                	cmp    %bl,%al
413edb:	75 04                	jne    0x413ee1
413edd:	33 c9                	xor    %ecx,%ecx
413edf:	eb 10                	jmp    0x413ef1
413ee1:	c1 e1 08             	shl    $0x8,%ecx
413ee4:	66 0f b6 c0          	movzbw %al,%ax
413ee8:	66 0b c8             	or     %ax,%cx
413eeb:	ff 45 08             	incl   0x8(%ebp)
413eee:	0f b7 c9             	movzwl %cx,%ecx
413ef1:	66 0f b6 06          	movzbw (%esi),%ax
413ef5:	0f b7 c0             	movzwl %ax,%eax
413ef8:	0f b6 d0             	movzbl %al,%edx
413efb:	46                   	inc    %esi
413efc:	f6 44 3a 1d 04       	testb  $0x4,0x1d(%edx,%edi,1)
413f01:	74 20                	je     0x413f23
413f03:	39 5d 10             	cmp    %ebx,0x10(%ebp)
413f06:	75 04                	jne    0x413f0c
413f08:	33 c0                	xor    %eax,%eax
413f0a:	eb 17                	jmp    0x413f23
413f0c:	8a 16                	mov    (%esi),%dl
413f0e:	ff 4d 10             	decl   0x10(%ebp)
413f11:	3a d3                	cmp    %bl,%dl
413f13:	74 f3                	je     0x413f08
413f15:	66 0f b6 d2          	movzbw %dl,%dx
413f19:	c1 e0 08             	shl    $0x8,%eax
413f1c:	66 0b c2             	or     %dx,%ax
413f1f:	46                   	inc    %esi
413f20:	0f b7 c0             	movzwl %ax,%eax
413f23:	66 3b c1             	cmp    %cx,%ax
413f26:	75 10                	jne    0x413f38
413f28:	66 3b cb             	cmp    %bx,%cx
413f2b:	74 94                	je     0x413ec1
413f2d:	39 5d 10             	cmp    %ebx,0x10(%ebp)
413f30:	0f 85 60 ff ff ff    	jne    0x413e96
413f36:	eb 89                	jmp    0x413ec1
413f38:	1b c0                	sbb    %eax,%eax
413f3a:	83 e0 02             	and    $0x2,%eax
413f3d:	48                   	dec    %eax
413f3e:	38 5d fc             	cmp    %bl,-0x4(%ebp)
413f41:	74 8c                	je     0x413ecf
413f43:	8b 4d f8             	mov    -0x8(%ebp),%ecx
413f46:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
413f4a:	eb 83                	jmp    0x413ecf
413f4c:	8b ff                	mov    %edi,%edi
413f4e:	55                   	push   %ebp
413f4f:	8b ec                	mov    %esp,%ebp
413f51:	6a 00                	push   $0x0
413f53:	ff 75 10             	push   0x10(%ebp)
413f56:	ff 75 0c             	push   0xc(%ebp)
413f59:	ff 75 08             	push   0x8(%ebp)
413f5c:	e8 81 fe ff ff       	call   0x413de2
413f61:	83 c4 10             	add    $0x10,%esp
413f64:	5d                   	pop    %ebp
413f65:	c3                   	ret
413f66:	cc                   	int3
413f67:	cc                   	int3
413f68:	55                   	push   %ebp
413f69:	8b ec                	mov    %esp,%ebp
413f6b:	53                   	push   %ebx
413f6c:	56                   	push   %esi
413f6d:	57                   	push   %edi
413f6e:	55                   	push   %ebp
413f6f:	6a 00                	push   $0x0
413f71:	6a 00                	push   $0x0
413f73:	68 80 3f 41 00       	push   $0x413f80
413f78:	ff 75 08             	push   0x8(%ebp)
413f7b:	e8 0e 57 00 00       	call   0x41968e
413f80:	5d                   	pop    %ebp
413f81:	5f                   	pop    %edi
413f82:	5e                   	pop    %esi
413f83:	5b                   	pop    %ebx
413f84:	8b e5                	mov    %ebp,%esp
413f86:	5d                   	pop    %ebp
413f87:	c3                   	ret
413f88:	8b 4c 24 04          	mov    0x4(%esp),%ecx
413f8c:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
413f93:	b8 01 00 00 00       	mov    $0x1,%eax
413f98:	74 32                	je     0x413fcc
413f9a:	8b 44 24 14          	mov    0x14(%esp),%eax
413f9e:	8b 48 fc             	mov    -0x4(%eax),%ecx
413fa1:	33 c8                	xor    %eax,%ecx
413fa3:	e8 7e 26 ff ff       	call   0x406626
413fa8:	55                   	push   %ebp
413fa9:	8b 68 10             	mov    0x10(%eax),%ebp
413fac:	8b 50 28             	mov    0x28(%eax),%edx
413faf:	52                   	push   %edx
413fb0:	8b 50 24             	mov    0x24(%eax),%edx
413fb3:	52                   	push   %edx
413fb4:	e8 14 00 00 00       	call   0x413fcd
413fb9:	83 c4 08             	add    $0x8,%esp
413fbc:	5d                   	pop    %ebp
413fbd:	8b 44 24 08          	mov    0x8(%esp),%eax
413fc1:	8b 54 24 10          	mov    0x10(%esp),%edx
413fc5:	89 02                	mov    %eax,(%edx)
413fc7:	b8 03 00 00 00       	mov    $0x3,%eax
413fcc:	c3                   	ret
413fcd:	53                   	push   %ebx
413fce:	56                   	push   %esi
413fcf:	57                   	push   %edi
413fd0:	8b 44 24 10          	mov    0x10(%esp),%eax
413fd4:	55                   	push   %ebp
413fd5:	50                   	push   %eax
413fd6:	6a fe                	push   $0xfffffffe
413fd8:	68 88 3f 41 00       	push   $0x413f88
413fdd:	64 ff 35 00 00 00 00 	push   %fs:0x0
413fe4:	a1 68 b2 42 00       	mov    0x42b268,%eax
413fe9:	33 c4                	xor    %esp,%eax
413feb:	50                   	push   %eax
413fec:	8d 44 24 04          	lea    0x4(%esp),%eax
413ff0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
413ff6:	8b 44 24 28          	mov    0x28(%esp),%eax
413ffa:	8b 58 08             	mov    0x8(%eax),%ebx
413ffd:	8b 70 0c             	mov    0xc(%eax),%esi
414000:	83 fe ff             	cmp    $0xffffffff,%esi
414003:	74 3a                	je     0x41403f
414005:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
41400a:	74 06                	je     0x414012
41400c:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
414010:	76 2d                	jbe    0x41403f
414012:	8d 34 76             	lea    (%esi,%esi,2),%esi
414015:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
414018:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
41401c:	89 48 0c             	mov    %ecx,0xc(%eax)
41401f:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
414024:	75 17                	jne    0x41403d
414026:	68 01 01 00 00       	push   $0x101
41402b:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
41402f:	e8 49 00 00 00       	call   0x41407d
414034:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
414038:	e8 5f 00 00 00       	call   0x41409c
41403d:	eb b7                	jmp    0x413ff6
41403f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
414043:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41404a:	83 c4 18             	add    $0x18,%esp
41404d:	5f                   	pop    %edi
41404e:	5e                   	pop    %esi
41404f:	5b                   	pop    %ebx
414050:	c3                   	ret
414051:	33 c0                	xor    %eax,%eax
414053:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
41405a:	81 79 04 88 3f 41 00 	cmpl   $0x413f88,0x4(%ecx)
414061:	75 10                	jne    0x414073
414063:	8b 51 0c             	mov    0xc(%ecx),%edx
414066:	8b 52 0c             	mov    0xc(%edx),%edx
414069:	39 51 08             	cmp    %edx,0x8(%ecx)
41406c:	75 05                	jne    0x414073
41406e:	b8 01 00 00 00       	mov    $0x1,%eax
414073:	c3                   	ret
414074:	53                   	push   %ebx
414075:	51                   	push   %ecx
414076:	bb 08 bf 42 00       	mov    $0x42bf08,%ebx
41407b:	eb 0b                	jmp    0x414088
41407d:	53                   	push   %ebx
41407e:	51                   	push   %ecx
41407f:	bb 08 bf 42 00       	mov    $0x42bf08,%ebx
414084:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
414088:	89 4b 08             	mov    %ecx,0x8(%ebx)
41408b:	89 43 04             	mov    %eax,0x4(%ebx)
41408e:	89 6b 0c             	mov    %ebp,0xc(%ebx)
414091:	55                   	push   %ebp
414092:	51                   	push   %ecx
414093:	50                   	push   %eax
414094:	58                   	pop    %eax
414095:	59                   	pop    %ecx
414096:	5d                   	pop    %ebp
414097:	59                   	pop    %ecx
414098:	5b                   	pop    %ebx
414099:	c2 04 00             	ret    $0x4
41409c:	ff d0                	call   *%eax
41409e:	c3                   	ret
41409f:	6a 0c                	push   $0xc
4140a1:	68 b0 9a 42 00       	push   $0x429ab0
4140a6:	e8 31 63 ff ff       	call   0x40a3dc
4140ab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4140af:	66 0f 28 c1          	movapd %xmm1,%xmm0
4140b3:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
4140ba:	eb 23                	jmp    0x4140df
4140bc:	8b 45 ec             	mov    -0x14(%ebp),%eax
4140bf:	8b 00                	mov    (%eax),%eax
4140c1:	8b 00                	mov    (%eax),%eax
4140c3:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
4140c8:	74 0a                	je     0x4140d4
4140ca:	3d 1d 00 00 c0       	cmp    $0xc000001d,%eax
4140cf:	74 03                	je     0x4140d4
4140d1:	33 c0                	xor    %eax,%eax
4140d3:	c3                   	ret
4140d4:	33 c0                	xor    %eax,%eax
4140d6:	40                   	inc    %eax
4140d7:	c3                   	ret
4140d8:	8b 65 e8             	mov    -0x18(%ebp),%esp
4140db:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4140df:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4140e6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4140e9:	e8 33 63 ff ff       	call   0x40a421
4140ee:	c3                   	ret
4140ef:	8b ff                	mov    %edi,%edi
4140f1:	55                   	push   %ebp
4140f2:	8b ec                	mov    %esp,%ebp
4140f4:	83 ec 18             	sub    $0x18,%esp
4140f7:	33 c0                	xor    %eax,%eax
4140f9:	53                   	push   %ebx
4140fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4140fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
414100:	89 45 f8             	mov    %eax,-0x8(%ebp)
414103:	53                   	push   %ebx
414104:	9c                   	pushf
414105:	58                   	pop    %eax
414106:	8b c8                	mov    %eax,%ecx
414108:	35 00 00 20 00       	xor    $0x200000,%eax
41410d:	50                   	push   %eax
41410e:	9d                   	popf
41410f:	9c                   	pushf
414110:	5a                   	pop    %edx
414111:	2b d1                	sub    %ecx,%edx
414113:	74 1f                	je     0x414134
414115:	51                   	push   %ecx
414116:	9d                   	popf
414117:	33 c0                	xor    %eax,%eax
414119:	0f a2                	cpuid
41411b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41411e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
414121:	89 55 ec             	mov    %edx,-0x14(%ebp)
414124:	89 4d f0             	mov    %ecx,-0x10(%ebp)
414127:	b8 01 00 00 00       	mov    $0x1,%eax
41412c:	0f a2                	cpuid
41412e:	89 55 fc             	mov    %edx,-0x4(%ebp)
414131:	89 45 f8             	mov    %eax,-0x8(%ebp)
414134:	5b                   	pop    %ebx
414135:	f7 45 fc 00 00 00 04 	testl  $0x4000000,-0x4(%ebp)
41413c:	74 0e                	je     0x41414c
41413e:	e8 5c ff ff ff       	call   0x41409f
414143:	85 c0                	test   %eax,%eax
414145:	74 05                	je     0x41414c
414147:	33 c0                	xor    %eax,%eax
414149:	40                   	inc    %eax
41414a:	eb 02                	jmp    0x41414e
41414c:	33 c0                	xor    %eax,%eax
41414e:	5b                   	pop    %ebx
41414f:	c9                   	leave
414150:	c3                   	ret
414151:	e8 99 ff ff ff       	call   0x4140ef
414156:	a3 64 13 c7 00       	mov    %eax,0xc71364
41415b:	33 c0                	xor    %eax,%eax
41415d:	c3                   	ret
41415e:	8b ff                	mov    %edi,%edi
414160:	55                   	push   %ebp
414161:	8b ec                	mov    %esp,%ebp
414163:	83 ec 28             	sub    $0x28,%esp
414166:	33 c0                	xor    %eax,%eax
414168:	53                   	push   %ebx
414169:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41416c:	56                   	push   %esi
41416d:	8b 75 10             	mov    0x10(%ebp),%esi
414170:	57                   	push   %edi
414171:	8b 7d 08             	mov    0x8(%ebp),%edi
414174:	88 45 f8             	mov    %al,-0x8(%ebp)
414177:	88 45 f9             	mov    %al,-0x7(%ebp)
41417a:	88 45 fa             	mov    %al,-0x6(%ebp)
41417d:	88 45 fb             	mov    %al,-0x5(%ebp)
414180:	88 45 fc             	mov    %al,-0x4(%ebp)
414183:	88 45 fd             	mov    %al,-0x3(%ebp)
414186:	88 45 fe             	mov    %al,-0x2(%ebp)
414189:	88 45 ff             	mov    %al,-0x1(%ebp)
41418c:	39 05 84 11 43 00    	cmp    %eax,0x431184
414192:	74 0e                	je     0x4141a2
414194:	ff 35 2c 12 c7 00    	push   0xc7122c
41419a:	e8 56 66 ff ff       	call   0x40a7f5
41419f:	59                   	pop    %ecx
4141a0:	eb 05                	jmp    0x4141a7
4141a2:	b8 c7 66 41 00       	mov    $0x4166c7,%eax
4141a7:	8b 4d 14             	mov    0x14(%ebp),%ecx
4141aa:	ba a6 00 00 00       	mov    $0xa6,%edx
4141af:	3b ca                	cmp    %edx,%ecx
4141b1:	0f 8f 74 01 00 00    	jg     0x41432b
4141b7:	0f 84 5b 01 00 00    	je     0x414318
4141bd:	83 f9 19             	cmp    $0x19,%ecx
4141c0:	0f 8f f8 00 00 00    	jg     0x4142be
4141c6:	0f 84 e9 00 00 00    	je     0x4142b5
4141cc:	8b d1                	mov    %ecx,%edx