447878:	ff 37                	push   (%edi)
44787a:	6a ff                	push   $0xffffffff
44787c:	6a ff                	push   $0xffffffff
44787e:	e8 4d 68 fc ff       	call   0x40e0d0
447883:	8b f0                	mov    %eax,%esi
447885:	ff 75 fc             	push   -0x4(%ebp)
447888:	ff 15 0c 30 45 00    	call   *0x45300c
44788e:	5f                   	pop    %edi
44788f:	8b c6                	mov    %esi,%eax
447891:	5e                   	pop    %esi
447892:	5b                   	pop    %ebx
447893:	c9                   	leave
447894:	c2 10 00             	ret    $0x10
447897:	8b ff                	mov    %edi,%edi
447899:	55                   	push   %ebp
44789a:	8b ec                	mov    %esp,%ebp
44789c:	51                   	push   %ecx
44789d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4478a1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4478a4:	56                   	push   %esi
4478a5:	57                   	push   %edi
4478a6:	68 70 66 40 00       	push   $0x406670
4478ab:	ff 75 14             	push   0x14(%ebp)
4478ae:	8b f9                	mov    %ecx,%edi
4478b0:	68 78 66 40 00       	push   $0x406678
4478b5:	50                   	push   %eax
4478b6:	6a 03                	push   $0x3
4478b8:	e8 d3 7e fc ff       	call   0x40f790
4478bd:	8b f0                	mov    %eax,%esi
4478bf:	83 c4 14             	add    $0x14,%esp
4478c2:	85 f6                	test   %esi,%esi
4478c4:	78 18                	js     0x4478de
4478c6:	ff 75 fc             	push   -0x4(%ebp)
4478c9:	8b cf                	mov    %edi,%ecx
4478cb:	83 ec 0c             	sub    $0xc,%esp
4478ce:	e8 ed 60 fc ff       	call   0x40d9c0
4478d3:	ff 75 fc             	push   -0x4(%ebp)
4478d6:	8b f0                	mov    %eax,%esi
4478d8:	ff 15 0c 30 45 00    	call   *0x45300c
4478de:	5f                   	pop    %edi
4478df:	8b c6                	mov    %esi,%eax
4478e1:	5e                   	pop    %esi
4478e2:	c9                   	leave
4478e3:	c2 10 00             	ret    $0x10
4478e6:	8b ff                	mov    %edi,%edi
4478e8:	55                   	push   %ebp
4478e9:	8b ec                	mov    %esp,%ebp
4478eb:	51                   	push   %ecx
4478ec:	53                   	push   %ebx
4478ed:	56                   	push   %esi
4478ee:	8b f2                	mov    %edx,%esi
4478f0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4478f3:	33 db                	xor    %ebx,%ebx
4478f5:	57                   	push   %edi
4478f6:	85 f6                	test   %esi,%esi
4478f8:	74 24                	je     0x44791e
4478fa:	8b 45 08             	mov    0x8(%ebp),%eax
4478fd:	8d 3c 1e             	lea    (%esi,%ebx,1),%edi
447900:	d1 ef                	shr    $1,%edi
447902:	8b 14 b8             	mov    (%eax,%edi,4),%edx
447905:	e8 4e 6b fd ff       	call   0x41e458
44790a:	85 c0                	test   %eax,%eax
44790c:	74 1c                	je     0x44792a
44790e:	79 04                	jns    0x447914
447910:	8b f7                	mov    %edi,%esi
447912:	eb 03                	jmp    0x447917
447914:	8d 5f 01             	lea    0x1(%edi),%ebx
447917:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44791a:	3b de                	cmp    %esi,%ebx
44791c:	72 dc                	jb     0x4478fa
44791e:	b8 03 10 04 80       	mov    $0x80041003,%eax
447923:	5f                   	pop    %edi
447924:	5e                   	pop    %esi
447925:	5b                   	pop    %ebx
447926:	c9                   	leave
447927:	c2 04 00             	ret    $0x4
44792a:	33 c0                	xor    %eax,%eax
44792c:	eb f5                	jmp    0x447923
44792e:	8b ff                	mov    %edi,%edi
447930:	56                   	push   %esi
447931:	57                   	push   %edi
447932:	8b f1                	mov    %ecx,%esi
447934:	83 cf ff             	or     $0xffffffff,%edi
447937:	f0 0f c1 3e          	lock xadd %edi,(%esi)
44793b:	4f                   	dec    %edi
44793c:	75 10                	jne    0x44794e
44793e:	85 f6                	test   %esi,%esi
447940:	74 0c                	je     0x44794e
447942:	e8 7f a7 fd ff       	call   0x4220c6
447947:	56                   	push   %esi
447948:	e8 7d 48 fc ff       	call   0x40c1ca
44794d:	59                   	pop    %ecx
44794e:	8b c7                	mov    %edi,%eax
447950:	5f                   	pop    %edi
447951:	5e                   	pop    %esi
447952:	c3                   	ret
447953:	8b ff                	mov    %edi,%edi
447955:	55                   	push   %ebp
447956:	8b ec                	mov    %esp,%ebp
447958:	8b 55 0c             	mov    0xc(%ebp),%edx
44795b:	8b 45 10             	mov    0x10(%ebp),%eax
44795e:	56                   	push   %esi
44795f:	57                   	push   %edi
447960:	8b f9                	mov    %ecx,%edi
447962:	8b 4d 08             	mov    0x8(%ebp),%ecx
447965:	89 8f d4 06 00 00    	mov    %ecx,0x6d4(%edi)
44796b:	89 97 d8 06 00 00    	mov    %edx,0x6d8(%edi)
447971:	89 87 dc 06 00 00    	mov    %eax,0x6dc(%edi)
447977:	85 c9                	test   %ecx,%ecx
447979:	74 16                	je     0x447991
44797b:	8b 01                	mov    (%ecx),%eax
44797d:	51                   	push   %ecx
44797e:	8b 70 04             	mov    0x4(%eax),%esi
447981:	8b ce                	mov    %esi,%ecx
447983:	ff 15 c4 12 45 00    	call   *0x4512c4
447989:	ff d6                	call   *%esi
44798b:	8b 97 d8 06 00 00    	mov    0x6d8(%edi),%edx
447991:	85 d2                	test   %edx,%edx
447993:	74 10                	je     0x4479a5
447995:	8b 02                	mov    (%edx),%eax
447997:	52                   	push   %edx
447998:	8b 70 04             	mov    0x4(%eax),%esi
44799b:	8b ce                	mov    %esi,%ecx
44799d:	ff 15 c4 12 45 00    	call   *0x4512c4
4479a3:	ff d6                	call   *%esi
4479a5:	8b 8f dc 06 00 00    	mov    0x6dc(%edi),%ecx
4479ab:	85 c9                	test   %ecx,%ecx
4479ad:	74 10                	je     0x4479bf
4479af:	8b 01                	mov    (%ecx),%eax
4479b1:	51                   	push   %ecx
4479b2:	8b 70 04             	mov    0x4(%eax),%esi
4479b5:	8b ce                	mov    %esi,%ecx
4479b7:	ff 15 c4 12 45 00    	call   *0x4512c4
4479bd:	ff d6                	call   *%esi
4479bf:	5f                   	pop    %edi
4479c0:	33 c0                	xor    %eax,%eax
4479c2:	5e                   	pop    %esi
4479c3:	5d                   	pop    %ebp
4479c4:	c2 0c 00             	ret    $0xc
4479c7:	8b ff                	mov    %edi,%edi
4479c9:	55                   	push   %ebp
4479ca:	8b ec                	mov    %esp,%ebp
4479cc:	8b 45 0c             	mov    0xc(%ebp),%eax
4479cf:	53                   	push   %ebx
4479d0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4479d3:	56                   	push   %esi
4479d4:	57                   	push   %edi
4479d5:	8b f9                	mov    %ecx,%edi
4479d7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4479da:	89 8f 04 08 00 00    	mov    %ecx,0x804(%edi)
4479e0:	8b c8                	mov    %eax,%ecx
4479e2:	89 9f fc 07 00 00    	mov    %ebx,0x7fc(%edi)
4479e8:	89 87 00 08 00 00    	mov    %eax,0x800(%edi)
4479ee:	85 db                	test   %ebx,%ebx
4479f0:	74 16                	je     0x447a08
4479f2:	8b 03                	mov    (%ebx),%eax
4479f4:	53                   	push   %ebx
4479f5:	8b 70 04             	mov    0x4(%eax),%esi
4479f8:	8b ce                	mov    %esi,%ecx
4479fa:	ff 15 c4 12 45 00    	call   *0x4512c4
447a00:	ff d6                	call   *%esi
447a02:	8b 8f 00 08 00 00    	mov    0x800(%edi),%ecx
447a08:	85 c9                	test   %ecx,%ecx
447a0a:	74 10                	je     0x447a1c
447a0c:	8b 01                	mov    (%ecx),%eax
447a0e:	51                   	push   %ecx
447a0f:	8b 70 04             	mov    0x4(%eax),%esi
447a12:	8b ce                	mov    %esi,%ecx
447a14:	ff 15 c4 12 45 00    	call   *0x4512c4
447a1a:	ff d6                	call   *%esi
447a1c:	8b 8f 04 08 00 00    	mov    0x804(%edi),%ecx
447a22:	85 c9                	test   %ecx,%ecx
447a24:	74 10                	je     0x447a36
447a26:	8b 01                	mov    (%ecx),%eax
447a28:	51                   	push   %ecx
447a29:	8b 70 04             	mov    0x4(%eax),%esi
447a2c:	8b ce                	mov    %esi,%ecx
447a2e:	ff 15 c4 12 45 00    	call   *0x4512c4
447a34:	ff d6                	call   *%esi
447a36:	ff 75 10             	push   0x10(%ebp)
447a39:	8d 4f 08             	lea    0x8(%edi),%ecx
447a3c:	ff 75 0c             	push   0xc(%ebp)
447a3f:	53                   	push   %ebx
447a40:	e8 0e ff ff ff       	call   0x447953
447a45:	5f                   	pop    %edi
447a46:	5e                   	pop    %esi
447a47:	5b                   	pop    %ebx
447a48:	5d                   	pop    %ebp
447a49:	c2 0c 00             	ret    $0xc
447a4c:	8b 01                	mov    (%ecx),%eax
447a4e:	f0 ff 08             	lock decl (%eax)
447a51:	c3                   	ret
447a52:	8b ff                	mov    %edi,%edi
447a54:	55                   	push   %ebp
447a55:	8b ec                	mov    %esp,%ebp
447a57:	56                   	push   %esi
447a58:	8b f1                	mov    %ecx,%esi
447a5a:	e8 b1 d4 fc ff       	call   0x414f10
447a5f:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
447a63:	74 07                	je     0x447a6c
447a65:	56                   	push   %esi
447a66:	e8 5f 47 fc ff       	call   0x40c1ca
447a6b:	59                   	pop    %ecx
447a6c:	8b c6                	mov    %esi,%eax
447a6e:	5e                   	pop    %esi
447a6f:	5d                   	pop    %ebp
447a70:	c2 04 00             	ret    $0x4
447a73:	8b ff                	mov    %edi,%edi
447a75:	55                   	push   %ebp
447a76:	8b ec                	mov    %esp,%ebp
447a78:	56                   	push   %esi
447a79:	8b f1                	mov    %ecx,%esi
447a7b:	e8 d9 45 fd ff       	call   0x41c059
447a80:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
447a84:	74 07                	je     0x447a8d
447a86:	56                   	push   %esi
447a87:	e8 3e 47 fc ff       	call   0x40c1ca
447a8c:	59                   	pop    %ecx
447a8d:	8b c6                	mov    %esi,%eax
447a8f:	5e                   	pop    %esi
447a90:	5d                   	pop    %ebp
447a91:	c2 04 00             	ret    $0x4
447a94:	cc                   	int3
447a95:	cc                   	int3
447a96:	cc                   	int3
447a97:	cc                   	int3
447a98:	cc                   	int3
447a99:	cc                   	int3
447a9a:	cc                   	int3
447a9b:	cc                   	int3
447a9c:	cc                   	int3
447a9d:	cc                   	int3
447a9e:	cc                   	int3
447a9f:	cc                   	int3
447aa0:	8b ff                	mov    %edi,%edi
447aa2:	55                   	push   %ebp
447aa3:	8b ec                	mov    %esp,%ebp
447aa5:	56                   	push   %esi
447aa6:	8b 75 08             	mov    0x8(%ebp),%esi
447aa9:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
447aad:	74 07                	je     0x447ab6
447aaf:	b8 33 10 04 80       	mov    $0x80041033,%eax
447ab4:	eb 1a                	jmp    0x447ad0
447ab6:	8b ce                	mov    %esi,%ecx
447ab8:	e8 de 00 00 00       	call   0x447b9b
447abd:	85 c0                	test   %eax,%eax
447abf:	78 0f                	js     0x447ad0
447ac1:	ff 75 14             	push   0x14(%ebp)
447ac4:	ff 75 10             	push   0x10(%ebp)
447ac7:	ff 75 0c             	push   0xc(%ebp)
447aca:	56                   	push   %esi
447acb:	e8 10 00 00 00       	call   0x447ae0
447ad0:	5e                   	pop    %esi
447ad1:	5d                   	pop    %ebp
447ad2:	c2 10 00             	ret    $0x10
447ad5:	cc                   	int3
447ad6:	cc                   	int3
447ad7:	cc                   	int3
447ad8:	cc                   	int3
447ad9:	cc                   	int3
447ada:	cc                   	int3
447adb:	cc                   	int3
447adc:	cc                   	int3
447add:	cc                   	int3
447ade:	cc                   	int3
447adf:	cc                   	int3
447ae0:	6a 04                	push   $0x4
447ae2:	b8 02 41 42 00       	mov    $0x424102,%eax
447ae7:	e8 81 7b fd ff       	call   0x41f66d
447aec:	8b 4d 08             	mov    0x8(%ebp),%ecx
447aef:	8d 71 28             	lea    0x28(%ecx),%esi
447af2:	89 75 f0             	mov    %esi,-0x10(%ebp)
447af5:	f0 ff 06             	lock incl (%esi)
447af8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
447afc:	83 79 58 00          	cmpl   $0x0,0x58(%ecx)
447b00:	74 07                	je     0x447b09
447b02:	b8 33 10 04 80       	mov    $0x80041033,%eax
447b07:	eb 28                	jmp    0x447b31
447b09:	e8 32 00 00 00       	call   0x447b40
447b0e:	85 c0                	test   %eax,%eax
447b10:	75 07                	jne    0x447b19
447b12:	b8 0c 10 04 80       	mov    $0x8004100c,%eax
447b17:	eb 18                	jmp    0x447b31
447b19:	ff 75 14             	push   0x14(%ebp)
447b1c:	8b 38                	mov    (%eax),%edi
447b1e:	ff 75 10             	push   0x10(%ebp)
447b21:	ff 75 0c             	push   0xc(%ebp)
447b24:	8b 4f 1c             	mov    0x1c(%edi),%ecx
447b27:	50                   	push   %eax
447b28:	ff 15 c4 12 45 00    	call   *0x4512c4
447b2e:	ff 57 1c             	call   *0x1c(%edi)
447b31:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
447b35:	f0 ff 0e             	lock decl (%esi)
447b38:	e8 fe 7a fd ff       	call   0x41f63b
447b3d:	c2 10 00             	ret    $0x10
447b40:	6a 04                	push   $0x4
447b42:	b8 25 41 42 00       	mov    $0x424125,%eax
447b47:	e8 21 7b fd ff       	call   0x41f66d
447b4c:	8b f1                	mov    %ecx,%esi
447b4e:	8d 7e 38             	lea    0x38(%esi),%edi
447b51:	83 3f 00             	cmpl   $0x0,(%edi)
447b54:	75 3d                	jne    0x447b93
447b56:	8d 46 3c             	lea    0x3c(%esi),%eax
447b59:	50                   	push   %eax
447b5a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
447b5d:	e8 ca 75 ff ff       	call   0x43f12c
447b62:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
447b66:	83 3f 00             	cmpl   $0x0,(%edi)
447b69:	75 1c                	jne    0x447b87
447b6b:	8b 4e 34             	mov    0x34(%esi),%ecx
447b6e:	85 c9                	test   %ecx,%ecx
447b70:	74 15                	je     0x447b87
447b72:	8b 01                	mov    (%ecx),%eax
447b74:	57                   	push   %edi
447b75:	68 bc 6e 40 00       	push   $0x406ebc
447b7a:	51                   	push   %ecx
447b7b:	8b 30                	mov    (%eax),%esi
447b7d:	8b ce                	mov    %esi,%ecx
447b7f:	ff 15 c4 12 45 00    	call   *0x4512c4
447b85:	ff d6                	call   *%esi
447b87:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
447b8b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
447b8e:	e8 ab 79 ff ff       	call   0x43f53e
447b93:	8b 07                	mov    (%edi),%eax
447b95:	e8 a1 7a fd ff       	call   0x41f63b
447b9a:	c3                   	ret
447b9b:	8b ff                	mov    %edi,%edi
447b9d:	55                   	push   %ebp
447b9e:	8b ec                	mov    %esp,%ebp
447ba0:	83 ec 14             	sub    $0x14,%esp
447ba3:	53                   	push   %ebx
447ba4:	56                   	push   %esi
447ba5:	57                   	push   %edi
447ba6:	8b f9                	mov    %ecx,%edi
447ba8:	33 d2                	xor    %edx,%edx
447baa:	89 7d f4             	mov    %edi,-0xc(%ebp)
447bad:	33 db                	xor    %ebx,%ebx
447baf:	8d 77 7c             	lea    0x7c(%edi),%esi
447bb2:	8b ce                	mov    %esi,%ecx
447bb4:	89 75 ec             	mov    %esi,-0x14(%ebp)
447bb7:	e8 3a 1e fd ff       	call   0x4199f6
447bbc:	85 c0                	test   %eax,%eax
447bbe:	0f 85 be 00 00 00    	jne    0x447c82
447bc4:	8b 7f 70             	mov    0x70(%edi),%edi
447bc7:	85 ff                	test   %edi,%edi
447bc9:	0f 84 ba 00 00 00    	je     0x447c89
447bcf:	33 c9                	xor    %ecx,%ecx
447bd1:	8b c7                	mov    %edi,%eax
447bd3:	6a 04                	push   $0x4
447bd5:	5a                   	pop    %edx