1800511cb:	33 f6                	xor    %esi,%esi
1800511cd:	33 d2                	xor    %edx,%edx
1800511cf:	8b 43 0c             	mov    0xc(%rbx),%eax
1800511d2:	89 45 c7             	mov    %eax,-0x39(%rbp)
1800511d5:	44 8d 46 40          	lea    0x40(%rsi),%r8d
1800511d9:	8b 43 10             	mov    0x10(%rbx),%eax
1800511dc:	89 45 cb             	mov    %eax,-0x35(%rbp)
1800511df:	8b 43 14             	mov    0x14(%rbx),%eax
1800511e2:	89 45 cf             	mov    %eax,-0x31(%rbp)
1800511e5:	8b 43 18             	mov    0x18(%rbx),%eax
1800511e8:	89 45 d3             	mov    %eax,-0x2d(%rbp)
1800511eb:	48 8d 41 18          	lea    0x18(%rcx),%rax
1800511ef:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
1800511f3:	48 8d 41 28          	lea    0x28(%rcx),%rax
1800511f7:	48 89 45 df          	mov    %rax,-0x21(%rbp)
1800511fb:	48 8d 41 38          	lea    0x38(%rcx),%rax
1800511ff:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
180051203:	48 8d 41 48          	lea    0x48(%rcx),%rax
180051207:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
18005120b:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
18005120f:	e8 6c 4a 0e 00       	call   0x180135c80
180051214:	44 8b 73 04          	mov    0x4(%rbx),%r14d
180051218:	48 8d 7d c7          	lea    -0x39(%rbp),%rdi
18005121c:	41 ff ce             	dec    %r14d
18005121f:	33 db                	xor    %ebx,%ebx
180051221:	8b 0f                	mov    (%rdi),%ecx
180051223:	83 f9 24             	cmp    $0x24,%ecx
180051226:	72 24                	jb     0x18005124c
180051228:	41 3b ce             	cmp    %r14d,%ecx
18005122b:	77 1f                	ja     0x18005124c
18005122d:	49 03 8f a0 00 00 00 	add    0xa0(%r15),%rcx
180051234:	48 8d 55 f7          	lea    -0x9(%rbp),%rdx
180051238:	8b c3                	mov    %ebx,%eax
18005123a:	48 c1 e0 04          	shl    $0x4,%rax
18005123e:	48 03 d0             	add    %rax,%rdx
180051241:	e8 fa eb fe ff       	call   0x18003fe40
180051246:	8b f0                	mov    %eax,%esi
180051248:	85 c0                	test   %eax,%eax
18005124a:	78 46                	js     0x180051292
18005124c:	ff c3                	inc    %ebx
18005124e:	48 83 c7 04          	add    $0x4,%rdi
180051252:	83 fb 04             	cmp    $0x4,%ebx
180051255:	72 ca                	jb     0x180051221
180051257:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
18005125b:	41 b9 04 00 00 00    	mov    $0x4,%r9d
180051261:	4c 8d 45 f7          	lea    -0x9(%rbp),%r8
180051265:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
180051269:	8b 01                	mov    (%rcx),%eax
18005126b:	83 f8 24             	cmp    $0x24,%eax
18005126e:	72 10                	jb     0x180051280
180051270:	41 3b c6             	cmp    %r14d,%eax
180051273:	77 0b                	ja     0x180051280
180051275:	48 8b 02             	mov    (%rdx),%rax
180051278:	41 0f 10 00          	movups (%r8),%xmm0
18005127c:	f3 0f 7f 00          	movdqu %xmm0,(%rax)
180051280:	48 83 c1 04          	add    $0x4,%rcx
180051284:	49 83 c0 10          	add    $0x10,%r8
180051288:	48 83 c2 08          	add    $0x8,%rdx
18005128c:	49 83 e9 01          	sub    $0x1,%r9
180051290:	75 d7                	jne    0x180051269
180051292:	8b c6                	mov    %esi,%eax
180051294:	48 8b 4d 37          	mov    0x37(%rbp),%rcx
180051298:	48 33 cc             	xor    %rsp,%rcx
18005129b:	e8 8c 48 fc ff       	call   0x180015b2c
1800512a0:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
1800512a7:	00
1800512a8:	49 8b 5b 28          	mov    0x28(%r11),%rbx
1800512ac:	49 8b 73 30          	mov    0x30(%r11),%rsi
1800512b0:	49 8b 7b 38          	mov    0x38(%r11),%rdi
1800512b4:	49 8b e3             	mov    %r11,%rsp
1800512b7:	41 5f                	pop    %r15
1800512b9:	41 5e                	pop    %r14
1800512bb:	5d                   	pop    %rbp
1800512bc:	c3                   	ret
1800512bd:	cc                   	int3
1800512be:	cc                   	int3
1800512bf:	cc                   	int3
1800512c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800512c5:	8b 01                	mov    (%rcx),%eax
1800512c7:	4c 8b d9             	mov    %rcx,%r11
1800512ca:	4c 69 c8 ed ff ff 7f 	imul   $0x7fffffed,%rax,%r9
1800512d1:	48 bb 05 00 00 00 02 	movabs $0x200000005,%rbx
1800512d8:	00 00 00
1800512db:	49 81 c1 c3 ff ff 7f 	add    $0x7fffffc3,%r9
1800512e2:	48 8b c3             	mov    %rbx,%rax
1800512e5:	49 f7 e1             	mul    %r9
1800512e8:	4d 8b c1             	mov    %r9,%r8
1800512eb:	48 8b c3             	mov    %rbx,%rax
1800512ee:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1800512f3:	4c 2b c2             	sub    %rdx,%r8
1800512f6:	49 d1 e8             	shr    $1,%r8
1800512f9:	4c 03 c2             	add    %rdx,%r8
1800512fc:	49 c1 e8 1e          	shr    $0x1e,%r8
180051300:	49 69 c8 ff ff ff 7f 	imul   $0x7fffffff,%r8,%rcx
180051307:	4c 2b c9             	sub    %rcx,%r9
18005130a:	45 8b d1             	mov    %r9d,%r10d
18005130d:	4d 69 c2 ed ff ff 7f 	imul   $0x7fffffed,%r10,%r8
180051314:	49 81 c0 c3 ff ff 7f 	add    $0x7fffffc3,%r8
18005131b:	49 f7 e0             	mul    %r8
18005131e:	49 8b c8             	mov    %r8,%rcx
180051321:	48 8d 05 b8 b2 11 00 	lea    0x11b2b8(%rip),%rax        # 0x18016c5e0
180051328:	48 2b ca             	sub    %rdx,%rcx
18005132b:	48 d1 e9             	shr    $1,%rcx
18005132e:	48 03 ca             	add    %rdx,%rcx
180051331:	48 c1 e9 1e          	shr    $0x1e,%rcx
180051335:	48 69 c9 ff ff ff 7f 	imul   $0x7fffffff,%rcx,%rcx
18005133c:	4c 2b c1             	sub    %rcx,%r8
18005133f:	45 89 03             	mov    %r8d,(%r11)
180051342:	41 83 e0 7f          	and    $0x7f,%r8d
180051346:	46 87 14 80          	xchg   %r10d,(%rax,%r8,4)
18005134a:	41 8b c2             	mov    %r10d,%eax
18005134d:	c3                   	ret
18005134e:	cc                   	int3
18005134f:	cc                   	int3
180051350:	48 8b 41 20          	mov    0x20(%rcx),%rax
180051354:	48 85 c0             	test   %rax,%rax
180051357:	74 06                	je     0x18005135f
180051359:	48 83 c0 58          	add    $0x58,%rax
18005135d:	eb 08                	jmp    0x180051367
18005135f:	48 8b 41 08          	mov    0x8(%rcx),%rax
180051363:	48 83 c0 50          	add    $0x50,%rax
180051367:	8b 40 10             	mov    0x10(%rax),%eax
18005136a:	41 0f af c0          	imul   %r8d,%eax
18005136e:	03 c2                	add    %edx,%eax
180051370:	48 c1 e0 05          	shl    $0x5,%rax
180051374:	48 03 41 30          	add    0x30(%rcx),%rax
180051378:	c3                   	ret
180051379:	cc                   	int3
18005137a:	cc                   	int3
18005137b:	cc                   	int3
18005137c:	48 83 ec 28          	sub    $0x28,%rsp
180051380:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
180051385:	45 8b d8             	mov    %r8d,%r11d
180051388:	45 33 c0             	xor    %r8d,%r8d
18005138b:	45 32 c9             	xor    %r9b,%r9b
18005138e:	45 85 d2             	test   %r10d,%r10d
180051391:	74 18                	je     0x1800513ab
180051393:	e8 b8 ff ff ff       	call   0x180051350
180051398:	44 39 58 10          	cmp    %r11d,0x10(%rax)
18005139c:	74 0a                	je     0x1800513a8
18005139e:	41 ff c0             	inc    %r8d
1800513a1:	45 3b c2             	cmp    %r10d,%r8d
1800513a4:	72 ed                	jb     0x180051393
1800513a6:	eb 03                	jmp    0x1800513ab
1800513a8:	41 b1 01             	mov    $0x1,%r9b
1800513ab:	83 c8 ff             	or     $0xffffffff,%eax
1800513ae:	45 84 c9             	test   %r9b,%r9b
1800513b1:	41 0f 45 c0          	cmovne %r8d,%eax
1800513b5:	48 83 c4 28          	add    $0x28,%rsp
1800513b9:	c3                   	ret
1800513ba:	cc                   	int3
1800513bb:	cc                   	int3
1800513bc:	40 53                	rex push %rbx
1800513be:	48 83 ec 20          	sub    $0x20,%rsp
1800513c2:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1800513c6:	33 db                	xor    %ebx,%ebx
1800513c8:	48 8b 81 e8 00 00 00 	mov    0xe8(%rcx),%rax
1800513cf:	eb 0a                	jmp    0x1800513db
1800513d1:	48 8b c8             	mov    %rax,%rcx
1800513d4:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
1800513db:	48 85 c0             	test   %rax,%rax
1800513de:	75 f1                	jne    0x1800513d1
1800513e0:	8b 52 04             	mov    0x4(%rdx),%edx
1800513e3:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
1800513ea:	e8 ed 24 ff ff       	call   0x1800438dc
1800513ef:	48 85 c0             	test   %rax,%rax
1800513f2:	74 04                	je     0x1800513f8
1800513f4:	48 8b 58 08          	mov    0x8(%rax),%rbx
1800513f8:	48 8b c3             	mov    %rbx,%rax
1800513fb:	48 83 c4 20          	add    $0x20,%rsp
1800513ff:	5b                   	pop    %rbx
180051400:	c3                   	ret
180051401:	cc                   	int3
180051402:	cc                   	int3
180051403:	cc                   	int3
180051404:	48 83 ec 28          	sub    $0x28,%rsp
180051408:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18005140c:	48 8b 81 e8 00 00 00 	mov    0xe8(%rcx),%rax
180051413:	eb 0a                	jmp    0x18005141f
180051415:	48 8b c8             	mov    %rax,%rcx
180051418:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18005141f:	48 85 c0             	test   %rax,%rax
180051422:	75 f1                	jne    0x180051415
180051424:	8b 52 04             	mov    0x4(%rdx),%edx
180051427:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
18005142e:	e8 a9 24 ff ff       	call   0x1800438dc
180051433:	48 83 c4 28          	add    $0x28,%rsp
180051437:	c3                   	ret
180051438:	cc                   	int3
180051439:	cc                   	int3
18005143a:	cc                   	int3
18005143b:	cc                   	int3
18005143c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180051441:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180051446:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005144b:	57                   	push   %rdi
18005144c:	48 83 ec 20          	sub    $0x20,%rsp
180051450:	48 8b 69 20          	mov    0x20(%rcx),%rbp
180051454:	33 db                	xor    %ebx,%ebx
180051456:	8b fb                	mov    %ebx,%edi
180051458:	48 8b f1             	mov    %rcx,%rsi
18005145b:	48 85 ed             	test   %rbp,%rbp
18005145e:	74 06                	je     0x180051466
180051460:	48 8d 45 58          	lea    0x58(%rbp),%rax
180051464:	eb 08                	jmp    0x18005146e
180051466:	48 8b 46 08          	mov    0x8(%rsi),%rax
18005146a:	48 83 c0 50          	add    $0x50,%rax
18005146e:	3b 78 10             	cmp    0x10(%rax),%edi
180051471:	73 17                	jae    0x18005148a
180051473:	8b d7                	mov    %edi,%edx
180051475:	48 8b ce             	mov    %rsi,%rcx
180051478:	e8 27 00 00 00       	call   0x1800514a4
18005147d:	84 c0                	test   %al,%al
18005147f:	74 04                	je     0x180051485
180051481:	ff c7                	inc    %edi
180051483:	eb d6                	jmp    0x18005145b
180051485:	bb c0 00 00 c0       	mov    $0xc00000c0,%ebx
18005148a:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18005148f:	8b c3                	mov    %ebx,%eax
180051491:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180051496:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18005149b:	48 83 c4 20          	add    $0x20,%rsp
18005149f:	5f                   	pop    %rdi
1800514a0:	c3                   	ret
1800514a1:	cc                   	int3
1800514a2:	cc                   	int3
1800514a3:	cc                   	int3
1800514a4:	40 53                	rex push %rbx
1800514a6:	48 83 ec 20          	sub    $0x20,%rsp
1800514aa:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
1800514af:	45 33 c9             	xor    %r9d,%r9d
1800514b2:	8b da                	mov    %edx,%ebx
1800514b4:	4c 8b d9             	mov    %rcx,%r11
1800514b7:	45 8b c1             	mov    %r9d,%r8d
1800514ba:	45 85 d2             	test   %r10d,%r10d
1800514bd:	74 1b                	je     0x1800514da
1800514bf:	8b d3                	mov    %ebx,%edx
1800514c1:	49 8b cb             	mov    %r11,%rcx
1800514c4:	e8 1b 00 00 00       	call   0x1800514e4
1800514c9:	84 c0                	test   %al,%al
1800514cb:	75 0a                	jne    0x1800514d7
1800514cd:	41 ff c0             	inc    %r8d
1800514d0:	45 3b c2             	cmp    %r10d,%r8d
1800514d3:	72 ea                	jb     0x1800514bf
1800514d5:	eb 03                	jmp    0x1800514da
1800514d7:	41 b1 01             	mov    $0x1,%r9b
1800514da:	41 8a c1             	mov    %r9b,%al
1800514dd:	48 83 c4 20          	add    $0x20,%rsp
1800514e1:	5b                   	pop    %rbx
1800514e2:	c3                   	ret
1800514e3:	cc                   	int3
1800514e4:	48 83 ec 28          	sub    $0x28,%rsp
1800514e8:	e8 63 fe ff ff       	call   0x180051350
1800514ed:	32 c9                	xor    %cl,%cl
1800514ef:	8a 50 03             	mov    0x3(%rax),%dl
1800514f2:	8a 40 02             	mov    0x2(%rax),%al
1800514f5:	80 e2 0f             	and    $0xf,%dl
1800514f8:	24 0f                	and    $0xf,%al
1800514fa:	3c 01                	cmp    $0x1,%al
1800514fc:	75 04                	jne    0x180051502
1800514fe:	84 d2                	test   %dl,%dl
180051500:	eb 03                	jmp    0x180051505
180051502:	80 fa 01             	cmp    $0x1,%dl
180051505:	75 02                	jne    0x180051509
180051507:	b1 01                	mov    $0x1,%cl
180051509:	8a c1                	mov    %cl,%al
18005150b:	48 83 c4 28          	add    $0x28,%rsp
18005150f:	c3                   	ret
180051510:	cc                   	int3
180051511:	cc                   	int3
180051512:	cc                   	int3
180051513:	cc                   	int3
180051514:	48 83 ec 28          	sub    $0x28,%rsp
180051518:	45 32 c9             	xor    %r9b,%r9b
18005151b:	e8 30 fe ff ff       	call   0x180051350
180051520:	8a 50 02             	mov    0x2(%rax),%dl
180051523:	b8 01 00 00 00       	mov    $0x1,%eax
180051528:	80 e2 0f             	and    $0xf,%dl
18005152b:	8a ca                	mov    %dl,%cl
18005152d:	2a c8                	sub    %al,%cl
18005152f:	f6 c1 fa             	test   $0xfa,%cl
180051532:	75 0b                	jne    0x18005153f
180051534:	80 fa 02             	cmp    $0x2,%dl
180051537:	45 0f b6 c9          	movzbl %r9b,%r9d
18005153b:	44 0f 45 c8          	cmovne %eax,%r9d
18005153f:	41 8a c1             	mov    %r9b,%al
180051542:	48 83 c4 28          	add    $0x28,%rsp
180051546:	c3                   	ret
180051547:	cc                   	int3
180051548:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005154d:	57                   	push   %rdi
18005154e:	48 83 ec 20          	sub    $0x20,%rsp
180051552:	49 8b f9             	mov    %r9,%rdi
180051555:	e8 f6 fd ff ff       	call   0x180051350
18005155a:	48 8b d8             	mov    %rax,%rbx
18005155d:	32 c0                	xor    %al,%al
18005155f:	8a 53 02             	mov    0x2(%rbx),%dl
180051562:	80 e2 0f             	and    $0xf,%dl
180051565:	80 fa 06             	cmp    $0x6,%dl
180051568:	75 35                	jne    0x18005159f
18005156a:	0f b7 13             	movzwl (%rbx),%edx
18005156d:	f6 c2 40             	test   $0x40,%dl
180051570:	74 1c                	je     0x18005158e
180051572:	48 8b d3             	mov    %rbx,%rdx
180051575:	e8 8a fe ff ff       	call   0x180051404
18005157a:	48 8b 53 08          	mov    0x8(%rbx),%rdx
18005157e:	48 8b c8             	mov    %rax,%rcx
180051581:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
180051586:	48 03 d7             	add    %rdi,%rdx
180051589:	e8 6e 64 fe ff       	call   0x1800379fc
18005158e:	0f b7 0b             	movzwl (%rbx),%ecx
180051591:	f6 c1 40             	test   $0x40,%cl
180051594:	0f b6 c0             	movzbl %al,%eax
180051597:	b9 01 00 00 00       	mov    $0x1,%ecx
18005159c:	0f 44 c1             	cmove  %ecx,%eax
18005159f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800515a4:	48 83 c4 20          	add    $0x20,%rsp
1800515a8:	5f                   	pop    %rdi
1800515a9:	c3                   	ret
1800515aa:	cc                   	int3
1800515ab:	cc                   	int3
1800515ac:	48 8b 41 20          	mov    0x20(%rcx),%rax
1800515b0:	48 85 c0             	test   %rax,%rax
1800515b3:	74 06                	je     0x1800515bb
1800515b5:	48 83 c0 38          	add    $0x38,%rax
1800515b9:	c3                   	ret
1800515ba:	cc                   	int3
1800515bb:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800515bf:	48 83 c0 30          	add    $0x30,%rax
1800515c3:	c3                   	ret
1800515c4:	cc                   	int3
1800515c5:	cc                   	int3
1800515c6:	cc                   	int3
1800515c7:	cc                   	int3
1800515c8:	48 8b 41 20          	mov    0x20(%rcx),%rax
1800515cc:	48 85 c0             	test   %rax,%rax
1800515cf:	74 06                	je     0x1800515d7
1800515d1:	48 83 c0 58          	add    $0x58,%rax
1800515d5:	c3                   	ret
1800515d6:	cc                   	int3
1800515d7:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800515db:	48 83 c0 50          	add    $0x50,%rax
1800515df:	c3                   	ret
1800515e0:	cc                   	int3
1800515e1:	cc                   	int3
1800515e2:	cc                   	int3
1800515e3:	cc                   	int3
1800515e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800515e9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800515ee:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)