42f65c:	89 46 04             	mov    %eax,0x4(%esi)
42f65f:	85 ff                	test   %edi,%edi
42f661:	74 10                	je     0x42f673
42f663:	f0 ff 47 04          	lock incl 0x4(%edi)
42f667:	8b 4e 04             	mov    0x4(%esi),%ecx
42f66a:	85 c9                	test   %ecx,%ecx
42f66c:	74 05                	je     0x42f673
42f66e:	e8 ad d4 fd ff       	call   0x40cb20
42f673:	89 7e 04             	mov    %edi,0x4(%esi)
42f676:	89 1e                	mov    %ebx,(%esi)
42f678:	e8 0b d2 fd ff       	call   0x40c888
42f67d:	8b f0                	mov    %eax,%esi
42f67f:	85 f6                	test   %esi,%esi
42f681:	79 16                	jns    0x42f699
42f683:	56                   	push   %esi
42f684:	68 40 56 40 00       	push   $0x405640
42f689:	6a 4c                	push   $0x4c
42f68b:	8b 4d 04             	mov    0x4(%ebp),%ecx
42f68e:	5a                   	pop    %edx
42f68f:	e8 76 ca ff ff       	call   0x42c10a
42f694:	8b 7d ec             	mov    -0x14(%ebp),%edi
42f697:	eb 02                	jmp    0x42f69b
42f699:	33 f6                	xor    %esi,%esi
42f69b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42f69f:	85 ff                	test   %edi,%edi
42f6a1:	74 07                	je     0x42f6aa
42f6a3:	8b cf                	mov    %edi,%ecx
42f6a5:	e8 76 d4 fd ff       	call   0x40cb20
42f6aa:	8b c6                	mov    %esi,%eax
42f6ac:	e8 2b b7 fe ff       	call   0x41addc
42f6b1:	c3                   	ret
42f6b2:	cc                   	int3
42f6b3:	cc                   	int3
42f6b4:	cc                   	int3
42f6b5:	cc                   	int3
42f6b6:	cc                   	int3
42f6b7:	cc                   	int3
42f6b8:	cc                   	int3
42f6b9:	cc                   	int3
42f6ba:	cc                   	int3
42f6bb:	cc                   	int3
42f6bc:	cc                   	int3
42f6bd:	cc                   	int3
42f6be:	cc                   	int3
42f6bf:	cc                   	int3
42f6c0:	8b ff                	mov    %edi,%edi
42f6c2:	55                   	push   %ebp
42f6c3:	8b ec                	mov    %esp,%ebp
42f6c5:	8b 45 08             	mov    0x8(%ebp),%eax
42f6c8:	8b 48 18             	mov    0x18(%eax),%ecx
42f6cb:	85 c9                	test   %ecx,%ecx
42f6cd:	74 1a                	je     0x42f6e9
42f6cf:	8b 01                	mov    (%ecx),%eax
42f6d1:	56                   	push   %esi
42f6d2:	ff 75 10             	push   0x10(%ebp)
42f6d5:	ff 75 0c             	push   0xc(%ebp)
42f6d8:	8b 70 0c             	mov    0xc(%eax),%esi
42f6db:	51                   	push   %ecx
42f6dc:	8b ce                	mov    %esi,%ecx
42f6de:	ff 15 20 a5 43 00    	call   *0x43a520
42f6e4:	ff d6                	call   *%esi
42f6e6:	5e                   	pop    %esi
42f6e7:	eb 05                	jmp    0x42f6ee
42f6e9:	b8 01 40 00 80       	mov    $0x80004001,%eax
42f6ee:	5d                   	pop    %ebp
42f6ef:	c2 0c 00             	ret    $0xc
42f6f2:	83 c1 10             	add    $0x10,%ecx
42f6f5:	e9 34 d8 fe ff       	jmp    0x41cf2e
42f6fa:	cc                   	int3
42f6fb:	cc                   	int3
42f6fc:	cc                   	int3
42f6fd:	cc                   	int3
42f6fe:	cc                   	int3
42f6ff:	cc                   	int3
42f700:	8b ff                	mov    %edi,%edi
42f702:	55                   	push   %ebp
42f703:	8b ec                	mov    %esp,%ebp
42f705:	8b 45 08             	mov    0x8(%ebp),%eax
42f708:	8b 48 18             	mov    0x18(%eax),%ecx
42f70b:	85 c9                	test   %ecx,%ecx
42f70d:	74 14                	je     0x42f723
42f70f:	8b 01                	mov    (%ecx),%eax
42f711:	56                   	push   %esi
42f712:	51                   	push   %ecx
42f713:	8b 70 10             	mov    0x10(%eax),%esi
42f716:	8b ce                	mov    %esi,%ecx
42f718:	ff 15 20 a5 43 00    	call   *0x43a520
42f71e:	ff d6                	call   *%esi
42f720:	5e                   	pop    %esi
42f721:	eb 05                	jmp    0x42f728
42f723:	b8 01 40 00 80       	mov    $0x80004001,%eax
42f728:	5d                   	pop    %ebp
42f729:	c2 04 00             	ret    $0x4
42f72c:	cc                   	int3
42f72d:	cc                   	int3
42f72e:	cc                   	int3
42f72f:	cc                   	int3
42f730:	8b ff                	mov    %edi,%edi
42f732:	55                   	push   %ebp
42f733:	8b ec                	mov    %esp,%ebp
42f735:	8b 45 08             	mov    0x8(%ebp),%eax
42f738:	8b 48 18             	mov    0x18(%eax),%ecx
42f73b:	85 c9                	test   %ecx,%ecx
42f73d:	74 17                	je     0x42f756
42f73f:	8b 01                	mov    (%ecx),%eax
42f741:	56                   	push   %esi
42f742:	ff 75 0c             	push   0xc(%ebp)
42f745:	8b 70 14             	mov    0x14(%eax),%esi
42f748:	51                   	push   %ecx
42f749:	8b ce                	mov    %esi,%ecx
42f74b:	ff 15 20 a5 43 00    	call   *0x43a520
42f751:	ff d6                	call   *%esi
42f753:	5e                   	pop    %esi
42f754:	eb 05                	jmp    0x42f75b
42f756:	b8 01 40 00 80       	mov    $0x80004001,%eax
42f75b:	5d                   	pop    %ebp
42f75c:	c2 08 00             	ret    $0x8
42f75f:	6a 00                	push   $0x0
42f761:	b8 51 e1 41 00       	mov    $0x41e151,%eax
42f766:	e8 a3 b6 fe ff       	call   0x41ae0e
42f76b:	83 3d 78 8a 43 00 00 	cmpl   $0x0,0x438a78
42f772:	74 4c                	je     0x42f7c0
42f774:	e8 23 0b 00 00       	call   0x43029c
42f779:	8b 35 78 8a 43 00    	mov    0x438a78,%esi
42f77f:	85 f6                	test   %esi,%esi
42f781:	74 36                	je     0x42f7b9
42f783:	8d 46 28             	lea    0x28(%esi),%eax
42f786:	50                   	push   %eax
42f787:	ff 15 90 a2 43 00    	call   *0x43a290
42f78d:	8b 4e 24             	mov    0x24(%esi),%ecx
42f790:	c7 06 f4 10 40 00    	movl   $0x4010f4,(%esi)
42f796:	85 c9                	test   %ecx,%ecx
42f798:	74 06                	je     0x42f7a0
42f79a:	51                   	push   %ecx
42f79b:	e8 f6 64 ff ff       	call   0x425c96
42f7a0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42f7a4:	56                   	push   %esi
42f7a5:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
42f7ab:	8b ce                	mov    %esi,%ecx
42f7ad:	ff 15 20 a5 43 00    	call   *0x43a520
42f7b3:	ff d6                	call   *%esi
42f7b5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42f7b9:	83 25 78 8a 43 00 00 	andl   $0x0,0x438a78
42f7c0:	8b 0d 00 8f 43 00    	mov    0x438f00,%ecx
42f7c6:	85 c9                	test   %ecx,%ecx
42f7c8:	74 17                	je     0x42f7e1
42f7ca:	8b 01                	mov    (%ecx),%eax
42f7cc:	51                   	push   %ecx
42f7cd:	8b 70 08             	mov    0x8(%eax),%esi
42f7d0:	8b ce                	mov    %esi,%ecx
42f7d2:	ff 15 20 a5 43 00    	call   *0x43a520
42f7d8:	ff d6                	call   *%esi
42f7da:	83 25 00 8f 43 00 00 	andl   $0x0,0x438f00
42f7e1:	e8 f6 b5 fe ff       	call   0x41addc
42f7e6:	c3                   	ret
42f7e7:	cc                   	int3
42f7e8:	cc                   	int3
42f7e9:	cc                   	int3
42f7ea:	cc                   	int3
42f7eb:	cc                   	int3
42f7ec:	cc                   	int3
42f7ed:	cc                   	int3
42f7ee:	cc                   	int3
42f7ef:	cc                   	int3
42f7f0:	6a 00                	push   $0x0
42f7f2:	b8 51 e1 41 00       	mov    $0x41e151,%eax
42f7f7:	e8 12 b6 fe ff       	call   0x41ae0e
42f7fc:	8d 79 04             	lea    0x4(%ecx),%edi
42f7ff:	eb 19                	jmp    0x42f81a
42f801:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42f805:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
42f80b:	8b ce                	mov    %esi,%ecx
42f80d:	50                   	push   %eax
42f80e:	ff 15 20 a5 43 00    	call   *0x43a520
42f814:	ff d6                	call   *%esi
42f816:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42f81a:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
42f81e:	74 0c                	je     0x42f82c
42f820:	57                   	push   %edi
42f821:	8b cf                	mov    %edi,%ecx
42f823:	e8 fe e9 fd ff       	call   0x40e226
42f828:	85 c0                	test   %eax,%eax
42f82a:	75 d5                	jne    0x42f801
42f82c:	e8 ab b5 fe ff       	call   0x41addc
42f831:	c3                   	ret
42f832:	8b ff                	mov    %edi,%edi
42f834:	55                   	push   %ebp
42f835:	8b ec                	mov    %esp,%ebp
42f837:	b8 04 10 00 00       	mov    $0x1004,%eax
42f83c:	e8 ef e7 fe ff       	call   0x41e030
42f841:	a1 08 85 43 00       	mov    0x438508,%eax
42f846:	33 c5                	xor    %ebp,%eax
42f848:	89 45 fc             	mov    %eax,-0x4(%ebp)
42f84b:	8b 45 14             	mov    0x14(%ebp),%eax
42f84e:	56                   	push   %esi
42f84f:	8b 75 08             	mov    0x8(%ebp),%esi
42f852:	57                   	push   %edi
42f853:	51                   	push   %ecx
42f854:	51                   	push   %ecx
42f855:	33 ff                	xor    %edi,%edi
42f857:	66 89 bd fc ef ff ff 	mov    %di,-0x1004(%ebp)
42f85e:	8d bd fc ef ff ff    	lea    -0x1004(%ebp),%edi
42f864:	57                   	push   %edi
42f865:	51                   	push   %ecx
42f866:	50                   	push   %eax
42f867:	51                   	push   %ecx
42f868:	51                   	push   %ecx
42f869:	56                   	push   %esi
42f86a:	e8 10 00 00 00       	call   0x42f87f
42f86f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42f872:	5f                   	pop    %edi
42f873:	33 cd                	xor    %ebp,%ecx
42f875:	5e                   	pop    %esi
42f876:	e8 45 af fe ff       	call   0x41a7c0
42f87b:	c9                   	leave
42f87c:	c2 18 00             	ret    $0x18
42f87f:	8b ff                	mov    %edi,%edi
42f881:	55                   	push   %ebp
42f882:	8b ec                	mov    %esp,%ebp
42f884:	83 ec 10             	sub    $0x10,%esp
42f887:	53                   	push   %ebx
42f888:	56                   	push   %esi
42f889:	57                   	push   %edi
42f88a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42f88d:	33 ff                	xor    %edi,%edi
42f88f:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42f892:	47                   	inc    %edi
42f893:	8b f1                	mov    %ecx,%esi
42f895:	89 55 f4             	mov    %edx,-0xc(%ebp)
42f898:	33 db                	xor    %ebx,%ebx
42f89a:	88 5d ff             	mov    %bl,-0x1(%ebp)
42f89d:	8d 56 02             	lea    0x2(%esi),%edx
42f8a0:	66 8b 06             	mov    (%esi),%ax
42f8a3:	83 c6 02             	add    $0x2,%esi
42f8a6:	66 3b c3             	cmp    %bx,%ax
42f8a9:	75 f5                	jne    0x42f8a0
42f8ab:	8b 1d 00 8a 43 00    	mov    0x438a00,%ebx
42f8b1:	2b f2                	sub    %edx,%esi
42f8b3:	d1 fe                	sar    $1,%esi
42f8b5:	85 db                	test   %ebx,%ebx
42f8b7:	74 20                	je     0x42f8d9
42f8b9:	8d 45 ff             	lea    -0x1(%ebp),%eax
42f8bc:	50                   	push   %eax
42f8bd:	b8 00 08 00 00       	mov    $0x800,%eax
42f8c2:	2b c6                	sub    %esi,%eax
42f8c4:	50                   	push   %eax
42f8c5:	8d 04 71             	lea    (%ecx,%esi,2),%eax
42f8c8:	8b cb                	mov    %ebx,%ecx
42f8ca:	50                   	push   %eax
42f8cb:	ff 15 20 a5 43 00    	call   *0x43a520
42f8d1:	ff d3                	call   *%ebx
42f8d3:	8b f0                	mov    %eax,%esi
42f8d5:	85 f6                	test   %esi,%esi
42f8d7:	78 0a                	js     0x42f8e3
42f8d9:	6a 03                	push   $0x3
42f8db:	be 3e 02 07 80       	mov    $0x8007023e,%esi
42f8e0:	58                   	pop    %eax
42f8e1:	eb 02                	jmp    0x42f8e5
42f8e3:	8b c7                	mov    %edi,%eax
42f8e5:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42f8e9:	74 03                	je     0x42f8ee
42f8eb:	6a 05                	push   $0x5
42f8ed:	5f                   	pop    %edi
42f8ee:	8b 55 f4             	mov    -0xc(%ebp),%edx
42f8f1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42f8f4:	57                   	push   %edi
42f8f5:	ff 75 1c             	push   0x1c(%ebp)
42f8f8:	56                   	push   %esi
42f8f9:	50                   	push   %eax
42f8fa:	ff 75 14             	push   0x14(%ebp)
42f8fd:	6a 00                	push   $0x0
42f8ff:	6a 00                	push   $0x0
42f901:	ff 75 08             	push   0x8(%ebp)
42f904:	e8 cb c0 ff ff       	call   0x42b9d4
42f909:	5f                   	pop    %edi
42f90a:	8b c6                	mov    %esi,%eax
42f90c:	5e                   	pop    %esi
42f90d:	5b                   	pop    %ebx
42f90e:	c9                   	leave
42f90f:	c2 20 00             	ret    $0x20
42f912:	8b ff                	mov    %edi,%edi
42f914:	55                   	push   %ebp
42f915:	8b ec                	mov    %esp,%ebp
42f917:	51                   	push   %ecx
42f918:	51                   	push   %ecx
42f919:	ff 75 04             	push   0x4(%ebp)
42f91c:	51                   	push   %ecx
42f91d:	51                   	push   %ecx
42f91e:	ff 75 08             	push   0x8(%ebp)
42f921:	e8 0c ff ff ff       	call   0x42f832
42f926:	5d                   	pop    %ebp
42f927:	c2 04 00             	ret    $0x4
42f92a:	cc                   	int3
42f92b:	cc                   	int3
42f92c:	cc                   	int3
42f92d:	cc                   	int3
42f92e:	cc                   	int3
42f92f:	cc                   	int3
42f930:	8b ff                	mov    %edi,%edi
42f932:	55                   	push   %ebp
42f933:	8b ec                	mov    %esp,%ebp
42f935:	8b 45 08             	mov    0x8(%ebp),%eax
42f938:	8b 48 18             	mov    0x18(%eax),%ecx
42f93b:	85 c9                	test   %ecx,%ecx
42f93d:	74 1a                	je     0x42f959
42f93f:	8b 01                	mov    (%ecx),%eax
42f941:	56                   	push   %esi
42f942:	ff 75 10             	push   0x10(%ebp)
42f945:	ff 75 0c             	push   0xc(%ebp)
42f948:	8b 70 18             	mov    0x18(%eax),%esi
42f94b:	51                   	push   %ecx
42f94c:	8b ce                	mov    %esi,%ecx
42f94e:	ff 15 20 a5 43 00    	call   *0x43a520
42f954:	ff d6                	call   *%esi
42f956:	5e                   	pop    %esi
42f957:	eb 05                	jmp    0x42f95e
42f959:	b8 01 40 00 80       	mov    $0x80004001,%eax
42f95e:	5d                   	pop    %ebp
42f95f:	c2 0c 00             	ret    $0xc
42f962:	8b ff                	mov    %edi,%edi
42f964:	55                   	push   %ebp
42f965:	8b ec                	mov    %esp,%ebp
42f967:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
42f96b:	8b 45 08             	mov    0x8(%ebp),%eax
42f96e:	89 41 10             	mov    %eax,0x10(%ecx)
42f971:	72 02                	jb     0x42f975
42f973:	8b 09                	mov    (%ecx),%ecx
42f975:	33 d2                	xor    %edx,%edx
42f977:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
42f97b:	5d                   	pop    %ebp
42f97c:	c2 04 00             	ret    $0x4
42f97f:	8b ff                	mov    %edi,%edi
42f981:	55                   	push   %ebp
42f982:	8b ec                	mov    %esp,%ebp
42f984:	8b 45 0c             	mov    0xc(%ebp),%eax
42f987:	53                   	push   %ebx
42f988:	8b 5d 08             	mov    0x8(%ebp),%ebx
42f98b:	56                   	push   %esi
42f98c:	57                   	push   %edi
42f98d:	8b f1                	mov    %ecx,%esi
42f98f:	8b 7b 10             	mov    0x10(%ebx),%edi
42f992:	3b f8                	cmp    %eax,%edi
42f994:	73 05                	jae    0x42f99b
42f996:	e8 cd e7 ff ff       	call   0x42e168
42f99b:	2b f8                	sub    %eax,%edi
42f99d:	39 7d 10             	cmp    %edi,0x10(%ebp)
42f9a0:	73 03                	jae    0x42f9a5
42f9a2:	8b 7d 10             	mov    0x10(%ebp),%edi
42f9a5:	3b f3                	cmp    %ebx,%esi
42f9a7:	75 16                	jne    0x42f9bf