1401a807a:	41 57                	push   %r15
1401a807c:	48 83 ec 20          	sub    $0x20,%rsp
1401a8080:	48 8b da             	mov    %rdx,%rbx
1401a8083:	45 33 ff             	xor    %r15d,%r15d
1401a8086:	4c 8b 71 f8          	mov    -0x8(%rcx),%r14
1401a808a:	49 83 3e 70          	cmpq   $0x70,(%r14)
1401a808e:	0f 82 53 01 00 00    	jb     0x1401a81e7
1401a8094:	4d 39 7e 68          	cmp    %r15,0x68(%r14)
1401a8098:	0f 84 49 01 00 00    	je     0x1401a81e7
1401a809e:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
1401a80a2:	48 2b 2a             	sub    (%rdx),%rbp
1401a80a5:	48 c1 fd 03          	sar    $0x3,%rbp
1401a80a9:	48 8b 01             	mov    (%rcx),%rax
1401a80ac:	ff 50 38             	call   *0x38(%rax)
1401a80af:	48 8b c8             	mov    %rax,%rcx
1401a80b2:	48 3b c5             	cmp    %rbp,%rax
1401a80b5:	48 0f 42 cd          	cmovb  %rbp,%rcx
1401a80b9:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
1401a80be:	41 8b f7             	mov    %r15d,%esi
1401a80c1:	48 85 c9             	test   %rcx,%rcx
1401a80c4:	0f 84 81 00 00 00    	je     0x1401a814b
1401a80ca:	b8 08 00 00 00       	mov    $0x8,%eax
1401a80cf:	48 f7 e1             	mul    %rcx
1401a80d2:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
1401a80d9:	48 0f 42 c1          	cmovb  %rcx,%rax
1401a80dd:	48 8b c8             	mov    %rax,%rcx
1401a80e0:	e8 a7 25 15 00       	call   0x1402fa68c
1401a80e5:	48 8b f0             	mov    %rax,%rsi
1401a80e8:	48 85 c0             	test   %rax,%rax
1401a80eb:	74 5e                	je     0x1401a814b
1401a80ed:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1401a80f2:	4e 8d 04 c5 00 00 00 	lea    0x0(,%r8,8),%r8
1401a80f9:	00
1401a80fa:	33 d2                	xor    %edx,%edx
1401a80fc:	48 8b c8             	mov    %rax,%rcx
1401a80ff:	e8 5a 49 15 00       	call   0x1402fca5e
1401a8104:	48 85 ed             	test   %rbp,%rbp
1401a8107:	74 42                	je     0x1401a814b
1401a8109:	41 8b ff             	mov    %r15d,%edi
1401a810c:	0f 1f 40 00          	nopl   0x0(%rax)
1401a8110:	48 8b 03             	mov    (%rbx),%rax
1401a8113:	48 8b 14 f8          	mov    (%rax,%rdi,8),%rdx
1401a8117:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
1401a811c:	48 85 d2             	test   %rdx,%rdx
1401a811f:	74 14                	je     0x1401a8135
1401a8121:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a8125:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a8129:	48 83 c2 08          	add    $0x8,%rdx
1401a812d:	48 03 ca             	add    %rdx,%rcx
1401a8130:	48 8b 01             	mov    (%rcx),%rax
1401a8133:	ff 10                	call   *(%rax)
1401a8135:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401a813a:	e8 a1 d8 00 00       	call   0x1401b59e0
1401a813f:	48 89 04 fe          	mov    %rax,(%rsi,%rdi,8)
1401a8143:	48 ff c7             	inc    %rdi
1401a8146:	48 3b fd             	cmp    %rbp,%rdi
1401a8149:	72 c5                	jb     0x1401a8110
1401a814b:	49 8b 46 68          	mov    0x68(%r14),%rax
1401a814f:	4c 8b c6             	mov    %rsi,%r8
1401a8152:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1401a8157:	49 8b ce             	mov    %r14,%rcx
1401a815a:	ff d0                	call   *%rax
1401a815c:	48 8b cb             	mov    %rbx,%rcx
1401a815f:	e8 7c 49 01 00       	call   0x1401bcae0
1401a8164:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401a8169:	48 85 c0             	test   %rax,%rax
1401a816c:	74 79                	je     0x1401a81e7
1401a816e:	48 85 f6             	test   %rsi,%rsi
1401a8171:	74 74                	je     0x1401a81e7
1401a8173:	49 8b ff             	mov    %r15,%rdi
1401a8176:	48 85 c0             	test   %rax,%rax
1401a8179:	74 64                	je     0x1401a81df
1401a817b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401a8180:	48 8b 14 fe          	mov    (%rsi,%rdi,8),%rdx
1401a8184:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401a8189:	e8 02 ea 00 00       	call   0x1401b6b90
1401a818e:	90                   	nop
1401a818f:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401a8193:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1401a8197:	74 10                	je     0x1401a81a9
1401a8199:	48 8b 08             	mov    (%rax),%rcx
1401a819c:	48 89 0a             	mov    %rcx,(%rdx)
1401a819f:	4c 89 38             	mov    %r15,(%rax)
1401a81a2:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
1401a81a7:	eb 0c                	jmp    0x1401a81b5
1401a81a9:	4c 8b c0             	mov    %rax,%r8
1401a81ac:	48 8b cb             	mov    %rbx,%rcx
1401a81af:	e8 6c 6e ff ff       	call   0x14019f020
1401a81b4:	90                   	nop
1401a81b5:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1401a81ba:	48 85 c0             	test   %rax,%rax
1401a81bd:	74 16                	je     0x1401a81d5
1401a81bf:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401a81c3:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401a81c7:	48 83 c0 08          	add    $0x8,%rax
1401a81cb:	48 03 c8             	add    %rax,%rcx
1401a81ce:	48 8b 01             	mov    (%rcx),%rax
1401a81d1:	ff 50 08             	call   *0x8(%rax)
1401a81d4:	90                   	nop
1401a81d5:	48 ff c7             	inc    %rdi
1401a81d8:	48 3b 7c 24 50       	cmp    0x50(%rsp),%rdi
1401a81dd:	72 a1                	jb     0x1401a8180
1401a81df:	48 8b ce             	mov    %rsi,%rcx
1401a81e2:	e8 9d 20 15 00       	call   0x1402fa284
1401a81e7:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1401a81ec:	48 83 c4 20          	add    $0x20,%rsp
1401a81f0:	41 5f                	pop    %r15
1401a81f2:	41 5e                	pop    %r14
1401a81f4:	5f                   	pop    %rdi
1401a81f5:	5e                   	pop    %rsi
1401a81f6:	5d                   	pop    %rbp
1401a81f7:	c3                   	ret
1401a81f8:	cc                   	int3
1401a81f9:	cc                   	int3
1401a81fa:	cc                   	int3
1401a81fb:	cc                   	int3
1401a81fc:	cc                   	int3
1401a81fd:	cc                   	int3
1401a81fe:	cc                   	int3
1401a81ff:	cc                   	int3
1401a8200:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a8204:	48 83 39 70          	cmpq   $0x70,(%rcx)
1401a8208:	72 0c                	jb     0x1401a8216
1401a820a:	48 8b 41 68          	mov    0x68(%rcx),%rax
1401a820e:	48 85 c0             	test   %rax,%rax
1401a8211:	74 03                	je     0x1401a8216
1401a8213:	48 ff e0             	rex.W jmp *%rax
1401a8216:	33 c0                	xor    %eax,%eax
1401a8218:	c3                   	ret
1401a8219:	cc                   	int3
1401a821a:	cc                   	int3
1401a821b:	cc                   	int3
1401a821c:	cc                   	int3
1401a821d:	cc                   	int3
1401a821e:	cc                   	int3
1401a821f:	cc                   	int3
1401a8220:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a8224:	48 83 39 60          	cmpq   $0x60,(%rcx)
1401a8228:	72 11                	jb     0x1401a823b
1401a822a:	48 8b 41 58          	mov    0x58(%rcx),%rax
1401a822e:	48 85 c0             	test   %rax,%rax
1401a8231:	74 08                	je     0x1401a823b
1401a8233:	48 85 d2             	test   %rdx,%rdx
1401a8236:	74 03                	je     0x1401a823b
1401a8238:	48 ff e0             	rex.W jmp *%rax
1401a823b:	33 c0                	xor    %eax,%eax
1401a823d:	c3                   	ret
1401a823e:	cc                   	int3
1401a823f:	cc                   	int3
1401a8240:	40 53                	rex push %rbx
1401a8242:	48 83 ec 20          	sub    $0x20,%rsp
1401a8246:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a824a:	48 8b da             	mov    %rdx,%rbx
1401a824d:	48 81 39 c8 00 00 00 	cmpq   $0xc8,(%rcx)
1401a8254:	72 1a                	jb     0x1401a8270
1401a8256:	48 8b 81 c0 00 00 00 	mov    0xc0(%rcx),%rax
1401a825d:	48 85 c0             	test   %rax,%rax
1401a8260:	74 0e                	je     0x1401a8270
1401a8262:	ff d0                	call   *%rax
1401a8264:	48 89 03             	mov    %rax,(%rbx)
1401a8267:	48 8b c3             	mov    %rbx,%rax
1401a826a:	48 83 c4 20          	add    $0x20,%rsp
1401a826e:	5b                   	pop    %rbx
1401a826f:	c3                   	ret
1401a8270:	33 c0                	xor    %eax,%eax
1401a8272:	48 89 02             	mov    %rax,(%rdx)
1401a8275:	48 8b c3             	mov    %rbx,%rax
1401a8278:	48 83 c4 20          	add    $0x20,%rsp
1401a827c:	5b                   	pop    %rbx
1401a827d:	c3                   	ret
1401a827e:	cc                   	int3
1401a827f:	cc                   	int3
1401a8280:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a8285:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401a828a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401a828f:	57                   	push   %rdi
1401a8290:	41 56                	push   %r14
1401a8292:	41 57                	push   %r15
1401a8294:	48 83 ec 40          	sub    $0x40,%rsp
1401a8298:	48 8b da             	mov    %rdx,%rbx
1401a829b:	33 f6                	xor    %esi,%esi
1401a829d:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a82a1:	48 83 39 40          	cmpq   $0x40,(%rcx)
1401a82a5:	0f 82 f2 00 00 00    	jb     0x1401a839d
1401a82ab:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401a82af:	48 85 c0             	test   %rax,%rax
1401a82b2:	0f 84 e5 00 00 00    	je     0x1401a839d
1401a82b8:	ff d0                	call   *%rax
1401a82ba:	4c 8b f0             	mov    %rax,%r14
1401a82bd:	48 8d 2d 7c 26 18 00 	lea    0x18267c(%rip),%rbp        # 0x14032a940
1401a82c4:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
1401a82c9:	8b fe                	mov    %esi,%edi
1401a82cb:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1401a82d0:	45 32 ff             	xor    %r15b,%r15b
1401a82d3:	44 88 7c 24 38       	mov    %r15b,0x38(%rsp)
1401a82d8:	48 85 c0             	test   %rax,%rax
1401a82db:	74 4b                	je     0x1401a8328
1401a82dd:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a82e2:	e8 61 1f 15 00       	call   0x1402fa248
1401a82e7:	48 8b f8             	mov    %rax,%rdi
1401a82ea:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401a82ef:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a82f2:	33 c0                	xor    %eax,%eax
1401a82f4:	0f 11 07             	movups %xmm0,(%rdi)
1401a82f7:	48 89 47 10          	mov    %rax,0x10(%rdi)
1401a82fb:	41 b7 01             	mov    $0x1,%r15b
1401a82fe:	44 88 7c 24 38       	mov    %r15b,0x38(%rsp)
1401a8303:	41 0f 10 06          	movups (%r14),%xmm0
1401a8307:	0f 11 07             	movups %xmm0,(%rdi)
1401a830a:	f2 41 0f 10 4e 10    	movsd  0x10(%r14),%xmm1
1401a8310:	f2 0f 11 4f 10       	movsd  %xmm1,0x10(%rdi)
1401a8315:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a8318:	41 0f 11 06          	movups %xmm0,(%r14)
1401a831c:	49 89 46 10          	mov    %rax,0x10(%r14)
1401a8320:	49 8b ce             	mov    %r14,%rcx
1401a8323:	e8 3e 48 15 00       	call   0x1402fcb66
1401a8328:	48 89 2b             	mov    %rbp,(%rbx)
1401a832b:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1401a832f:	c6 43 10 00          	movb   $0x0,0x10(%rbx)
1401a8333:	48 85 ff             	test   %rdi,%rdi
1401a8336:	74 44                	je     0x1401a837c
1401a8338:	48 8b 77 08          	mov    0x8(%rdi),%rsi
1401a833c:	48 8b 2f             	mov    (%rdi),%rbp
1401a833f:	48 85 ed             	test   %rbp,%rbp
1401a8342:	74 38                	je     0x1401a837c
1401a8344:	48 85 f6             	test   %rsi,%rsi
1401a8347:	74 33                	je     0x1401a837c
1401a8349:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a834e:	e8 f5 1e 15 00       	call   0x1402fa248
1401a8353:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401a8357:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a835a:	33 c9                	xor    %ecx,%ecx
1401a835c:	0f 11 00             	movups %xmm0,(%rax)
1401a835f:	48 89 48 10          	mov    %rcx,0x10(%rax)
1401a8363:	c6 43 10 01          	movb   $0x1,0x10(%rbx)
1401a8367:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1401a836d:	4c 8b c0             	mov    %rax,%r8
1401a8370:	48 8b d6             	mov    %rsi,%rdx
1401a8373:	48 8b cd             	mov    %rbp,%rcx
1401a8376:	e8 c1 47 15 00       	call   0x1402fcb3c
1401a837b:	90                   	nop
1401a837c:	48 85 ff             	test   %rdi,%rdi
1401a837f:	74 2e                	je     0x1401a83af
1401a8381:	45 84 ff             	test   %r15b,%r15b
1401a8384:	74 29                	je     0x1401a83af
1401a8386:	48 8b cf             	mov    %rdi,%rcx
1401a8389:	e8 6e 5a f3 ff       	call   0x1400dddfc
1401a838e:	ba 18 00 00 00       	mov    $0x18,%edx
1401a8393:	48 8b cf             	mov    %rdi,%rcx
1401a8396:	e8 e9 1e 15 00       	call   0x1402fa284
1401a839b:	eb 12                	jmp    0x1401a83af
1401a839d:	48 8d 2d 9c 25 18 00 	lea    0x18259c(%rip),%rbp        # 0x14032a940
1401a83a4:	48 89 2a             	mov    %rbp,(%rdx)
1401a83a7:	48 89 72 08          	mov    %rsi,0x8(%rdx)
1401a83ab:	40 88 72 10          	mov    %sil,0x10(%rdx)
1401a83af:	48 8b c3             	mov    %rbx,%rax
1401a83b2:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401a83b7:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1401a83bc:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1401a83c1:	48 83 c4 40          	add    $0x40,%rsp
1401a83c5:	41 5f                	pop    %r15
1401a83c7:	41 5e                	pop    %r14
1401a83c9:	5f                   	pop    %rdi
1401a83ca:	c3                   	ret
1401a83cb:	cc                   	int3
1401a83cc:	cc                   	int3
1401a83cd:	cc                   	int3
1401a83ce:	cc                   	int3
1401a83cf:	cc                   	int3
1401a83d0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401a83d5:	53                   	push   %rbx
1401a83d6:	55                   	push   %rbp
1401a83d7:	56                   	push   %rsi
1401a83d8:	57                   	push   %rdi
1401a83d9:	41 56                	push   %r14
1401a83db:	48 83 ec 20          	sub    $0x20,%rsp
1401a83df:	48 8b f2             	mov    %rdx,%rsi
1401a83e2:	33 ff                	xor    %edi,%edi
1401a83e4:	48 8b 69 f8          	mov    -0x8(%rcx),%rbp
1401a83e8:	48 83 7d 00 50       	cmpq   $0x50,0x0(%rbp)
1401a83ed:	0f 82 38 01 00 00    	jb     0x1401a852b
1401a83f3:	4c 8b 75 48          	mov    0x48(%rbp),%r14
1401a83f7:	4d 85 f6             	test   %r14,%r14
1401a83fa:	0f 84 2b 01 00 00    	je     0x1401a852b
1401a8400:	48 8b 12             	mov    (%rdx),%rdx
1401a8403:	48 85 d2             	test   %rdx,%rdx
1401a8406:	75 0b                	jne    0x1401a8413
1401a8408:	48 83 c4 20          	add    $0x20,%rsp
1401a840c:	41 5e                	pop    %r14
1401a840e:	5f                   	pop    %rdi
1401a840f:	5e                   	pop    %rsi
1401a8410:	5d                   	pop    %rbp
1401a8411:	5b                   	pop    %rbx
1401a8412:	c3                   	ret
1401a8413:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
1401a8418:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a841c:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a8420:	48 83 c2 08          	add    $0x8,%rdx
1401a8424:	48 03 ca             	add    %rdx,%rcx
1401a8427:	48 8b 01             	mov    (%rcx),%rax
1401a842a:	ff 10                	call   *(%rax)
1401a842c:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1401a8431:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1401a8436:	48 83 7c 24 50 00    	cmpq   $0x0,0x50(%rsp)
1401a843c:	75 05                	jne    0x1401a8443
1401a843e:	e9 d9 00 00 00       	jmp    0x1401a851c
1401a8443:	b9 58 00 00 00       	mov    $0x58,%ecx
1401a8448:	e8 fb 1d 15 00       	call   0x1402fa248
1401a844d:	48 8b d8             	mov    %rax,%rbx
1401a8450:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1401a8455:	48 85 c0             	test   %rax,%rax
1401a8458:	74 74                	je     0x1401a84ce
1401a845a:	48 8d 05 57 de 19 00 	lea    0x19de57(%rip),%rax        # 0x1403462b8
1401a8461:	48 89 03             	mov    %rax,(%rbx)
1401a8464:	89 7b 50             	mov    %edi,0x50(%rbx)
1401a8467:	8b 0d 2f aa 25 00    	mov    0x25aa2f(%rip),%ecx        # 0x140402e9c
1401a846d:	89 4b 08             	mov    %ecx,0x8(%rbx)
1401a8470:	48 89 5b 18          	mov    %rbx,0x18(%rbx)
1401a8474:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a8477:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
1401a847b:	0f 11 43 30          	movups %xmm0,0x30(%rbx)
1401a847f:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
1401a8483:	48 c7 43 20 30 00 00 	movq   $0x30,0x20(%rbx)
1401a848a:	00
1401a848b:	48 8d 05 8e 0a 02 00 	lea    0x20a8e(%rip),%rax        # 0x1401c8f20
1401a8492:	48 89 43 28          	mov    %rax,0x28(%rbx)
1401a8496:	48 8d 05 f3 0a 02 00 	lea    0x20af3(%rip),%rax        # 0x1401c8f90
1401a849d:	48 89 43 30          	mov    %rax,0x30(%rbx)
1401a84a1:	48 8d 05 b8 0a 02 00 	lea    0x20ab8(%rip),%rax        # 0x1401c8f60
1401a84a8:	48 89 43 38          	mov    %rax,0x38(%rbx)
1401a84ac:	48 8d 05 7d 0a 02 00 	lea    0x20a7d(%rip),%rax        # 0x1401c8f30
1401a84b3:	48 89 43 40          	mov    %rax,0x40(%rbx)
1401a84b7:	48 8d 05 fa dd 19 00 	lea    0x19ddfa(%rip),%rax        # 0x1403462b8
1401a84be:	48 89 03             	mov    %rax,(%rbx)
1401a84c1:	48 8d 05 58 b8 01 00 	lea    0x1b858(%rip),%rax        # 0x1401c3d20
1401a84c8:	48 89 43 48          	mov    %rax,0x48(%rbx)
1401a84cc:	eb 03                	jmp    0x1401a84d1
1401a84ce:	48 8b df             	mov    %rdi,%rbx
1401a84d1:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401a84d6:	48 89 43 10          	mov    %rax,0x10(%rbx)
1401a84da:	48 8b 03             	mov    (%rbx),%rax
1401a84dd:	48 8b 10             	mov    (%rax),%rdx
1401a84e0:	48 8d 05 f9 a3 ff ff 	lea    -0x5c07(%rip),%rax        # 0x1401a28e0
1401a84e7:	48 8b cb             	mov    %rbx,%rcx
1401a84ea:	48 3b d0             	cmp    %rax,%rdx
1401a84ed:	75 07                	jne    0x1401a84f6
1401a84ef:	e8 ec a3 ff ff       	call   0x1401a28e0
1401a84f4:	eb 02                	jmp    0x1401a84f8
1401a84f6:	ff d2                	call   *%rdx
1401a84f8:	48 8d 7b 20          	lea    0x20(%rbx),%rdi