535a99:	8d 04 48             	lea    (%eax,%ecx,2),%eax
535a9c:	85 c0                	test   %eax,%eax
535a9e:	74 23                	je     0x535ac3
535aa0:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
535aa5:	76 0a                	jbe    0x535ab1
535aa7:	68 58 20 bd 00       	push   $0xbd2058
535aac:	e8 65 3d ef ff       	call   0x429816
535ab1:	50                   	push   %eax
535ab2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535ab5:	e8 60 b8 ed ff       	call   0x41131a
535aba:	8b 45 e0             	mov    -0x20(%ebp),%eax
535abd:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535ac0:	89 45 ec             	mov    %eax,-0x14(%ebp)
535ac3:	8b 45 c0             	mov    -0x40(%ebp),%eax
535ac6:	8b f8                	mov    %eax,%edi
535ac8:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
535acb:	0f 84 89 00 00 00    	je     0x535b5a
535ad1:	8b 75 ec             	mov    -0x14(%ebp),%esi
535ad4:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
535ad8:	72 04                	jb     0x535ade
535ada:	8b 07                	mov    (%edi),%eax
535adc:	eb 02                	jmp    0x535ae0
535ade:	8b c7                	mov    %edi,%eax
535ae0:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535ae3:	50                   	push   %eax
535ae4:	e8 a3 16 f0 ff       	call   0x43718c
535ae9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
535aec:	89 45 e8             	mov    %eax,-0x18(%ebp)
535aef:	3b cb                	cmp    %ebx,%ecx
535af1:	73 36                	jae    0x535b29
535af3:	8b d1                	mov    %ecx,%edx
535af5:	8b 4d d8             	mov    -0x28(%ebp),%ecx
535af8:	3b ca                	cmp    %edx,%ecx
535afa:	77 2d                	ja     0x535b29
535afc:	8b c2                	mov    %edx,%eax
535afe:	2b c1                	sub    %ecx,%eax
535b00:	c1 f8 02             	sar    $0x2,%eax
535b03:	89 45 ec             	mov    %eax,-0x14(%ebp)
535b06:	3b de                	cmp    %esi,%ebx
535b08:	75 16                	jne    0x535b20
535b0a:	6a 01                	push   $0x1
535b0c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535b0f:	e8 ac ea ec ff       	call   0x4045c0
535b14:	8b 75 e0             	mov    -0x20(%ebp),%esi
535b17:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535b1a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
535b1d:	8b 45 ec             	mov    -0x14(%ebp),%eax
535b20:	85 db                	test   %ebx,%ebx
535b22:	74 22                	je     0x535b46
535b24:	8b 04 81             	mov    (%ecx,%eax,4),%eax
535b27:	eb 1b                	jmp    0x535b44
535b29:	3b de                	cmp    %esi,%ebx
535b2b:	75 13                	jne    0x535b40
535b2d:	6a 01                	push   $0x1
535b2f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535b32:	e8 89 ea ec ff       	call   0x4045c0
535b37:	8b 75 e0             	mov    -0x20(%ebp),%esi
535b3a:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535b3d:	8b 45 e8             	mov    -0x18(%ebp),%eax
535b40:	85 db                	test   %ebx,%ebx
535b42:	74 02                	je     0x535b46
535b44:	89 03                	mov    %eax,(%ebx)
535b46:	83 c3 04             	add    $0x4,%ebx
535b49:	83 c7 30             	add    $0x30,%edi
535b4c:	89 5d dc             	mov    %ebx,-0x24(%ebp)
535b4f:	3b 7d c4             	cmp    -0x3c(%ebp),%edi
535b52:	75 80                	jne    0x535ad4
535b54:	89 75 ec             	mov    %esi,-0x14(%ebp)
535b57:	8b 75 b4             	mov    -0x4c(%ebp),%esi
535b5a:	8b 45 b8             	mov    -0x48(%ebp),%eax
535b5d:	8b fe                	mov    %esi,%edi
535b5f:	3b f0                	cmp    %eax,%esi
535b61:	0f 84 17 01 00 00    	je     0x535c7e
535b67:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
535b6b:	72 04                	jb     0x535b71
535b6d:	8b 07                	mov    (%edi),%eax
535b6f:	eb 02                	jmp    0x535b73
535b71:	8b c7                	mov    %edi,%eax
535b73:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535b76:	50                   	push   %eax
535b77:	e8 10 16 f0 ff       	call   0x43718c
535b7c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
535b7f:	89 45 e8             	mov    %eax,-0x18(%ebp)
535b82:	3b cb                	cmp    %ebx,%ecx
535b84:	8b 4d d8             	mov    -0x28(%ebp),%ecx
535b87:	73 7b                	jae    0x535c04
535b89:	8d 55 e8             	lea    -0x18(%ebp),%edx
535b8c:	3b ca                	cmp    %edx,%ecx
535b8e:	77 74                	ja     0x535c04
535b90:	2b d1                	sub    %ecx,%edx
535b92:	c1 fa 02             	sar    $0x2,%edx
535b95:	89 55 d0             	mov    %edx,-0x30(%ebp)
535b98:	8b 55 ec             	mov    -0x14(%ebp),%edx
535b9b:	3b da                	cmp    %edx,%ebx
535b9d:	75 59                	jne    0x535bf8
535b9f:	8b c2                	mov    %edx,%eax
535ba1:	2b c3                	sub    %ebx,%eax
535ba3:	c1 f8 02             	sar    $0x2,%eax
535ba6:	83 f8 01             	cmp    $0x1,%eax
535ba9:	73 4d                	jae    0x535bf8
535bab:	2b d9                	sub    %ecx,%ebx
535bad:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
535bb2:	c1 fb 02             	sar    $0x2,%ebx
535bb5:	2b c3                	sub    %ebx,%eax
535bb7:	83 f8 01             	cmp    $0x1,%eax
535bba:	0f 82 e7 fe ff ff    	jb     0x535aa7
535bc0:	2b d1                	sub    %ecx,%edx
535bc2:	43                   	inc    %ebx
535bc3:	c1 fa 02             	sar    $0x2,%edx
535bc6:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
535bcb:	8b c2                	mov    %edx,%eax
535bcd:	89 55 ec             	mov    %edx,-0x14(%ebp)
535bd0:	d1 e8                	shr    $1,%eax
535bd2:	2b c8                	sub    %eax,%ecx
535bd4:	03 c2                	add    %edx,%eax
535bd6:	33 d2                	xor    %edx,%edx
535bd8:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
535bdb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535bde:	0f 43 d0             	cmovae %eax,%edx
535be1:	3b d3                	cmp    %ebx,%edx
535be3:	0f 43 da             	cmovae %edx,%ebx
535be6:	53                   	push   %ebx
535be7:	e8 2e b7 ed ff       	call   0x41131a
535bec:	8b 45 e0             	mov    -0x20(%ebp),%eax
535bef:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535bf2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
535bf5:	89 45 ec             	mov    %eax,-0x14(%ebp)
535bf8:	8b 45 d0             	mov    -0x30(%ebp),%eax
535bfb:	85 db                	test   %ebx,%ebx
535bfd:	74 6b                	je     0x535c6a
535bff:	8b 04 81             	mov    (%ecx,%eax,4),%eax
535c02:	eb 64                	jmp    0x535c68
535c04:	8b 55 ec             	mov    -0x14(%ebp),%edx
535c07:	3b da                	cmp    %edx,%ebx
535c09:	75 59                	jne    0x535c64
535c0b:	8b c2                	mov    %edx,%eax
535c0d:	2b c3                	sub    %ebx,%eax
535c0f:	c1 f8 02             	sar    $0x2,%eax
535c12:	83 f8 01             	cmp    $0x1,%eax
535c15:	73 4a                	jae    0x535c61
535c17:	2b d9                	sub    %ecx,%ebx
535c19:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
535c1e:	c1 fb 02             	sar    $0x2,%ebx
535c21:	2b c3                	sub    %ebx,%eax
535c23:	83 f8 01             	cmp    $0x1,%eax
535c26:	0f 82 7b fe ff ff    	jb     0x535aa7
535c2c:	2b d1                	sub    %ecx,%edx
535c2e:	43                   	inc    %ebx
535c2f:	c1 fa 02             	sar    $0x2,%edx
535c32:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
535c37:	8b c2                	mov    %edx,%eax
535c39:	89 55 ec             	mov    %edx,-0x14(%ebp)
535c3c:	d1 e8                	shr    $1,%eax
535c3e:	2b c8                	sub    %eax,%ecx
535c40:	03 c2                	add    %edx,%eax
535c42:	33 d2                	xor    %edx,%edx
535c44:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
535c47:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535c4a:	0f 43 d0             	cmovae %eax,%edx
535c4d:	3b d3                	cmp    %ebx,%edx
535c4f:	0f 43 da             	cmovae %edx,%ebx
535c52:	53                   	push   %ebx
535c53:	e8 c2 b6 ed ff       	call   0x41131a
535c58:	8b 45 e0             	mov    -0x20(%ebp),%eax
535c5b:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535c5e:	89 45 ec             	mov    %eax,-0x14(%ebp)
535c61:	8b 45 e8             	mov    -0x18(%ebp),%eax
535c64:	85 db                	test   %ebx,%ebx
535c66:	74 02                	je     0x535c6a
535c68:	89 03                	mov    %eax,(%ebx)
535c6a:	8b 45 b8             	mov    -0x48(%ebp),%eax
535c6d:	83 c3 04             	add    $0x4,%ebx
535c70:	83 c7 18             	add    $0x18,%edi
535c73:	89 5d dc             	mov    %ebx,-0x24(%ebp)
535c76:	3b f8                	cmp    %eax,%edi
535c78:	0f 85 e9 fe ff ff    	jne    0x535b67
535c7e:	8b fe                	mov    %esi,%edi
535c80:	3b f0                	cmp    %eax,%esi
535c82:	74 29                	je     0x535cad
535c84:	8b 5d b8             	mov    -0x48(%ebp),%ebx
535c87:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
535c8e:	00 00
535c90:	8d 45 d0             	lea    -0x30(%ebp),%eax
535c93:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
535c9a:	50                   	push   %eax
535c9b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535c9e:	e8 13 6a ee ff       	call   0x41c6b6
535ca3:	83 c7 18             	add    $0x18,%edi
535ca6:	3b fb                	cmp    %ebx,%edi
535ca8:	75 e6                	jne    0x535c90
535caa:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535cad:	8b 45 d4             	mov    -0x2c(%ebp),%eax
535cb0:	80 78 41 00          	cmpb   $0x0,0x41(%eax)
535cb4:	74 44                	je     0x535cfa
535cb6:	8b 45 c0             	mov    -0x40(%ebp),%eax
535cb9:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
535cbc:	74 3c                	je     0x535cfa
535cbe:	8b 75 d4             	mov    -0x2c(%ebp),%esi
535cc1:	8d 78 18             	lea    0x18(%eax),%edi
535cc4:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
535cc7:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
535ccb:	72 04                	jb     0x535cd1
535ccd:	8b 07                	mov    (%edi),%eax
535ccf:	eb 02                	jmp    0x535cd3
535cd1:	8b c7                	mov    %edi,%eax
535cd3:	50                   	push   %eax
535cd4:	8b ce                	mov    %esi,%ecx
535cd6:	e8 b1 14 f0 ff       	call   0x43718c
535cdb:	89 45 d0             	mov    %eax,-0x30(%ebp)
535cde:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535ce1:	8d 45 d0             	lea    -0x30(%ebp),%eax
535ce4:	50                   	push   %eax
535ce5:	e8 26 c5 ed ff       	call   0x412210
535cea:	83 c7 30             	add    $0x30,%edi
535ced:	8d 47 e8             	lea    -0x18(%edi),%eax
535cf0:	3b c3                	cmp    %ebx,%eax
535cf2:	75 d3                	jne    0x535cc7
535cf4:	8b 5d dc             	mov    -0x24(%ebp),%ebx
535cf7:	8b 75 b4             	mov    -0x4c(%ebp),%esi
535cfa:	8d 45 d0             	lea    -0x30(%ebp),%eax
535cfd:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
535d04:	50                   	push   %eax
535d05:	6a 00                	push   $0x0
535d07:	53                   	push   %ebx
535d08:	8d 45 e8             	lea    -0x18(%ebp),%eax
535d0b:	50                   	push   %eax
535d0c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535d0f:	e8 b7 78 ed ff       	call   0x40d5cb
535d14:	8b 85 10 03 00 00    	mov    0x310(%ebp),%eax
535d1a:	8b 5d d8             	mov    -0x28(%ebp),%ebx
535d1d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535d20:	89 85 dc 02 00 00    	mov    %eax,0x2dc(%ebp)
535d26:	8b 85 04 03 00 00    	mov    0x304(%ebp),%eax
535d2c:	89 85 e0 02 00 00    	mov    %eax,0x2e0(%ebp)
535d32:	8b 45 b0             	mov    -0x50(%ebp),%eax
535d35:	89 85 e8 02 00 00    	mov    %eax,0x2e8(%ebp)
535d3b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
535d3e:	89 85 e4 02 00 00    	mov    %eax,0x2e4(%ebp)
535d44:	8b 45 dc             	mov    -0x24(%ebp),%eax
535d47:	2b c3                	sub    %ebx,%eax
535d49:	c7 85 ec 02 00 00 00 	movl   $0x0,0x2ec(%ebp)
535d50:	00 00 00
535d53:	c1 f8 02             	sar    $0x2,%eax
535d56:	6a 04                	push   $0x4
535d58:	89 45 b0             	mov    %eax,-0x50(%ebp)
535d5b:	89 85 f0 02 00 00    	mov    %eax,0x2f0(%ebp)
535d61:	e8 71 cc ec ff       	call   0x4029d7
535d66:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535d69:	8d 85 dc 02 00 00    	lea    0x2dc(%ebp),%eax
535d6f:	6a 18                	push   $0x18
535d71:	50                   	push   %eax
535d72:	e8 df d6 ef ff       	call   0x433456
535d77:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
535d7a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
535d7d:	0f 94 c1             	sete   %cl
535d80:	84 c9                	test   %cl,%cl
535d82:	0f 84 9b 00 00 00    	je     0x535e23
535d88:	85 db                	test   %ebx,%ebx
535d8a:	74 12                	je     0x535d9e
535d8c:	8b 45 e0             	mov    -0x20(%ebp),%eax
535d8f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
535d92:	2b c3                	sub    %ebx,%eax
535d94:	c1 f8 02             	sar    $0x2,%eax
535d97:	50                   	push   %eax
535d98:	53                   	push   %ebx
535d99:	e8 3f ca ed ff       	call   0x4127dd
535d9e:	8d 8d b8 01 00 00    	lea    0x1b8(%ebp),%ecx
535da4:	e8 4f 87 ed ff       	call   0x40e4f8
535da9:	8b 5d c0             	mov    -0x40(%ebp),%ebx
535dac:	85 db                	test   %ebx,%ebx
535dae:	74 33                	je     0x535de3
535db0:	ff 75 a8             	push   -0x58(%ebp)
535db3:	8d 45 c0             	lea    -0x40(%ebp),%eax
535db6:	50                   	push   %eax
535db7:	ff 75 c4             	push   -0x3c(%ebp)
535dba:	53                   	push   %ebx
535dbb:	e8 f9 81 f0 ff       	call   0x43dfb9
535dc0:	8b 4d c8             	mov    -0x38(%ebp),%ecx
535dc3:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
535dc8:	2b cb                	sub    %ebx,%ecx
535dca:	83 c4 10             	add    $0x10,%esp
535dcd:	f7 e9                	imul   %ecx
535dcf:	8d 4d c0             	lea    -0x40(%ebp),%ecx
535dd2:	c1 fa 03             	sar    $0x3,%edx
535dd5:	8b c2                	mov    %edx,%eax
535dd7:	c1 e8 1f             	shr    $0x1f,%eax
535dda:	03 c2                	add    %edx,%eax
535ddc:	50                   	push   %eax
535ddd:	53                   	push   %ebx
535dde:	e8 d5 5a f0 ff       	call   0x43b8b8
535de3:	85 f6                	test   %esi,%esi
535de5:	0f 84 3f 01 00 00    	je     0x535f2a
535deb:	ff 75 a8             	push   -0x58(%ebp)
535dee:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
535df1:	51                   	push   %ecx
535df2:	ff 75 b8             	push   -0x48(%ebp)
535df5:	56                   	push   %esi
535df6:	e8 3f 92 f0 ff       	call   0x43f03a
535dfb:	8b 4d bc             	mov    -0x44(%ebp),%ecx
535dfe:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
535e03:	2b ce                	sub    %esi,%ecx
535e05:	83 c4 10             	add    $0x10,%esp
535e08:	f7 e9                	imul   %ecx
535e0a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
535e0d:	c1 fa 02             	sar    $0x2,%edx
535e10:	8b c2                	mov    %edx,%eax
535e12:	c1 e8 1f             	shr    $0x1f,%eax
535e15:	03 c2                	add    %edx,%eax
535e17:	50                   	push   %eax
535e18:	56                   	push   %esi
535e19:	e8 38 a1 ed ff       	call   0x40ff56
535e1e:	e9 07 01 00 00       	jmp    0x535f2a
535e23:	8b 45 b0             	mov    -0x50(%ebp),%eax
535e26:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535e29:	c1 e0 02             	shl    $0x2,%eax
535e2c:	50                   	push   %eax
535e2d:	e8 95 8a ed ff       	call   0x40e8c7
535e32:	89 45 d0             	mov    %eax,-0x30(%ebp)
535e35:	8d 85 ac 00 00 00    	lea    0xac(%ebp),%eax
535e3b:	89 85 b0 01 00 00    	mov    %eax,0x1b0(%ebp)
535e41:	c7 85 b4 01 00 00 04 	movl   $0x104,0x1b4(%ebp)
535e48:	01 00 00
535e4b:	c6 85 ac 00 00 00 00 	movb   $0x0,0xac(%ebp)
535e52:	6a 00                	push   $0x0
535e54:	ff 75 a4             	push   -0x5c(%ebp)
535e57:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
535e5b:	ff 75 a8             	push   -0x58(%ebp)
535e5e:	c7 85 a8 00 00 00 04 	movl   $0xbd1d04,0xa8(%ebp)
535e65:	1d bd 00
535e68:	68 04 01 00 00       	push   $0x104
535e6d:	50                   	push   %eax
535e6e:	e8 d9 7b ef ff       	call   0x42da4c
535e73:	83 c4 14             	add    $0x14,%esp
535e76:	8b 55 d4             	mov    -0x2c(%ebp),%edx
535e79:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
535e7d:	ff 42 10             	incl   0x10(%edx)
535e80:	3b 75 b8             	cmp    -0x48(%ebp),%esi
535e83:	74 50                	je     0x535ed5
535e85:	8b 8d e4 02 00 00    	mov    0x2e4(%ebp),%ecx
535e8b:	8b 85 e8 02 00 00    	mov    0x2e8(%ebp),%eax
535e91:	03 c1                	add    %ecx,%eax
535e93:	8d 3c 83             	lea    (%ebx,%eax,4),%edi
535e96:	8d 1c 8b             	lea    (%ebx,%ecx,4),%ebx
535e99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
535ea0:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
535ea4:	72 04                	jb     0x535eaa
535ea6:	8b 06                	mov    (%esi),%eax
535ea8:	eb 02                	jmp    0x535eac
535eaa:	8b c6                	mov    %esi,%eax
535eac:	ff 33                	push   (%ebx)