5359dd:	e8 ee 84 00 00       	call   0x53ded0
5359e2:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5359e5:	83 c4 24             	add    $0x24,%esp
5359e8:	0f bf 47 2a          	movswl 0x2a(%edi),%eax
5359ec:	41                   	inc    %ecx
5359ed:	03 c1                	add    %ecx,%eax
5359ef:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5359f2:	3b 41 2c             	cmp    0x2c(%ecx),%eax
5359f5:	7e 03                	jle    0x5359fa
5359f7:	89 41 2c             	mov    %eax,0x2c(%ecx)
5359fa:	6a 60                	push   $0x60
5359fc:	57                   	push   %edi
5359fd:	53                   	push   %ebx
5359fe:	6a 00                	push   $0x0
535a00:	51                   	push   %ecx
535a01:	e8 4a bf ff ff       	call   0x531950
535a06:	ff 37                	push   (%edi)
535a08:	ff 75 b0             	push   -0x50(%ebp)
535a0b:	56                   	push   %esi
535a0c:	e8 9f 52 01 00       	call   0x54acb0
535a11:	8b 5f 10             	mov    0x10(%edi),%ebx
535a14:	83 c4 20             	add    $0x20,%esp
535a17:	b8 01 00 00 00       	mov    $0x1,%eax
535a1c:	89 45 c8             	mov    %eax,-0x38(%ebp)
535a1f:	85 db                	test   %ebx,%ebx
535a21:	0f 84 9c 00 00 00    	je     0x535ac3
535a27:	ff 75 ac             	push   -0x54(%ebp)
535a2a:	ff 73 08             	push   0x8(%ebx)
535a2d:	ff 75 d8             	push   -0x28(%ebp)
535a30:	e8 8b 2f ff ff       	call   0x5289c0
535a35:	8b f8                	mov    %eax,%edi
535a37:	83 c4 0c             	add    $0xc,%esp
535a3a:	85 ff                	test   %edi,%edi
535a3c:	74 70                	je     0x535aae
535a3e:	ff 37                	push   (%edi)
535a40:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
535a47:	6a 00                	push   $0x0
535a49:	ff 77 1c             	push   0x1c(%edi)
535a4c:	ff 75 cc             	push   -0x34(%ebp)
535a4f:	ff 75 d4             	push   -0x2c(%ebp)
535a52:	e8 79 84 00 00       	call   0x53ded0
535a57:	6a 00                	push   $0x0
535a59:	8d 45 bc             	lea    -0x44(%ebp),%eax
535a5c:	50                   	push   %eax
535a5d:	53                   	push   %ebx
535a5e:	57                   	push   %edi
535a5f:	ff 75 d4             	push   -0x2c(%ebp)
535a62:	e8 79 44 ff ff       	call   0x529ee0
535a67:	83 c4 28             	add    $0x28,%esp
535a6a:	85 c0                	test   %eax,%eax
535a6c:	0f 85 bb 12 00 00    	jne    0x536d2d
535a72:	8b 45 bc             	mov    -0x44(%ebp),%eax
535a75:	85 c0                	test   %eax,%eax
535a77:	75 16                	jne    0x535a8f
535a79:	6a 60                	push   $0x60
535a7b:	57                   	push   %edi
535a7c:	ff 75 cc             	push   -0x34(%ebp)
535a7f:	ff 75 c8             	push   -0x38(%ebp)
535a82:	ff 75 d4             	push   -0x2c(%ebp)
535a85:	e8 c6 be ff ff       	call   0x531950
535a8a:	83 c4 14             	add    $0x14,%esp
535a8d:	eb 1f                	jmp    0x535aae
535a8f:	ff 75 cc             	push   -0x34(%ebp)
535a92:	ff 70 2c             	push   0x2c(%eax)
535a95:	ff 75 c8             	push   -0x38(%ebp)
535a98:	6a 60                	push   $0x60
535a9a:	56                   	push   %esi
535a9b:	e8 a0 c0 00 00       	call   0x541b40
535aa0:	ff 75 bc             	push   -0x44(%ebp)
535aa3:	ff 75 d4             	push   -0x2c(%ebp)
535aa6:	e8 a5 75 01 00       	call   0x54d050
535aab:	83 c4 1c             	add    $0x1c,%esp
535aae:	8b 45 c8             	mov    -0x38(%ebp),%eax
535ab1:	8b 5b 04             	mov    0x4(%ebx),%ebx
535ab4:	40                   	inc    %eax
535ab5:	89 45 c8             	mov    %eax,-0x38(%ebp)
535ab8:	85 db                	test   %ebx,%ebx
535aba:	0f 85 67 ff ff ff    	jne    0x535a27
535ac0:	8b 7d c0             	mov    -0x40(%ebp),%edi
535ac3:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535ac6:	39 41 28             	cmp    %eax,0x28(%ecx)
535ac9:	7d 03                	jge    0x535ace
535acb:	89 41 28             	mov    %eax,0x28(%ecx)
535ace:	6a 00                	push   $0x0
535ad0:	6a 25                	push   $0x25
535ad2:	56                   	push   %esi
535ad3:	e8 a8 bf 00 00       	call   0x541a80
535ad8:	8b 5f 10             	mov    0x10(%edi),%ebx
535adb:	83 c4 0c             	add    $0xc,%esp
535ade:	89 45 9c             	mov    %eax,-0x64(%ebp)
535ae1:	c7 45 a4 01 00 00 00 	movl   $0x1,-0x5c(%ebp)
535ae8:	89 5d cc             	mov    %ebx,-0x34(%ebp)
535aeb:	85 db                	test   %ebx,%ebx
535aed:	0f 84 87 01 00 00    	je     0x535c7a
535af3:	ff 75 ac             	push   -0x54(%ebp)
535af6:	ff 73 08             	push   0x8(%ebx)
535af9:	ff 75 d8             	push   -0x28(%ebp)
535afc:	e8 bf 2e ff ff       	call   0x5289c0
535b01:	33 d2                	xor    %edx,%edx
535b03:	89 45 e8             	mov    %eax,-0x18(%ebp)
535b06:	83 c4 0c             	add    $0xc,%esp
535b09:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
535b10:	89 55 c4             	mov    %edx,-0x3c(%ebp)
535b13:	85 c0                	test   %eax,%eax
535b15:	74 18                	je     0x535b2f
535b17:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
535b1a:	51                   	push   %ecx
535b1b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
535b1e:	51                   	push   %ecx
535b1f:	53                   	push   %ebx
535b20:	50                   	push   %eax
535b21:	ff 75 d4             	push   -0x2c(%ebp)
535b24:	e8 b7 43 ff ff       	call   0x529ee0
535b29:	8b 55 c4             	mov    -0x3c(%ebp),%edx
535b2c:	83 c4 14             	add    $0x14,%esp
535b2f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
535b32:	33 ff                	xor    %edi,%edi
535b34:	ff 48 38             	decl   0x38(%eax)
535b37:	8b 40 38             	mov    0x38(%eax),%eax
535b3a:	89 45 c8             	mov    %eax,-0x38(%ebp)
535b3d:	39 7b 14             	cmp    %edi,0x14(%ebx)
535b40:	7e 4d                	jle    0x535b8f
535b42:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
535b45:	8b 4d cc             	mov    -0x34(%ebp),%ecx
535b48:	43                   	inc    %ebx
535b49:	83 c1 24             	add    $0x24,%ecx
535b4c:	89 4d d0             	mov    %ecx,-0x30(%ebp)
535b4f:	90                   	nop
535b50:	85 d2                	test   %edx,%edx
535b52:	74 05                	je     0x535b59
535b54:	8b 04 ba             	mov    (%edx,%edi,4),%eax
535b57:	eb 02                	jmp    0x535b5b
535b59:	8b 01                	mov    (%ecx),%eax
535b5b:	53                   	push   %ebx
535b5c:	50                   	push   %eax
535b5d:	6a 00                	push   $0x0
535b5f:	ff 75 c0             	push   -0x40(%ebp)
535b62:	56                   	push   %esi
535b63:	e8 58 e5 fe ff       	call   0x5240c0
535b68:	ff 75 c8             	push   -0x38(%ebp)
535b6b:	53                   	push   %ebx
535b6c:	6a 32                	push   $0x32
535b6e:	56                   	push   %esi
535b6f:	e8 6c bf 00 00       	call   0x541ae0
535b74:	8b 45 cc             	mov    -0x34(%ebp),%eax
535b77:	47                   	inc    %edi
535b78:	8b 4d d0             	mov    -0x30(%ebp),%ecx
535b7b:	83 c4 24             	add    $0x24,%esp
535b7e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
535b81:	83 c1 08             	add    $0x8,%ecx
535b84:	43                   	inc    %ebx
535b85:	89 4d d0             	mov    %ecx,-0x30(%ebp)
535b88:	3b 78 14             	cmp    0x14(%eax),%edi
535b8b:	7c c3                	jl     0x535b50
535b8d:	8b d8                	mov    %eax,%ebx
535b8f:	8b 45 bc             	mov    -0x44(%ebp),%eax
535b92:	85 c0                	test   %eax,%eax
535b94:	74 3a                	je     0x535bd0
535b96:	ff 73 14             	push   0x14(%ebx)
535b99:	50                   	push   %eax
535b9a:	ff 75 d8             	push   -0x28(%ebp)
535b9d:	e8 2e 84 ff ff       	call   0x52dfd0
535ba2:	8b 7d b4             	mov    -0x4c(%ebp),%edi
535ba5:	83 c4 08             	add    $0x8,%esp
535ba8:	50                   	push   %eax
535ba9:	57                   	push   %edi
535baa:	ff 73 14             	push   0x14(%ebx)
535bad:	8d 47 01             	lea    0x1(%edi),%eax
535bb0:	50                   	push   %eax
535bb1:	6a 5b                	push   $0x5b
535bb3:	56                   	push   %esi
535bb4:	e8 d7 bf 00 00       	call   0x541b90
535bb9:	6a 00                	push   $0x0
535bbb:	57                   	push   %edi
535bbc:	8b 7d c8             	mov    -0x38(%ebp),%edi
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