40a71b:	83 3d ac 1d 42 00 00 	cmpl   $0x0,0x421dac
40a722:	0f 85 86 6e 00 00    	jne    0x4115ae
40a728:	ba 05 00 00 00       	mov    $0x5,%edx
40a72d:	8d 0d a0 08 42 00    	lea    0x4208a0,%ecx
40a733:	e8 8f 6d 00 00       	call   0x4114c7
40a738:	5a                   	pop    %edx
40a739:	c3                   	ret
40a73a:	55                   	push   %ebp
40a73b:	8b ec                	mov    %esp,%ebp
40a73d:	ff 15 9c 90 41 00    	call   *0x41909c
40a743:	6a 01                	push   $0x1
40a745:	a3 cc 20 42 00       	mov    %eax,0x4220cc
40a74a:	e8 4d 6f 00 00       	call   0x41169c
40a74f:	ff 75 08             	push   0x8(%ebp)
40a752:	e8 2d 53 00 00       	call   0x40fa84
40a757:	83 3d cc 20 42 00 00 	cmpl   $0x0,0x4220cc
40a75e:	59                   	pop    %ecx
40a75f:	59                   	pop    %ecx
40a760:	75 08                	jne    0x40a76a
40a762:	6a 01                	push   $0x1
40a764:	e8 33 6f 00 00       	call   0x41169c
40a769:	59                   	pop    %ecx
40a76a:	68 09 04 00 c0       	push   $0xc0000409
40a76f:	e8 fb 52 00 00       	call   0x40fa6f
40a774:	59                   	pop    %ecx
40a775:	5d                   	pop    %ebp
40a776:	c3                   	ret
40a777:	55                   	push   %ebp
40a778:	8b ec                	mov    %esp,%ebp
40a77a:	81 ec 24 03 00 00    	sub    $0x324,%esp
40a780:	6a 17                	push   $0x17
40a782:	e8 f1 d2 00 00       	call   0x417a78
40a787:	85 c0                	test   %eax,%eax
40a789:	74 05                	je     0x40a790
40a78b:	6a 02                	push   $0x2
40a78d:	59                   	pop    %ecx
40a78e:	cd 29                	int    $0x29
40a790:	a3 b0 1e 42 00       	mov    %eax,0x421eb0
40a795:	89 0d ac 1e 42 00    	mov    %ecx,0x421eac
40a79b:	89 15 a8 1e 42 00    	mov    %edx,0x421ea8
40a7a1:	89 1d a4 1e 42 00    	mov    %ebx,0x421ea4
40a7a7:	89 35 a0 1e 42 00    	mov    %esi,0x421ea0
40a7ad:	89 3d 9c 1e 42 00    	mov    %edi,0x421e9c
40a7b3:	66 8c 15 c8 1e 42 00 	data16 mov %ss,0x421ec8
40a7ba:	66 8c 0d bc 1e 42 00 	data16 mov %cs,0x421ebc
40a7c1:	66 8c 1d 98 1e 42 00 	data16 mov %ds,0x421e98
40a7c8:	66 8c 05 94 1e 42 00 	data16 mov %es,0x421e94
40a7cf:	66 8c 25 90 1e 42 00 	data16 mov %fs,0x421e90
40a7d6:	66 8c 2d 8c 1e 42 00 	data16 mov %gs,0x421e8c
40a7dd:	9c                   	pushf
40a7de:	8f 05 c0 1e 42 00    	pop    0x421ec0
40a7e4:	8b 45 00             	mov    0x0(%ebp),%eax
40a7e7:	a3 b4 1e 42 00       	mov    %eax,0x421eb4
40a7ec:	8b 45 04             	mov    0x4(%ebp),%eax
40a7ef:	a3 b8 1e 42 00       	mov    %eax,0x421eb8
40a7f4:	8d 45 08             	lea    0x8(%ebp),%eax
40a7f7:	a3 c4 1e 42 00       	mov    %eax,0x421ec4
40a7fc:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
40a802:	c7 05 00 1e 42 00 01 	movl   $0x10001,0x421e00
40a809:	00 01 00
40a80c:	a1 b8 1e 42 00       	mov    0x421eb8,%eax
40a811:	a3 bc 1d 42 00       	mov    %eax,0x421dbc
40a816:	c7 05 b0 1d 42 00 09 	movl   $0xc0000409,0x421db0
40a81d:	04 00 c0
40a820:	c7 05 b4 1d 42 00 01 	movl   $0x1,0x421db4
40a827:	00 00 00
40a82a:	c7 05 c0 1d 42 00 01 	movl   $0x1,0x421dc0
40a831:	00 00 00
40a834:	6a 04                	push   $0x4
40a836:	58                   	pop    %eax
40a837:	6b c0 00             	imul   $0x0,%eax,%eax
40a83a:	c7 80 c4 1d 42 00 02 	movl   $0x2,0x421dc4(%eax)
40a841:	00 00 00
40a844:	6a 04                	push   $0x4
40a846:	58                   	pop    %eax
40a847:	6b c0 00             	imul   $0x0,%eax,%eax
40a84a:	8b 0d 90 08 42 00    	mov    0x420890,%ecx
40a850:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40a854:	6a 04                	push   $0x4
40a856:	58                   	pop    %eax
40a857:	c1 e0 00             	shl    $0x0,%eax
40a85a:	8b 0d 94 08 42 00    	mov    0x420894,%ecx
40a860:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40a864:	68 4c ab 41 00       	push   $0x41ab4c
40a869:	e8 cc fe ff ff       	call   0x40a73a
40a86e:	c9                   	leave
40a86f:	c3                   	ret
40a870:	55                   	push   %ebp
40a871:	8b ec                	mov    %esp,%ebp
40a873:	6a 08                	push   $0x8
40a875:	e8 02 00 00 00       	call   0x40a87c
40a87a:	5d                   	pop    %ebp
40a87b:	c3                   	ret
40a87c:	55                   	push   %ebp
40a87d:	8b ec                	mov    %esp,%ebp
40a87f:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
40a885:	6a 17                	push   $0x17
40a887:	e8 ec d1 00 00       	call   0x417a78
40a88c:	85 c0                	test   %eax,%eax
40a88e:	74 05                	je     0x40a895
40a890:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a893:	cd 29                	int    $0x29
40a895:	a3 b0 1e 42 00       	mov    %eax,0x421eb0
40a89a:	89 0d ac 1e 42 00    	mov    %ecx,0x421eac
40a8a0:	89 15 a8 1e 42 00    	mov    %edx,0x421ea8
40a8a6:	89 1d a4 1e 42 00    	mov    %ebx,0x421ea4
40a8ac:	89 35 a0 1e 42 00    	mov    %esi,0x421ea0
40a8b2:	89 3d 9c 1e 42 00    	mov    %edi,0x421e9c
40a8b8:	66 8c 15 c8 1e 42 00 	data16 mov %ss,0x421ec8
40a8bf:	66 8c 0d bc 1e 42 00 	data16 mov %cs,0x421ebc
40a8c6:	66 8c 1d 98 1e 42 00 	data16 mov %ds,0x421e98
40a8cd:	66 8c 05 94 1e 42 00 	data16 mov %es,0x421e94
40a8d4:	66 8c 25 90 1e 42 00 	data16 mov %fs,0x421e90
40a8db:	66 8c 2d 8c 1e 42 00 	data16 mov %gs,0x421e8c
40a8e2:	9c                   	pushf
40a8e3:	8f 05 c0 1e 42 00    	pop    0x421ec0
40a8e9:	8b 45 00             	mov    0x0(%ebp),%eax
40a8ec:	a3 b4 1e 42 00       	mov    %eax,0x421eb4
40a8f1:	8b 45 04             	mov    0x4(%ebp),%eax
40a8f4:	a3 b8 1e 42 00       	mov    %eax,0x421eb8
40a8f9:	8d 45 08             	lea    0x8(%ebp),%eax
40a8fc:	a3 c4 1e 42 00       	mov    %eax,0x421ec4
40a901:	8b 85 e4 fc ff ff    	mov    -0x31c(%ebp),%eax
40a907:	a1 b8 1e 42 00       	mov    0x421eb8,%eax
40a90c:	a3 bc 1d 42 00       	mov    %eax,0x421dbc
40a911:	c7 05 b0 1d 42 00 09 	movl   $0xc0000409,0x421db0
40a918:	04 00 c0
40a91b:	c7 05 b4 1d 42 00 01 	movl   $0x1,0x421db4
40a922:	00 00 00
40a925:	c7 05 c0 1d 42 00 01 	movl   $0x1,0x421dc0
40a92c:	00 00 00
40a92f:	6a 04                	push   $0x4
40a931:	58                   	pop    %eax
40a932:	6b c0 00             	imul   $0x0,%eax,%eax
40a935:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a938:	89 88 c4 1d 42 00    	mov    %ecx,0x421dc4(%eax)
40a93e:	68 4c ab 41 00       	push   $0x41ab4c
40a943:	e8 f2 fd ff ff       	call   0x40a73a
40a948:	c9                   	leave
40a949:	c3                   	ret
40a94a:	55                   	push   %ebp
40a94b:	8b ec                	mov    %esp,%ebp
40a94d:	83 25 d0 20 42 00 00 	andl   $0x0,0x4220d0
40a954:	83 ec 10             	sub    $0x10,%esp
40a957:	53                   	push   %ebx
40a958:	33 db                	xor    %ebx,%ebx
40a95a:	43                   	inc    %ebx
40a95b:	09 1d a8 08 42 00    	or     %ebx,0x4208a8
40a961:	6a 0a                	push   $0xa
40a963:	e8 10 d1 00 00       	call   0x417a78
40a968:	85 c0                	test   %eax,%eax
40a96a:	0f 84 0e 01 00 00    	je     0x40aa7e
40a970:	33 c9                	xor    %ecx,%ecx
40a972:	8b c3                	mov    %ebx,%eax
40a974:	89 1d d0 20 42 00    	mov    %ebx,0x4220d0
40a97a:	0f a2                	cpuid
40a97c:	56                   	push   %esi
40a97d:	8b 35 a8 08 42 00    	mov    0x4208a8,%esi
40a983:	57                   	push   %edi
40a984:	8d 7d f0             	lea    -0x10(%ebp),%edi
40a987:	83 ce 02             	or     $0x2,%esi
40a98a:	89 07                	mov    %eax,(%edi)
40a98c:	89 5f 04             	mov    %ebx,0x4(%edi)
40a98f:	89 4f 08             	mov    %ecx,0x8(%edi)
40a992:	89 57 0c             	mov    %edx,0xc(%edi)
40a995:	f7 45 f8 00 00 10 00 	testl  $0x100000,-0x8(%ebp)
40a99c:	89 35 a8 08 42 00    	mov    %esi,0x4208a8
40a9a2:	74 13                	je     0x40a9b7
40a9a4:	83 ce 04             	or     $0x4,%esi
40a9a7:	c7 05 d0 20 42 00 02 	movl   $0x2,0x4220d0
40a9ae:	00 00 00
40a9b1:	89 35 a8 08 42 00    	mov    %esi,0x4208a8
40a9b7:	f7 45 f8 00 00 00 10 	testl  $0x10000000,-0x8(%ebp)
40a9be:	74 13                	je     0x40a9d3
40a9c0:	83 ce 08             	or     $0x8,%esi
40a9c3:	c7 05 d0 20 42 00 03 	movl   $0x3,0x4220d0
40a9ca:	00 00 00
40a9cd:	89 35 a8 08 42 00    	mov    %esi,0x4208a8
40a9d3:	6a 07                	push   $0x7
40a9d5:	33 c9                	xor    %ecx,%ecx
40a9d7:	58                   	pop    %eax
40a9d8:	0f a2                	cpuid
40a9da:	8d 75 f0             	lea    -0x10(%ebp),%esi
40a9dd:	89 06                	mov    %eax,(%esi)
40a9df:	89 5e 04             	mov    %ebx,0x4(%esi)
40a9e2:	89 4e 08             	mov    %ecx,0x8(%esi)
40a9e5:	89 56 0c             	mov    %edx,0xc(%esi)
40a9e8:	f7 45 f4 00 02 00 00 	testl  $0x200,-0xc(%ebp)
40a9ef:	8b 35 d4 20 42 00    	mov    0x4220d4,%esi
40a9f5:	74 09                	je     0x40aa00
40a9f7:	83 ce 02             	or     $0x2,%esi
40a9fa:	89 35 d4 20 42 00    	mov    %esi,0x4220d4
40aa00:	33 c0                	xor    %eax,%eax
40aa02:	33 c9                	xor    %ecx,%ecx
40aa04:	0f a2                	cpuid
40aa06:	8d 7d f0             	lea    -0x10(%ebp),%edi
40aa09:	89 07                	mov    %eax,(%edi)
40aa0b:	89 5f 04             	mov    %ebx,0x4(%edi)
40aa0e:	89 4f 08             	mov    %ecx,0x8(%edi)
40aa11:	89 57 0c             	mov    %edx,0xc(%edi)
40aa14:	81 7d f4 47 65 6e 75 	cmpl   $0x756e6547,-0xc(%ebp)
40aa1b:	75 5f                	jne    0x40aa7c
40aa1d:	81 7d fc 69 6e 65 49 	cmpl   $0x49656e69,-0x4(%ebp)
40aa24:	75 56                	jne    0x40aa7c
40aa26:	81 7d f8 6e 74 65 6c 	cmpl   $0x6c65746e,-0x8(%ebp)
40aa2d:	75 4d                	jne    0x40aa7c
40aa2f:	33 c0                	xor    %eax,%eax
40aa31:	40                   	inc    %eax
40aa32:	33 c9                	xor    %ecx,%ecx
40aa34:	0f a2                	cpuid
40aa36:	89 07                	mov    %eax,(%edi)
40aa38:	89 5f 04             	mov    %ebx,0x4(%edi)
40aa3b:	89 4f 08             	mov    %ecx,0x8(%edi)
40aa3e:	89 57 0c             	mov    %edx,0xc(%edi)
40aa41:	8b 45 f0             	mov    -0x10(%ebp),%eax
40aa44:	25 f0 3f ff 0f       	and    $0xfff3ff0,%eax
40aa49:	3d c0 06 01 00       	cmp    $0x106c0,%eax
40aa4e:	74 23                	je     0x40aa73
40aa50:	3d 60 06 02 00       	cmp    $0x20660,%eax
40aa55:	74 1c                	je     0x40aa73
40aa57:	3d 70 06 02 00       	cmp    $0x20670,%eax
40aa5c:	74 15                	je     0x40aa73
40aa5e:	3d 50 06 03 00       	cmp    $0x30650,%eax
40aa63:	74 0e                	je     0x40aa73
40aa65:	3d 60 06 03 00       	cmp    $0x30660,%eax
40aa6a:	74 07                	je     0x40aa73
40aa6c:	3d 70 06 03 00       	cmp    $0x30670,%eax
40aa71:	75 09                	jne    0x40aa7c
40aa73:	83 ce 01             	or     $0x1,%esi
40aa76:	89 35 d4 20 42 00    	mov    %esi,0x4220d4
40aa7c:	5f                   	pop    %edi
40aa7d:	5e                   	pop    %esi
40aa7e:	33 c0                	xor    %eax,%eax
40aa80:	5b                   	pop    %ebx
40aa81:	c9                   	leave
40aa82:	c3                   	ret
40aa83:	55                   	push   %ebp
40aa84:	8b ec                	mov    %esp,%ebp
40aa86:	51                   	push   %ecx
40aa87:	8d 45 fc             	lea    -0x4(%ebp),%eax
40aa8a:	50                   	push   %eax
40aa8b:	68 54 ab 41 00       	push   $0x41ab54
40aa90:	6a 00                	push   $0x0
40aa92:	ff 15 a4 90 41 00    	call   *0x4190a4
40aa98:	85 c0                	test   %eax,%eax
40aa9a:	74 17                	je     0x40aab3
40aa9c:	68 6c ab 41 00       	push   $0x41ab6c
40aaa1:	ff 75 fc             	push   -0x4(%ebp)
40aaa4:	ff 15 2c 90 41 00    	call   *0x41902c
40aaaa:	85 c0                	test   %eax,%eax
40aaac:	74 05                	je     0x40aab3
40aaae:	ff 75 08             	push   0x8(%ebp)
40aab1:	ff d0                	call   *%eax
40aab3:	c9                   	leave
40aab4:	c3                   	ret
40aab5:	55                   	push   %ebp
40aab6:	8b ec                	mov    %esp,%ebp
40aab8:	ff 75 08             	push   0x8(%ebp)
40aabb:	e8 c3 ff ff ff       	call   0x40aa83
40aac0:	59                   	pop    %ecx
40aac1:	ff 75 08             	push   0x8(%ebp)
40aac4:	ff 15 a0 90 41 00    	call   *0x4190a0
40aaca:	cc                   	int3
40aacb:	55                   	push   %ebp
40aacc:	8b ec                	mov    %esp,%ebp
40aace:	e8 d2 04 00 00       	call   0x40afa5
40aad3:	ff 75 08             	push   0x8(%ebp)
40aad6:	e8 27 05 00 00       	call   0x40b002
40aadb:	59                   	pop    %ecx
40aadc:	68 ff 00 00 00       	push   $0xff
40aae1:	e8 b0 00 00 00       	call   0x40ab96
40aae6:	cc                   	int3
40aae7:	6a 01                	push   $0x1
40aae9:	6a 01                	push   $0x1
40aaeb:	6a 00                	push   $0x0
40aaed:	e8 3c 01 00 00       	call   0x40ac2e
40aaf2:	83 c4 0c             	add    $0xc,%esp
40aaf5:	c3                   	ret
40aaf6:	6a 01                	push   $0x1
40aaf8:	6a 00                	push   $0x0
40aafa:	6a 00                	push   $0x0
40aafc:	e8 2d 01 00 00       	call   0x40ac2e
40ab01:	83 c4 0c             	add    $0xc,%esp
40ab04:	c3                   	ret
40ab05:	55                   	push   %ebp
40ab06:	8b ec                	mov    %esp,%ebp
40ab08:	83 3d 48 ab 41 00 00 	cmpl   $0x0,0x41ab48
40ab0f:	74 19                	je     0x40ab2a
40ab11:	68 48 ab 41 00       	push   $0x41ab48
40ab16:	e8 e5 6b 00 00       	call   0x411700
40ab1b:	59                   	pop    %ecx
40ab1c:	85 c0                	test   %eax,%eax
40ab1e:	74 0a                	je     0x40ab2a
40ab20:	ff 75 08             	push   0x8(%ebp)
40ab23:	ff 15 48 ab 41 00    	call   *0x41ab48
40ab29:	59                   	pop    %ecx
40ab2a:	e8 bd 65 00 00       	call   0x4110ec
40ab2f:	68 98 91 41 00       	push   $0x419198
40ab34:	68 80 91 41 00       	push   $0x419180
40ab39:	e8 bc 00 00 00       	call   0x40abfa
40ab3e:	59                   	pop    %ecx
40ab3f:	59                   	pop    %ecx
40ab40:	85 c0                	test   %eax,%eax
40ab42:	75 50                	jne    0x40ab94
40ab44:	56                   	push   %esi
40ab45:	57                   	push   %edi
40ab46:	68 0f dd 40 00       	push   $0x40dd0f
40ab4b:	e8 69 a3 ff ff       	call   0x404eb9
40ab50:	59                   	pop    %ecx
40ab51:	be 48 91 41 00       	mov    $0x419148,%esi
40ab56:	bf 7c 91 41 00       	mov    $0x41917c,%edi
40ab5b:	eb 0b                	jmp    0x40ab68
40ab5d:	8b 06                	mov    (%esi),%eax
40ab5f:	85 c0                	test   %eax,%eax
40ab61:	74 02                	je     0x40ab65
40ab63:	ff d0                	call   *%eax
40ab65:	83 c6 04             	add    $0x4,%esi
40ab68:	3b f7                	cmp    %edi,%esi
40ab6a:	72 f1                	jb     0x40ab5d
40ab6c:	83 3d 20 2b 42 00 00 	cmpl   $0x0,0x422b20
40ab73:	5f                   	pop    %edi
40ab74:	5e                   	pop    %esi
40ab75:	74 1b                	je     0x40ab92
40ab77:	68 20 2b 42 00       	push   $0x422b20
40ab7c:	e8 7f 6b 00 00       	call   0x411700
40ab81:	59                   	pop    %ecx
40ab82:	85 c0                	test   %eax,%eax
40ab84:	74 0c                	je     0x40ab92
40ab86:	6a 00                	push   $0x0
40ab88:	6a 02                	push   $0x2
40ab8a:	6a 00                	push   $0x0
40ab8c:	ff 15 20 2b 42 00    	call   *0x422b20
40ab92:	33 c0                	xor    %eax,%eax
40ab94:	5d                   	pop    %ebp
40ab95:	c3                   	ret
40ab96:	55                   	push   %ebp
40ab97:	8b ec                	mov    %esp,%ebp
40ab99:	6a 00                	push   $0x0
40ab9b:	6a 01                	push   $0x1
40ab9d:	ff 75 08             	push   0x8(%ebp)
40aba0:	e8 89 00 00 00       	call   0x40ac2e
40aba5:	83 c4 0c             	add    $0xc,%esp
40aba8:	5d                   	pop    %ebp
40aba9:	c3                   	ret
40abaa:	56                   	push   %esi
40abab:	6a 00                	push   $0x0
40abad:	ff 15 58 90 41 00    	call   *0x419058
40abb3:	8b f0                	mov    %eax,%esi
40abb5:	56                   	push   %esi
40abb6:	e8 7d 08 00 00       	call   0x40b438