1800502ec:	41 83 f9 02          	cmp    $0x2,%r9d
1800502f0:	75 2e                	jne    0x180050320
1800502f2:	41 8d 42 01          	lea    0x1(%r10),%eax
1800502f6:	3b f8                	cmp    %eax,%edi
1800502f8:	74 26                	je     0x180050320
1800502fa:	41 b8 07 00 e7 c0    	mov    $0xc0e70007,%r8d
180050300:	eb 1e                	jmp    0x180050320
180050302:	41 b8 0a 00 e7 c0    	mov    $0xc0e7000a,%r8d
180050308:	eb 16                	jmp    0x180050320
18005030a:	41 b8 11 00 e7 c0    	mov    $0xc0e70011,%r8d
180050310:	eb 0e                	jmp    0x180050320
180050312:	41 b8 06 00 e7 c0    	mov    $0xc0e70006,%r8d
180050318:	eb 06                	jmp    0x180050320
18005031a:	41 b8 03 00 e7 c0    	mov    $0xc0e70003,%r8d
180050320:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
180050325:	41 8b c0             	mov    %r8d,%eax
180050328:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
18005032d:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
180050332:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
180050337:	41 5e                	pop    %r14
180050339:	c3                   	ret
18005033a:	cc                   	int3
18005033b:	cc                   	int3
18005033c:	b8 01 00 00 00       	mov    $0x1,%eax
180050341:	44 8d 48 01          	lea    0x1(%rax),%r9d
180050345:	44 39 09             	cmp    %r9d,(%rcx)
180050348:	75 12                	jne    0x18005035c
18005034a:	44 8b 42 18          	mov    0x18(%rdx),%r8d
18005034e:	44 39 42 14          	cmp    %r8d,0x14(%rdx)
180050352:	74 08                	je     0x18005035c
180050354:	83 79 08 04          	cmpl   $0x4,0x8(%rcx)
180050358:	41 0f 44 c1          	cmove  %r9d,%eax
18005035c:	c3                   	ret
18005035d:	cc                   	int3
18005035e:	cc                   	int3
18005035f:	cc                   	int3
180050360:	8b 01                	mov    (%rcx),%eax
180050362:	45 33 c9             	xor    %r9d,%r9d
180050365:	ff c8                	dec    %eax
180050367:	45 8a d8             	mov    %r8b,%r11b
18005036a:	4c 8b d2             	mov    %rdx,%r10
18005036d:	83 f8 01             	cmp    $0x1,%eax
180050370:	77 6a                	ja     0x1800503dc
180050372:	48 85 d2             	test   %rdx,%rdx
180050375:	74 5d                	je     0x1800503d4
180050377:	48 f7 c2 ff 0f 00 00 	test   $0xfff,%rdx
18005037e:	75 54                	jne    0x1800503d4
180050380:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180050384:	4d 85 c0             	test   %r8,%r8
180050387:	74 0d                	je     0x180050396
180050389:	33 d2                	xor    %edx,%edx
18005038b:	49 8b c0             	mov    %r8,%rax
18005038e:	49 f7 f2             	div    %r10
180050391:	48 85 d2             	test   %rdx,%rdx
180050394:	74 0b                	je     0x1800503a1
180050396:	45 84 db             	test   %r11b,%r11b
180050399:	74 39                	je     0x1800503d4
18005039b:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18005039f:	75 33                	jne    0x1800503d4
1800503a1:	83 79 10 05          	cmpl   $0x5,0x10(%rcx)
1800503a5:	7e 08                	jle    0x1800503af
1800503a7:	41 b9 0d 00 00 c0    	mov    $0xc000000d,%r9d
1800503ad:	eb 33                	jmp    0x1800503e2
1800503af:	8b 51 14             	mov    0x14(%rcx),%edx
1800503b2:	8d 42 ff             	lea    -0x1(%rdx),%eax
1800503b5:	83 f8 04             	cmp    $0x4,%eax
1800503b8:	77 12                	ja     0x1800503cc
1800503ba:	44 8b 41 18          	mov    0x18(%rcx),%r8d
1800503be:	41 8d 40 ff          	lea    -0x1(%r8),%eax
1800503c2:	83 f8 04             	cmp    $0x4,%eax
1800503c5:	77 05                	ja     0x1800503cc
1800503c7:	41 3b d0             	cmp    %r8d,%edx
1800503ca:	76 16                	jbe    0x1800503e2
1800503cc:	41 b9 01 00 e7 c0    	mov    $0xc0e70001,%r9d
1800503d2:	eb 0e                	jmp    0x1800503e2
1800503d4:	41 b9 0e 00 e7 c0    	mov    $0xc0e7000e,%r9d
1800503da:	eb 06                	jmp    0x1800503e2
1800503dc:	41 b9 0d 00 e7 c0    	mov    $0xc0e7000d,%r9d
1800503e2:	41 8b c1             	mov    %r9d,%eax
1800503e5:	c3                   	ret
1800503e6:	cc                   	int3
1800503e7:	cc                   	int3
1800503e8:	83 3a 03             	cmpl   $0x3,(%rdx)
1800503eb:	44 8b 42 10          	mov    0x10(%rdx),%r8d
1800503ef:	75 0e                	jne    0x1800503ff
1800503f1:	b8 01 00 00 00       	mov    $0x1,%eax
1800503f6:	2b 42 0c             	sub    0xc(%rdx),%eax
1800503f9:	2b 42 04             	sub    0x4(%rdx),%eax
1800503fc:	44 03 c0             	add    %eax,%r8d
1800503ff:	48 8b 41 08          	mov    0x8(%rcx),%rax
180050403:	41 8b d0             	mov    %r8d,%edx
180050406:	48 0f af c2          	imul   %rdx,%rax
18005040a:	c3                   	ret
18005040b:	cc                   	int3
18005040c:	33 d2                	xor    %edx,%edx
18005040e:	8d 42 01             	lea    0x1(%rdx),%eax
180050411:	2b c8                	sub    %eax,%ecx
180050413:	74 18                	je     0x18005042d
180050415:	2b c8                	sub    %eax,%ecx
180050417:	74 12                	je     0x18005042b
180050419:	2b c8                	sub    %eax,%ecx
18005041b:	74 0a                	je     0x180050427
18005041d:	2b c8                	sub    %eax,%ecx
18005041f:	74 08                	je     0x180050429
180050421:	3b c8                	cmp    %eax,%ecx
180050423:	75 0a                	jne    0x18005042f
180050425:	8b d0                	mov    %eax,%edx
180050427:	03 d0                	add    %eax,%edx
180050429:	03 d0                	add    %eax,%edx
18005042b:	03 d0                	add    %eax,%edx
18005042d:	03 d0                	add    %eax,%edx
18005042f:	8b c2                	mov    %edx,%eax
180050431:	c3                   	ret
180050432:	cc                   	int3
180050433:	cc                   	int3
180050434:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180050439:	55                   	push   %rbp
18005043a:	56                   	push   %rsi
18005043b:	57                   	push   %rdi
18005043c:	41 56                	push   %r14
18005043e:	41 57                	push   %r15
180050440:	48 83 ec 50          	sub    $0x50,%rsp
180050444:	48 8b 05 25 c5 11 00 	mov    0x11c525(%rip),%rax        # 0x18016c970
18005044b:	48 33 c4             	xor    %rsp,%rax
18005044e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180050453:	48 8b ea             	mov    %rdx,%rbp
180050456:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
18005045b:	48 8b f9             	mov    %rcx,%rdi
18005045e:	0f 57 c0             	xorps  %xmm0,%xmm0
180050461:	4c 8b ca             	mov    %rdx,%r9
180050464:	48 8d 0d 8d e8 0f 00 	lea    0xfe88d(%rip),%rcx        # 0x18014ecf8
18005046b:	33 db                	xor    %ebx,%ebx
18005046d:	be 00 02 00 00       	mov    $0x200,%esi
180050472:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180050477:	89 74 24 20          	mov    %esi,0x20(%rsp)
18005047b:	8d 53 04             	lea    0x4(%rbx),%edx
18005047e:	e8 89 f6 ff ff       	call   0x18004fb0c
180050483:	44 8b f8             	mov    %eax,%r15d
180050486:	85 c0                	test   %eax,%eax
180050488:	0f 84 0e 01 00 00    	je     0x18005059c
18005048e:	48 b8 20 42 44 45 43 	movabs $0x5350414345444220,%rax
180050495:	41 50 53
180050498:	48 39 44 24 30       	cmp    %rax,0x30(%rsp)
18005049d:	0f 85 f9 00 00 00    	jne    0x18005059c
1800504a3:	66 39 74 24 3a       	cmp    %si,0x3a(%rsp)
1800504a8:	0f 85 ee 00 00 00    	jne    0x18005059c
1800504ae:	0f b7 44 24 38       	movzwl 0x38(%rsp),%eax
1800504b3:	66 ff c8             	dec    %ax
1800504b6:	66 83 f8 02          	cmp    $0x2,%ax
1800504ba:	0f 87 d5 00 00 00    	ja     0x180050595
1800504c0:	44 8b 74 24 3c       	mov    0x3c(%rsp),%r14d
1800504c5:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1800504ca:	4c 8b cd             	mov    %rbp,%r9
1800504cd:	89 5c 24 3c          	mov    %ebx,0x3c(%rsp)
1800504d1:	8d 53 04             	lea    0x4(%rbx),%edx
1800504d4:	48 8d 0d 1d e8 0f 00 	lea    0xfe81d(%rip),%rcx        # 0x18014ecf8
1800504db:	e8 1c f9 ff ff       	call   0x18004fdfc
1800504e0:	44 8b c6             	mov    %esi,%r8d
1800504e3:	48 8b d5             	mov    %rbp,%rdx
1800504e6:	e8 99 39 fe ff       	call   0x180033e84
1800504eb:	44 3b f0             	cmp    %eax,%r14d
1800504ee:	0f 85 a8 00 00 00    	jne    0x18005059c
1800504f4:	4c 8b cd             	mov    %rbp,%r9
1800504f7:	44 89 74 24 3c       	mov    %r14d,0x3c(%rsp)
1800504fc:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
180050501:	8d 53 04             	lea    0x4(%rbx),%edx
180050504:	48 8d 0d ed e7 0f 00 	lea    0xfe7ed(%rip),%rcx        # 0x18014ecf8
18005050b:	e8 ec f8 ff ff       	call   0x18004fdfc
180050510:	0f b7 44 24 38       	movzwl 0x38(%rsp),%eax
180050515:	4c 8d 35 e4 fa fa ff 	lea    -0x5051c(%rip),%r14        # 0x180000000
18005051c:	66 89 07             	mov    %ax,(%rdi)
18005051f:	4d 8d 0c 2f          	lea    (%r15,%rbp,1),%r9
180050523:	8b c8                	mov    %eax,%ecx
180050525:	41 2b f7             	sub    %r15d,%esi
180050528:	48 03 c9             	add    %rcx,%rcx
18005052b:	89 74 24 20          	mov    %esi,0x20(%rsp)
18005052f:	4c 8b c7             	mov    %rdi,%r8
180050532:	41 8b 94 ce 60 ec 14 	mov    0x14ec60(%r14,%rcx,8),%edx
180050539:	00
18005053a:	49 8b 8c ce 68 ec 14 	mov    0x14ec68(%r14,%rcx,8),%rcx
180050541:	00
180050542:	e8 c5 f5 ff ff       	call   0x18004fb0c
180050547:	85 c0                	test   %eax,%eax
180050549:	74 51                	je     0x18005059c
18005054b:	48 8b 15 d6 c0 0f 00 	mov    0xfc0d6(%rip),%rdx        # 0x18014c628
180050552:	48 8b 0d d7 c0 0f 00 	mov    0xfc0d7(%rip),%rcx        # 0x18014c630
180050559:	48 39 57 04          	cmp    %rdx,0x4(%rdi)
18005055d:	75 06                	jne    0x180050565
18005055f:	48 39 4f 0c          	cmp    %rcx,0xc(%rdi)
180050563:	74 37                	je     0x18005059c
180050565:	48 39 57 14          	cmp    %rdx,0x14(%rdi)
180050569:	75 06                	jne    0x180050571
18005056b:	48 39 4f 1c          	cmp    %rcx,0x1c(%rdi)
18005056f:	74 2b                	je     0x18005059c
180050571:	0f b7 17             	movzwl (%rdi),%edx
180050574:	0f b7 4f 24          	movzwl 0x24(%rdi),%ecx
180050578:	41 8b 84 96 e8 ec 14 	mov    0x14ece8(%r14,%rdx,4),%eax
18005057f:	00
180050580:	f7 d0                	not    %eax
180050582:	85 c1                	test   %eax,%ecx
180050584:	75 16                	jne    0x18005059c
180050586:	83 fa 02             	cmp    $0x2,%edx
180050589:	73 16                	jae    0x1800505a1
18005058b:	66 83 c9 01          	or     $0x1,%cx
18005058f:	66 89 4f 24          	mov    %cx,0x24(%rdi)
180050593:	eb 0c                	jmp    0x1800505a1
180050595:	bb 15 00 e7 c0       	mov    $0xc0e70015,%ebx
18005059a:	eb 05                	jmp    0x1800505a1
18005059c:	bb 16 00 e7 c0       	mov    $0xc0e70016,%ebx
1800505a1:	8b c3                	mov    %ebx,%eax
1800505a3:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1800505a8:	48 33 cc             	xor    %rsp,%rcx
1800505ab:	e8 7c 55 fc ff       	call   0x180015b2c
1800505b0:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1800505b7:	00
1800505b8:	48 83 c4 50          	add    $0x50,%rsp
1800505bc:	41 5f                	pop    %r15
1800505be:	41 5e                	pop    %r14
1800505c0:	5f                   	pop    %rdi
1800505c1:	5e                   	pop    %rsi
1800505c2:	5d                   	pop    %rbp
1800505c3:	c3                   	ret
1800505c4:	cc                   	int3
1800505c5:	cc                   	int3
1800505c6:	cc                   	int3
1800505c7:	cc                   	int3
1800505c8:	4c 8b dc             	mov    %rsp,%r11
1800505cb:	49 89 5b 18          	mov    %rbx,0x18(%r11)
1800505cf:	49 89 6b 20          	mov    %rbp,0x20(%r11)
1800505d3:	56                   	push   %rsi
1800505d4:	57                   	push   %rdi
1800505d5:	41 56                	push   %r14
1800505d7:	48 83 ec 40          	sub    $0x40,%rsp
1800505db:	48 8b 05 8e c3 11 00 	mov    0x11c38e(%rip),%rax        # 0x18016c970
1800505e2:	48 33 c4             	xor    %rsp,%rax
1800505e5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1800505ea:	0f b7 79 24          	movzwl 0x24(%rcx),%edi
1800505ee:	4d 8d 43 c8          	lea    -0x38(%r11),%r8
1800505f2:	4c 8b 0a             	mov    (%rdx),%r9
1800505f5:	48 b8 20 42 44 45 43 	movabs $0x5350414345444220,%rax
1800505fc:	41 50 53
1800505ff:	49 89 43 c8          	mov    %rax,-0x38(%r11)
180050603:	4c 8b f2             	mov    %rdx,%r14
180050606:	0f b7 01             	movzwl (%rcx),%eax
180050609:	48 8b f1             	mov    %rcx,%rsi
18005060c:	83 64 24 2c 00       	andl   $0x0,0x2c(%rsp)
180050611:	48 8d 0d e0 e6 0f 00 	lea    0xfe6e0(%rip),%rcx        # 0x18014ecf8
180050618:	bd 00 02 00 00       	mov    $0x200,%ebp
18005061d:	66 89 44 24 28       	mov    %ax,0x28(%rsp)
180050622:	ba 04 00 00 00       	mov    $0x4,%edx
180050627:	66 89 6c 24 2a       	mov    %bp,0x2a(%rsp)
18005062c:	e8 cb f7 ff ff       	call   0x18004fdfc
180050631:	44 0f b7 16          	movzwl (%rsi),%r10d
180050635:	4c 8d 1d c4 f9 fa ff 	lea    -0x5063c(%rip),%r11        # 0x180000000
18005063c:	4c 8b c8             	mov    %rax,%r9
18005063f:	4c 8b c6             	mov    %rsi,%r8
180050642:	43 0f b7 8c 93 e8 ec 	movzwl 0x14ece8(%r11,%r10,4),%ecx
180050649:	14 00
18005064b:	4d 03 d2             	add    %r10,%r10
18005064e:	66 21 4e 24          	and    %cx,0x24(%rsi)
180050652:	43 8b 94 d3 60 ec 14 	mov    0x14ec60(%r11,%r10,8),%edx
180050659:	00
18005065a:	4b 8b 8c d3 68 ec 14 	mov    0x14ec68(%r11,%r10,8),%rcx
180050661:	00
180050662:	e8 95 f7 ff ff       	call   0x18004fdfc
180050667:	66 89 7e 24          	mov    %di,0x24(%rsi)
18005066b:	44 8b c5             	mov    %ebp,%r8d
18005066e:	4d 8b 1e             	mov    (%r14),%r11
180050671:	48 8b d8             	mov    %rax,%rbx
180050674:	49 8b d3             	mov    %r11,%rdx
180050677:	e8 08 38 fe ff       	call   0x180033e84
18005067c:	4d 8b cb             	mov    %r11,%r9
18005067f:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
180050683:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180050688:	ba 04 00 00 00       	mov    $0x4,%edx
18005068d:	48 8d 0d 64 e6 0f 00 	lea    0xfe664(%rip),%rcx        # 0x18014ecf8
180050694:	e8 63 f7 ff ff       	call   0x18004fdfc
180050699:	49 89 1e             	mov    %rbx,(%r14)
18005069c:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1800506a1:	48 33 cc             	xor    %rsp,%rcx
1800506a4:	e8 83 54 fc ff       	call   0x180015b2c
1800506a9:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1800506ae:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
1800506b3:	48 83 c4 40          	add    $0x40,%rsp
1800506b7:	41 5e                	pop    %r14
1800506b9:	5f                   	pop    %rdi
1800506ba:	5e                   	pop    %rsi
1800506bb:	c3                   	ret
1800506bc:	cc                   	int3
1800506bd:	cc                   	int3
1800506be:	cc                   	int3
1800506bf:	cc                   	int3
1800506c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800506c5:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
1800506ca:	55                   	push   %rbp
1800506cb:	48 8d 6c 24 a9       	lea    -0x57(%rsp),%rbp
1800506d0:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
1800506d7:	33 ff                	xor    %edi,%edi
1800506d9:	48 8d 05 70 2f 0f 00 	lea    0xf2f70(%rip),%rax        # 0x180143650
1800506e0:	48 89 01             	mov    %rax,(%rcx)
1800506e3:	0f 57 c9             	xorps  %xmm1,%xmm1
1800506e6:	0f 10 05 3b bf 0f 00 	movups 0xfbf3b(%rip),%xmm0        # 0x18014c628
1800506ed:	33 c0                	xor    %eax,%eax
1800506ef:	48 89 b9 98 00 00 00 	mov    %rdi,0x98(%rcx)
1800506f6:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
1800506fa:	44 8d 47 48          	lea    0x48(%rdi),%r8d
1800506fe:	f3 0f 7f 41 08       	movdqu %xmm0,0x8(%rcx)
180050703:	48 89 b9 a0 00 00 00 	mov    %rdi,0xa0(%rcx)
18005070a:	83 c8 ff             	or     $0xffffffff,%eax
18005070d:	0f 57 c0             	xorps  %xmm0,%xmm0
180050710:	89 81 08 01 00 00    	mov    %eax,0x108(%rcx)
180050716:	0f 11 81 d0 00 00 00 	movups %xmm0,0xd0(%rcx)
18005071d:	89 81 0c 01 00 00    	mov    %eax,0x10c(%rcx)
180050723:	48 8d 05 b6 2e 0f 00 	lea    0xf2eb6(%rip),%rax        # 0x1801435e0
18005072a:	f3 0f 7f 41 28       	movdqu %xmm0,0x28(%rcx)
18005072f:	48 89 b9 a8 00 00 00 	mov    %rdi,0xa8(%rcx)
180050736:	48 8b d9             	mov    %rcx,%rbx
180050739:	f3 0f 7f 41 48       	movdqu %xmm0,0x48(%rcx)
18005073e:	48 89 b9 b0 00 00 00 	mov    %rdi,0xb0(%rcx)
180050745:	33 d2                	xor    %edx,%edx
180050747:	0f 11 45 27          	movups %xmm0,0x27(%rbp)
18005074b:	48 89 b9 b8 00 00 00 	mov    %rdi,0xb8(%rcx)
180050752:	0f 11 45 47          	movups %xmm0,0x47(%rbp)
180050756:	89 b9 c0 00 00 00    	mov    %edi,0xc0(%rcx)
18005075c:	0f 11 45 a7          	movups %xmm0,-0x59(%rbp)
180050760:	48 89 b9 c8 00 00 00 	mov    %rdi,0xc8(%rcx)
180050767:	f2 0f 10 45 b7       	movsd  -0x49(%rbp),%xmm0
18005076c:	f2 0f 11 81 e0 00 00 	movsd  %xmm0,0xe0(%rcx)
180050773:	00
180050774:	f3 0f 7f 49 18       	movdqu %xmm1,0x18(%rcx)
180050779:	89 b9 e8 00 00 00    	mov    %edi,0xe8(%rcx)
18005077f:	f3 0f 7f 49 38       	movdqu %xmm1,0x38(%rcx)
180050784:	48 89 b9 f0 00 00 00 	mov    %rdi,0xf0(%rcx)
18005078b:	c7 81 f8 00 00 00 02 	movl   $0x2,0xf8(%rcx)
180050792:	00 00 00
180050795:	48 89 b9 00 01 00 00 	mov    %rdi,0x100(%rcx)
18005079c:	48 89 b9 10 01 00 00 	mov    %rdi,0x110(%rcx)
1800507a3:	48 89 b9 18 01 00 00 	mov    %rdi,0x118(%rcx)
1800507aa:	48 89 b9 20 01 00 00 	mov    %rdi,0x120(%rcx)
1800507b1:	48 89 b9 28 01 00 00 	mov    %rdi,0x128(%rcx)
1800507b8:	48 89 b9 30 01 00 00 	mov    %rdi,0x130(%rcx)
1800507bf:	48 89 b9 38 01 00 00 	mov    %rdi,0x138(%rcx)
1800507c6:	48 89 b9 40 01 00 00 	mov    %rdi,0x140(%rcx)
1800507cd:	48 89 b9 48 01 00 00 	mov    %rdi,0x148(%rcx)
1800507d4:	48 89 b9 50 01 00 00 	mov    %rdi,0x150(%rcx)
1800507db:	48 89 b9 58 01 00 00 	mov    %rdi,0x158(%rcx)
1800507e2:	48 89 01             	mov    %rax,(%rcx)
1800507e5:	66 89 b9 60 01 00 00 	mov    %di,0x160(%rcx)
1800507ec:	40 88 b9 62 01 00 00 	mov    %dil,0x162(%rcx)
1800507f3:	0f 10 05 2e be 0f 00 	movups 0xfbe2e(%rip),%xmm0        # 0x18014c628