535bbf:	57                   	push   %edi
535bc0:	ff 75 a4             	push   -0x5c(%ebp)
535bc3:	6a 1e                	push   $0x1e
535bc5:	56                   	push   %esi
535bc6:	e8 45 c0 00 00       	call   0x541c10
535bcb:	83 c4 34             	add    $0x34,%esp
535bce:	eb 2f                	jmp    0x535bff
535bd0:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
535bd4:	74 26                	je     0x535bfc
535bd6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
535bd9:	40                   	inc    %eax
535bda:	50                   	push   %eax
535bdb:	8b 46 6c             	mov    0x6c(%esi),%eax
535bde:	83 c0 02             	add    $0x2,%eax
535be1:	50                   	push   %eax
535be2:	ff 75 a4             	push   -0x5c(%ebp)
535be5:	6a 1f                	push   $0x1f
535be7:	56                   	push   %esi
535be8:	e8 53 bf 00 00       	call   0x541b40
535bed:	8b 7d c8             	mov    -0x38(%ebp),%edi
535bf0:	57                   	push   %edi
535bf1:	56                   	push   %esi
535bf2:	e8 a9 44 01 00       	call   0x54a0a0
535bf7:	83 c4 1c             	add    $0x1c,%esp
535bfa:	eb 03                	jmp    0x535bff
535bfc:	8b 7d c8             	mov    -0x38(%ebp),%edi
535bff:	8b 45 c0             	mov    -0x40(%ebp),%eax
535c02:	f6 40 24 80          	testb  $0x80,0x24(%eax)
535c06:	8b 45 b0             	mov    -0x50(%ebp),%eax
535c09:	75 08                	jne    0x535c13
535c0b:	40                   	inc    %eax
535c0c:	50                   	push   %eax
535c0d:	6a 00                	push   $0x0
535c0f:	6a 7f                	push   $0x7f
535c11:	eb 06                	jmp    0x535c19
535c13:	40                   	inc    %eax
535c14:	50                   	push   %eax
535c15:	6a 00                	push   $0x0
535c17:	6a 48                	push   $0x48
535c19:	56                   	push   %esi
535c1a:	e8 c1 be 00 00       	call   0x541ae0
535c1f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
535c22:	83 c4 10             	add    $0x10,%esp
535c25:	48                   	dec    %eax
535c26:	50                   	push   %eax
535c27:	ff 73 08             	push   0x8(%ebx)
535c2a:	8b 45 b0             	mov    -0x50(%ebp),%eax
535c2d:	68 f0 ab 6b 00       	push   $0x6babf0
535c32:	83 c0 02             	add    $0x2,%eax
535c35:	50                   	push   %eax
535c36:	56                   	push   %esi
535c37:	e8 f4 66 01 00       	call   0x54c330
535c3c:	6a 04                	push   $0x4
535c3e:	ff 75 b0             	push   -0x50(%ebp)
535c41:	6a 50                	push   $0x50
535c43:	56                   	push   %esi
535c44:	e8 97 be 00 00       	call   0x541ae0
535c49:	57                   	push   %edi
535c4a:	56                   	push   %esi
535c4b:	e8 80 70 01 00       	call   0x54ccd0
535c50:	8b 45 c4             	mov    -0x3c(%ebp),%eax
535c53:	83 c4 2c             	add    $0x2c,%esp
535c56:	85 c0                	test   %eax,%eax
535c58:	74 0c                	je     0x535c66
535c5a:	50                   	push   %eax
535c5b:	ff 75 d8             	push   -0x28(%ebp)
535c5e:	e8 0d b7 fe ff       	call   0x521370
535c63:	83 c4 08             	add    $0x8,%esp
535c66:	8b 5b 04             	mov    0x4(%ebx),%ebx
535c69:	ff 45 a4             	incl   -0x5c(%ebp)
535c6c:	89 5d cc             	mov    %ebx,-0x34(%ebp)
535c6f:	85 db                	test   %ebx,%ebx
535c71:	0f 85 7c fe ff ff    	jne    0x535af3
535c77:	8b 45 9c             	mov    -0x64(%ebp),%eax
535c7a:	40                   	inc    %eax
535c7b:	50                   	push   %eax
535c7c:	6a 00                	push   $0x0
535c7e:	6a 05                	push   $0x5
535c80:	56                   	push   %esi
535c81:	e8 5a be 00 00       	call   0x541ae0
535c86:	ff 75 9c             	push   -0x64(%ebp)
535c89:	56                   	push   %esi
535c8a:	e8 d1 4a 01 00       	call   0x54a760
535c8f:	8b 45 a0             	mov    -0x60(%ebp),%eax
535c92:	83 c4 18             	add    $0x18,%esp
535c95:	8b 55 d4             	mov    -0x2c(%ebp),%edx
535c98:	85 c0                	test   %eax,%eax
535c9a:	0f 85 e0 fc ff ff    	jne    0x535980
535ca0:	e9 88 10 00 00       	jmp    0x536d2d
535ca5:	85 c9                	test   %ecx,%ecx
535ca7:	0f 84 80 10 00 00    	je     0x536d2d
535cad:	6a 00                	push   $0x0
535caf:	51                   	push   %ecx
535cb0:	e8 fb 6f ff ff       	call   0x52ccb0
535cb5:	0f b6 c0             	movzbl %al,%eax
535cb8:	50                   	push   %eax
535cb9:	ff 75 d8             	push   -0x28(%ebp)
535cbc:	e8 2f 1e 00 00       	call   0x537af0
535cc1:	83 c4 10             	add    $0x10,%esp
535cc4:	e9 64 10 00 00       	jmp    0x536d2d
535cc9:	8b 45 98             	mov    -0x68(%ebp),%eax
535ccc:	83 ca ff             	or     $0xffffffff,%edx
535ccf:	8b 7d c4             	mov    -0x3c(%ebp),%edi
535cd2:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
535cd5:	0f b6 00             	movzbl (%eax),%eax
535cd8:	8a 80 20 2a 6b 00    	mov    0x6b2a20(%eax),%al
535cde:	88 45 ab             	mov    %al,-0x55(%ebp)
535ce1:	8b 45 c0             	mov    -0x40(%ebp),%eax
535ce4:	83 38 00             	cmpl   $0x0,(%eax)
535ce7:	b8 64 00 00 00       	mov    $0x64,%eax
535cec:	c7 43 2c 06 00 00 00 	movl   $0x6,0x2c(%ebx)
535cf3:	0f 44 fa             	cmove  %edx,%edi
535cf6:	89 45 e8             	mov    %eax,-0x18(%ebp)
535cf9:	89 7d c4             	mov    %edi,-0x3c(%ebp)
535cfc:	89 45 a0             	mov    %eax,-0x60(%ebp)
535cff:	85 c9                	test   %ecx,%ecx
535d01:	74 1d                	je     0x535d20
535d03:	8d 45 a0             	lea    -0x60(%ebp),%eax
535d06:	50                   	push   %eax
535d07:	51                   	push   %ecx
535d08:	e8 93 70 ff ff       	call   0x52cda0
535d0d:	8b 45 a0             	mov    -0x60(%ebp),%eax
535d10:	83 c4 08             	add    $0x8,%esp
535d13:	85 c0                	test   %eax,%eax
535d15:	b9 64 00 00 00       	mov    $0x64,%ecx
535d1a:	0f 4e c1             	cmovle %ecx,%eax
535d1d:	89 45 e8             	mov    %eax,-0x18(%ebp)
535d20:	6a 01                	push   $0x1
535d22:	48                   	dec    %eax
535d23:	50                   	push   %eax
535d24:	6a 45                	push   $0x45
535d26:	56                   	push   %esi
535d27:	e8 b4 bd 00 00       	call   0x541ae0
535d2c:	8b 45 d8             	mov    -0x28(%ebp),%eax
535d2f:	33 c9                	xor    %ecx,%ecx
535d31:	83 c4 10             	add    $0x10,%esp
535d34:	89 4d c8             	mov    %ecx,-0x38(%ebp)
535d37:	39 48 14             	cmp    %ecx,0x14(%eax)
535d3a:	0f 8e 86 0a 00 00    	jle    0x5367c6
535d40:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
535d47:	85 ff                	test   %edi,%edi
535d49:	78 08                	js     0x535d53
535d4b:	3b cf                	cmp    %edi,%ecx
535d4d:	0f 85 66 0a 00 00    	jne    0x5367b9
535d53:	51                   	push   %ecx
535d54:	53                   	push   %ebx
535d55:	e8 86 95 fe ff       	call   0x51f2e0
535d5a:	8b 45 d8             	mov    -0x28(%ebp),%eax
535d5d:	83 c4 08             	add    $0x8,%esp
535d60:	8b 4d c8             	mov    -0x38(%ebp),%ecx
535d63:	33 d2                	xor    %edx,%edx
535d65:	c1 e1 04             	shl    $0x4,%ecx
535d68:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
535d6b:	8b 40 10             	mov    0x10(%eax),%eax
535d6e:	8b 44 08 0c          	mov    0xc(%eax,%ecx,1),%eax
535d72:	83 c0 08             	add    $0x8,%eax
535d75:	89 45 a0             	mov    %eax,-0x60(%ebp)
535d78:	8b 58 08             	mov    0x8(%eax),%ebx
535d7b:	85 db                	test   %ebx,%ebx
535d7d:	74 3b                	je     0x535dba
535d7f:	8b f2                	mov    %edx,%esi
535d81:	8b 43 08             	mov    0x8(%ebx),%eax
535d84:	33 ff                	xor    %edi,%edi
535d86:	8b 48 08             	mov    0x8(%eax),%ecx
535d89:	f6 40 24 80          	testb  $0x80,0x24(%eax)
535d8d:	8d 42 01             	lea    0x1(%edx),%eax
535d90:	0f 45 c2             	cmovne %edx,%eax
535d93:	8b d0                	mov    %eax,%edx
535d95:	85 c9                	test   %ecx,%ecx
535d97:	74 10                	je     0x535da9
535d99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
535da0:	8b 49 14             	mov    0x14(%ecx),%ecx
535da3:	42                   	inc    %edx
535da4:	47                   	inc    %edi
535da5:	85 c9                	test   %ecx,%ecx
535da7:	75 f7                	jne    0x535da0
535da9:	8b 1b                	mov    (%ebx),%ebx
535dab:	3b fe                	cmp    %esi,%edi
535dad:	0f 4f f7             	cmovg  %edi,%esi
535db0:	85 db                	test   %ebx,%ebx
535db2:	75 cd                	jne    0x535d81
535db4:	89 75 b4             	mov    %esi,-0x4c(%ebp)
535db7:	8b 75 a4             	mov    -0x5c(%ebp),%esi
535dba:	8d 04 95 04 00 00 00 	lea    0x4(,%edx,4),%eax
535dc1:	6a 00                	push   $0x0
535dc3:	50                   	push   %eax
535dc4:	ff 75 d8             	push   -0x28(%ebp)
535dc7:	e8 14 b6 fe ff       	call   0x5213e0
535dcc:	8b f8                	mov    %eax,%edi
535dce:	83 c4 0c             	add    $0xc,%esp
535dd1:	85 ff                	test   %edi,%edi
535dd3:	0f 84 ed 09 00 00    	je     0x5367c6
535dd9:	8b 5d a0             	mov    -0x60(%ebp),%ebx
535ddc:	33 d2                	xor    %edx,%edx
535dde:	8b 5b 08             	mov    0x8(%ebx),%ebx
535de1:	85 db                	test   %ebx,%ebx
535de3:	74 2f                	je     0x535e14
535de5:	8b 4b 08             	mov    0x8(%ebx),%ecx
535de8:	f6 41 24 80          	testb  $0x80,0x24(%ecx)
535dec:	75 07                	jne    0x535df5
535dee:	8b 41 1c             	mov    0x1c(%ecx),%eax
535df1:	42                   	inc    %edx
535df2:	89 04 97             	mov    %eax,(%edi,%edx,4)
535df5:	8b 49 08             	mov    0x8(%ecx),%ecx
535df8:	85 c9                	test   %ecx,%ecx
535dfa:	74 12                	je     0x535e0e
535dfc:	0f 1f 40 00          	nopl   0x0(%eax)
535e00:	8b 41 2c             	mov    0x2c(%ecx),%eax
535e03:	42                   	inc    %edx
535e04:	89 04 97             	mov    %eax,(%edi,%edx,4)
535e07:	8b 49 14             	mov    0x14(%ecx),%ecx
535e0a:	85 c9                	test   %ecx,%ecx
535e0c:	75 f2                	jne    0x535e00
535e0e:	8b 1b                	mov    (%ebx),%ebx
535e10:	85 db                	test   %ebx,%ebx
535e12:	75 d1                	jne    0x535de5
535e14:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
535e17:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
535e1a:	6a f1                	push   $0xfffffff1
535e1c:	57                   	push   %edi
535e1d:	6a 01                	push   $0x1
535e1f:	89 17                	mov    %edx,(%edi)
535e21:	83 c1 08             	add    $0x8,%ecx
535e24:	39 4b 2c             	cmp    %ecx,0x2c(%ebx)
535e27:	52                   	push   %edx
535e28:	0f 4f 4b 2c          	cmovg  0x2c(%ebx),%ecx
535e2c:	6a 02                	push   $0x2
535e2e:	68 92 00 00 00       	push   $0x92
535e33:	56                   	push   %esi
535e34:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
535e37:	c6 43 13 00          	movb   $0x0,0x13(%ebx)
535e3b:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
535e42:	e8 49 bd 00 00       	call   0x541b90
535e47:	8b 45 c8             	mov    -0x38(%ebp),%eax
535e4a:	0f b6 c0             	movzbl %al,%eax
535e4d:	50                   	push   %eax
535e4e:	56                   	push   %esi
535e4f:	e8 dc c1 00 00       	call   0x542030
535e54:	6a 02                	push   $0x2
535e56:	6a 32                	push   $0x32
535e58:	56                   	push   %esi
535e59:	e8 22 bc 00 00       	call   0x541a80
535e5e:	8b 55 d8             	mov    -0x28(%ebp),%edx
535e61:	83 c4 30             	add    $0x30,%esp
535e64:	8b f8                	mov    %eax,%edi
535e66:	8b 45 94             	mov    -0x6c(%ebp),%eax
535e69:	8b 4a 10             	mov    0x10(%edx),%ecx
535e6c:	6a f9                	push   $0xfffffff9
535e6e:	ff 34 01             	push   (%ecx,%eax,1)
535e71:	68 f4 ab 6b 00       	push   $0x6babf4
535e76:	52                   	push   %edx
535e77:	e8 c4 b0 ff ff       	call   0x530f40
535e7c:	83 c4 0c             	add    $0xc,%esp
535e7f:	50                   	push   %eax
535e80:	6a 00                	push   $0x0
535e82:	6a 03                	push   $0x3
535e84:	6a 00                	push   $0x0
535e86:	6a 73                	push   $0x73
535e88:	56                   	push   %esi
535e89:	e8 02 bd 00 00       	call   0x541b90
535e8e:	6a 03                	push   $0x3
535e90:	6a 03                	push   $0x3
535e92:	6a 02                	push   $0x2
535e94:	6a 6e                	push   $0x6e
535e96:	56                   	push   %esi
535e97:	e8 a4 bc 00 00       	call   0x541b40
535e9c:	56                   	push   %esi
535e9d:	e8 4e 14 fd ff       	call   0x5072f0
535ea2:	57                   	push   %edi
535ea3:	56                   	push   %esi
535ea4:	e8 b7 48 01 00       	call   0x54a760
535ea9:	8b 45 a0             	mov    -0x60(%ebp),%eax
535eac:	83 c4 3c             	add    $0x3c,%esp
535eaf:	8b 40 08             	mov    0x8(%eax),%eax
535eb2:	89 45 d0             	mov    %eax,-0x30(%ebp)
535eb5:	85 c0                	test   %eax,%eax
535eb7:	0f 84 f3 08 00 00    	je     0x5367b0
535ebd:	8b d8                	mov    %eax,%ebx
535ebf:	90                   	nop
535ec0:	8b 5b 08             	mov    0x8(%ebx),%ebx
535ec3:	89 5d ac             	mov    %ebx,-0x54(%ebp)
535ec6:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
535ecd:	c7 45 b4 ff ff ff ff 	movl   $0xffffffff,-0x4c(%ebp)
535ed4:	83 7b 1c 01          	cmpl   $0x1,0x1c(%ebx)
535ed8:	0f 8c bf 08 00 00    	jl     0x53679d
535ede:	f6 43 24 80          	testb  $0x80,0x24(%ebx)
535ee2:	75 09                	jne    0x535eed
535ee4:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
535eeb:	eb 0c                	jmp    0x535ef9
535eed:	53                   	push   %ebx
535eee:	e8 dd 14 00 00       	call   0x5373d0
535ef3:	83 c4 04             	add    $0x4,%esp
535ef6:	89 45 bc             	mov    %eax,-0x44(%ebp)
535ef9:	8d 45 9c             	lea    -0x64(%ebp),%eax
535efc:	50                   	push   %eax
535efd:	8d 45 cc             	lea    -0x34(%ebp),%eax
535f00:	50                   	push   %eax
535f01:	6a 00                	push   $0x0
535f03:	6a 01                	push   $0x1
535f05:	6a 00                	push   $0x0
535f07:	6a 60                	push   $0x60
535f09:	53                   	push   %ebx
535f0a:	ff 75 d4             	push   -0x2c(%ebp)
535f0d:	e8 6e bb ff ff       	call   0x531a80
535f12:	6a 07                	push   $0x7
535f14:	6a 00                	push   $0x0
535f16:	6a 45                	push   $0x45
535f18:	56                   	push   %esi
535f19:	e8 c2 bb 00 00       	call   0x541ae0
535f1e:	8b 7b 08             	mov    0x8(%ebx),%edi
535f21:	83 c4 30             	add    $0x30,%esp
535f24:	85 ff                	test   %edi,%edi
535f26:	74 21                	je     0x535f49
535f28:	bb 08 00 00 00       	mov    $0x8,%ebx
535f2d:	0f 1f 00             	nopl   (%eax)
535f30:	53                   	push   %ebx
535f31:	6a 00                	push   $0x0
535f33:	6a 45                	push   $0x45
535f35:	56                   	push   %esi
535f36:	e8 a5 bb 00 00       	call   0x541ae0
535f3b:	8b 7f 14             	mov    0x14(%edi),%edi
535f3e:	83 c4 10             	add    $0x10,%esp
535f41:	43                   	inc    %ebx
535f42:	85 ff                	test   %edi,%edi
535f44:	75 ea                	jne    0x535f30
535f46:	8b 5d ac             	mov    -0x54(%ebp),%ebx
535f49:	8b 7d cc             	mov    -0x34(%ebp),%edi
535f4c:	6a 00                	push   $0x0
535f4e:	57                   	push   %edi
535f4f:	6a 25                	push   $0x25
535f51:	56                   	push   %esi
535f52:	e8 89 bb 00 00       	call   0x541ae0
535f57:	6a 01                	push   $0x1
535f59:	6a 07                	push   $0x7
535f5b:	6a 52                	push   $0x52
535f5d:	56                   	push   %esi
535f5e:	e8 7d bb 00 00       	call   0x541ae0
535f63:	83 c4 20             	add    $0x20,%esp
535f66:	89 45 e4             	mov    %eax,-0x1c(%ebp)
535f69:	80 7d ab 71          	cmpb   $0x71,-0x55(%ebp)
535f6d:	74 1f                	je     0x535f8e
535f6f:	0f bf 4b 2c          	movswl 0x2c(%ebx),%ecx
535f73:	6a 03                	push   $0x3
535f75:	49                   	dec    %ecx
535f76:	51                   	push   %ecx
535f77:	57                   	push   %edi
535f78:	6a 59                	push   $0x59
535f7a:	56                   	push   %esi
535f7b:	e8 c0 bb 00 00       	call   0x541b40
535f80:	68 80 00 00 00       	push   $0x80