140096f7f:	41 5f                	pop    %r15
140096f81:	41 5e                	pop    %r14
140096f83:	41 5d                	pop    %r13
140096f85:	5f                   	pop    %rdi
140096f86:	5e                   	pop    %rsi
140096f87:	c3                   	ret
140096f88:	e8 23 5c ff ff       	call   0x14008cbb0
140096f8d:	cc                   	int3
140096f8e:	e8 2d 3e fe ff       	call   0x14007adc0
140096f93:	cc                   	int3
140096f94:	e8 8b f4 21 00       	call   0x1402b6424
140096f99:	cc                   	int3
140096f9a:	cc                   	int3
140096f9b:	cc                   	int3
140096f9c:	cc                   	int3
140096f9d:	cc                   	int3
140096f9e:	cc                   	int3
140096f9f:	cc                   	int3
140096fa0:	40 55                	rex push %rbp
140096fa2:	57                   	push   %rdi
140096fa3:	41 56                	push   %r14
140096fa5:	48 83 ec 30          	sub    $0x30,%rsp
140096fa9:	4d 8b f0             	mov    %r8,%r14
140096fac:	48 8b ea             	mov    %rdx,%rbp
140096faf:	49 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%r8
140096fb6:	ff ff 3f
140096fb9:	48 8b f9             	mov    %rcx,%rdi
140096fbc:	49 3b d0             	cmp    %r8,%rdx
140096fbf:	0f 87 5c 01 00 00    	ja     0x140097121
140096fc5:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140096fca:	49 8b c0             	mov    %r8,%rax
140096fcd:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140096fd2:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140096fd7:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140096fdb:	4c 2b 39             	sub    (%rcx),%r15
140096fde:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140096fe2:	48 2b 0f             	sub    (%rdi),%rcx
140096fe5:	48 c1 f9 02          	sar    $0x2,%rcx
140096fe9:	48 8b d1             	mov    %rcx,%rdx
140096fec:	49 c1 ff 02          	sar    $0x2,%r15
140096ff0:	48 d1 ea             	shr    $1,%rdx
140096ff3:	48 2b c2             	sub    %rdx,%rax
140096ff6:	48 3b c8             	cmp    %rax,%rcx
140096ff9:	0f 87 1c 01 00 00    	ja     0x14009711b
140096fff:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140097003:	48 3b c5             	cmp    %rbp,%rax
140097006:	73 05                	jae    0x14009700d
140097008:	48 8b c5             	mov    %rbp,%rax
14009700b:	eb 09                	jmp    0x140097016
14009700d:	49 3b c0             	cmp    %r8,%rax
140097010:	0f 87 05 01 00 00    	ja     0x14009711b
140097016:	48 8d 34 85 00 00 00 	lea    0x0(,%rax,4),%rsi
14009701d:	00
14009701e:	48 85 f6             	test   %rsi,%rsi
140097021:	75 04                	jne    0x140097027
140097023:	33 db                	xor    %ebx,%ebx
140097025:	eb 3d                	jmp    0x140097064
140097027:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
14009702e:	72 29                	jb     0x140097059
140097030:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
140097034:	48 3b ce             	cmp    %rsi,%rcx
140097037:	0f 86 de 00 00 00    	jbe    0x14009711b
14009703d:	e8 8e 8e 21 00       	call   0x1402afed0
140097042:	48 85 c0             	test   %rax,%rax
140097045:	0f 84 ca 00 00 00    	je     0x140097115
14009704b:	48 8d 58 27          	lea    0x27(%rax),%rbx
14009704f:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140097053:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140097057:	eb 0b                	jmp    0x140097064
140097059:	48 8b ce             	mov    %rsi,%rcx
14009705c:	e8 6f 8e 21 00       	call   0x1402afed0
140097061:	48 8b d8             	mov    %rax,%rbx
140097064:	48 8b d5             	mov    %rbp,%rdx
140097067:	4a 8d 0c bb          	lea    (%rbx,%r15,4),%rcx
14009706b:	49 2b d7             	sub    %r15,%rdx
14009706e:	41 83 3e 00          	cmpl   $0x0,(%r14)
140097072:	75 11                	jne    0x140097085
140097074:	4c 8d 04 95 00 00 00 	lea    0x0(,%rdx,4),%r8
14009707b:	00
14009707c:	33 d2                	xor    %edx,%edx
14009707e:	e8 7d a9 24 00       	call   0x1402e1a00
140097083:	eb 1a                	jmp    0x14009709f
140097085:	48 85 d2             	test   %rdx,%rdx
140097088:	74 15                	je     0x14009709f
14009708a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140097090:	41 8b 06             	mov    (%r14),%eax
140097093:	89 01                	mov    %eax,(%rcx)
140097095:	48 8d 49 04          	lea    0x4(%rcx),%rcx
140097099:	48 83 ea 01          	sub    $0x1,%rdx
14009709d:	75 f1                	jne    0x140097090
14009709f:	48 8b 17             	mov    (%rdi),%rdx
1400970a2:	48 8b cb             	mov    %rbx,%rcx
1400970a5:	4c 8b 47 08          	mov    0x8(%rdi),%r8
1400970a9:	4c 2b c2             	sub    %rdx,%r8
1400970ac:	e8 af a2 24 00       	call   0x1402e1360
1400970b1:	48 8b 0f             	mov    (%rdi),%rcx
1400970b4:	48 85 c9             	test   %rcx,%rcx
1400970b7:	74 31                	je     0x1400970ea
1400970b9:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1400970bd:	48 2b d1             	sub    %rcx,%rdx
1400970c0:	48 83 e2 fc          	and    $0xfffffffffffffffc,%rdx
1400970c4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400970cb:	72 18                	jb     0x1400970e5
1400970cd:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400970d1:	48 83 c2 27          	add    $0x27,%rdx
1400970d5:	49 2b c8             	sub    %r8,%rcx
1400970d8:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400970dc:	48 83 f8 1f          	cmp    $0x1f,%rax
1400970e0:	77 33                	ja     0x140097115
1400970e2:	49 8b c8             	mov    %r8,%rcx
1400970e5:	e8 22 8e 21 00       	call   0x1402aff0c
1400970ea:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1400970ef:	48 8d 04 ab          	lea    (%rbx,%rbp,4),%rax
1400970f3:	48 89 1f             	mov    %rbx,(%rdi)
1400970f6:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400970fa:	48 8d 04 1e          	lea    (%rsi,%rbx,1),%rax
1400970fe:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140097103:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140097108:	48 89 47 10          	mov    %rax,0x10(%rdi)
14009710c:	48 83 c4 30          	add    $0x30,%rsp
140097110:	41 5e                	pop    %r14
140097112:	5f                   	pop    %rdi
140097113:	5d                   	pop    %rbp
140097114:	c3                   	ret
140097115:	e8 0a f3 21 00       	call   0x1402b6424
14009711a:	cc                   	int3
14009711b:	e8 a0 3c fe ff       	call   0x14007adc0
140097120:	cc                   	int3
140097121:	e8 8a 5a ff ff       	call   0x14008cbb0
140097126:	cc                   	int3
140097127:	cc                   	int3
140097128:	cc                   	int3
140097129:	cc                   	int3
14009712a:	cc                   	int3
14009712b:	cc                   	int3
14009712c:	cc                   	int3
14009712d:	cc                   	int3
14009712e:	cc                   	int3
14009712f:	cc                   	int3
140097130:	40 53                	rex push %rbx
140097132:	48 83 ec 30          	sub    $0x30,%rsp
140097136:	48 8b 41 10          	mov    0x10(%rcx),%rax
14009713a:	48 8b d9             	mov    %rcx,%rbx
14009713d:	48 39 41 08          	cmp    %rax,0x8(%rcx)
140097141:	75 49                	jne    0x14009718c
140097143:	0f b6 12             	movzbl (%rdx),%edx
140097146:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14009714b:	88 54 24 20          	mov    %dl,0x20(%rsp)
14009714f:	e8 6c 61 ff ff       	call   0x14008d2c0
140097154:	4c 8b 03             	mov    (%rbx),%r8
140097157:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
14009715c:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140097161:	41 0f b6 10          	movzbl (%r8),%edx
140097165:	41 88 00             	mov    %al,(%r8)
140097168:	49 8b 40 08          	mov    0x8(%r8),%rax
14009716c:	49 89 48 08          	mov    %rcx,0x8(%r8)
140097170:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140097175:	88 54 24 20          	mov    %dl,0x20(%rsp)
140097179:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14009717e:	e8 7d 53 ff ff       	call   0x14008c500
140097183:	48 8b 03             	mov    (%rbx),%rax
140097186:	48 83 c4 30          	add    $0x30,%rsp
14009718a:	5b                   	pop    %rbx
14009718b:	c3                   	ret
14009718c:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140097191:	48 8b 78 f8          	mov    -0x8(%rax),%rdi
140097195:	80 3f 02             	cmpb   $0x2,(%rdi)
140097198:	75 50                	jne    0x1400971ea
14009719a:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
14009719e:	48 8b 47 08          	mov    0x8(%rdi),%rax
1400971a2:	48 3b 47 10          	cmp    0x10(%rdi),%rax
1400971a6:	74 15                	je     0x1400971bd
1400971a8:	0f b6 12             	movzbl (%rdx),%edx
1400971ab:	48 8d 48 08          	lea    0x8(%rax),%rcx
1400971af:	88 10                	mov    %dl,(%rax)
1400971b1:	e8 0a 61 ff ff       	call   0x14008d2c0
1400971b6:	48 83 47 08 10       	addq   $0x10,0x8(%rdi)
1400971bb:	eb 0e                	jmp    0x1400971cb
1400971bd:	4c 8b c2             	mov    %rdx,%r8
1400971c0:	48 8b cf             	mov    %rdi,%rcx
1400971c3:	48 8b d0             	mov    %rax,%rdx
1400971c6:	e8 75 21 00 00       	call   0x140099340
1400971cb:	48 8b 43 10          	mov    0x10(%rbx),%rax
1400971cf:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400971d4:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1400971d8:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400971dc:	48 8b 40 08          	mov    0x8(%rax),%rax
1400971e0:	48 83 e8 10          	sub    $0x10,%rax
1400971e4:	48 83 c4 30          	add    $0x30,%rsp
1400971e8:	5b                   	pop    %rbx
1400971e9:	c3                   	ret
1400971ea:	0f b6 12             	movzbl (%rdx),%edx
1400971ed:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400971f2:	88 54 24 20          	mov    %dl,0x20(%rsp)
1400971f6:	e8 c5 60 ff ff       	call   0x14008d2c0
1400971fb:	4c 8b 43 20          	mov    0x20(%rbx),%r8
1400971ff:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
140097204:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140097209:	41 0f b6 10          	movzbl (%r8),%edx
14009720d:	41 88 00             	mov    %al,(%r8)
140097210:	49 8b 40 08          	mov    0x8(%r8),%rax
140097214:	49 89 48 08          	mov    %rcx,0x8(%r8)
140097218:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14009721d:	88 54 24 20          	mov    %dl,0x20(%rsp)
140097221:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140097226:	e8 d5 52 ff ff       	call   0x14008c500
14009722b:	48 8b 43 20          	mov    0x20(%rbx),%rax
14009722f:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140097234:	48 83 c4 30          	add    $0x30,%rsp
140097238:	5b                   	pop    %rbx
140097239:	c3                   	ret
14009723a:	cc                   	int3
14009723b:	cc                   	int3
14009723c:	cc                   	int3
14009723d:	cc                   	int3
14009723e:	cc                   	int3
14009723f:	cc                   	int3
140097240:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140097245:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14009724a:	55                   	push   %rbp
14009724b:	57                   	push   %rdi
14009724c:	41 56                	push   %r14
14009724e:	48 8b ec             	mov    %rsp,%rbp
140097251:	48 83 ec 50          	sub    $0x50,%rsp
140097255:	48 8b 05 24 e8 33 00 	mov    0x33e824(%rip),%rax        # 0x1403d5a80
14009725c:	48 33 c4             	xor    %rsp,%rax
14009725f:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140097263:	4d 8b c8             	mov    %r8,%r9
140097266:	48 8b f2             	mov    %rdx,%rsi
140097269:	4c 8b f1             	mov    %rcx,%r14
14009726c:	4c 8b 41 20          	mov    0x20(%rcx),%r8
140097270:	48 8b 51 38          	mov    0x38(%rcx),%rdx
140097274:	48 85 d2             	test   %rdx,%rdx
140097277:	79 1f                	jns    0x140097298
140097279:	48 8b c2             	mov    %rdx,%rax
14009727c:	48 f7 d8             	neg    %rax
14009727f:	74 17                	je     0x140097298
140097281:	48 8b c2             	mov    %rdx,%rax
140097284:	48 f7 d0             	not    %rax
140097287:	48 c1 e8 05          	shr    $0x5,%rax
14009728b:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140097292:	00
140097293:	4c 2b c0             	sub    %rax,%r8
140097296:	eb 0b                	jmp    0x1400972a3
140097298:	48 8b c2             	mov    %rdx,%rax
14009729b:	48 c1 e8 05          	shr    $0x5,%rax
14009729f:	4d 8d 04 80          	lea    (%r8,%rax,4),%r8
1400972a3:	bb 1f 00 00 00       	mov    $0x1f,%ebx
1400972a8:	8b c3                	mov    %ebx,%eax
1400972aa:	48 23 d3             	and    %rbx,%rdx
1400972ad:	48 8d 4a ff          	lea    -0x1(%rdx),%rcx
1400972b1:	48 8b c1             	mov    %rcx,%rax
1400972b4:	48 83 fa 01          	cmp    $0x1,%rdx
1400972b8:	73 14                	jae    0x1400972ce
1400972ba:	48 f7 d0             	not    %rax
1400972bd:	48 c1 e8 05          	shr    $0x5,%rax
1400972c1:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400972c8:	00
1400972c9:	4c 2b c0             	sub    %rax,%r8
1400972cc:	eb 08                	jmp    0x1400972d6
1400972ce:	48 c1 e8 05          	shr    $0x5,%rax
1400972d2:	4d 8d 04 80          	lea    (%r8,%rax,4),%r8
1400972d6:	48 8b c3             	mov    %rbx,%rax
1400972d9:	45 8b 00             	mov    (%r8),%r8d
1400972dc:	22 c8                	and    %al,%cl
1400972de:	0f b6 d1             	movzbl %cl,%edx
1400972e1:	41 0f a3 d0          	bt     %edx,%r8d
1400972e5:	72 10                	jb     0x1400972f7
1400972e7:	c6 06 00             	movb   $0x0,(%rsi)
1400972ea:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
1400972f1:	00
1400972f2:	e9 9f 01 00 00       	jmp    0x140097496
1400972f7:	41 0f b6 11          	movzbl (%r9),%edx
1400972fb:	88 55 e0             	mov    %dl,-0x20(%rbp)
1400972fe:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140097302:	e8 b9 5f ff ff       	call   0x14008d2c0
140097307:	90                   	nop
140097308:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14009730c:	49 39 4e 08          	cmp    %rcx,0x8(%r14)
140097310:	75 3f                	jne    0x140097351
140097312:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
140097316:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
14009731a:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
14009731e:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
140097325:	00
140097326:	49 8b 0e             	mov    (%r14),%rcx
140097329:	0f b6 11             	movzbl (%rcx),%edx
14009732c:	88 01                	mov    %al,(%rcx)
14009732e:	88 55 d0             	mov    %dl,-0x30(%rbp)
140097331:	48 8b 41 08          	mov    0x8(%rcx),%rax
140097335:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140097339:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14009733d:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140097341:	e8 ba 51 ff ff       	call   0x14008c500
140097346:	49 8b 06             	mov    (%r14),%rax
140097349:	c6 06 01             	movb   $0x1,(%rsi)
14009734c:	e9 34 01 00 00       	jmp    0x140097485
140097351:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140097355:	48 85 c9             	test   %rcx,%rcx
140097358:	75 10                	jne    0x14009736a
14009735a:	c6 06 00             	movb   $0x0,(%rsi)
14009735d:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140097364:	00
140097365:	e9 1f 01 00 00       	jmp    0x140097489
14009736a:	80 39 02             	cmpb   $0x2,(%rcx)
14009736d:	75 58                	jne    0x1400973c7
14009736f:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140097373:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140097377:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
14009737b:	74 21                	je     0x14009739e
14009737d:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
140097381:	88 02                	mov    %al,(%rdx)
140097383:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
140097387:	48 89 42 08          	mov    %rax,0x8(%rdx)
14009738b:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
14009738f:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
140097396:	00
140097397:	48 83 41 08 10       	addq   $0x10,0x8(%rcx)
14009739c:	eb 09                	jmp    0x1400973a7
14009739e:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400973a2:	e8 59 b3 ff ff       	call   0x140092700
1400973a7:	49 8b 46 10          	mov    0x10(%r14),%rax
1400973ab:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1400973af:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400973b3:	48 8b 48 08          	mov    0x8(%rax),%rcx
1400973b7:	48 83 e9 10          	sub    $0x10,%rcx
1400973bb:	c6 06 01             	movb   $0x1,(%rsi)
1400973be:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400973c2:	e9 c2 00 00 00       	jmp    0x140097489
1400973c7:	49 8b 7e 40          	mov    0x40(%r14),%rdi
1400973cb:	49 8b 4e 58          	mov    0x58(%r14),%rcx
1400973cf:	48 85 c9             	test   %rcx,%rcx
1400973d2:	79 1f                	jns    0x1400973f3
1400973d4:	48 8b c1             	mov    %rcx,%rax
1400973d7:	48 f7 d8             	neg    %rax
1400973da:	74 17                	je     0x1400973f3
1400973dc:	48 8b c1             	mov    %rcx,%rax
1400973df:	48 f7 d0             	not    %rax
1400973e2:	48 c1 e8 05          	shr    $0x5,%rax
1400973e6:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400973ed:	00
1400973ee:	48 2b f8             	sub    %rax,%rdi
1400973f1:	eb 0b                	jmp    0x1400973fe
1400973f3:	48 8b c1             	mov    %rcx,%rax
1400973f6:	48 c1 e8 05          	shr    $0x5,%rax
1400973fa:	48 8d 3c 87          	lea    (%rdi,%rax,4),%rdi
1400973fe:	48 8b c3             	mov    %rbx,%rax
140097401:	48 23 cb             	and    %rbx,%rcx
140097404:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
140097408:	48 8b c2             	mov    %rdx,%rax