180115b8f:	85 c0                	test   %eax,%eax
180115b91:	0f 84 fb 04 00 00    	je     0x180116092
180115b97:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180115b9c:	48 85 c0             	test   %rax,%rax
180115b9f:	75 07                	jne    0x180115ba8
180115ba1:	33 db                	xor    %ebx,%ebx
180115ba3:	e9 23 05 00 00       	jmp    0x1801160cb
180115ba8:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
180115bad:	48 8d 14 d8          	lea    (%rax,%rbx,8),%rdx
180115bb1:	4d 8b 4c 24 38       	mov    0x38(%r12),%r9
180115bb6:	49 8b c0             	mov    %r8,%rax
180115bb9:	48 0f af 44 24 58    	imul   0x58(%rsp),%rax
180115bbf:	4a 8d 3c c2          	lea    (%rdx,%r8,8),%rdi
180115bc3:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
180115bc8:	48 c1 e0 03          	shl    $0x3,%rax
180115bcc:	4a 8d 0c c7          	lea    (%rdi,%r8,8),%rcx
180115bd0:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
180115bd4:	4c 8b c2             	mov    %rdx,%r8
180115bd7:	48 03 c1             	add    %rcx,%rax
180115bda:	48 89 4d 88          	mov    %rcx,-0x78(%rbp)
180115bde:	49 8b 4c 24 50       	mov    0x50(%r12),%rcx
180115be3:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
180115be8:	48 8b d1             	mov    %rcx,%rdx
180115beb:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
180115bef:	48 ff c0             	inc    %rax
180115bf2:	48 89 7d b8          	mov    %rdi,-0x48(%rbp)
180115bf6:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180115bfb:	49 8b 04 24          	mov    (%r12),%rax
180115bff:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180115c04:	e8 7b a7 ff ff       	call   0x180110384
180115c09:	85 c0                	test   %eax,%eax
180115c0b:	74 22                	je     0x180115c2f
180115c0d:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
180115c12:	bb 01 00 00 00       	mov    $0x1,%ebx
180115c17:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
180115c1c:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180115c21:	e8 42 a9 ff ff       	call   0x180110568
180115c26:	85 c0                	test   %eax,%eax
180115c28:	75 07                	jne    0x180115c31
180115c2a:	44 8b e3             	mov    %ebx,%r12d
180115c2d:	eb 0d                	jmp    0x180115c3c
180115c2f:	33 db                	xor    %ebx,%ebx
180115c31:	45 33 e4             	xor    %r12d,%r12d
180115c34:	85 db                	test   %ebx,%ebx
180115c36:	0f 84 58 04 00 00    	je     0x180116094
180115c3c:	4d 85 f6             	test   %r14,%r14
180115c3f:	75 27                	jne    0x180115c68
180115c41:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
180115c46:	48 8b cf             	mov    %rdi,%rcx
180115c49:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
180115c4e:	4d 8b c6             	mov    %r14,%r8
180115c51:	49 c1 e0 03          	shl    $0x3,%r8
180115c55:	49 8b 57 50          	mov    0x50(%r15),%rdx
180115c59:	e8 62 fd 01 00       	call   0x1801359c0
180115c5e:	bb 01 00 00 00       	mov    $0x1,%ebx
180115c63:	e9 31 04 00 00       	jmp    0x180116099
180115c68:	45 85 e4             	test   %r12d,%r12d
180115c6b:	0f 85 fe 02 00 00    	jne    0x180115f6f
180115c71:	48 83 7c 24 68 04    	cmpq   $0x4,0x68(%rsp)
180115c77:	0f 86 f2 02 00 00    	jbe    0x180115f6f
180115c7d:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
180115c82:	45 33 f6             	xor    %r14d,%r14d
180115c85:	4c 8b 6d b0          	mov    -0x50(%rbp),%r13
180115c89:	48 ff c9             	dec    %rcx
180115c8c:	48 8b 7d 80          	mov    -0x80(%rbp),%rdi
180115c90:	45 33 ff             	xor    %r15d,%r15d
180115c93:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
180115c98:	33 d2                	xor    %edx,%edx
180115c9a:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
180115c9f:	4c 3b fe             	cmp    %rsi,%r15
180115ca2:	0f 84 81 00 00 00    	je     0x180115d29
180115ca8:	4c 8d 24 3a          	lea    (%rdx,%rdi,1),%r12
180115cac:	4d 3b e5             	cmp    %r13,%r12
180115caf:	49 8b c4             	mov    %r12,%rax
180115cb2:	49 0f 47 c5          	cmova  %r13,%rax
180115cb6:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
180115cbc:	48 ff c8             	dec    %rax
180115cbf:	48 3b c2             	cmp    %rdx,%rax
180115cc2:	72 2a                	jb     0x180115cee
180115cc4:	85 db                	test   %ebx,%ebx
180115cc6:	74 24                	je     0x180115cec
180115cc8:	48 8b 4d a8          	mov    -0x58(%rbp),%rcx
180115ccc:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
180115cd1:	48 2b c2             	sub    %rdx,%rax
180115cd4:	48 ff c0             	inc    %rax
180115cd7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180115cdc:	e8 8f b5 ff ff       	call   0x180111270
180115ce1:	85 c0                	test   %eax,%eax
180115ce3:	74 07                	je     0x180115cec
180115ce5:	bb 01 00 00 00       	mov    $0x1,%ebx
180115cea:	eb 02                	jmp    0x180115cee
180115cec:	33 db                	xor    %ebx,%ebx
180115cee:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
180115cf3:	49 8b d4             	mov    %r12,%rdx
180115cf6:	49 2b ce             	sub    %r14,%rcx
180115cf9:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
180115cfe:	48 8b c1             	mov    %rcx,%rax
180115d01:	48 f7 d8             	neg    %rax
180115d04:	48 23 44 24 68       	and    0x68(%rsp),%rax
180115d09:	4c 2b f0             	sub    %rax,%r14
180115d0c:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
180115d11:	4e 89 34 f8          	mov    %r14,(%rax,%r15,8)
180115d15:	4c 2b f1             	sub    %rcx,%r14
180115d18:	48 8b cf             	mov    %rdi,%rcx
180115d1b:	49 ff c7             	inc    %r15
180115d1e:	49 d3 ee             	shr    %cl,%r14
180115d21:	85 db                	test   %ebx,%ebx
180115d23:	0f 85 76 ff ff ff    	jne    0x180115c9f
180115d29:	48 8b 7d b8          	mov    -0x48(%rbp),%rdi
180115d2d:	4c 8b 6d c0          	mov    -0x40(%rbp),%r13
180115d31:	85 db                	test   %ebx,%ebx
180115d33:	0f 84 5b 03 00 00    	je     0x180116094
180115d39:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
180115d3e:	48 8d 04 f0          	lea    (%rax,%rsi,8),%rax
180115d42:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
180115d47:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
180115d4b:	ba 05 00 00 00       	mov    $0x5,%edx
180115d50:	49 83 fe 01          	cmp    $0x1,%r14
180115d54:	75 31                	jne    0x180115d87
180115d56:	48 85 f6             	test   %rsi,%rsi
180115d59:	74 2c                	je     0x180115d87
180115d5b:	48 39 08             	cmp    %rcx,(%rax)
180115d5e:	72 14                	jb     0x180115d74
180115d60:	48 ff ce             	dec    %rsi
180115d63:	4d 8b f4             	mov    %r12,%r14
180115d66:	4c 2b 30             	sub    (%rax),%r14
180115d69:	48 83 e8 08          	sub    $0x8,%rax
180115d6d:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
180115d72:	eb 0f                	jmp    0x180115d83
180115d74:	33 db                	xor    %ebx,%ebx
180115d76:	4d 85 ed             	test   %r13,%r13
180115d79:	0f 84 15 03 00 00    	je     0x180116094
180115d7f:	41 89 55 10          	mov    %edx,0x10(%r13)
180115d83:	85 db                	test   %ebx,%ebx
180115d85:	75 c9                	jne    0x180115d50
180115d87:	85 db                	test   %ebx,%ebx
180115d89:	0f 84 05 03 00 00    	je     0x180116094
180115d8f:	48 85 f6             	test   %rsi,%rsi
180115d92:	75 19                	jne    0x180115dad
180115d94:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
180115d99:	33 db                	xor    %ebx,%ebx
180115d9b:	4d 85 ed             	test   %r13,%r13
180115d9e:	0f 84 f5 02 00 00    	je     0x180116099
180115da4:	41 89 55 10          	mov    %edx,0x10(%r13)
180115da8:	e9 ec 02 00 00       	jmp    0x180116099
180115dad:	48 8b 75 c8          	mov    -0x38(%rbp),%rsi
180115db1:	33 d2                	xor    %edx,%edx
180115db3:	48 8b 5d 88          	mov    -0x78(%rbp),%rbx
180115db7:	4c 8b c6             	mov    %rsi,%r8
180115dba:	48 8b cb             	mov    %rbx,%rcx
180115dbd:	e8 be fe 01 00       	call   0x180135c80
180115dc2:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180115dc7:	48 8b cf             	mov    %rdi,%rcx
180115dca:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180115dcf:	4c 8b c0             	mov    %rax,%r8
180115dd2:	49 c1 e0 03          	shl    $0x3,%r8
180115dd6:	48 89 75 90          	mov    %rsi,-0x70(%rbp)
180115dda:	48 89 5d 88          	mov    %rbx,-0x78(%rbp)
180115dde:	4c 89 65 98          	mov    %r12,-0x68(%rbp)
180115de2:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
180115de6:	e8 d5 fb 01 00       	call   0x1801359c0
180115deb:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
180115def:	b8 01 00 00 00       	mov    $0x1,%eax
180115df4:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
180115df9:	33 db                	xor    %ebx,%ebx
180115dfb:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
180115e00:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180115e05:	85 c0                	test   %eax,%eax
180115e07:	74 1d                	je     0x180115e26
180115e09:	4d 8b cd             	mov    %r13,%r9
180115e0c:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180115e10:	4c 8b c7             	mov    %rdi,%r8
180115e13:	48 8b d3             	mov    %rbx,%rdx
180115e16:	e8 15 09 00 00       	call   0x180116730
180115e1b:	85 c0                	test   %eax,%eax
180115e1d:	74 07                	je     0x180115e26
180115e1f:	b8 01 00 00 00       	mov    $0x1,%eax
180115e24:	eb 02                	jmp    0x180115e28
180115e26:	33 c0                	xor    %eax,%eax
180115e28:	48 3b de             	cmp    %rsi,%rbx
180115e2b:	74 31                	je     0x180115e5e
180115e2d:	49 ff c6             	inc    %r14
180115e30:	85 c0                	test   %eax,%eax
180115e32:	74 28                	je     0x180115e5c
180115e34:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180115e39:	4d 8b cf             	mov    %r15,%r9
180115e3c:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115e41:	4c 8b c7             	mov    %rdi,%r8
180115e44:	48 8b cf             	mov    %rdi,%rcx
180115e47:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
180115e4c:	e8 4f d1 01 00       	call   0x180132fa0
180115e51:	85 c0                	test   %eax,%eax
180115e53:	74 07                	je     0x180115e5c
180115e55:	b8 01 00 00 00       	mov    $0x1,%eax
180115e5a:	eb 02                	jmp    0x180115e5e
180115e5c:	33 c0                	xor    %eax,%eax
180115e5e:	48 ff c3             	inc    %rbx
180115e61:	48 3b 5c 24 58       	cmp    0x58(%rsp),%rbx
180115e66:	75 9d                	jne    0x180115e05
180115e68:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180115e6d:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
180115e72:	85 c0                	test   %eax,%eax
180115e74:	74 22                	je     0x180115e98
180115e76:	49 8b 54 f6 f8       	mov    -0x8(%r14,%rsi,8),%rdx
180115e7b:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180115e7f:	48 ff ca             	dec    %rdx
180115e82:	4d 8b cd             	mov    %r13,%r9
180115e85:	4c 8b c7             	mov    %rdi,%r8
180115e88:	e8 ab 09 00 00       	call   0x180116838
180115e8d:	85 c0                	test   %eax,%eax
180115e8f:	74 07                	je     0x180115e98
180115e91:	bb 01 00 00 00       	mov    $0x1,%ebx
180115e96:	eb 02                	jmp    0x180115e9a
180115e98:	33 db                	xor    %ebx,%ebx
180115e9a:	48 83 ee 01          	sub    $0x1,%rsi
180115e9e:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
180115ea3:	0f 84 eb 01 00 00    	je     0x180116094
180115ea9:	4d 8d 34 f6          	lea    (%r14,%rsi,8),%r14
180115ead:	49 83 c6 f8          	add    $0xfffffffffffffff8,%r14
180115eb1:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180115eb6:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
180115eba:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
180115ebf:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
180115ec4:	85 db                	test   %ebx,%ebx
180115ec6:	74 26                	je     0x180115eee
180115ec8:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115ecd:	4d 8b ce             	mov    %r14,%r9
180115ed0:	4c 8b c7             	mov    %rdi,%r8
180115ed3:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
180115ed8:	48 8b d7             	mov    %rdi,%rdx
180115edb:	48 8b cf             	mov    %rdi,%rcx
180115ede:	e8 bd d0 01 00       	call   0x180132fa0
180115ee3:	85 c0                	test   %eax,%eax
180115ee5:	74 07                	je     0x180115eee
180115ee7:	bb 01 00 00 00       	mov    $0x1,%ebx
180115eec:	eb 02                	jmp    0x180115ef0
180115eee:	33 db                	xor    %ebx,%ebx
180115ef0:	49 83 ef 01          	sub    $0x1,%r15
180115ef4:	75 ce                	jne    0x180115ec4
180115ef6:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180115efb:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
180115f00:	85 db                	test   %ebx,%ebx
180115f02:	74 4a                	je     0x180115f4e
180115f04:	49 8b 16             	mov    (%r14),%rdx
180115f07:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180115f0b:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
180115f10:	48 ff ca             	dec    %rdx
180115f13:	4c 8b c3             	mov    %rbx,%r8
180115f16:	4d 8b cd             	mov    %r13,%r9
180115f19:	e8 1a 09 00 00       	call   0x180116838
180115f1e:	85 c0                	test   %eax,%eax
180115f20:	74 2c                	je     0x180115f4e
180115f22:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
180115f27:	4c 8b c7             	mov    %rdi,%r8
180115f2a:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180115f2f:	48 8b d3             	mov    %rbx,%rdx
180115f32:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115f37:	48 8b cf             	mov    %rdi,%rcx
180115f3a:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
180115f3f:	e8 5c d0 01 00       	call   0x180132fa0
180115f44:	85 c0                	test   %eax,%eax
180115f46:	74 06                	je     0x180115f4e
180115f48:	41 8d 5f 01          	lea    0x1(%r15),%ebx
180115f4c:	eb 02                	jmp    0x180115f50
180115f4e:	33 db                	xor    %ebx,%ebx
180115f50:	48 ff ce             	dec    %rsi
180115f53:	49 83 ee 08          	sub    $0x8,%r14
180115f57:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
180115f5c:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180115f61:	48 85 f6             	test   %rsi,%rsi
180115f64:	0f 85 4c ff ff ff    	jne    0x180115eb6
180115f6a:	e9 25 01 00 00       	jmp    0x180116094
180115f6f:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
180115f74:	48 8b cf             	mov    %rdi,%rcx
180115f77:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
180115f7c:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180115f81:	49 c1 e0 03          	shl    $0x3,%r8
180115f85:	48 89 7d 88          	mov    %rdi,-0x78(%rbp)
180115f89:	48 89 45 90          	mov    %rax,-0x70(%rbp)
180115f8d:	e8 2e fa 01 00       	call   0x1801359c0
180115f92:	48 8b 75 e0          	mov    -0x20(%rbp),%rsi
180115f96:	bb 01 00 00 00       	mov    $0x1,%ebx
180115f9b:	49 8b c7             	mov    %r15,%rax
180115f9e:	49 ff cf             	dec    %r15
180115fa1:	48 85 c0             	test   %rax,%rax
180115fa4:	0f 84 ea 00 00 00    	je     0x180116094
180115faa:	48 8b 45 a8          	mov    -0x58(%rbp),%rax
180115fae:	4c 0f a3 38          	bt     %r15,(%rax)
180115fb2:	48 ff c6             	inc    %rsi
180115fb5:	0f 92 c0             	setb   %al
180115fb8:	44 0f b6 f0          	movzbl %al,%r14d
180115fbc:	85 db                	test   %ebx,%ebx
180115fbe:	74 2d                	je     0x180115fed
180115fc0:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180115fc5:	4c 8b c7             	mov    %rdi,%r8
180115fc8:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180115fcd:	48 8b d7             	mov    %rdi,%rdx
180115fd0:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115fd5:	48 8b cf             	mov    %rdi,%rcx
180115fd8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180115fdd:	e8 be cf 01 00       	call   0x180132fa0
180115fe2:	85 c0                	test   %eax,%eax
180115fe4:	74 07                	je     0x180115fed
180115fe6:	bb 01 00 00 00       	mov    $0x1,%ebx
180115feb:	eb 02                	jmp    0x180115fef
180115fed:	33 db                	xor    %ebx,%ebx
180115fef:	45 85 e4             	test   %r12d,%r12d
180115ff2:	74 5b                	je     0x18011604f
180115ff4:	48 ff 44 24 38       	incq   0x38(%rsp)
180115ff9:	85 db                	test   %ebx,%ebx
180115ffb:	0f 84 91 00 00 00    	je     0x180116092
180116001:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
180116006:	48 8b d7             	mov    %rdi,%rdx
180116009:	4c 8b 44 24 78       	mov    0x78(%rsp),%r8
18011600e:	48 8b 01             	mov    (%rcx),%rax
180116011:	4c 8b 49 38          	mov    0x38(%rcx),%r9
180116015:	48 8b cf             	mov    %rdi,%rcx
180116018:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18011601d:	e8 62 a3 ff ff       	call   0x180110384
180116022:	85 c0                	test   %eax,%eax
180116024:	74 6c                	je     0x180116092
180116026:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18011602b:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
18011602f:	49 8b d6             	mov    %r14,%rdx
180116032:	49 c1 e0 03          	shl    $0x3,%r8
180116036:	48 c1 e2 03          	shl    $0x3,%rdx
18011603a:	48 2b ca             	sub    %rdx,%rcx
18011603d:	48 8b 54 15 88       	mov    -0x78(%rbp,%rdx,1),%rdx
180116042:	48 8b 09             	mov    (%rcx),%rcx
180116045:	e8 76 f9 01 00       	call   0x1801359c0
18011604a:	e9 47 ff ff ff       	jmp    0x180115f96
18011604f:	4d 85 f6             	test   %r14,%r14
180116052:	74 35                	je     0x180116089
180116054:	48 ff c6             	inc    %rsi
180116057:	85 db                	test   %ebx,%ebx
180116059:	74 2c                	je     0x180116087
18011605b:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180116060:	4c 8b c7             	mov    %rdi,%r8
180116063:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180116068:	48 8b cf             	mov    %rdi,%rcx
18011606b:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180116070:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180116075:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18011607a:	e8 21 cf 01 00       	call   0x180132fa0
18011607f:	85 c0                	test   %eax,%eax
180116081:	0f 85 0f ff ff ff    	jne    0x180115f96
180116087:	33 db                	xor    %ebx,%ebx
180116089:	85 db                	test   %ebx,%ebx
18011608b:	74 07                	je     0x180116094
18011608d:	e9 09 ff ff ff       	jmp    0x180115f9b