5b8b96:	d1 fa                	sar    $1,%edx
5b8b98:	8b c2                	mov    %edx,%eax
5b8b9a:	c1 e8 1f             	shr    $0x1f,%eax
5b8b9d:	03 c2                	add    %edx,%eax
5b8b9f:	83 f8 01             	cmp    $0x1,%eax
5b8ba2:	0f 85 e1 02 00 00    	jne    0x5b8e89
5b8ba8:	8b 4f 04             	mov    0x4(%edi),%ecx
5b8bab:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8bb0:	8b 37                	mov    (%edi),%esi
5b8bb2:	2b ce                	sub    %esi,%ecx
5b8bb4:	f7 e9                	imul   %ecx
5b8bb6:	c1 fa 02             	sar    $0x2,%edx
5b8bb9:	8b c2                	mov    %edx,%eax
5b8bbb:	c1 e8 1f             	shr    $0x1f,%eax
5b8bbe:	03 c2                	add    %edx,%eax
5b8bc0:	83 f8 03             	cmp    $0x3,%eax
5b8bc3:	0f 85 c0 02 00 00    	jne    0x5b8e89
5b8bc9:	8b 56 14             	mov    0x14(%esi),%edx
5b8bcc:	8b ce                	mov    %esi,%ecx
5b8bce:	83 fa 10             	cmp    $0x10,%edx
5b8bd1:	72 02                	jb     0x5b8bd5
5b8bd3:	8b 0e                	mov    (%esi),%ecx
5b8bd5:	8b 46 10             	mov    0x10(%esi),%eax
5b8bd8:	03 c1                	add    %ecx,%eax
5b8bda:	83 fa 10             	cmp    $0x10,%edx
5b8bdd:	72 02                	jb     0x5b8be1
5b8bdf:	8b 36                	mov    (%esi),%esi
5b8be1:	8d 4d 8f             	lea    -0x71(%ebp),%ecx
5b8be4:	51                   	push   %ecx
5b8be5:	50                   	push   %eax
5b8be6:	56                   	push   %esi
5b8be7:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5b8bea:	e8 d1 ed ff ff       	call   0x5b79c0
5b8bef:	8b 45 0c             	mov    0xc(%ebp),%eax
5b8bf2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5b8bf6:	8b 08                	mov    (%eax),%ecx
5b8bf8:	83 c1 18             	add    $0x18,%ecx
5b8bfb:	8b d1                	mov    %ecx,%edx
5b8bfd:	8b 71 14             	mov    0x14(%ecx),%esi
5b8c00:	83 fe 10             	cmp    $0x10,%esi
5b8c03:	72 02                	jb     0x5b8c07
5b8c05:	8b 11                	mov    (%ecx),%edx
5b8c07:	8b 41 10             	mov    0x10(%ecx),%eax
5b8c0a:	03 c2                	add    %edx,%eax
5b8c0c:	83 fe 10             	cmp    $0x10,%esi
5b8c0f:	72 02                	jb     0x5b8c13
5b8c11:	8b 09                	mov    (%ecx),%ecx
5b8c13:	8d 55 8f             	lea    -0x71(%ebp),%edx
5b8c16:	52                   	push   %edx
5b8c17:	50                   	push   %eax
5b8c18:	51                   	push   %ecx
5b8c19:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5b8c1c:	e8 9f ed ff ff       	call   0x5b79c0
5b8c21:	8b 45 0c             	mov    0xc(%ebp),%eax
5b8c24:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5b8c28:	8b 00                	mov    (%eax),%eax
5b8c2a:	83 78 44 10          	cmpl   $0x10,0x44(%eax)
5b8c2e:	8d 48 30             	lea    0x30(%eax),%ecx
5b8c31:	72 03                	jb     0x5b8c36
5b8c33:	8b 48 30             	mov    0x30(%eax),%ecx
5b8c36:	83 78 40 01          	cmpl   $0x1,0x40(%eax)
5b8c3a:	75 18                	jne    0x5b8c54
5b8c3c:	0f b6 01             	movzbl (%ecx),%eax
5b8c3f:	3c 31                	cmp    $0x31,%al
5b8c41:	75 04                	jne    0x5b8c47
5b8c43:	33 c0                	xor    %eax,%eax
5b8c45:	eb 05                	jmp    0x5b8c4c
5b8c47:	1b c0                	sbb    %eax,%eax
5b8c49:	83 c8 01             	or     $0x1,%eax
5b8c4c:	c6 45 88 01          	movb   $0x1,-0x78(%ebp)
5b8c50:	85 c0                	test   %eax,%eax
5b8c52:	74 04                	je     0x5b8c58
5b8c54:	c6 45 88 00          	movb   $0x0,-0x78(%ebp)
5b8c58:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
5b8c5c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5b8c5f:	ff 75 88             	push   -0x78(%ebp)
5b8c62:	0f 43 4d a8          	cmovae -0x58(%ebp),%ecx
5b8c66:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
5b8c6c:	83 7d a4 08          	cmpl   $0x8,-0x5c(%ebp)
5b8c70:	8d 45 90             	lea    -0x70(%ebp),%eax
5b8c73:	52                   	push   %edx
5b8c74:	0f 43 45 90          	cmovae -0x70(%ebp),%eax
5b8c78:	51                   	push   %ecx
5b8c79:	50                   	push   %eax
5b8c7a:	68 01 00 00 80       	push   $0x80000001
5b8c7f:	c7 85 78 ff ff ff ff 	movl   $0xffffffff,-0x88(%ebp)
5b8c86:	ff ff ff
5b8c89:	e8 f2 b5 e9 ff       	call   0x454280
5b8c8e:	83 c4 14             	add    $0x14,%esp
5b8c91:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
5b8c98:	00 00 00
5b8c9b:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
5b8ca2:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
5b8ca9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5b8cad:	84 c0                	test   %al,%al
5b8caf:	0f 84 c4 01 00 00    	je     0x5b8e79
5b8cb5:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
5b8cbb:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5b8cc1:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
5b8cc7:	85 c0                	test   %eax,%eax
5b8cc9:	79 15                	jns    0x5b8ce0
5b8ccb:	f7 d8                	neg    %eax
5b8ccd:	50                   	push   %eax
5b8cce:	8d 45 ed             	lea    -0x13(%ebp),%eax
5b8cd1:	50                   	push   %eax
5b8cd2:	e8 09 ba e8 ff       	call   0x4446e0
5b8cd7:	c6 40 ff 2d          	movb   $0x2d,-0x1(%eax)
5b8cdb:	8d 48 ff             	lea    -0x1(%eax),%ecx
5b8cde:	eb 0c                	jmp    0x5b8cec
5b8ce0:	50                   	push   %eax
5b8ce1:	8d 45 ed             	lea    -0x13(%ebp),%eax
5b8ce4:	50                   	push   %eax
5b8ce5:	e8 f6 b9 e8 ff       	call   0x4446e0
5b8cea:	8b c8                	mov    %eax,%ecx
5b8cec:	8d 45 ed             	lea    -0x13(%ebp),%eax
5b8cef:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5b8cf6:	83 c4 08             	add    $0x8,%esp
5b8cf9:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
5b8d00:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
5b8d04:	3b c8                	cmp    %eax,%ecx
5b8d06:	74 0c                	je     0x5b8d14
5b8d08:	2b c1                	sub    %ecx,%eax
5b8d0a:	50                   	push   %eax
5b8d0b:	51                   	push   %ecx
5b8d0c:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5b8d0f:	e8 2c c5 e8 ff       	call   0x445240
5b8d14:	8d 45 c0             	lea    -0x40(%ebp),%eax
5b8d17:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5b8d1b:	50                   	push   %eax
5b8d1c:	6a 00                	push   $0x0
5b8d1e:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
5b8d24:	e8 27 b8 e8 ff       	call   0x444550
5b8d29:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5b8d2c:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5b8d30:	83 fa 10             	cmp    $0x10,%edx
5b8d33:	72 2c                	jb     0x5b8d61
5b8d35:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5b8d38:	42                   	inc    %edx
5b8d39:	8b c1                	mov    %ecx,%eax
5b8d3b:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5b8d41:	72 14                	jb     0x5b8d57
5b8d43:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5b8d46:	83 c2 23             	add    $0x23,%edx
5b8d49:	2b c1                	sub    %ecx,%eax
5b8d4b:	83 c0 fc             	add    $0xfffffffc,%eax
5b8d4e:	83 f8 1f             	cmp    $0x1f,%eax
5b8d51:	0f 87 56 01 00 00    	ja     0x5b8ead
5b8d57:	52                   	push   %edx
5b8d58:	51                   	push   %ecx
5b8d59:	e8 14 83 02 00       	call   0x5e1072
5b8d5e:	83 c4 08             	add    $0x8,%esp
5b8d61:	8b 7b 04             	mov    0x4(%ebx),%edi
5b8d64:	89 7d 88             	mov    %edi,-0x78(%ebp)
5b8d67:	3b 7b 08             	cmp    0x8(%ebx),%edi
5b8d6a:	0f 84 9d 00 00 00    	je     0x5b8e0d
5b8d70:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
5b8d76:	8b 45 80             	mov    -0x80(%ebp),%eax
5b8d79:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5b8d7f:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
5b8d86:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5b8d8d:	3b d8                	cmp    %eax,%ebx
5b8d8f:	74 70                	je     0x5b8e01
5b8d91:	8b c8                	mov    %eax,%ecx
5b8d93:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8d98:	2b cb                	sub    %ebx,%ecx
5b8d9a:	f7 e9                	imul   %ecx
5b8d9c:	8b cf                	mov    %edi,%ecx
5b8d9e:	c1 fa 02             	sar    $0x2,%edx
5b8da1:	8b f2                	mov    %edx,%esi
5b8da3:	c1 ee 1f             	shr    $0x1f,%esi
5b8da6:	03 f2                	add    %edx,%esi
5b8da8:	56                   	push   %esi
5b8da9:	e8 b2 c2 e8 ff       	call   0x445060
5b8dae:	8b 4d 88             	mov    -0x78(%ebp),%ecx
5b8db1:	8b f8                	mov    %eax,%edi
5b8db3:	8d 04 76             	lea    (%esi,%esi,2),%eax
5b8db6:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
5b8dbc:	89 39                	mov    %edi,(%ecx)
5b8dbe:	8d 04 c7             	lea    (%edi,%eax,8),%eax
5b8dc1:	89 79 04             	mov    %edi,0x4(%ecx)
5b8dc4:	89 41 08             	mov    %eax,0x8(%ecx)
5b8dc7:	8b f3                	mov    %ebx,%esi
5b8dc9:	89 7d e0             	mov    %edi,-0x20(%ebp)
5b8dcc:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5b8dcf:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5b8dd2:	8b 5d 80             	mov    -0x80(%ebp),%ebx
5b8dd5:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
5b8dd9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5b8de0:	56                   	push   %esi
5b8de1:	8b cf                	mov    %edi,%ecx
5b8de3:	e8 b8 3f e8 ff       	call   0x43cda0
5b8de8:	83 c7 18             	add    $0x18,%edi
5b8deb:	83 c6 18             	add    $0x18,%esi
5b8dee:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5b8df1:	3b f3                	cmp    %ebx,%esi
5b8df3:	75 eb                	jne    0x5b8de0
5b8df5:	8b 45 88             	mov    -0x78(%ebp),%eax
5b8df8:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
5b8dfe:	89 78 04             	mov    %edi,0x4(%eax)
5b8e01:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
5b8e07:	83 40 04 0c          	addl   $0xc,0x4(%eax)
5b8e0b:	eb 15                	jmp    0x5b8e22
5b8e0d:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5b8e13:	8b cb                	mov    %ebx,%ecx
5b8e15:	50                   	push   %eax
5b8e16:	57                   	push   %edi
5b8e17:	e8 34 b0 e9 ff       	call   0x453e50
5b8e1c:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
5b8e22:	85 db                	test   %ebx,%ebx
5b8e24:	74 53                	je     0x5b8e79
5b8e26:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
5b8e2c:	51                   	push   %ecx
5b8e2d:	ff 75 80             	push   -0x80(%ebp)
5b8e30:	53                   	push   %ebx
5b8e31:	e8 7a b4 e8 ff       	call   0x4442b0
5b8e36:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5b8e39:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8e3e:	2b cb                	sub    %ebx,%ecx
5b8e40:	83 c4 0c             	add    $0xc,%esp
5b8e43:	f7 e9                	imul   %ecx
5b8e45:	c1 fa 02             	sar    $0x2,%edx
5b8e48:	8b c2                	mov    %edx,%eax
5b8e4a:	c1 e8 1f             	shr    $0x1f,%eax
5b8e4d:	03 c2                	add    %edx,%eax
5b8e4f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b8e52:	8b c3                	mov    %ebx,%eax
5b8e54:	c1 e1 03             	shl    $0x3,%ecx
5b8e57:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b8e5d:	72 10                	jb     0x5b8e6f
5b8e5f:	8b 5b fc             	mov    -0x4(%ebx),%ebx
5b8e62:	83 c1 23             	add    $0x23,%ecx
5b8e65:	2b c3                	sub    %ebx,%eax
5b8e67:	83 c0 fc             	add    $0xfffffffc,%eax
5b8e6a:	83 f8 1f             	cmp    $0x1f,%eax
5b8e6d:	77 3e                	ja     0x5b8ead
5b8e6f:	51                   	push   %ecx
5b8e70:	53                   	push   %ebx
5b8e71:	e8 fc 81 02 00       	call   0x5e1072
5b8e76:	83 c4 08             	add    $0x8,%esp
5b8e79:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5b8e7c:	e8 3f f7 e7 ff       	call   0x4385c0
5b8e81:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5b8e84:	e8 37 f7 e7 ff       	call   0x4385c0
5b8e89:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5b8e8c:	e8 7f bd e8 ff       	call   0x444c10
5b8e91:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5b8e94:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5b8e9b:	59                   	pop    %ecx
5b8e9c:	5f                   	pop    %edi
5b8e9d:	5e                   	pop    %esi
5b8e9e:	5b                   	pop    %ebx
5b8e9f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5b8ea2:	33 cd                	xor    %ebp,%ecx
5b8ea4:	e8 31 86 02 00       	call   0x5e14da
5b8ea9:	8b e5                	mov    %ebp,%esp
5b8eab:	5d                   	pop    %ebp
5b8eac:	c3                   	ret
5b8ead:	e8 7d 40 03 00       	call   0x5ecf2f
5b8eb2:	cc                   	int3
5b8eb3:	cc                   	int3
5b8eb4:	cc                   	int3
5b8eb5:	cc                   	int3
5b8eb6:	cc                   	int3
5b8eb7:	cc                   	int3
5b8eb8:	cc                   	int3
5b8eb9:	cc                   	int3
5b8eba:	cc                   	int3
5b8ebb:	cc                   	int3
5b8ebc:	cc                   	int3
5b8ebd:	cc                   	int3
5b8ebe:	cc                   	int3
5b8ebf:	cc                   	int3
5b8ec0:	55                   	push   %ebp
5b8ec1:	8b ec                	mov    %esp,%ebp
5b8ec3:	6a ff                	push   $0xffffffff
5b8ec5:	68 1e e9 65 00       	push   $0x65e91e
5b8eca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5b8ed0:	50                   	push   %eax
5b8ed1:	81 ec 30 01 00 00    	sub    $0x130,%esp
5b8ed7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5b8edc:	33 c5                	xor    %ebp,%eax
5b8ede:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b8ee1:	53                   	push   %ebx
5b8ee2:	56                   	push   %esi
5b8ee3:	57                   	push   %edi
5b8ee4:	50                   	push   %eax
5b8ee5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5b8ee8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5b8eee:	8b 45 08             	mov    0x8(%ebp),%eax
5b8ef1:	8b 7d 10             	mov    0x10(%ebp),%edi
5b8ef4:	48                   	dec    %eax
5b8ef5:	8b 5d 14             	mov    0x14(%ebp),%ebx
5b8ef8:	8b 75 0c             	mov    0xc(%ebp),%esi
5b8efb:	89 bd e4 fe ff ff    	mov    %edi,-0x11c(%ebp)
5b8f01:	89 9d e0 fe ff ff    	mov    %ebx,-0x120(%ebp)
5b8f07:	83 f8 11             	cmp    $0x11,%eax
5b8f0a:	0f 87 95 13 00 00    	ja     0x5ba2a5
5b8f10:	ff 24 85 d8 a2 5b 00 	jmp    *0x5ba2d8(,%eax,4)
5b8f17:	c7 85 50 ff ff ff 00 	movl   $0x0,-0xb0(%ebp)
5b8f1e:	00 00 00
5b8f21:	c7 85 54 ff ff ff 0f 	movl   $0xf,-0xac(%ebp)
5b8f28:	00 00 00
5b8f2b:	c6 85 40 ff ff ff 00 	movb   $0x0,-0xc0(%ebp)
5b8f32:	8b 4e 04             	mov    0x4(%esi),%ecx
5b8f35:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8f3a:	2b 0e                	sub    (%esi),%ecx
5b8f3c:	f7 e9                	imul   %ecx
5b8f3e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5b8f45:	d1 fa                	sar    $1,%edx
5b8f47:	8b c2                	mov    %edx,%eax
5b8f49:	c1 e8 1f             	shr    $0x1f,%eax
5b8f4c:	03 c2                	add    %edx,%eax
5b8f4e:	83 f8 01             	cmp    $0x1,%eax
5b8f51:	0f 85 f0 08 00 00    	jne    0x5b9847
5b8f57:	8b 0e                	mov    (%esi),%ecx
5b8f59:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b8f5e:	8b 31                	mov    (%ecx),%esi
5b8f60:	8b 49 04             	mov    0x4(%ecx),%ecx
5b8f63:	2b ce                	sub    %esi,%ecx
5b8f65:	f7 e9                	imul   %ecx
5b8f67:	c1 fa 02             	sar    $0x2,%edx
5b8f6a:	8b c2                	mov    %edx,%eax
5b8f6c:	c1 e8 1f             	shr    $0x1f,%eax
5b8f6f:	03 c2                	add    %edx,%eax
5b8f71:	83 f8 02             	cmp    $0x2,%eax
5b8f74:	0f 85 cd 08 00 00    	jne    0x5b9847
5b8f7a:	83 7e 2c 10          	cmpl   $0x10,0x2c(%esi)
5b8f7e:	8d 46 18             	lea    0x18(%esi),%eax
5b8f81:	72 02                	jb     0x5b8f85
5b8f83:	8b 00                	mov    (%eax),%eax
5b8f85:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
5b8f89:	72 02                	jb     0x5b8f8d
5b8f8b:	8b 36                	mov    (%esi),%esi
5b8f8d:	6a 01                	push   $0x1
5b8f8f:	50                   	push   %eax
5b8f90:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5b8f96:	56                   	push   %esi
5b8f97:	50                   	push   %eax
5b8f98:	e8 b3 95 ff ff       	call   0x5b2550
5b8f9d:	83 c4 10             	add    $0x10,%esp
5b8fa0:	89 07                	mov    %eax,(%edi)
5b8fa2:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
5b8fa9:	00 00 00
5b8fac:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
5b8fb3:	00 00 00
5b8fb6:	c7 85 f0 fe ff ff 00 	movl   $0x0,-0x110(%ebp)
5b8fbd:	00 00 00
5b8fc0:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5b8fc6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5b8fca:	50                   	push   %eax