180113ed2:	48 85 c9             	test   %rcx,%rcx
180113ed5:	0f 84 6f 01 00 00    	je     0x18011404a
180113edb:	4d 85 c0             	test   %r8,%r8
180113ede:	0f 84 66 01 00 00    	je     0x18011404a
180113ee4:	48 85 d2             	test   %rdx,%rdx
180113ee7:	0f 84 4c 01 00 00    	je     0x180114039
180113eed:	4c 8b 44 d1 f8       	mov    -0x8(%rcx,%rdx,8),%r8
180113ef2:	4d 85 c0             	test   %r8,%r8
180113ef5:	0f 84 3e 01 00 00    	je     0x180114039
180113efb:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
180113f01:	49 8b c8             	mov    %r8,%rcx
180113f04:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
180113f0a:	e8 81 d2 ff ff       	call   0x180111190
180113f0f:	bd 40 00 00 00       	mov    $0x40,%ebp
180113f14:	48 2b e8             	sub    %rax,%rbp
180113f17:	48 83 fb 02          	cmp    $0x2,%rbx
180113f1b:	72 07                	jb     0x180113f24
180113f1d:	4c 8b 54 de f0       	mov    -0x10(%rsi,%rbx,8),%r10
180113f22:	eb 03                	jmp    0x180113f27
180113f24:	45 33 d2             	xor    %r10d,%r10d
180113f27:	48 83 fb 03          	cmp    $0x3,%rbx
180113f2b:	72 07                	jb     0x180113f34
180113f2d:	4c 8b 74 de e8       	mov    -0x18(%rsi,%rbx,8),%r14
180113f32:	eb 03                	jmp    0x180113f37
180113f34:	45 33 f6             	xor    %r14d,%r14d
180113f37:	49 8b d2             	mov    %r10,%rdx
180113f3a:	49 d1 ee             	shr    $1,%r14
180113f3d:	48 d1 ea             	shr    $1,%rdx
180113f40:	b8 3f 00 00 00       	mov    $0x3f,%eax
180113f45:	48 2b c5             	sub    %rbp,%rax
180113f48:	bf 01 00 00 00       	mov    $0x1,%edi
180113f4d:	48 8b c8             	mov    %rax,%rcx
180113f50:	89 7c 24 28          	mov    %edi,0x28(%rsp)
180113f54:	48 d3 ea             	shr    %cl,%rdx
180113f57:	48 8b cd             	mov    %rbp,%rcx
180113f5a:	49 d3 e0             	shl    %cl,%r8
180113f5d:	48 8b c8             	mov    %rax,%rcx
180113f60:	49 d3 ee             	shr    %cl,%r14
180113f63:	49 0b d0             	or     %r8,%rdx
180113f66:	48 8b cd             	mov    %rbp,%rcx
180113f69:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180113f6e:	49 d3 e2             	shl    %cl,%r10
180113f71:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
180113f76:	4d 0b f2             	or     %r10,%r14
180113f79:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
180113f7e:	48 8b c2             	mov    %rdx,%rax
180113f81:	49 8b ce             	mov    %r14,%rcx
180113f84:	48 f7 d1             	not    %rcx
180113f87:	48 f7 d0             	not    %rax
180113f8a:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
180113f8f:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
180113f94:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180113f99:	e8 46 f9 ff ff       	call   0x1801138e4
180113f9e:	85 c0                	test   %eax,%eax
180113fa0:	0f 84 8f 00 00 00    	je     0x180114035
180113fa6:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
180113fab:	49 8b c6             	mov    %r14,%rax
180113fae:	49 f7 e1             	mul    %r9
180113fb1:	48 3b 54 24 38       	cmp    0x38(%rsp),%rdx
180113fb6:	76 03                	jbe    0x180113fbb
180113fb8:	4c 2b cf             	sub    %rdi,%r9
180113fbb:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
180113fbf:	48 8b cd             	mov    %rbp,%rcx
180113fc2:	49 d3 e8             	shr    %cl,%r8
180113fc5:	4c 2b 44 de f8       	sub    -0x8(%rsi,%rbx,8),%r8
180113fca:	48 2b df             	sub    %rdi,%rbx
180113fcd:	4d 3b c1             	cmp    %r9,%r8
180113fd0:	73 5a                	jae    0x18011402c
180113fd2:	48 85 db             	test   %rbx,%rbx
180113fd5:	74 07                	je     0x180113fde
180113fd7:	48 8b 4c de f8       	mov    -0x8(%rsi,%rbx,8),%rcx
180113fdc:	eb 02                	jmp    0x180113fe0
180113fde:	33 c9                	xor    %ecx,%ecx
180113fe0:	48 8b 04 de          	mov    (%rsi,%rbx,8),%rax
180113fe4:	45 33 d2             	xor    %r10d,%r10d
180113fe7:	49 f7 e1             	mul    %r9
180113fea:	48 f7 d1             	not    %rcx
180113fed:	4c 8b f2             	mov    %rdx,%r14
180113ff0:	4c 8b d8             	mov    %rax,%r11
180113ff3:	49 3b d0             	cmp    %r8,%rdx
180113ff6:	75 05                	jne    0x180113ffd
180113ff8:	48 3b c1             	cmp    %rcx,%rax
180113ffb:	eb 03                	jmp    0x180114000
180113ffd:	4d 3b f0             	cmp    %r8,%r14
180114000:	41 0f 97 c2          	seta   %r10b
180114004:	49 8b d0             	mov    %r8,%rdx
180114007:	45 85 d2             	test   %r10d,%r10d
18011400a:	75 1d                	jne    0x180114029
18011400c:	33 c0                	xor    %eax,%eax
18011400e:	4c 8b c1             	mov    %rcx,%r8
180114011:	4d 2b c3             	sub    %r11,%r8
180114014:	49 3b cb             	cmp    %r11,%rcx
180114017:	0f 92 c0             	setb   %al
18011401a:	48 2b d0             	sub    %rax,%rdx
18011401d:	49 3b d6             	cmp    %r14,%rdx
180114020:	75 0a                	jne    0x18011402c
180114022:	48 85 db             	test   %rbx,%rbx
180114025:	75 a3                	jne    0x180113fca
180114027:	eb 03                	jmp    0x18011402c
180114029:	4c 2b cf             	sub    %rdi,%r9
18011402c:	49 89 6f 08          	mov    %rbp,0x8(%r15)
180114030:	4d 89 0f             	mov    %r9,(%r15)
180114033:	eb 24                	jmp    0x180114059
180114035:	33 ff                	xor    %edi,%edi
180114037:	eb 20                	jmp    0x180114059
180114039:	33 ff                	xor    %edi,%edi
18011403b:	4d 85 c9             	test   %r9,%r9
18011403e:	74 19                	je     0x180114059
180114040:	41 c7 41 10 06 00 00 	movl   $0x6,0x10(%r9)
180114047:	00
180114048:	eb 0f                	jmp    0x180114059
18011404a:	33 ff                	xor    %edi,%edi
18011404c:	4d 85 c9             	test   %r9,%r9
18011404f:	74 08                	je     0x180114059
180114051:	41 c7 41 10 0c 00 00 	movl   $0xc,0x10(%r9)
180114058:	00
180114059:	8b c7                	mov    %edi,%eax
18011405b:	48 83 c4 58          	add    $0x58,%rsp
18011405f:	41 5f                	pop    %r15
180114061:	41 5e                	pop    %r14
180114063:	5f                   	pop    %rdi
180114064:	5e                   	pop    %rsi
180114065:	5d                   	pop    %rbp
180114066:	5b                   	pop    %rbx
180114067:	c3                   	ret
180114068:	cc                   	int3
180114069:	cc                   	int3
18011406a:	cc                   	int3
18011406b:	cc                   	int3
18011406c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180114071:	57                   	push   %rdi
180114072:	48 83 ec 30          	sub    $0x30,%rsp
180114076:	49 8b f8             	mov    %r8,%rdi
180114079:	48 83 fa 10          	cmp    $0x10,%rdx
18011407d:	75 09                	jne    0x180114088
18011407f:	48 8d 1d c6 0a 00 00 	lea    0xac6(%rip),%rbx        # 0x180114b4c
180114086:	eb 16                	jmp    0x18011409e
180114088:	48 83 fa 20          	cmp    $0x20,%rdx
18011408c:	48 8d 1d f1 19 00 00 	lea    0x19f1(%rip),%rbx        # 0x180115a84
180114093:	48 8d 05 fe 11 00 00 	lea    0x11fe(%rip),%rax        # 0x180115298
18011409a:	48 0f 44 d8          	cmove  %rax,%rbx
18011409e:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1801140a3:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1801140a9:	4c 8b cf             	mov    %rdi,%r9
1801140ac:	e8 2b ee ff ff       	call   0x180112edc
1801140b1:	85 c0                	test   %eax,%eax
1801140b3:	74 15                	je     0x1801140ca
1801140b5:	48 83 67 78 00       	andq   $0x0,0x78(%rdi)
1801140ba:	b8 01 00 00 00       	mov    $0x1,%eax
1801140bf:	c7 47 1c 01 00 00 00 	movl   $0x1,0x1c(%rdi)
1801140c6:	48 89 5f 70          	mov    %rbx,0x70(%rdi)
1801140ca:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801140cf:	48 83 c4 30          	add    $0x30,%rsp
1801140d3:	5f                   	pop    %rdi
1801140d4:	c3                   	ret
1801140d5:	cc                   	int3
1801140d6:	cc                   	int3
1801140d7:	cc                   	int3
1801140d8:	48 83 ec 78          	sub    $0x78,%rsp
1801140dc:	48 8b 05 8d 88 05 00 	mov    0x5888d(%rip),%rax        # 0x18016c970
1801140e3:	48 33 c4             	xor    %rsp,%rax
1801140e6:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1801140eb:	4c 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%r10
1801140f2:	00
1801140f3:	4c 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%r11
1801140fa:	00
1801140fb:	49 8b 42 70          	mov    0x70(%r10),%rax
1801140ff:	48 85 c0             	test   %rax,%rax
180114102:	74 12                	je     0x180114116
180114104:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
180114109:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18011410e:	ff 15 ec ce 02 00    	call   *0x2ceec(%rip)        # 0x180141000
180114114:	eb 19                	jmp    0x18011412f
180114116:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
18011411b:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
180114120:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180114125:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18011412a:	e8 c1 1f 00 00       	call   0x1801160f0
18011412f:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
180114134:	48 33 cc             	xor    %rsp,%rcx
180114137:	e8 f0 19 f0 ff       	call   0x180015b2c
18011413c:	48 83 c4 78          	add    $0x78,%rsp
180114140:	c3                   	ret
180114141:	cc                   	int3
180114142:	cc                   	int3
180114143:	cc                   	int3
180114144:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180114149:	57                   	push   %rdi
18011414a:	48 83 ec 20          	sub    $0x20,%rsp
18011414e:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
180114152:	48 8b f9             	mov    %rcx,%rdi
180114155:	bb 01 00 00 00       	mov    $0x1,%ebx
18011415a:	74 11                	je     0x18011416d
18011415c:	33 db                	xor    %ebx,%ebx
18011415e:	4d 85 c0             	test   %r8,%r8
180114161:	74 31                	je     0x180114194
180114163:	41 c7 40 10 06 00 00 	movl   $0x6,0x10(%r8)
18011416a:	00
18011416b:	eb 27                	jmp    0x180114194
18011416d:	48 83 39 00          	cmpq   $0x0,(%rcx)
180114171:	75 21                	jne    0x180114194
180114173:	48 8b 49 08          	mov    0x8(%rcx),%rcx
180114177:	48 85 c9             	test   %rcx,%rcx
18011417a:	74 18                	je     0x180114194
18011417c:	48 c1 e1 03          	shl    $0x3,%rcx
180114180:	e8 cb 5c f8 ff       	call   0x180099e50
180114185:	48 89 07             	mov    %rax,(%rdi)
180114188:	48 85 c0             	test   %rax,%rax
18011418b:	75 04                	jne    0x180114191
18011418d:	33 db                	xor    %ebx,%ebx
18011418f:	eb 03                	jmp    0x180114194
180114191:	89 5f 10             	mov    %ebx,0x10(%rdi)
180114194:	8b c3                	mov    %ebx,%eax
180114196:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011419b:	48 83 c4 20          	add    $0x20,%rsp
18011419f:	5f                   	pop    %rdi
1801141a0:	c3                   	ret
1801141a1:	cc                   	int3
1801141a2:	cc                   	int3
1801141a3:	cc                   	int3
1801141a4:	48 8b c4             	mov    %rsp,%rax
1801141a7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1801141ab:	48 89 68 10          	mov    %rbp,0x10(%rax)
1801141af:	48 89 70 18          	mov    %rsi,0x18(%rax)
1801141b3:	57                   	push   %rdi
1801141b4:	41 56                	push   %r14
1801141b6:	41 57                	push   %r15
1801141b8:	48 83 ec 40          	sub    $0x40,%rsp
1801141bc:	49 8b 39             	mov    (%r9),%rdi
1801141bf:	4d 8b f8             	mov    %r8,%r15
1801141c2:	48 8b ac 24 88 00 00 	mov    0x88(%rsp),%rbp
1801141c9:	00
1801141ca:	4c 8b c2             	mov    %rdx,%r8
1801141cd:	4c 8b b4 24 80 00 00 	mov    0x80(%rsp),%r14
1801141d4:	00
1801141d5:	49 8b f1             	mov    %r9,%rsi
1801141d8:	48 89 68 d0          	mov    %rbp,-0x30(%rax)
1801141dc:	4c 8b cf             	mov    %rdi,%r9
1801141df:	48 8b d7             	mov    %rdi,%rdx
1801141e2:	4c 89 70 c8          	mov    %r14,-0x38(%rax)
1801141e6:	e8 c9 d4 ff ff       	call   0x1801116b4
1801141eb:	33 db                	xor    %ebx,%ebx
1801141ed:	85 c0                	test   %eax,%eax
1801141ef:	74 34                	je     0x180114225
1801141f1:	4c 8b 46 38          	mov    0x38(%rsi),%r8
1801141f5:	48 8d 46 20          	lea    0x20(%rsi),%rax
1801141f9:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
1801141fe:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
180114202:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
180114207:	4c 8b cf             	mov    %rdi,%r9
18011420a:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
18011420f:	49 8b ce             	mov    %r14,%rcx
180114212:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180114217:	e8 6c f7 ff ff       	call   0x180113988
18011421c:	85 c0                	test   %eax,%eax
18011421e:	74 05                	je     0x180114225
180114220:	bb 01 00 00 00       	mov    $0x1,%ebx
180114225:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18011422a:	8b c3                	mov    %ebx,%eax
18011422c:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180114231:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180114236:	48 83 c4 40          	add    $0x40,%rsp
18011423a:	41 5f                	pop    %r15
18011423c:	41 5e                	pop    %r14
18011423e:	5f                   	pop    %rdi
18011423f:	c3                   	ret
180114240:	cc                   	int3
180114241:	cc                   	int3
180114242:	cc                   	int3
180114243:	cc                   	int3
180114244:	40 53                	rex push %rbx
180114246:	55                   	push   %rbp
180114247:	56                   	push   %rsi
180114248:	57                   	push   %rdi
180114249:	41 54                	push   %r12
18011424b:	41 55                	push   %r13
18011424d:	41 56                	push   %r14
18011424f:	41 57                	push   %r15
180114251:	48 83 ec 48          	sub    $0x48,%rsp
180114255:	49 8b 41 48          	mov    0x48(%r9),%rax
180114259:	49 8b f0             	mov    %r8,%rsi
18011425c:	4d 8b 11             	mov    (%r9),%r10
18011425f:	4c 8b e2             	mov    %rdx,%r12
180114262:	49 8b 59 38          	mov    0x38(%r9),%rbx
180114266:	45 33 c9             	xor    %r9d,%r9d
180114269:	4c 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%r11
180114270:	00
180114271:	4c 8b 30             	mov    (%rax),%r14
180114274:	49 f7 de             	neg    %r14
180114277:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18011427c:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180114281:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
180114286:	4c 89 34 24          	mov    %r14,(%rsp)
18011428a:	4d 85 d2             	test   %r10,%r10
18011428d:	74 2f                	je     0x1801142be
18011428f:	4c 8b c1             	mov    %rcx,%r8
180114292:	49 8b fb             	mov    %r11,%rdi
180114295:	4d 2b c3             	sub    %r11,%r8
180114298:	49 8b ea             	mov    %r10,%rbp
18011429b:	49 8b 04 24          	mov    (%r12),%rax
18011429f:	49 f7 24 38          	mulq   (%r8,%rdi,1)
1801142a3:	4a 8d 0c 08          	lea    (%rax,%r9,1),%rcx
1801142a7:	49 3b c9             	cmp    %r9,%rcx
1801142aa:	48 89 0f             	mov    %rcx,(%rdi)
1801142ad:	4c 8b ca             	mov    %rdx,%r9
1801142b0:	48 8d 7f 08          	lea    0x8(%rdi),%rdi
1801142b4:	49 83 d1 00          	adc    $0x0,%r9
1801142b8:	48 83 ed 01          	sub    $0x1,%rbp
1801142bc:	75 dd                	jne    0x18011429b
1801142be:	4f 89 0c d3          	mov    %r9,(%r11,%r10,8)
1801142c2:	4d 8b 03             	mov    (%r11),%r8
1801142c5:	49 8b c0             	mov    %r8,%rax
1801142c8:	49 f7 e6             	mul    %r14
1801142cb:	4c 8b e8             	mov    %rax,%r13
1801142ce:	48 89 54 24 18       	mov    %rdx,0x18(%rsp)
1801142d3:	48 8b 03             	mov    (%rbx),%rax
1801142d6:	49 f7 e5             	mul    %r13
1801142d9:	48 8b fa             	mov    %rdx,%rdi
1801142dc:	4a 8d 0c 00          	lea    (%rax,%r8,1),%rcx
1801142e0:	49 3b c8             	cmp    %r8,%rcx
1801142e3:	48 83 d7 00          	adc    $0x0,%rdi
1801142e7:	49 83 fa 01          	cmp    $0x1,%r10
1801142eb:	76 44                	jbe    0x180114331
1801142ed:	4d 8b f3             	mov    %r11,%r14
1801142f0:	4c 8d 7b 08          	lea    0x8(%rbx),%r15
1801142f4:	4c 2b f3             	sub    %rbx,%r14
1801142f7:	49 8d 6a ff          	lea    -0x1(%r10),%rbp
1801142fb:	49 8b 07             	mov    (%r15),%rax
1801142fe:	4f 8b 0c 3e          	mov    (%r14,%r15,1),%r9
180114302:	4d 8d 7f 08          	lea    0x8(%r15),%r15
180114306:	49 f7 e5             	mul    %r13
180114309:	4d 8d 04 39          	lea    (%r9,%rdi,1),%r8
18011430d:	48 8b fa             	mov    %rdx,%rdi
180114310:	4a 8d 0c 00          	lea    (%rax,%r8,1),%rcx
180114314:	48 3b c8             	cmp    %rax,%rcx
180114317:	4b 89 4c 3e f0       	mov    %rcx,-0x10(%r14,%r15,1)
18011431c:	48 83 d7 00          	adc    $0x0,%rdi
180114320:	4d 3b c1             	cmp    %r9,%r8
180114323:	48 83 d7 00          	adc    $0x0,%rdi
180114327:	48 83 ed 01          	sub    $0x1,%rbp
18011432b:	75 ce                	jne    0x1801142fb
18011432d:	4f 8b 0c d3          	mov    (%r11,%r10,8),%r9
180114331:	33 c0                	xor    %eax,%eax
180114333:	49 8d 0c 39          	lea    (%r9,%rdi,1),%rcx
180114337:	49 3b c9             	cmp    %r9,%rcx
18011433a:	4b 89 4c d3 f8       	mov    %rcx,-0x8(%r11,%r10,8)
18011433f:	0f 92 c0             	setb   %al
180114342:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
180114346:	49 83 fa 01          	cmp    $0x1,%r10
18011434a:	0f 86 0d 01 00 00    	jbe    0x18011445d