4a66c5:	6a 10                	push   $0x10
4a66c7:	8d 54 24 18          	lea    0x18(%esp),%edx
4a66cb:	68 d4 9e 50 00       	push   $0x509ed4
4a66d0:	52                   	push   %edx
4a66d1:	6a 00                	push   $0x0
4a66d3:	ff 15 08 33 4b 00    	call   *0x4b3308
4a66d9:	6a 00                	push   $0x0
4a66db:	e8 f0 a4 ff ff       	call   0x4a0bd0
4a66e0:	8b 84 24 24 04 00 00 	mov    0x424(%esp),%eax
4a66e7:	83 c4 04             	add    $0x4,%esp
4a66ea:	89 30                	mov    %esi,(%eax)
4a66ec:	8b c6                	mov    %esi,%eax
4a66ee:	5f                   	pop    %edi
4a66ef:	5e                   	pop    %esi
4a66f0:	5d                   	pop    %ebp
4a66f1:	5b                   	pop    %ebx
4a66f2:	81 c4 04 04 00 00    	add    $0x404,%esp
4a66f8:	c2 0c 00             	ret    $0xc
4a66fb:	8b 8c 24 20 04 00 00 	mov    0x420(%esp),%ecx
4a6702:	8b c6                	mov    %esi,%eax
4a6704:	5f                   	pop    %edi
4a6705:	89 31                	mov    %esi,(%ecx)
4a6707:	5e                   	pop    %esi
4a6708:	5d                   	pop    %ebp
4a6709:	5b                   	pop    %ebx
4a670a:	81 c4 04 04 00 00    	add    $0x404,%esp
4a6710:	c2 0c 00             	ret    $0xc
4a6713:	90                   	nop
4a6714:	90                   	nop
4a6715:	90                   	nop
4a6716:	90                   	nop
4a6717:	90                   	nop
4a6718:	90                   	nop
4a6719:	90                   	nop
4a671a:	90                   	nop
4a671b:	90                   	nop
4a671c:	90                   	nop
4a671d:	90                   	nop
4a671e:	90                   	nop
4a671f:	90                   	nop
4a6720:	8b 44 24 04          	mov    0x4(%esp),%eax
4a6724:	b9 01 00 00 00       	mov    $0x1,%ecx
4a6729:	8b 10                	mov    (%eax),%edx
4a672b:	83 c0 04             	add    $0x4,%eax
4a672e:	85 d2                	test   %edx,%edx
4a6730:	7e 14                	jle    0x4a6746
4a6732:	56                   	push   %esi
4a6733:	8b 30                	mov    (%eax),%esi
4a6735:	83 c0 04             	add    $0x4,%eax
4a6738:	0f af ce             	imul   %esi,%ecx
4a673b:	4a                   	dec    %edx
4a673c:	75 f5                	jne    0x4a6733
4a673e:	8b 54 24 0c          	mov    0xc(%esp),%edx
4a6742:	5e                   	pop    %esi
4a6743:	89 0a                	mov    %ecx,(%edx)
4a6745:	c3                   	ret
4a6746:	8b 54 24 08          	mov    0x8(%esp),%edx
4a674a:	89 0a                	mov    %ecx,(%edx)
4a674c:	c3                   	ret
4a674d:	90                   	nop
4a674e:	90                   	nop
4a674f:	90                   	nop
4a6750:	56                   	push   %esi
4a6751:	8b 74 24 08          	mov    0x8(%esp),%esi
4a6755:	56                   	push   %esi
4a6756:	ff 15 40 a1 50 00    	call   *0x50a140
4a675c:	8a 4c 30 ff          	mov    -0x1(%eax,%esi,1),%cl
4a6760:	8d 44 30 ff          	lea    -0x1(%eax,%esi,1),%eax
4a6764:	83 c4 04             	add    $0x4,%esp
4a6767:	80 f9 2e             	cmp    $0x2e,%cl
4a676a:	74 12                	je     0x4a677e
4a676c:	80 f9 30             	cmp    $0x30,%cl
4a676f:	75 12                	jne    0x4a6783
4a6771:	3b c6                	cmp    %esi,%eax
4a6773:	76 12                	jbe    0x4a6787
4a6775:	8a 48 ff             	mov    -0x1(%eax),%cl
4a6778:	48                   	dec    %eax
4a6779:	80 f9 2e             	cmp    $0x2e,%cl
4a677c:	75 ee                	jne    0x4a676c
4a677e:	c6 00 00             	movb   $0x0,(%eax)
4a6781:	5e                   	pop    %esi
4a6782:	c3                   	ret
4a6783:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4a6787:	5e                   	pop    %esi
4a6788:	c3                   	ret
4a6789:	90                   	nop
4a678a:	90                   	nop
4a678b:	90                   	nop
4a678c:	90                   	nop
4a678d:	90                   	nop
4a678e:	90                   	nop
4a678f:	90                   	nop
4a6790:	55                   	push   %ebp
4a6791:	8b ec                	mov    %esp,%ebp
4a6793:	83 e4 f8             	and    $0xfffffff8,%esp
4a6796:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
4a679c:	8b 4d 10             	mov    0x10(%ebp),%ecx
4a679f:	8b 55 0c             	mov    0xc(%ebp),%edx
4a67a2:	53                   	push   %ebx
4a67a3:	56                   	push   %esi
4a67a4:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a67a8:	57                   	push   %edi
4a67a9:	50                   	push   %eax
4a67aa:	51                   	push   %ecx
4a67ab:	52                   	push   %edx
4a67ac:	e8 a0 17 00 00       	call   0x4a7f51
4a67b1:	dd 5c 24 34          	fstpl  0x34(%esp)
4a67b5:	8d 44 24 28          	lea    0x28(%esp),%eax
4a67b9:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4a67bd:	50                   	push   %eax
4a67be:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a67c2:	8d 54 24 24          	lea    0x24(%esp),%edx
4a67c6:	51                   	push   %ecx
4a67c7:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a67cb:	52                   	push   %edx
4a67cc:	50                   	push   %eax
4a67cd:	51                   	push   %ecx
4a67ce:	e8 0d 12 00 00       	call   0x4a79e0
4a67d3:	8d 54 24 40          	lea    0x40(%esp),%edx
4a67d7:	8d 44 24 38          	lea    0x38(%esp),%eax
4a67db:	52                   	push   %edx
4a67dc:	8b 54 24 58          	mov    0x58(%esp),%edx
4a67e0:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4a67e4:	50                   	push   %eax
4a67e5:	8b 44 24 58          	mov    0x58(%esp),%eax
4a67e9:	51                   	push   %ecx
4a67ea:	52                   	push   %edx
4a67eb:	50                   	push   %eax
4a67ec:	e8 0f 10 00 00       	call   0x4a7800
4a67f1:	bf 30 9f 50 00       	mov    $0x509f30,%edi
4a67f6:	83 c9 ff             	or     $0xffffffff,%ecx
4a67f9:	33 c0                	xor    %eax,%eax
4a67fb:	83 c4 34             	add    $0x34,%esp
4a67fe:	f2 ae                	repnz scas %es:(%edi),%al
4a6800:	f7 d1                	not    %ecx
4a6802:	2b f9                	sub    %ecx,%edi
4a6804:	8d 94 24 b8 00 00 00 	lea    0xb8(%esp),%edx
4a680b:	8b c1                	mov    %ecx,%eax
4a680d:	8b f7                	mov    %edi,%esi
4a680f:	8b fa                	mov    %edx,%edi
4a6811:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4a6815:	c1 e9 02             	shr    $0x2,%ecx
4a6818:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a681a:	8b c8                	mov    %eax,%ecx
4a681c:	83 e1 03             	and    $0x3,%ecx
4a681f:	85 d2                	test   %edx,%edx
4a6821:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a6823:	74 28                	je     0x4a684d
4a6825:	bf 20 9f 50 00       	mov    $0x509f20,%edi
4a682a:	83 c9 ff             	or     $0xffffffff,%ecx
4a682d:	33 c0                	xor    %eax,%eax
4a682f:	8d 5c 24 38          	lea    0x38(%esp),%ebx
4a6833:	f2 ae                	repnz scas %es:(%edi),%al
4a6835:	f7 d1                	not    %ecx
4a6837:	2b f9                	sub    %ecx,%edi
4a6839:	8b c1                	mov    %ecx,%eax
4a683b:	8b f7                	mov    %edi,%esi
4a683d:	8b fb                	mov    %ebx,%edi
4a683f:	c1 e9 02             	shr    $0x2,%ecx
4a6842:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a6844:	8b c8                	mov    %eax,%ecx
4a6846:	83 e1 03             	and    $0x3,%ecx
4a6849:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a684b:	eb 65                	jmp    0x4a68b2
4a684d:	8b 44 24 10          	mov    0x10(%esp),%eax
4a6851:	85 c0                	test   %eax,%eax
4a6853:	74 28                	je     0x4a687d
4a6855:	bf 14 9f 50 00       	mov    $0x509f14,%edi
4a685a:	83 c9 ff             	or     $0xffffffff,%ecx
4a685d:	33 c0                	xor    %eax,%eax
4a685f:	8d 5c 24 38          	lea    0x38(%esp),%ebx
4a6863:	f2 ae                	repnz scas %es:(%edi),%al
4a6865:	f7 d1                	not    %ecx
4a6867:	2b f9                	sub    %ecx,%edi
4a6869:	8b c1                	mov    %ecx,%eax
4a686b:	8b f7                	mov    %edi,%esi
4a686d:	8b fb                	mov    %ebx,%edi
4a686f:	c1 e9 02             	shr    $0x2,%ecx
4a6872:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a6874:	8b c8                	mov    %eax,%ecx
4a6876:	83 e1 03             	and    $0x3,%ecx
4a6879:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a687b:	eb 35                	jmp    0x4a68b2
4a687d:	8b 44 24 14          	mov    0x14(%esp),%eax
4a6881:	85 c0                	test   %eax,%eax
4a6883:	74 28                	je     0x4a68ad
4a6885:	bf 0c 9f 50 00       	mov    $0x509f0c,%edi
4a688a:	83 c9 ff             	or     $0xffffffff,%ecx
4a688d:	33 c0                	xor    %eax,%eax
4a688f:	8d 5c 24 38          	lea    0x38(%esp),%ebx
4a6893:	f2 ae                	repnz scas %es:(%edi),%al
4a6895:	f7 d1                	not    %ecx
4a6897:	2b f9                	sub    %ecx,%edi
4a6899:	8b c1                	mov    %ecx,%eax
4a689b:	8b f7                	mov    %edi,%esi
4a689d:	8b fb                	mov    %ebx,%edi
4a689f:	c1 e9 02             	shr    $0x2,%ecx
4a68a2:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a68a4:	8b c8                	mov    %eax,%ecx
4a68a6:	83 e1 03             	and    $0x3,%ecx
4a68a9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a68ab:	eb 05                	jmp    0x4a68b2
4a68ad:	c6 44 24 38 00       	movb   $0x0,0x38(%esp)
4a68b2:	8b 45 14             	mov    0x14(%ebp),%eax
4a68b5:	85 c0                	test   %eax,%eax
4a68b7:	75 30                	jne    0x4a68e9
4a68b9:	8d 7c 24 38          	lea    0x38(%esp),%edi
4a68bd:	83 c9 ff             	or     $0xffffffff,%ecx
4a68c0:	33 c0                	xor    %eax,%eax
4a68c2:	8d 9c 24 b8 00 00 00 	lea    0xb8(%esp),%ebx
4a68c9:	f2 ae                	repnz scas %es:(%edi),%al
4a68cb:	f7 d1                	not    %ecx
4a68cd:	2b f9                	sub    %ecx,%edi
4a68cf:	8b f7                	mov    %edi,%esi
4a68d1:	8b fb                	mov    %ebx,%edi
4a68d3:	8b d9                	mov    %ecx,%ebx
4a68d5:	83 c9 ff             	or     $0xffffffff,%ecx
4a68d8:	f2 ae                	repnz scas %es:(%edi),%al
4a68da:	8b cb                	mov    %ebx,%ecx
4a68dc:	4f                   	dec    %edi
4a68dd:	c1 e9 02             	shr    $0x2,%ecx
4a68e0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a68e2:	8b cb                	mov    %ebx,%ecx
4a68e4:	83 e1 03             	and    $0x3,%ecx
4a68e7:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a68e9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a68ed:	8b 44 24 20          	mov    0x20(%esp),%eax
4a68f1:	52                   	push   %edx
4a68f2:	8b 54 24 18          	mov    0x18(%esp),%edx
4a68f6:	51                   	push   %ecx
4a68f7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4a68fb:	52                   	push   %edx
4a68fc:	8b 54 24 30          	mov    0x30(%esp),%edx
4a6900:	50                   	push   %eax
4a6901:	51                   	push   %ecx
4a6902:	8b 4d 08             	mov    0x8(%ebp),%ecx
4a6905:	8d 84 24 cc 00 00 00 	lea    0xcc(%esp),%eax
4a690c:	52                   	push   %edx
4a690d:	50                   	push   %eax
4a690e:	51                   	push   %ecx
4a690f:	e8 a7 18 00 00       	call   0x4a81bb
4a6914:	83 c4 20             	add    $0x20,%esp
4a6917:	5f                   	pop    %edi
4a6918:	5e                   	pop    %esi
4a6919:	5b                   	pop    %ebx
4a691a:	8b e5                	mov    %ebp,%esp
4a691c:	5d                   	pop    %ebp
4a691d:	c3                   	ret
4a691e:	90                   	nop
4a691f:	90                   	nop
4a6920:	55                   	push   %ebp
4a6921:	8b ec                	mov    %esp,%ebp
4a6923:	51                   	push   %ecx
4a6924:	a1 dc d8 50 00       	mov    0x50d8dc,%eax
4a6929:	85 c0                	test   %eax,%eax
4a692b:	74 09                	je     0x4a6936
4a692d:	a1 d8 d8 50 00       	mov    0x50d8d8,%eax
4a6932:	8b e5                	mov    %ebp,%esp
4a6934:	5d                   	pop    %ebp
4a6935:	c3                   	ret
4a6936:	53                   	push   %ebx
4a6937:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4a693e:	b8 01 00 00 00       	mov    $0x1,%eax
4a6943:	0f a2                	cpuid
4a6945:	89 55 fc             	mov    %edx,-0x4(%ebp)
4a6948:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a694b:	c7 05 dc d8 50 00 01 	movl   $0x1,0x50d8dc
4a6952:	00 00 00
4a6955:	25 00 00 00 04       	and    $0x4000000,%eax
4a695a:	5b                   	pop    %ebx
4a695b:	a3 d8 d8 50 00       	mov    %eax,0x50d8d8
4a6960:	8b e5                	mov    %ebp,%esp
4a6962:	5d                   	pop    %ebp
4a6963:	c3                   	ret
4a6964:	90                   	nop
4a6965:	90                   	nop
4a6966:	90                   	nop
4a6967:	90                   	nop
4a6968:	90                   	nop
4a6969:	90                   	nop
4a696a:	90                   	nop
4a696b:	90                   	nop
4a696c:	90                   	nop
4a696d:	90                   	nop
4a696e:	90                   	nop
4a696f:	90                   	nop
4a6970:	e8 ab ff ff ff       	call   0x4a6920
4a6975:	85 c0                	test   %eax,%eax
4a6977:	74 18                	je     0x4a6991
4a6979:	8b 44 24 04          	mov    0x4(%esp),%eax
4a697d:	c7 05 40 a1 50 00 20 	movl   $0x4a6a20,0x50a140
4a6984:	6a 4a 00
4a6987:	50                   	push   %eax
4a6988:	e8 93 00 00 00       	call   0x4a6a20
4a698d:	83 c4 04             	add    $0x4,%esp
4a6990:	c3                   	ret
4a6991:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4a6995:	c7 05 40 a1 50 00 b0 	movl   $0x4a69b0,0x50a140
4a699c:	69 4a 00
4a699f:	51                   	push   %ecx
4a69a0:	e8 0b 00 00 00       	call   0x4a69b0
4a69a5:	83 c4 04             	add    $0x4,%esp
4a69a8:	c3                   	ret
4a69a9:	90                   	nop
4a69aa:	90                   	nop
4a69ab:	90                   	nop
4a69ac:	90                   	nop
4a69ad:	90                   	nop
4a69ae:	90                   	nop
4a69af:	90                   	nop
4a69b0:	8b 54 24 04          	mov    0x4(%esp),%edx
4a69b4:	53                   	push   %ebx
4a69b5:	f6 c2 03             	test   $0x3,%dl
4a69b8:	56                   	push   %esi
4a69b9:	8b c2                	mov    %edx,%eax
4a69bb:	74 0a                	je     0x4a69c7
4a69bd:	80 38 00             	cmpb   $0x0,(%eax)
4a69c0:	74 3f                	je     0x4a6a01
4a69c2:	40                   	inc    %eax
4a69c3:	a8 03                	test   $0x3,%al
4a69c5:	75 f6                	jne    0x4a69bd
4a69c7:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a69ca:	8b 41 02             	mov    0x2(%ecx),%eax
4a69cd:	83 c1 04             	add    $0x4,%ecx
4a69d0:	8d b0 ff fe fe fe    	lea    -0x1010101(%eax),%esi
4a69d6:	f7 d0                	not    %eax
4a69d8:	23 f0                	and    %eax,%esi
4a69da:	f7 c6 80 80 80 80    	test   $0x80808080,%esi
4a69e0:	74 e8                	je     0x4a69ca
4a69e2:	8a 59 fe             	mov    -0x2(%ecx),%bl
4a69e5:	8d 41 fe             	lea    -0x2(%ecx),%eax
4a69e8:	84 db                	test   %bl,%bl
4a69ea:	74 15                	je     0x4a6a01
4a69ec:	8a 59 ff             	mov    -0x1(%ecx),%bl
4a69ef:	84 db                	test   %bl,%bl
4a69f1:	74 13                	je     0x4a6a06
4a69f3:	80 39 00             	cmpb   $0x0,(%ecx)
4a69f6:	74 14                	je     0x4a6a0c
4a69f8:	8a 59 01             	mov    0x1(%ecx),%bl
4a69fb:	84 db                	test   %bl,%bl
4a69fd:	74 15                	je     0x4a6a14
4a69ff:	eb c9                	jmp    0x4a69ca
4a6a01:	5e                   	pop    %esi
4a6a02:	2b c2                	sub    %edx,%eax
4a6a04:	5b                   	pop    %ebx
4a6a05:	c3                   	ret
4a6a06:	2b c2                	sub    %edx,%eax
4a6a08:	5e                   	pop    %esi
4a6a09:	40                   	inc    %eax
4a6a0a:	5b                   	pop    %ebx