5a193f:	83 e6 07             	and    $0x7,%esi
5a1942:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5a1946:	85 ed                	test   %ebp,%ebp
5a1948:	0f 85 33 ff ff ff    	jne    0x5a1881
5a194e:	8b 44 24 38          	mov    0x38(%esp),%eax
5a1952:	5f                   	pop    %edi
5a1953:	89 30                	mov    %esi,(%eax)
5a1955:	5e                   	pop    %esi
5a1956:	5d                   	pop    %ebp
5a1957:	5b                   	pop    %ebx
5a1958:	83 c4 08             	add    $0x8,%esp
5a195b:	c3                   	ret
5a195c:	85 ed                	test   %ebp,%ebp
5a195e:	0f 84 f3 00 00 00    	je     0x5a1a57
5a1964:	8b 44 24 20          	mov    0x20(%esp),%eax
5a1968:	8b 54 24 34          	mov    0x34(%esp),%edx
5a196c:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5a1970:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a1974:	89 44 24 24          	mov    %eax,0x24(%esp)
5a1978:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5a197f:	00
5a1980:	4d                   	dec    %ebp
5a1981:	85 f6                	test   %esi,%esi
5a1983:	0f 85 a0 00 00 00    	jne    0x5a1a29
5a1989:	0f b6 0a             	movzbl (%edx),%ecx
5a198c:	8d 5a 01             	lea    0x1(%edx),%ebx
5a198f:	0f b6 03             	movzbl (%ebx),%eax
5a1992:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
5a1996:	ff 74 24 30          	push   0x30(%esp)
5a199a:	c1 e0 08             	shl    $0x8,%eax
5a199d:	ff 74 24 30          	push   0x30(%esp)
5a19a1:	0b c8                	or     %eax,%ecx
5a19a3:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5a19a7:	ff 74 24 30          	push   0x30(%esp)
5a19ab:	c1 e0 10             	shl    $0x10,%eax
5a19ae:	0b c8                	or     %eax,%ecx
5a19b0:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
5a19b4:	c1 e0 18             	shl    $0x18,%eax
5a19b7:	0b c8                	or     %eax,%ecx
5a19b9:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
5a19bd:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5a19c1:	0f b6 4b 06          	movzbl 0x6(%ebx),%ecx
5a19c5:	c1 e0 08             	shl    $0x8,%eax
5a19c8:	0b d0                	or     %eax,%edx
5a19ca:	c1 e1 08             	shl    $0x8,%ecx
5a19cd:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
5a19d1:	0b c8                	or     %eax,%ecx
5a19d3:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a19d7:	c1 e1 10             	shl    $0x10,%ecx
5a19da:	0b ca                	or     %edx,%ecx
5a19dc:	50                   	push   %eax
5a19dd:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5a19e1:	e8 4a fd ff ff       	call   0x5a1730
5a19e6:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a19ea:	83 c4 10             	add    $0x10,%esp
5a19ed:	8b 54 24 34          	mov    0x34(%esp),%edx
5a19f1:	8b c1                	mov    %ecx,%eax
5a19f3:	c1 e8 08             	shr    $0x8,%eax
5a19f6:	88 0a                	mov    %cl,(%edx)
5a19f8:	88 03                	mov    %al,(%ebx)
5a19fa:	8b c1                	mov    %ecx,%eax
5a19fc:	c1 e8 10             	shr    $0x10,%eax
5a19ff:	88 43 01             	mov    %al,0x1(%ebx)
5a1a02:	c1 e9 18             	shr    $0x18,%ecx
5a1a05:	88 4b 02             	mov    %cl,0x2(%ebx)
5a1a08:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a1a0c:	8b c1                	mov    %ecx,%eax
5a1a0e:	c1 e8 08             	shr    $0x8,%eax
5a1a11:	88 4b 03             	mov    %cl,0x3(%ebx)
5a1a14:	88 43 04             	mov    %al,0x4(%ebx)
5a1a17:	8b c1                	mov    %ecx,%eax
5a1a19:	c1 e8 10             	shr    $0x10,%eax
5a1a1c:	88 43 05             	mov    %al,0x5(%ebx)
5a1a1f:	8b 44 24 24          	mov    0x24(%esp),%eax
5a1a23:	c1 e9 18             	shr    $0x18,%ecx
5a1a26:	88 4b 06             	mov    %cl,0x6(%ebx)
5a1a29:	8a 08                	mov    (%eax),%cl
5a1a2b:	40                   	inc    %eax
5a1a2c:	89 44 24 24          	mov    %eax,0x24(%esp)
5a1a30:	8a 04 16             	mov    (%esi,%edx,1),%al
5a1a33:	88 0c 16             	mov    %cl,(%esi,%edx,1)
5a1a36:	32 c8                	xor    %al,%cl
5a1a38:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5a1a3c:	46                   	inc    %esi
5a1a3d:	83 e6 07             	and    $0x7,%esi
5a1a40:	88 08                	mov    %cl,(%eax)
5a1a42:	40                   	inc    %eax
5a1a43:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5a1a47:	8b 44 24 24          	mov    0x24(%esp),%eax
5a1a4b:	85 ed                	test   %ebp,%ebp
5a1a4d:	0f 85 2d ff ff ff    	jne    0x5a1980
5a1a53:	8b 44 24 38          	mov    0x38(%esp),%eax
5a1a57:	5f                   	pop    %edi
5a1a58:	89 30                	mov    %esi,(%eax)
5a1a5a:	5e                   	pop    %esi
5a1a5b:	5d                   	pop    %ebp
5a1a5c:	5b                   	pop    %ebx
5a1a5d:	83 c4 08             	add    $0x8,%esp
5a1a60:	c3                   	ret
5a1a61:	cc                   	int3
5a1a62:	cc                   	int3
5a1a63:	cc                   	int3
5a1a64:	cc                   	int3
5a1a65:	cc                   	int3
5a1a66:	cc                   	int3
5a1a67:	cc                   	int3
5a1a68:	cc                   	int3
5a1a69:	cc                   	int3
5a1a6a:	cc                   	int3
5a1a6b:	cc                   	int3
5a1a6c:	cc                   	int3
5a1a6d:	cc                   	int3
5a1a6e:	cc                   	int3
5a1a6f:	cc                   	int3
5a1a70:	b8 48 00 00 00       	mov    $0x48,%eax
5a1a75:	e8 76 fa 03 00       	call   0x5e14f0
5a1a7a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a1a7f:	33 c4                	xor    %esp,%eax
5a1a81:	89 44 24 44          	mov    %eax,0x44(%esp)
5a1a85:	8b 44 24 5c          	mov    0x5c(%esp),%eax
5a1a89:	55                   	push   %ebp
5a1a8a:	8b 6c 24 58          	mov    0x58(%esp),%ebp
5a1a8e:	56                   	push   %esi
5a1a8f:	8b 74 24 58          	mov    0x58(%esp),%esi
5a1a93:	89 44 24 30          	mov    %eax,0x30(%esp)
5a1a97:	8b 44 24 68          	mov    0x68(%esp),%eax
5a1a9b:	57                   	push   %edi
5a1a9c:	89 44 24 30          	mov    %eax,0x30(%esp)
5a1aa0:	8d 7d 07             	lea    0x7(%ebp),%edi
5a1aa3:	8b 44 24 70          	mov    0x70(%esp),%eax
5a1aa7:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a1aab:	8b 44 24 74          	mov    0x74(%esp),%eax
5a1aaf:	c1 ef 03             	shr    $0x3,%edi
5a1ab2:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5a1ab6:	83 fd 40             	cmp    $0x40,%ebp
5a1ab9:	0f 8f f9 06 00 00    	jg     0x5a21b8
5a1abf:	0f b6 08             	movzbl (%eax),%ecx
5a1ac2:	8d 50 01             	lea    0x1(%eax),%edx
5a1ac5:	0f b6 02             	movzbl (%edx),%eax
5a1ac8:	c1 e0 08             	shl    $0x8,%eax
5a1acb:	0b c8                	or     %eax,%ecx
5a1acd:	0f b6 42 01          	movzbl 0x1(%edx),%eax
5a1ad1:	c1 e0 10             	shl    $0x10,%eax
5a1ad4:	0b c8                	or     %eax,%ecx
5a1ad6:	0f b6 42 02          	movzbl 0x2(%edx),%eax
5a1ada:	c1 e0 18             	shl    $0x18,%eax
5a1add:	0b c8                	or     %eax,%ecx
5a1adf:	0f b6 42 04          	movzbl 0x4(%edx),%eax
5a1ae3:	53                   	push   %ebx
5a1ae4:	0f b6 5a 03          	movzbl 0x3(%edx),%ebx
5a1ae8:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5a1aec:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
5a1af0:	c1 e0 08             	shl    $0x8,%eax
5a1af3:	0b d8                	or     %eax,%ebx
5a1af5:	c1 e1 08             	shl    $0x8,%ecx
5a1af8:	0f b6 42 05          	movzbl 0x5(%edx),%eax
5a1afc:	0b c8                	or     %eax,%ecx
5a1afe:	8b 44 24 68          	mov    0x68(%esp),%eax
5a1b02:	c1 e1 10             	shl    $0x10,%ecx
5a1b05:	0b d9                	or     %ecx,%ebx
5a1b07:	83 7c 24 7c 00       	cmpl   $0x0,0x7c(%esp)
5a1b0c:	0f 84 23 03 00 00    	je     0x5a1e35
5a1b12:	3b c7                	cmp    %edi,%eax
5a1b14:	0f 82 64 06 00 00    	jb     0x5a217e
5a1b1a:	8b cd                	mov    %ebp,%ecx
5a1b1c:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
5a1b22:	79 05                	jns    0x5a1b29
5a1b24:	49                   	dec    %ecx
5a1b25:	83 c9 f8             	or     $0xfffffff8,%ecx
5a1b28:	41                   	inc    %ecx
5a1b29:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
5a1b2d:	ba 08 00 00 00       	mov    $0x8,%edx
5a1b32:	2b d1                	sub    %ecx,%edx
5a1b34:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a1b38:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a1b3c:	89 54 24 1c          	mov    %edx,0x1c(%esp)
5a1b40:	ff 74 24 30          	push   0x30(%esp)
5a1b44:	2b c7                	sub    %edi,%eax
5a1b46:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5a1b4a:	ff 74 24 38          	push   0x38(%esp)
5a1b4e:	89 44 24 70          	mov    %eax,0x70(%esp)
5a1b52:	8d 44 24 30          	lea    0x30(%esp),%eax
5a1b56:	ff 74 24 40          	push   0x40(%esp)
5a1b5a:	89 5c 24 38          	mov    %ebx,0x38(%esp)
5a1b5e:	50                   	push   %eax
5a1b5f:	e8 cc fb ff ff       	call   0x5a1730
5a1b64:	8d 47 ff             	lea    -0x1(%edi),%eax
5a1b67:	83 c4 10             	add    $0x10,%esp
5a1b6a:	03 ef                	add    %edi,%ebp
5a1b6c:	33 c9                	xor    %ecx,%ecx
5a1b6e:	33 d2                	xor    %edx,%edx
5a1b70:	83 f8 07             	cmp    $0x7,%eax
5a1b73:	77 50                	ja     0x5a1bc5
5a1b75:	ff 24 85 cc 21 5a 00 	jmp    *0x5a21cc(,%eax,4)
5a1b7c:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
5a1b80:	4d                   	dec    %ebp
5a1b81:	c1 e1 18             	shl    $0x18,%ecx
5a1b84:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1b88:	4d                   	dec    %ebp
5a1b89:	c1 e0 10             	shl    $0x10,%eax
5a1b8c:	0b c8                	or     %eax,%ecx
5a1b8e:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1b92:	4d                   	dec    %ebp
5a1b93:	c1 e0 08             	shl    $0x8,%eax
5a1b96:	0b c8                	or     %eax,%ecx
5a1b98:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1b9c:	4d                   	dec    %ebp
5a1b9d:	0b c8                	or     %eax,%ecx
5a1b9f:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
5a1ba3:	4d                   	dec    %ebp
5a1ba4:	c1 e2 18             	shl    $0x18,%edx
5a1ba7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1bab:	4d                   	dec    %ebp
5a1bac:	c1 e0 10             	shl    $0x10,%eax
5a1baf:	0b d0                	or     %eax,%edx
5a1bb1:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1bb5:	4d                   	dec    %ebp
5a1bb6:	c1 e0 08             	shl    $0x8,%eax
5a1bb9:	0b d0                	or     %eax,%edx
5a1bbb:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
5a1bbf:	4d                   	dec    %ebp
5a1bc0:	0b d0                	or     %eax,%edx
5a1bc2:	8d 47 ff             	lea    -0x1(%edi),%eax
5a1bc5:	33 4c 24 2c          	xor    0x2c(%esp),%ecx
5a1bc9:	03 ef                	add    %edi,%ebp
5a1bcb:	33 54 24 28          	xor    0x28(%esp),%edx
5a1bcf:	03 f7                	add    %edi,%esi
5a1bd1:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5a1bd5:	83 f8 07             	cmp    $0x7,%eax
5a1bd8:	77 3d                	ja     0x5a1c17
5a1bda:	ff 24 85 ec 21 5a 00 	jmp    *0x5a21ec(,%eax,4)
5a1be1:	4e                   	dec    %esi
5a1be2:	8b c1                	mov    %ecx,%eax
5a1be4:	c1 e8 18             	shr    $0x18,%eax
5a1be7:	88 06                	mov    %al,(%esi)
5a1be9:	4e                   	dec    %esi
5a1bea:	8b c1                	mov    %ecx,%eax
5a1bec:	c1 e8 10             	shr    $0x10,%eax
5a1bef:	88 06                	mov    %al,(%esi)
5a1bf1:	4e                   	dec    %esi
5a1bf2:	8b c1                	mov    %ecx,%eax
5a1bf4:	c1 e8 08             	shr    $0x8,%eax
5a1bf7:	88 06                	mov    %al,(%esi)
5a1bf9:	4e                   	dec    %esi
5a1bfa:	88 0e                	mov    %cl,(%esi)
5a1bfc:	4e                   	dec    %esi
5a1bfd:	8b c2                	mov    %edx,%eax
5a1bff:	c1 e8 18             	shr    $0x18,%eax
5a1c02:	88 06                	mov    %al,(%esi)
5a1c04:	4e                   	dec    %esi
5a1c05:	8b c2                	mov    %edx,%eax
5a1c07:	c1 e8 10             	shr    $0x10,%eax
5a1c0a:	88 06                	mov    %al,(%esi)
5a1c0c:	4e                   	dec    %esi
5a1c0d:	8b c2                	mov    %edx,%eax
5a1c0f:	c1 e8 08             	shr    $0x8,%eax
5a1c12:	88 06                	mov    %al,(%esi)
5a1c14:	4e                   	dec    %esi
5a1c15:	88 16                	mov    %dl,(%esi)
5a1c17:	8b 44 24 64          	mov    0x64(%esp),%eax
5a1c1b:	03 f7                	add    %edi,%esi
5a1c1d:	83 f8 20             	cmp    $0x20,%eax
5a1c20:	75 09                	jne    0x5a1c2b
5a1c22:	8b cb                	mov    %ebx,%ecx
5a1c24:	8b da                	mov    %edx,%ebx
5a1c26:	e9 f5 01 00 00       	jmp    0x5a1e20
5a1c2b:	83 f8 40             	cmp    $0x40,%eax
5a1c2e:	75 0b                	jne    0x5a1c3b
5a1c30:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5a1c34:	8b ca                	mov    %edx,%ecx
5a1c36:	e9 e5 01 00 00       	jmp    0x5a1e20
5a1c3b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a1c3f:	8b c1                	mov    %ecx,%eax
5a1c41:	c1 e8 08             	shr    $0x8,%eax
5a1c44:	88 44 24 45          	mov    %al,0x45(%esp)
5a1c48:	8b c1                	mov    %ecx,%eax
5a1c4a:	c1 e8 10             	shr    $0x10,%eax
5a1c4d:	88 44 24 46          	mov    %al,0x46(%esp)
5a1c51:	8b c3                	mov    %ebx,%eax
5a1c53:	c1 e8 08             	shr    $0x8,%eax
5a1c56:	88 44 24 49          	mov    %al,0x49(%esp)
5a1c5a:	8b c3                	mov    %ebx,%eax
5a1c5c:	c1 e8 10             	shr    $0x10,%eax
5a1c5f:	88 44 24 4a          	mov    %al,0x4a(%esp)
5a1c63:	8b c2                	mov    %edx,%eax
5a1c65:	c1 e8 08             	shr    $0x8,%eax
5a1c68:	88 44 24 4d          	mov    %al,0x4d(%esp)
5a1c6c:	8b c2                	mov    %edx,%eax
5a1c6e:	c1 e8 10             	shr    $0x10,%eax
5a1c71:	88 44 24 4e          	mov    %al,0x4e(%esp)
5a1c75:	88 54 24 4c          	mov    %dl,0x4c(%esp)
5a1c79:	c1 ea 18             	shr    $0x18,%edx
5a1c7c:	88 54 24 4f          	mov    %dl,0x4f(%esp)
5a1c80:	8b 54 24 24          	mov    0x24(%esp),%edx
5a1c84:	8b c2                	mov    %edx,%eax
5a1c86:	c1 e8 08             	shr    $0x8,%eax
5a1c89:	88 44 24 51          	mov    %al,0x51(%esp)
5a1c8d:	8b c2                	mov    %edx,%eax
5a1c8f:	c1 e8 10             	shr    $0x10,%eax
5a1c92:	88 5c 24 48          	mov    %bl,0x48(%esp)
5a1c96:	c1 eb 18             	shr    $0x18,%ebx
5a1c99:	88 44 24 52          	mov    %al,0x52(%esp)
5a1c9d:	33 c0                	xor    %eax,%eax
5a1c9f:	88 4c 24 44          	mov    %cl,0x44(%esp)
5a1ca3:	c1 e9 18             	shr    $0x18,%ecx
5a1ca6:	88 5c 24 4b          	mov    %bl,0x4b(%esp)
5a1caa:	8b 5c 24 18          	mov    0x18(%esp),%ebx
5a1cae:	88 54 24 50          	mov    %dl,0x50(%esp)
5a1cb2:	c1 ea 18             	shr    $0x18,%edx
5a1cb5:	85 db                	test   %ebx,%ebx
5a1cb7:	88 4c 24 47          	mov    %cl,0x47(%esp)
5a1cbb:	0f 95 c0             	setne  %al
5a1cbe:	88 54 24 53          	mov    %dl,0x53(%esp)
5a1cc2:	83 c0 08             	add    $0x8,%eax
5a1cc5:	50                   	push   %eax
5a1cc6:	8b 44 24 68          	mov    0x68(%esp),%eax
5a1cca:	8b c0                	mov    %eax,%eax
5a1ccc:	85 c0                	test   %eax,%eax
5a1cce:	79 03                	jns    0x5a1cd3
5a1cd0:	83 c0 07             	add    $0x7,%eax
5a1cd3:	c1 f8 03             	sar    $0x3,%eax
5a1cd6:	8d 4c 24 48          	lea    0x48(%esp),%ecx
5a1cda:	03 c1                	add    %ecx,%eax
5a1cdc:	50                   	push   %eax
5a1cdd:	8b c1                	mov    %ecx,%eax
5a1cdf:	50                   	push   %eax
5a1ce0:	e8 9b 17 04 00       	call   0x5e3480
5a1ce5:	8a 54 24 51          	mov    0x51(%esp),%dl
5a1ce9:	83 c4 0c             	add    $0xc,%esp
5a1cec:	8a 64 24 47          	mov    0x47(%esp),%ah
5a1cf0:	8a 74 24 48          	mov    0x48(%esp),%dh
5a1cf4:	85 db                	test   %ebx,%ebx
5a1cf6:	0f 84 c8 00 00 00    	je     0x5a1dc4
5a1cfc:	8a cb                	mov    %bl,%cl
5a1cfe:	8a 6c 24 49          	mov    0x49(%esp),%ch
5a1d02:	8a 5c 24 44          	mov    0x44(%esp),%bl
5a1d06:	8a c2                	mov    %dl,%al
5a1d08:	d2 e3                	shl    %cl,%bl
5a1d0a:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
5a1d0e:	d2 e8                	shr    %cl,%al
5a1d10:	8a 4c 24 18          	mov    0x18(%esp),%cl
5a1d14:	0a d8                	or     %al,%bl
5a1d16:	d2 e2                	shl    %cl,%dl
5a1d18:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
5a1d1c:	8a 7c 24 4a          	mov    0x4a(%esp),%bh
5a1d20:	88 5c 24 11          	mov    %bl,0x11(%esp)
5a1d24:	88 5c 24 44          	mov    %bl,0x44(%esp)
5a1d28:	8a 5c 24 46          	mov    0x46(%esp),%bl
5a1d2c:	8a c3                	mov    %bl,%al
5a1d2e:	d2 e8                	shr    %cl,%al