407f49:	89 30                	mov    %esi,(%eax)
407f4b:	e8 c2 a3 00 00       	call   0x412312
407f50:	cc                   	int3
407f51:	83 25 60 45 43 00 00 	andl   $0x0,0x434560
407f58:	c3                   	ret
407f59:	53                   	push   %ebx
407f5a:	56                   	push   %esi
407f5b:	be 84 0c 43 00       	mov    $0x430c84,%esi
407f60:	bb 84 0c 43 00       	mov    $0x430c84,%ebx
407f65:	3b f3                	cmp    %ebx,%esi
407f67:	73 19                	jae    0x407f82
407f69:	57                   	push   %edi
407f6a:	8b 3e                	mov    (%esi),%edi
407f6c:	85 ff                	test   %edi,%edi
407f6e:	74 0a                	je     0x407f7a
407f70:	8b cf                	mov    %edi,%ecx
407f72:	ff 15 54 41 42 00    	call   *0x424154
407f78:	ff d7                	call   *%edi
407f7a:	83 c6 04             	add    $0x4,%esi
407f7d:	3b f3                	cmp    %ebx,%esi
407f7f:	72 e9                	jb     0x407f6a
407f81:	5f                   	pop    %edi
407f82:	5e                   	pop    %esi
407f83:	5b                   	pop    %ebx
407f84:	c3                   	ret
407f85:	53                   	push   %ebx
407f86:	56                   	push   %esi
407f87:	be 8c 0c 43 00       	mov    $0x430c8c,%esi
407f8c:	bb 8c 0c 43 00       	mov    $0x430c8c,%ebx
407f91:	3b f3                	cmp    %ebx,%esi
407f93:	73 19                	jae    0x407fae
407f95:	57                   	push   %edi
407f96:	8b 3e                	mov    (%esi),%edi
407f98:	85 ff                	test   %edi,%edi
407f9a:	74 0a                	je     0x407fa6
407f9c:	8b cf                	mov    %edi,%ecx
407f9e:	ff 15 54 41 42 00    	call   *0x424154
407fa4:	ff d7                	call   *%edi
407fa6:	83 c6 04             	add    $0x4,%esi
407fa9:	3b f3                	cmp    %ebx,%esi
407fab:	72 e9                	jb     0x407f96
407fad:	5f                   	pop    %edi
407fae:	5e                   	pop    %esi
407faf:	5b                   	pop    %ebx
407fb0:	c3                   	ret
407fb1:	cc                   	int3
407fb2:	cc                   	int3
407fb3:	cc                   	int3
407fb4:	cc                   	int3
407fb5:	cc                   	int3
407fb6:	cc                   	int3
407fb7:	cc                   	int3
407fb8:	cc                   	int3
407fb9:	cc                   	int3
407fba:	cc                   	int3
407fbb:	cc                   	int3
407fbc:	cc                   	int3
407fbd:	cc                   	int3
407fbe:	cc                   	int3
407fbf:	cc                   	int3
407fc0:	68 b0 9f 40 00       	push   $0x409fb0
407fc5:	64 ff 35 00 00 00 00 	push   %fs:0x0
407fcc:	8b 44 24 10          	mov    0x10(%esp),%eax
407fd0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
407fd4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
407fd8:	2b e0                	sub    %eax,%esp
407fda:	53                   	push   %ebx
407fdb:	56                   	push   %esi
407fdc:	57                   	push   %edi
407fdd:	a1 14 30 43 00       	mov    0x433014,%eax
407fe2:	31 45 fc             	xor    %eax,-0x4(%ebp)
407fe5:	33 c5                	xor    %ebp,%eax
407fe7:	50                   	push   %eax
407fe8:	89 65 e8             	mov    %esp,-0x18(%ebp)
407feb:	ff 75 f8             	push   -0x8(%ebp)
407fee:	8b 45 fc             	mov    -0x4(%ebp),%eax
407ff1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
407ff8:	89 45 f8             	mov    %eax,-0x8(%ebp)
407ffb:	8d 45 f0             	lea    -0x10(%ebp),%eax
407ffe:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408004:	c3                   	ret
408005:	55                   	push   %ebp
408006:	8b ec                	mov    %esp,%ebp
408008:	83 25 64 45 43 00 00 	andl   $0x0,0x434564
40800f:	83 ec 24             	sub    $0x24,%esp
408012:	83 0d 30 30 43 00 01 	orl    $0x1,0x433030
408019:	6a 0a                	push   $0xa
40801b:	ff 15 70 40 42 00    	call   *0x424070
408021:	85 c0                	test   %eax,%eax
408023:	0f 84 a9 01 00 00    	je     0x4081d2
408029:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40802d:	33 c0                	xor    %eax,%eax
40802f:	53                   	push   %ebx
408030:	56                   	push   %esi
408031:	57                   	push   %edi
408032:	33 c9                	xor    %ecx,%ecx
408034:	8d 7d dc             	lea    -0x24(%ebp),%edi
408037:	53                   	push   %ebx
408038:	0f a2                	cpuid
40803a:	8b f3                	mov    %ebx,%esi
40803c:	5b                   	pop    %ebx
40803d:	89 07                	mov    %eax,(%edi)
40803f:	89 77 04             	mov    %esi,0x4(%edi)
408042:	89 4f 08             	mov    %ecx,0x8(%edi)
408045:	33 c9                	xor    %ecx,%ecx
408047:	89 57 0c             	mov    %edx,0xc(%edi)
40804a:	8b 45 dc             	mov    -0x24(%ebp),%eax
40804d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
408050:	89 45 f4             	mov    %eax,-0xc(%ebp)
408053:	81 f7 6e 74 65 6c    	xor    $0x6c65746e,%edi
408059:	8b 45 e8             	mov    -0x18(%ebp),%eax
40805c:	35 69 6e 65 49       	xor    $0x49656e69,%eax
408061:	89 45 f8             	mov    %eax,-0x8(%ebp)
408064:	8b 45 e0             	mov    -0x20(%ebp),%eax
408067:	35 47 65 6e 75       	xor    $0x756e6547,%eax
40806c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40806f:	33 c0                	xor    %eax,%eax
408071:	40                   	inc    %eax
408072:	53                   	push   %ebx
408073:	0f a2                	cpuid
408075:	8b f3                	mov    %ebx,%esi
408077:	5b                   	pop    %ebx
408078:	8d 5d dc             	lea    -0x24(%ebp),%ebx
40807b:	89 03                	mov    %eax,(%ebx)
40807d:	8b 45 fc             	mov    -0x4(%ebp),%eax
408080:	89 73 04             	mov    %esi,0x4(%ebx)
408083:	0b c7                	or     %edi,%eax
408085:	0b 45 f8             	or     -0x8(%ebp),%eax
408088:	89 4b 08             	mov    %ecx,0x8(%ebx)
40808b:	89 53 0c             	mov    %edx,0xc(%ebx)
40808e:	75 43                	jne    0x4080d3
408090:	8b 45 dc             	mov    -0x24(%ebp),%eax
408093:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
408098:	3d c0 06 01 00       	cmp    $0x106c0,%eax
40809d:	74 23                	je     0x4080c2
40809f:	3d 60 06 02 00       	cmp    $0x20660,%eax
4080a4:	74 1c                	je     0x4080c2
4080a6:	3d 70 06 02 00       	cmp    $0x20670,%eax
4080ab:	74 15                	je     0x4080c2
4080ad:	3d 50 06 03 00       	cmp    $0x30650,%eax
4080b2:	74 0e                	je     0x4080c2
4080b4:	3d 60 06 03 00       	cmp    $0x30660,%eax
4080b9:	74 07                	je     0x4080c2
4080bb:	3d 70 06 03 00       	cmp    $0x30670,%eax
4080c0:	75 11                	jne    0x4080d3
4080c2:	8b 3d 68 45 43 00    	mov    0x434568,%edi
4080c8:	83 cf 01             	or     $0x1,%edi
4080cb:	89 3d 68 45 43 00    	mov    %edi,0x434568
4080d1:	eb 06                	jmp    0x4080d9
4080d3:	8b 3d 68 45 43 00    	mov    0x434568,%edi
4080d9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4080dc:	6a 07                	push   $0x7
4080de:	58                   	pop    %eax
4080df:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4080e2:	39 45 f4             	cmp    %eax,-0xc(%ebp)
4080e5:	7c 2f                	jl     0x408116
4080e7:	33 c9                	xor    %ecx,%ecx
4080e9:	53                   	push   %ebx
4080ea:	0f a2                	cpuid
4080ec:	8b f3                	mov    %ebx,%esi
4080ee:	5b                   	pop    %ebx
4080ef:	8d 5d dc             	lea    -0x24(%ebp),%ebx
4080f2:	89 03                	mov    %eax,(%ebx)
4080f4:	89 73 04             	mov    %esi,0x4(%ebx)
4080f7:	89 4b 08             	mov    %ecx,0x8(%ebx)
4080fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4080fd:	89 53 0c             	mov    %edx,0xc(%ebx)
408100:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408103:	f7 c3 00 02 00 00    	test   $0x200,%ebx
408109:	74 0e                	je     0x408119
40810b:	83 cf 02             	or     $0x2,%edi
40810e:	89 3d 68 45 43 00    	mov    %edi,0x434568
408114:	eb 03                	jmp    0x408119
408116:	8b 5d f0             	mov    -0x10(%ebp),%ebx
408119:	a1 30 30 43 00       	mov    0x433030,%eax
40811e:	83 c8 02             	or     $0x2,%eax
408121:	c7 05 64 45 43 00 01 	movl   $0x1,0x434564
408128:	00 00 00
40812b:	a3 30 30 43 00       	mov    %eax,0x433030
408130:	f7 c1 00 00 10 00    	test   $0x100000,%ecx
408136:	0f 84 93 00 00 00    	je     0x4081cf
40813c:	83 c8 04             	or     $0x4,%eax
40813f:	c7 05 64 45 43 00 02 	movl   $0x2,0x434564
408146:	00 00 00
408149:	a3 30 30 43 00       	mov    %eax,0x433030
40814e:	f7 c1 00 00 00 08    	test   $0x8000000,%ecx
408154:	74 79                	je     0x4081cf
408156:	f7 c1 00 00 00 10    	test   $0x10000000,%ecx
40815c:	74 71                	je     0x4081cf
40815e:	33 c9                	xor    %ecx,%ecx
408160:	0f 01 d0             	xgetbv
408163:	89 45 ec             	mov    %eax,-0x14(%ebp)
408166:	89 55 f0             	mov    %edx,-0x10(%ebp)
408169:	8b 45 ec             	mov    -0x14(%ebp),%eax
40816c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40816f:	6a 06                	push   $0x6
408171:	5e                   	pop    %esi
408172:	23 c6                	and    %esi,%eax
408174:	3b c6                	cmp    %esi,%eax
408176:	75 57                	jne    0x4081cf
408178:	a1 30 30 43 00       	mov    0x433030,%eax
40817d:	83 c8 08             	or     $0x8,%eax
408180:	c7 05 64 45 43 00 03 	movl   $0x3,0x434564
408187:	00 00 00
40818a:	a3 30 30 43 00       	mov    %eax,0x433030
40818f:	f6 c3 20             	test   $0x20,%bl
408192:	74 3b                	je     0x4081cf
408194:	83 c8 20             	or     $0x20,%eax
408197:	c7 05 64 45 43 00 05 	movl   $0x5,0x434564
40819e:	00 00 00
4081a1:	a3 30 30 43 00       	mov    %eax,0x433030
4081a6:	b8 00 00 03 d0       	mov    $0xd0030000,%eax
4081ab:	23 d8                	and    %eax,%ebx
4081ad:	3b d8                	cmp    %eax,%ebx
4081af:	75 1e                	jne    0x4081cf
4081b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4081b4:	ba e0 00 00 00       	mov    $0xe0,%edx
4081b9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4081bc:	23 c2                	and    %edx,%eax
4081be:	3b c2                	cmp    %edx,%eax
4081c0:	75 0d                	jne    0x4081cf
4081c2:	83 0d 30 30 43 00 40 	orl    $0x40,0x433030
4081c9:	89 35 64 45 43 00    	mov    %esi,0x434564
4081cf:	5f                   	pop    %edi
4081d0:	5e                   	pop    %esi
4081d1:	5b                   	pop    %ebx
4081d2:	33 c0                	xor    %eax,%eax
4081d4:	c9                   	leave
4081d5:	c3                   	ret
4081d6:	33 c0                	xor    %eax,%eax
4081d8:	39 05 4c 53 43 00    	cmp    %eax,0x43534c
4081de:	0f 95 c0             	setne  %al
4081e1:	c3                   	ret
4081e2:	cc                   	int3
4081e3:	cc                   	int3
4081e4:	cc                   	int3
4081e5:	cc                   	int3
4081e6:	cc                   	int3
4081e7:	cc                   	int3
4081e8:	cc                   	int3
4081e9:	cc                   	int3
4081ea:	cc                   	int3
4081eb:	cc                   	int3
4081ec:	cc                   	int3
4081ed:	cc                   	int3
4081ee:	cc                   	int3
4081ef:	cc                   	int3
4081f0:	51                   	push   %ecx
4081f1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4081f5:	2b c8                	sub    %eax,%ecx
4081f7:	1b c0                	sbb    %eax,%eax
4081f9:	f7 d0                	not    %eax
4081fb:	23 c8                	and    %eax,%ecx
4081fd:	8b c4                	mov    %esp,%eax
4081ff:	25 00 f0 ff ff       	and    $0xfffff000,%eax
408204:	3b c8                	cmp    %eax,%ecx
408206:	72 0a                	jb     0x408212
408208:	8b c1                	mov    %ecx,%eax
40820a:	59                   	pop    %ecx
40820b:	94                   	xchg   %eax,%esp
40820c:	8b 00                	mov    (%eax),%eax
40820e:	89 04 24             	mov    %eax,(%esp)
408211:	c3                   	ret
408212:	2d 00 10 00 00       	sub    $0x1000,%eax
408217:	85 00                	test   %eax,(%eax)
408219:	eb e9                	jmp    0x408204
40821b:	55                   	push   %ebp
40821c:	8b ec                	mov    %esp,%ebp
40821e:	51                   	push   %ecx
40821f:	8b 45 18             	mov    0x18(%ebp),%eax
408222:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
408225:	53                   	push   %ebx
408226:	56                   	push   %esi
408227:	8b 58 10             	mov    0x10(%eax),%ebx
40822a:	57                   	push   %edi
40822b:	8b 78 0c             	mov    0xc(%eax),%edi
40822e:	8b d7                	mov    %edi,%edx
408230:	89 55 fc             	mov    %edx,-0x4(%ebp)
408233:	8b f2                	mov    %edx,%esi
408235:	85 c9                	test   %ecx,%ecx
408237:	78 2d                	js     0x408266
408239:	6b c2 14             	imul   $0x14,%edx,%eax
40823c:	83 c3 08             	add    $0x8,%ebx
40823f:	03 c3                	add    %ebx,%eax
408241:	8b 5d 10             	mov    0x10(%ebp),%ebx
408244:	83 fa ff             	cmp    $0xffffffff,%edx
408247:	74 3c                	je     0x408285
408249:	83 e8 14             	sub    $0x14,%eax
40824c:	4a                   	dec    %edx
40824d:	39 58 fc             	cmp    %ebx,-0x4(%eax)
408250:	7d 04                	jge    0x408256
408252:	3b 18                	cmp    (%eax),%ebx
408254:	7e 05                	jle    0x40825b
408256:	83 fa ff             	cmp    $0xffffffff,%edx
408259:	75 07                	jne    0x408262
40825b:	8b 75 fc             	mov    -0x4(%ebp),%esi
40825e:	49                   	dec    %ecx
40825f:	89 55 fc             	mov    %edx,-0x4(%ebp)
408262:	85 c9                	test   %ecx,%ecx
408264:	79 de                	jns    0x408244
408266:	42                   	inc    %edx
408267:	3b f7                	cmp    %edi,%esi
408269:	77 1a                	ja     0x408285
40826b:	3b d6                	cmp    %esi,%edx
40826d:	77 16                	ja     0x408285
40826f:	8b 45 08             	mov    0x8(%ebp),%eax
408272:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408275:	5f                   	pop    %edi
408276:	89 70 0c             	mov    %esi,0xc(%eax)
408279:	5e                   	pop    %esi
40827a:	89 08                	mov    %ecx,(%eax)
40827c:	89 50 04             	mov    %edx,0x4(%eax)
40827f:	89 48 08             	mov    %ecx,0x8(%eax)
408282:	5b                   	pop    %ebx
408283:	c9                   	leave
408284:	c3                   	ret
408285:	e8 84 6b 00 00       	call   0x40ee0e
40828a:	cc                   	int3
40828b:	55                   	push   %ebp
40828c:	8b ec                	mov    %esp,%ebp
40828e:	83 ec 18             	sub    $0x18,%esp
408291:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
408295:	8d 45 e8             	lea    -0x18(%ebp),%eax
408298:	33 05 14 30 43 00    	xor    0x433014,%eax
40829e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4082a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4082a4:	8b 45 0c             	mov    0xc(%ebp),%eax
4082a7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4082aa:	8b 45 14             	mov    0x14(%ebp),%eax
4082ad:	40                   	inc    %eax
4082ae:	c7 45 ec 61 84 40 00 	movl   $0x408461,-0x14(%ebp)
4082b5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4082b8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4082bb:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4082c1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4082c4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4082c7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4082cd:	ff 75 18             	push   0x18(%ebp)
4082d0:	51                   	push   %ecx
4082d1:	ff 75 10             	push   0x10(%ebp)
4082d4:	e8 17 2d 00 00       	call   0x40aff0
4082d9:	8b c8                	mov    %eax,%ecx
4082db:	8b 45 e8             	mov    -0x18(%ebp),%eax
4082de:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4082e4:	8b c1                	mov    %ecx,%eax
4082e6:	c9                   	leave
4082e7:	c3                   	ret
4082e8:	55                   	push   %ebp
4082e9:	8b ec                	mov    %esp,%ebp
4082eb:	83 ec 40             	sub    $0x40,%esp