460d8d:	8d 04 92             	lea    (%edx,%edx,4),%eax
460d90:	8d 34 81             	lea    (%ecx,%eax,4),%esi
460d93:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
460d96:	89 75 d8             	mov    %esi,-0x28(%ebp)
460d99:	89 75 e0             	mov    %esi,-0x20(%ebp)
460d9c:	89 75 c8             	mov    %esi,-0x38(%ebp)
460d9f:	89 75 cc             	mov    %esi,-0x34(%ebp)
460da2:	89 4d d0             	mov    %ecx,-0x30(%ebp)
460da5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
460da9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
460db0:	85 ff                	test   %edi,%edi
460db2:	74 13                	je     0x460dc7
460db4:	ff 75 0c             	push   0xc(%ebp)
460db7:	8b ce                	mov    %esi,%ecx
460db9:	e8 82 d6 fe ff       	call   0x44e440
460dbe:	83 c6 14             	add    $0x14,%esi
460dc1:	4f                   	dec    %edi
460dc2:	89 75 cc             	mov    %esi,-0x34(%ebp)
460dc5:	eb e9                	jmp    0x460db0
460dc7:	8b 55 e4             	mov    -0x1c(%ebp),%edx
460dca:	8b 45 ec             	mov    -0x14(%ebp),%eax
460dcd:	89 75 e0             	mov    %esi,-0x20(%ebp)
460dd0:	8b f0                	mov    %eax,%esi
460dd2:	89 45 c8             	mov    %eax,-0x38(%ebp)
460dd5:	8b 4a 04             	mov    0x4(%edx),%ecx
460dd8:	8b 3a                	mov    (%edx),%edi
460dda:	89 4d dc             	mov    %ecx,-0x24(%ebp)
460ddd:	89 75 cc             	mov    %esi,-0x34(%ebp)
460de0:	89 55 d0             	mov    %edx,-0x30(%ebp)
460de3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
460de7:	3b f9                	cmp    %ecx,%edi
460de9:	74 16                	je     0x460e01
460deb:	57                   	push   %edi
460dec:	8b ce                	mov    %esi,%ecx
460dee:	e8 4d d6 fe ff       	call   0x44e440
460df3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
460df6:	83 c6 14             	add    $0x14,%esi
460df9:	89 75 cc             	mov    %esi,-0x34(%ebp)
460dfc:	83 c7 14             	add    $0x14,%edi
460dff:	eb e6                	jmp    0x460de7
460e01:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
460e04:	53                   	push   %ebx
460e05:	ff 75 08             	push   0x8(%ebp)
460e08:	ff 75 ec             	push   -0x14(%ebp)
460e0b:	e8 f0 00 00 00       	call   0x460f00
460e10:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460e13:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460e1a:	59                   	pop    %ecx
460e1b:	5f                   	pop    %edi
460e1c:	5e                   	pop    %esi
460e1d:	5b                   	pop    %ebx
460e1e:	8b e5                	mov    %ebp,%esp
460e20:	5d                   	pop    %ebp
460e21:	c2 08 00             	ret    $0x8
460e24:	e8 17 05 fa ff       	call   0x401340
460e29:	e8 a2 26 fa ff       	call   0x4034d0
460e2e:	e8 fe 87 01 00       	call   0x479631
460e33:	8b 55 e0             	mov    -0x20(%ebp),%edx
460e36:	51                   	push   %ecx
460e37:	8b 4d d8             	mov    -0x28(%ebp),%ecx
460e3a:	e8 81 f6 ff ff       	call   0x4604c0
460e3f:	83 c4 04             	add    $0x4,%esp
460e42:	ff 75 e8             	push   -0x18(%ebp)
460e45:	ff 75 d4             	push   -0x2c(%ebp)
460e48:	e8 13 e7 ff ff       	call   0x45f560
460e4d:	6a 00                	push   $0x0
460e4f:	6a 00                	push   $0x0
460e51:	e8 58 a7 00 00       	call   0x46b5ae
460e56:	cc                   	int3
460e57:	cc                   	int3
460e58:	cc                   	int3
460e59:	cc                   	int3
460e5a:	cc                   	int3
460e5b:	cc                   	int3
460e5c:	cc                   	int3
460e5d:	cc                   	int3
460e5e:	cc                   	int3
460e5f:	cc                   	int3
460e60:	55                   	push   %ebp
460e61:	8b ec                	mov    %esp,%ebp
460e63:	6a ff                	push   $0xffffffff
460e65:	68 fd c6 49 00       	push   $0x49c6fd
460e6a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
460e70:	50                   	push   %eax
460e71:	83 ec 0c             	sub    $0xc,%esp
460e74:	56                   	push   %esi
460e75:	57                   	push   %edi
460e76:	a1 14 40 4c 00       	mov    0x4c4014,%eax
460e7b:	33 c5                	xor    %ebp,%eax
460e7d:	50                   	push   %eax
460e7e:	8d 45 f4             	lea    -0xc(%ebp),%eax
460e81:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
460e87:	8b fa                	mov    %edx,%edi
460e89:	8b f1                	mov    %ecx,%esi
460e8b:	8b 45 08             	mov    0x8(%ebp),%eax
460e8e:	89 75 e8             	mov    %esi,-0x18(%ebp)
460e91:	89 75 ec             	mov    %esi,-0x14(%ebp)
460e94:	89 45 f0             	mov    %eax,-0x10(%ebp)
460e97:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
460e9e:	85 ff                	test   %edi,%edi
460ea0:	74 44                	je     0x460ee6
460ea2:	8d 4e 04             	lea    0x4(%esi),%ecx
460ea5:	e8 e6 d2 fe ff       	call   0x44e190
460eaa:	51                   	push   %ecx
460eab:	c7 06 dc 6b 4b 00    	movl   $0x4b6bdc,(%esi)
460eb1:	6a 02                	push   $0x2
460eb3:	c7 46 08 02 00 00 00 	movl   $0x2,0x8(%esi)
460eba:	e8 c1 28 ff ff       	call   0x453780
460ebf:	89 46 0c             	mov    %eax,0xc(%esi)
460ec2:	8b c8                	mov    %eax,%ecx
460ec4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
460ecb:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
460ed2:	8b 4e 0c             	mov    0xc(%esi),%ecx
460ed5:	83 c6 14             	add    $0x14,%esi
460ed8:	89 75 ec             	mov    %esi,-0x14(%ebp)
460edb:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
460ee1:	83 ef 01             	sub    $0x1,%edi
460ee4:	75 bc                	jne    0x460ea2
460ee6:	8b c6                	mov    %esi,%eax
460ee8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460eeb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460ef2:	59                   	pop    %ecx
460ef3:	5f                   	pop    %edi
460ef4:	5e                   	pop    %esi
460ef5:	8b e5                	mov    %ebp,%esp
460ef7:	5d                   	pop    %ebp
460ef8:	c3                   	ret
460ef9:	cc                   	int3
460efa:	cc                   	int3
460efb:	cc                   	int3
460efc:	cc                   	int3
460efd:	cc                   	int3
460efe:	cc                   	int3
460eff:	cc                   	int3
460f00:	53                   	push   %ebx
460f01:	8b d9                	mov    %ecx,%ebx
460f03:	56                   	push   %esi
460f04:	8b 33                	mov    (%ebx),%esi
460f06:	85 f6                	test   %esi,%esi
460f08:	74 66                	je     0x460f70
460f0a:	55                   	push   %ebp
460f0b:	8b 6b 04             	mov    0x4(%ebx),%ebp
460f0e:	3b f5                	cmp    %ebp,%esi
460f10:	74 1b                	je     0x460f2d
460f12:	57                   	push   %edi
460f13:	8b 06                	mov    (%esi),%eax
460f15:	6a 00                	push   $0x0
460f17:	8b 38                	mov    (%eax),%edi
460f19:	8b cf                	mov    %edi,%ecx
460f1b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
460f21:	8b ce                	mov    %esi,%ecx
460f23:	ff d7                	call   *%edi
460f25:	83 c6 14             	add    $0x14,%esi
460f28:	3b f5                	cmp    %ebp,%esi
460f2a:	75 e7                	jne    0x460f13
460f2c:	5f                   	pop    %edi
460f2d:	8b 4b 08             	mov    0x8(%ebx),%ecx
460f30:	b8 67 66 66 66       	mov    $0x66666667,%eax
460f35:	8b 33                	mov    (%ebx),%esi
460f37:	2b ce                	sub    %esi,%ecx
460f39:	f7 e9                	imul   %ecx
460f3b:	5d                   	pop    %ebp
460f3c:	c1 fa 03             	sar    $0x3,%edx
460f3f:	8b c2                	mov    %edx,%eax
460f41:	c1 e8 1f             	shr    $0x1f,%eax
460f44:	03 c2                	add    %edx,%eax
460f46:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
460f49:	c1 e1 02             	shl    $0x2,%ecx
460f4c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
460f52:	72 12                	jb     0x460f66
460f54:	8b 56 fc             	mov    -0x4(%esi),%edx
460f57:	83 c1 23             	add    $0x23,%ecx
460f5a:	2b f2                	sub    %edx,%esi
460f5c:	8d 46 fc             	lea    -0x4(%esi),%eax
460f5f:	83 f8 1f             	cmp    $0x1f,%eax
460f62:	77 31                	ja     0x460f95
460f64:	8b f2                	mov    %edx,%esi
460f66:	51                   	push   %ecx
460f67:	56                   	push   %esi
460f68:	e8 9b 8a 00 00       	call   0x469a08
460f6d:	83 c4 08             	add    $0x8,%esp
460f70:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
460f74:	8b 44 24 10          	mov    0x10(%esp),%eax
460f78:	89 0b                	mov    %ecx,(%ebx)
460f7a:	5e                   	pop    %esi
460f7b:	8d 04 80             	lea    (%eax,%eax,4),%eax
460f7e:	8d 04 81             	lea    (%ecx,%eax,4),%eax
460f81:	89 43 04             	mov    %eax,0x4(%ebx)
460f84:	8b 44 24 10          	mov    0x10(%esp),%eax
460f88:	8d 04 80             	lea    (%eax,%eax,4),%eax
460f8b:	8d 04 81             	lea    (%ecx,%eax,4),%eax
460f8e:	89 43 08             	mov    %eax,0x8(%ebx)
460f91:	5b                   	pop    %ebx
460f92:	c2 0c 00             	ret    $0xc
460f95:	e8 97 86 01 00       	call   0x479631
460f9a:	cc                   	int3
460f9b:	cc                   	int3
460f9c:	cc                   	int3
460f9d:	cc                   	int3
460f9e:	cc                   	int3
460f9f:	cc                   	int3
460fa0:	55                   	push   %ebp
460fa1:	8b ec                	mov    %esp,%ebp
460fa3:	6a fe                	push   $0xfffffffe
460fa5:	68 60 0d 4c 00       	push   $0x4c0d60
460faa:	68 10 b0 46 00       	push   $0x46b010
460faf:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
460fb5:	50                   	push   %eax
460fb6:	83 ec 10             	sub    $0x10,%esp
460fb9:	53                   	push   %ebx
460fba:	56                   	push   %esi
460fbb:	57                   	push   %edi
460fbc:	a1 14 40 4c 00       	mov    0x4c4014,%eax
460fc1:	31 45 f8             	xor    %eax,-0x8(%ebp)
460fc4:	33 c5                	xor    %ebp,%eax
460fc6:	50                   	push   %eax
460fc7:	8d 45 f0             	lea    -0x10(%ebp),%eax
460fca:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
460fd0:	89 65 e8             	mov    %esp,-0x18(%ebp)
460fd3:	89 55 e0             	mov    %edx,-0x20(%ebp)
460fd6:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
460fd9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
460fe0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
460fe3:	0f a2                	cpuid
460fe5:	8b 7d e0             	mov    -0x20(%ebp),%edi
460fe8:	89 07                	mov    %eax,(%edi)
460fea:	89 5f 04             	mov    %ebx,0x4(%edi)
460fed:	89 4f 08             	mov    %ecx,0x8(%edi)
460ff0:	89 57 0c             	mov    %edx,0xc(%edi)
460ff3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
460ffa:	b0 01                	mov    $0x1,%al
460ffc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
460fff:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
461006:	59                   	pop    %ecx
461007:	5f                   	pop    %edi
461008:	5e                   	pop    %esi
461009:	5b                   	pop    %ebx
46100a:	8b e5                	mov    %ebp,%esp
46100c:	5d                   	pop    %ebp
46100d:	c3                   	ret
46100e:	b8 01 00 00 00       	mov    $0x1,%eax
461013:	c3                   	ret
461014:	8b 65 e8             	mov    -0x18(%ebp),%esp
461017:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46101e:	32 c0                	xor    %al,%al
461020:	8b 4d f0             	mov    -0x10(%ebp),%ecx
461023:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46102a:	59                   	pop    %ecx
46102b:	5f                   	pop    %edi
46102c:	5e                   	pop    %esi
46102d:	5b                   	pop    %ebx
46102e:	8b e5                	mov    %ebp,%esp
461030:	5d                   	pop    %ebp
461031:	c3                   	ret
461032:	cc                   	int3
461033:	cc                   	int3
461034:	cc                   	int3
461035:	cc                   	int3
461036:	cc                   	int3
461037:	cc                   	int3
461038:	cc                   	int3
461039:	cc                   	int3
46103a:	cc                   	int3
46103b:	cc                   	int3
46103c:	cc                   	int3
46103d:	cc                   	int3
46103e:	cc                   	int3
46103f:	cc                   	int3
461040:	55                   	push   %ebp
461041:	8b ec                	mov    %esp,%ebp
461043:	6a fe                	push   $0xfffffffe
461045:	68 80 0d 4c 00       	push   $0x4c0d80
46104a:	68 10 b0 46 00       	push   $0x46b010
46104f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
461055:	50                   	push   %eax
461056:	83 ec 08             	sub    $0x8,%esp
461059:	53                   	push   %ebx
46105a:	56                   	push   %esi
46105b:	57                   	push   %edi
46105c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
461061:	31 45 f8             	xor    %eax,-0x8(%ebp)
461064:	33 c5                	xor    %ebp,%eax
461066:	50                   	push   %eax
461067:	8d 45 f0             	lea    -0x10(%ebp),%eax
46106a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
461070:	89 65 e8             	mov    %esp,-0x18(%ebp)
461073:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46107a:	66 0f eb c0          	por    %xmm0,%xmm0
46107e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
461085:	b0 01                	mov    $0x1,%al
461087:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46108a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
461091:	59                   	pop    %ecx
461092:	5f                   	pop    %edi
461093:	5e                   	pop    %esi
461094:	5b                   	pop    %ebx
461095:	8b e5                	mov    %ebp,%esp
461097:	5d                   	pop    %ebp
461098:	c3                   	ret
461099:	b8 01 00 00 00       	mov    $0x1,%eax
46109e:	c3                   	ret
46109f:	8b 65 e8             	mov    -0x18(%ebp),%esp
4610a2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4610a9:	32 c0                	xor    %al,%al
4610ab:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4610ae:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4610b5:	59                   	pop    %ecx
4610b6:	5f                   	pop    %edi
4610b7:	5e                   	pop    %esi
4610b8:	5b                   	pop    %ebx
4610b9:	8b e5                	mov    %ebp,%esp
4610bb:	5d                   	pop    %ebp
4610bc:	c3                   	ret
4610bd:	cc                   	int3
4610be:	cc                   	int3
4610bf:	cc                   	int3
4610c0:	83 ec 34             	sub    $0x34,%esp
4610c3:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4610c8:	33 c4                	xor    %esp,%eax
4610ca:	89 44 24 30          	mov    %eax,0x30(%esp)
4610ce:	8d 54 24 10          	lea    0x10(%esp),%edx
4610d2:	33 c9                	xor    %ecx,%ecx
4610d4:	e8 c7 fe ff ff       	call   0x460fa0
4610d9:	84 c0                	test   %al,%al
4610db:	0f 84 1e 01 00 00    	je     0x4611ff
4610e1:	8d 54 24 20          	lea    0x20(%esp),%edx
4610e5:	b9 01 00 00 00       	mov    $0x1,%ecx
4610ea:	e8 b1 fe ff ff       	call   0x460fa0
4610ef:	84 c0                	test   %al,%al
4610f1:	0f 84 08 01 00 00    	je     0x4611ff
4610f7:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4610fb:	a9 00 00 00 04       	test   $0x4000000,%eax
461100:	74 13                	je     0x461115
461102:	e8 39 ff ff ff       	call   0x461040
461107:	8a c8                	mov    %al,%cl
461109:	8b 44 24 2c          	mov    0x2c(%esp),%eax
46110d:	88 0d a6 8c 4c 00    	mov    %cl,0x4c8ca6
461113:	eb 06                	jmp    0x46111b
461115:	8a 0d a6 8c 4c 00    	mov    0x4c8ca6,%cl
46111b:	84 c9                	test   %cl,%cl
46111d:	74 0e                	je     0x46112d
46111f:	f7 44 24 28 00 00 00 	testl  $0x2000000,0x28(%esp)
461126:	02
461127:	74 04                	je     0x46112d
461129:	b1 01                	mov    $0x1,%cl
46112b:	eb 02                	jmp    0x46112f
46112d:	32 c9                	xor    %cl,%cl
46112f:	88 0d a7 8c 4c 00    	mov    %cl,0x4c8ca7
461135:	a9 00 00 00 02       	test   $0x2000000,%eax
46113a:	75 23                	jne    0x46115f