1801080da:	41 ff c6             	inc    %r14d
1801080dd:	44 89 b5 83 00 00 00 	mov    %r14d,0x83(%rbp)
1801080e4:	44 3b 37             	cmp    (%rdi),%r14d
1801080e7:	0f 82 60 ff ff ff    	jb     0x18010804d
1801080ed:	33 db                	xor    %ebx,%ebx
1801080ef:	8b 45 9b             	mov    -0x65(%rbp),%eax
1801080f2:	89 07                	mov    %eax,(%rdi)
1801080f4:	8b 45 97             	mov    -0x69(%rbp),%eax
1801080f7:	89 47 04             	mov    %eax,0x4(%rdi)
1801080fa:	8b 44 24 40          	mov    0x40(%rsp),%eax
1801080fe:	41 89 07             	mov    %eax,(%r15)
180108101:	8b 44 24 44          	mov    0x44(%rsp),%eax
180108105:	41 89 47 04          	mov    %eax,0x4(%r15)
180108109:	8b c3                	mov    %ebx,%eax
18010810b:	eb 05                	jmp    0x180108112
18010810d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180108112:	48 81 c4 f8 00 00 00 	add    $0xf8,%rsp
180108119:	41 5f                	pop    %r15
18010811b:	41 5e                	pop    %r14
18010811d:	41 5d                	pop    %r13
18010811f:	41 5c                	pop    %r12
180108121:	5f                   	pop    %rdi
180108122:	5e                   	pop    %rsi
180108123:	5b                   	pop    %rbx
180108124:	5d                   	pop    %rbp
180108125:	c3                   	ret
180108126:	cc                   	int3
180108127:	cc                   	int3
180108128:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18010812d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180108132:	55                   	push   %rbp
180108133:	56                   	push   %rsi
180108134:	57                   	push   %rdi
180108135:	41 54                	push   %r12
180108137:	41 55                	push   %r13
180108139:	41 56                	push   %r14
18010813b:	41 57                	push   %r15
18010813d:	48 8b ec             	mov    %rsp,%rbp
180108140:	48 83 ec 10          	sub    $0x10,%rsp
180108144:	48 8b 02             	mov    (%rdx),%rax
180108147:	49 8b f8             	mov    %r8,%rdi
18010814a:	f2 41 0f 10 00       	movsd  (%r8),%xmm0
18010814f:	4c 8b d2             	mov    %rdx,%r10
180108152:	44 8b 21             	mov    (%rcx),%r12d
180108155:	4d 8b e9             	mov    %r9,%r13
180108158:	44 8b 79 04          	mov    0x4(%rcx),%r15d
18010815c:	8b d0                	mov    %eax,%edx
18010815e:	41 8b 48 08          	mov    0x8(%r8),%ecx
180108162:	45 33 c0             	xor    %r8d,%r8d
180108165:	44 8b 37             	mov    (%rdi),%r14d
180108168:	8a 1d 54 d8 08 00    	mov    0x8d854(%rip),%bl        # 0x1801959c2
18010816e:	48 89 45 48          	mov    %rax,0x48(%rbp)
180108172:	f2 0f 11 45 f0       	movsd  %xmm0,-0x10(%rbp)
180108177:	89 4d 68             	mov    %ecx,0x68(%rbp)
18010817a:	44 3b f0             	cmp    %eax,%r14d
18010817d:	0f 82 18 01 00 00    	jb     0x18010829b
180108183:	8b 77 04             	mov    0x4(%rdi),%esi
180108186:	48 c1 e8 20          	shr    $0x20,%rax
18010818a:	3b f0                	cmp    %eax,%esi
18010818c:	0f 82 09 01 00 00    	jb     0x18010829b
180108192:	44 8b 5d f0          	mov    -0x10(%rbp),%r11d
180108196:	b1 02                	mov    $0x2,%cl
180108198:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
18010819c:	44 2b da             	sub    %edx,%r11d
18010819f:	45 3b fb             	cmp    %r11d,%r15d
1801081a2:	45 0f 46 df          	cmovbe %r15d,%r11d
1801081a6:	49 c1 e9 20          	shr    $0x20,%r9
1801081aa:	44 2b c8             	sub    %eax,%r9d
1801081ad:	8a c3                	mov    %bl,%al
1801081af:	45 3b e1             	cmp    %r9d,%r12d
1801081b2:	45 0f 46 cc          	cmovbe %r12d,%r9d
1801081b6:	2a c1                	sub    %cl,%al
1801081b8:	3c 01                	cmp    $0x1,%al
1801081ba:	77 42                	ja     0x1801081fe
1801081bc:	44 38 05 fd d7 08 00 	cmp    %r8b,0x8d7fd(%rip)        # 0x1801959c0
1801081c3:	74 39                	je     0x1801081fe
1801081c5:	45 3b df             	cmp    %r15d,%r11d
1801081c8:	73 0c                	jae    0x1801081d6
1801081ca:	3a d9                	cmp    %cl,%bl
1801081cc:	75 08                	jne    0x1801081d6
1801081ce:	41 8b d0             	mov    %r8d,%edx
1801081d1:	89 55 48             	mov    %edx,0x48(%rbp)
1801081d4:	eb 0d                	jmp    0x1801081e3
1801081d6:	41 8b c6             	mov    %r14d,%eax
1801081d9:	41 2b c3             	sub    %r11d,%eax
1801081dc:	2b c2                	sub    %edx,%eax
1801081de:	8b d0                	mov    %eax,%edx
1801081e0:	89 45 48             	mov    %eax,0x48(%rbp)
1801081e3:	45 3b cc             	cmp    %r12d,%r9d
1801081e6:	73 09                	jae    0x1801081f1
1801081e8:	3a d9                	cmp    %cl,%bl
1801081ea:	75 05                	jne    0x1801081f1
1801081ec:	41 8b c8             	mov    %r8d,%ecx
1801081ef:	eb 5e                	jmp    0x18010824f
1801081f1:	8b ce                	mov    %esi,%ecx
1801081f3:	41 2b c9             	sub    %r9d,%ecx
1801081f6:	2b 4d 4c             	sub    0x4c(%rbp),%ecx
1801081f9:	89 4d 4c             	mov    %ecx,0x4c(%rbp)
1801081fc:	eb 03                	jmp    0x180108201
1801081fe:	8b 4d 4c             	mov    0x4c(%rbp),%ecx
180108201:	8d 43 ff             	lea    -0x1(%rbx),%eax
180108204:	a8 fd                	test   $0xfd,%al
180108206:	75 4a                	jne    0x180108252
180108208:	44 38 05 b1 d7 08 00 	cmp    %r8b,0x8d7b1(%rip)        # 0x1801959c0
18010820f:	74 41                	je     0x180108252
180108211:	44 89 75 f4          	mov    %r14d,-0xc(%rbp)
180108215:	89 75 f0             	mov    %esi,-0x10(%rbp)
180108218:	80 fb 01             	cmp    $0x1,%bl
18010821b:	75 19                	jne    0x180108236
18010821d:	45 3b df             	cmp    %r15d,%r11d
180108220:	73 05                	jae    0x180108227
180108222:	41 8b c8             	mov    %r8d,%ecx
180108225:	eb 09                	jmp    0x180108230
180108227:	41 8b ce             	mov    %r14d,%ecx
18010822a:	41 2b 0a             	sub    (%r10),%ecx
18010822d:	41 2b cb             	sub    %r11d,%ecx
180108230:	41 8b 52 04          	mov    0x4(%r10),%edx
180108234:	eb 16                	jmp    0x18010824c
180108236:	45 3b cc             	cmp    %r12d,%r9d
180108239:	73 05                	jae    0x180108240
18010823b:	41 8b d0             	mov    %r8d,%edx
18010823e:	eb 09                	jmp    0x180108249
180108240:	8b d6                	mov    %esi,%edx
180108242:	41 2b 52 04          	sub    0x4(%r10),%edx
180108246:	41 2b d1             	sub    %r9d,%edx
180108249:	41 8b 0a             	mov    (%r10),%ecx
18010824c:	89 55 48             	mov    %edx,0x48(%rbp)
18010824f:	89 4d 4c             	mov    %ecx,0x4c(%rbp)
180108252:	39 55 f0             	cmp    %edx,-0x10(%rbp)
180108255:	72 44                	jb     0x18010829b
180108257:	39 4d f4             	cmp    %ecx,-0xc(%rbp)
18010825a:	72 3f                	jb     0x18010829b
18010825c:	4d 85 ed             	test   %r13,%r13
18010825f:	74 08                	je     0x180108269
180108261:	45 89 65 04          	mov    %r12d,0x4(%r13)
180108265:	45 89 7d 00          	mov    %r15d,0x0(%r13)
180108269:	48 8b 45 60          	mov    0x60(%rbp),%rax
18010826d:	48 85 c0             	test   %rax,%rax
180108270:	74 06                	je     0x180108278
180108272:	49 8b 0a             	mov    (%r10),%rcx
180108275:	48 89 08             	mov    %rcx,(%rax)
180108278:	8b 45 68             	mov    0x68(%rbp),%eax
18010827b:	f2 0f 10 45 f0       	movsd  -0x10(%rbp),%xmm0
180108280:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
180108284:	89 47 08             	mov    %eax,0x8(%rdi)
180108287:	48 8b 45 48          	mov    0x48(%rbp),%rax
18010828b:	49 89 02             	mov    %rax,(%r10)
18010828e:	48 8b 45 40          	mov    0x40(%rbp),%rax
180108292:	44 89 08             	mov    %r9d,(%rax)
180108295:	44 89 58 04          	mov    %r11d,0x4(%rax)
180108299:	eb 06                	jmp    0x1801082a1
18010829b:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
1801082a1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1801082a6:	41 8b c0             	mov    %r8d,%eax
1801082a9:	48 83 c4 10          	add    $0x10,%rsp
1801082ad:	41 5f                	pop    %r15
1801082af:	41 5e                	pop    %r14
1801082b1:	41 5d                	pop    %r13
1801082b3:	41 5c                	pop    %r12
1801082b5:	5f                   	pop    %rdi
1801082b6:	5e                   	pop    %rsi
1801082b7:	5d                   	pop    %rbp
1801082b8:	c3                   	ret
1801082b9:	cc                   	int3
1801082ba:	cc                   	int3
1801082bb:	cc                   	int3
1801082bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801082c1:	44 0f b6 15 f9 d6 08 	movzbl 0x8d6f9(%rip),%r10d        # 0x1801959c2
1801082c8:	00
1801082c9:	45 33 db             	xor    %r11d,%r11d
1801082cc:	49 8b d8             	mov    %r8,%rbx
1801082cf:	45 85 d2             	test   %r10d,%r10d
1801082d2:	74 50                	je     0x180108324
1801082d4:	41 83 ea 01          	sub    $0x1,%r10d
1801082d8:	74 3b                	je     0x180108315
1801082da:	41 83 ea 01          	sub    $0x1,%r10d
1801082de:	74 23                	je     0x180108303
1801082e0:	41 83 fa 01          	cmp    $0x1,%r10d
1801082e4:	74 08                	je     0x1801082ee
1801082e6:	41 bb bb 00 00 c0    	mov    $0xc00000bb,%r11d
1801082ec:	eb 56                	jmp    0x180108344
1801082ee:	44 8b 42 04          	mov    0x4(%rdx),%r8d
1801082f2:	48 8b c1             	mov    %rcx,%rax
1801082f5:	48 c1 e8 20          	shr    $0x20,%rax
1801082f9:	44 2b c0             	sub    %eax,%r8d
1801082fc:	8b c1                	mov    %ecx,%eax
1801082fe:	41 ff c8             	dec    %r8d
180108301:	eb 2b                	jmp    0x18010832e
180108303:	44 8b 02             	mov    (%rdx),%r8d
180108306:	8b 42 04             	mov    0x4(%rdx),%eax
180108309:	44 2b c1             	sub    %ecx,%r8d
18010830c:	41 ff c8             	dec    %r8d
18010830f:	48 c1 e9 20          	shr    $0x20,%rcx
180108313:	eb 09                	jmp    0x18010831e
180108315:	8b 02                	mov    (%rdx),%eax
180108317:	4c 8b c1             	mov    %rcx,%r8
18010831a:	49 c1 e8 20          	shr    $0x20,%r8
18010831e:	2b c1                	sub    %ecx,%eax
180108320:	ff c8                	dec    %eax
180108322:	eb 0a                	jmp    0x18010832e
180108324:	48 8b c1             	mov    %rcx,%rax
180108327:	44 8b c1             	mov    %ecx,%r8d
18010832a:	48 c1 e8 20          	shr    $0x20,%rax
18010832e:	8b 53 04             	mov    0x4(%rbx),%edx
180108331:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180108336:	03 d0                	add    %eax,%edx
180108338:	41 0f af 51 08       	imul   0x8(%r9),%edx
18010833d:	03 13                	add    (%rbx),%edx
18010833f:	41 03 d0             	add    %r8d,%edx
180108342:	89 11                	mov    %edx,(%rcx)
180108344:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180108349:	41 8b c3             	mov    %r11d,%eax
18010834c:	c3                   	ret
18010834d:	cc                   	int3
18010834e:	cc                   	int3
18010834f:	cc                   	int3
180108350:	48 8b c4             	mov    %rsp,%rax
180108353:	48 89 58 08          	mov    %rbx,0x8(%rax)
180108357:	48 89 70 10          	mov    %rsi,0x10(%rax)
18010835b:	48 89 78 18          	mov    %rdi,0x18(%rax)
18010835f:	4c 89 60 20          	mov    %r12,0x20(%rax)
180108363:	55                   	push   %rbp
180108364:	41 56                	push   %r14
180108366:	41 57                	push   %r15
180108368:	48 8b ec             	mov    %rsp,%rbp
18010836b:	48 83 ec 70          	sub    $0x70,%rsp
18010836f:	48 8b c2             	mov    %rdx,%rax
180108372:	44 8b e1             	mov    %ecx,%r12d
180108375:	48 8b c8             	mov    %rax,%rcx
180108378:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
18010837c:	4d 8b f1             	mov    %r9,%r14
18010837f:	4d 8b f8             	mov    %r8,%r15
180108382:	e8 4d 01 00 00       	call   0x1801084d4
180108387:	85 c0                	test   %eax,%eax
180108389:	0f 88 24 01 00 00    	js     0x1801084b3
18010838f:	48 8b 7d c0          	mov    -0x40(%rbp),%rdi
180108393:	bb 04 00 00 00       	mov    $0x4,%ebx
180108398:	83 65 c8 00          	andl   $0x0,-0x38(%rbp)
18010839c:	83 4d cc ff          	orl    $0xffffffff,-0x34(%rbp)
1801083a0:	83 65 dc 00          	andl   $0x0,-0x24(%rbp)
1801083a4:	0f bf 47 54          	movswl 0x54(%rdi),%eax
1801083a8:	8b 57 60             	mov    0x60(%rdi),%edx
1801083ab:	0f bf 4f 52          	movswl 0x52(%rdi),%ecx
1801083af:	4c 0f bf 57 50       	movswq 0x50(%rdi),%r10
1801083b4:	2b c8                	sub    %eax,%ecx
1801083b6:	0f b7 47 78          	movzwl 0x78(%rdi),%eax
1801083ba:	4c 63 c9             	movslq %ecx,%r9
1801083bd:	4c 0f af ca          	imul   %rdx,%r9
1801083c1:	4c 0f af d2          	imul   %rdx,%r10
1801083c5:	4c 8d 04 c0          	lea    (%rax,%rax,8),%r8
1801083c9:	48 89 7d d0          	mov    %rdi,-0x30(%rbp)
1801083cd:	49 c1 e0 03          	shl    $0x3,%r8
1801083d1:	ff c3                	inc    %ebx
1801083d3:	49 8b c1             	mov    %r9,%rax
1801083d6:	8b cb                	mov    %ebx,%ecx
1801083d8:	48 0f af c1          	imul   %rcx,%rax
1801083dc:	48 c1 e0 06          	shl    $0x6,%rax
1801083e0:	48 99                	cqto
1801083e2:	49 f7 f8             	idiv   %r8
1801083e5:	4c 8b d8             	mov    %rax,%r11
1801083e8:	49 8b c2             	mov    %r10,%rax
1801083eb:	48 0f af c1          	imul   %rcx,%rax
1801083ef:	41 8b cb             	mov    %r11d,%ecx
1801083f2:	48 c1 e0 06          	shl    $0x6,%rax
1801083f6:	48 99                	cqto
1801083f8:	c1 f9 06             	sar    $0x6,%ecx
1801083fb:	49 f7 f8             	idiv   %r8
1801083fe:	48 8b d0             	mov    %rax,%rdx
180108401:	45 85 db             	test   %r11d,%r11d
180108404:	79 08                	jns    0x18010840e
180108406:	81 c9 00 00 00 fc    	or     $0xfc000000,%ecx
18010840c:	eb 08                	jmp    0x180108416
18010840e:	41 f6 c3 3f          	test   $0x3f,%r11b
180108412:	74 02                	je     0x180108416
180108414:	ff c1                	inc    %ecx
180108416:	c1 f8 06             	sar    $0x6,%eax
180108419:	8d 71 02             	lea    0x2(%rcx),%esi
18010841c:	8b c8                	mov    %eax,%ecx
18010841e:	89 75 c4             	mov    %esi,-0x3c(%rbp)
180108421:	81 c9 00 00 00 fc    	or     $0xfc000000,%ecx
180108427:	85 d2                	test   %edx,%edx
180108429:	0f 49 c8             	cmovns %eax,%ecx
18010842c:	f6 c2 20             	test   $0x20,%dl
18010842f:	8d 41 01             	lea    0x1(%rcx),%eax
180108432:	0f 44 c1             	cmove  %ecx,%eax
180108435:	89 45 c0             	mov    %eax,-0x40(%rbp)
180108438:	41 3b f4             	cmp    %r12d,%esi
18010843b:	72 94                	jb     0x1801083d1
18010843d:	89 5d d8             	mov    %ebx,-0x28(%rbp)
180108440:	76 28                	jbe    0x18010846a
180108442:	83 fb 05             	cmp    $0x5,%ebx
180108445:	77 07                	ja     0x18010844e
180108447:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18010844c:	eb 65                	jmp    0x1801084b3
18010844e:	ff cb                	dec    %ebx
180108450:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180108454:	48 8d 55 c4          	lea    -0x3c(%rbp),%rdx
180108458:	89 5d d8             	mov    %ebx,-0x28(%rbp)
18010845b:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
18010845f:	e8 b4 16 00 00       	call   0x180109b18
180108464:	8b 45 c0             	mov    -0x40(%rbp),%eax
180108467:	8b 75 c4             	mov    -0x3c(%rbp),%esi
18010846a:	4d 85 ff             	test   %r15,%r15
18010846d:	74 2e                	je     0x18010849d
18010846f:	41 0f b7 0f          	movzwl (%r15),%ecx
180108473:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180108477:	33 c0                	xor    %eax,%eax
180108479:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
18010847d:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
180108481:	0f 57 c0             	xorps  %xmm0,%xmm0
180108484:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
180108488:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18010848d:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
180108491:	e8 da 3f 00 00       	call   0x18010c470
180108496:	85 c0                	test   %eax,%eax
180108498:	78 19                	js     0x1801084b3
18010849a:	8b 45 c0             	mov    -0x40(%rbp),%eax
18010849d:	41 89 06             	mov    %eax,(%r14)
1801084a0:	48 8b 45 40          	mov    0x40(%rbp),%rax
1801084a4:	41 89 76 04          	mov    %esi,0x4(%r14)
1801084a8:	89 18                	mov    %ebx,(%rax)
1801084aa:	48 8b 45 48          	mov    0x48(%rbp),%rax
1801084ae:	48 89 38             	mov    %rdi,(%rax)
1801084b1:	33 c0                	xor    %eax,%eax
1801084b3:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1801084b8:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1801084bc:	49 8b 73 28          	mov    0x28(%r11),%rsi
1801084c0:	49 8b 7b 30          	mov    0x30(%r11),%rdi
1801084c4:	4d 8b 63 38          	mov    0x38(%r11),%r12
1801084c8:	49 8b e3             	mov    %r11,%rsp
1801084cb:	41 5f                	pop    %r15
1801084cd:	41 5e                	pop    %r14
1801084cf:	5d                   	pop    %rbp
1801084d0:	c3                   	ret
1801084d1:	cc                   	int3
1801084d2:	cc                   	int3
1801084d3:	cc                   	int3
1801084d4:	48 8b c4             	mov    %rsp,%rax
1801084d7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1801084db:	48 89 68 10          	mov    %rbp,0x10(%rax)
1801084df:	48 89 70 18          	mov    %rsi,0x18(%rax)
1801084e3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1801084e7:	41 54                	push   %r12
1801084e9:	41 56                	push   %r14
1801084eb:	41 57                	push   %r15
1801084ed:	48 83 ec 20          	sub    $0x20,%rsp
1801084f1:	80 3d 80 d4 08 00 00 	cmpb   $0x0,0x8d480(%rip)        # 0x180195978
1801084f8:	4c 8b fa             	mov    %rdx,%r15
1801084fb:	48 8b e9             	mov    %rcx,%rbp
1801084fe:	be 25 02 00 c0       	mov    $0xc0000225,%esi