140d57f11:	4c 2b c9             	sub    %rcx,%r9
140d57f14:	48 c1 ea 3f          	shr    $0x3f,%rdx
140d57f18:	49 c1 e9 3f          	shr    $0x3f,%r9
140d57f1c:	48 f7 da             	neg    %rdx
140d57f1f:	4a 23 54 dd 00       	and    0x0(%rbp,%r11,8),%rdx
140d57f24:	49 f7 d9             	neg    %r9
140d57f27:	4d 23 0c fc          	and    (%r12,%rdi,8),%r9
140d57f2b:	48 8b ca             	mov    %rdx,%rcx
140d57f2e:	49 2b c9             	sub    %r9,%rcx
140d57f31:	49 2b ca             	sub    %r10,%rcx
140d57f34:	4a 89 0c c0          	mov    %rcx,(%rax,%r8,8)
140d57f38:	49 3b d1             	cmp    %r9,%rdx
140d57f3b:	74 0a                	je     0x140d57f47
140d57f3d:	45 33 d2             	xor    %r10d,%r10d
140d57f40:	49 3b d1             	cmp    %r9,%rdx
140d57f43:	41 0f 92 c2          	setb   %r10b
140d57f47:	49 63 4e 0c          	movslq 0xc(%r14),%rcx
140d57f4b:	49 ff c0             	inc    %r8
140d57f4e:	49 8b d0             	mov    %r8,%rdx
140d57f51:	48 2b d1             	sub    %rcx,%rdx
140d57f54:	48 63 4e 0c          	movslq 0xc(%rsi),%rcx
140d57f58:	48 c1 ea 3f          	shr    $0x3f,%rdx
140d57f5c:	4c 03 da             	add    %rdx,%r11
140d57f5f:	49 8b d0             	mov    %r8,%rdx
140d57f62:	48 2b d1             	sub    %rcx,%rdx
140d57f65:	48 c1 ea 3f          	shr    $0x3f,%rdx
140d57f69:	48 03 fa             	add    %rdx,%rdi
140d57f6c:	4c 3b c3             	cmp    %rbx,%r8
140d57f6f:	72 8f                	jb     0x140d57f00
140d57f71:	4c 8b 5c 24 68       	mov    0x68(%rsp),%r11
140d57f76:	49 8b f2             	mov    %r10,%rsi
140d57f79:	48 f7 de             	neg    %rsi
140d57f7c:	45 33 c9             	xor    %r9d,%r9d
140d57f7f:	4c 8b c0             	mov    %rax,%r8
140d57f82:	48 8b fb             	mov    %rbx,%rdi
140d57f85:	4d 8b 1b             	mov    (%r11),%r11
140d57f88:	49 8b eb             	mov    %r11,%rbp
140d57f8b:	48 2b e8             	sub    %rax,%rbp
140d57f8e:	66 90                	xchg   %ax,%ax
140d57f90:	49 8b 14 28          	mov    (%r8,%rbp,1),%rdx
140d57f94:	4d 8d 40 08          	lea    0x8(%r8),%r8
140d57f98:	33 c9                	xor    %ecx,%ecx
140d57f9a:	48 23 d6             	and    %rsi,%rdx
140d57f9d:	49 03 d1             	add    %r9,%rdx
140d57fa0:	49 01 50 f8          	add    %rdx,-0x8(%r8)
140d57fa4:	49 3b d1             	cmp    %r9,%rdx
140d57fa7:	0f 92 c1             	setb   %cl
140d57faa:	49 39 50 f8          	cmp    %rdx,-0x8(%r8)
140d57fae:	4c 8b c9             	mov    %rcx,%r9
140d57fb1:	49 83 d1 00          	adc    $0x0,%r9
140d57fb5:	48 83 ef 01          	sub    $0x1,%rdi
140d57fb9:	75 d5                	jne    0x140d57f90
140d57fbb:	4d 2b ca             	sub    %r10,%r9
140d57fbe:	45 33 c0             	xor    %r8d,%r8d
140d57fc1:	4c 2b d8             	sub    %rax,%r11
140d57fc4:	0f 1f 40 00          	nopl   0x0(%rax)
140d57fc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140d57fcf:	00
140d57fd0:	4a 8b 14 18          	mov    (%rax,%r11,1),%rdx
140d57fd4:	48 8d 40 08          	lea    0x8(%rax),%rax
140d57fd8:	33 c9                	xor    %ecx,%ecx
140d57fda:	49 23 d1             	and    %r9,%rdx
140d57fdd:	49 03 d0             	add    %r8,%rdx
140d57fe0:	48 01 50 f8          	add    %rdx,-0x8(%rax)
140d57fe4:	49 3b d0             	cmp    %r8,%rdx
140d57fe7:	0f 92 c1             	setb   %cl
140d57fea:	48 39 50 f8          	cmp    %rdx,-0x8(%rax)
140d57fee:	4c 8b c1             	mov    %rcx,%r8
140d57ff1:	49 83 d0 00          	adc    $0x0,%r8
140d57ff5:	48 83 eb 01          	sub    $0x1,%rbx
140d57ff9:	75 d5                	jne    0x140d57fd0
140d57ffb:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
140d58000:	b8 01 00 00 00       	mov    $0x1,%eax
140d58005:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140d5800a:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d5800f:	45 89 6f 08          	mov    %r13d,0x8(%r15)
140d58013:	41 c7 47 10 00 00 00 	movl   $0x0,0x10(%r15)
140d5801a:	00
140d5801b:	48 83 c4 20          	add    $0x20,%rsp
140d5801f:	41 5f                	pop    %r15
140d58021:	41 5e                	pop    %r14
140d58023:	41 5d                	pop    %r13
140d58025:	5e                   	pop    %rsi
140d58026:	5b                   	pop    %rbx
140d58027:	c3                   	ret
140d58028:	cc                   	int3
140d58029:	cc                   	int3
140d5802a:	cc                   	int3
140d5802b:	cc                   	int3
140d5802c:	cc                   	int3
140d5802d:	cc                   	int3
140d5802e:	cc                   	int3
140d5802f:	cc                   	int3
140d58030:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d58035:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140d5803a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140d5803f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d58044:	41 56                	push   %r14
140d58046:	b8 30 00 00 00       	mov    $0x30,%eax
140d5804b:	e8 50 34 0c 00       	call   0x140e1b4a0
140d58050:	48 2b e0             	sub    %rax,%rsp
140d58053:	49 8b f9             	mov    %r9,%rdi
140d58056:	49 8b f0             	mov    %r8,%rsi
140d58059:	48 8b ea             	mov    %rdx,%rbp
140d5805c:	4c 8b f1             	mov    %rcx,%r14
140d5805f:	e8 0c 44 03 00       	call   0x140d8c470
140d58064:	48 8b c8             	mov    %rax,%rcx
140d58067:	e8 74 01 f8 ff       	call   0x140cd81e0
140d5806c:	48 8b d8             	mov    %rax,%rbx
140d5806f:	48 85 c0             	test   %rax,%rax
140d58072:	74 22                	je     0x140d58096
140d58074:	4c 8b ce             	mov    %rsi,%r9
140d58077:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d5807c:	4c 8b c5             	mov    %rbp,%r8
140d5807f:	49 8b d6             	mov    %r14,%rdx
140d58082:	48 8b c8             	mov    %rax,%rcx
140d58085:	e8 e6 02 f8 ff       	call   0x140cd8370
140d5808a:	85 c0                	test   %eax,%eax
140d5808c:	75 0c                	jne    0x140d5809a
140d5808e:	48 8b cb             	mov    %rbx,%rcx
140d58091:	e8 ba f6 f7 ff       	call   0x140cd7750
140d58096:	33 c0                	xor    %eax,%eax
140d58098:	eb 03                	jmp    0x140d5809d
140d5809a:	48 8b c3             	mov    %rbx,%rax
140d5809d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140d580a2:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140d580a7:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140d580ac:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140d580b1:	48 83 c4 30          	add    $0x30,%rsp
140d580b5:	41 5e                	pop    %r14
140d580b7:	c3                   	ret
140d580b8:	cc                   	int3
140d580b9:	cc                   	int3
140d580ba:	cc                   	int3
140d580bb:	cc                   	int3
140d580bc:	cc                   	int3
140d580bd:	cc                   	int3
140d580be:	cc                   	int3
140d580bf:	cc                   	int3
140d580c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d580c5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140d580ca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140d580cf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d580d4:	41 56                	push   %r14
140d580d6:	b8 30 00 00 00       	mov    $0x30,%eax
140d580db:	e8 c0 33 0c 00       	call   0x140e1b4a0
140d580e0:	48 2b e0             	sub    %rax,%rsp
140d580e3:	49 8b f9             	mov    %r9,%rdi
140d580e6:	49 8b f0             	mov    %r8,%rsi
140d580e9:	48 8b ea             	mov    %rdx,%rbp
140d580ec:	4c 8b f1             	mov    %rcx,%r14
140d580ef:	e8 dc d7 00 00       	call   0x140d658d0
140d580f4:	48 8b c8             	mov    %rax,%rcx
140d580f7:	e8 e4 00 f8 ff       	call   0x140cd81e0
140d580fc:	48 8b d8             	mov    %rax,%rbx
140d580ff:	48 85 c0             	test   %rax,%rax
140d58102:	74 22                	je     0x140d58126
140d58104:	4c 8b ce             	mov    %rsi,%r9
140d58107:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d5810c:	4c 8b c5             	mov    %rbp,%r8
140d5810f:	49 8b d6             	mov    %r14,%rdx
140d58112:	48 8b c8             	mov    %rax,%rcx
140d58115:	e8 56 02 f8 ff       	call   0x140cd8370
140d5811a:	85 c0                	test   %eax,%eax
140d5811c:	75 0c                	jne    0x140d5812a
140d5811e:	48 8b cb             	mov    %rbx,%rcx
140d58121:	e8 2a f6 f7 ff       	call   0x140cd7750
140d58126:	33 c0                	xor    %eax,%eax
140d58128:	eb 03                	jmp    0x140d5812d
140d5812a:	48 8b c3             	mov    %rbx,%rax
140d5812d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140d58132:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140d58137:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140d5813c:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140d58141:	48 83 c4 30          	add    $0x30,%rsp
140d58145:	41 5e                	pop    %r14
140d58147:	c3                   	ret
140d58148:	cc                   	int3
140d58149:	cc                   	int3
140d5814a:	cc                   	int3
140d5814b:	cc                   	int3
140d5814c:	cc                   	int3
140d5814d:	cc                   	int3
140d5814e:	cc                   	int3
140d5814f:	cc                   	int3
140d58150:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140d58155:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140d5815a:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140d5815f:	56                   	push   %rsi
140d58160:	57                   	push   %rdi
140d58161:	41 54                	push   %r12
140d58163:	41 56                	push   %r14
140d58165:	41 57                	push   %r15
140d58167:	b8 30 00 00 00       	mov    $0x30,%eax
140d5816c:	e8 2f 33 0c 00       	call   0x140e1b4a0
140d58171:	48 2b e0             	sub    %rax,%rsp
140d58174:	b8 01 00 00 00       	mov    $0x1,%eax
140d58179:	4c 8b f9             	mov    %rcx,%r15
140d5817c:	33 ed                	xor    %ebp,%ebp
140d5817e:	89 44 24 20          	mov    %eax,0x20(%rsp)
140d58182:	49 8b c8             	mov    %r8,%rcx
140d58185:	8b d8                	mov    %eax,%ebx
140d58187:	8b f5                	mov    %ebp,%esi
140d58189:	4d 8b f1             	mov    %r9,%r14
140d5818c:	4d 8b e0             	mov    %r8,%r12
140d5818f:	48 8b fa             	mov    %rdx,%rdi
140d58192:	e8 29 df f7 ff       	call   0x140cd60c0
140d58197:	85 c0                	test   %eax,%eax
140d58199:	74 1e                	je     0x140d581b9
140d5819b:	48 8b d7             	mov    %rdi,%rdx
140d5819e:	49 8b cf             	mov    %r15,%rcx
140d581a1:	e8 1a dc f7 ff       	call   0x140cd5dc0
140d581a6:	48 85 c0             	test   %rax,%rax
140d581a9:	41 89 6f 10          	mov    %ebp,0x10(%r15)
140d581ad:	8b cd                	mov    %ebp,%ecx
140d581af:	0f 95 c1             	setne  %cl
140d581b2:	8b c1                	mov    %ecx,%eax
140d581b4:	e9 92 02 00 00       	jmp    0x140d5844b
140d581b9:	48 8b cf             	mov    %rdi,%rcx
140d581bc:	e8 ff de f7 ff       	call   0x140cd60c0
140d581c1:	85 c0                	test   %eax,%eax
140d581c3:	74 1e                	je     0x140d581e3
140d581c5:	49 8b d4             	mov    %r12,%rdx
140d581c8:	49 8b cf             	mov    %r15,%rcx
140d581cb:	e8 f0 db f7 ff       	call   0x140cd5dc0
140d581d0:	48 85 c0             	test   %rax,%rax
140d581d3:	41 89 6f 10          	mov    %ebp,0x10(%r15)
140d581d7:	8b cd                	mov    %ebp,%ecx
140d581d9:	0f 95 c1             	setne  %cl
140d581dc:	8b c1                	mov    %ecx,%eax
140d581de:	e9 68 02 00 00       	jmp    0x140d5844b
140d581e3:	49 8b ce             	mov    %r14,%rcx
140d581e6:	e8 55 61 fc ff       	call   0x140d1e340
140d581eb:	49 8b ce             	mov    %r14,%rcx
140d581ee:	e8 ad 5e fc ff       	call   0x140d1e0a0
140d581f3:	49 8b ce             	mov    %r14,%rcx
140d581f6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140d581fb:	e8 a0 5e fc ff       	call   0x140d1e0a0
140d58200:	4c 8b f0             	mov    %rax,%r14
140d58203:	48 85 c0             	test   %rax,%rax
140d58206:	0f 84 33 02 00 00    	je     0x140d5843f
140d5820c:	49 8b d4             	mov    %r12,%rdx
140d5820f:	48 8b c8             	mov    %rax,%rcx
140d58212:	e8 f9 33 fc ff       	call   0x140d1b610
140d58217:	85 c0                	test   %eax,%eax
140d58219:	0f 84 20 02 00 00    	je     0x140d5843f
140d5821f:	48 8b d7             	mov    %rdi,%rdx
140d58222:	49 8b cf             	mov    %r15,%rcx
140d58225:	e8 e6 33 fc ff       	call   0x140d1b610
140d5822a:	85 c0                	test   %eax,%eax
140d5822c:	0f 84 0d 02 00 00    	je     0x140d5843f
140d58232:	41 8b 7f 0c          	mov    0xc(%r15),%edi
140d58236:	44 8b dd             	mov    %ebp,%r11d
140d58239:	85 ff                	test   %edi,%edi
140d5823b:	7e 69                	jle    0x140d582a6
140d5823d:	4d 63 66 0c          	movslq 0xc(%r14),%r12
140d58241:	4c 8b d5             	mov    %rbp,%r10
140d58244:	4d 3b d4             	cmp    %r12,%r10
140d58247:	7d 5d                	jge    0x140d582a6
140d58249:	49 8b 06             	mov    (%r14),%rax
140d5824c:	44 8b c5             	mov    %ebp,%r8d
140d5824f:	49 8b 17             	mov    (%r15),%rdx
140d58252:	41 b9 10 00 00 00    	mov    $0x10,%r9d
140d58258:	4a 8b 0c d0          	mov    (%rax,%r10,8),%rcx
140d5825c:	4a 8b 04 d2          	mov    (%rdx,%r10,8),%rax
140d58260:	8b d5                	mov    %ebp,%edx
140d58262:	48 0b c1             	or     %rcx,%rax
140d58265:	8b cd                	mov    %ebp,%ecx
140d58267:	48 f7 d0             	not    %rax
140d5826a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140d58270:	23 d8                	and    %eax,%ebx
140d58272:	48 d1 e8             	shr    $1,%rax
140d58275:	03 f3                	add    %ebx,%esi
140d58277:	23 d8                	and    %eax,%ebx
140d58279:	48 d1 e8             	shr    $1,%rax
140d5827c:	44 03 c3             	add    %ebx,%r8d
140d5827f:	23 d8                	and    %eax,%ebx
140d58281:	48 d1 e8             	shr    $1,%rax
140d58284:	03 d3                	add    %ebx,%edx
140d58286:	23 d8                	and    %eax,%ebx
140d58288:	03 cb                	add    %ebx,%ecx
140d5828a:	48 d1 e8             	shr    $1,%rax
140d5828d:	49 83 e9 01          	sub    $0x1,%r9
140d58291:	75 dd                	jne    0x140d58270
140d58293:	8d 04 11             	lea    (%rcx,%rdx,1),%eax
140d58296:	41 ff c3             	inc    %r11d
140d58299:	41 03 c0             	add    %r8d,%eax
140d5829c:	49 ff c2             	inc    %r10
140d5829f:	03 f0                	add    %eax,%esi
140d582a1:	44 3b df             	cmp    %edi,%r11d
140d582a4:	7c 9e                	jl     0x140d58244
140d582a6:	44 8b c6             	mov    %esi,%r8d
140d582a9:	49 8b d7             	mov    %r15,%rdx
140d582ac:	49 8b cf             	mov    %r15,%rcx
140d582af:	e8 0c 34 fc ff       	call   0x140d1b6c0
140d582b4:	85 c0                	test   %eax,%eax
140d582b6:	0f 84 83 01 00 00    	je     0x140d5843f
140d582bc:	44 8b c6             	mov    %esi,%r8d
140d582bf:	49 8b d6             	mov    %r14,%rdx
140d582c2:	49 8b ce             	mov    %r14,%rcx
140d582c5:	e8 f6 33 fc ff       	call   0x140d1b6c0
140d582ca:	85 c0                	test   %eax,%eax
140d582cc:	0f 84 6d 01 00 00    	je     0x140d5843f
140d582d2:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
140d582d7:	49 8b cf             	mov    %r15,%rcx
140d582da:	45 8b 6f 08          	mov    0x8(%r15),%r13d
140d582de:	45 3b 6e 08          	cmp    0x8(%r14),%r13d
140d582e2:	45 0f 4c 6e 08       	cmovl  0x8(%r14),%r13d
140d582e7:	41 ff c5             	inc    %r13d
140d582ea:	41 8b d5             	mov    %r13d,%edx
140d582ed:	e8 de e7 f7 ff       	call   0x140cd6ad0
140d582f2:	48 85 c0             	test   %rax,%rax
140d582f5:	0f 84 3f 01 00 00    	je     0x140d5843a
140d582fb:	41 8b d5             	mov    %r13d,%edx
140d582fe:	49 8b ce             	mov    %r14,%rcx
140d58301:	e8 ca e7 f7 ff       	call   0x140cd6ad0
140d58306:	48 85 c0             	test   %rax,%rax
140d58309:	0f 84 2b 01 00 00    	je     0x140d5843a
140d5830f:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140d58314:	41 8b d5             	mov    %r13d,%edx
140d58317:	e8 b4 e7 f7 ff       	call   0x140cd6ad0
140d5831c:	48 85 c0             	test   %rax,%rax
140d5831f:	0f 84 15 01 00 00    	je     0x140d5843a
140d58325:	49 8b 07             	mov    (%r15),%rax
140d58328:	45 8b cd             	mov    %r13d,%r9d
140d5832b:	4d 8b c6             	mov    %r14,%r8
140d5832e:	49 8b d7             	mov    %r15,%rdx
140d58331:	48 8b 08             	mov    (%rax),%rcx
140d58334:	48 f7 d1             	not    %rcx
140d58337:	83 e1 01             	and    $0x1,%ecx
140d5833a:	e8 11 d9 f7 ff       	call   0x140cd5c50
140d5833f:	49 8b cf             	mov    %r15,%rcx
140d58342:	e8 69 de f7 ff       	call   0x140cd61b0
140d58347:	49 8b ce             	mov    %r14,%rcx
140d5834a:	8b d8                	mov    %eax,%ebx
140d5834c:	e8 5f de f7 ff       	call   0x140cd61b0
140d58351:	3b d8                	cmp    %eax,%ebx
140d58353:	44 8b e5             	mov    %ebp,%r12d
140d58356:	0f 4d c3             	cmovge %ebx,%eax
140d58359:	8d 04 40             	lea    (%rax,%rax,2),%eax
140d5835c:	83 c0 04             	add    $0x4,%eax
140d5835f:	89 44 24 24          	mov    %eax,0x24(%rsp)
140d58363:	85 c0                	test   %eax,%eax
140d58365:	0f 8e a4 00 00 00    	jle    0x140d5840f
140d5836b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140d58370:	41 8b 4e 08          	mov    0x8(%r14),%ecx
140d58374:	45 8b cd             	mov    %r13d,%r9d
140d58377:	8b 7c 24 20          	mov    0x20(%rsp),%edi
140d5837b:	ff c9                	dec    %ecx
140d5837d:	c1 f9 1f             	sar    $0x1f,%ecx