140ad6f56:	cc                   	int3
140ad6f57:	90                   	nop
140ad6f58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ad6f5d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140ad6f62:	57                   	push   %rdi
140ad6f63:	48 83 ec 20          	sub    $0x20,%rsp
140ad6f67:	4c 8b c9             	mov    %rcx,%r9
140ad6f6a:	3b 51 08             	cmp    0x8(%rcx),%edx
140ad6f6d:	73 74                	jae    0x140ad6fe3
140ad6f6f:	8b 19                	mov    (%rcx),%ebx
140ad6f71:	8b 71 18             	mov    0x18(%rcx),%esi
140ad6f74:	44 8b c3             	mov    %ebx,%r8d
140ad6f77:	44 0f af c2          	imul   %edx,%r8d
140ad6f7b:	41 8b f8             	mov    %r8d,%edi
140ad6f7e:	41 2b f0             	sub    %r8d,%esi
140ad6f81:	2b fb                	sub    %ebx,%edi
140ad6f83:	48 03 79 10          	add    0x10(%rcx),%rdi
140ad6f87:	41 8b c8             	mov    %r8d,%ecx
140ad6f8a:	49 03 49 10          	add    0x10(%r9),%rcx
140ad6f8e:	48 85 db             	test   %rbx,%rbx
140ad6f91:	74 50                	je     0x140ad6fe3
140ad6f93:	48 85 c9             	test   %rcx,%rcx
140ad6f96:	75 0e                	jne    0x140ad6fa6
140ad6f98:	ff 15 62 59 03 00    	call   *0x35962(%rip)        # 0x140b0c900
140ad6f9e:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140ad6fa4:	eb 37                	jmp    0x140ad6fdd
140ad6fa6:	48 85 ff             	test   %rdi,%rdi
140ad6fa9:	74 12                	je     0x140ad6fbd
140ad6fab:	48 3b f3             	cmp    %rbx,%rsi
140ad6fae:	72 0d                	jb     0x140ad6fbd
140ad6fb0:	4c 8b c3             	mov    %rbx,%r8
140ad6fb3:	48 8b d7             	mov    %rdi,%rdx
140ad6fb6:	e8 e5 ae 01 00       	call   0x140af1ea0
140ad6fbb:	eb 26                	jmp    0x140ad6fe3
140ad6fbd:	4c 8b c6             	mov    %rsi,%r8
140ad6fc0:	33 d2                	xor    %edx,%edx
140ad6fc2:	e8 a5 94 01 00       	call   0x140af046c
140ad6fc7:	48 85 ff             	test   %rdi,%rdi
140ad6fca:	74 cc                	je     0x140ad6f98
140ad6fcc:	48 3b f3             	cmp    %rbx,%rsi
140ad6fcf:	73 12                	jae    0x140ad6fe3
140ad6fd1:	ff 15 29 59 03 00    	call   *0x35929(%rip)        # 0x140b0c900
140ad6fd7:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140ad6fdd:	ff 15 6d 59 03 00    	call   *0x3596d(%rip)        # 0x140b0c950
140ad6fe3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ad6fe8:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140ad6fed:	48 83 c4 20          	add    $0x20,%rsp
140ad6ff1:	5f                   	pop    %rdi
140ad6ff2:	c3                   	ret
140ad6ff3:	90                   	nop
140ad6ff4:	44 8b ca             	mov    %edx,%r9d
140ad6ff7:	33 c0                	xor    %eax,%eax
140ad6ff9:	eb 12                	jmp    0x140ad700d
140ad6ffb:	44 03 81 8c 00 00 00 	add    0x8c(%rcx),%r8d
140ad7002:	44 03 89 88 00 00 00 	add    0x88(%rcx),%r9d
140ad7009:	48 8b 49 78          	mov    0x78(%rcx),%rcx
140ad700d:	38 81 90 00 00 00    	cmp    %al,0x90(%rcx)
140ad7013:	75 e6                	jne    0x140ad6ffb
140ad7015:	44 3b 49 04          	cmp    0x4(%rcx),%r9d
140ad7019:	73 2d                	jae    0x140ad7048
140ad701b:	44 3b 41 08          	cmp    0x8(%rcx),%r8d
140ad701f:	73 27                	jae    0x140ad7048
140ad7021:	44 0f af 01          	imul   (%rcx),%r8d
140ad7025:	41 8b c1             	mov    %r9d,%eax
140ad7028:	c1 e8 03             	shr    $0x3,%eax
140ad702b:	44 03 c0             	add    %eax,%r8d
140ad702e:	48 8b 41 10          	mov    0x10(%rcx),%rax
140ad7032:	b9 07 00 00 00       	mov    $0x7,%ecx
140ad7037:	44 22 c9             	and    %cl,%r9b
140ad703a:	41 2a c9             	sub    %r9b,%cl
140ad703d:	42 8a 04 00          	mov    (%rax,%r8,1),%al
140ad7041:	d2 e8                	shr    %cl,%al
140ad7043:	24 01                	and    $0x1,%al
140ad7045:	0f b6 c0             	movzbl %al,%eax
140ad7048:	c3                   	ret
140ad7049:	90                   	nop
140ad704a:	90                   	nop
140ad704b:	90                   	nop
140ad704c:	48 8b c4             	mov    %rsp,%rax
140ad704f:	48 89 58 10          	mov    %rbx,0x10(%rax)
140ad7053:	48 89 70 18          	mov    %rsi,0x18(%rax)
140ad7057:	48 89 78 20          	mov    %rdi,0x20(%rax)
140ad705b:	55                   	push   %rbp
140ad705c:	41 54                	push   %r12
140ad705e:	41 55                	push   %r13
140ad7060:	41 56                	push   %r14
140ad7062:	41 57                	push   %r15
140ad7064:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
140ad7068:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140ad706f:	48 8b 05 ca 7f 1e 00 	mov    0x1e7fca(%rip),%rax        # 0x140cbf040
140ad7076:	48 33 c4             	xor    %rsp,%rax
140ad7079:	48 89 45 27          	mov    %rax,0x27(%rbp)
140ad707d:	48 8d 79 20          	lea    0x20(%rcx),%rdi
140ad7081:	45 0f b7 e0          	movzwl %r8w,%r12d
140ad7085:	48 8b 1f             	mov    (%rdi),%rbx
140ad7088:	4c 8b fa             	mov    %rdx,%r15
140ad708b:	48 8b f1             	mov    %rcx,%rsi
140ad708e:	45 33 ed             	xor    %r13d,%r13d
140ad7091:	4c 8b 73 08          	mov    0x8(%rbx),%r14
140ad7095:	eb 1b                	jmp    0x140ad70b2
140ad7097:	4d 8b 46 10          	mov    0x10(%r14),%r8
140ad709b:	48 8b d7             	mov    %rdi,%rdx
140ad709e:	48 8b cf             	mov    %rdi,%rcx
140ad70a1:	e8 56 02 53 ff       	call   0x1400072fc
140ad70a6:	49 8b ce             	mov    %r14,%rcx
140ad70a9:	4d 8b 36             	mov    (%r14),%r14
140ad70ac:	ff 15 0e 58 03 00    	call   *0x3580e(%rip)        # 0x140b0c8c0
140ad70b2:	45 38 6e 19          	cmp    %r13b,0x19(%r14)
140ad70b6:	74 df                	je     0x140ad7097
140ad70b8:	41 8b cc             	mov    %r12d,%ecx
140ad70bb:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
140ad70bf:	48 89 1b             	mov    %rbx,(%rbx)
140ad70c2:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140ad70c8:	48 89 5b 10          	mov    %rbx,0x10(%rbx)
140ad70cc:	4c 89 6f 08          	mov    %r13,0x8(%rdi)
140ad70d0:	66 44 89 6e 76       	mov    %r13w,0x76(%rsi)
140ad70d5:	45 8d 74 24 01       	lea    0x1(%r12),%r14d
140ad70da:	85 c9                	test   %ecx,%ecx
140ad70dc:	0f 84 0f 02 00 00    	je     0x140ad72f1
140ad70e2:	41 2b cc             	sub    %r12d,%ecx
140ad70e5:	0f 84 2c 01 00 00    	je     0x140ad7217
140ad70eb:	41 2b cc             	sub    %r12d,%ecx
140ad70ee:	74 7f                	je     0x140ad716f
140ad70f0:	41 3b cc             	cmp    %r12d,%ecx
140ad70f3:	0f 85 2a 03 00 00    	jne    0x140ad7423
140ad70f9:	83 cb ff             	or     $0xffffffff,%ebx
140ad70fc:	45 8d 66 fb          	lea    -0x5(%r14),%r12d
140ad7100:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7104:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7108:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad710c:	66 44 89 65 c9       	mov    %r12w,-0x37(%rbp)
140ad7111:	48 8b cf             	mov    %rdi,%rcx
140ad7114:	e8 83 0b 00 00       	call   0x140ad7c9c
140ad7119:	44 8d 73 ff          	lea    -0x1(%rbx),%r14d
140ad711d:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7121:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7125:	66 44 89 75 c9       	mov    %r14w,-0x37(%rbp)
140ad712a:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad712e:	48 8b cf             	mov    %rdi,%rcx
140ad7131:	e8 66 0b 00 00       	call   0x140ad7c9c
140ad7136:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad713a:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad713e:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7142:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad7146:	48 8b cf             	mov    %rdi,%rcx
140ad7149:	e8 4e 0b 00 00       	call   0x140ad7c9c
140ad714e:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7152:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7156:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad715a:	66 44 89 6d c9       	mov    %r13w,-0x37(%rbp)
140ad715f:	48 8b cf             	mov    %rdi,%rcx
140ad7162:	e8 35 0b 00 00       	call   0x140ad7c9c
140ad7167:	8d 43 02             	lea    0x2(%rbx),%eax
140ad716a:	e9 38 02 00 00       	jmp    0x140ad73a7
140ad716f:	41 be fe ff ff ff    	mov    $0xfffffffe,%r14d
140ad7175:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7179:	83 cb ff             	or     $0xffffffff,%ebx
140ad717c:	66 44 89 75 c7       	mov    %r14w,-0x39(%rbp)
140ad7181:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7185:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad7189:	48 8b cf             	mov    %rdi,%rcx
140ad718c:	e8 0b 0b 00 00       	call   0x140ad7c9c
140ad7191:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7195:	c7 45 c7 fe ff 00 00 	movl   $0xfffe,-0x39(%rbp)
140ad719c:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad71a0:	48 8b cf             	mov    %rdi,%rcx
140ad71a3:	e8 f4 0a 00 00       	call   0x140ad7c9c
140ad71a8:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad71ac:	c7 45 c7 fe ff 01 00 	movl   $0x1fffe,-0x39(%rbp)
140ad71b3:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad71b7:	48 8b cf             	mov    %rdi,%rcx
140ad71ba:	e8 dd 0a 00 00       	call   0x140ad7c9c
140ad71bf:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad71c3:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad71c7:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad71cb:	66 44 89 75 c9       	mov    %r14w,-0x37(%rbp)
140ad71d0:	48 8b cf             	mov    %rdi,%rcx
140ad71d3:	e8 c4 0a 00 00       	call   0x140ad7c9c
140ad71d8:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad71dc:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad71e0:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad71e4:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad71e8:	48 8b cf             	mov    %rdi,%rcx
140ad71eb:	e8 ac 0a 00 00       	call   0x140ad7c9c
140ad71f0:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad71f4:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad71f8:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad71fc:	66 44 89 6d c9       	mov    %r13w,-0x37(%rbp)
140ad7201:	48 8b cf             	mov    %rdi,%rcx
140ad7204:	e8 93 0a 00 00       	call   0x140ad7c9c
140ad7209:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad720d:	66 44 89 65 c9       	mov    %r12w,-0x37(%rbp)
140ad7212:	e9 c6 01 00 00       	jmp    0x140ad73dd
140ad7217:	41 be fe ff ff ff    	mov    $0xfffffffe,%r14d
140ad721d:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7221:	83 cb ff             	or     $0xffffffff,%ebx
140ad7224:	66 44 89 75 c7       	mov    %r14w,-0x39(%rbp)
140ad7229:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad722d:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad7231:	48 8b cf             	mov    %rdi,%rcx
140ad7234:	e8 63 0a 00 00       	call   0x140ad7c9c
140ad7239:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad723d:	c7 45 c7 fe ff 00 00 	movl   $0xfffe,-0x39(%rbp)
140ad7244:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7248:	48 8b cf             	mov    %rdi,%rcx
140ad724b:	e8 4c 0a 00 00       	call   0x140ad7c9c
140ad7250:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7254:	c7 45 c7 fe ff 01 00 	movl   $0x1fffe,-0x39(%rbp)
140ad725b:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad725f:	48 8b cf             	mov    %rdi,%rcx
140ad7262:	e8 35 0a 00 00       	call   0x140ad7c9c
140ad7267:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad726b:	c7 45 c7 fe ff 02 00 	movl   $0x2fffe,-0x39(%rbp)
140ad7272:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7276:	48 8b cf             	mov    %rdi,%rcx
140ad7279:	e8 1e 0a 00 00       	call   0x140ad7c9c
140ad727e:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7282:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7286:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad728a:	66 44 89 75 c9       	mov    %r14w,-0x37(%rbp)
140ad728f:	48 8b cf             	mov    %rdi,%rcx
140ad7292:	e8 05 0a 00 00       	call   0x140ad7c9c
140ad7297:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad729b:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad729f:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad72a3:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad72a7:	48 8b cf             	mov    %rdi,%rcx
140ad72aa:	e8 ed 09 00 00       	call   0x140ad7c9c
140ad72af:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad72b3:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad72b7:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad72bb:	66 44 89 6d c9       	mov    %r13w,-0x37(%rbp)
140ad72c0:	48 8b cf             	mov    %rdi,%rcx
140ad72c3:	e8 d4 09 00 00       	call   0x140ad7c9c
140ad72c8:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad72cc:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad72d0:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad72d4:	66 44 89 65 c9       	mov    %r12w,-0x37(%rbp)
140ad72d9:	48 8b cf             	mov    %rdi,%rcx
140ad72dc:	e8 bb 09 00 00       	call   0x140ad7c9c
140ad72e1:	8d 43 03             	lea    0x3(%rbx),%eax
140ad72e4:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad72e8:	66 89 45 c9          	mov    %ax,-0x37(%rbp)
140ad72ec:	e9 d5 00 00 00       	jmp    0x140ad73c6
140ad72f1:	41 be fe ff ff ff    	mov    $0xfffffffe,%r14d
140ad72f7:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad72fb:	83 cb ff             	or     $0xffffffff,%ebx
140ad72fe:	66 44 89 75 c7       	mov    %r14w,-0x39(%rbp)
140ad7303:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7307:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad730b:	48 8b cf             	mov    %rdi,%rcx
140ad730e:	e8 89 09 00 00       	call   0x140ad7c9c
140ad7313:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7317:	c7 45 c7 fe ff 00 00 	movl   $0xfffe,-0x39(%rbp)
140ad731e:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7322:	48 8b cf             	mov    %rdi,%rcx
140ad7325:	e8 72 09 00 00       	call   0x140ad7c9c
140ad732a:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad732e:	c7 45 c7 fe ff 01 00 	movl   $0x1fffe,-0x39(%rbp)
140ad7335:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7339:	48 8b cf             	mov    %rdi,%rcx
140ad733c:	e8 5b 09 00 00       	call   0x140ad7c9c
140ad7341:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7345:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7349:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad734d:	66 44 89 75 c9       	mov    %r14w,-0x37(%rbp)
140ad7352:	48 8b cf             	mov    %rdi,%rcx
140ad7355:	e8 42 09 00 00       	call   0x140ad7c9c
140ad735a:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad735e:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7362:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7366:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad736a:	48 8b cf             	mov    %rdi,%rcx
140ad736d:	e8 2a 09 00 00       	call   0x140ad7c9c
140ad7372:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7376:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad737a:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad737e:	66 44 89 6d c9       	mov    %r13w,-0x37(%rbp)
140ad7383:	48 8b cf             	mov    %rdi,%rcx
140ad7386:	e8 11 09 00 00       	call   0x140ad7c9c
140ad738b:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad738f:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad7393:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7397:	66 44 89 65 c9       	mov    %r12w,-0x37(%rbp)
140ad739c:	48 8b cf             	mov    %rdi,%rcx
140ad739f:	e8 f8 08 00 00       	call   0x140ad7c9c
140ad73a4:	8d 43 03             	lea    0x3(%rbx),%eax
140ad73a7:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad73ab:	66 89 5d c7          	mov    %bx,-0x39(%rbp)
140ad73af:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad73b3:	66 89 45 c9          	mov    %ax,-0x37(%rbp)
140ad73b7:	48 8b cf             	mov    %rdi,%rcx
140ad73ba:	e8 dd 08 00 00       	call   0x140ad7c9c
140ad73bf:	c7 45 c7 00 00 fc ff 	movl   $0xfffc0000,-0x39(%rbp)
140ad73c6:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad73ca:	48 8b cf             	mov    %rdi,%rcx
140ad73cd:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad73d1:	e8 c6 08 00 00       	call   0x140ad7c9c
140ad73d6:	c7 45 c7 00 00 fd ff 	movl   $0xfffd0000,-0x39(%rbp)
140ad73dd:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad73e1:	48 8b cf             	mov    %rdi,%rcx
140ad73e4:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad73e8:	e8 af 08 00 00       	call   0x140ad7c9c
140ad73ed:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad73f1:	c7 45 c7 00 00 fe ff 	movl   $0xfffe0000,-0x39(%rbp)
140ad73f8:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad73fc:	48 8b cf             	mov    %rdi,%rcx
140ad73ff:	e8 98 08 00 00       	call   0x140ad7c9c
140ad7404:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad7408:	66 44 89 6d c7       	mov    %r13w,-0x39(%rbp)
140ad740d:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad7411:	66 89 5d c9          	mov    %bx,-0x37(%rbp)
140ad7415:	48 8b cf             	mov    %rdi,%rcx
140ad7418:	e8 7f 08 00 00       	call   0x140ad7c9c
140ad741d:	41 be 02 00 00 00    	mov    $0x2,%r14d
140ad7423:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140ad7427:	49 8b dd             	mov    %r13,%rbx
140ad742a:	49 8b 17             	mov    (%r15),%rdx
140ad742d:	48 8b c1             	mov    %rcx,%rax
140ad7430:	48 2b c2             	sub    %rdx,%rax
140ad7433:	48 d1 f8             	sar    $1,%rax
140ad7436:	74 55                	je     0x140ad748d
140ad7438:	48 2b ca             	sub    %rdx,%rcx
140ad743b:	48 d1 f9             	sar    $1,%rcx
140ad743e:	48 3b d9             	cmp    %rcx,%rbx
140ad7441:	0f 83 2c 01 00 00    	jae    0x140ad7573
140ad7447:	48 8d 43 01          	lea    0x1(%rbx),%rax
140ad744b:	48 3b c1             	cmp    %rcx,%rax
140ad744e:	0f 83 1f 01 00 00    	jae    0x140ad7573
140ad7454:	0f b7 44 5a 02       	movzwl 0x2(%rdx,%rbx,2),%eax
140ad7459:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
140ad745d:	66 89 45 c7          	mov    %ax,-0x39(%rbp)
140ad7461:	48 8b cf             	mov    %rdi,%rcx
140ad7464:	0f b7 04 5a          	movzwl (%rdx,%rbx,2),%eax
140ad7468:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
140ad746c:	66 89 45 c9          	mov    %ax,-0x37(%rbp)
140ad7470:	e8 27 08 00 00       	call   0x140ad7c9c
140ad7475:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140ad7479:	49 03 de             	add    %r14,%rbx
140ad747c:	49 8b 17             	mov    (%r15),%rdx
140ad747f:	48 8b c1             	mov    %rcx,%rax
140ad7482:	48 2b c2             	sub    %rdx,%rax
140ad7485:	48 d1 f8             	sar    $1,%rax
140ad7488:	48 3b d8             	cmp    %rax,%rbx
140ad748b:	72 ab                	jb     0x140ad7438
140ad748d:	4c 8d 76 50          	lea    0x50(%rsi),%r14
140ad7491:	49 8b 06             	mov    (%r14),%rax
140ad7494:	49 3b 46 08          	cmp    0x8(%r14),%rax
140ad7498:	74 04                	je     0x140ad749e
140ad749a:	49 89 46 08          	mov    %rax,0x8(%r14)