140a81206:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a8120b:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
140a8120f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a81214:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140a81219:	f2 0f 10 45 08       	movsd  0x8(%rbp),%xmm0
140a8121e:	f2 0f 11 44 24 50    	movsd  %xmm0,0x50(%rsp)
140a81224:	e8 07 fc ff ff       	call   0x140a80e30
140a81229:	48 81 c4 10 01 00 00 	add    $0x110,%rsp
140a81230:	5d                   	pop    %rbp
140a81231:	c3                   	ret
140a81232:	cc                   	int3
140a81233:	cc                   	int3
140a81234:	cc                   	int3
140a81235:	cc                   	int3
140a81236:	cc                   	int3
140a81237:	cc                   	int3
140a81238:	cc                   	int3
140a81239:	cc                   	int3
140a8123a:	cc                   	int3
140a8123b:	cc                   	int3
140a8123c:	cc                   	int3
140a8123d:	cc                   	int3
140a8123e:	cc                   	int3
140a8123f:	cc                   	int3
140a81240:	44 0f b6 02          	movzbl (%rdx),%r8d
140a81244:	4c 8b c9             	mov    %rcx,%r9
140a81247:	4c 33 41 10          	xor    0x10(%rcx),%r8
140a8124b:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
140a81252:	01 00 00
140a81255:	4d 0f af c2          	imul   %r10,%r8
140a81259:	4c 89 41 10          	mov    %r8,0x10(%rcx)
140a8125d:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140a81261:	49 33 c0             	xor    %r8,%rax
140a81264:	49 0f af c2          	imul   %r10,%rax
140a81268:	48 89 41 10          	mov    %rax,0x10(%rcx)
140a8126c:	0f b6 4a 02          	movzbl 0x2(%rdx),%ecx
140a81270:	48 33 c8             	xor    %rax,%rcx
140a81273:	49 0f af ca          	imul   %r10,%rcx
140a81277:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a8127b:	0f b6 42 03          	movzbl 0x3(%rdx),%eax
140a8127f:	48 33 c1             	xor    %rcx,%rax
140a81282:	49 0f af c2          	imul   %r10,%rax
140a81286:	49 89 41 10          	mov    %rax,0x10(%r9)
140a8128a:	0f b6 4a 04          	movzbl 0x4(%rdx),%ecx
140a8128e:	48 33 c8             	xor    %rax,%rcx
140a81291:	49 0f af ca          	imul   %r10,%rcx
140a81295:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a81299:	0f b6 42 05          	movzbl 0x5(%rdx),%eax
140a8129d:	48 33 c1             	xor    %rcx,%rax
140a812a0:	49 0f af c2          	imul   %r10,%rax
140a812a4:	49 89 41 10          	mov    %rax,0x10(%r9)
140a812a8:	0f b6 4a 06          	movzbl 0x6(%rdx),%ecx
140a812ac:	48 33 c8             	xor    %rax,%rcx
140a812af:	49 0f af ca          	imul   %r10,%rcx
140a812b3:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a812b7:	0f b6 42 07          	movzbl 0x7(%rdx),%eax
140a812bb:	48 33 c1             	xor    %rcx,%rax
140a812be:	49 0f af c2          	imul   %r10,%rax
140a812c2:	49 89 41 10          	mov    %rax,0x10(%r9)
140a812c6:	0f b6 4a 08          	movzbl 0x8(%rdx),%ecx
140a812ca:	48 33 c8             	xor    %rax,%rcx
140a812cd:	49 0f af ca          	imul   %r10,%rcx
140a812d1:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a812d5:	0f b6 42 09          	movzbl 0x9(%rdx),%eax
140a812d9:	48 33 c1             	xor    %rcx,%rax
140a812dc:	49 0f af c2          	imul   %r10,%rax
140a812e0:	49 89 41 10          	mov    %rax,0x10(%r9)
140a812e4:	0f b6 4a 0a          	movzbl 0xa(%rdx),%ecx
140a812e8:	48 33 c8             	xor    %rax,%rcx
140a812eb:	49 0f af ca          	imul   %r10,%rcx
140a812ef:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a812f3:	0f b6 42 0b          	movzbl 0xb(%rdx),%eax
140a812f7:	48 33 c1             	xor    %rcx,%rax
140a812fa:	49 0f af c2          	imul   %r10,%rax
140a812fe:	49 89 41 10          	mov    %rax,0x10(%r9)
140a81302:	0f b6 4a 0c          	movzbl 0xc(%rdx),%ecx
140a81306:	48 33 c8             	xor    %rax,%rcx
140a81309:	49 0f af ca          	imul   %r10,%rcx
140a8130d:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a81311:	0f b6 42 0d          	movzbl 0xd(%rdx),%eax
140a81315:	48 33 c1             	xor    %rcx,%rax
140a81318:	49 0f af c2          	imul   %r10,%rax
140a8131c:	49 89 41 10          	mov    %rax,0x10(%r9)
140a81320:	0f b6 4a 0e          	movzbl 0xe(%rdx),%ecx
140a81324:	48 33 c8             	xor    %rax,%rcx
140a81327:	49 0f af ca          	imul   %r10,%rcx
140a8132b:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a8132f:	0f b6 42 0f          	movzbl 0xf(%rdx),%eax
140a81333:	48 33 c1             	xor    %rcx,%rax
140a81336:	49 0f af c2          	imul   %r10,%rax
140a8133a:	49 89 41 10          	mov    %rax,0x10(%r9)
140a8133e:	0f b6 4a 10          	movzbl 0x10(%rdx),%ecx
140a81342:	48 33 c8             	xor    %rax,%rcx
140a81345:	49 0f af ca          	imul   %r10,%rcx
140a81349:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a8134d:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
140a81351:	48 33 c1             	xor    %rcx,%rax
140a81354:	49 0f af c2          	imul   %r10,%rax
140a81358:	49 89 41 10          	mov    %rax,0x10(%r9)
140a8135c:	0f b6 4a 12          	movzbl 0x12(%rdx),%ecx
140a81360:	48 33 c8             	xor    %rax,%rcx
140a81363:	49 0f af ca          	imul   %r10,%rcx
140a81367:	49 89 49 10          	mov    %rcx,0x10(%r9)
140a8136b:	0f b6 42 13          	movzbl 0x13(%rdx),%eax
140a8136f:	48 33 c1             	xor    %rcx,%rax
140a81372:	49 0f af c2          	imul   %r10,%rax
140a81376:	49 89 41 10          	mov    %rax,0x10(%r9)
140a8137a:	b0 01                	mov    $0x1,%al
140a8137c:	c3                   	ret
140a8137d:	cc                   	int3
140a8137e:	cc                   	int3
140a8137f:	cc                   	int3
140a81380:	48 83 ec 28          	sub    $0x28,%rsp
140a81384:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140a81389:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140a8138d:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a81392:	48 8b f9             	mov    %rcx,%rdi
140a81395:	48 85 f6             	test   %rsi,%rsi
140a81398:	74 3b                	je     0x140a813d5
140a8139a:	4c 8b 46 18          	mov    0x18(%rsi),%r8
140a8139e:	48 8d 56 18          	lea    0x18(%rsi),%rdx
140a813a2:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140a813a6:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a813ab:	4d 8b 40 08          	mov    0x8(%r8),%r8
140a813af:	e8 dc f3 ff ff       	call   0x140a80790
140a813b4:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140a813b8:	ba 30 00 00 00       	mov    $0x30,%edx
140a813bd:	e8 82 9d 39 00       	call   0x140e1b144
140a813c2:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a813c6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a813cb:	48 85 c9             	test   %rcx,%rcx
140a813ce:	74 05                	je     0x140a813d5
140a813d0:	e8 7b 8a f8 ff       	call   0x140a09e50
140a813d5:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a813d9:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140a813de:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a813e3:	48 85 c9             	test   %rcx,%rcx
140a813e6:	74 0e                	je     0x140a813f6
140a813e8:	ba 28 00 00 00       	mov    $0x28,%edx
140a813ed:	48 83 c4 28          	add    $0x28,%rsp
140a813f1:	e9 4e 9d 39 00       	jmp    0x140e1b144
140a813f6:	48 83 c4 28          	add    $0x28,%rsp
140a813fa:	c3                   	ret
140a813fb:	cc                   	int3
140a813fc:	cc                   	int3
140a813fd:	cc                   	int3
140a813fe:	cc                   	int3
140a813ff:	cc                   	int3
140a81400:	40 53                	rex push %rbx
140a81402:	41 55                	push   %r13
140a81404:	48 83 ec 38          	sub    $0x38,%rsp
140a81408:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140a8140f:	ff ff 0f
140a81412:	4c 8b e9             	mov    %rcx,%r13
140a81415:	48 0f bd c8          	bsr    %rax,%rcx
140a81419:	bb 01 00 00 00       	mov    $0x1,%ebx
140a8141e:	8b c3                	mov    %ebx,%eax
140a81420:	48 d3 e0             	shl    %cl,%rax
140a81423:	48 3b d0             	cmp    %rax,%rdx
140a81426:	0f 87 7a 01 00 00    	ja     0x140a815a6
140a8142c:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140a81430:	48 89 74 24 58       	mov    %rsi,0x58(%rsp)
140a81435:	49 8b 75 08          	mov    0x8(%r13),%rsi
140a81439:	48 0b c3             	or     %rbx,%rax
140a8143c:	48 0f bd c8          	bsr    %rax,%rcx
140a81440:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
140a81445:	4c 8b c6             	mov    %rsi,%r8
140a81448:	ff c1                	inc    %ecx
140a8144a:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140a8144f:	48 d3 e3             	shl    %cl,%rbx
140a81452:	49 8d 4d 18          	lea    0x18(%r13),%rcx
140a81456:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
140a8145a:	e8 21 b6 90 ff       	call   0x14038ca80
140a8145f:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
140a81463:	49 89 5d 38          	mov    %rbx,0x38(%r13)
140a81467:	49 89 45 30          	mov    %rax,0x30(%r13)
140a8146b:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140a8146f:	48 8b 1b             	mov    (%rbx),%rbx
140a81472:	48 8b fb             	mov    %rbx,%rdi
140a81475:	48 3b de             	cmp    %rsi,%rbx
140a81478:	0f 84 eb 00 00 00    	je     0x140a81569
140a8147e:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140a81483:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140a81488:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140a8148d:	0f 1f 00             	nopl   (%rax)
140a81490:	48 8b 3f             	mov    (%rdi),%rdi
140a81493:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140a81497:	49 8b cd             	mov    %r13,%rcx
140a8149a:	e8 31 f2 ff ff       	call   0x140a806d0
140a8149f:	49 23 45 30          	and    0x30(%r13),%rax
140a814a3:	4d 8b 7d 18          	mov    0x18(%r13),%r15
140a814a7:	48 c1 e0 04          	shl    $0x4,%rax
140a814ab:	4c 03 f8             	add    %rax,%r15
140a814ae:	49 39 37             	cmp    %rsi,(%r15)
140a814b1:	75 0c                	jne    0x140a814bf
140a814b3:	49 89 1f             	mov    %rbx,(%r15)
140a814b6:	49 89 5f 08          	mov    %rbx,0x8(%r15)
140a814ba:	e9 8f 00 00 00       	jmp    0x140a8154e
140a814bf:	4d 8b 77 08          	mov    0x8(%r15),%r14
140a814c3:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140a814c7:	49 8d 56 10          	lea    0x10(%r14),%rdx
140a814cb:	e8 80 e5 ff ff       	call   0x140a7fa50
140a814d0:	85 c0                	test   %eax,%eax
140a814d2:	75 2f                	jne    0x140a81503
140a814d4:	4d 8b 06             	mov    (%r14),%r8
140a814d7:	4c 3b c3             	cmp    %rbx,%r8
140a814da:	74 21                	je     0x140a814fd
140a814dc:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140a814e0:	48 89 3a             	mov    %rdi,(%rdx)
140a814e3:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a814e7:	4c 89 01             	mov    %r8,(%rcx)
140a814ea:	49 8b 40 08          	mov    0x8(%r8),%rax
140a814ee:	48 89 18             	mov    %rbx,(%rax)
140a814f1:	49 89 48 08          	mov    %rcx,0x8(%r8)
140a814f5:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140a814f9:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a814fd:	49 89 5f 08          	mov    %rbx,0x8(%r15)
140a81501:	eb 4b                	jmp    0x140a8154e
140a81503:	4d 39 37             	cmp    %r14,(%r15)
140a81506:	74 22                	je     0x140a8152a
140a81508:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140a8150f:	00
140a81510:	4d 8b 76 08          	mov    0x8(%r14),%r14
140a81514:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140a81518:	49 8d 56 10          	lea    0x10(%r14),%rdx
140a8151c:	e8 2f e5 ff ff       	call   0x140a7fa50
140a81521:	85 c0                	test   %eax,%eax
140a81523:	74 5b                	je     0x140a81580
140a81525:	4d 39 37             	cmp    %r14,(%r15)
140a81528:	75 e6                	jne    0x140a81510
140a8152a:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140a8152e:	48 89 3a             	mov    %rdi,(%rdx)
140a81531:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a81535:	4c 89 31             	mov    %r14,(%rcx)
140a81538:	49 8b 46 08          	mov    0x8(%r14),%rax
140a8153c:	48 89 18             	mov    %rbx,(%rax)
140a8153f:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140a81543:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140a81547:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a8154b:	49 89 1f             	mov    %rbx,(%r15)
140a8154e:	48 8b df             	mov    %rdi,%rbx
140a81551:	48 3b fe             	cmp    %rsi,%rdi
140a81554:	0f 85 36 ff ff ff    	jne    0x140a81490
140a8155a:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140a8155f:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
140a81564:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140a81569:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140a8156e:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a81573:	4c 8b 64 24 30       	mov    0x30(%rsp),%r12
140a81578:	48 83 c4 38          	add    $0x38,%rsp
140a8157c:	41 5d                	pop    %r13
140a8157e:	5b                   	pop    %rbx
140a8157f:	c3                   	ret
140a81580:	4d 8b 06             	mov    (%r14),%r8
140a81583:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140a81587:	48 89 3a             	mov    %rdi,(%rdx)
140a8158a:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140a8158e:	4c 89 01             	mov    %r8,(%rcx)
140a81591:	49 8b 40 08          	mov    0x8(%r8),%rax
140a81595:	48 89 18             	mov    %rbx,(%rax)
140a81598:	49 89 48 08          	mov    %rcx,0x8(%r8)
140a8159c:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140a815a0:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a815a4:	eb a8                	jmp    0x140a8154e
140a815a6:	48 8d 0d 43 cf 52 00 	lea    0x52cf43(%rip),%rcx        # 0x140fae4f0
140a815ad:	e8 02 9e 37 00       	call   0x140dfb3b4
140a815b2:	cc                   	int3
140a815b3:	cc                   	int3
140a815b4:	cc                   	int3
140a815b5:	cc                   	int3
140a815b6:	cc                   	int3
140a815b7:	cc                   	int3
140a815b8:	cc                   	int3
140a815b9:	cc                   	int3
140a815ba:	cc                   	int3
140a815bb:	cc                   	int3
140a815bc:	cc                   	int3
140a815bd:	cc                   	int3
140a815be:	cc                   	int3
140a815bf:	cc                   	int3
140a815c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a815c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a815ca:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a815cf:	57                   	push   %rdi
140a815d0:	41 54                	push   %r12
140a815d2:	41 55                	push   %r13
140a815d4:	41 56                	push   %r14
140a815d6:	41 57                	push   %r15
140a815d8:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140a815df:	49 8b f9             	mov    %r9,%rdi
140a815e2:	4d 8b e0             	mov    %r8,%r12
140a815e5:	4c 8b f2             	mov    %rdx,%r14
140a815e8:	48 8b e9             	mov    %rcx,%rbp
140a815eb:	45 33 ed             	xor    %r13d,%r13d
140a815ee:	48 8d 59 10          	lea    0x10(%rcx),%rbx
140a815f2:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140a815f7:	44 88 6c 24 58       	mov    %r13b,0x58(%rsp)
140a815fc:	48 8b cb             	mov    %rbx,%rcx
140a815ff:	e8 3c bb 37 00       	call   0x140dfd140
140a81604:	85 c0                	test   %eax,%eax
140a81606:	0f 85 7d 01 00 00    	jne    0x140a81789
140a8160c:	8b 43 4c             	mov    0x4c(%rbx),%eax
140a8160f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140a81614:	0f 84 7a 01 00 00    	je     0x140a81794
140a8161a:	c6 44 24 58 01       	movb   $0x1,0x58(%rsp)
140a8161f:	48 8d 4d 60          	lea    0x60(%rbp),%rcx
140a81623:	4d 8b c4             	mov    %r12,%r8
140a81626:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140a8162b:	e8 e0 f1 ff ff       	call   0x140a80810
140a81630:	48 8b 30             	mov    (%rax),%rsi
140a81633:	48 83 c6 18          	add    $0x18,%rsi
140a81637:	4c 8b 3e             	mov    (%rsi),%r15
140a8163a:	49 8b 47 08          	mov    0x8(%r15),%rax
140a8163e:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140a81643:	44 89 6c 24 78       	mov    %r13d,0x78(%rsp)
140a81648:	49 8b df             	mov    %r15,%rbx
140a8164b:	44 38 68 19          	cmp    %r13b,0x19(%rax)
140a8164f:	75 2a                	jne    0x140a8167b
140a81651:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140a81656:	48 39 78 20          	cmp    %rdi,0x20(%rax)
140a8165a:	73 0b                	jae    0x140a81667
140a8165c:	44 89 6c 24 78       	mov    %r13d,0x78(%rsp)
140a81661:	48 8b 40 10          	mov    0x10(%rax),%rax
140a81665:	eb 0e                	jmp    0x140a81675
140a81667:	c7 44 24 78 01 00 00 	movl   $0x1,0x78(%rsp)
140a8166e:	00
140a8166f:	48 8b d8             	mov    %rax,%rbx
140a81672:	48 8b 00             	mov    (%rax),%rax
140a81675:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140a81679:	74 d6                	je     0x140a81651
140a8167b:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140a8167f:	75 06                	jne    0x140a81687
140a81681:	48 3b 7b 20          	cmp    0x20(%rbx),%rdi
140a81685:	73 5f                	jae    0x140a816e6
140a81687:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140a8168e:	55 55 05
140a81691:	48 39 46 08          	cmp    %rax,0x8(%rsi)
140a81695:	0f 84 e8 00 00 00    	je     0x140a81783
140a8169b:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140a816a0:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
140a816a5:	b9 30 00 00 00       	mov    $0x30,%ecx
140a816aa:	e8 59 9a 39 00       	call   0x140e1b108
140a816af:	90                   	nop
140a816b0:	48 89 78 20          	mov    %rdi,0x20(%rax)
140a816b4:	4c 89 68 28          	mov    %r13,0x28(%rax)
140a816b8:	4c 89 38             	mov    %r15,(%rax)
140a816bb:	4c 89 78 08          	mov    %r15,0x8(%rax)
140a816bf:	4c 89 78 10          	mov    %r15,0x10(%rax)
140a816c3:	66 c7 40 18 00 00    	movw   $0x0,0x18(%rax)
140a816c9:	0f 10 44 24 70       	movups 0x70(%rsp),%xmm0