5e183e:	83 ea 04             	sub    $0x4,%edx
5e1841:	89 53 64             	mov    %edx,0x64(%ebx)
5e1844:	8b 10                	mov    (%eax),%edx
5e1846:	03 50 08             	add    0x8(%eax),%edx
5e1849:	d1 fa                	sar    $1,%edx
5e184b:	79 03                	jns    0x5e1850
5e184d:	83 d2 00             	adc    $0x0,%edx
5e1850:	83 c2 04             	add    $0x4,%edx
5e1853:	89 53 68             	mov    %edx,0x68(%ebx)
5e1856:	8b 50 04             	mov    0x4(%eax),%edx
5e1859:	83 c2 04             	add    $0x4,%edx
5e185c:	89 53 6c             	mov    %edx,0x6c(%ebx)
5e185f:	8b 10                	mov    (%eax),%edx
5e1861:	03 50 08             	add    0x8(%eax),%edx
5e1864:	d1 fa                	sar    $1,%edx
5e1866:	79 03                	jns    0x5e186b
5e1868:	83 d2 00             	adc    $0x0,%edx
5e186b:	83 ea 04             	sub    $0x4,%edx
5e186e:	89 53 70             	mov    %edx,0x70(%ebx)
5e1871:	8b 50 0c             	mov    0xc(%eax),%edx
5e1874:	83 ea 04             	sub    $0x4,%edx
5e1877:	89 53 74             	mov    %edx,0x74(%ebx)
5e187a:	8b 10                	mov    (%eax),%edx
5e187c:	03 50 08             	add    0x8(%eax),%edx
5e187f:	d1 fa                	sar    $1,%edx
5e1881:	79 03                	jns    0x5e1886
5e1883:	83 d2 00             	adc    $0x0,%edx
5e1886:	83 c2 04             	add    $0x4,%edx
5e1889:	89 53 78             	mov    %edx,0x78(%ebx)
5e188c:	8b 40 0c             	mov    0xc(%eax),%eax
5e188f:	83 c0 04             	add    $0x4,%eax
5e1892:	89 43 7c             	mov    %eax,0x7c(%ebx)
5e1895:	5f                   	pop    %edi
5e1896:	5e                   	pop    %esi
5e1897:	5b                   	pop    %ebx
5e1898:	5d                   	pop    %ebp
5e1899:	c2 04 00             	ret    $0x4
5e189c:	53                   	push   %ebx
5e189d:	56                   	push   %esi
5e189e:	57                   	push   %edi
5e189f:	83 c4 80             	add    $0xffffff80,%esp
5e18a2:	8b da                	mov    %edx,%ebx
5e18a4:	6a 07                	push   $0x7
5e18a6:	8d 54 24 04          	lea    0x4(%esp),%edx
5e18aa:	87 d1                	xchg   %edx,%ecx
5e18ac:	e8 63 fe ff ff       	call   0x5e1714
5e18b1:	8b c3                	mov    %ebx,%eax
5e18b3:	e8 e0 be e4 ff       	call   0x42d798
5e18b8:	8b f8                	mov    %eax,%edi
5e18ba:	8b 47 10             	mov    0x10(%edi),%eax
5e18bd:	33 d2                	xor    %edx,%edx
5e18bf:	e8 bc 67 e4 ff       	call   0x428080
5e18c4:	8b 47 10             	mov    0x10(%edi),%eax
5e18c7:	b2 04                	mov    $0x4,%dl
5e18c9:	e8 96 67 e4 ff       	call   0x428064
5e18ce:	8b 47 10             	mov    0x10(%edi),%eax
5e18d1:	33 d2                	xor    %edx,%edx
5e18d3:	e8 ac 66 e4 ff       	call   0x427f84
5e18d8:	8b 47 14             	mov    0x14(%edi),%eax
5e18db:	33 d2                	xor    %edx,%edx
5e18dd:	e8 be 6a e4 ff       	call   0x4283a0
5e18e2:	8b 47 14             	mov    0x14(%edi),%eax
5e18e5:	ba ff ff ff 00       	mov    $0xffffff,%edx
5e18ea:	e8 95 69 e4 ff       	call   0x428284
5e18ef:	be 08 00 00 00       	mov    $0x8,%esi
5e18f4:	8b dc                	mov    %esp,%ebx
5e18f6:	8b c3                	mov    %ebx,%eax
5e18f8:	8b 50 08             	mov    0x8(%eax),%edx
5e18fb:	52                   	push   %edx
5e18fc:	8b 50 0c             	mov    0xc(%eax),%edx
5e18ff:	52                   	push   %edx
5e1900:	8b 48 04             	mov    0x4(%eax),%ecx
5e1903:	8b 10                	mov    (%eax),%edx
5e1905:	8b c7                	mov    %edi,%eax
5e1907:	e8 64 6f e4 ff       	call   0x428870
5e190c:	83 c3 10             	add    $0x10,%ebx
5e190f:	4e                   	dec    %esi
5e1910:	75 e4                	jne    0x5e18f6
5e1912:	81 c4 80 00 00 00    	add    $0x80,%esp
5e1918:	5f                   	pop    %edi
5e1919:	5e                   	pop    %esi
5e191a:	5b                   	pop    %ebx
5e191b:	c3                   	ret
5e191c:	53                   	push   %ebx
5e191d:	56                   	push   %esi
5e191e:	57                   	push   %edi
5e191f:	8b f2                	mov    %edx,%esi
5e1921:	8b d8                	mov    %eax,%ebx
5e1923:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1929:	8d 50 04             	lea    0x4(%eax),%edx
5e192c:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1931:	8b c6                	mov    %esi,%eax
5e1933:	8b 38                	mov    (%eax),%edi
5e1935:	ff 57 0c             	call   *0xc(%edi)
5e1938:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e193e:	8d 50 08             	lea    0x8(%eax),%edx
5e1941:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1946:	8b c6                	mov    %esi,%eax
5e1948:	8b 38                	mov    (%eax),%edi
5e194a:	ff 57 0c             	call   *0xc(%edi)
5e194d:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1953:	8d 50 04             	lea    0x4(%eax),%edx
5e1956:	b9 04 00 00 00       	mov    $0x4,%ecx
5e195b:	8b c6                	mov    %esi,%eax
5e195d:	8b 38                	mov    (%eax),%edi
5e195f:	ff 57 0c             	call   *0xc(%edi)
5e1962:	8b 93 40 04 00 00    	mov    0x440(%ebx),%edx
5e1968:	8b 02                	mov    (%edx),%eax
5e196a:	85 c0                	test   %eax,%eax
5e196c:	74 0f                	je     0x5e197d
5e196e:	8b 4a 04             	mov    0x4(%edx),%ecx
5e1971:	c1 e1 03             	shl    $0x3,%ecx
5e1974:	8b d0                	mov    %eax,%edx
5e1976:	8b c6                	mov    %esi,%eax
5e1978:	8b 38                	mov    (%eax),%edi
5e197a:	ff 57 0c             	call   *0xc(%edi)
5e197d:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1983:	8d 50 20             	lea    0x20(%eax),%edx
5e1986:	b9 04 00 00 00       	mov    $0x4,%ecx
5e198b:	8b c6                	mov    %esi,%eax
5e198d:	8b 38                	mov    (%eax),%edi
5e198f:	ff 57 0c             	call   *0xc(%edi)
5e1992:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1998:	8d 50 24             	lea    0x24(%eax),%edx
5e199b:	b9 04 00 00 00       	mov    $0x4,%ecx
5e19a0:	8b c6                	mov    %esi,%eax
5e19a2:	8b 38                	mov    (%eax),%edi
5e19a4:	ff 57 0c             	call   *0xc(%edi)
5e19a7:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e19ad:	8d 50 28             	lea    0x28(%eax),%edx
5e19b0:	b9 04 00 00 00       	mov    $0x4,%ecx
5e19b5:	8b c6                	mov    %esi,%eax
5e19b7:	8b 38                	mov    (%eax),%edi
5e19b9:	ff 57 0c             	call   *0xc(%edi)
5e19bc:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e19c2:	8d 50 2c             	lea    0x2c(%eax),%edx
5e19c5:	b9 04 00 00 00       	mov    $0x4,%ecx
5e19ca:	8b c6                	mov    %esi,%eax
5e19cc:	8b 38                	mov    (%eax),%edi
5e19ce:	ff 57 0c             	call   *0xc(%edi)
5e19d1:	8d 93 15 04 00 00    	lea    0x415(%ebx),%edx
5e19d7:	b9 01 00 00 00       	mov    $0x1,%ecx
5e19dc:	8b c6                	mov    %esi,%eax
5e19de:	8b 38                	mov    (%eax),%edi
5e19e0:	ff 57 0c             	call   *0xc(%edi)
5e19e3:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e19e9:	8d 50 0c             	lea    0xc(%eax),%edx
5e19ec:	b9 04 00 00 00       	mov    $0x4,%ecx
5e19f1:	8b c6                	mov    %esi,%eax
5e19f3:	8b 38                	mov    (%eax),%edi
5e19f5:	ff 57 0c             	call   *0xc(%edi)
5e19f8:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e19fe:	8d 50 18             	lea    0x18(%eax),%edx
5e1a01:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1a06:	8b c6                	mov    %esi,%eax
5e1a08:	8b 38                	mov    (%eax),%edi
5e1a0a:	ff 57 0c             	call   *0xc(%edi)
5e1a0d:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1a13:	8d 50 1c             	lea    0x1c(%eax),%edx
5e1a16:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1a1b:	8b c6                	mov    %esi,%eax
5e1a1d:	8b 38                	mov    (%eax),%edi
5e1a1f:	ff 57 0c             	call   *0xc(%edi)
5e1a22:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1a28:	8d 50 20             	lea    0x20(%eax),%edx
5e1a2b:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1a30:	8b c6                	mov    %esi,%eax
5e1a32:	8b 38                	mov    (%eax),%edi
5e1a34:	ff 57 0c             	call   *0xc(%edi)
5e1a37:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1a3d:	8d 50 24             	lea    0x24(%eax),%edx
5e1a40:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1a45:	8b c6                	mov    %esi,%eax
5e1a47:	8b 38                	mov    (%eax),%edi
5e1a49:	ff 57 0c             	call   *0xc(%edi)
5e1a4c:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1a52:	8d 50 68             	lea    0x68(%eax),%edx
5e1a55:	b9 01 00 00 00       	mov    $0x1,%ecx
5e1a5a:	8b c6                	mov    %esi,%eax
5e1a5c:	8b 38                	mov    (%eax),%edi
5e1a5e:	ff 57 0c             	call   *0xc(%edi)
5e1a61:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1a67:	8b 48 08             	mov    0x8(%eax),%ecx
5e1a6a:	0f af 48 10          	imul   0x10(%eax),%ecx
5e1a6e:	8b 50 14             	mov    0x14(%eax),%edx
5e1a71:	8b c6                	mov    %esi,%eax
5e1a73:	8b 18                	mov    (%eax),%ebx
5e1a75:	ff 53 0c             	call   *0xc(%ebx)
5e1a78:	5f                   	pop    %edi
5e1a79:	5e                   	pop    %esi
5e1a7a:	5b                   	pop    %ebx
5e1a7b:	c3                   	ret
5e1a7c:	53                   	push   %ebx
5e1a7d:	56                   	push   %esi
5e1a7e:	57                   	push   %edi
5e1a7f:	55                   	push   %ebp
5e1a80:	83 c4 dc             	add    $0xffffffdc,%esp
5e1a83:	8b f2                	mov    %edx,%esi
5e1a85:	8b d8                	mov    %eax,%ebx
5e1a87:	c6 04 24 01          	movb   $0x1,(%esp)
5e1a8b:	8d 54 24 04          	lea    0x4(%esp),%edx
5e1a8f:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1a94:	8b c6                	mov    %esi,%eax
5e1a96:	8b 38                	mov    (%eax),%edi
5e1a98:	ff 57 08             	call   *0x8(%edi)
5e1a9b:	8d 54 24 08          	lea    0x8(%esp),%edx
5e1a9f:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1aa4:	8b c6                	mov    %esi,%eax
5e1aa6:	8b 38                	mov    (%eax),%edi
5e1aa8:	ff 57 08             	call   *0x8(%edi)
5e1aab:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1ab1:	8b 00                	mov    (%eax),%eax
5e1ab3:	85 c0                	test   %eax,%eax
5e1ab5:	74 05                	je     0x5e1abc
5e1ab7:	e8 10 0d e2 ff       	call   0x4027cc
5e1abc:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1ac2:	33 d2                	xor    %edx,%edx
5e1ac4:	89 10                	mov    %edx,(%eax)
5e1ac6:	8d 50 04             	lea    0x4(%eax),%edx
5e1ac9:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1ace:	8b c6                	mov    %esi,%eax
5e1ad0:	8b 38                	mov    (%eax),%edi
5e1ad2:	ff 57 08             	call   *0x8(%edi)
5e1ad5:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1adb:	8b 40 04             	mov    0x4(%eax),%eax
5e1ade:	83 c0 40             	add    $0x40,%eax
5e1ae1:	c1 e0 03             	shl    $0x3,%eax
5e1ae4:	e8 c3 0c e2 ff       	call   0x4027ac
5e1ae9:	8b f8                	mov    %eax,%edi
5e1aeb:	8b ab 40 04 00 00    	mov    0x440(%ebx),%ebp
5e1af1:	89 7d 00             	mov    %edi,0x0(%ebp)
5e1af4:	85 ff                	test   %edi,%edi
5e1af6:	74 0f                	je     0x5e1b07
5e1af8:	8b 4d 04             	mov    0x4(%ebp),%ecx
5e1afb:	c1 e1 03             	shl    $0x3,%ecx
5e1afe:	8b d7                	mov    %edi,%edx
5e1b00:	8b c6                	mov    %esi,%eax
5e1b02:	8b 38                	mov    (%eax),%edi
5e1b04:	ff 57 08             	call   *0x8(%edi)
5e1b07:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1b0d:	8d 50 20             	lea    0x20(%eax),%edx
5e1b10:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b15:	8b c6                	mov    %esi,%eax
5e1b17:	8b 38                	mov    (%eax),%edi
5e1b19:	ff 57 08             	call   *0x8(%edi)
5e1b1c:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1b22:	8d 50 24             	lea    0x24(%eax),%edx
5e1b25:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b2a:	8b c6                	mov    %esi,%eax
5e1b2c:	8b 38                	mov    (%eax),%edi
5e1b2e:	ff 57 08             	call   *0x8(%edi)
5e1b31:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1b37:	8d 50 28             	lea    0x28(%eax),%edx
5e1b3a:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b3f:	8b c6                	mov    %esi,%eax
5e1b41:	8b 38                	mov    (%eax),%edi
5e1b43:	ff 57 08             	call   *0x8(%edi)
5e1b46:	8b 83 40 04 00 00    	mov    0x440(%ebx),%eax
5e1b4c:	8d 50 2c             	lea    0x2c(%eax),%edx
5e1b4f:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b54:	8b c6                	mov    %esi,%eax
5e1b56:	8b 38                	mov    (%eax),%edi
5e1b58:	ff 57 08             	call   *0x8(%edi)
5e1b5b:	8d 93 15 04 00 00    	lea    0x415(%ebx),%edx
5e1b61:	b9 01 00 00 00       	mov    $0x1,%ecx
5e1b66:	8b c6                	mov    %esi,%eax
5e1b68:	8b 38                	mov    (%eax),%edi
5e1b6a:	ff 57 08             	call   *0x8(%edi)
5e1b6d:	8d 54 24 0c          	lea    0xc(%esp),%edx
5e1b71:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b76:	8b c6                	mov    %esi,%eax
5e1b78:	8b 38                	mov    (%eax),%edi
5e1b7a:	ff 57 08             	call   *0x8(%edi)
5e1b7d:	8b 44 24 0c          	mov    0xc(%esp),%eax
5e1b81:	50                   	push   %eax
5e1b82:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5e1b86:	8b 54 24 08          	mov    0x8(%esp),%edx
5e1b8a:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1b90:	e8 ab 13 01 00       	call   0x5f2f40
5e1b95:	8d 54 24 10          	lea    0x10(%esp),%edx
5e1b99:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1b9e:	8b c6                	mov    %esi,%eax
5e1ba0:	8b 38                	mov    (%eax),%edi
5e1ba2:	ff 57 08             	call   *0x8(%edi)
5e1ba5:	8d 54 24 14          	lea    0x14(%esp),%edx
5e1ba9:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1bae:	8b c6                	mov    %esi,%eax
5e1bb0:	8b 38                	mov    (%eax),%edi
5e1bb2:	ff 57 08             	call   *0x8(%edi)
5e1bb5:	8d 54 24 18          	lea    0x18(%esp),%edx
5e1bb9:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1bbe:	8b c6                	mov    %esi,%eax
5e1bc0:	8b 38                	mov    (%eax),%edi
5e1bc2:	ff 57 08             	call   *0x8(%edi)
5e1bc5:	8d 54 24 1c          	lea    0x1c(%esp),%edx
5e1bc9:	b9 04 00 00 00       	mov    $0x4,%ecx
5e1bce:	8b c6                	mov    %esi,%eax
5e1bd0:	8b 38                	mov    (%eax),%edi
5e1bd2:	ff 57 08             	call   *0x8(%edi)
5e1bd5:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1bdb:	8b 54 24 10          	mov    0x10(%esp),%edx
5e1bdf:	89 50 18             	mov    %edx,0x18(%eax)
5e1be2:	8b 54 24 14          	mov    0x14(%esp),%edx
5e1be6:	89 50 1c             	mov    %edx,0x1c(%eax)
5e1be9:	8b 54 24 18          	mov    0x18(%esp),%edx
5e1bed:	89 50 20             	mov    %edx,0x20(%eax)
5e1bf0:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5e1bf4:	89 50 24             	mov    %edx,0x24(%eax)
5e1bf7:	8d 54 24 20          	lea    0x20(%esp),%edx
5e1bfb:	b9 01 00 00 00       	mov    $0x1,%ecx
5e1c00:	8b c6                	mov    %esi,%eax
5e1c02:	8b 38                	mov    (%eax),%edi
5e1c04:	ff 57 08             	call   *0x8(%edi)
5e1c07:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1c0d:	8a 54 24 20          	mov    0x20(%esp),%dl
5e1c11:	88 50 68             	mov    %dl,0x68(%eax)
5e1c14:	8b 48 08             	mov    0x8(%eax),%ecx
5e1c17:	0f af 48 10          	imul   0x10(%eax),%ecx
5e1c1b:	8b 50 14             	mov    0x14(%eax),%edx
5e1c1e:	8b c6                	mov    %esi,%eax
5e1c20:	8b 30                	mov    (%eax),%esi
5e1c22:	ff 56 08             	call   *0x8(%esi)
5e1c25:	b2 01                	mov    $0x1,%dl
5e1c27:	8b c3                	mov    %ebx,%eax
5e1c29:	e8 e6 9e ff ff       	call   0x5dbb14
5e1c2e:	8b c3                	mov    %ebx,%eax
5e1c30:	8b 10                	mov    (%eax),%edx
5e1c32:	ff 92 88 00 00 00    	call   *0x88(%edx)
5e1c38:	8b 83 f0 04 00 00    	mov    0x4f0(%ebx),%eax
5e1c3e:	3b 44 24 04          	cmp    0x4(%esp),%eax
5e1c42:	75 0c                	jne    0x5e1c50
5e1c44:	8b 54 24 08          	mov    0x8(%esp),%edx
5e1c48:	3b 93 f4 04 00 00    	cmp    0x4f4(%ebx),%edx
5e1c4e:	74 7f                	je     0x5e1ccf
5e1c50:	3b 44 24 04          	cmp    0x4(%esp),%eax
5e1c54:	7d 2b                	jge    0x5e1c81
5e1c56:	8b 93 70 04 00 00    	mov    0x470(%ebx),%edx
5e1c5c:	8b 4a 20             	mov    0x20(%edx),%ecx
5e1c5f:	2b 4a 18             	sub    0x18(%edx),%ecx
5e1c62:	41                   	inc    %ecx
5e1c63:	2b c1                	sub    %ecx,%eax
5e1c65:	89 44 24 10          	mov    %eax,0x10(%esp)
5e1c69:	8b 83 70 04 00 00    	mov    0x470(%ebx),%eax
5e1c6f:	8b 50 18             	mov    0x18(%eax),%edx
5e1c72:	2b 54 24 10          	sub    0x10(%esp),%edx
5e1c76:	f7 da                	neg    %edx
5e1c78:	33 c9                	xor    %ecx,%ecx
5e1c7a:	8b c3                	mov    %ebx,%eax
5e1c7c:	e8 cf 9d ff ff       	call   0x5dba50
5e1c81:	8b 93 f4 04 00 00    	mov    0x4f4(%ebx),%edx