423668:	8d 87 81 00 00 00    	lea    0x81(%edi),%eax
42366e:	51                   	push   %ecx
42366f:	50                   	push   %eax
423670:	51                   	push   %ecx
423671:	ff 75 d4             	push   -0x2c(%ebp)
423674:	68 00 02 00 00       	push   $0x200
423679:	ff b6 a8 00 00 00    	push   0xa8(%esi)
42367f:	53                   	push   %ebx
423680:	e8 c2 e5 ff ff       	call   0x421c47
423685:	83 c4 24             	add    $0x24,%esp
423688:	85 c0                	test   %eax,%eax
42368a:	0f 84 f7 01 00 00    	je     0x423887
423690:	8b 45 e4             	mov    -0x1c(%ebp),%eax
423693:	53                   	push   %ebx
423694:	ff 76 08             	push   0x8(%esi)
423697:	05 00 01 00 00       	add    $0x100,%eax
42369c:	50                   	push   %eax
42369d:	68 00 01 00 00       	push   $0x100
4236a2:	ff 75 dc             	push   -0x24(%ebp)
4236a5:	89 45 bc             	mov    %eax,-0x44(%ebp)
4236a8:	6a 01                	push   $0x1
4236aa:	53                   	push   %ebx
4236ab:	e8 84 0e 00 00       	call   0x424534
4236b0:	83 c4 1c             	add    $0x1c,%esp
4236b3:	85 c0                	test   %eax,%eax
4236b5:	0f 84 cc 01 00 00    	je     0x423887
4236bb:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4236be:	33 d2                	xor    %edx,%edx
4236c0:	83 7d c8 01          	cmpl   $0x1,-0x38(%ebp)
4236c4:	8b 7d e0             	mov    -0x20(%ebp),%edi
4236c7:	8d 81 fe 00 00 00    	lea    0xfe(%ecx),%eax
4236cd:	66 89 10             	mov    %dx,(%eax)
4236d0:	8b 55 d8             	mov    -0x28(%ebp),%edx
4236d3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4236d6:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
4236dc:	88 5f 7f             	mov    %bl,0x7f(%edi)
4236df:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4236e2:	88 5a 7f             	mov    %bl,0x7f(%edx)
4236e5:	88 18                	mov    %bl,(%eax)
4236e7:	8d 82 80 00 00 00    	lea    0x80(%edx),%eax
4236ed:	89 45 b0             	mov    %eax,-0x50(%ebp)
4236f0:	88 18                	mov    %bl,(%eax)
4236f2:	0f 86 cf 00 00 00    	jbe    0x4237c7
4236f8:	81 7e 08 e9 fd 00 00 	cmpl   $0xfde9,0x8(%esi)
4236ff:	75 56                	jne    0x423757
423701:	8d 81 00 02 00 00    	lea    0x200(%ecx),%eax
423707:	be be fe ff ff       	mov    $0xfffffebe,%esi
42370c:	89 45 d8             	mov    %eax,-0x28(%ebp)
42370f:	8d 8a 00 01 00 00    	lea    0x100(%edx),%ecx
423715:	6a 80                	push   $0xffffff80
423717:	58                   	pop    %eax
423718:	2b fa                	sub    %edx,%edi
42371a:	2b f2                	sub    %edx,%esi
42371c:	2b c2                	sub    %edx,%eax
42371e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
423721:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
423724:	6a 32                	push   $0x32
423726:	5b                   	pop    %ebx
423727:	3b d8                	cmp    %eax,%ebx
423729:	8b 5d d8             	mov    -0x28(%ebp),%ebx
42372c:	1b c0                	sbb    %eax,%eax
42372e:	83 45 d8 02          	addl   $0x2,-0x28(%ebp)
423732:	25 00 80 ff ff       	and    $0xffff8000,%eax
423737:	05 00 80 00 00       	add    $0x8000,%eax
42373c:	66 89 03             	mov    %ax,(%ebx)
42373f:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
423742:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
423745:	88 04 0f             	mov    %al,(%edi,%ecx,1)
423748:	88 01                	mov    %al,(%ecx)
42374a:	41                   	inc    %ecx
42374b:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
42374e:	3d ff 00 00 00       	cmp    $0xff,%eax
423753:	7e cc                	jle    0x423721
423755:	eb 6b                	jmp    0x4237c2
423757:	8d 75 ee             	lea    -0x12(%ebp),%esi
42375a:	38 5d ee             	cmp    %bl,-0x12(%ebp)
42375d:	74 68                	je     0x4237c7
42375f:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
423762:	8a 46 01             	mov    0x1(%esi),%al
423765:	84 c0                	test   %al,%al
423767:	74 59                	je     0x4237c2
423769:	0f b6 0e             	movzbl (%esi),%ecx
42376c:	0f b6 c0             	movzbl %al,%eax
42376f:	3b c8                	cmp    %eax,%ecx
423771:	77 47                	ja     0x4237ba
423773:	8d 82 80 00 00 00    	lea    0x80(%edx),%eax
423779:	03 c1                	add    %ecx,%eax
42377b:	2b fa                	sub    %edx,%edi
42377d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
423780:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
423786:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
423789:	8d 04 48             	lea    (%eax,%ecx,2),%eax
42378c:	89 7d c0             	mov    %edi,-0x40(%ebp)
42378f:	8b f8                	mov    %eax,%edi
423791:	8b 55 c0             	mov    -0x40(%ebp),%edx
423794:	89 45 c4             	mov    %eax,-0x3c(%ebp)
423797:	b8 00 80 00 00       	mov    $0x8000,%eax
42379c:	66 89 07             	mov    %ax,(%edi)
42379f:	8d 7f 02             	lea    0x2(%edi),%edi
4237a2:	88 0c 13             	mov    %cl,(%ebx,%edx,1)
4237a5:	88 0b                	mov    %cl,(%ebx)
4237a7:	41                   	inc    %ecx
4237a8:	0f b6 46 01          	movzbl 0x1(%esi),%eax
4237ac:	43                   	inc    %ebx
4237ad:	3b c8                	cmp    %eax,%ecx
4237af:	7e e6                	jle    0x423797
4237b1:	8b 55 d8             	mov    -0x28(%ebp),%edx
4237b4:	8b 7d e0             	mov    -0x20(%ebp),%edi
4237b7:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4237ba:	83 c6 02             	add    $0x2,%esi
4237bd:	80 3e 00             	cmpb   $0x0,(%esi)
4237c0:	75 a0                	jne    0x423762
4237c2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4237c5:	33 db                	xor    %ebx,%ebx
4237c7:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4237ca:	8d b1 00 02 00 00    	lea    0x200(%ecx),%esi
4237d0:	6a 3f                	push   $0x3f
4237d2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4237d5:	59                   	pop    %ecx
4237d6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237d8:	6a 1f                	push   $0x1f
4237da:	59                   	pop    %ecx
4237db:	6a 1f                	push   $0x1f
4237dd:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237df:	8d b0 00 01 00 00    	lea    0x100(%eax),%esi
4237e5:	8b f8                	mov    %eax,%edi
4237e7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237e9:	59                   	pop    %ecx
4237ea:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237ec:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4237ed:	8d b2 00 01 00 00    	lea    0x100(%edx),%esi
4237f3:	8b fa                	mov    %edx,%edi
4237f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4237f7:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4237f9:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4237fa:	8b 75 cc             	mov    -0x34(%ebp),%esi
4237fd:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
423803:	85 c9                	test   %ecx,%ecx
423805:	74 49                	je     0x423850
423807:	83 c8 ff             	or     $0xffffffff,%eax
42380a:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42380e:	75 40                	jne    0x423850
423810:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
423816:	2d fe 00 00 00       	sub    $0xfe,%eax
42381b:	50                   	push   %eax
42381c:	e8 ef 33 fe ff       	call   0x406c10
423821:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
423827:	bf 80 00 00 00       	mov    $0x80,%edi
42382c:	2b c7                	sub    %edi,%eax
42382e:	50                   	push   %eax
42382f:	e8 dc 33 fe ff       	call   0x406c10
423834:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
42383a:	2b c7                	sub    %edi,%eax
42383c:	50                   	push   %eax
42383d:	e8 ce 33 fe ff       	call   0x406c10
423842:	ff b6 8c 00 00 00    	push   0x8c(%esi)
423848:	e8 c3 33 fe ff       	call   0x406c10
42384d:	83 c4 10             	add    $0x10,%esp
423850:	8b 45 d0             	mov    -0x30(%ebp),%eax
423853:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
423859:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
42385f:	8b 45 bc             	mov    -0x44(%ebp),%eax
423862:	89 06                	mov    %eax,(%esi)
423864:	8b 45 b8             	mov    -0x48(%ebp),%eax
423867:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
42386d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
423870:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
423876:	8b 45 b0             	mov    -0x50(%ebp),%eax
423879:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
42387f:	8b 45 c8             	mov    -0x38(%ebp),%eax
423882:	89 46 04             	mov    %eax,0x4(%esi)
423885:	eb 24                	jmp    0x4238ab
423887:	ff 75 d0             	push   -0x30(%ebp)
42388a:	e8 81 33 fe ff       	call   0x406c10
42388f:	ff 75 e4             	push   -0x1c(%ebp)
423892:	e8 79 33 fe ff       	call   0x406c10
423897:	ff 75 e0             	push   -0x20(%ebp)
42389a:	e8 71 33 fe ff       	call   0x406c10
42389f:	57                   	push   %edi
4238a0:	e8 6b 33 fe ff       	call   0x406c10
4238a5:	33 db                	xor    %ebx,%ebx
4238a7:	83 c4 10             	add    $0x10,%esp
4238aa:	43                   	inc    %ebx
4238ab:	ff 75 dc             	push   -0x24(%ebp)
4238ae:	e8 5d 33 fe ff       	call   0x406c10
4238b3:	59                   	pop    %ecx
4238b4:	8b c3                	mov    %ebx,%eax
4238b6:	eb 3c                	jmp    0x4238f4
4238b8:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4238be:	85 c0                	test   %eax,%eax
4238c0:	74 03                	je     0x4238c5
4238c2:	f0 ff 08             	lock decl (%eax)
4238c5:	89 9e 8c 00 00 00    	mov    %ebx,0x8c(%esi)
4238cb:	33 c0                	xor    %eax,%eax
4238cd:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
4238d3:	c7 06 50 3b 43 00    	movl   $0x433b50,(%esi)
4238d9:	c7 86 94 00 00 00 d0 	movl   $0x433dd0,0x94(%esi)
4238e0:	3d 43 00
4238e3:	c7 86 98 00 00 00 50 	movl   $0x433f50,0x98(%esi)
4238ea:	3f 43 00
4238ed:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
4238f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4238f7:	5f                   	pop    %edi
4238f8:	5e                   	pop    %esi
4238f9:	33 cd                	xor    %ebp,%ecx
4238fb:	5b                   	pop    %ebx
4238fc:	e8 a6 63 fe ff       	call   0x409ca7
423901:	c9                   	leave
423902:	c3                   	ret
423903:	8b ff                	mov    %edi,%edi
423905:	55                   	push   %ebp
423906:	8b ec                	mov    %esp,%ebp
423908:	56                   	push   %esi
423909:	8b 75 08             	mov    0x8(%ebp),%esi
42390c:	85 f6                	test   %esi,%esi
42390e:	0f 84 ea 00 00 00    	je     0x4239fe
423914:	8b 46 0c             	mov    0xc(%esi),%eax
423917:	3b 05 e4 da 43 00    	cmp    0x43dae4,%eax
42391d:	74 07                	je     0x423926
42391f:	50                   	push   %eax
423920:	e8 eb 32 fe ff       	call   0x406c10
423925:	59                   	pop    %ecx
423926:	8b 46 10             	mov    0x10(%esi),%eax
423929:	3b 05 e8 da 43 00    	cmp    0x43dae8,%eax
42392f:	74 07                	je     0x423938
423931:	50                   	push   %eax
423932:	e8 d9 32 fe ff       	call   0x406c10
423937:	59                   	pop    %ecx
423938:	8b 46 14             	mov    0x14(%esi),%eax
42393b:	3b 05 ec da 43 00    	cmp    0x43daec,%eax
423941:	74 07                	je     0x42394a
423943:	50                   	push   %eax
423944:	e8 c7 32 fe ff       	call   0x406c10
423949:	59                   	pop    %ecx
42394a:	8b 46 18             	mov    0x18(%esi),%eax
42394d:	3b 05 f0 da 43 00    	cmp    0x43daf0,%eax
423953:	74 07                	je     0x42395c
423955:	50                   	push   %eax
423956:	e8 b5 32 fe ff       	call   0x406c10
42395b:	59                   	pop    %ecx
42395c:	8b 46 1c             	mov    0x1c(%esi),%eax
42395f:	3b 05 f4 da 43 00    	cmp    0x43daf4,%eax
423965:	74 07                	je     0x42396e
423967:	50                   	push   %eax
423968:	e8 a3 32 fe ff       	call   0x406c10
42396d:	59                   	pop    %ecx
42396e:	8b 46 20             	mov    0x20(%esi),%eax
423971:	3b 05 f8 da 43 00    	cmp    0x43daf8,%eax
423977:	74 07                	je     0x423980
423979:	50                   	push   %eax
42397a:	e8 91 32 fe ff       	call   0x406c10
42397f:	59                   	pop    %ecx
423980:	8b 46 24             	mov    0x24(%esi),%eax
423983:	3b 05 fc da 43 00    	cmp    0x43dafc,%eax
423989:	74 07                	je     0x423992
42398b:	50                   	push   %eax
42398c:	e8 7f 32 fe ff       	call   0x406c10
423991:	59                   	pop    %ecx
423992:	8b 46 38             	mov    0x38(%esi),%eax
423995:	3b 05 10 db 43 00    	cmp    0x43db10,%eax
42399b:	74 07                	je     0x4239a4
42399d:	50                   	push   %eax
42399e:	e8 6d 32 fe ff       	call   0x406c10
4239a3:	59                   	pop    %ecx
4239a4:	8b 46 3c             	mov    0x3c(%esi),%eax
4239a7:	3b 05 14 db 43 00    	cmp    0x43db14,%eax
4239ad:	74 07                	je     0x4239b6
4239af:	50                   	push   %eax
4239b0:	e8 5b 32 fe ff       	call   0x406c10
4239b5:	59                   	pop    %ecx
4239b6:	8b 46 40             	mov    0x40(%esi),%eax
4239b9:	3b 05 18 db 43 00    	cmp    0x43db18,%eax
4239bf:	74 07                	je     0x4239c8
4239c1:	50                   	push   %eax
4239c2:	e8 49 32 fe ff       	call   0x406c10
4239c7:	59                   	pop    %ecx
4239c8:	8b 46 44             	mov    0x44(%esi),%eax
4239cb:	3b 05 1c db 43 00    	cmp    0x43db1c,%eax
4239d1:	74 07                	je     0x4239da
4239d3:	50                   	push   %eax
4239d4:	e8 37 32 fe ff       	call   0x406c10
4239d9:	59                   	pop    %ecx
4239da:	8b 46 48             	mov    0x48(%esi),%eax
4239dd:	3b 05 20 db 43 00    	cmp    0x43db20,%eax
4239e3:	74 07                	je     0x4239ec
4239e5:	50                   	push   %eax
4239e6:	e8 25 32 fe ff       	call   0x406c10
4239eb:	59                   	pop    %ecx
4239ec:	8b 46 4c             	mov    0x4c(%esi),%eax
4239ef:	3b 05 24 db 43 00    	cmp    0x43db24,%eax
4239f5:	74 07                	je     0x4239fe
4239f7:	50                   	push   %eax
4239f8:	e8 13 32 fe ff       	call   0x406c10
4239fd:	59                   	pop    %ecx
4239fe:	5e                   	pop    %esi
4239ff:	5d                   	pop    %ebp
423a00:	c3                   	ret
423a01:	8b ff                	mov    %edi,%edi
423a03:	55                   	push   %ebp
423a04:	8b ec                	mov    %esp,%ebp
423a06:	83 ec 10             	sub    $0x10,%esp
423a09:	53                   	push   %ebx
423a0a:	56                   	push   %esi
423a0b:	8b 75 08             	mov    0x8(%ebp),%esi
423a0e:	57                   	push   %edi
423a0f:	33 ff                	xor    %edi,%edi
423a11:	89 75 f0             	mov    %esi,-0x10(%ebp)
423a14:	89 7d fc             	mov    %edi,-0x4(%ebp)
423a17:	89 7d f4             	mov    %edi,-0xc(%ebp)
423a1a:	39 be ac 00 00 00    	cmp    %edi,0xac(%esi)
423a20:	75 1e                	jne    0x423a40
423a22:	39 be b0 00 00 00    	cmp    %edi,0xb0(%esi)
423a28:	75 16                	jne    0x423a40
423a2a:	89 7d fc             	mov    %edi,-0x4(%ebp)
423a2d:	bb d8 da 43 00       	mov    $0x43dad8,%ebx
423a32:	89 7d f8             	mov    %edi,-0x8(%ebp)
423a35:	8d be 88 00 00 00    	lea    0x88(%esi),%edi
423a3b:	e9 dc 02 00 00       	jmp    0x423d1c
423a40:	6a 50                	push   $0x50
423a42:	6a 01                	push   $0x1
423a44:	e8 67 31 fe ff       	call   0x406bb0
423a49:	57                   	push   %edi
423a4a:	8b d8                	mov    %eax,%ebx
423a4c:	e8 bf 31 fe ff       	call   0x406c10
423a51:	83 c4 0c             	add    $0xc,%esp
423a54:	85 db                	test   %ebx,%ebx
423a56:	75 08                	jne    0x423a60
423a58:	33 c0                	xor    %eax,%eax
423a5a:	40                   	inc    %eax
423a5b:	e9 fd 02 00 00       	jmp    0x423d5d
423a60:	6a 04                	push   $0x4
423a62:	6a 01                	push   $0x1
423a64:	e8 47 31 fe ff       	call   0x406bb0
423a69:	8b f8                	mov    %eax,%edi
423a6b:	6a 00                	push   $0x0
423a6d:	89 7d f8             	mov    %edi,-0x8(%ebp)
423a70:	e8 9b 31 fe ff       	call   0x406c10
423a75:	83 c4 0c             	add    $0xc,%esp
423a78:	85 ff                	test   %edi,%edi
423a7a:	75 09                	jne    0x423a85
423a7c:	53                   	push   %ebx
423a7d:	e8 8e 31 fe ff       	call   0x406c10
423a82:	59                   	pop    %ecx
423a83:	eb d3                	jmp    0x423a58
423a85:	83 be ac 00 00 00 00 	cmpl   $0x0,0xac(%esi)
423a8c:	0f 84 3e 02 00 00    	je     0x423cd0
423a92:	6a 04                	push   $0x4
423a94:	6a 01                	push   $0x1
423a96:	e8 15 31 fe ff       	call   0x406bb0
423a9b:	8b f8                	mov    %eax,%edi