44b5cf:	8b 45 08             	mov    0x8(%ebp),%eax
44b5d2:	8b c6                	mov    %esi,%eax
44b5d4:	8b 10                	mov    (%eax),%edx
44b5d6:	ff 52 1c             	call   *0x1c(%edx)
44b5d9:	84 c0                	test   %al,%al
44b5db:	75 04                	jne    0x44b5e1
44b5dd:	33 c0                	xor    %eax,%eax
44b5df:	eb 02                	jmp    0x44b5e3
44b5e1:	b0 01                	mov    $0x1,%al
44b5e3:	8b 55 08             	mov    0x8(%ebp),%edx
44b5e6:	88 42 bf             	mov    %al,-0x41(%edx)
44b5e9:	8b 45 08             	mov    0x8(%ebp),%eax
44b5ec:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
44b5f0:	75 23                	jne    0x44b615
44b5f2:	8b 45 08             	mov    0x8(%ebp),%eax
44b5f5:	8b 40 c8             	mov    -0x38(%eax),%eax
44b5f8:	8b 58 4c             	mov    0x4c(%eax),%ebx
44b5fb:	85 db                	test   %ebx,%ebx
44b5fd:	0f 84 c7 03 00 00    	je     0x44b9ca
44b603:	8b 45 08             	mov    0x8(%ebp),%eax
44b606:	8b c3                	mov    %ebx,%eax
44b608:	8b 10                	mov    (%eax),%edx
44b60a:	ff 52 1c             	call   *0x1c(%edx)
44b60d:	84 c0                	test   %al,%al
44b60f:	0f 85 b5 03 00 00    	jne    0x44b9ca
44b615:	8b 45 08             	mov    0x8(%ebp),%eax
44b618:	c6 40 c7 01          	movb   $0x1,-0x39(%eax)
44b61c:	8b 45 08             	mov    0x8(%ebp),%eax
44b61f:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
44b623:	74 2c                	je     0x44b651
44b625:	8b 45 08             	mov    0x8(%ebp),%eax
44b628:	8b 40 f0             	mov    -0x10(%eax),%eax
44b62b:	8b 55 08             	mov    0x8(%ebp),%edx
44b62e:	8b 52 c0             	mov    -0x40(%edx),%edx
44b631:	03 42 34             	add    0x34(%edx),%eax
44b634:	8b 55 08             	mov    0x8(%ebp),%edx
44b637:	89 42 f8             	mov    %eax,-0x8(%edx)
44b63a:	8b 45 08             	mov    0x8(%ebp),%eax
44b63d:	8b 40 f4             	mov    -0xc(%eax),%eax
44b640:	8b 55 08             	mov    0x8(%ebp),%edx
44b643:	8b 52 c0             	mov    -0x40(%edx),%edx
44b646:	03 42 30             	add    0x30(%edx),%eax
44b649:	8b 55 08             	mov    0x8(%ebp),%edx
44b64c:	89 42 fc             	mov    %eax,-0x4(%edx)
44b64f:	eb 1e                	jmp    0x44b66f
44b651:	8b 45 08             	mov    0x8(%ebp),%eax
44b654:	8b 40 f0             	mov    -0x10(%eax),%eax
44b657:	83 c0 10             	add    $0x10,%eax
44b65a:	8b 55 08             	mov    0x8(%ebp),%edx
44b65d:	89 42 f8             	mov    %eax,-0x8(%edx)
44b660:	8b 45 08             	mov    0x8(%ebp),%eax
44b663:	8b 40 f4             	mov    -0xc(%eax),%eax
44b666:	83 c0 10             	add    $0x10,%eax
44b669:	8b 55 08             	mov    0x8(%ebp),%edx
44b66c:	89 42 fc             	mov    %eax,-0x4(%edx)
44b66f:	8b 45 08             	mov    0x8(%ebp),%eax
44b672:	8b 40 c8             	mov    -0x38(%eax),%eax
44b675:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
44b679:	0f 84 c0 00 00 00    	je     0x44b73f
44b67f:	8b 45 08             	mov    0x8(%ebp),%eax
44b682:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
44b686:	0f 85 b3 00 00 00    	jne    0x44b73f
44b68c:	8b 45 08             	mov    0x8(%ebp),%eax
44b68f:	ff 40 f8             	incl   -0x8(%eax)
44b692:	8b 45 08             	mov    0x8(%ebp),%eax
44b695:	ff 40 fc             	incl   -0x4(%eax)
44b698:	8b 45 08             	mov    0x8(%ebp),%eax
44b69b:	8b 40 d8             	mov    -0x28(%eax),%eax
44b69e:	8b 40 14             	mov    0x14(%eax),%eax
44b6a1:	e8 36 1c fd ff       	call   0x41d2dc
44b6a6:	8b 55 08             	mov    0x8(%ebp),%edx
44b6a9:	89 42 b8             	mov    %eax,-0x48(%edx)
44b6ac:	8b 45 08             	mov    0x8(%ebp),%eax
44b6af:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
44b6b3:	75 46                	jne    0x44b6fb
44b6b5:	8b 45 08             	mov    0x8(%ebp),%eax
44b6b8:	8b 40 d8             	mov    -0x28(%eax),%eax
44b6bb:	8b 40 14             	mov    0x14(%eax),%eax
44b6be:	e8 19 1c fd ff       	call   0x41d2dc
44b6c3:	8b 55 08             	mov    0x8(%ebp),%edx
44b6c6:	89 42 b8             	mov    %eax,-0x48(%edx)
44b6c9:	ba 14 00 00 ff       	mov    $0xff000014,%edx
44b6ce:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
44b6d3:	e8 c0 86 fd ff       	call   0x423d98
44b6d8:	8b d0                	mov    %eax,%edx
44b6da:	8b 45 08             	mov    0x8(%ebp),%eax
44b6dd:	8b 40 d8             	mov    -0x28(%eax),%eax
44b6e0:	8b 40 14             	mov    0x14(%eax),%eax
44b6e3:	e8 d0 1b fd ff       	call   0x41d2b8
44b6e8:	8b 45 08             	mov    0x8(%ebp),%eax
44b6eb:	8d 50 f0             	lea    -0x10(%eax),%edx
44b6ee:	8b 45 08             	mov    0x8(%ebp),%eax
44b6f1:	8b 40 d8             	mov    -0x28(%eax),%eax
44b6f4:	e8 8f 1f fd ff       	call   0x41d688
44b6f9:	eb 24                	jmp    0x44b71f
44b6fb:	8b 45 08             	mov    0x8(%ebp),%eax
44b6fe:	8b 40 d8             	mov    -0x28(%eax),%eax
44b701:	8b 40 14             	mov    0x14(%eax),%eax
44b704:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
44b709:	e8 d6 1b fd ff       	call   0x41d2e4
44b70e:	8b 45 08             	mov    0x8(%ebp),%eax
44b711:	8d 50 f0             	lea    -0x10(%eax),%edx
44b714:	8b 45 08             	mov    0x8(%ebp),%eax
44b717:	8b 40 d8             	mov    -0x28(%eax),%eax
44b71a:	e8 69 1f fd ff       	call   0x41d688
44b71f:	8b 45 08             	mov    0x8(%ebp),%eax
44b722:	8b 50 b8             	mov    -0x48(%eax),%edx
44b725:	8b 45 08             	mov    0x8(%ebp),%eax
44b728:	8b 40 d8             	mov    -0x28(%eax),%eax
44b72b:	8b 40 14             	mov    0x14(%eax),%eax
44b72e:	e8 b1 1b fd ff       	call   0x41d2e4
44b733:	8b 45 08             	mov    0x8(%ebp),%eax
44b736:	ff 40 f0             	incl   -0x10(%eax)
44b739:	8b 45 08             	mov    0x8(%ebp),%eax
44b73c:	ff 40 f4             	incl   -0xc(%eax)
44b73f:	8b 45 08             	mov    0x8(%ebp),%eax
44b742:	80 78 bf 00          	cmpb   $0x0,-0x41(%eax)
44b746:	0f 84 5a 01 00 00    	je     0x44b8a6
44b74c:	8b 45 08             	mov    0x8(%ebp),%eax
44b74f:	8b 40 c8             	mov    -0x38(%eax),%eax
44b752:	8b 58 40             	mov    0x40(%eax),%ebx
44b755:	83 fb ff             	cmp    $0xffffffff,%ebx
44b758:	7e 49                	jle    0x44b7a3
44b75a:	8b 45 08             	mov    0x8(%ebp),%eax
44b75d:	8b 45 08             	mov    0x8(%ebp),%eax
44b760:	8b 40 c0             	mov    -0x40(%eax),%eax
44b763:	e8 8c c8 ff ff       	call   0x447ff4
44b768:	3b d8                	cmp    %eax,%ebx
44b76a:	7d 37                	jge    0x44b7a3
44b76c:	8b 45 08             	mov    0x8(%ebp),%eax
44b76f:	8b 40 f4             	mov    -0xc(%eax),%eax
44b772:	50                   	push   %eax
44b773:	8b 45 08             	mov    0x8(%ebp),%eax
44b776:	8b 40 c8             	mov    -0x38(%eax),%eax
44b779:	8b 40 40             	mov    0x40(%eax),%eax
44b77c:	50                   	push   %eax
44b77d:	8b 45 08             	mov    0x8(%ebp),%eax
44b780:	8b 40 c8             	mov    -0x38(%eax),%eax
44b783:	8a 40 39             	mov    0x39(%eax),%al
44b786:	50                   	push   %eax
44b787:	8b 45 08             	mov    0x8(%ebp),%eax
44b78a:	8b 48 f0             	mov    -0x10(%eax),%ecx
44b78d:	8b 45 08             	mov    0x8(%ebp),%eax
44b790:	8b 50 d8             	mov    -0x28(%eax),%edx
44b793:	8b 45 08             	mov    0x8(%ebp),%eax
44b796:	8b 40 c0             	mov    -0x40(%eax),%eax
44b799:	e8 6e cd ff ff       	call   0x44850c
44b79e:	e9 0d 02 00 00       	jmp    0x44b9b0
44b7a3:	b2 01                	mov    $0x1,%dl
44b7a5:	a1 6c bb 41 00       	mov    0x41bb6c,%eax
44b7aa:	e8 fd 63 fd ff       	call   0x421bac
44b7af:	8b 55 08             	mov    0x8(%ebp),%edx
44b7b2:	89 42 b4             	mov    %eax,-0x4c(%edx)
44b7b5:	33 c0                	xor    %eax,%eax
44b7b7:	55                   	push   %ebp
44b7b8:	68 9f b8 44 00       	push   $0x44b89f
44b7bd:	64 ff 30             	push   %fs:(%eax)
44b7c0:	64 89 20             	mov    %esp,%fs:(%eax)
44b7c3:	8b 45 08             	mov    0x8(%ebp),%eax
44b7c6:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b7c9:	b2 01                	mov    $0x1,%dl
44b7cb:	8b 08                	mov    (%eax),%ecx
44b7cd:	ff 51 3c             	call   *0x3c(%ecx)
44b7d0:	68 f8 7f 00 00       	push   $0x7ff8
44b7d5:	6a 00                	push   $0x0
44b7d7:	e8 74 af fb ff       	call   0x406750
44b7dc:	8b d0                	mov    %eax,%edx
44b7de:	8b 45 08             	mov    0x8(%ebp),%eax
44b7e1:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b7e4:	e8 0b 75 fd ff       	call   0x422cf4
44b7e9:	8b 45 08             	mov    0x8(%ebp),%eax
44b7ec:	8b 40 d8             	mov    -0x28(%eax),%eax
44b7ef:	8b 40 0c             	mov    0xc(%eax),%eax
44b7f2:	8b 40 18             	mov    0x18(%eax),%eax
44b7f5:	8b 55 08             	mov    0x8(%ebp),%edx
44b7f8:	89 42 b8             	mov    %eax,-0x48(%edx)
44b7fb:	8b 45 08             	mov    0x8(%ebp),%eax
44b7fe:	8b 40 d8             	mov    -0x28(%eax),%eax
44b801:	8b 40 0c             	mov    0xc(%eax),%eax
44b804:	ba 12 00 00 ff       	mov    $0xff000012,%edx
44b809:	e8 0a 13 fd ff       	call   0x41cb18
44b80e:	8b 45 08             	mov    0x8(%ebp),%eax
44b811:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b814:	50                   	push   %eax
44b815:	8b 45 08             	mov    0x8(%ebp),%eax
44b818:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b81b:	8b 10                	mov    (%eax),%edx
44b81d:	ff 52 20             	call   *0x20(%edx)
44b820:	8b 55 08             	mov    0x8(%ebp),%edx
44b823:	8b 52 fc             	mov    -0x4(%edx),%edx
44b826:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b829:	8b 71 f4             	mov    -0xc(%ecx),%esi
44b82c:	2b d6                	sub    %esi,%edx
44b82e:	2b d0                	sub    %eax,%edx
44b830:	d1 fa                	sar    $1,%edx
44b832:	79 03                	jns    0x44b837
44b834:	83 d2 00             	adc    $0x0,%edx
44b837:	8b 45 08             	mov    0x8(%ebp),%eax
44b83a:	03 d6                	add    %esi,%edx
44b83c:	42                   	inc    %edx
44b83d:	52                   	push   %edx
44b83e:	8b 45 08             	mov    0x8(%ebp),%eax
44b841:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b844:	8b 10                	mov    (%eax),%edx
44b846:	ff 52 2c             	call   *0x2c(%edx)
44b849:	8b 55 08             	mov    0x8(%ebp),%edx
44b84c:	8b 52 f8             	mov    -0x8(%edx),%edx
44b84f:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b852:	8b 59 f0             	mov    -0x10(%ecx),%ebx
44b855:	2b d3                	sub    %ebx,%edx
44b857:	2b d0                	sub    %eax,%edx
44b859:	d1 fa                	sar    $1,%edx
44b85b:	79 03                	jns    0x44b860
44b85d:	83 d2 00             	adc    $0x0,%edx
44b860:	8b 45 08             	mov    0x8(%ebp),%eax
44b863:	03 d3                	add    %ebx,%edx
44b865:	42                   	inc    %edx
44b866:	8b 45 08             	mov    0x8(%ebp),%eax
44b869:	8b 40 d8             	mov    -0x28(%eax),%eax
44b86c:	59                   	pop    %ecx
44b86d:	e8 6a 1d fd ff       	call   0x41d5dc
44b872:	8b 45 08             	mov    0x8(%ebp),%eax
44b875:	8b 50 b8             	mov    -0x48(%eax),%edx
44b878:	8b 45 08             	mov    0x8(%ebp),%eax
44b87b:	8b 40 d8             	mov    -0x28(%eax),%eax
44b87e:	8b 40 0c             	mov    0xc(%eax),%eax
44b881:	e8 92 12 fd ff       	call   0x41cb18
44b886:	33 c0                	xor    %eax,%eax
44b888:	5a                   	pop    %edx
44b889:	59                   	pop    %ecx
44b88a:	59                   	pop    %ecx
44b88b:	64 89 10             	mov    %edx,%fs:(%eax)
44b88e:	68 b0 b9 44 00       	push   $0x44b9b0
44b893:	8b 45 08             	mov    0x8(%ebp),%eax
44b896:	8b 40 b4             	mov    -0x4c(%eax),%eax
44b899:	e8 ce 79 fb ff       	call   0x40326c
44b89e:	c3                   	ret
44b89f:	e9 1c 81 fb ff       	jmp    0x4039c0
44b8a4:	eb ed                	jmp    0x44b893
44b8a6:	8b 45 08             	mov    0x8(%ebp),%eax
44b8a9:	8b 55 08             	mov    0x8(%ebp),%edx
44b8ac:	8d 70 f0             	lea    -0x10(%eax),%esi
44b8af:	8d 7a a4             	lea    -0x5c(%edx),%edi
44b8b2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b8b3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b8b4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b8b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b8b6:	8b 45 08             	mov    0x8(%ebp),%eax
44b8b9:	8b 40 c8             	mov    -0x38(%eax),%eax
44b8bc:	8b 40 4c             	mov    0x4c(%eax),%eax
44b8bf:	8b 10                	mov    (%eax),%edx
44b8c1:	ff 52 2c             	call   *0x2c(%edx)
44b8c4:	8b 55 08             	mov    0x8(%ebp),%edx
44b8c7:	8b 52 f8             	mov    -0x8(%edx),%edx
44b8ca:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b8cd:	2b 51 f0             	sub    -0x10(%ecx),%edx
44b8d0:	3b c2                	cmp    %edx,%eax
44b8d2:	7d 4a                	jge    0x44b91e
44b8d4:	8b 45 08             	mov    0x8(%ebp),%eax
44b8d7:	8b 40 c8             	mov    -0x38(%eax),%eax
44b8da:	8b 40 4c             	mov    0x4c(%eax),%eax
44b8dd:	8b 10                	mov    (%eax),%edx
44b8df:	ff 52 2c             	call   *0x2c(%edx)
44b8e2:	8b 55 08             	mov    0x8(%ebp),%edx
44b8e5:	8b 52 f8             	mov    -0x8(%edx),%edx
44b8e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b8eb:	2b 51 f0             	sub    -0x10(%ecx),%edx
44b8ee:	2b d0                	sub    %eax,%edx
44b8f0:	d1 fa                	sar    $1,%edx
44b8f2:	79 03                	jns    0x44b8f7
44b8f4:	83 d2 00             	adc    $0x0,%edx
44b8f7:	8b 45 08             	mov    0x8(%ebp),%eax
44b8fa:	03 50 f0             	add    -0x10(%eax),%edx
44b8fd:	42                   	inc    %edx
44b8fe:	8b 45 08             	mov    0x8(%ebp),%eax
44b901:	89 50 f0             	mov    %edx,-0x10(%eax)
44b904:	8b 45 08             	mov    0x8(%ebp),%eax
44b907:	8b 40 c8             	mov    -0x38(%eax),%eax
44b90a:	8b 40 4c             	mov    0x4c(%eax),%eax
44b90d:	8b 10                	mov    (%eax),%edx
44b90f:	ff 52 2c             	call   *0x2c(%edx)
44b912:	8b 55 08             	mov    0x8(%ebp),%edx
44b915:	03 42 f0             	add    -0x10(%edx),%eax
44b918:	8b 55 08             	mov    0x8(%ebp),%edx
44b91b:	89 42 f8             	mov    %eax,-0x8(%edx)
44b91e:	8b 45 08             	mov    0x8(%ebp),%eax
44b921:	8b 40 c8             	mov    -0x38(%eax),%eax
44b924:	8b 40 4c             	mov    0x4c(%eax),%eax
44b927:	8b 10                	mov    (%eax),%edx
44b929:	ff 52 20             	call   *0x20(%edx)
44b92c:	8b 55 08             	mov    0x8(%ebp),%edx
44b92f:	8b 52 fc             	mov    -0x4(%edx),%edx
44b932:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b935:	2b 51 f4             	sub    -0xc(%ecx),%edx
44b938:	3b c2                	cmp    %edx,%eax
44b93a:	7d 4a                	jge    0x44b986
44b93c:	8b 45 08             	mov    0x8(%ebp),%eax
44b93f:	8b 40 c8             	mov    -0x38(%eax),%eax
44b942:	8b 40 4c             	mov    0x4c(%eax),%eax
44b945:	8b 10                	mov    (%eax),%edx
44b947:	ff 52 20             	call   *0x20(%edx)
44b94a:	8b 55 08             	mov    0x8(%ebp),%edx
44b94d:	8b 52 fc             	mov    -0x4(%edx),%edx
44b950:	8b 4d 08             	mov    0x8(%ebp),%ecx
44b953:	2b 51 f4             	sub    -0xc(%ecx),%edx
44b956:	2b d0                	sub    %eax,%edx
44b958:	d1 fa                	sar    $1,%edx
44b95a:	79 03                	jns    0x44b95f
44b95c:	83 d2 00             	adc    $0x0,%edx
44b95f:	8b 45 08             	mov    0x8(%ebp),%eax
44b962:	03 50 f4             	add    -0xc(%eax),%edx
44b965:	42                   	inc    %edx
44b966:	8b 45 08             	mov    0x8(%ebp),%eax
44b969:	89 50 f4             	mov    %edx,-0xc(%eax)
44b96c:	8b 45 08             	mov    0x8(%ebp),%eax
44b96f:	8b 40 c8             	mov    -0x38(%eax),%eax
44b972:	8b 40 4c             	mov    0x4c(%eax),%eax
44b975:	8b 10                	mov    (%eax),%edx
44b977:	ff 52 20             	call   *0x20(%edx)
44b97a:	8b 55 08             	mov    0x8(%ebp),%edx
44b97d:	03 42 f4             	add    -0xc(%edx),%eax
44b980:	8b 55 08             	mov    0x8(%ebp),%edx
44b983:	89 42 fc             	mov    %eax,-0x4(%edx)
44b986:	8b 45 08             	mov    0x8(%ebp),%eax
44b989:	8b 40 c8             	mov    -0x38(%eax),%eax
44b98c:	8b 48 4c             	mov    0x4c(%eax),%ecx
44b98f:	8b 45 08             	mov    0x8(%ebp),%eax
44b992:	8d 50 f0             	lea    -0x10(%eax),%edx
44b995:	8b 45 08             	mov    0x8(%ebp),%eax
44b998:	8b 40 d8             	mov    -0x28(%eax),%eax
44b99b:	e8 6c 1e fd ff       	call   0x41d80c
44b9a0:	8b 45 08             	mov    0x8(%ebp),%eax
44b9a3:	8b 55 08             	mov    0x8(%ebp),%edx
44b9a6:	8d 70 a4             	lea    -0x5c(%eax),%esi
44b9a9:	8d 7a f0             	lea    -0x10(%edx),%edi
44b9ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b9ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b9ae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b9af:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44b9b0:	8b 45 08             	mov    0x8(%ebp),%eax
44b9b3:	8b 40 c8             	mov    -0x38(%eax),%eax
44b9b6:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
44b9ba:	74 6b                	je     0x44ba27
44b9bc:	8b 45 08             	mov    0x8(%ebp),%eax
44b9bf:	ff 48 f8             	decl   -0x8(%eax)
44b9c2:	8b 45 08             	mov    0x8(%ebp),%eax
44b9c5:	ff 48 fc             	decl   -0x4(%eax)
44b9c8:	eb 5d                	jmp    0x44ba27
44b9ca:	8b 45 08             	mov    0x8(%ebp),%eax
44b9cd:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)