421780:	83 c0 0c             	add    $0xc,%eax
421783:	f0 09 08             	lock or %ecx,(%eax)
421786:	8b 45 08             	mov    0x8(%ebp),%eax
421789:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
421790:	75 26                	jne    0x4217b8
421792:	8b 40 0c             	mov    0xc(%eax),%eax
421795:	90                   	nop
421796:	c1 e8 06             	shr    $0x6,%eax
421799:	84 c3                	test   %al,%bl
42179b:	74 18                	je     0x4217b5
42179d:	8b 45 08             	mov    0x8(%ebp),%eax
4217a0:	8b 40 0c             	mov    0xc(%eax),%eax
4217a3:	90                   	nop
4217a4:	c1 e8 08             	shr    $0x8,%eax
4217a7:	84 c3                	test   %al,%bl
4217a9:	75 0a                	jne    0x4217b5
4217ab:	8b 45 08             	mov    0x8(%ebp),%eax
4217ae:	c7 40 18 00 10 00 00 	movl   $0x1000,0x18(%eax)
4217b5:	8b 45 08             	mov    0x8(%ebp),%eax
4217b8:	8b 08                	mov    (%eax),%ecx
4217ba:	ff 48 08             	decl   0x8(%eax)
4217bd:	8a 11                	mov    (%ecx),%dl
4217bf:	41                   	inc    %ecx
4217c0:	89 08                	mov    %ecx,(%eax)
4217c2:	0f b6 c2             	movzbl %dl,%eax
4217c5:	eb 1e                	jmp    0x4217e5
4217c7:	33 c9                	xor    %ecx,%ecx
4217c9:	85 d2                	test   %edx,%edx
4217cb:	0f 95 c1             	setne  %cl
4217ce:	83 c0 0c             	add    $0xc,%eax
4217d1:	8d 0c cd 08 00 00 00 	lea    0x8(,%ecx,8),%ecx
4217d8:	f0 09 08             	lock or %ecx,(%eax)
4217db:	8b 4d 08             	mov    0x8(%ebp),%ecx
4217de:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4217e2:	83 c8 ff             	or     $0xffffffff,%eax
4217e5:	5b                   	pop    %ebx
4217e6:	5e                   	pop    %esi
4217e7:	5d                   	pop    %ebp
4217e8:	c3                   	ret
4217e9:	8b ff                	mov    %edi,%edi
4217eb:	55                   	push   %ebp
4217ec:	8b ec                	mov    %esp,%ebp
4217ee:	5d                   	pop    %ebp
4217ef:	e9 66 fe ff ff       	jmp    0x42165a
4217f4:	6a 18                	push   $0x18
4217f6:	68 20 b0 43 00       	push   $0x43b020
4217fb:	e8 d0 8c fe ff       	call   0x40a4d0
421800:	8b 5d 08             	mov    0x8(%ebp),%ebx
421803:	83 fb fe             	cmp    $0xfffffffe,%ebx
421806:	75 20                	jne    0x421828
421808:	8b 45 18             	mov    0x18(%ebp),%eax
42180b:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42180f:	83 60 20 00          	andl   $0x0,0x20(%eax)
421813:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
421817:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42181e:	83 cf ff             	or     $0xffffffff,%edi
421821:	8b d7                	mov    %edi,%edx
421823:	e9 ce 00 00 00       	jmp    0x4218f6
421828:	85 db                	test   %ebx,%ebx
42182a:	78 0f                	js     0x42183b
42182c:	3b 1d 00 fa 43 00    	cmp    0x43fa00,%ebx
421832:	73 07                	jae    0x42183b
421834:	33 c0                	xor    %eax,%eax
421836:	40                   	inc    %eax
421837:	33 f6                	xor    %esi,%esi
421839:	eb 04                	jmp    0x42183f
42183b:	33 f6                	xor    %esi,%esi
42183d:	8b c6                	mov    %esi,%eax
42183f:	85 c0                	test   %eax,%eax
421841:	75 25                	jne    0x421868
421843:	8b 45 18             	mov    0x18(%ebp),%eax
421846:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42184a:	89 70 20             	mov    %esi,0x20(%eax)
42184d:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
421851:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
421858:	50                   	push   %eax
421859:	56                   	push   %esi
42185a:	56                   	push   %esi
42185b:	56                   	push   %esi
42185c:	56                   	push   %esi
42185d:	56                   	push   %esi
42185e:	e8 0e bb fe ff       	call   0x40d371
421863:	83 c4 18             	add    $0x18,%esp
421866:	eb b6                	jmp    0x42181e
421868:	8b cb                	mov    %ebx,%ecx
42186a:	c1 f9 06             	sar    $0x6,%ecx
42186d:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
421870:	8b c3                	mov    %ebx,%eax
421872:	83 e0 3f             	and    $0x3f,%eax
421875:	6b d0 38             	imul   $0x38,%eax,%edx
421878:	89 55 e0             	mov    %edx,-0x20(%ebp)
42187b:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
421882:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
421887:	74 ba                	je     0x421843
421889:	53                   	push   %ebx
42188a:	e8 91 f0 ff ff       	call   0x420920
42188f:	59                   	pop    %ecx
421890:	83 cf ff             	or     $0xffffffff,%edi
421893:	89 7d d8             	mov    %edi,-0x28(%ebp)
421896:	89 7d dc             	mov    %edi,-0x24(%ebp)
421899:	89 75 fc             	mov    %esi,-0x4(%ebp)
42189c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42189f:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4218a6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4218a9:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
4218ae:	75 19                	jne    0x4218c9
4218b0:	8b 45 18             	mov    0x18(%ebp),%eax
4218b3:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4218b7:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
4218be:	c6 40 24 01          	movb   $0x1,0x24(%eax)
4218c2:	89 70 20             	mov    %esi,0x20(%eax)
4218c5:	8b f7                	mov    %edi,%esi
4218c7:	eb 1f                	jmp    0x4218e8
4218c9:	ff 75 18             	push   0x18(%ebp)
4218cc:	ff 75 14             	push   0x14(%ebp)
4218cf:	ff 75 10             	push   0x10(%ebp)
4218d2:	ff 75 0c             	push   0xc(%ebp)
4218d5:	53                   	push   %ebx
4218d6:	e8 3e 00 00 00       	call   0x421919
4218db:	83 c4 14             	add    $0x14,%esp
4218de:	8b f8                	mov    %eax,%edi
4218e0:	89 7d d8             	mov    %edi,-0x28(%ebp)
4218e3:	8b f2                	mov    %edx,%esi
4218e5:	89 75 dc             	mov    %esi,-0x24(%ebp)
4218e8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4218ef:	e8 1d 00 00 00       	call   0x421911
4218f4:	8b d6                	mov    %esi,%edx
4218f6:	8b c7                	mov    %edi,%eax
4218f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4218fb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
421902:	59                   	pop    %ecx
421903:	5f                   	pop    %edi
421904:	5e                   	pop    %esi
421905:	5b                   	pop    %ebx
421906:	c9                   	leave
421907:	c3                   	ret
421908:	8b 5d 08             	mov    0x8(%ebp),%ebx
42190b:	8b 7d d8             	mov    -0x28(%ebp),%edi
42190e:	8b 75 dc             	mov    -0x24(%ebp),%esi
421911:	53                   	push   %ebx
421912:	e8 be f0 ff ff       	call   0x4209d5
421917:	59                   	pop    %ecx
421918:	c3                   	ret
421919:	8b ff                	mov    %edi,%edi
42191b:	55                   	push   %ebp
42191c:	8b ec                	mov    %esp,%ebp
42191e:	51                   	push   %ecx
42191f:	51                   	push   %ecx
421920:	56                   	push   %esi
421921:	8b 75 08             	mov    0x8(%ebp),%esi
421924:	57                   	push   %edi
421925:	56                   	push   %esi
421926:	e8 71 f2 ff ff       	call   0x420b9c
42192b:	83 cf ff             	or     $0xffffffff,%edi
42192e:	59                   	pop    %ecx
42192f:	3b c7                	cmp    %edi,%eax
421931:	75 14                	jne    0x421947
421933:	8b 45 18             	mov    0x18(%ebp),%eax
421936:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42193a:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
421941:	8b c7                	mov    %edi,%eax
421943:	8b d7                	mov    %edi,%edx
421945:	eb 51                	jmp    0x421998
421947:	ff 75 14             	push   0x14(%ebp)
42194a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42194d:	51                   	push   %ecx
42194e:	ff 75 10             	push   0x10(%ebp)
421951:	ff 75 0c             	push   0xc(%ebp)
421954:	50                   	push   %eax
421955:	ff 15 74 10 43 00    	call   *0x431074
42195b:	85 c0                	test   %eax,%eax
42195d:	75 13                	jne    0x421972
42195f:	ff 75 18             	push   0x18(%ebp)
421962:	ff 15 08 11 43 00    	call   *0x431108
421968:	50                   	push   %eax
421969:	e8 cc ac ff ff       	call   0x41c63a
42196e:	59                   	pop    %ecx
42196f:	59                   	pop    %ecx
421970:	eb cf                	jmp    0x421941
421972:	8b 45 f8             	mov    -0x8(%ebp),%eax
421975:	8b 55 fc             	mov    -0x4(%ebp),%edx
421978:	23 c2                	and    %edx,%eax
42197a:	3b c7                	cmp    %edi,%eax
42197c:	74 c3                	je     0x421941
42197e:	8b 45 f8             	mov    -0x8(%ebp),%eax
421981:	8b ce                	mov    %esi,%ecx
421983:	83 e6 3f             	and    $0x3f,%esi
421986:	c1 f9 06             	sar    $0x6,%ecx
421989:	6b f6 38             	imul   $0x38,%esi,%esi
42198c:	8b 0c 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%ecx
421993:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
421998:	5f                   	pop    %edi
421999:	5e                   	pop    %esi
42199a:	c9                   	leave
42199b:	c3                   	ret
42199c:	8b ff                	mov    %edi,%edi
42199e:	55                   	push   %ebp
42199f:	8b ec                	mov    %esp,%ebp
4219a1:	83 ec 28             	sub    $0x28,%esp
4219a4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4219a7:	56                   	push   %esi
4219a8:	57                   	push   %edi
4219a9:	6a 00                	push   $0x0
4219ab:	e8 32 b7 fe ff       	call   0x40d0e2
4219b0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4219b3:	50                   	push   %eax
4219b4:	ff 75 14             	push   0x14(%ebp)
4219b7:	ff 75 10             	push   0x10(%ebp)
4219ba:	ff 75 0c             	push   0xc(%ebp)
4219bd:	ff 75 08             	push   0x8(%ebp)
4219c0:	e8 2f fe ff ff       	call   0x4217f4
4219c5:	83 c4 14             	add    $0x14,%esp
4219c8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4219cb:	8b f0                	mov    %eax,%esi
4219cd:	8b fa                	mov    %edx,%edi
4219cf:	e8 56 b7 fe ff       	call   0x40d12a
4219d4:	8b d7                	mov    %edi,%edx
4219d6:	8b c6                	mov    %esi,%eax
4219d8:	5f                   	pop    %edi
4219d9:	5e                   	pop    %esi
4219da:	c9                   	leave
4219db:	c3                   	ret
4219dc:	8b ff                	mov    %edi,%edi
4219de:	55                   	push   %ebp
4219df:	8b ec                	mov    %esp,%ebp
4219e1:	ff 75 18             	push   0x18(%ebp)
4219e4:	ff 75 14             	push   0x14(%ebp)
4219e7:	ff 75 10             	push   0x10(%ebp)
4219ea:	ff 75 0c             	push   0xc(%ebp)
4219ed:	ff 75 08             	push   0x8(%ebp)
4219f0:	e8 ff fd ff ff       	call   0x4217f4
4219f5:	83 c4 14             	add    $0x14,%esp
4219f8:	5d                   	pop    %ebp
4219f9:	c3                   	ret
4219fa:	8b ff                	mov    %edi,%edi
4219fc:	55                   	push   %ebp
4219fd:	8b ec                	mov    %esp,%ebp
4219ff:	83 ec 28             	sub    $0x28,%esp
421a02:	8d 4d d8             	lea    -0x28(%ebp),%ecx
421a05:	56                   	push   %esi
421a06:	57                   	push   %edi
421a07:	6a 00                	push   $0x0
421a09:	e8 d4 b6 fe ff       	call   0x40d0e2
421a0e:	8d 45 d8             	lea    -0x28(%ebp),%eax
421a11:	50                   	push   %eax
421a12:	ff 75 14             	push   0x14(%ebp)
421a15:	ff 75 10             	push   0x10(%ebp)
421a18:	ff 75 0c             	push   0xc(%ebp)
421a1b:	ff 75 08             	push   0x8(%ebp)
421a1e:	e8 f6 fe ff ff       	call   0x421919
421a23:	83 c4 14             	add    $0x14,%esp
421a26:	8d 4d d8             	lea    -0x28(%ebp),%ecx
421a29:	8b f0                	mov    %eax,%esi
421a2b:	8b fa                	mov    %edx,%edi
421a2d:	e8 f8 b6 fe ff       	call   0x40d12a
421a32:	8b d7                	mov    %edi,%edx
421a34:	8b c6                	mov    %esi,%eax
421a36:	5f                   	pop    %edi
421a37:	5e                   	pop    %esi
421a38:	c9                   	leave
421a39:	c3                   	ret
421a3a:	8b ff                	mov    %edi,%edi
421a3c:	55                   	push   %ebp
421a3d:	8b ec                	mov    %esp,%ebp
421a3f:	ff 75 18             	push   0x18(%ebp)
421a42:	ff 75 14             	push   0x14(%ebp)
421a45:	ff 75 10             	push   0x10(%ebp)
421a48:	ff 75 0c             	push   0xc(%ebp)
421a4b:	ff 75 08             	push   0x8(%ebp)
421a4e:	e8 c6 fe ff ff       	call   0x421919
421a53:	83 c4 14             	add    $0x14,%esp
421a56:	5d                   	pop    %ebp
421a57:	c3                   	ret
421a58:	8b ff                	mov    %edi,%edi
421a5a:	55                   	push   %ebp
421a5b:	8b ec                	mov    %esp,%ebp
421a5d:	51                   	push   %ecx
421a5e:	51                   	push   %ecx
421a5f:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
421a64:	33 c5                	xor    %ebp,%eax
421a66:	89 45 fc             	mov    %eax,-0x4(%ebp)
421a69:	53                   	push   %ebx
421a6a:	56                   	push   %esi
421a6b:	57                   	push   %edi
421a6c:	8b 7d 18             	mov    0x18(%ebp),%edi
421a6f:	85 ff                	test   %edi,%edi
421a71:	7e 14                	jle    0x421a87
421a73:	57                   	push   %edi
421a74:	ff 75 14             	push   0x14(%ebp)
421a77:	e8 35 87 00 00       	call   0x42a1b1
421a7c:	59                   	pop    %ecx
421a7d:	3b c7                	cmp    %edi,%eax
421a7f:	59                   	pop    %ecx
421a80:	8d 78 01             	lea    0x1(%eax),%edi
421a83:	7c 02                	jl     0x421a87
421a85:	8b f8                	mov    %eax,%edi
421a87:	8b 5d 24             	mov    0x24(%ebp),%ebx
421a8a:	85 db                	test   %ebx,%ebx
421a8c:	75 0b                	jne    0x421a99
421a8e:	8b 45 08             	mov    0x8(%ebp),%eax
421a91:	8b 00                	mov    (%eax),%eax
421a93:	8b 58 08             	mov    0x8(%eax),%ebx
421a96:	89 5d 24             	mov    %ebx,0x24(%ebp)
421a99:	33 c0                	xor    %eax,%eax
421a9b:	39 45 28             	cmp    %eax,0x28(%ebp)
421a9e:	6a 00                	push   $0x0
421aa0:	6a 00                	push   $0x0
421aa2:	0f 95 c0             	setne  %al
421aa5:	57                   	push   %edi
421aa6:	ff 75 14             	push   0x14(%ebp)
421aa9:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
421ab0:	50                   	push   %eax
421ab1:	53                   	push   %ebx
421ab2:	e8 f1 ec ff ff       	call   0x4207a8
421ab7:	83 c4 18             	add    $0x18,%esp
421aba:	89 45 f8             	mov    %eax,-0x8(%ebp)
421abd:	85 c0                	test   %eax,%eax
421abf:	0f 84 70 01 00 00    	je     0x421c35
421ac5:	03 c0                	add    %eax,%eax
421ac7:	8d 48 08             	lea    0x8(%eax),%ecx
421aca:	3b c1                	cmp    %ecx,%eax
421acc:	1b c0                	sbb    %eax,%eax
421ace:	23 c1                	and    %ecx,%eax
421ad0:	0f 84 52 01 00 00    	je     0x421c28
421ad6:	3d 00 04 00 00       	cmp    $0x400,%eax
421adb:	77 17                	ja     0x421af4
421add:	e8 2e c3 00 00       	call   0x42de10
421ae2:	8b f4                	mov    %esp,%esi
421ae4:	85 f6                	test   %esi,%esi
421ae6:	0f 84 3e 01 00 00    	je     0x421c2a
421aec:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
421af2:	eb 17                	jmp    0x421b0b
421af4:	50                   	push   %eax
421af5:	e8 36 51 fe ff       	call   0x406c30
421afa:	8b f0                	mov    %eax,%esi
421afc:	59                   	pop    %ecx
421afd:	85 f6                	test   %esi,%esi
421aff:	0f 84 25 01 00 00    	je     0x421c2a
421b05:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
421b0b:	83 c6 08             	add    $0x8,%esi
421b0e:	85 f6                	test   %esi,%esi
421b10:	0f 84 14 01 00 00    	je     0x421c2a
421b16:	ff 75 f8             	push   -0x8(%ebp)
421b19:	56                   	push   %esi
421b1a:	57                   	push   %edi
421b1b:	ff 75 14             	push   0x14(%ebp)
421b1e:	6a 01                	push   $0x1
421b20:	53                   	push   %ebx
421b21:	e8 82 ec ff ff       	call   0x4207a8
421b26:	83 c4 18             	add    $0x18,%esp