4246df:	f0 09 08             	lock or %ecx,(%eax)
4246e2:	b0 01                	mov    $0x1,%al
4246e4:	eb 15                	jmp    0x4246fb
4246e6:	6a 01                	push   $0x1
4246e8:	8d 45 08             	lea    0x8(%ebp),%eax
4246eb:	50                   	push   %eax
4246ec:	52                   	push   %edx
4246ed:	e8 21 e5 ff ff       	call   0x422c13
4246f2:	83 c4 0c             	add    $0xc,%esp
4246f5:	48                   	dec    %eax
4246f6:	f7 d8                	neg    %eax
4246f8:	1b c0                	sbb    %eax,%eax
4246fa:	40                   	inc    %eax
4246fb:	5f                   	pop    %edi
4246fc:	5e                   	pop    %esi
4246fd:	5d                   	pop    %ebp
4246fe:	c3                   	ret
4246ff:	8b ff                	mov    %edi,%edi
424701:	55                   	push   %ebp
424702:	8b ec                	mov    %esp,%ebp
424704:	56                   	push   %esi
424705:	57                   	push   %edi
424706:	ff 75 0c             	push   0xc(%ebp)
424709:	e8 71 60 ff ff       	call   0x41a77f
42470e:	59                   	pop    %ecx
42470f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
424712:	8b d0                	mov    %eax,%edx
424714:	8b 49 0c             	mov    0xc(%ecx),%ecx
424717:	f6 c1 c0             	test   $0xc0,%cl
42471a:	0f 84 98 00 00 00    	je     0x4247b8
424720:	8b 4d 0c             	mov    0xc(%ebp),%ecx
424723:	33 ff                	xor    %edi,%edi
424725:	8b 41 04             	mov    0x4(%ecx),%eax
424728:	8b 31                	mov    (%ecx),%esi
42472a:	2b f0                	sub    %eax,%esi
42472c:	83 c0 02             	add    $0x2,%eax
42472f:	89 01                	mov    %eax,(%ecx)
424731:	8b 45 0c             	mov    0xc(%ebp),%eax
424734:	8b 48 18             	mov    0x18(%eax),%ecx
424737:	83 e9 02             	sub    $0x2,%ecx
42473a:	89 48 08             	mov    %ecx,0x8(%eax)
42473d:	85 f6                	test   %esi,%esi
42473f:	7e 28                	jle    0x424769
424741:	8b 45 0c             	mov    0xc(%ebp),%eax
424744:	56                   	push   %esi
424745:	ff 70 04             	push   0x4(%eax)
424748:	52                   	push   %edx
424749:	e8 c5 e4 ff ff       	call   0x422c13
42474e:	83 c4 0c             	add    $0xc,%esp
424751:	8b f8                	mov    %eax,%edi
424753:	8b 45 0c             	mov    0xc(%ebp),%eax
424756:	8b 48 04             	mov    0x4(%eax),%ecx
424759:	66 8b 45 08          	mov    0x8(%ebp),%ax
42475d:	66 89 01             	mov    %ax,(%ecx)
424760:	33 c0                	xor    %eax,%eax
424762:	3b fe                	cmp    %esi,%edi
424764:	0f 94 c0             	sete   %al
424767:	eb 66                	jmp    0x4247cf
424769:	83 fa ff             	cmp    $0xffffffff,%edx
42476c:	74 1b                	je     0x424789
42476e:	83 fa fe             	cmp    $0xfffffffe,%edx
424771:	74 16                	je     0x424789
424773:	8b c2                	mov    %edx,%eax
424775:	8b ca                	mov    %edx,%ecx
424777:	83 e0 3f             	and    $0x3f,%eax
42477a:	c1 f9 06             	sar    $0x6,%ecx
42477d:	6b c0 30             	imul   $0x30,%eax,%eax
424780:	03 04 8d c0 9d 83 02 	add    0x2839dc0(,%ecx,4),%eax
424787:	eb 05                	jmp    0x42478e
424789:	b8 a8 bb 43 00       	mov    $0x43bba8,%eax
42478e:	f6 40 28 20          	testb  $0x20,0x28(%eax)
424792:	74 bf                	je     0x424753
424794:	6a 02                	push   $0x2
424796:	57                   	push   %edi
424797:	57                   	push   %edi
424798:	52                   	push   %edx
424799:	e8 36 14 00 00       	call   0x425bd4
42479e:	23 c2                	and    %edx,%eax
4247a0:	83 c4 10             	add    $0x10,%esp
4247a3:	83 f8 ff             	cmp    $0xffffffff,%eax
4247a6:	75 ab                	jne    0x424753
4247a8:	8b 45 0c             	mov    0xc(%ebp),%eax
4247ab:	6a 10                	push   $0x10
4247ad:	59                   	pop    %ecx
4247ae:	83 c0 0c             	add    $0xc,%eax
4247b1:	f0 09 08             	lock or %ecx,(%eax)
4247b4:	b0 01                	mov    $0x1,%al
4247b6:	eb 17                	jmp    0x4247cf
4247b8:	6a 02                	push   $0x2
4247ba:	8d 45 08             	lea    0x8(%ebp),%eax
4247bd:	50                   	push   %eax
4247be:	52                   	push   %edx
4247bf:	e8 4f e4 ff ff       	call   0x422c13
4247c4:	83 e8 02             	sub    $0x2,%eax
4247c7:	83 c4 0c             	add    $0xc,%esp
4247ca:	f7 d8                	neg    %eax
4247cc:	1b c0                	sbb    %eax,%eax
4247ce:	40                   	inc    %eax
4247cf:	5f                   	pop    %edi
4247d0:	5e                   	pop    %esi
4247d1:	5d                   	pop    %ebp
4247d2:	c3                   	ret
4247d3:	8b ff                	mov    %edi,%edi
4247d5:	55                   	push   %ebp
4247d6:	8b ec                	mov    %esp,%ebp
4247d8:	5d                   	pop    %ebp
4247d9:	e9 2f fc ff ff       	jmp    0x42440d
4247de:	8b ff                	mov    %edi,%edi
4247e0:	55                   	push   %ebp
4247e1:	8b ec                	mov    %esp,%ebp
4247e3:	5d                   	pop    %ebp
4247e4:	e9 35 fd ff ff       	jmp    0x42451e
4247e9:	8b ff                	mov    %edi,%edi
4247eb:	55                   	push   %ebp
4247ec:	8b ec                	mov    %esp,%ebp
4247ee:	8b 4d 08             	mov    0x8(%ebp),%ecx
4247f1:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4247f4:	75 0d                	jne    0x424803
4247f6:	e8 70 02 ff ff       	call   0x414a6b
4247fb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
424801:	eb 38                	jmp    0x42483b
424803:	85 c9                	test   %ecx,%ecx
424805:	78 24                	js     0x42482b
424807:	3b 0d c0 9f 83 02    	cmp    0x2839fc0,%ecx
42480d:	73 1c                	jae    0x42482b
42480f:	8b c1                	mov    %ecx,%eax
424811:	83 e1 3f             	and    $0x3f,%ecx
424814:	c1 f8 06             	sar    $0x6,%eax
424817:	6b c9 30             	imul   $0x30,%ecx,%ecx
42481a:	8b 04 85 c0 9d 83 02 	mov    0x2839dc0(,%eax,4),%eax
424821:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
424826:	83 e0 40             	and    $0x40,%eax
424829:	5d                   	pop    %ebp
42482a:	c3                   	ret
42482b:	e8 3b 02 ff ff       	call   0x414a6b
424830:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
424836:	e8 a7 74 fe ff       	call   0x40bce2
42483b:	33 c0                	xor    %eax,%eax
42483d:	5d                   	pop    %ebp
42483e:	c3                   	ret
42483f:	8b ff                	mov    %edi,%edi
424841:	55                   	push   %ebp
424842:	8b ec                	mov    %esp,%ebp
424844:	ff 05 44 9a 83 02    	incl   0x2839a44
42484a:	53                   	push   %ebx
42484b:	56                   	push   %esi
42484c:	8b 75 08             	mov    0x8(%ebp),%esi
42484f:	bb 00 10 00 00       	mov    $0x1000,%ebx
424854:	53                   	push   %ebx
424855:	e8 f0 04 ff ff       	call   0x414d4a
42485a:	6a 00                	push   $0x0
42485c:	89 46 04             	mov    %eax,0x4(%esi)
42485f:	e8 ac 04 ff ff       	call   0x414d10
424864:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
424868:	8d 46 0c             	lea    0xc(%esi),%eax
42486b:	59                   	pop    %ecx
42486c:	59                   	pop    %ecx
42486d:	74 0b                	je     0x42487a
42486f:	6a 40                	push   $0x40
424871:	59                   	pop    %ecx
424872:	f0 09 08             	lock or %ecx,(%eax)
424875:	89 5e 18             	mov    %ebx,0x18(%esi)
424878:	eb 15                	jmp    0x42488f
42487a:	b9 00 04 00 00       	mov    $0x400,%ecx
42487f:	f0 09 08             	lock or %ecx,(%eax)
424882:	8d 46 14             	lea    0x14(%esi),%eax
424885:	c7 46 18 02 00 00 00 	movl   $0x2,0x18(%esi)
42488c:	89 46 04             	mov    %eax,0x4(%esi)
42488f:	8b 46 04             	mov    0x4(%esi),%eax
424892:	83 66 08 00          	andl   $0x0,0x8(%esi)
424896:	89 06                	mov    %eax,(%esi)
424898:	5e                   	pop    %esi
424899:	5b                   	pop    %ebx
42489a:	5d                   	pop    %ebp
42489b:	c3                   	ret
42489c:	8b ff                	mov    %edi,%edi
42489e:	55                   	push   %ebp
42489f:	8b ec                	mov    %esp,%ebp
4248a1:	8b 55 08             	mov    0x8(%ebp),%edx
4248a4:	33 c9                	xor    %ecx,%ecx
4248a6:	f7 c2 80 7e 00 00    	test   $0x7e80,%edx
4248ac:	74 67                	je     0x424915
4248ae:	84 d2                	test   %dl,%dl
4248b0:	79 03                	jns    0x4248b5
4248b2:	6a 10                	push   $0x10
4248b4:	59                   	pop    %ecx
4248b5:	57                   	push   %edi
4248b6:	bf 00 02 00 00       	mov    $0x200,%edi
4248bb:	85 d7                	test   %edx,%edi
4248bd:	74 03                	je     0x4248c2
4248bf:	83 c9 08             	or     $0x8,%ecx
4248c2:	f7 c2 00 04 00 00    	test   $0x400,%edx
4248c8:	74 03                	je     0x4248cd
4248ca:	83 c9 04             	or     $0x4,%ecx
4248cd:	f7 c2 00 08 00 00    	test   $0x800,%edx
4248d3:	74 03                	je     0x4248d8
4248d5:	83 c9 02             	or     $0x2,%ecx
4248d8:	f7 c2 00 10 00 00    	test   $0x1000,%edx
4248de:	74 03                	je     0x4248e3
4248e0:	83 c9 01             	or     $0x1,%ecx
4248e3:	56                   	push   %esi
4248e4:	be 00 60 00 00       	mov    $0x6000,%esi
4248e9:	8b c2                	mov    %edx,%eax
4248eb:	23 c6                	and    %esi,%eax
4248ed:	3b c6                	cmp    %esi,%eax
4248ef:	5e                   	pop    %esi
4248f0:	75 08                	jne    0x4248fa
4248f2:	81 c9 00 03 00 00    	or     $0x300,%ecx
4248f8:	eb 1a                	jmp    0x424914
4248fa:	f7 c2 00 40 00 00    	test   $0x4000,%edx
424900:	74 08                	je     0x42490a
424902:	81 c9 00 01 00 00    	or     $0x100,%ecx
424908:	eb 0a                	jmp    0x424914
42490a:	f7 c2 00 20 00 00    	test   $0x2000,%edx
424910:	74 02                	je     0x424914
424912:	0b cf                	or     %edi,%ecx
424914:	5f                   	pop    %edi
424915:	8b c1                	mov    %ecx,%eax
424917:	5d                   	pop    %ebp
424918:	c3                   	ret
424919:	8b ff                	mov    %edi,%edi
42491b:	55                   	push   %ebp
42491c:	8b ec                	mov    %esp,%ebp
42491e:	8b 55 08             	mov    0x8(%ebp),%edx
424921:	33 c9                	xor    %ecx,%ecx
424923:	f7 c2 3d 0c 00 00    	test   $0xc3d,%edx
424929:	74 5d                	je     0x424988
42492b:	f6 c2 01             	test   $0x1,%dl
42492e:	74 03                	je     0x424933
424930:	6a 10                	push   $0x10
424932:	59                   	pop    %ecx
424933:	f6 c2 04             	test   $0x4,%dl
424936:	74 03                	je     0x42493b
424938:	83 c9 08             	or     $0x8,%ecx
42493b:	f6 c2 08             	test   $0x8,%dl
42493e:	74 03                	je     0x424943
424940:	83 c9 04             	or     $0x4,%ecx
424943:	f6 c2 10             	test   $0x10,%dl
424946:	74 03                	je     0x42494b
424948:	83 c9 02             	or     $0x2,%ecx
42494b:	f6 c2 20             	test   $0x20,%dl
42494e:	74 03                	je     0x424953
424950:	83 c9 01             	or     $0x1,%ecx
424953:	56                   	push   %esi
424954:	be 00 0c 00 00       	mov    $0xc00,%esi
424959:	8b c2                	mov    %edx,%eax
42495b:	23 c6                	and    %esi,%eax
42495d:	3b c6                	cmp    %esi,%eax
42495f:	5e                   	pop    %esi
424960:	75 08                	jne    0x42496a
424962:	81 c9 00 03 00 00    	or     $0x300,%ecx
424968:	eb 1e                	jmp    0x424988
42496a:	f7 c2 00 08 00 00    	test   $0x800,%edx
424970:	74 08                	je     0x42497a
424972:	81 c9 00 01 00 00    	or     $0x100,%ecx
424978:	eb 0e                	jmp    0x424988
42497a:	f7 c2 00 04 00 00    	test   $0x400,%edx
424980:	74 06                	je     0x424988
424982:	81 c9 00 02 00 00    	or     $0x200,%ecx
424988:	8b c1                	mov    %ecx,%eax
42498a:	5d                   	pop    %ebp
42498b:	c3                   	ret
42498c:	8b ff                	mov    %edi,%edi
42498e:	55                   	push   %ebp
42498f:	8b ec                	mov    %esp,%ebp
424991:	8b 55 08             	mov    0x8(%ebp),%edx
424994:	33 c9                	xor    %ecx,%ecx
424996:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
42499c:	74 5b                	je     0x4249f9
42499e:	f6 c2 10             	test   $0x10,%dl
4249a1:	74 01                	je     0x4249a4
4249a3:	41                   	inc    %ecx
4249a4:	f6 c2 08             	test   $0x8,%dl
4249a7:	74 03                	je     0x4249ac
4249a9:	83 c9 04             	or     $0x4,%ecx
4249ac:	f6 c2 04             	test   $0x4,%dl
4249af:	74 03                	je     0x4249b4
4249b1:	83 c9 08             	or     $0x8,%ecx
4249b4:	f6 c2 02             	test   $0x2,%dl
4249b7:	74 03                	je     0x4249bc
4249b9:	83 c9 10             	or     $0x10,%ecx
4249bc:	f6 c2 01             	test   $0x1,%dl
4249bf:	74 03                	je     0x4249c4
4249c1:	83 c9 20             	or     $0x20,%ecx
4249c4:	56                   	push   %esi
4249c5:	be 00 03 00 00       	mov    $0x300,%esi
4249ca:	8b c2                	mov    %edx,%eax
4249cc:	23 c6                	and    %esi,%eax
4249ce:	3b c6                	cmp    %esi,%eax
4249d0:	5e                   	pop    %esi
4249d1:	75 08                	jne    0x4249db
4249d3:	81 c9 00 0c 00 00    	or     $0xc00,%ecx
4249d9:	eb 1e                	jmp    0x4249f9
4249db:	f7 c2 00 02 00 00    	test   $0x200,%edx
4249e1:	74 08                	je     0x4249eb
4249e3:	81 c9 00 04 00 00    	or     $0x400,%ecx
4249e9:	eb 0e                	jmp    0x4249f9
4249eb:	f7 c2 00 01 00 00    	test   $0x100,%edx
4249f1:	74 06                	je     0x4249f9
4249f3:	81 c9 00 08 00 00    	or     $0x800,%ecx
4249f9:	8b c1                	mov    %ecx,%eax
4249fb:	5d                   	pop    %ebp
4249fc:	c3                   	ret
4249fd:	8b ff                	mov    %edi,%edi
4249ff:	55                   	push   %ebp
424a00:	8b ec                	mov    %esp,%ebp
424a02:	8b 55 08             	mov    0x8(%ebp),%edx
424a05:	33 c9                	xor    %ecx,%ecx
424a07:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
424a0d:	74 6a                	je     0x424a79
424a0f:	f6 c2 10             	test   $0x10,%dl
424a12:	74 05                	je     0x424a19
424a14:	b9 80 00 00 00       	mov    $0x80,%ecx
424a19:	57                   	push   %edi
424a1a:	bf 00 02 00 00       	mov    $0x200,%edi
424a1f:	f6 c2 08             	test   $0x8,%dl
424a22:	74 02                	je     0x424a26
424a24:	0b cf                	or     %edi,%ecx
424a26:	f6 c2 04             	test   $0x4,%dl
424a29:	74 06                	je     0x424a31
424a2b:	81 c9 00 04 00 00    	or     $0x400,%ecx
424a31:	f6 c2 02             	test   $0x2,%dl
424a34:	74 06                	je     0x424a3c
424a36:	81 c9 00 08 00 00    	or     $0x800,%ecx
424a3c:	f6 c2 01             	test   $0x1,%dl
424a3f:	74 06                	je     0x424a47
424a41:	81 c9 00 10 00 00    	or     $0x1000,%ecx
424a47:	56                   	push   %esi
424a48:	be 00 03 00 00       	mov    $0x300,%esi
424a4d:	8b c2                	mov    %edx,%eax
424a4f:	23 c6                	and    %esi,%eax
424a51:	3b c6                	cmp    %esi,%eax
424a53:	5e                   	pop    %esi
424a54:	75 08                	jne    0x424a5e
424a56:	81 c9 00 60 00 00    	or     $0x6000,%ecx
424a5c:	eb 1a                	jmp    0x424a78
424a5e:	85 d7                	test   %edx,%edi
424a60:	74 08                	je     0x424a6a
424a62:	81 c9 00 20 00 00    	or     $0x2000,%ecx
424a68:	eb 0e                	jmp    0x424a78
424a6a:	f7 c2 00 01 00 00    	test   $0x100,%edx
424a70:	74 06                	je     0x424a78
424a72:	81 c9 00 40 00 00    	or     $0x4000,%ecx
424a78:	5f                   	pop    %edi
424a79:	8b c1                	mov    %ecx,%eax
424a7b:	5d                   	pop    %ebp
424a7c:	c3                   	ret
424a7d:	8b ff                	mov    %edi,%edi
424a7f:	55                   	push   %ebp
424a80:	8b ec                	mov    %esp,%ebp