40768e:	56                   	push   %esi
40768f:	57                   	push   %edi
407690:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
407695:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40769a:	3b c7                	cmp    %edi,%eax
40769c:	74 0d                	je     0x4076ab
40769e:	85 c6                	test   %eax,%esi
4076a0:	74 09                	je     0x4076ab
4076a2:	f7 d0                	not    %eax
4076a4:	a3 24 ba 43 00       	mov    %eax,0x43ba24
4076a9:	eb 66                	jmp    0x407711
4076ab:	8d 45 f4             	lea    -0xc(%ebp),%eax
4076ae:	50                   	push   %eax
4076af:	ff 15 68 71 42 00    	call   *0x427168
4076b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4076b8:	33 45 f4             	xor    -0xc(%ebp),%eax
4076bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4076be:	ff 15 ac 71 42 00    	call   *0x4271ac
4076c4:	31 45 fc             	xor    %eax,-0x4(%ebp)
4076c7:	ff 15 a8 71 42 00    	call   *0x4271a8
4076cd:	31 45 fc             	xor    %eax,-0x4(%ebp)
4076d0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4076d3:	50                   	push   %eax
4076d4:	ff 15 a4 71 42 00    	call   *0x4271a4
4076da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4076dd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4076e0:	33 4d ec             	xor    -0x14(%ebp),%ecx
4076e3:	33 4d fc             	xor    -0x4(%ebp),%ecx
4076e6:	33 c8                	xor    %eax,%ecx
4076e8:	3b cf                	cmp    %edi,%ecx
4076ea:	75 07                	jne    0x4076f3
4076ec:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
4076f1:	eb 10                	jmp    0x407703
4076f3:	85 ce                	test   %ecx,%esi
4076f5:	75 0c                	jne    0x407703
4076f7:	8b c1                	mov    %ecx,%eax
4076f9:	0d 11 47 00 00       	or     $0x4711,%eax
4076fe:	c1 e0 10             	shl    $0x10,%eax
407701:	0b c8                	or     %eax,%ecx
407703:	89 0d 28 ba 43 00    	mov    %ecx,0x43ba28
407709:	f7 d1                	not    %ecx
40770b:	89 0d 24 ba 43 00    	mov    %ecx,0x43ba24
407711:	5f                   	pop    %edi
407712:	5e                   	pop    %esi
407713:	8b e5                	mov    %ebp,%esp
407715:	5d                   	pop    %ebp
407716:	c3                   	ret
407717:	33 c0                	xor    %eax,%eax
407719:	c3                   	ret
40771a:	33 c0                	xor    %eax,%eax
40771c:	c3                   	ret
40771d:	b8 00 40 00 00       	mov    $0x4000,%eax
407722:	c3                   	ret
407723:	33 c0                	xor    %eax,%eax
407725:	c3                   	ret
407726:	33 c0                	xor    %eax,%eax
407728:	c3                   	ret
407729:	68 58 96 83 02       	push   $0x2839658
40772e:	ff 15 b0 71 42 00    	call   *0x4271b0
407734:	c3                   	ret
407735:	b0 01                	mov    $0x1,%al
407737:	c3                   	ret
407738:	68 00 00 03 00       	push   $0x30000
40773d:	68 00 00 01 00       	push   $0x10000
407742:	6a 00                	push   $0x0
407744:	e8 bd 03 01 00       	call   0x417b06
407749:	83 c4 0c             	add    $0xc,%esp
40774c:	85 c0                	test   %eax,%eax
40774e:	75 01                	jne    0x407751
407750:	c3                   	ret
407751:	6a 07                	push   $0x7
407753:	e8 d5 fc ff ff       	call   0x40742d
407758:	cc                   	int3
407759:	c3                   	ret
40775a:	c3                   	ret
40775b:	e8 9b dd ff ff       	call   0x4054fb
407760:	8b 48 04             	mov    0x4(%eax),%ecx
407763:	83 08 04             	orl    $0x4,(%eax)
407766:	89 48 04             	mov    %ecx,0x4(%eax)
407769:	e8 93 dd ff ff       	call   0x405501
40776e:	8b 48 04             	mov    0x4(%eax),%ecx
407771:	83 08 02             	orl    $0x2,(%eax)
407774:	89 48 04             	mov    %ecx,0x4(%eax)
407777:	c3                   	ret
407778:	33 c0                	xor    %eax,%eax
40777a:	39 05 40 ba 43 00    	cmp    %eax,0x43ba40
407780:	0f 94 c0             	sete   %al
407783:	c3                   	ret
407784:	b8 f4 a0 83 02       	mov    $0x283a0f4,%eax
407789:	c3                   	ret
40778a:	b8 f0 a0 83 02       	mov    $0x283a0f0,%eax
40778f:	c3                   	ret
407790:	53                   	push   %ebx
407791:	56                   	push   %esi
407792:	be d8 75 43 00       	mov    $0x4375d8,%esi
407797:	bb d8 75 43 00       	mov    $0x4375d8,%ebx
40779c:	3b f3                	cmp    %ebx,%esi
40779e:	73 18                	jae    0x4077b8
4077a0:	57                   	push   %edi
4077a1:	8b 3e                	mov    (%esi),%edi
4077a3:	85 ff                	test   %edi,%edi
4077a5:	74 09                	je     0x4077b0
4077a7:	8b cf                	mov    %edi,%ecx
4077a9:	e8 c3 f8 ff ff       	call   0x407071
4077ae:	ff d7                	call   *%edi
4077b0:	83 c6 04             	add    $0x4,%esi
4077b3:	3b f3                	cmp    %ebx,%esi
4077b5:	72 ea                	jb     0x4077a1
4077b7:	5f                   	pop    %edi
4077b8:	5e                   	pop    %esi
4077b9:	5b                   	pop    %ebx
4077ba:	c3                   	ret
4077bb:	53                   	push   %ebx
4077bc:	56                   	push   %esi
4077bd:	be e0 75 43 00       	mov    $0x4375e0,%esi
4077c2:	bb e0 75 43 00       	mov    $0x4375e0,%ebx
4077c7:	3b f3                	cmp    %ebx,%esi
4077c9:	73 18                	jae    0x4077e3
4077cb:	57                   	push   %edi
4077cc:	8b 3e                	mov    (%esi),%edi
4077ce:	85 ff                	test   %edi,%edi
4077d0:	74 09                	je     0x4077db
4077d2:	8b cf                	mov    %edi,%ecx
4077d4:	e8 98 f8 ff ff       	call   0x407071
4077d9:	ff d7                	call   *%edi
4077db:	83 c6 04             	add    $0x4,%esi
4077de:	3b f3                	cmp    %ebx,%esi
4077e0:	72 ea                	jb     0x4077cc
4077e2:	5f                   	pop    %edi
4077e3:	5e                   	pop    %esi
4077e4:	5b                   	pop    %ebx
4077e5:	c3                   	ret
4077e6:	55                   	push   %ebp
4077e7:	8b ec                	mov    %esp,%ebp
4077e9:	6a 00                	push   $0x0
4077eb:	ff 15 9c 71 42 00    	call   *0x42719c
4077f1:	ff 75 08             	push   0x8(%ebp)
4077f4:	ff 15 98 71 42 00    	call   *0x427198
4077fa:	68 09 04 00 c0       	push   $0xc0000409
4077ff:	ff 15 b4 71 42 00    	call   *0x4271b4
407805:	50                   	push   %eax
407806:	ff 15 b8 71 42 00    	call   *0x4271b8
40780c:	5d                   	pop    %ebp
40780d:	c3                   	ret
40780e:	55                   	push   %ebp
40780f:	8b ec                	mov    %esp,%ebp
407811:	81 ec 24 03 00 00    	sub    $0x324,%esp
407817:	6a 17                	push   $0x17
407819:	e8 b4 e9 01 00       	call   0x4261d2
40781e:	85 c0                	test   %eax,%eax
407820:	74 05                	je     0x407827
407822:	6a 02                	push   $0x2
407824:	59                   	pop    %ecx
407825:	cd 29                	int    $0x29
407827:	a3 60 97 83 02       	mov    %eax,0x2839760
40782c:	89 0d 5c 97 83 02    	mov    %ecx,0x283975c
407832:	89 15 58 97 83 02    	mov    %edx,0x2839758
407838:	89 1d 54 97 83 02    	mov    %ebx,0x2839754
40783e:	89 35 50 97 83 02    	mov    %esi,0x2839750
407844:	89 3d 4c 97 83 02    	mov    %edi,0x283974c
40784a:	66 8c 15 78 97 83 02 	data16 mov %ss,0x2839778
407851:	66 8c 0d 6c 97 83 02 	data16 mov %cs,0x283976c
407858:	66 8c 1d 48 97 83 02 	data16 mov %ds,0x2839748
40785f:	66 8c 05 44 97 83 02 	data16 mov %es,0x2839744
407866:	66 8c 25 40 97 83 02 	data16 mov %fs,0x2839740
40786d:	66 8c 2d 3c 97 83 02 	data16 mov %gs,0x283973c
407874:	9c                   	pushf
407875:	8f 05 70 97 83 02    	pop    0x2839770
40787b:	8b 45 00             	mov    0x0(%ebp),%eax
40787e:	a3 64 97 83 02       	mov    %eax,0x2839764
407883:	8b 45 04             	mov    0x4(%ebp),%eax
407886:	a3 68 97 83 02       	mov    %eax,0x2839768
40788b:	8d 45 08             	lea    0x8(%ebp),%eax
40788e:	a3 74 97 83 02       	mov    %eax,0x2839774
407893:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
407899:	c7 05 b0 96 83 02 01 	movl   $0x10001,0x28396b0
4078a0:	00 01 00
4078a3:	a1 68 97 83 02       	mov    0x2839768,%eax
4078a8:	a3 6c 96 83 02       	mov    %eax,0x283966c
4078ad:	c7 05 60 96 83 02 09 	movl   $0xc0000409,0x2839660
4078b4:	04 00 c0
4078b7:	c7 05 64 96 83 02 01 	movl   $0x1,0x2839664
4078be:	00 00 00
4078c1:	c7 05 70 96 83 02 01 	movl   $0x1,0x2839670
4078c8:	00 00 00
4078cb:	6a 04                	push   $0x4
4078cd:	58                   	pop    %eax
4078ce:	6b c0 00             	imul   $0x0,%eax,%eax
4078d1:	c7 80 74 96 83 02 02 	movl   $0x2,0x2839674(%eax)
4078d8:	00 00 00
4078db:	6a 04                	push   $0x4
4078dd:	58                   	pop    %eax
4078de:	6b c0 00             	imul   $0x0,%eax,%eax
4078e1:	8b 0d 28 ba 43 00    	mov    0x43ba28,%ecx
4078e7:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4078eb:	6a 04                	push   $0x4
4078ed:	58                   	pop    %eax
4078ee:	c1 e0 00             	shl    $0x0,%eax
4078f1:	8b 0d 24 ba 43 00    	mov    0x43ba24,%ecx
4078f7:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4078fb:	68 3c a6 42 00       	push   $0x42a63c
407900:	e8 e1 fe ff ff       	call   0x4077e6
407905:	8b e5                	mov    %ebp,%esp
407907:	5d                   	pop    %ebp
407908:	c3                   	ret
407909:	55                   	push   %ebp
40790a:	8b ec                	mov    %esp,%ebp
40790c:	6a 08                	push   $0x8
40790e:	e8 02 00 00 00       	call   0x407915
407913:	5d                   	pop    %ebp
407914:	c3                   	ret
407915:	55                   	push   %ebp
407916:	8b ec                	mov    %esp,%ebp
407918:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
40791e:	6a 17                	push   $0x17
407920:	e8 ad e8 01 00       	call   0x4261d2
407925:	85 c0                	test   %eax,%eax
407927:	74 05                	je     0x40792e
407929:	8b 4d 08             	mov    0x8(%ebp),%ecx
40792c:	cd 29                	int    $0x29
40792e:	a3 60 97 83 02       	mov    %eax,0x2839760
407933:	89 0d 5c 97 83 02    	mov    %ecx,0x283975c
407939:	89 15 58 97 83 02    	mov    %edx,0x2839758
40793f:	89 1d 54 97 83 02    	mov    %ebx,0x2839754
407945:	89 35 50 97 83 02    	mov    %esi,0x2839750
40794b:	89 3d 4c 97 83 02    	mov    %edi,0x283974c
407951:	66 8c 15 78 97 83 02 	data16 mov %ss,0x2839778
407958:	66 8c 0d 6c 97 83 02 	data16 mov %cs,0x283976c
40795f:	66 8c 1d 48 97 83 02 	data16 mov %ds,0x2839748
407966:	66 8c 05 44 97 83 02 	data16 mov %es,0x2839744
40796d:	66 8c 25 40 97 83 02 	data16 mov %fs,0x2839740
407974:	66 8c 2d 3c 97 83 02 	data16 mov %gs,0x283973c
40797b:	9c                   	pushf
40797c:	8f 05 70 97 83 02    	pop    0x2839770
407982:	8b 45 00             	mov    0x0(%ebp),%eax
407985:	a3 64 97 83 02       	mov    %eax,0x2839764
40798a:	8b 45 04             	mov    0x4(%ebp),%eax
40798d:	a3 68 97 83 02       	mov    %eax,0x2839768
407992:	8d 45 08             	lea    0x8(%ebp),%eax
407995:	a3 74 97 83 02       	mov    %eax,0x2839774
40799a:	8b 85 e4 fc ff ff    	mov    -0x31c(%ebp),%eax
4079a0:	a1 68 97 83 02       	mov    0x2839768,%eax
4079a5:	a3 6c 96 83 02       	mov    %eax,0x283966c
4079aa:	c7 05 60 96 83 02 09 	movl   $0xc0000409,0x2839660
4079b1:	04 00 c0
4079b4:	c7 05 64 96 83 02 01 	movl   $0x1,0x2839664
4079bb:	00 00 00
4079be:	c7 05 70 96 83 02 01 	movl   $0x1,0x2839670
4079c5:	00 00 00
4079c8:	6a 04                	push   $0x4
4079ca:	58                   	pop    %eax
4079cb:	6b c0 00             	imul   $0x0,%eax,%eax
4079ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
4079d1:	89 88 74 96 83 02    	mov    %ecx,0x2839674(%eax)
4079d7:	68 3c a6 42 00       	push   $0x42a63c
4079dc:	e8 05 fe ff ff       	call   0x4077e6
4079e1:	8b e5                	mov    %ebp,%esp
4079e3:	5d                   	pop    %ebp
4079e4:	c3                   	ret
4079e5:	c3                   	ret
4079e6:	33 c9                	xor    %ecx,%ecx
4079e8:	ba b4 99 83 02       	mov    $0x28399b4,%edx
4079ed:	33 c0                	xor    %eax,%eax
4079ef:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
4079f3:	8b 0d 28 ba 43 00    	mov    0x43ba28,%ecx
4079f9:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4079ff:	83 e1 1f             	and    $0x1f,%ecx
407a02:	d3 c8                	ror    %cl,%eax
407a04:	c3                   	ret
407a05:	56                   	push   %esi
407a06:	e8 db ff ff ff       	call   0x4079e6
407a0b:	8b f0                	mov    %eax,%esi
407a0d:	85 f6                	test   %esi,%esi
407a0f:	74 09                	je     0x407a1a
407a11:	8b ce                	mov    %esi,%ecx
407a13:	e8 59 f6 ff ff       	call   0x407071
407a18:	ff d6                	call   *%esi
407a1a:	e8 57 d6 00 00       	call   0x415076
407a1f:	cc                   	int3
407a20:	57                   	push   %edi
407a21:	56                   	push   %esi
407a22:	8b 74 24 10          	mov    0x10(%esp),%esi
407a26:	8b 4c 24 14          	mov    0x14(%esp),%ecx
407a2a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
407a2e:	8b c1                	mov    %ecx,%eax
407a30:	8b d1                	mov    %ecx,%edx
407a32:	03 c6                	add    %esi,%eax
407a34:	3b fe                	cmp    %esi,%edi
407a36:	76 08                	jbe    0x407a40
407a38:	3b f8                	cmp    %eax,%edi
407a3a:	0f 82 94 02 00 00    	jb     0x407cd4
407a40:	83 f9 20             	cmp    $0x20,%ecx
407a43:	0f 82 d2 04 00 00    	jb     0x407f1b
407a49:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
407a4f:	73 13                	jae    0x407a64
407a51:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
407a58:	01
407a59:	0f 82 8e 04 00 00    	jb     0x407eed
407a5f:	e9 e3 01 00 00       	jmp    0x407c47
407a64:	0f ba 25 4c 96 83 02 	btl    $0x1,0x283964c
407a6b:	01
407a6c:	73 09                	jae    0x407a77
407a6e:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
407a70:	8b 44 24 0c          	mov    0xc(%esp),%eax
407a74:	5e                   	pop    %esi
407a75:	5f                   	pop    %edi
407a76:	c3                   	ret
407a77:	8b c7                	mov    %edi,%eax
407a79:	33 c6                	xor    %esi,%eax
407a7b:	a9 0f 00 00 00       	test   $0xf,%eax
407a80:	75 0e                	jne    0x407a90
407a82:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
407a89:	01
407a8a:	0f 82 e0 03 00 00    	jb     0x407e70
407a90:	0f ba 25 4c 96 83 02 	btl    $0x0,0x283964c
407a97:	00
407a98:	0f 83 a9 01 00 00    	jae    0x407c47
407a9e:	f7 c7 03 00 00 00    	test   $0x3,%edi
407aa4:	0f 85 9d 01 00 00    	jne    0x407c47
407aaa:	f7 c6 03 00 00 00    	test   $0x3,%esi
407ab0:	0f 85 ac 01 00 00    	jne    0x407c62
407ab6:	0f ba e7 02          	bt     $0x2,%edi
407aba:	73 0d                	jae    0x407ac9
407abc:	8b 06                	mov    (%esi),%eax
407abe:	83 e9 04             	sub    $0x4,%ecx
407ac1:	8d 76 04             	lea    0x4(%esi),%esi
407ac4:	89 07                	mov    %eax,(%edi)
407ac6:	8d 7f 04             	lea    0x4(%edi),%edi
407ac9:	0f ba e7 03          	bt     $0x3,%edi
407acd:	73 11                	jae    0x407ae0
407acf:	f3 0f 7e 0e          	movq   (%esi),%xmm1
407ad3:	83 e9 08             	sub    $0x8,%ecx
407ad6:	8d 76 08             	lea    0x8(%esi),%esi
407ad9:	66 0f d6 0f          	movq   %xmm1,(%edi)
407add:	8d 7f 08             	lea    0x8(%edi),%edi
407ae0:	f7 c6 07 00 00 00    	test   $0x7,%esi
407ae6:	74 65                	je     0x407b4d
407ae8:	0f ba e6 03          	bt     $0x3,%esi
407aec:	0f 83 b4 00 00 00    	jae    0x407ba6
407af2:	66 0f 6f 4e f4       	movdqa -0xc(%esi),%xmm1
407af7:	8d 76 f4             	lea    -0xc(%esi),%esi
407afa:	8b ff                	mov    %edi,%edi
407afc:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
407b01:	83 e9 30             	sub    $0x30,%ecx
407b04:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
407b09:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
407b0e:	8d 76 30             	lea    0x30(%esi),%esi
407b11:	83 f9 30             	cmp    $0x30,%ecx
407b14:	66 0f 6f d3          	movdqa %xmm3,%xmm2
407b18:	66 0f 3a 0f d9 0c    	palignr $0xc,%xmm1,%xmm3