403e7f:	3b f3                	cmp    %ebx,%esi
403e81:	73 19                	jae    0x403e9c
403e83:	57                   	push   %edi
403e84:	8b 3e                	mov    (%esi),%edi
403e86:	85 ff                	test   %edi,%edi
403e88:	74 0a                	je     0x403e94
403e8a:	8b cf                	mov    %edi,%ecx
403e8c:	ff 15 54 91 41 00    	call   *0x419154
403e92:	ff d7                	call   *%edi
403e94:	83 c6 04             	add    $0x4,%esi
403e97:	3b f3                	cmp    %ebx,%esi
403e99:	72 e9                	jb     0x403e84
403e9b:	5f                   	pop    %edi
403e9c:	5e                   	pop    %esi
403e9d:	5b                   	pop    %ebx
403e9e:	c3                   	ret
403e9f:	cc                   	int3
403ea0:	68 b0 50 40 00       	push   $0x4050b0
403ea5:	64 ff 35 00 00 00 00 	push   %fs:0x0
403eac:	8b 44 24 10          	mov    0x10(%esp),%eax
403eb0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
403eb4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
403eb8:	2b e0                	sub    %eax,%esp
403eba:	53                   	push   %ebx
403ebb:	56                   	push   %esi
403ebc:	57                   	push   %edi
403ebd:	a1 c0 10 42 00       	mov    0x4210c0,%eax
403ec2:	31 45 fc             	xor    %eax,-0x4(%ebp)
403ec5:	33 c5                	xor    %ebp,%eax
403ec7:	50                   	push   %eax
403ec8:	89 65 e8             	mov    %esp,-0x18(%ebp)
403ecb:	ff 75 f8             	push   -0x8(%ebp)
403ece:	8b 45 fc             	mov    -0x4(%ebp),%eax
403ed1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403ed8:	89 45 f8             	mov    %eax,-0x8(%ebp)
403edb:	8d 45 f0             	lea    -0x10(%ebp),%eax
403ede:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403ee4:	c3                   	ret
403ee5:	cc                   	int3
403ee6:	cc                   	int3
403ee7:	cc                   	int3
403ee8:	55                   	push   %ebp
403ee9:	8b ec                	mov    %esp,%ebp
403eeb:	83 25 6c 1a 42 00 00 	andl   $0x0,0x421a6c
403ef2:	83 ec 24             	sub    $0x24,%esp
403ef5:	83 0d b0 10 42 00 01 	orl    $0x1,0x4210b0
403efc:	6a 0a                	push   $0xa
403efe:	ff 15 6c 90 41 00    	call   *0x41906c
403f04:	85 c0                	test   %eax,%eax
403f06:	0f 84 ac 01 00 00    	je     0x4040b8
403f0c:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
403f10:	33 c0                	xor    %eax,%eax
403f12:	53                   	push   %ebx
403f13:	56                   	push   %esi
403f14:	57                   	push   %edi
403f15:	33 c9                	xor    %ecx,%ecx
403f17:	8d 7d dc             	lea    -0x24(%ebp),%edi
403f1a:	53                   	push   %ebx
403f1b:	0f a2                	cpuid
403f1d:	8b f3                	mov    %ebx,%esi
403f1f:	5b                   	pop    %ebx
403f20:	90                   	nop
403f21:	89 07                	mov    %eax,(%edi)
403f23:	89 77 04             	mov    %esi,0x4(%edi)
403f26:	89 4f 08             	mov    %ecx,0x8(%edi)
403f29:	33 c9                	xor    %ecx,%ecx
403f2b:	89 57 0c             	mov    %edx,0xc(%edi)
403f2e:	8b 45 dc             	mov    -0x24(%ebp),%eax
403f31:	8b 7d e0             	mov    -0x20(%ebp),%edi
403f34:	89 45 f4             	mov    %eax,-0xc(%ebp)
403f37:	81 f7 47 65 6e 75    	xor    $0x756e6547,%edi
403f3d:	8b 45 e8             	mov    -0x18(%ebp),%eax
403f40:	35 69 6e 65 49       	xor    $0x49656e69,%eax
403f45:	89 45 fc             	mov    %eax,-0x4(%ebp)
403f48:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403f4b:	35 6e 74 65 6c       	xor    $0x6c65746e,%eax
403f50:	89 45 f8             	mov    %eax,-0x8(%ebp)
403f53:	33 c0                	xor    %eax,%eax
403f55:	40                   	inc    %eax
403f56:	53                   	push   %ebx
403f57:	0f a2                	cpuid
403f59:	8b f3                	mov    %ebx,%esi
403f5b:	5b                   	pop    %ebx
403f5c:	90                   	nop
403f5d:	8d 5d dc             	lea    -0x24(%ebp),%ebx
403f60:	89 03                	mov    %eax,(%ebx)
403f62:	8b 45 fc             	mov    -0x4(%ebp),%eax
403f65:	0b 45 f8             	or     -0x8(%ebp),%eax
403f68:	0b c7                	or     %edi,%eax
403f6a:	89 73 04             	mov    %esi,0x4(%ebx)
403f6d:	89 4b 08             	mov    %ecx,0x8(%ebx)
403f70:	89 53 0c             	mov    %edx,0xc(%ebx)
403f73:	75 43                	jne    0x403fb8
403f75:	8b 45 dc             	mov    -0x24(%ebp),%eax
403f78:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
403f7d:	3d c0 06 01 00       	cmp    $0x106c0,%eax
403f82:	74 23                	je     0x403fa7
403f84:	3d 60 06 02 00       	cmp    $0x20660,%eax
403f89:	74 1c                	je     0x403fa7
403f8b:	3d 70 06 02 00       	cmp    $0x20670,%eax
403f90:	74 15                	je     0x403fa7
403f92:	3d 50 06 03 00       	cmp    $0x30650,%eax
403f97:	74 0e                	je     0x403fa7
403f99:	3d 60 06 03 00       	cmp    $0x30660,%eax
403f9e:	74 07                	je     0x403fa7
403fa0:	3d 70 06 03 00       	cmp    $0x30670,%eax
403fa5:	75 11                	jne    0x403fb8
403fa7:	8b 3d 70 1a 42 00    	mov    0x421a70,%edi
403fad:	83 cf 01             	or     $0x1,%edi
403fb0:	89 3d 70 1a 42 00    	mov    %edi,0x421a70
403fb6:	eb 06                	jmp    0x403fbe
403fb8:	8b 3d 70 1a 42 00    	mov    0x421a70,%edi
403fbe:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
403fc1:	6a 07                	push   $0x7
403fc3:	58                   	pop    %eax
403fc4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
403fc7:	39 45 f4             	cmp    %eax,-0xc(%ebp)
403fca:	7c 30                	jl     0x403ffc
403fcc:	33 c9                	xor    %ecx,%ecx
403fce:	53                   	push   %ebx
403fcf:	0f a2                	cpuid
403fd1:	8b f3                	mov    %ebx,%esi
403fd3:	5b                   	pop    %ebx
403fd4:	90                   	nop
403fd5:	8d 5d dc             	lea    -0x24(%ebp),%ebx
403fd8:	89 03                	mov    %eax,(%ebx)
403fda:	89 73 04             	mov    %esi,0x4(%ebx)
403fdd:	89 4b 08             	mov    %ecx,0x8(%ebx)
403fe0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403fe3:	89 53 0c             	mov    %edx,0xc(%ebx)
403fe6:	8b 5d e0             	mov    -0x20(%ebp),%ebx
403fe9:	f7 c3 00 02 00 00    	test   $0x200,%ebx
403fef:	74 0e                	je     0x403fff
403ff1:	83 cf 02             	or     $0x2,%edi
403ff4:	89 3d 70 1a 42 00    	mov    %edi,0x421a70
403ffa:	eb 03                	jmp    0x403fff
403ffc:	8b 5d f0             	mov    -0x10(%ebp),%ebx
403fff:	a1 b0 10 42 00       	mov    0x4210b0,%eax
404004:	83 c8 02             	or     $0x2,%eax
404007:	c7 05 6c 1a 42 00 01 	movl   $0x1,0x421a6c
40400e:	00 00 00
404011:	a3 b0 10 42 00       	mov    %eax,0x4210b0
404016:	f7 c1 00 00 10 00    	test   $0x100000,%ecx
40401c:	0f 84 93 00 00 00    	je     0x4040b5
404022:	83 c8 04             	or     $0x4,%eax
404025:	c7 05 6c 1a 42 00 02 	movl   $0x2,0x421a6c
40402c:	00 00 00
40402f:	a3 b0 10 42 00       	mov    %eax,0x4210b0
404034:	f7 c1 00 00 00 08    	test   $0x8000000,%ecx
40403a:	74 79                	je     0x4040b5
40403c:	f7 c1 00 00 00 10    	test   $0x10000000,%ecx
404042:	74 71                	je     0x4040b5
404044:	33 c9                	xor    %ecx,%ecx
404046:	0f 01 d0             	xgetbv
404049:	89 45 ec             	mov    %eax,-0x14(%ebp)
40404c:	89 55 f0             	mov    %edx,-0x10(%ebp)
40404f:	8b 45 ec             	mov    -0x14(%ebp),%eax
404052:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404055:	6a 06                	push   $0x6
404057:	5e                   	pop    %esi
404058:	23 c6                	and    %esi,%eax
40405a:	3b c6                	cmp    %esi,%eax
40405c:	75 57                	jne    0x4040b5
40405e:	a1 b0 10 42 00       	mov    0x4210b0,%eax
404063:	83 c8 08             	or     $0x8,%eax
404066:	c7 05 6c 1a 42 00 03 	movl   $0x3,0x421a6c
40406d:	00 00 00
404070:	a3 b0 10 42 00       	mov    %eax,0x4210b0
404075:	f6 c3 20             	test   $0x20,%bl
404078:	74 3b                	je     0x4040b5
40407a:	83 c8 20             	or     $0x20,%eax
40407d:	c7 05 6c 1a 42 00 05 	movl   $0x5,0x421a6c
404084:	00 00 00
404087:	a3 b0 10 42 00       	mov    %eax,0x4210b0
40408c:	b8 00 00 03 d0       	mov    $0xd0030000,%eax
404091:	23 d8                	and    %eax,%ebx
404093:	3b d8                	cmp    %eax,%ebx
404095:	75 1e                	jne    0x4040b5
404097:	8b 45 ec             	mov    -0x14(%ebp),%eax
40409a:	ba e0 00 00 00       	mov    $0xe0,%edx
40409f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4040a2:	23 c2                	and    %edx,%eax
4040a4:	3b c2                	cmp    %edx,%eax
4040a6:	75 0d                	jne    0x4040b5
4040a8:	83 0d b0 10 42 00 40 	orl    $0x40,0x4210b0
4040af:	89 35 6c 1a 42 00    	mov    %esi,0x421a6c
4040b5:	5f                   	pop    %edi
4040b6:	5e                   	pop    %esi
4040b7:	5b                   	pop    %ebx
4040b8:	33 c0                	xor    %eax,%eax
4040ba:	c9                   	leave
4040bb:	c3                   	ret
4040bc:	33 c0                	xor    %eax,%eax
4040be:	39 05 64 25 42 00    	cmp    %eax,0x422564
4040c4:	0f 95 c0             	setne  %al
4040c7:	c3                   	ret
4040c8:	3b 0d c0 10 42 00    	cmp    0x4210c0,%ecx
4040ce:	75 01                	jne    0x4040d1
4040d0:	c3                   	ret
4040d1:	e9 28 00 00 00       	jmp    0x4040fe
4040d6:	55                   	push   %ebp
4040d7:	8b ec                	mov    %esp,%ebp
4040d9:	6a 00                	push   $0x0
4040db:	ff 15 68 90 41 00    	call   *0x419068
4040e1:	ff 75 08             	push   0x8(%ebp)
4040e4:	ff 15 64 90 41 00    	call   *0x419064
4040ea:	68 09 04 00 c0       	push   $0xc0000409
4040ef:	ff 15 74 90 41 00    	call   *0x419074
4040f5:	50                   	push   %eax
4040f6:	ff 15 78 90 41 00    	call   *0x419078
4040fc:	5d                   	pop    %ebp
4040fd:	c3                   	ret
4040fe:	55                   	push   %ebp
4040ff:	8b ec                	mov    %esp,%ebp
404101:	81 ec 24 03 00 00    	sub    $0x324,%esp
404107:	6a 17                	push   $0x17
404109:	ff 15 6c 90 41 00    	call   *0x41906c
40410f:	85 c0                	test   %eax,%eax
404111:	74 05                	je     0x404118
404113:	6a 02                	push   $0x2
404115:	59                   	pop    %ecx
404116:	cd 29                	int    $0x29
404118:	a3 78 1b 42 00       	mov    %eax,0x421b78
40411d:	89 0d 74 1b 42 00    	mov    %ecx,0x421b74
404123:	89 15 70 1b 42 00    	mov    %edx,0x421b70
404129:	89 1d 6c 1b 42 00    	mov    %ebx,0x421b6c
40412f:	89 35 68 1b 42 00    	mov    %esi,0x421b68
404135:	89 3d 64 1b 42 00    	mov    %edi,0x421b64
40413b:	66 8c 15 90 1b 42 00 	data16 mov %ss,0x421b90
404142:	66 8c 0d 84 1b 42 00 	data16 mov %cs,0x421b84
404149:	66 8c 1d 60 1b 42 00 	data16 mov %ds,0x421b60
404150:	66 8c 05 5c 1b 42 00 	data16 mov %es,0x421b5c
404157:	66 8c 25 58 1b 42 00 	data16 mov %fs,0x421b58
40415e:	66 8c 2d 54 1b 42 00 	data16 mov %gs,0x421b54
404165:	9c                   	pushf
404166:	8f 05 88 1b 42 00    	pop    0x421b88
40416c:	8b 45 00             	mov    0x0(%ebp),%eax
40416f:	a3 7c 1b 42 00       	mov    %eax,0x421b7c
404174:	8b 45 04             	mov    0x4(%ebp),%eax
404177:	a3 80 1b 42 00       	mov    %eax,0x421b80
40417c:	8d 45 08             	lea    0x8(%ebp),%eax
40417f:	a3 8c 1b 42 00       	mov    %eax,0x421b8c
404184:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
40418a:	c7 05 c8 1a 42 00 01 	movl   $0x10001,0x421ac8
404191:	00 01 00
404194:	a1 80 1b 42 00       	mov    0x421b80,%eax
404199:	a3 84 1a 42 00       	mov    %eax,0x421a84
40419e:	c7 05 78 1a 42 00 09 	movl   $0xc0000409,0x421a78
4041a5:	04 00 c0
4041a8:	c7 05 7c 1a 42 00 01 	movl   $0x1,0x421a7c
4041af:	00 00 00
4041b2:	c7 05 88 1a 42 00 01 	movl   $0x1,0x421a88
4041b9:	00 00 00
4041bc:	6a 04                	push   $0x4
4041be:	58                   	pop    %eax
4041bf:	6b c0 00             	imul   $0x0,%eax,%eax
4041c2:	c7 80 8c 1a 42 00 02 	movl   $0x2,0x421a8c(%eax)
4041c9:	00 00 00
4041cc:	6a 04                	push   $0x4
4041ce:	58                   	pop    %eax
4041cf:	6b c0 00             	imul   $0x0,%eax,%eax
4041d2:	8b 0d c0 10 42 00    	mov    0x4210c0,%ecx
4041d8:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4041dc:	6a 04                	push   $0x4
4041de:	58                   	pop    %eax
4041df:	c1 e0 00             	shl    $0x0,%eax
4041e2:	8b 0d 00 11 42 00    	mov    0x421100,%ecx
4041e8:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4041ec:	68 9c 95 41 00       	push   $0x41959c
4041f1:	e8 e0 fe ff ff       	call   0x4040d6
4041f6:	c9                   	leave
4041f7:	c3                   	ret
4041f8:	55                   	push   %ebp
4041f9:	8b ec                	mov    %esp,%ebp
4041fb:	51                   	push   %ecx
4041fc:	51                   	push   %ecx
4041fd:	8b 45 08             	mov    0x8(%ebp),%eax
404200:	56                   	push   %esi
404201:	8b f1                	mov    %ecx,%esi
404203:	89 45 f8             	mov    %eax,-0x8(%ebp)
404206:	8d 45 f8             	lea    -0x8(%ebp),%eax
404209:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40420d:	8d 56 04             	lea    0x4(%esi),%edx
404210:	c7 06 88 94 41 00    	movl   $0x419488,(%esi)
404216:	83 22 00             	andl   $0x0,(%edx)
404219:	83 62 04 00          	andl   $0x0,0x4(%edx)
40421d:	52                   	push   %edx
40421e:	50                   	push   %eax
40421f:	e8 12 0a 00 00       	call   0x404c36
404224:	59                   	pop    %ecx
404225:	59                   	pop    %ecx
404226:	8b c6                	mov    %esi,%eax
404228:	5e                   	pop    %esi
404229:	c9                   	leave
40422a:	c2 04 00             	ret    $0x4
40422d:	55                   	push   %ebp
40422e:	8b ec                	mov    %esp,%ebp
404230:	56                   	push   %esi
404231:	ff 75 08             	push   0x8(%ebp)
404234:	8b f1                	mov    %ecx,%esi
404236:	e8 b5 e9 ff ff       	call   0x402bf0
40423b:	c7 06 b4 95 41 00    	movl   $0x4195b4,(%esi)
404241:	8b c6                	mov    %esi,%eax
404243:	5e                   	pop    %esi
404244:	5d                   	pop    %ebp
404245:	c2 04 00             	ret    $0x4
404248:	55                   	push   %ebp
404249:	8b ec                	mov    %esp,%ebp
40424b:	51                   	push   %ecx
40424c:	56                   	push   %esi
40424d:	ff 75 08             	push   0x8(%ebp)
404250:	8b f1                	mov    %ecx,%esi
404252:	89 75 fc             	mov    %esi,-0x4(%ebp)
404255:	e8 9e ff ff ff       	call   0x4041f8
40425a:	c7 06 b4 95 41 00    	movl   $0x4195b4,(%esi)
404260:	8b c6                	mov    %esi,%eax
404262:	5e                   	pop    %esi
404263:	c9                   	leave
404264:	c2 04 00             	ret    $0x4
404267:	55                   	push   %ebp
404268:	8b ec                	mov    %esp,%ebp
40426a:	56                   	push   %esi
40426b:	ff 75 08             	push   0x8(%ebp)
40426e:	8b f1                	mov    %ecx,%esi
404270:	e8 7b e9 ff ff       	call   0x402bf0
404275:	c7 06 a8 95 41 00    	movl   $0x4195a8,(%esi)
40427b:	8b c6                	mov    %esi,%eax
40427d:	5e                   	pop    %esi
40427e:	5d                   	pop    %ebp
40427f:	c2 04 00             	ret    $0x4
404282:	55                   	push   %ebp
404283:	8b ec                	mov    %esp,%ebp
404285:	56                   	push   %esi
404286:	ff 75 08             	push   0x8(%ebp)
404289:	8b f1                	mov    %ecx,%esi
40428b:	e8 60 e9 ff ff       	call   0x402bf0
404290:	c7 06 c0 95 41 00    	movl   $0x4195c0,(%esi)
404296:	8b c6                	mov    %esi,%eax
404298:	5e                   	pop    %esi
404299:	5d                   	pop    %ebp
40429a:	c2 04 00             	ret    $0x4
40429d:	55                   	push   %ebp
40429e:	8b ec                	mov    %esp,%ebp
4042a0:	51                   	push   %ecx
4042a1:	56                   	push   %esi
4042a2:	ff 75 08             	push   0x8(%ebp)
4042a5:	8b f1                	mov    %ecx,%esi
4042a7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4042aa:	e8 49 ff ff ff       	call   0x4041f8
4042af:	c7 06 c0 95 41 00    	movl   $0x4195c0,(%esi)