1409f6127:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1409f612e:	ff ff 0f
1409f6131:	48 0f bd c8          	bsr    %rax,%rcx
1409f6135:	bb 01 00 00 00       	mov    $0x1,%ebx
1409f613a:	8b c3                	mov    %ebx,%eax
1409f613c:	48 d3 e0             	shl    %cl,%rax
1409f613f:	48 3b d0             	cmp    %rax,%rdx
1409f6142:	0f 87 75 01 00 00    	ja     0x1409f62bd
1409f6148:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1409f614c:	48 0b c3             	or     %rbx,%rax
1409f614f:	48 0f bd c8          	bsr    %rax,%rcx
1409f6153:	ff c1                	inc    %ecx
1409f6155:	48 d3 e3             	shl    %cl,%rbx
1409f6158:	49 8b 75 08          	mov    0x8(%r13),%rsi
1409f615c:	48 8d 14 1b          	lea    (%rbx,%rbx,1),%rdx
1409f6160:	4c 8b c6             	mov    %rsi,%r8
1409f6163:	49 8d 4d 18          	lea    0x18(%r13),%rcx
1409f6167:	e8 14 69 99 ff       	call   0x14038ca80
1409f616c:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1409f6170:	49 89 45 30          	mov    %rax,0x30(%r13)
1409f6174:	49 89 5d 38          	mov    %rbx,0x38(%r13)
1409f6178:	4c 89 6c 24 70       	mov    %r13,0x70(%rsp)
1409f617d:	49 8b 5d 08          	mov    0x8(%r13),%rbx
1409f6181:	48 8b 1b             	mov    (%rbx),%rbx
1409f6184:	48 8b fb             	mov    %rbx,%rdi
1409f6187:	48 3b de             	cmp    %rsi,%rbx
1409f618a:	0f 84 f2 00 00 00    	je     0x1409f6282
1409f6190:	48 8b 3f             	mov    (%rdi),%rdi
1409f6193:	48 8d 6b 10          	lea    0x10(%rbx),%rbp
1409f6197:	48 8b cd             	mov    %rbp,%rcx
1409f619a:	e8 c1 50 fd ff       	call   0x1409cb260
1409f619f:	4d 8b 7d 30          	mov    0x30(%r13),%r15
1409f61a3:	4c 23 f8             	and    %rax,%r15
1409f61a6:	49 c1 e7 04          	shl    $0x4,%r15
1409f61aa:	4d 03 7d 18          	add    0x18(%r13),%r15
1409f61ae:	49 39 37             	cmp    %rsi,(%r15)
1409f61b1:	75 0c                	jne    0x1409f61bf
1409f61b3:	49 89 1f             	mov    %rbx,(%r15)
1409f61b6:	49 89 5f 08          	mov    %rbx,0x8(%r15)
1409f61ba:	e9 b7 00 00 00       	jmp    0x1409f6276
1409f61bf:	4d 8b 77 08          	mov    0x8(%r15),%r14
1409f61c3:	4d 8d 46 10          	lea    0x10(%r14),%r8
1409f61c7:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
1409f61cc:	48 0f be 45 28       	movsbq 0x28(%rbp),%rax
1409f61d1:	48 3b c1             	cmp    %rcx,%rax
1409f61d4:	75 45                	jne    0x1409f621b
1409f61d6:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1409f61db:	48 ff c1             	inc    %rcx
1409f61de:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
1409f61e3:	e8 08 ab b4 ff       	call   0x140540cf0
1409f61e8:	84 c0                	test   %al,%al
1409f61ea:	74 2f                	je     0x1409f621b
1409f61ec:	4d 8b 06             	mov    (%r14),%r8
1409f61ef:	4c 3b c3             	cmp    %rbx,%r8
1409f61f2:	74 21                	je     0x1409f6215
1409f61f4:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1409f61f8:	48 89 3a             	mov    %rdi,(%rdx)
1409f61fb:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1409f61ff:	4c 89 01             	mov    %r8,(%rcx)
1409f6202:	49 8b 40 08          	mov    0x8(%r8),%rax
1409f6206:	48 89 18             	mov    %rbx,(%rax)
1409f6209:	49 89 48 08          	mov    %rcx,0x8(%r8)
1409f620d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1409f6211:	48 89 43 08          	mov    %rax,0x8(%rbx)
1409f6215:	49 89 5f 08          	mov    %rbx,0x8(%r15)
1409f6219:	eb 5b                	jmp    0x1409f6276
1409f621b:	4d 39 37             	cmp    %r14,(%r15)
1409f621e:	74 32                	je     0x1409f6252
1409f6220:	4d 8b 76 08          	mov    0x8(%r14),%r14
1409f6224:	4d 8d 46 10          	lea    0x10(%r14),%r8
1409f6228:	49 0f be 48 28       	movsbq 0x28(%r8),%rcx
1409f622d:	48 0f be 45 28       	movsbq 0x28(%rbp),%rax
1409f6232:	48 3b c1             	cmp    %rcx,%rax
1409f6235:	75 16                	jne    0x1409f624d
1409f6237:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1409f623c:	48 ff c1             	inc    %rcx
1409f623f:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
1409f6244:	e8 a7 aa b4 ff       	call   0x140540cf0
1409f6249:	84 c0                	test   %al,%al
1409f624b:	75 4a                	jne    0x1409f6297
1409f624d:	4d 39 37             	cmp    %r14,(%r15)
1409f6250:	75 ce                	jne    0x1409f6220
1409f6252:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1409f6256:	48 89 3a             	mov    %rdi,(%rdx)
1409f6259:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1409f625d:	4c 89 31             	mov    %r14,(%rcx)
1409f6260:	49 8b 46 08          	mov    0x8(%r14),%rax
1409f6264:	48 89 18             	mov    %rbx,(%rax)
1409f6267:	49 89 4e 08          	mov    %rcx,0x8(%r14)
1409f626b:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1409f626f:	48 89 43 08          	mov    %rax,0x8(%rbx)
1409f6273:	49 89 1f             	mov    %rbx,(%r15)
1409f6276:	48 8b df             	mov    %rdi,%rbx
1409f6279:	48 3b fe             	cmp    %rsi,%rdi
1409f627c:	0f 85 0e ff ff ff    	jne    0x1409f6190
1409f6282:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1409f6287:	48 83 c4 20          	add    $0x20,%rsp
1409f628b:	41 5f                	pop    %r15
1409f628d:	41 5e                	pop    %r14
1409f628f:	41 5d                	pop    %r13
1409f6291:	41 5c                	pop    %r12
1409f6293:	5f                   	pop    %rdi
1409f6294:	5e                   	pop    %rsi
1409f6295:	5d                   	pop    %rbp
1409f6296:	c3                   	ret
1409f6297:	4d 8b 06             	mov    (%r14),%r8
1409f629a:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1409f629e:	48 89 3a             	mov    %rdi,(%rdx)
1409f62a1:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1409f62a5:	4c 89 01             	mov    %r8,(%rcx)
1409f62a8:	49 8b 40 08          	mov    0x8(%r8),%rax
1409f62ac:	48 89 18             	mov    %rbx,(%rax)
1409f62af:	49 89 48 08          	mov    %rcx,0x8(%r8)
1409f62b3:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1409f62b7:	48 89 43 08          	mov    %rax,0x8(%rbx)
1409f62bb:	eb b9                	jmp    0x1409f6276
1409f62bd:	48 8d 0d 2c 82 5b 00 	lea    0x5b822c(%rip),%rcx        # 0x140fae4f0
1409f62c4:	e8 eb 50 40 00       	call   0x140dfb3b4
1409f62c9:	cc                   	int3
1409f62ca:	cc                   	int3
1409f62cb:	cc                   	int3
1409f62cc:	cc                   	int3
1409f62cd:	cc                   	int3
1409f62ce:	cc                   	int3
1409f62cf:	cc                   	int3
1409f62d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1409f62d5:	57                   	push   %rdi
1409f62d6:	48 83 ec 20          	sub    $0x20,%rsp
1409f62da:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1409f62de:	48 8b f9             	mov    %rcx,%rdi
1409f62e1:	48 83 c2 01          	add    $0x1,%rdx
1409f62e5:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1409f62e9:	0f 57 c0             	xorps  %xmm0,%xmm0
1409f62ec:	78 07                	js     0x1409f62f5
1409f62ee:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1409f62f3:	eb 15                	jmp    0x1409f630a
1409f62f5:	48 8b c2             	mov    %rdx,%rax
1409f62f8:	83 e2 01             	and    $0x1,%edx
1409f62fb:	48 d1 e8             	shr    $1,%rax
1409f62fe:	48 0b c2             	or     %rdx,%rax
1409f6301:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1409f6306:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1409f630a:	f3 0f 5e 01          	divss  (%rcx),%xmm0
1409f630e:	e8 0d ae 43 00       	call   0x140e31120
1409f6313:	f3 0f 10 0d 49 83 5b 	movss  0x5b8349(%rip),%xmm1        # 0x140fae664
1409f631a:	00
1409f631b:	33 c9                	xor    %ecx,%ecx
1409f631d:	0f 2f c1             	comiss %xmm1,%xmm0
1409f6320:	72 16                	jb     0x1409f6338
1409f6322:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1409f6326:	0f 2f c1             	comiss %xmm1,%xmm0
1409f6329:	73 0d                	jae    0x1409f6338
1409f632b:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1409f6332:	00 00 80
1409f6335:	48 8b c8             	mov    %rax,%rcx
1409f6338:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1409f633d:	48 03 c1             	add    %rcx,%rax
1409f6340:	b9 08 00 00 00       	mov    $0x8,%ecx
1409f6345:	48 3b c1             	cmp    %rcx,%rax
1409f6348:	48 0f 47 c8          	cmova  %rax,%rcx
1409f634c:	48 3b d9             	cmp    %rcx,%rbx
1409f634f:	73 19                	jae    0x1409f636a
1409f6351:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1409f6358:	73 0d                	jae    0x1409f6367
1409f635a:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1409f6361:	00
1409f6362:	48 3b d9             	cmp    %rcx,%rbx
1409f6365:	73 03                	jae    0x1409f636a
1409f6367:	48 8b d9             	mov    %rcx,%rbx
1409f636a:	48 8b d3             	mov    %rbx,%rdx
1409f636d:	48 8b cf             	mov    %rdi,%rcx
1409f6370:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1409f6375:	48 83 c4 20          	add    $0x20,%rsp
1409f6379:	5f                   	pop    %rdi
1409f637a:	e9 91 fd ff ff       	jmp    0x1409f6110
1409f637f:	cc                   	int3
1409f6380:	48 8d 05 a9 58 9c 00 	lea    0x9c58a9(%rip),%rax        # 0x1413bbc30
1409f6387:	c3                   	ret
1409f6388:	cc                   	int3
1409f6389:	cc                   	int3
1409f638a:	cc                   	int3
1409f638b:	cc                   	int3
1409f638c:	cc                   	int3
1409f638d:	cc                   	int3
1409f638e:	cc                   	int3
1409f638f:	cc                   	int3
1409f6390:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1409f6395:	56                   	push   %rsi
1409f6396:	48 83 ec 20          	sub    $0x20,%rsp
1409f639a:	48 8b 19             	mov    (%rcx),%rbx
1409f639d:	48 8b f1             	mov    %rcx,%rsi
1409f63a0:	48 85 db             	test   %rbx,%rbx
1409f63a3:	0f 84 87 00 00 00    	je     0x1409f6430
1409f63a9:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1409f63ae:	48 8b 79 08          	mov    0x8(%rcx),%rdi
1409f63b2:	48 3b df             	cmp    %rdi,%rbx
1409f63b5:	74 11                	je     0x1409f63c8
1409f63b7:	48 8b cb             	mov    %rbx,%rcx
1409f63ba:	e8 c1 0b 05 00       	call   0x140a46f80
1409f63bf:	48 83 c3 28          	add    $0x28,%rbx
1409f63c3:	48 3b df             	cmp    %rdi,%rbx
1409f63c6:	75 ef                	jne    0x1409f63b7
1409f63c8:	4c 8b 06             	mov    (%rsi),%r8
1409f63cb:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1409f63d2:	66 66 66
1409f63d5:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1409f63d9:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1409f63de:	49 2b c8             	sub    %r8,%rcx
1409f63e1:	48 f7 e9             	imul   %rcx
1409f63e4:	48 c1 fa 04          	sar    $0x4,%rdx
1409f63e8:	48 8b c2             	mov    %rdx,%rax
1409f63eb:	48 c1 e8 3f          	shr    $0x3f,%rax
1409f63ef:	48 03 d0             	add    %rax,%rdx
1409f63f2:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
1409f63f6:	48 c1 e2 03          	shl    $0x3,%rdx
1409f63fa:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1409f6401:	72 18                	jb     0x1409f641b
1409f6403:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1409f6407:	48 83 c2 27          	add    $0x27,%rdx
1409f640b:	4c 2b c1             	sub    %rcx,%r8
1409f640e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1409f6412:	48 83 f8 1f          	cmp    $0x1f,%rax
1409f6416:	77 23                	ja     0x1409f643b
1409f6418:	4c 8b c1             	mov    %rcx,%r8
1409f641b:	49 8b c8             	mov    %r8,%rcx
1409f641e:	e8 21 4d 42 00       	call   0x140e1b144
1409f6423:	33 c0                	xor    %eax,%eax
1409f6425:	48 89 06             	mov    %rax,(%rsi)
1409f6428:	48 89 46 08          	mov    %rax,0x8(%rsi)
1409f642c:	48 89 46 10          	mov    %rax,0x10(%rsi)
1409f6430:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1409f6435:	48 83 c4 20          	add    $0x20,%rsp
1409f6439:	5e                   	pop    %rsi
1409f643a:	c3                   	ret
1409f643b:	e8 64 3d 43 00       	call   0x140e2a1a4
1409f6440:	cc                   	int3
1409f6441:	cc                   	int3
1409f6442:	cc                   	int3
1409f6443:	cc                   	int3
1409f6444:	cc                   	int3
1409f6445:	cc                   	int3
1409f6446:	cc                   	int3
1409f6447:	cc                   	int3
1409f6448:	cc                   	int3
1409f6449:	cc                   	int3
1409f644a:	cc                   	int3
1409f644b:	cc                   	int3
1409f644c:	cc                   	int3
1409f644d:	cc                   	int3
1409f644e:	cc                   	int3
1409f644f:	cc                   	int3
1409f6450:	40 55                	rex push %rbp
1409f6452:	48 83 ec 20          	sub    $0x20,%rsp
1409f6456:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
1409f645b:	48 8b e9             	mov    %rcx,%rbp
1409f645e:	0f 84 97 00 00 00    	je     0x1409f64fb
1409f6464:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1409f6468:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1409f646d:	48 8b 42 08          	mov    0x8(%rdx),%rax
1409f6471:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1409f6478:	48 8b 32             	mov    (%rdx),%rsi
1409f647b:	48 85 f6             	test   %rsi,%rsi
1409f647e:	74 44                	je     0x1409f64c4
1409f6480:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1409f6485:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
1409f648a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1409f6490:	48 8b 3e             	mov    (%rsi),%rdi
1409f6493:	48 8d 4e 40          	lea    0x40(%rsi),%rcx
1409f6497:	e8 04 b8 9c ff       	call   0x1403c1ca0
1409f649c:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1409f64a0:	e8 fb b7 9c ff       	call   0x1403c1ca0
1409f64a5:	ba 70 00 00 00       	mov    $0x70,%edx
1409f64aa:	48 8b ce             	mov    %rsi,%rcx
1409f64ad:	e8 92 4c 42 00       	call   0x140e1b144
1409f64b2:	48 8b f7             	mov    %rdi,%rsi
1409f64b5:	48 85 ff             	test   %rdi,%rdi
1409f64b8:	75 d6                	jne    0x1409f6490
1409f64ba:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1409f64bf:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1409f64c4:	48 8b 45 08          	mov    0x8(%rbp),%rax
1409f64c8:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1409f64cd:	48 89 00             	mov    %rax,(%rax)
1409f64d0:	48 8b 45 08          	mov    0x8(%rbp),%rax
1409f64d4:	48 89 40 08          	mov    %rax,0x8(%rax)
1409f64d8:	48 c7 45 10 00 00 00 	movq   $0x0,0x10(%rbp)
1409f64df:	00
1409f64e0:	48 8b 45 08          	mov    0x8(%rbp),%rax
1409f64e4:	48 8b 55 20          	mov    0x20(%rbp),%rdx
1409f64e8:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1409f64ec:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1409f64f1:	e8 ea ff 81 ff       	call   0x1402164e0
1409f64f6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1409f64fb:	48 83 c4 20          	add    $0x20,%rsp
1409f64ff:	5d                   	pop    %rbp
1409f6500:	c3                   	ret
1409f6501:	cc                   	int3
1409f6502:	cc                   	int3
1409f6503:	cc                   	int3
1409f6504:	cc                   	int3
1409f6505:	cc                   	int3
1409f6506:	cc                   	int3
1409f6507:	cc                   	int3
1409f6508:	cc                   	int3
1409f6509:	cc                   	int3
1409f650a:	cc                   	int3
1409f650b:	cc                   	int3
1409f650c:	cc                   	int3
1409f650d:	cc                   	int3
1409f650e:	cc                   	int3
1409f650f:	cc                   	int3
1409f6510:	48 83 ec 28          	sub    $0x28,%rsp
1409f6514:	48 8b c2             	mov    %rdx,%rax
1409f6517:	49 6b d0 68          	imul   $0x68,%r8,%rdx
1409f651b:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1409f6522:	72 18                	jb     0x1409f653c
1409f6524:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1409f6528:	48 83 c2 27          	add    $0x27,%rdx
1409f652c:	48 2b c1             	sub    %rcx,%rax
1409f652f:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1409f6533:	48 83 f8 1f          	cmp    $0x1f,%rax
1409f6537:	77 0f                	ja     0x1409f6548
1409f6539:	48 8b c1             	mov    %rcx,%rax
1409f653c:	48 8b c8             	mov    %rax,%rcx
1409f653f:	48 83 c4 28          	add    $0x28,%rsp
1409f6543:	e9 fc 4b 42 00       	jmp    0x140e1b144
1409f6548:	e8 57 3c 43 00       	call   0x140e2a1a4
1409f654d:	cc                   	int3
1409f654e:	cc                   	int3
1409f654f:	cc                   	int3
1409f6550:	48 83 ec 28          	sub    $0x28,%rsp
1409f6554:	48 8b 01             	mov    (%rcx),%rax
1409f6557:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1409f655b:	74 21                	je     0x1409f657e
1409f655d:	48 83 f8 1d          	cmp    $0x1d,%rax
1409f6561:	77 20                	ja     0x1409f6583
1409f6563:	48 8d 15 96 9a 60 ff 	lea    -0x9f656a(%rip),%rdx        # 0x140000000
1409f656a:	0f b6 84 02 a0 65 9f 	movzbl 0x9f65a0(%rdx,%rax,1),%eax
1409f6571:	00
1409f6572:	8b 8c 82 9c 65 9f 00 	mov    0x9f659c(%rdx,%rax,4),%ecx
1409f6579:	48 03 ca             	add    %rdx,%rcx
1409f657c:	ff e1                	jmp    *%rcx
1409f657e:	48 83 c4 28          	add    $0x28,%rsp
1409f6582:	c3                   	ret
1409f6583:	48 8d 0d b6 3d 68 00 	lea    0x683db6(%rip),%rcx        # 0x14107a340
1409f658a:	e8 71 09 7a ff       	call   0x140196f00
1409f658f:	48 8d 0d aa 3d 68 00 	lea    0x683daa(%rip),%rcx        # 0x14107a340
1409f6596:	e8 e5 bf fc ff       	call   0x1409c2580
1409f659b:	cc                   	int3
1409f659c:	7e 65                	jle    0x1409f6603
1409f659e:	9f                   	lahf