445531:	8b 06                	mov    (%esi),%eax
445533:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
44553a:	eb 08                	jmp    0x445544
44553c:	21 5a 20             	and    %ebx,0x20(%edx)
44553f:	8b 06                	mov    (%esi),%eax
445541:	21 58 20             	and    %ebx,0x20(%eax)
445544:	83 61 20 00          	andl   $0x0,0x20(%ecx)
445548:	89 0e                	mov    %ecx,(%esi)
44554a:	eb 4e                	jmp    0x44559a
44554c:	8b 06                	mov    (%esi),%eax
44554e:	8b 78 1c             	mov    0x1c(%eax),%edi
445551:	85 ff                	test   %edi,%edi
445553:	74 0f                	je     0x445564
445555:	39 47 14             	cmp    %eax,0x14(%edi)
445558:	75 05                	jne    0x44555f
44555a:	89 57 14             	mov    %edx,0x14(%edi)
44555d:	eb 07                	jmp    0x445566
44555f:	89 57 18             	mov    %edx,0x18(%edi)
445562:	eb 02                	jmp    0x445566
445564:	89 11                	mov    %edx,(%ecx)
445566:	8b 4a 18             	mov    0x18(%edx),%ecx
445569:	85 c9                	test   %ecx,%ecx
44556b:	74 05                	je     0x445572
44556d:	8b 06                	mov    (%esi),%eax
44556f:	89 41 1c             	mov    %eax,0x1c(%ecx)
445572:	8b 06                	mov    (%esi),%eax
445574:	21 58 20             	and    %ebx,0x20(%eax)
445577:	8b 0e                	mov    (%esi),%ecx
445579:	8b 42 18             	mov    0x18(%edx),%eax
44557c:	89 41 14             	mov    %eax,0x14(%ecx)
44557f:	8b 06                	mov    (%esi),%eax
445581:	89 50 1c             	mov    %edx,0x1c(%eax)
445584:	21 5a 20             	and    %ebx,0x20(%edx)
445587:	8b 06                	mov    (%esi),%eax
445589:	89 42 18             	mov    %eax,0x18(%edx)
44558c:	89 7a 1c             	mov    %edi,0x1c(%edx)
44558f:	89 16                	mov    %edx,(%esi)
445591:	eb 07                	jmp    0x44559a
445593:	c7 42 20 01 00 00 00 	movl   $0x1,0x20(%edx)
44559a:	5e                   	pop    %esi
44559b:	5f                   	pop    %edi
44559c:	8b c3                	mov    %ebx,%eax
44559e:	5b                   	pop    %ebx
44559f:	c9                   	leave
4455a0:	c2 0c 00             	ret    $0xc
4455a3:	8b ff                	mov    %edi,%edi
4455a5:	55                   	push   %ebp
4455a6:	8b ec                	mov    %esp,%ebp
4455a8:	51                   	push   %ecx
4455a9:	51                   	push   %ecx
4455aa:	53                   	push   %ebx
4455ab:	57                   	push   %edi
4455ac:	8b 7d 10             	mov    0x10(%ebp),%edi
4455af:	33 db                	xor    %ebx,%ebx
4455b1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4455b4:	38 1f                	cmp    %bl,(%edi)
4455b6:	0f 84 3c 01 00 00    	je     0x4456f8
4455bc:	56                   	push   %esi
4455bd:	8b 75 08             	mov    0x8(%ebp),%esi
4455c0:	8b 16                	mov    (%esi),%edx
4455c2:	8b 42 20             	mov    0x20(%edx),%eax
4455c5:	2b c3                	sub    %ebx,%eax
4455c7:	0f 84 23 01 00 00    	je     0x4456f0
4455cd:	83 e8 01             	sub    $0x1,%eax
4455d0:	0f 84 13 01 00 00    	je     0x4456e9
4455d6:	83 e8 01             	sub    $0x1,%eax
4455d9:	75 1a                	jne    0x4455f5
4455db:	8b 55 0c             	mov    0xc(%ebp),%edx
4455de:	88 1f                	mov    %bl,(%edi)
4455e0:	8b 42 20             	mov    0x20(%edx),%eax
4455e3:	2b c3                	sub    %ebx,%eax
4455e5:	0f 84 0c 01 00 00    	je     0x4456f7
4455eb:	83 e8 01             	sub    $0x1,%eax
4455ee:	74 59                	je     0x445649
4455f0:	83 e8 01             	sub    $0x1,%eax
4455f3:	74 0a                	je     0x4455ff
4455f5:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4455fa:	e9 f8 00 00 00       	jmp    0x4456f7
4455ff:	8b 06                	mov    (%esi),%eax
445601:	8b 78 1c             	mov    0x1c(%eax),%edi
445604:	85 ff                	test   %edi,%edi
445606:	74 0f                	je     0x445617
445608:	39 47 14             	cmp    %eax,0x14(%edi)
44560b:	75 05                	jne    0x445612
44560d:	89 57 14             	mov    %edx,0x14(%edi)
445610:	eb 07                	jmp    0x445619
445612:	89 57 18             	mov    %edx,0x18(%edi)
445615:	eb 02                	jmp    0x445619
445617:	89 11                	mov    %edx,(%ecx)
445619:	8b 4a 14             	mov    0x14(%edx),%ecx
44561c:	85 c9                	test   %ecx,%ecx
44561e:	74 05                	je     0x445625
445620:	8b 06                	mov    (%esi),%eax
445622:	89 41 1c             	mov    %eax,0x1c(%ecx)
445625:	8b 06                	mov    (%esi),%eax
445627:	21 58 20             	and    %ebx,0x20(%eax)
44562a:	8b 0e                	mov    (%esi),%ecx
44562c:	8b 42 14             	mov    0x14(%edx),%eax
44562f:	89 41 18             	mov    %eax,0x18(%ecx)
445632:	8b 06                	mov    (%esi),%eax
445634:	89 50 1c             	mov    %edx,0x1c(%eax)
445637:	21 5a 20             	and    %ebx,0x20(%edx)
44563a:	8b 06                	mov    (%esi),%eax
44563c:	89 42 14             	mov    %eax,0x14(%edx)
44563f:	89 7a 1c             	mov    %edi,0x1c(%edx)
445642:	89 16                	mov    %edx,(%esi)
445644:	e9 ae 00 00 00       	jmp    0x4456f7
445649:	8b 0e                	mov    (%esi),%ecx
44564b:	8b 41 18             	mov    0x18(%ecx),%eax
44564e:	8b 78 14             	mov    0x14(%eax),%edi
445651:	8b 41 1c             	mov    0x1c(%ecx),%eax
445654:	89 45 f8             	mov    %eax,-0x8(%ebp)
445657:	85 c0                	test   %eax,%eax
445659:	74 0f                	je     0x44566a
44565b:	39 48 14             	cmp    %ecx,0x14(%eax)
44565e:	75 05                	jne    0x445665
445660:	89 78 14             	mov    %edi,0x14(%eax)
445663:	eb 0a                	jmp    0x44566f
445665:	89 78 18             	mov    %edi,0x18(%eax)
445668:	eb 05                	jmp    0x44566f
44566a:	8b 45 fc             	mov    -0x4(%ebp),%eax
44566d:	89 38                	mov    %edi,(%eax)
44566f:	8b 06                	mov    (%esi),%eax
445671:	89 78 1c             	mov    %edi,0x1c(%eax)
445674:	89 7a 1c             	mov    %edi,0x1c(%edx)
445677:	8b 47 18             	mov    0x18(%edi),%eax
44567a:	85 c0                	test   %eax,%eax
44567c:	74 03                	je     0x445681
44567e:	89 50 1c             	mov    %edx,0x1c(%eax)
445681:	8b 4f 14             	mov    0x14(%edi),%ecx
445684:	85 c9                	test   %ecx,%ecx
445686:	74 05                	je     0x44568d
445688:	8b 06                	mov    (%esi),%eax
44568a:	89 41 1c             	mov    %eax,0x1c(%ecx)
44568d:	8b 47 18             	mov    0x18(%edi),%eax
445690:	89 42 14             	mov    %eax,0x14(%edx)
445693:	8b 0e                	mov    (%esi),%ecx
445695:	8b 47 14             	mov    0x14(%edi),%eax
445698:	89 41 18             	mov    %eax,0x18(%ecx)
44569b:	33 c9                	xor    %ecx,%ecx
44569d:	89 57 18             	mov    %edx,0x18(%edi)
4456a0:	8b 06                	mov    (%esi),%eax
4456a2:	89 47 14             	mov    %eax,0x14(%edi)
4456a5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4456a8:	89 47 1c             	mov    %eax,0x1c(%edi)
4456ab:	8b 47 20             	mov    0x20(%edi),%eax
4456ae:	2b c1                	sub    %ecx,%eax
4456b0:	74 28                	je     0x4456da
4456b2:	83 e8 01             	sub    $0x1,%eax
4456b5:	74 1a                	je     0x4456d1
4456b7:	83 e8 01             	sub    $0x1,%eax
4456ba:	74 07                	je     0x4456c3
4456bc:	bb 07 00 00 80       	mov    $0x80000007,%ebx
4456c1:	eb 1f                	jmp    0x4456e2
4456c3:	89 4a 20             	mov    %ecx,0x20(%edx)
4456c6:	8b 06                	mov    (%esi),%eax
4456c8:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%eax)
4456cf:	eb 11                	jmp    0x4456e2
4456d1:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
4456d8:	eb 03                	jmp    0x4456dd
4456da:	89 4a 20             	mov    %ecx,0x20(%edx)
4456dd:	8b 06                	mov    (%esi),%eax
4456df:	89 48 20             	mov    %ecx,0x20(%eax)
4456e2:	89 4f 20             	mov    %ecx,0x20(%edi)
4456e5:	89 3e                	mov    %edi,(%esi)
4456e7:	eb 0e                	jmp    0x4456f7
4456e9:	21 5a 20             	and    %ebx,0x20(%edx)
4456ec:	88 1f                	mov    %bl,(%edi)
4456ee:	eb 07                	jmp    0x4456f7
4456f0:	c7 42 20 02 00 00 00 	movl   $0x2,0x20(%edx)
4456f7:	5e                   	pop    %esi
4456f8:	5f                   	pop    %edi
4456f9:	8b c3                	mov    %ebx,%eax
4456fb:	5b                   	pop    %ebx
4456fc:	c9                   	leave
4456fd:	c2 0c 00             	ret    $0xc
445700:	8b ff                	mov    %edi,%edi
445702:	55                   	push   %ebp
445703:	8b ec                	mov    %esp,%ebp
445705:	51                   	push   %ecx
445706:	51                   	push   %ecx
445707:	53                   	push   %ebx
445708:	56                   	push   %esi
445709:	57                   	push   %edi
44570a:	8b f9                	mov    %ecx,%edi
44570c:	8b 5f 20             	mov    0x20(%edi),%ebx
44570f:	85 db                	test   %ebx,%ebx
445711:	74 11                	je     0x445724
445713:	8b 03                	mov    (%ebx),%eax
445715:	8b 70 18             	mov    0x18(%eax),%esi
445718:	8b ce                	mov    %esi,%ecx
44571a:	ff 15 c4 12 45 00    	call   *0x4512c4
445720:	8b cb                	mov    %ebx,%ecx
445722:	ff d6                	call   *%esi
445724:	83 cb ff             	or     $0xffffffff,%ebx
445727:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
44572c:	4b                   	dec    %ebx
44572d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
445730:	8b 5f 20             	mov    0x20(%edi),%ebx
445733:	75 66                	jne    0x44579b
445735:	8b 47 1c             	mov    0x1c(%edi),%eax
445738:	89 45 fc             	mov    %eax,-0x4(%ebp)
44573b:	c7 47 1c ac b1 ba ba 	movl   $0xbabab1ac,0x1c(%edi)
445742:	85 db                	test   %ebx,%ebx
445744:	74 36                	je     0x44577c
445746:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44574a:	74 1c                	je     0x445768
44574c:	8b 0b                	mov    (%ebx),%ecx
44574e:	8d 47 24             	lea    0x24(%edi),%eax
445751:	50                   	push   %eax
445752:	8b 71 38             	mov    0x38(%ecx),%esi
445755:	8b ce                	mov    %esi,%ecx
445757:	ff 15 c4 12 45 00    	call   *0x4512c4
44575d:	8b cb                	mov    %ebx,%ecx
44575f:	ff d6                	call   *%esi
445761:	83 67 14 00          	andl   $0x0,0x14(%edi)
445765:	8b 5f 20             	mov    0x20(%edi),%ebx
445768:	8b 03                	mov    (%ebx),%eax
44576a:	8b 70 1c             	mov    0x1c(%eax),%esi
44576d:	8b ce                	mov    %esi,%ecx
44576f:	ff 15 c4 12 45 00    	call   *0x4512c4
445775:	8b cb                	mov    %ebx,%ecx
445777:	ff d6                	call   *%esi
445779:	8b 45 fc             	mov    -0x4(%ebp),%eax
44577c:	83 f8 01             	cmp    $0x1,%eax
44577f:	75 11                	jne    0x445792
445781:	8b 07                	mov    (%edi),%eax
445783:	8b 70 14             	mov    0x14(%eax),%esi
445786:	8b ce                	mov    %esi,%ecx
445788:	ff 15 c4 12 45 00    	call   *0x4512c4
44578e:	8b cf                	mov    %edi,%ecx
445790:	ff d6                	call   *%esi
445792:	8b cf                	mov    %edi,%ecx
445794:	e8 bd d5 fe ff       	call   0x432d56
445799:	eb 15                	jmp    0x4457b0
44579b:	85 db                	test   %ebx,%ebx
44579d:	74 11                	je     0x4457b0
44579f:	8b 0b                	mov    (%ebx),%ecx
4457a1:	8b 71 1c             	mov    0x1c(%ecx),%esi
4457a4:	8b ce                	mov    %esi,%ecx
4457a6:	ff 15 c4 12 45 00    	call   *0x4512c4
4457ac:	8b cb                	mov    %ebx,%ecx
4457ae:	ff d6                	call   *%esi
4457b0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4457b3:	5f                   	pop    %edi
4457b4:	5e                   	pop    %esi
4457b5:	5b                   	pop    %ebx
4457b6:	c9                   	leave
4457b7:	c3                   	ret
4457b8:	6a 00                	push   $0x0
4457ba:	b8 18 2d 42 00       	mov    $0x422d18,%eax
4457bf:	e8 a9 9e fd ff       	call   0x41f66d
4457c4:	8b d9                	mov    %ecx,%ebx
4457c6:	8b 45 08             	mov    0x8(%ebp),%eax
4457c9:	33 ff                	xor    %edi,%edi
4457cb:	8b 70 14             	mov    0x14(%eax),%esi
4457ce:	85 f6                	test   %esi,%esi
4457d0:	74 1b                	je     0x4457ed
4457d2:	56                   	push   %esi
4457d3:	e8 e0 ff ff ff       	call   0x4457b8
4457d8:	8b ce                	mov    %esi,%ecx
4457da:	8b f8                	mov    %eax,%edi
4457dc:	e8 de d2 fe ff       	call   0x432abf
4457e1:	8b 4b 08             	mov    0x8(%ebx),%ecx
4457e4:	56                   	push   %esi
4457e5:	e8 40 40 fd ff       	call   0x41982a
4457ea:	8b 45 08             	mov    0x8(%ebp),%eax
4457ed:	8b 70 18             	mov    0x18(%eax),%esi
4457f0:	85 f6                	test   %esi,%esi
4457f2:	74 1a                	je     0x44580e
4457f4:	56                   	push   %esi
4457f5:	8b cb                	mov    %ebx,%ecx
4457f7:	e8 bc ff ff ff       	call   0x4457b8
4457fc:	8b ce                	mov    %esi,%ecx
4457fe:	8b f8                	mov    %eax,%edi
445800:	e8 ba d2 fe ff       	call   0x432abf
445805:	8b 4b 08             	mov    0x8(%ebx),%ecx
445808:	56                   	push   %esi
445809:	e8 1c 40 fd ff       	call   0x41982a
44580e:	8b c7                	mov    %edi,%eax
445810:	e8 26 9e fd ff       	call   0x41f63b
445815:	c2 04 00             	ret    $0x4
445818:	8b ff                	mov    %edi,%edi
44581a:	55                   	push   %ebp
44581b:	8b ec                	mov    %esp,%ebp
44581d:	8b 45 08             	mov    0x8(%ebp),%eax
445820:	53                   	push   %ebx
445821:	56                   	push   %esi
445822:	33 db                	xor    %ebx,%ebx
445824:	8b 70 0c             	mov    0xc(%eax),%esi
445827:	57                   	push   %edi
445828:	8b f9                	mov    %ecx,%edi
44582a:	85 f6                	test   %esi,%esi
44582c:	74 14                	je     0x445842
44582e:	56                   	push   %esi
44582f:	e8 e4 ff ff ff       	call   0x445818
445834:	8b 4f 08             	mov    0x8(%edi),%ecx
445837:	8b d8                	mov    %eax,%ebx
445839:	56                   	push   %esi
44583a:	e8 eb 3f fd ff       	call   0x41982a
44583f:	8b 45 08             	mov    0x8(%ebp),%eax
445842:	8b 70 10             	mov    0x10(%eax),%esi
445845:	85 f6                	test   %esi,%esi
445847:	74 13                	je     0x44585c
445849:	56                   	push   %esi
44584a:	8b cf                	mov    %edi,%ecx
44584c:	e8 c7 ff ff ff       	call   0x445818
445851:	8b 4f 08             	mov    0x8(%edi),%ecx
445854:	8b d8                	mov    %eax,%ebx
445856:	56                   	push   %esi
445857:	e8 ce 3f fd ff       	call   0x41982a
44585c:	5f                   	pop    %edi
44585d:	5e                   	pop    %esi
44585e:	8b c3                	mov    %ebx,%eax
445860:	5b                   	pop    %ebx
445861:	5d                   	pop    %ebp
445862:	c2 04 00             	ret    $0x4
445865:	cc                   	int3
445866:	cc                   	int3
445867:	cc                   	int3
445868:	cc                   	int3
445869:	cc                   	int3
44586a:	cc                   	int3
44586b:	cc                   	int3
44586c:	cc                   	int3
44586d:	cc                   	int3
44586e:	cc                   	int3
44586f:	cc                   	int3
445870:	8b ff                	mov    %edi,%edi
445872:	55                   	push   %ebp
445873:	8b ec                	mov    %esp,%ebp
445875:	51                   	push   %ecx
445876:	51                   	push   %ecx
445877:	53                   	push   %ebx
445878:	56                   	push   %esi
445879:	57                   	push   %edi
44587a:	8b f9                	mov    %ecx,%edi
44587c:	8b 07                	mov    (%edi),%eax
44587e:	8b 70 18             	mov    0x18(%eax),%esi
445881:	8b ce                	mov    %esi,%ecx
445883:	ff 15 c4 12 45 00    	call   *0x4512c4
445889:	8b cf                	mov    %edi,%ecx
44588b:	ff d6                	call   *%esi
44588d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
445891:	8d 4d f8             	lea    -0x8(%ebp),%ecx
445894:	51                   	push   %ecx
445895:	ff 75 08             	push   0x8(%ebp)
445898:	8d 4f 28             	lea    0x28(%edi),%ecx
44589b:	e8 32 c4 fe ff       	call   0x431cd2
4458a0:	8b c8                	mov    %eax,%ecx