1801041a5:	cc                   	int3
1801041a6:	cc                   	int3
1801041a7:	cc                   	int3
1801041a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801041ad:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1801041b2:	57                   	push   %rdi
1801041b3:	48 83 ec 30          	sub    $0x30,%rsp
1801041b7:	83 4c 24 50 ff       	orl    $0xffffffff,0x50(%rsp)
1801041bc:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
1801041c1:	33 c0                	xor    %eax,%eax
1801041c3:	48 8b da             	mov    %rdx,%rbx
1801041c6:	89 44 24 54          	mov    %eax,0x54(%rsp)
1801041ca:	41 8b d1             	mov    %r9d,%edx
1801041cd:	48 8b 41 08          	mov    0x8(%rcx),%rax
1801041d1:	48 8b f9             	mov    %rcx,%rdi
1801041d4:	ff d0                	call   *%rax
1801041d6:	0f 1f 00             	nopl   (%rax)
1801041d9:	48 85 c0             	test   %rax,%rax
1801041dc:	75 07                	jne    0x1801041e5
1801041de:	b8 02 00 00 00       	mov    $0x2,%eax
1801041e3:	eb 60                	jmp    0x180104245
1801041e5:	0f b7 48 48          	movzwl 0x48(%rax),%ecx
1801041e9:	4c 8d 50 4c          	lea    0x4c(%rax),%r10
1801041ed:	8a 40 02             	mov    0x2(%rax),%al
1801041f0:	a8 20                	test   $0x20,%al
1801041f2:	74 10                	je     0x180104204
1801041f4:	44 8b c1             	mov    %ecx,%r8d
1801041f7:	49 8b d2             	mov    %r10,%rdx
1801041fa:	48 8b cb             	mov    %rbx,%rcx
1801041fd:	e8 de b7 ff ff       	call   0x1800ff9e0
180104202:	eb 1d                	jmp    0x180104221
180104204:	0f b7 13             	movzwl (%rbx),%edx
180104207:	4c 8b c9             	mov    %rcx,%r9
18010420a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18010420e:	4d 8b c2             	mov    %r10,%r8
180104211:	49 d1 e9             	shr    $1,%r9
180104214:	48 d1 ea             	shr    $1,%rdx
180104217:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
18010421c:	e8 7b 97 f7 ff       	call   0x18007d99c
180104221:	8b d8                	mov    %eax,%ebx
180104223:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
180104228:	48 8b 47 10          	mov    0x10(%rdi),%rax
18010422c:	48 8b cf             	mov    %rdi,%rcx
18010422f:	ff d0                	call   *%rax
180104231:	0f 1f 00             	nopl   (%rax)
180104234:	85 db                	test   %ebx,%ebx
180104236:	75 04                	jne    0x18010423c
180104238:	33 c0                	xor    %eax,%eax
18010423a:	eb 09                	jmp    0x180104245
18010423c:	c1 fb 1f             	sar    $0x1f,%ebx
18010423f:	83 e3 fe             	and    $0xfffffffe,%ebx
180104242:	8d 43 01             	lea    0x1(%rbx),%eax
180104245:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18010424a:	48 83 c4 30          	add    $0x30,%rsp
18010424e:	5f                   	pop    %rdi
18010424f:	c3                   	ret
180104250:	cc                   	int3
180104251:	cc                   	int3
180104252:	cc                   	int3
180104253:	cc                   	int3
180104254:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180104259:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18010425e:	56                   	push   %rsi
18010425f:	57                   	push   %rdi
180104260:	41 56                	push   %r14
180104262:	48 83 ec 20          	sub    $0x20,%rsp
180104266:	33 c0                	xor    %eax,%eax
180104268:	33 db                	xor    %ebx,%ebx
18010426a:	48 8b f9             	mov    %rcx,%rdi
18010426d:	89 44 24 4c          	mov    %eax,0x4c(%rsp)
180104271:	8b 42 14             	mov    0x14(%rdx),%eax
180104274:	83 c9 ff             	or     $0xffffffff,%ecx
180104277:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
18010427b:	4d 8b f1             	mov    %r9,%r14
18010427e:	41 89 09             	mov    %ecx,(%r9)
180104281:	41 8b f0             	mov    %r8d,%esi
180104284:	8b eb                	mov    %ebx,%ebp
180104286:	44 3b c0             	cmp    %eax,%r8d
180104289:	73 23                	jae    0x1801042ae
18010428b:	8b 52 1c             	mov    0x1c(%rdx),%edx
18010428e:	48 8b 47 08          	mov    0x8(%rdi),%rax
180104292:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
180104297:	48 8b cf             	mov    %rdi,%rcx
18010429a:	ff d0                	call   *%rax
18010429c:	0f 1f 00             	nopl   (%rax)
18010429f:	48 8b e8             	mov    %rax,%rbp
1801042a2:	48 85 c0             	test   %rax,%rax
1801042a5:	75 1c                	jne    0x1801042c3
1801042a7:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
1801042ac:	eb 3c                	jmp    0x1801042ea
1801042ae:	83 bf d0 00 00 00 01 	cmpl   $0x1,0xd0(%rdi)
1801042b5:	76 1d                	jbe    0x1801042d4
1801042b7:	2b f0                	sub    %eax,%esi
1801042b9:	3b 72 18             	cmp    0x18(%rdx),%esi
1801042bc:	73 2c                	jae    0x1801042ea
1801042be:	8b 52 20             	mov    0x20(%rdx),%edx
1801042c1:	eb cb                	jmp    0x18010428e
1801042c3:	44 8b c6             	mov    %esi,%r8d
1801042c6:	48 8b d5             	mov    %rbp,%rdx
1801042c9:	48 8b cf             	mov    %rdi,%rcx
1801042cc:	e8 2f 00 00 00       	call   0x180104300
1801042d1:	41 89 06             	mov    %eax,(%r14)
1801042d4:	48 85 ed             	test   %rbp,%rbp
1801042d7:	74 11                	je     0x1801042ea
1801042d9:	48 8b 47 10          	mov    0x10(%rdi),%rax
1801042dd:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
1801042e2:	48 8b cf             	mov    %rdi,%rcx
1801042e5:	ff d0                	call   *%rax
1801042e7:	0f 1f 00             	nopl   (%rax)
1801042ea:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1801042ef:	8b c3                	mov    %ebx,%eax
1801042f1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801042f6:	48 83 c4 20          	add    $0x20,%rsp
1801042fa:	41 5e                	pop    %r14
1801042fc:	5f                   	pop    %rdi
1801042fd:	5e                   	pop    %rsi
1801042fe:	c3                   	ret
1801042ff:	cc                   	int3
180104300:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180104305:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18010430a:	56                   	push   %rsi
18010430b:	57                   	push   %rdi
18010430c:	41 56                	push   %r14
18010430e:	48 83 ec 20          	sub    $0x20,%rsp
180104312:	83 4c 24 48 ff       	orl    $0xffffffff,0x48(%rsp)
180104317:	33 c0                	xor    %eax,%eax
180104319:	89 44 24 4c          	mov    %eax,0x4c(%rsp)
18010431d:	48 8b f1             	mov    %rcx,%rsi
180104320:	0f b7 02             	movzwl (%rdx),%eax
180104323:	b9 72 69 00 00       	mov    $0x6972,%ecx
180104328:	41 8b f8             	mov    %r8d,%edi
18010432b:	48 8b da             	mov    %rdx,%rbx
18010432e:	66 3b c1             	cmp    %cx,%ax
180104331:	75 54                	jne    0x180104387
180104333:	45 33 f6             	xor    %r14d,%r14d
180104336:	41 8b ee             	mov    %r14d,%ebp
180104339:	66 44 3b 72 02       	cmp    0x2(%rdx),%r14w
18010433e:	73 59                	jae    0x180104399
180104340:	8b c5                	mov    %ebp,%eax
180104342:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
180104347:	48 8b ce             	mov    %rsi,%rcx
18010434a:	8b 54 83 04          	mov    0x4(%rbx,%rax,4),%edx
18010434e:	48 8b 46 08          	mov    0x8(%rsi),%rax
180104352:	ff d0                	call   *%rax
180104354:	0f 1f 00             	nopl   (%rax)
180104357:	48 8b c8             	mov    %rax,%rcx
18010435a:	48 85 c0             	test   %rax,%rax
18010435d:	74 78                	je     0x1801043d7
18010435f:	0f b7 40 02          	movzwl 0x2(%rax),%eax
180104363:	3b f8                	cmp    %eax,%edi
180104365:	72 3a                	jb     0x1801043a1
180104367:	2b f8                	sub    %eax,%edi
180104369:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
18010436e:	48 8b 46 10          	mov    0x10(%rsi),%rax
180104372:	48 8b ce             	mov    %rsi,%rcx
180104375:	ff d0                	call   *%rax
180104377:	0f 1f 00             	nopl   (%rax)
18010437a:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
18010437e:	ff c5                	inc    %ebp
180104380:	3b e8                	cmp    %eax,%ebp
180104382:	72 bc                	jb     0x180104340
180104384:	0f b7 03             	movzwl (%rbx),%eax
180104387:	ba 6c 66 00 00       	mov    $0x666c,%edx
18010438c:	66 2b c2             	sub    %dx,%ax
18010438f:	ba ff fd 00 00       	mov    $0xfdff,%edx
180104394:	66 85 c2             	test   %ax,%dx
180104397:	74 43                	je     0x1801043dc
180104399:	8b c7                	mov    %edi,%eax
18010439b:	8b 44 83 04          	mov    0x4(%rbx,%rax,4),%eax
18010439f:	eb 41                	jmp    0x1801043e2
1801043a1:	0f b7 01             	movzwl (%rcx),%eax
1801043a4:	ba 6c 66 00 00       	mov    $0x666c,%edx
1801043a9:	66 2b c2             	sub    %dx,%ax
1801043ac:	ba ff fd 00 00       	mov    $0xfdff,%edx
1801043b1:	66 85 c2             	test   %ax,%dx
1801043b4:	8b c7                	mov    %edi,%eax
1801043b6:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
1801043bb:	74 06                	je     0x1801043c3
1801043bd:	8b 5c 81 04          	mov    0x4(%rcx,%rax,4),%ebx
1801043c1:	eb 04                	jmp    0x1801043c7
1801043c3:	8b 5c c1 04          	mov    0x4(%rcx,%rax,8),%ebx
1801043c7:	48 8b 46 10          	mov    0x10(%rsi),%rax
1801043cb:	48 8b ce             	mov    %rsi,%rcx
1801043ce:	ff d0                	call   *%rax
1801043d0:	0f 1f 00             	nopl   (%rax)
1801043d3:	8b c3                	mov    %ebx,%eax
1801043d5:	eb 0b                	jmp    0x1801043e2
1801043d7:	83 c8 ff             	or     $0xffffffff,%eax
1801043da:	eb 06                	jmp    0x1801043e2
1801043dc:	8b c7                	mov    %edi,%eax
1801043de:	8b 44 c3 04          	mov    0x4(%rbx,%rax,8),%eax
1801043e2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801043e7:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1801043ec:	48 83 c4 20          	add    $0x20,%rsp
1801043f0:	41 5e                	pop    %r14
1801043f2:	5f                   	pop    %rdi
1801043f3:	5e                   	pop    %rsi
1801043f4:	c3                   	ret
1801043f5:	cc                   	int3
1801043f6:	cc                   	int3
1801043f7:	cc                   	int3
1801043f8:	44 0f b7 51 02       	movzwl 0x2(%rcx),%r10d
1801043fd:	45 33 c0             	xor    %r8d,%r8d
180104400:	4c 8b c9             	mov    %rcx,%r9
180104403:	66 45 3b c2          	cmp    %r10w,%r8w
180104407:	73 3a                	jae    0x180104443
180104409:	44 0f b7 19          	movzwl (%rcx),%r11d
18010440d:	b9 6c 66 00 00       	mov    $0x666c,%ecx
180104412:	41 0f b7 c3          	movzwl %r11w,%eax
180104416:	66 2b c1             	sub    %cx,%ax
180104419:	b9 ff fd 00 00       	mov    $0xfdff,%ecx
18010441e:	66 85 c1             	test   %ax,%cx
180104421:	74 0b                	je     0x18010442e
180104423:	41 0f b7 c0          	movzwl %r8w,%eax
180104427:	41 39 54 81 04       	cmp    %edx,0x4(%r9,%rax,4)
18010442c:	eb 09                	jmp    0x180104437
18010442e:	41 0f b7 c8          	movzwl %r8w,%ecx
180104432:	41 39 54 c9 04       	cmp    %edx,0x4(%r9,%rcx,8)
180104437:	74 0a                	je     0x180104443
180104439:	66 41 ff c0          	inc    %r8w
18010443d:	66 45 3b c2          	cmp    %r10w,%r8w
180104441:	72 ca                	jb     0x18010440d
180104443:	41 0f b7 c0          	movzwl %r8w,%eax
180104447:	c3                   	ret
180104448:	cc                   	int3
180104449:	cc                   	int3
18010444a:	cc                   	int3
18010444b:	cc                   	int3
18010444c:	48 83 ec 28          	sub    $0x28,%rsp
180104450:	4c 8b c9             	mov    %rcx,%r9
180104453:	44 0f b7 d2          	movzwl %dx,%r10d
180104457:	b9 6c 66 00 00       	mov    $0x666c,%ecx
18010445c:	41 0f b7 01          	movzwl (%r9),%eax
180104460:	66 2b c1             	sub    %cx,%ax
180104463:	b9 ff fd 00 00       	mov    $0xfdff,%ecx
180104468:	66 85 c1             	test   %ax,%cx
18010446b:	74 37                	je     0x1801044a4
18010446d:	45 0f b7 41 02       	movzwl 0x2(%r9),%r8d
180104472:	66 45 3b d0          	cmp    %r8w,%r10w
180104476:	73 66                	jae    0x1801044de
180104478:	66 41 83 e8 01       	sub    $0x1,%r8w
18010447d:	66 45 89 41 02       	mov    %r8w,0x2(%r9)
180104482:	74 5a                	je     0x1801044de
180104484:	45 0f b7 c0          	movzwl %r8w,%r8d
180104488:	41 8d 4a 01          	lea    0x1(%r10),%ecx
18010448c:	48 ff c1             	inc    %rcx
18010448f:	4d 2b c2             	sub    %r10,%r8
180104492:	49 c1 e0 02          	shl    $0x2,%r8
180104496:	49 8d 14 89          	lea    (%r9,%rcx,4),%rdx
18010449a:	49 83 c1 04          	add    $0x4,%r9
18010449e:	4b 8d 0c 91          	lea    (%r9,%r10,4),%rcx
1801044a2:	eb 35                	jmp    0x1801044d9
1801044a4:	41 0f b7 51 02       	movzwl 0x2(%r9),%edx
1801044a9:	66 44 3b d2          	cmp    %dx,%r10w
1801044ad:	73 2f                	jae    0x1801044de
1801044af:	66 83 ea 01          	sub    $0x1,%dx
1801044b3:	66 41 89 51 02       	mov    %dx,0x2(%r9)
1801044b8:	74 24                	je     0x1801044de
1801044ba:	44 0f b7 c2          	movzwl %dx,%r8d
1801044be:	41 8d 42 01          	lea    0x1(%r10),%eax
1801044c2:	4d 2b c2             	sub    %r10,%r8
1801044c5:	49 8d 51 04          	lea    0x4(%r9),%rdx
1801044c9:	49 8d 49 04          	lea    0x4(%r9),%rcx
1801044cd:	49 c1 e0 03          	shl    $0x3,%r8
1801044d1:	48 8d 14 c2          	lea    (%rdx,%rax,8),%rdx
1801044d5:	4a 8d 0c d1          	lea    (%rcx,%r10,8),%rcx
1801044d9:	e8 e2 14 03 00       	call   0x1801359c0
1801044de:	48 83 c4 28          	add    $0x28,%rsp
1801044e2:	c3                   	ret
1801044e3:	cc                   	int3
1801044e4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1801044e9:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
1801044ee:	55                   	push   %rbp
1801044ef:	56                   	push   %rsi
1801044f0:	57                   	push   %rdi
1801044f1:	41 54                	push   %r12
1801044f3:	41 55                	push   %r13
1801044f5:	41 56                	push   %r14
1801044f7:	41 57                	push   %r15
1801044f9:	48 8b ec             	mov    %rsp,%rbp
1801044fc:	48 83 ec 50          	sub    $0x50,%rsp
180104500:	33 c0                	xor    %eax,%eax
180104502:	48 8b d9             	mov    %rcx,%rbx
180104505:	83 c9 ff             	or     $0xffffffff,%ecx
180104508:	89 45 f4             	mov    %eax,-0xc(%rbp)
18010450b:	45 8b e0             	mov    %r8d,%r12d
18010450e:	89 4d f0             	mov    %ecx,-0x10(%rbp)
180104511:	89 4d e0             	mov    %ecx,-0x20(%rbp)
180104514:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
180104518:	8d 70 01             	lea    0x1(%rax),%esi
18010451b:	89 45 e4             	mov    %eax,-0x1c(%rbp)
18010451e:	89 4d d8             	mov    %ecx,-0x28(%rbp)
180104521:	33 ff                	xor    %edi,%edi
180104523:	89 45 dc             	mov    %eax,-0x24(%rbp)
180104526:	48 8b cb             	mov    %rbx,%rcx
180104529:	48 8b 43 08          	mov    0x8(%rbx),%rax
18010452d:	44 8b ef             	mov    %edi,%r13d
180104530:	ff d0                	call   *%rax
180104532:	0f 1f 00             	nopl   (%rax)
180104535:	4c 8b f0             	mov    %rax,%r14
180104538:	48 85 c0             	test   %rax,%rax
18010453b:	75 08                	jne    0x180104545
18010453d:	40 8a f7             	mov    %dil,%sil
180104540:	e9 f7 01 00 00       	jmp    0x18010473c
180104545:	44 8b 78 1c          	mov    0x1c(%rax),%r15d
180104549:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18010454d:	48 8b 43 08          	mov    0x8(%rbx),%rax
180104551:	41 8b d7             	mov    %r15d,%edx
180104554:	48 8b cb             	mov    %rbx,%rcx
180104557:	44 89 7d d4          	mov    %r15d,-0x2c(%rbp)
18010455b:	ff d0                	call   *%rax
18010455d:	0f 1f 00             	nopl   (%rax)
180104560:	33 c9                	xor    %ecx,%ecx
180104562:	48 8b f8             	mov    %rax,%rdi
180104565:	48 85 c0             	test   %rax,%rax
180104568:	75 08                	jne    0x180104572
18010456a:	40 8a f1             	mov    %cl,%sil
18010456d:	e9 ba 01 00 00       	jmp    0x18010472c
180104572:	b8 72 69 00 00       	mov    $0x6972,%eax
180104577:	66 39 07             	cmp    %ax,(%rdi)
18010457a:	0f 85 20 01 00 00    	jne    0x1801046a0
180104580:	44 0f b7 67 02       	movzwl 0x2(%rdi),%r12d
180104585:	44 8b f9             	mov    %ecx,%r15d
180104588:	66 45 85 e4          	test   %r12w,%r12w
18010458c:	0f 84 5a 01 00 00    	je     0x1801046ec
180104592:	48 8d 47 04          	lea    0x4(%rdi),%rax
180104596:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18010459a:	45 85 ff             	test   %r15d,%r15d
18010459d:	74 14                	je     0x1801045b3
18010459f:	48 8b 43 10          	mov    0x10(%rbx),%rax
1801045a3:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
1801045a7:	48 8b cb             	mov    %rbx,%rcx
1801045aa:	ff d0                	call   *%rax
1801045ac:	0f 1f 00             	nopl   (%rax)
1801045af:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
1801045b3:	8b 08                	mov    (%rax),%ecx
1801045b5:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
1801045b9:	48 8b 43 08          	mov    0x8(%rbx),%rax
1801045bd:	8b d1                	mov    %ecx,%edx
1801045bf:	89 4d d0             	mov    %ecx,-0x30(%rbp)
1801045c2:	48 8b cb             	mov    %rbx,%rcx
1801045c5:	ff d0                	call   *%rax
1801045c7:	0f 1f 00             	nopl   (%rax)
1801045ca:	33 c9                	xor    %ecx,%ecx
1801045cc:	4c 8b e8             	mov    %rax,%r13
1801045cf:	48 85 c0             	test   %rax,%rax
1801045d2:	0f 84 db 00 00 00    	je     0x1801046b3
1801045d8:	8b 55 50             	mov    0x50(%rbp),%edx
1801045db:	48 8b c8             	mov    %rax,%rcx
1801045de:	e8 15 fe ff ff       	call   0x1801043f8