42e556:	c3                   	ret
42e557:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e55a:	c6 00 01             	movb   $0x1,(%eax)
42e55d:	b0 01                	mov    $0x1,%al
42e55f:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
42e566:	5d                   	pop    %ebp
42e567:	c3                   	ret
42e568:	8b ff                	mov    %edi,%edi
42e56a:	55                   	push   %ebp
42e56b:	8b ec                	mov    %esp,%ebp
42e56d:	8b 45 0c             	mov    0xc(%ebp),%eax
42e570:	80 38 00             	cmpb   $0x0,(%eax)
42e573:	75 25                	jne    0x42e59a
42e575:	8b 55 08             	mov    0x8(%ebp),%edx
42e578:	c6 00 01             	movb   $0x1,(%eax)
42e57b:	8b 0a                	mov    (%edx),%ecx
42e57d:	f6 c1 02             	test   $0x2,%cl
42e580:	75 18                	jne    0x42e59a
42e582:	83 e1 fe             	and    $0xfffffffe,%ecx
42e585:	b0 01                	mov    $0x1,%al
42e587:	83 c9 02             	or     $0x2,%ecx
42e58a:	89 0a                	mov    %ecx,(%edx)
42e58c:	8b 4a 04             	mov    0x4(%edx),%ecx
42e58f:	83 e1 fc             	and    $0xfffffffc,%ecx
42e592:	83 c9 04             	or     $0x4,%ecx
42e595:	89 4a 04             	mov    %ecx,0x4(%edx)
42e598:	5d                   	pop    %ebp
42e599:	c3                   	ret
42e59a:	32 c0                	xor    %al,%al
42e59c:	5d                   	pop    %ebp
42e59d:	c3                   	ret
42e59e:	8b ff                	mov    %edi,%edi
42e5a0:	55                   	push   %ebp
42e5a1:	8b ec                	mov    %esp,%ebp
42e5a3:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e5a6:	8b 01                	mov    (%ecx),%eax
42e5a8:	a9 00 c0 00 00       	test   $0xc000,%eax
42e5ad:	74 04                	je     0x42e5b3
42e5af:	32 c0                	xor    %al,%al
42e5b1:	5d                   	pop    %ebp
42e5b2:	c3                   	ret
42e5b3:	0d 00 40 00 00       	or     $0x4000,%eax
42e5b8:	89 01                	mov    %eax,(%ecx)
42e5ba:	b0 01                	mov    $0x1,%al
42e5bc:	5d                   	pop    %ebp
42e5bd:	c3                   	ret
42e5be:	8b ff                	mov    %edi,%edi
42e5c0:	55                   	push   %ebp
42e5c1:	8b ec                	mov    %esp,%ebp
42e5c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e5c6:	8b 01                	mov    (%ecx),%eax
42e5c8:	a9 00 02 00 00       	test   $0x200,%eax
42e5cd:	75 04                	jne    0x42e5d3
42e5cf:	32 c0                	xor    %al,%al
42e5d1:	5d                   	pop    %ebp
42e5d2:	c3                   	ret
42e5d3:	0d 00 04 00 00       	or     $0x400,%eax
42e5d8:	89 01                	mov    %eax,(%ecx)
42e5da:	b0 01                	mov    $0x1,%al
42e5dc:	5d                   	pop    %ebp
42e5dd:	c3                   	ret
42e5de:	8b ff                	mov    %edi,%edi
42e5e0:	55                   	push   %ebp
42e5e1:	8b ec                	mov    %esp,%ebp
42e5e3:	5d                   	pop    %ebp
42e5e4:	e9 5e fe ff ff       	jmp    0x42e447
42e5e9:	6a 0c                	push   $0xc
42e5eb:	68 d0 25 45 00       	push   $0x4525d0
42e5f0:	e8 db e2 fe ff       	call   0x41c8d0
42e5f5:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
42e5f9:	8b 45 08             	mov    0x8(%ebp),%eax
42e5fc:	ff 30                	push   (%eax)
42e5fe:	e8 ab 5d 00 00       	call   0x4343ae
42e603:	59                   	pop    %ecx
42e604:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e608:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42e60b:	8b 01                	mov    (%ecx),%eax
42e60d:	8b 38                	mov    (%eax),%edi
42e60f:	8b 71 04             	mov    0x4(%ecx),%esi
42e612:	8b d7                	mov    %edi,%edx
42e614:	c1 fa 06             	sar    $0x6,%edx
42e617:	8b c7                	mov    %edi,%eax
42e619:	83 e0 3f             	and    $0x3f,%eax
42e61c:	6b c8 38             	imul   $0x38,%eax,%ecx
42e61f:	8b 04 95 38 5d 45 00 	mov    0x455d38(,%edx,4),%eax
42e626:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42e62b:	74 0d                	je     0x42e63a
42e62d:	56                   	push   %esi
42e62e:	57                   	push   %edi
42e62f:	e8 19 01 00 00       	call   0x42e74d
42e634:	59                   	pop    %ecx
42e635:	59                   	pop    %ecx
42e636:	8b f0                	mov    %eax,%esi
42e638:	eb 0e                	jmp    0x42e648
42e63a:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
42e63e:	c7 46 18 09 00 00 00 	movl   $0x9,0x18(%esi)
42e645:	83 ce ff             	or     $0xffffffff,%esi
42e648:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42e64b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42e652:	e8 17 00 00 00       	call   0x42e66e
42e657:	8b c6                	mov    %esi,%eax
42e659:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42e65c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42e663:	59                   	pop    %ecx
42e664:	5f                   	pop    %edi
42e665:	5e                   	pop    %esi
42e666:	5b                   	pop    %ebx
42e667:	c9                   	leave
42e668:	c2 0c 00             	ret    $0xc
42e66b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42e66e:	8b 45 10             	mov    0x10(%ebp),%eax
42e671:	ff 30                	push   (%eax)
42e673:	e8 eb 5d 00 00       	call   0x434463
42e678:	59                   	pop    %ecx
42e679:	c3                   	ret
42e67a:	8b ff                	mov    %edi,%edi
42e67c:	55                   	push   %ebp
42e67d:	8b ec                	mov    %esp,%ebp
42e67f:	83 ec 14             	sub    $0x14,%esp
42e682:	56                   	push   %esi
42e683:	8b 75 08             	mov    0x8(%ebp),%esi
42e686:	83 fe fe             	cmp    $0xfffffffe,%esi
42e689:	75 18                	jne    0x42e6a3
42e68b:	8b 45 0c             	mov    0xc(%ebp),%eax
42e68e:	83 60 20 00          	andl   $0x0,0x20(%eax)
42e692:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42e696:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42e69a:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42e6a1:	eb 74                	jmp    0x42e717
42e6a3:	85 f6                	test   %esi,%esi
42e6a5:	78 4b                	js     0x42e6f2
42e6a7:	3b 35 38 5f 45 00    	cmp    0x455f38,%esi
42e6ad:	73 43                	jae    0x42e6f2
42e6af:	8b c6                	mov    %esi,%eax
42e6b1:	8b d6                	mov    %esi,%edx
42e6b3:	83 e0 3f             	and    $0x3f,%eax
42e6b6:	c1 fa 06             	sar    $0x6,%edx
42e6b9:	6b c8 38             	imul   $0x38,%eax,%ecx
42e6bc:	8b 04 95 38 5d 45 00 	mov    0x455d38(,%edx,4),%eax
42e6c3:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42e6c8:	74 28                	je     0x42e6f2
42e6ca:	8d 45 08             	lea    0x8(%ebp),%eax
42e6cd:	89 75 f8             	mov    %esi,-0x8(%ebp)
42e6d0:	89 45 ec             	mov    %eax,-0x14(%ebp)
42e6d3:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42e6d6:	8b 45 0c             	mov    0xc(%ebp),%eax
42e6d9:	89 45 f0             	mov    %eax,-0x10(%ebp)
42e6dc:	8d 45 f8             	lea    -0x8(%ebp),%eax
42e6df:	50                   	push   %eax
42e6e0:	8d 45 ec             	lea    -0x14(%ebp),%eax
42e6e3:	89 75 f4             	mov    %esi,-0xc(%ebp)
42e6e6:	50                   	push   %eax
42e6e7:	8d 45 f4             	lea    -0xc(%ebp),%eax
42e6ea:	50                   	push   %eax
42e6eb:	e8 f9 fe ff ff       	call   0x42e5e9
42e6f0:	eb 28                	jmp    0x42e71a
42e6f2:	8b 45 0c             	mov    0xc(%ebp),%eax
42e6f5:	33 c9                	xor    %ecx,%ecx
42e6f7:	50                   	push   %eax
42e6f8:	51                   	push   %ecx
42e6f9:	51                   	push   %ecx
42e6fa:	51                   	push   %ecx
42e6fb:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42e6ff:	51                   	push   %ecx
42e700:	89 48 20             	mov    %ecx,0x20(%eax)
42e703:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42e707:	51                   	push   %ecx
42e708:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42e70f:	e8 de 22 ff ff       	call   0x4209f2
42e714:	83 c4 18             	add    $0x18,%esp
42e717:	83 c8 ff             	or     $0xffffffff,%eax
42e71a:	5e                   	pop    %esi
42e71b:	c9                   	leave
42e71c:	c3                   	ret
42e71d:	8b ff                	mov    %edi,%edi
42e71f:	55                   	push   %ebp
42e720:	8b ec                	mov    %esp,%ebp
42e722:	83 ec 28             	sub    $0x28,%esp
42e725:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e728:	56                   	push   %esi
42e729:	6a 00                	push   $0x0
42e72b:	e8 33 20 ff ff       	call   0x420763
42e730:	8d 45 d8             	lea    -0x28(%ebp),%eax
42e733:	50                   	push   %eax
42e734:	ff 75 08             	push   0x8(%ebp)
42e737:	e8 11 00 00 00       	call   0x42e74d
42e73c:	59                   	pop    %ecx
42e73d:	59                   	pop    %ecx
42e73e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e741:	8b f0                	mov    %eax,%esi
42e743:	e8 63 20 ff ff       	call   0x4207ab
42e748:	8b c6                	mov    %esi,%eax
42e74a:	5e                   	pop    %esi
42e74b:	c9                   	leave
42e74c:	c3                   	ret
42e74d:	8b ff                	mov    %edi,%edi
42e74f:	55                   	push   %ebp
42e750:	8b ec                	mov    %esp,%ebp
42e752:	56                   	push   %esi
42e753:	57                   	push   %edi
42e754:	8b 7d 08             	mov    0x8(%ebp),%edi
42e757:	57                   	push   %edi
42e758:	e8 cd 5e 00 00       	call   0x43462a
42e75d:	59                   	pop    %ecx
42e75e:	83 f8 ff             	cmp    $0xffffffff,%eax
42e761:	75 04                	jne    0x42e767
42e763:	33 f6                	xor    %esi,%esi
42e765:	eb 4e                	jmp    0x42e7b5
42e767:	a1 38 5d 45 00       	mov    0x455d38,%eax
42e76c:	83 ff 01             	cmp    $0x1,%edi
42e76f:	75 09                	jne    0x42e77a
42e771:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
42e778:	75 0b                	jne    0x42e785
42e77a:	83 ff 02             	cmp    $0x2,%edi
42e77d:	75 1c                	jne    0x42e79b
42e77f:	f6 40 60 01          	testb  $0x1,0x60(%eax)
42e783:	74 16                	je     0x42e79b
42e785:	6a 02                	push   $0x2
42e787:	e8 9e 5e 00 00       	call   0x43462a
42e78c:	6a 01                	push   $0x1
42e78e:	8b f0                	mov    %eax,%esi
42e790:	e8 95 5e 00 00       	call   0x43462a
42e795:	59                   	pop    %ecx
42e796:	59                   	pop    %ecx
42e797:	3b c6                	cmp    %esi,%eax
42e799:	74 c8                	je     0x42e763
42e79b:	57                   	push   %edi
42e79c:	e8 89 5e 00 00       	call   0x43462a
42e7a1:	59                   	pop    %ecx
42e7a2:	50                   	push   %eax
42e7a3:	ff 15 68 f0 43 00    	call   *0x43f068
42e7a9:	85 c0                	test   %eax,%eax
42e7ab:	75 b6                	jne    0x42e763
42e7ad:	ff 15 60 f0 43 00    	call   *0x43f060
42e7b3:	8b f0                	mov    %eax,%esi
42e7b5:	57                   	push   %edi
42e7b6:	e8 de 5d 00 00       	call   0x434599
42e7bb:	59                   	pop    %ecx
42e7bc:	8b cf                	mov    %edi,%ecx
42e7be:	83 e7 3f             	and    $0x3f,%edi
42e7c1:	c1 f9 06             	sar    $0x6,%ecx
42e7c4:	6b d7 38             	imul   $0x38,%edi,%edx
42e7c7:	8b 0c 8d 38 5d 45 00 	mov    0x455d38(,%ecx,4),%ecx
42e7ce:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
42e7d3:	85 f6                	test   %esi,%esi
42e7d5:	74 10                	je     0x42e7e7
42e7d7:	ff 75 0c             	push   0xc(%ebp)
42e7da:	56                   	push   %esi
42e7db:	e8 29 7e ff ff       	call   0x426609
42e7e0:	59                   	pop    %ecx
42e7e1:	59                   	pop    %ecx
42e7e2:	83 c8 ff             	or     $0xffffffff,%eax
42e7e5:	eb 02                	jmp    0x42e7e9
42e7e7:	33 c0                	xor    %eax,%eax
42e7e9:	5f                   	pop    %edi
42e7ea:	5e                   	pop    %esi
42e7eb:	5d                   	pop    %ebp
42e7ec:	c3                   	ret
42e7ed:	8b ff                	mov    %edi,%edi
42e7ef:	55                   	push   %ebp
42e7f0:	8b ec                	mov    %esp,%ebp
42e7f2:	56                   	push   %esi
42e7f3:	8b 75 08             	mov    0x8(%ebp),%esi
42e7f6:	57                   	push   %edi
42e7f7:	8d 7e 0c             	lea    0xc(%esi),%edi
42e7fa:	8b 07                	mov    (%edi),%eax
42e7fc:	90                   	nop
42e7fd:	c1 e8 0d             	shr    $0xd,%eax
42e800:	a8 01                	test   $0x1,%al
42e802:	74 25                	je     0x42e829
42e804:	8b 07                	mov    (%edi),%eax
42e806:	90                   	nop
42e807:	c1 e8 06             	shr    $0x6,%eax
42e80a:	a8 01                	test   $0x1,%al
42e80c:	74 1b                	je     0x42e829
42e80e:	ff 76 04             	push   0x4(%esi)
42e811:	e8 61 dc ff ff       	call   0x42c477
42e816:	59                   	pop    %ecx
42e817:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
42e81c:	f0 21 07             	lock and %eax,(%edi)
42e81f:	33 c0                	xor    %eax,%eax
42e821:	89 46 04             	mov    %eax,0x4(%esi)
42e824:	89 06                	mov    %eax,(%esi)
42e826:	89 46 08             	mov    %eax,0x8(%esi)
42e829:	5f                   	pop    %edi
42e82a:	5e                   	pop    %esi
42e82b:	5d                   	pop    %ebp
42e82c:	c3                   	ret
42e82d:	6a 08                	push   $0x8
42e82f:	68 f0 25 45 00       	push   $0x4525f0
42e834:	e8 97 e0 fe ff       	call   0x41c8d0
42e839:	8b 45 08             	mov    0x8(%ebp),%eax
42e83c:	ff 30                	push   (%eax)
42e83e:	e8 99 96 ff ff       	call   0x427edc
42e843:	59                   	pop    %ecx
42e844:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e848:	8b 75 0c             	mov    0xc(%ebp),%esi
42e84b:	ff 76 04             	push   0x4(%esi)
42e84e:	8b 06                	mov    (%esi),%eax
42e850:	ff 30                	push   (%eax)
42e852:	e8 5b 01 00 00       	call   0x42e9b2
42e857:	59                   	pop    %ecx
42e858:	59                   	pop    %ecx
42e859:	84 c0                	test   %al,%al
42e85b:	74 32                	je     0x42e88f
42e85d:	8b 46 08             	mov    0x8(%esi),%eax
42e860:	80 38 00             	cmpb   $0x0,(%eax)
42e863:	75 0e                	jne    0x42e873
42e865:	8b 06                	mov    (%esi),%eax
42e867:	8b 00                	mov    (%eax),%eax
42e869:	8b 40 0c             	mov    0xc(%eax),%eax
42e86c:	90                   	nop
42e86d:	d1 e8                	shr    $1,%eax
42e86f:	a8 01                	test   $0x1,%al
42e871:	74 1c                	je     0x42e88f
42e873:	8b 06                	mov    (%esi),%eax
42e875:	ff 30                	push   (%eax)
42e877:	e8 f3 01 00 00       	call   0x42ea6f
42e87c:	59                   	pop    %ecx
42e87d:	83 f8 ff             	cmp    $0xffffffff,%eax
42e880:	74 07                	je     0x42e889
42e882:	8b 46 04             	mov    0x4(%esi),%eax
42e885:	ff 00                	incl   (%eax)
42e887:	eb 06                	jmp    0x42e88f
42e889:	8b 46 0c             	mov    0xc(%esi),%eax
42e88c:	83 08 ff             	orl    $0xffffffff,(%eax)
42e88f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42e896:	e8 12 00 00 00       	call   0x42e8ad
42e89b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42e89e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42e8a5:	59                   	pop    %ecx
42e8a6:	5f                   	pop    %edi
42e8a7:	5e                   	pop    %esi
42e8a8:	5b                   	pop    %ebx
42e8a9:	c9                   	leave
42e8aa:	c2 0c 00             	ret    $0xc
42e8ad:	8b 45 10             	mov    0x10(%ebp),%eax
42e8b0:	ff 30                	push   (%eax)
42e8b2:	e8 39 96 ff ff       	call   0x427ef0
42e8b7:	59                   	pop    %ecx
42e8b8:	c3                   	ret
42e8b9:	6a 2c                	push   $0x2c
42e8bb:	68 10 26 45 00       	push   $0x452610
42e8c0:	e8 0b e0 fe ff       	call   0x41c8d0
42e8c5:	8b 45 08             	mov    0x8(%ebp),%eax
42e8c8:	ff 30                	push   (%eax)
42e8ca:	e8 f2 9b ff ff       	call   0x4284c1
42e8cf:	59                   	pop    %ecx
42e8d0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42e8d4:	8b 35 64 59 45 00    	mov    0x455964,%esi