140176f04:	ff 15 16 77 08 00    	call   *0x87716(%rip)        # 0x1401fe620
140176f0a:	4c 8b 45 a8          	mov    -0x58(%rbp),%r8
140176f0e:	4c 8b 4d 88          	mov    -0x78(%rbp),%r9
140176f12:	45 33 db             	xor    %r11d,%r11d
140176f15:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140176f1a:	66 3b c8             	cmp    %ax,%cx
140176f1d:	74 07                	je     0x140176f26
140176f1f:	66 41 89 45 0a       	mov    %ax,0xa(%r13)
140176f24:	eb 04                	jmp    0x140176f2a
140176f26:	4d 89 5d 00          	mov    %r11,0x0(%r13)
140176f2a:	ba 01 00 00 00       	mov    $0x1,%edx
140176f2f:	41 88 55 08          	mov    %dl,0x8(%r13)
140176f33:	eb 05                	jmp    0x140176f3a
140176f35:	ba 01 00 00 00       	mov    $0x1,%edx
140176f3a:	41 0f b7 4d 0a       	movzwl 0xa(%r13),%ecx
140176f3f:	49 8b c1             	mov    %r9,%rax
140176f42:	4d 3b c8             	cmp    %r8,%r9
140176f45:	74 0e                	je     0x140176f55
140176f47:	66 39 08             	cmp    %cx,(%rax)
140176f4a:	74 09                	je     0x140176f55
140176f4c:	48 83 c0 02          	add    $0x2,%rax
140176f50:	49 3b c0             	cmp    %r8,%rax
140176f53:	75 f2                	jne    0x140176f47
140176f55:	49 2b c1             	sub    %r9,%rax
140176f58:	48 d1 f8             	sar    $1,%rax
140176f5b:	48 83 f8 0a          	cmp    $0xa,%rax
140176f5f:	73 78                	jae    0x140176fd9
140176f61:	48 8d 0d e0 96 0a 00 	lea    0xa96e0(%rip),%rcx        # 0x140220648
140176f68:	44 8a 0c 08          	mov    (%rax,%rcx,1),%r9b
140176f6c:	4c 8b 54 24 58       	mov    0x58(%rsp),%r10
140176f71:	49 8b 4a 10          	mov    0x10(%r10),%rcx
140176f75:	49 3b 4a 18          	cmp    0x18(%r10),%rcx
140176f79:	73 20                	jae    0x140176f9b
140176f7b:	48 8d 41 01          	lea    0x1(%rcx),%rax
140176f7f:	49 89 42 10          	mov    %rax,0x10(%r10)
140176f83:	49 8b c2             	mov    %r10,%rax
140176f86:	49 83 7a 18 10       	cmpq   $0x10,0x18(%r10)
140176f8b:	72 03                	jb     0x140176f90
140176f8d:	49 8b 02             	mov    (%r10),%rax
140176f90:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
140176f94:	44 88 5c 08 01       	mov    %r11b,0x1(%rax,%rcx,1)
140176f99:	eb 0e                	jmp    0x140176fa9
140176f9b:	45 8a c4             	mov    %r12b,%r8b
140176f9e:	49 8b ca             	mov    %r10,%rcx
140176fa1:	e8 82 1d ff ff       	call   0x140168d28
140176fa6:	45 33 db             	xor    %r11d,%r11d
140176fa9:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140176fad:	49 83 fe 10          	cmp    $0x10,%r14
140176fb1:	0f 93 c1             	setae  %cl
140176fb4:	48 0f 43 c3          	cmovae %rbx,%rax
140176fb8:	80 3c 38 7f          	cmpb   $0x7f,(%rax,%rdi,1)
140176fbc:	0f 84 ea 00 00 00    	je     0x1401770ac
140176fc2:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140176fc6:	84 c9                	test   %cl,%cl
140176fc8:	48 0f 45 c3          	cmovne %rbx,%rax
140176fcc:	b9 01 00 00 00       	mov    $0x1,%ecx
140176fd1:	00 0c 38             	add    %cl,(%rax,%rdi,1)
140176fd4:	e9 c6 00 00 00       	jmp    0x14017709f
140176fd9:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140176fdd:	49 83 fe 10          	cmp    $0x10,%r14
140176fe1:	0f 93 c3             	setae  %bl
140176fe4:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
140176fe9:	48 0f 43 c2          	cmovae %rdx,%rax
140176fed:	44 38 1c 38          	cmp    %r11b,(%rax,%rdi,1)
140176ff1:	0f 84 31 01 00 00    	je     0x140177128
140176ff7:	45 38 5d 08          	cmp    %r11b,0x8(%r13)
140176ffb:	75 58                	jne    0x140177055
140176ffd:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140177001:	48 85 c9             	test   %rcx,%rcx
140177004:	74 3b                	je     0x140177041
140177006:	48 8b 41 38          	mov    0x38(%rcx),%rax
14017700a:	48 8b 10             	mov    (%rax),%rdx
14017700d:	48 85 d2             	test   %rdx,%rdx
140177010:	74 0e                	je     0x140177020
140177012:	48 8b 41 50          	mov    0x50(%rcx),%rax
140177016:	44 39 18             	cmp    %r11d,(%rax)
140177019:	7e 05                	jle    0x140177020
14017701b:	0f b7 02             	movzwl (%rdx),%eax
14017701e:	eb 10                	jmp    0x140177030
140177020:	48 8b 01             	mov    (%rcx),%rax
140177023:	48 8b 40 30          	mov    0x30(%rax),%rax
140177027:	ff 15 f3 75 08 00    	call   *0x875f3(%rip)        # 0x1401fe620
14017702d:	45 33 db             	xor    %r11d,%r11d
140177030:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140177035:	66 3b c8             	cmp    %ax,%cx
140177038:	74 07                	je     0x140177041
14017703a:	66 41 89 45 0a       	mov    %ax,0xa(%r13)
14017703f:	eb 04                	jmp    0x140177045
140177041:	4d 89 5d 00          	mov    %r11,0x0(%r13)
140177045:	b8 01 00 00 00       	mov    $0x1,%eax
14017704a:	41 88 45 08          	mov    %al,0x8(%r13)
14017704e:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
140177053:	eb 05                	jmp    0x14017705a
140177055:	b8 01 00 00 00       	mov    $0x1,%eax
14017705a:	66 41 39 75 0a       	cmp    %si,0xa(%r13)
14017705f:	0f 85 c3 00 00 00    	jne    0x140177128
140177065:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140177069:	49 3b ce             	cmp    %r14,%rcx
14017706c:	73 19                	jae    0x140177087
14017706e:	48 8d 41 01          	lea    0x1(%rcx),%rax
140177072:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140177076:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
14017707a:	84 db                	test   %bl,%bl
14017707c:	48 0f 45 c2          	cmovne %rdx,%rax
140177080:	66 83 24 08 00       	andw   $0x0,(%rax,%rcx,1)
140177085:	eb 15                	jmp    0x14017709c
140177087:	45 33 c9             	xor    %r9d,%r9d
14017708a:	45 8a c7             	mov    %r15b,%r8b
14017708d:	48 8b d0             	mov    %rax,%rdx
140177090:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140177094:	e8 8f 1c ff ff       	call   0x140168d28
140177099:	45 33 db             	xor    %r11d,%r11d
14017709c:	48 ff c7             	inc    %rdi
14017709f:	48 8b 5d b8          	mov    -0x48(%rbp),%rbx
1401770a3:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
1401770a8:	4c 8b 75 d0          	mov    -0x30(%rbp),%r14
1401770ac:	49 8b 4d 00          	mov    0x0(%r13),%rcx
1401770b0:	48 85 c9             	test   %rcx,%rcx
1401770b3:	74 46                	je     0x1401770fb
1401770b5:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401770b9:	4c 39 18             	cmp    %r11,(%rax)
1401770bc:	74 1e                	je     0x1401770dc
1401770be:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401770c2:	44 39 18             	cmp    %r11d,(%rax)
1401770c5:	7e 15                	jle    0x1401770dc
1401770c7:	ff 08                	decl   (%rax)
1401770c9:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1401770cd:	48 8b 11             	mov    (%rcx),%rdx
1401770d0:	48 8d 42 02          	lea    0x2(%rdx),%rax
1401770d4:	48 89 01             	mov    %rax,(%rcx)
1401770d7:	0f b7 02             	movzwl (%rdx),%eax
1401770da:	eb 10                	jmp    0x1401770ec
1401770dc:	48 8b 01             	mov    (%rcx),%rax
1401770df:	48 8b 40 38          	mov    0x38(%rax),%rax
1401770e3:	ff 15 37 75 08 00    	call   *0x87537(%rip)        # 0x1401fe620
1401770e9:	45 33 db             	xor    %r11d,%r11d
1401770ec:	b9 ff ff 00 00       	mov    $0xffff,%ecx
1401770f1:	66 3b c8             	cmp    %ax,%cx
1401770f4:	74 05                	je     0x1401770fb
1401770f6:	41 8a c3             	mov    %r11b,%al
1401770f9:	eb 09                	jmp    0x140177104
1401770fb:	4d 89 5d 00          	mov    %r11,0x0(%r13)
1401770ff:	b8 01 00 00 00       	mov    $0x1,%eax
140177104:	41 88 45 08          	mov    %al,0x8(%r13)
140177108:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14017710d:	49 8b cd             	mov    %r13,%rcx
140177110:	e8 fb b2 00 00       	call   0x140182410
140177115:	45 33 db             	xor    %r11d,%r11d
140177118:	84 c0                	test   %al,%al
14017711a:	4c 8b 45 a8          	mov    -0x58(%rbp),%r8
14017711e:	4c 8b 4d 88          	mov    -0x78(%rbp),%r9
140177122:	0f 84 ac fd ff ff    	je     0x140176ed4
140177128:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
14017712d:	48 8b df             	mov    %rdi,%rbx
140177130:	48 85 ff             	test   %rdi,%rdi
140177133:	40 8a 7c 24 30       	mov    0x30(%rsp),%dil
140177138:	40 8a 74 24 30       	mov    0x30(%rsp),%sil
14017713d:	44 8a 74 24 30       	mov    0x30(%rsp),%r14b
140177142:	4c 8b 4c 24 70       	mov    0x70(%rsp),%r9
140177147:	4c 8b 44 24 68       	mov    0x68(%rsp),%r8
14017714c:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140177152:	74 2d                	je     0x140177181
140177154:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140177158:	49 83 f9 10          	cmp    $0x10,%r9
14017715c:	49 0f 43 c0          	cmovae %r8,%rax
140177160:	44 38 1c 18          	cmp    %r11b,(%rax,%rbx,1)
140177164:	7e 05                	jle    0x14017716b
140177166:	49 03 da             	add    %r10,%rbx
140177169:	eb 16                	jmp    0x140177181
14017716b:	44 88 54 24 38       	mov    %r10b,0x38(%rsp)
140177170:	eb 0f                	jmp    0x140177181
140177172:	4c 8b 45 b8          	mov    -0x48(%rbp),%r8
140177176:	4c 8b 4c 24 70       	mov    0x70(%rsp),%r9
14017717b:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140177181:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140177185:	48 83 7d f0 10       	cmpq   $0x10,-0x10(%rbp)
14017718a:	48 0f 43 4d d8       	cmovae -0x28(%rbp),%rcx
14017718f:	44 38 5c 24 38       	cmp    %r11b,0x38(%rsp)
140177194:	75 4f                	jne    0x1401771e5
140177196:	48 85 db             	test   %rbx,%rbx
140177199:	0f 84 aa 00 00 00    	je     0x140177249
14017719f:	8a 11                	mov    (%rcx),%dl
1401771a1:	80 fa 7f             	cmp    $0x7f,%dl
1401771a4:	0f 84 9f 00 00 00    	je     0x140177249
1401771aa:	49 2b da             	sub    %r10,%rbx
1401771ad:	74 11                	je     0x1401771c0
1401771af:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
1401771b3:	49 83 f9 10          	cmp    $0x10,%r9
1401771b7:	49 0f 43 c0          	cmovae %r8,%rax
1401771bb:	3a 14 18             	cmp    (%rax,%rbx,1),%dl
1401771be:	75 20                	jne    0x1401771e0
1401771c0:	48 85 db             	test   %rbx,%rbx
1401771c3:	75 10                	jne    0x1401771d5
1401771c5:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
1401771c9:	49 83 f9 10          	cmp    $0x10,%r9
1401771cd:	49 0f 43 c0          	cmovae %r8,%rax
1401771d1:	3a 10                	cmp    (%rax),%dl
1401771d3:	7c 0b                	jl     0x1401771e0
1401771d5:	44 38 59 01          	cmp    %r11b,0x1(%rcx)
1401771d9:	7e bb                	jle    0x140177196
1401771db:	48 ff c1             	inc    %rcx
1401771de:	eb b6                	jmp    0x140177196
1401771e0:	44 88 54 24 38       	mov    %r10b,0x38(%rsp)
1401771e5:	49 83 f9 10          	cmp    $0x10,%r9
1401771e9:	72 32                	jb     0x14017721d
1401771eb:	49 8d 51 01          	lea    0x1(%r9),%rdx
1401771ef:	49 8b c0             	mov    %r8,%rax
1401771f2:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401771f9:	72 19                	jb     0x140177214
1401771fb:	48 83 c2 27          	add    $0x27,%rdx
1401771ff:	4d 8b 40 f8          	mov    -0x8(%r8),%r8
140177203:	49 2b c0             	sub    %r8,%rax
140177206:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14017720a:	48 83 f8 1f          	cmp    $0x1f,%rax
14017720e:	0f 87 fa 0e 00 00    	ja     0x14017810e
140177214:	49 8b c8             	mov    %r8,%rcx
140177217:	e8 30 f4 00 00       	call   0x14018664c
14017721c:	90                   	nop
14017721d:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140177221:	e8 4a ee f4 ff       	call   0x1400c6070
140177226:	45 33 c0             	xor    %r8d,%r8d
140177229:	b9 01 00 00 00       	mov    $0x1,%ecx
14017722e:	8b 44 24 38          	mov    0x38(%rsp),%eax
140177232:	48 01 4c 24 78       	add    %rcx,0x78(%rsp)
140177237:	84 c0                	test   %al,%al
140177239:	0f 85 2b 0e 00 00    	jne    0x14017806a
14017723f:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140177244:	e9 0d fb ff ff       	jmp    0x140176d56
140177249:	49 83 f9 10          	cmp    $0x10,%r9
14017724d:	0f 82 ac 01 00 00    	jb     0x1401773ff
140177253:	49 8d 51 01          	lea    0x1(%r9),%rdx
140177257:	49 8b c0             	mov    %r8,%rax
14017725a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140177261:	72 19                	jb     0x14017727c
140177263:	48 83 c2 27          	add    $0x27,%rdx
140177267:	4d 8b 40 f8          	mov    -0x8(%r8),%r8
14017726b:	49 2b c0             	sub    %r8,%rax
14017726e:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140177272:	48 83 f8 1f          	cmp    $0x1f,%rax
140177276:	0f 87 92 0e 00 00    	ja     0x14017810e
14017727c:	49 8b c8             	mov    %r8,%rcx
14017727f:	e8 c8 f3 00 00       	call   0x14018664c
140177284:	e9 76 01 00 00       	jmp    0x1401773ff
140177289:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14017728e:	49 8b cd             	mov    %r13,%rcx
140177291:	e8 7a b1 00 00       	call   0x140182410
140177296:	45 33 c0             	xor    %r8d,%r8d
140177299:	84 c0                	test   %al,%al
14017729b:	0f 85 63 01 00 00    	jne    0x140177404
1401772a1:	4c 8b 65 88          	mov    -0x78(%rbp),%r12
1401772a5:	49 8d 5c 24 16       	lea    0x16(%r12),%rbx
1401772aa:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1401772af:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1401772b4:	45 8d 78 01          	lea    0x1(%r8),%r15d
1401772b8:	45 38 45 08          	cmp    %r8b,0x8(%r13)
1401772bc:	75 4c                	jne    0x14017730a
1401772be:	49 8b 4d 00          	mov    0x0(%r13),%rcx
1401772c2:	48 85 c9             	test   %rcx,%rcx
1401772c5:	74 3b                	je     0x140177302
1401772c7:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401772cb:	48 8b 10             	mov    (%rax),%rdx
1401772ce:	48 85 d2             	test   %rdx,%rdx
1401772d1:	74 0e                	je     0x1401772e1
1401772d3:	48 8b 41 50          	mov    0x50(%rcx),%rax
1401772d7:	44 39 00             	cmp    %r8d,(%rax)
1401772da:	7e 05                	jle    0x1401772e1
1401772dc:	0f b7 02             	movzwl (%rdx),%eax
1401772df:	eb 10                	jmp    0x1401772f1
1401772e1:	48 8b 01             	mov    (%rcx),%rax
1401772e4:	48 8b 40 30          	mov    0x30(%rax),%rax
1401772e8:	ff 15 32 73 08 00    	call   *0x87332(%rip)        # 0x1401fe620
1401772ee:	45 33 c0             	xor    %r8d,%r8d
1401772f1:	b9 ff ff 00 00       	mov    $0xffff,%ecx
1401772f6:	66 3b c8             	cmp    %ax,%cx
1401772f9:	74 07                	je     0x140177302
1401772fb:	66 41 89 45 0a       	mov    %ax,0xa(%r13)
140177300:	eb 04                	jmp    0x140177306
140177302:	4d 89 45 00          	mov    %r8,0x0(%r13)
140177306:	45 88 7d 08          	mov    %r15b,0x8(%r13)
14017730a:	41 0f b7 4d 0a       	movzwl 0xa(%r13),%ecx
14017730f:	49 8b c4             	mov    %r12,%rax
140177312:	4c 3b e3             	cmp    %rbx,%r12
140177315:	74 0e                	je     0x140177325
140177317:	66 39 08             	cmp    %cx,(%rax)
14017731a:	74 09                	je     0x140177325
14017731c:	48 83 c0 02          	add    $0x2,%rax
140177320:	48 3b c3             	cmp    %rbx,%rax
140177323:	75 f2                	jne    0x140177317
140177325:	49 2b c4             	sub    %r12,%rax
140177328:	48 d1 f8             	sar    $1,%rax
14017732b:	48 83 f8 0a          	cmp    $0xa,%rax
14017732f:	0f 83 b6 00 00 00    	jae    0x1401773eb
140177335:	48 8d 0d 0c 93 0a 00 	lea    0xa930c(%rip),%rcx        # 0x140220648
14017733c:	44 8a 0c 08          	mov    (%rax,%rcx,1),%r9b
140177340:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140177344:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140177348:	73 20                	jae    0x14017736a
14017734a:	48 8d 41 01          	lea    0x1(%rcx),%rax
14017734e:	48 89 47 10          	mov    %rax,0x10(%rdi)
140177352:	48 8b c7             	mov    %rdi,%rax
140177355:	48 83 7f 18 10       	cmpq   $0x10,0x18(%rdi)
14017735a:	72 03                	jb     0x14017735f
14017735c:	48 8b 07             	mov    (%rdi),%rax
14017735f:	44 88 0c 08          	mov    %r9b,(%rax,%rcx,1)
140177363:	44 88 44 08 01       	mov    %r8b,0x1(%rax,%rcx,1)
140177368:	eb 11                	jmp    0x14017737b
14017736a:	44 8a c6             	mov    %sil,%r8b
14017736d:	49 8b d7             	mov    %r15,%rdx
140177370:	48 8b cf             	mov    %rdi,%rcx
140177373:	e8 b0 19 ff ff       	call   0x140168d28
140177378:	45 33 c0             	xor    %r8d,%r8d
14017737b:	49 8b 4d 00          	mov    0x0(%r13),%rcx
14017737f:	48 85 c9             	test   %rcx,%rcx
140177382:	74 46                	je     0x1401773ca
140177384:	48 8b 41 38          	mov    0x38(%rcx),%rax
140177388:	4c 39 00             	cmp    %r8,(%rax)
14017738b:	74 1e                	je     0x1401773ab
14017738d:	48 8b 41 50          	mov    0x50(%rcx),%rax
140177391:	44 39 00             	cmp    %r8d,(%rax)
140177394:	7e 15                	jle    0x1401773ab
140177396:	ff 08                	decl   (%rax)
140177398:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14017739c:	48 8b 11             	mov    (%rcx),%rdx
14017739f:	48 8d 42 02          	lea    0x2(%rdx),%rax
1401773a3:	48 89 01             	mov    %rax,(%rcx)
1401773a6:	0f b7 02             	movzwl (%rdx),%eax
1401773a9:	eb 10                	jmp    0x1401773bb
1401773ab:	48 8b 01             	mov    (%rcx),%rax
1401773ae:	48 8b 40 38          	mov    0x38(%rax),%rax
1401773b2:	ff 15 68 72 08 00    	call   *0x87268(%rip)        # 0x1401fe620
1401773b8:	45 33 c0             	xor    %r8d,%r8d
1401773bb:	b9 ff ff 00 00       	mov    $0xffff,%ecx
1401773c0:	66 3b c8             	cmp    %ax,%cx
1401773c3:	74 05                	je     0x1401773ca
1401773c5:	41 8a c0             	mov    %r8b,%al
1401773c8:	eb 07                	jmp    0x1401773d1
1401773ca:	4d 89 45 00          	mov    %r8,0x0(%r13)
1401773ce:	41 8a c7             	mov    %r15b,%al
1401773d1:	41 88 45 08          	mov    %al,0x8(%r13)
1401773d5:	49 8b d6             	mov    %r14,%rdx
1401773d8:	49 8b cd             	mov    %r13,%rcx
1401773db:	e8 30 b0 00 00       	call   0x140182410
1401773e0:	45 33 c0             	xor    %r8d,%r8d
1401773e3:	84 c0                	test   %al,%al
1401773e5:	0f 84 cd fe ff ff    	je     0x1401772b8
1401773eb:	40 8a 7c 24 30       	mov    0x30(%rsp),%dil
1401773f0:	44 8a 74 24 30       	mov    0x30(%rsp),%r14b
1401773f5:	44 8a 7c 24 30       	mov    0x30(%rsp),%r15b
1401773fa:	44 8a 64 24 30       	mov    0x30(%rsp),%r12b
1401773ff:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx