180017277:	48 89 9e 18 01 00 00 	mov    %rbx,0x118(%rsi)
18001727e:	33 db                	xor    %ebx,%ebx
180017280:	83 f8 04             	cmp    $0x4,%eax
180017283:	0f 85 8b 00 00 00    	jne    0x180017314
180017289:	b9 00 00 04 00       	mov    $0x40000,%ecx
18001728e:	e8 bd 2b 08 00       	call   0x180099e50
180017293:	48 8b f8             	mov    %rax,%rdi
180017296:	48 85 c0             	test   %rax,%rax
180017299:	74 79                	je     0x180017314
18001729b:	21 5c 24 28          	and    %ebx,0x28(%rsp)
18001729f:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1800172a4:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
1800172a8:	4c 8b cf             	mov    %rdi,%r9
1800172ab:	45 33 c0             	xor    %r8d,%r8d
1800172ae:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800172b3:	ba 00 00 04 00       	mov    $0x40000,%edx
1800172b8:	e8 93 1c 05 00       	call   0x180068f50
1800172bd:	85 c0                	test   %eax,%eax
1800172bf:	78 39                	js     0x1800172fa
1800172c1:	81 7c 24 50 00 00 04 	cmpl   $0x40000,0x50(%rsp)
1800172c8:	00
1800172c9:	75 2f                	jne    0x1800172fa
1800172cb:	8b 87 08 20 00 00    	mov    0x2008(%rdi),%eax
1800172d1:	3d fc ff 03 00       	cmp    $0x3fffc,%eax
1800172d6:	77 22                	ja     0x1800172fa
1800172d8:	81 3c 38 54 52 47 44 	cmpl   $0x44475254,(%rax,%rdi,1)
1800172df:	75 19                	jne    0x1800172fa
1800172e1:	48 89 7e 28          	mov    %rdi,0x28(%rsi)
1800172e5:	48 8b 8e 18 01 00 00 	mov    0x118(%rsi),%rcx
1800172ec:	e8 0b 2d 08 00       	call   0x180099ffc
1800172f1:	48 89 be 18 01 00 00 	mov    %rdi,0x118(%rsi)
1800172f8:	33 ff                	xor    %edi,%edi
1800172fa:	48 85 ff             	test   %rdi,%rdi
1800172fd:	74 15                	je     0x180017314
1800172ff:	48 8b cf             	mov    %rdi,%rcx
180017302:	e8 f5 2c 08 00       	call   0x180099ffc
180017307:	48 85 db             	test   %rbx,%rbx
18001730a:	74 08                	je     0x180017314
18001730c:	48 8b cb             	mov    %rbx,%rcx
18001730f:	e8 e8 2c 08 00       	call   0x180099ffc
180017314:	83 7c 24 48 ff       	cmpl   $0xffffffff,0x48(%rsp)
180017319:	74 09                	je     0x180017324
18001731b:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
18001731f:	e8 dc 11 05 00       	call   0x180068500
180017324:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180017329:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
18001732e:	48 83 c4 30          	add    $0x30,%rsp
180017332:	5f                   	pop    %rdi
180017333:	c3                   	ret
180017334:	cc                   	int3
180017335:	cc                   	int3
180017336:	cc                   	int3
180017337:	cc                   	int3
180017338:	48 8b c4             	mov    %rsp,%rax
18001733b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18001733f:	48 89 70 10          	mov    %rsi,0x10(%rax)
180017343:	48 89 78 18          	mov    %rdi,0x18(%rax)
180017347:	55                   	push   %rbp
180017348:	41 54                	push   %r12
18001734a:	41 55                	push   %r13
18001734c:	41 56                	push   %r14
18001734e:	41 57                	push   %r15
180017350:	48 8d a8 18 ff ff ff 	lea    -0xe8(%rax),%rbp
180017357:	48 81 ec c0 01 00 00 	sub    $0x1c0,%rsp
18001735e:	45 33 ff             	xor    %r15d,%r15d
180017361:	49 8b f8             	mov    %r8,%rdi
180017364:	44 8b e2             	mov    %edx,%r12d
180017367:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
18001736c:	44 8b e9             	mov    %ecx,%r13d
18001736f:	33 d2                	xor    %edx,%edx
180017371:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
180017376:	41 8b f7             	mov    %r15d,%esi
180017379:	41 8d 5f 48          	lea    0x48(%r15),%ebx
18001737d:	44 8b c3             	mov    %ebx,%r8d
180017380:	e8 fb e8 11 00       	call   0x180135c80
180017385:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
18001738a:	89 5c 24 58          	mov    %ebx,0x58(%rsp)
18001738e:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
180017393:	44 89 7c 24 60       	mov    %r15d,0x60(%rsp)
180017398:	4c 89 7c 24 38       	mov    %r15,0x38(%rsp)
18001739d:	44 89 7c 24 44       	mov    %r15d,0x44(%rsp)
1800173a2:	e8 b5 fa 00 00       	call   0x180026e5c
1800173a7:	8b d8                	mov    %eax,%ebx
1800173a9:	85 c0                	test   %eax,%eax
1800173ab:	0f 88 e3 00 00 00    	js     0x180017494
1800173b1:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1800173b6:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1800173bb:	e8 04 6e 00 00       	call   0x18001e1c4
1800173c0:	8b d8                	mov    %eax,%ebx
1800173c2:	85 c0                	test   %eax,%eax
1800173c4:	0f 88 c0 00 00 00    	js     0x18001748a
1800173ca:	48 8d 85 08 01 00 00 	lea    0x108(%rbp),%rax
1800173d1:	41 83 c8 ff          	or     $0xffffffff,%r8d
1800173d5:	41 8d 57 0c          	lea    0xc(%r15),%edx
1800173d9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1800173de:	8d 4a f7             	lea    -0x9(%rdx),%ecx
1800173e1:	48 c7 44 24 20 04 00 	movq   $0x4,0x20(%rsp)
1800173e8:	00 00
1800173ea:	4c 8d 0d df 15 13 00 	lea    0x1315df(%rip),%r9        # 0x1801489d0
1800173f1:	e8 5a 77 00 00       	call   0x18001eb50
1800173f6:	8b d8                	mov    %eax,%ebx
1800173f8:	85 c0                	test   %eax,%eax
1800173fa:	0f 88 8a 00 00 00    	js     0x18001748a
180017400:	4c 8b b5 08 01 00 00 	mov    0x108(%rbp),%r14
180017407:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
18001740c:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
180017411:	48 8d 8d 08 01 00 00 	lea    0x108(%rbp),%rcx
180017418:	49 89 36             	mov    %rsi,(%r14)
18001741b:	4c 89 76 08          	mov    %r14,0x8(%rsi)
18001741f:	e8 18 6f 00 00       	call   0x18001e33c
180017424:	8b d8                	mov    %eax,%ebx
180017426:	85 c0                	test   %eax,%eax
180017428:	78 6a                	js     0x180017494
18001742a:	4c 8b bd 08 01 00 00 	mov    0x108(%rbp),%r15
180017431:	48 8d 8d 08 01 00 00 	lea    0x108(%rbp),%rcx
180017438:	4d 89 37             	mov    %r14,(%r15)
18001743b:	4d 89 7e 08          	mov    %r15,0x8(%r14)
18001743f:	e8 dc 71 00 00       	call   0x18001e620
180017444:	8b d8                	mov    %eax,%ebx
180017446:	85 c0                	test   %eax,%eax
180017448:	78 47                	js     0x180017491
18001744a:	48 8b 8d 08 01 00 00 	mov    0x108(%rbp),%rcx
180017451:	49 8b 07             	mov    (%r15),%rax
180017454:	48 89 01             	mov    %rax,(%rcx)
180017457:	49 89 4f 10          	mov    %rcx,0x10(%r15)
18001745b:	48 8d 8d 08 01 00 00 	lea    0x108(%rbp),%rcx
180017462:	e8 81 70 00 00       	call   0x18001e4e8
180017467:	45 33 ff             	xor    %r15d,%r15d
18001746a:	8b d8                	mov    %eax,%ebx
18001746c:	85 c0                	test   %eax,%eax
18001746e:	78 24                	js     0x180017494
180017470:	48 8b 8d 08 01 00 00 	mov    0x108(%rbp),%rcx
180017477:	49 8b 06             	mov    (%r14),%rax
18001747a:	48 89 01             	mov    %rax,(%rcx)
18001747d:	49 89 4e 10          	mov    %rcx,0x10(%r14)
180017481:	48 89 b7 b0 00 00 00 	mov    %rsi,0xb0(%rdi)
180017488:	eb 0a                	jmp    0x180017494
18001748a:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
18001748f:	eb 03                	jmp    0x180017494
180017491:	45 33 ff             	xor    %r15d,%r15d
180017494:	44 39 7c 24 44       	cmp    %r15d,0x44(%rsp)
180017499:	74 0a                	je     0x1800174a5
18001749b:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1800174a0:	e8 57 2b 08 00       	call   0x180099ffc
1800174a5:	85 db                	test   %ebx,%ebx
1800174a7:	79 10                	jns    0x1800174b9
1800174a9:	48 8b ce             	mov    %rsi,%rcx
1800174ac:	e8 2f 76 00 00       	call   0x18001eae0
1800174b1:	85 db                	test   %ebx,%ebx
1800174b3:	0f 88 ed 01 00 00    	js     0x1800176a6
1800174b9:	48 8b d7             	mov    %rdi,%rdx
1800174bc:	41 8b cc             	mov    %r12d,%ecx
1800174bf:	e8 c0 0a 00 00       	call   0x180017f84
1800174c4:	8b d8                	mov    %eax,%ebx
1800174c6:	85 c0                	test   %eax,%eax
1800174c8:	0f 88 d8 01 00 00    	js     0x1800176a6
1800174ce:	33 d2                	xor    %edx,%edx
1800174d0:	48 8d 9f 08 01 00 00 	lea    0x108(%rdi),%rbx
1800174d7:	48 8b cb             	mov    %rbx,%rcx
1800174da:	44 8d 42 40          	lea    0x40(%rdx),%r8d
1800174de:	e8 9d e7 11 00       	call   0x180135c80
1800174e3:	44 38 3d 67 de 18 00 	cmp    %r15b,0x18de67(%rip)        # 0x1801a5351
1800174ea:	74 4a                	je     0x180017536
1800174ec:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1800174f1:	41 8b cc             	mov    %r12d,%ecx
1800174f4:	48 8d 15 75 d7 12 00 	lea    0x12d775(%rip),%rdx        # 0x180144c70
1800174fb:	e8 dc d3 fe ff       	call   0x1800048dc
180017500:	85 c0                	test   %eax,%eax
180017502:	78 32                	js     0x180017536
180017504:	44 39 25 55 de 18 00 	cmp    %r12d,0x18de55(%rip)        # 0x1801a5360
18001750b:	44 89 bd 08 01 00 00 	mov    %r15d,0x108(%rbp)
180017512:	76 22                	jbe    0x180017536
180017514:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
180017519:	48 8d 85 08 01 00 00 	lea    0x108(%rbp),%rax
180017520:	4c 8d 0d 61 d7 12 00 	lea    0x12d761(%rip),%r9        # 0x180144c88
180017527:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18001752c:	b2 01                	mov    $0x1,%dl
18001752e:	41 8b cc             	mov    %r12d,%ecx
180017531:	e8 aa bb fe ff       	call   0x1800030e0
180017536:	48 8b 87 f0 00 00 00 	mov    0xf0(%rdi),%rax
18001753d:	41 8b d7             	mov    %r15d,%edx
180017540:	0f ba b0 84 00 00 00 	btrl   $0x1b,0x84(%rax)
180017547:	1b
180017548:	f6 03 01             	testb  $0x1,(%rbx)
18001754b:	74 21                	je     0x18001756e
18001754d:	4c 8d 43 20          	lea    0x20(%rbx),%r8
180017551:	49 8b 08             	mov    (%r8),%rcx
180017554:	eb 0c                	jmp    0x180017562
180017556:	48 8d 01             	lea    (%rcx),%rax
180017559:	48 8b 09             	mov    (%rcx),%rcx
18001755c:	83 78 20 01          	cmpl   $0x1,0x20(%rax)
180017560:	74 07                	je     0x180017569
180017562:	49 3b c8             	cmp    %r8,%rcx
180017565:	75 ef                	jne    0x180017556
180017567:	eb 05                	jmp    0x18001756e
180017569:	ba 01 00 00 00       	mov    $0x1,%edx
18001756e:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
180017575:	c1 e2 1e             	shl    $0x1e,%edx
180017578:	8b 81 84 00 00 00    	mov    0x84(%rcx),%eax
18001757e:	0f ba f0 1e          	btr    $0x1e,%eax
180017582:	0b d0                	or     %eax,%edx
180017584:	89 91 84 00 00 00    	mov    %edx,0x84(%rcx)
18001758a:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
18001758e:	41 8b cd             	mov    %r13d,%ecx
180017591:	e8 92 f7 00 00       	call   0x180026d28
180017596:	85 c0                	test   %eax,%eax
180017598:	78 15                	js     0x1800175af
18001759a:	83 7d a0 07          	cmpl   $0x7,-0x60(%rbp)
18001759e:	75 0f                	jne    0x1800175af
1800175a0:	48 8b 87 f0 00 00 00 	mov    0xf0(%rdi),%rax
1800175a7:	0f ba a8 84 00 00 00 	btsl   $0xa,0x84(%rax)
1800175ae:	0a
1800175af:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
1800175b6:	48 83 c1 38          	add    $0x38,%rcx
1800175ba:	e8 fd be 07 00       	call   0x1800934bc
1800175bf:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
1800175c6:	48 8d 91 08 0a 00 00 	lea    0xa08(%rcx),%rdx
1800175cd:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1800175d1:	e8 f2 15 00 00       	call   0x180018bc8
1800175d6:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
1800175dd:	48 8d 51 30          	lea    0x30(%rcx),%rdx
1800175e1:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1800175e5:	e8 ae 0e 00 00       	call   0x180018498
1800175ea:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
1800175f1:	48 81 c1 a0 0a 00 00 	add    $0xaa0,%rcx
1800175f8:	e8 03 18 00 00       	call   0x180018e00
1800175fd:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
180017604:	48 8b 51 38          	mov    0x38(%rcx),%rdx
180017608:	48 85 d2             	test   %rdx,%rdx
18001760b:	74 0c                	je     0x180017619
18001760d:	48 81 c1 b0 0a 00 00 	add    $0xab0,%rcx
180017614:	e8 f7 19 00 00       	call   0x180019010
180017619:	48 8b 05 80 8e 15 00 	mov    0x158e80(%rip),%rax        # 0x1801704a0
180017620:	83 38 04             	cmpl   $0x4,(%rax)
180017623:	74 05                	je     0x18001762a
180017625:	49 8b cf             	mov    %r15,%rcx
180017628:	eb 5e                	jmp    0x180017688
18001762a:	48 8b 05 6f b9 18 00 	mov    0x18b96f(%rip),%rax        # 0x1801a2fa0
180017631:	48 8d 0d 68 b9 18 00 	lea    0x18b968(%rip),%rcx        # 0x1801a2fa0
180017638:	48 f7 d8             	neg    %rax
18001763b:	48 1b db             	sbb    %rbx,%rbx
18001763e:	48 23 d9             	and    %rcx,%rbx
180017641:	75 07                	jne    0x18001764a
180017643:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180017648:	eb 5c                	jmp    0x1800176a6
18001764a:	b9 20 00 00 00       	mov    $0x20,%ecx
18001764f:	e8 fc 27 08 00       	call   0x180099e50
180017654:	48 8b c8             	mov    %rax,%rcx
180017657:	48 85 c0             	test   %rax,%rax
18001765a:	75 07                	jne    0x180017663
18001765c:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180017661:	eb 43                	jmp    0x1800176a6
180017663:	0f 57 c0             	xorps  %xmm0,%xmm0
180017666:	0f 11 00             	movups %xmm0,(%rax)
180017669:	0f 11 40 10          	movups %xmm0,0x10(%rax)
18001766d:	48 8b 43 58          	mov    0x58(%rbx),%rax
180017671:	48 89 01             	mov    %rax,(%rcx)
180017674:	8b 43 48             	mov    0x48(%rbx),%eax
180017677:	89 41 08             	mov    %eax,0x8(%rcx)
18001767a:	48 8b 43 68          	mov    0x68(%rbx),%rax
18001767e:	48 89 41 10          	mov    %rax,0x10(%rcx)
180017682:	8b 43 50             	mov    0x50(%rbx),%eax
180017685:	89 41 18             	mov    %eax,0x18(%rcx)
180017688:	48 8b 87 f0 00 00 00 	mov    0xf0(%rdi),%rax
18001768f:	48 8b d7             	mov    %rdi,%rdx
180017692:	48 89 48 60          	mov    %rcx,0x60(%rax)
180017696:	41 8b cc             	mov    %r12d,%ecx
180017699:	e8 ae 1a 00 00       	call   0x18001914c
18001769e:	85 c0                	test   %eax,%eax
1800176a0:	8b d8                	mov    %eax,%ebx
1800176a2:	41 0f 49 df          	cmovns %r15d,%ebx
1800176a6:	4c 8d 9c 24 c0 01 00 	lea    0x1c0(%rsp),%r11
1800176ad:	00
1800176ae:	8b c3                	mov    %ebx,%eax
1800176b0:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1800176b4:	49 8b 73 38          	mov    0x38(%r11),%rsi
1800176b8:	49 8b 7b 40          	mov    0x40(%r11),%rdi
1800176bc:	49 8b e3             	mov    %r11,%rsp
1800176bf:	41 5f                	pop    %r15
1800176c1:	41 5e                	pop    %r14
1800176c3:	41 5d                	pop    %r13
1800176c5:	41 5c                	pop    %r12
1800176c7:	5d                   	pop    %rbp
1800176c8:	c3                   	ret
1800176c9:	cc                   	int3
1800176ca:	cc                   	int3
1800176cb:	cc                   	int3
1800176cc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800176d1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1800176d6:	56                   	push   %rsi
1800176d7:	57                   	push   %rdi
1800176d8:	41 56                	push   %r14
1800176da:	48 81 ec 40 01 00 00 	sub    $0x140,%rsp
1800176e1:	4c 8b f2             	mov    %rdx,%r14
1800176e4:	48 8b f9             	mov    %rcx,%rdi
1800176e7:	48 85 d2             	test   %rdx,%rdx
1800176ea:	0f 84 ce 00 00 00    	je     0x1800177be
1800176f0:	83 39 06             	cmpl   $0x6,(%rcx)
1800176f3:	0f 85 c5 00 00 00    	jne    0x1800177be
1800176f9:	83 79 20 06          	cmpl   $0x6,0x20(%rcx)
1800176fd:	0f 85 bb 00 00 00    	jne    0x1800177be
180017703:	83 cd ff             	or     $0xffffffff,%ebp
180017706:	48 8d 41 4c          	lea    0x4c(%rcx),%rax
18001770a:	48 85 c0             	test   %rax,%rax
18001770d:	74 0c                	je     0x18001771b
18001770f:	83 78 04 0c          	cmpl   $0xc,0x4(%rax)
180017713:	76 06                	jbe    0x18001771b
180017715:	48 8d 48 0c          	lea    0xc(%rax),%rcx
180017719:	eb 02                	jmp    0x18001771d
18001771b:	33 c9                	xor    %ecx,%ecx
18001771d:	48 85 c9             	test   %rcx,%rcx
180017720:	75 0a                	jne    0x18001772c
180017722:	bb 04 00 3a c0       	mov    $0xc03a0004,%ebx
180017727:	e9 97 00 00 00       	jmp    0x1800177c3
18001772c:	45 33 c0             	xor    %r8d,%r8d
18001772f:	4c 8d 8c 24 68 01 00 	lea    0x168(%rsp),%r9
180017736:	00
180017737:	41 8d 50 01          	lea    0x1(%r8),%edx
18001773b:	e8 d0 fa 00 00       	call   0x180027210
180017740:	8b d8                	mov    %eax,%ebx
180017742:	85 c0                	test   %eax,%eax
180017744:	78 7d                	js     0x1800177c3
180017746:	8b 8c 24 68 01 00 00 	mov    0x168(%rsp),%ecx
18001774d:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180017752:	e8 d1 f5 00 00       	call   0x180026d28
180017757:	8b 8c 24 68 01 00 00 	mov    0x168(%rsp),%ecx
18001775e:	8b d8                	mov    %eax,%ebx
180017760:	e8 53 f2 00 00       	call   0x1800269b8
180017765:	85 db                	test   %ebx,%ebx
180017767:	78 5a                	js     0x1800177c3
180017769:	83 7c 24 28 04       	cmpl   $0x4,0x28(%rsp)
18001776e:	75 1d                	jne    0x18001778d
180017770:	8b 44 24 34          	mov    0x34(%rsp),%eax
180017774:	83 f8 01             	cmp    $0x1,%eax
180017777:	75 09                	jne    0x180017782
180017779:	8b ac 24 90 00 00 00 	mov    0x90(%rsp),%ebp
180017780:	eb 0b                	jmp    0x18001778d
180017782:	85 c0                	test   %eax,%eax
180017784:	75 9c                	jne    0x180017722
180017786:	8b ac 24 00 01 00 00 	mov    0x100(%rsp),%ebp
18001778d:	8b 4f 08             	mov    0x8(%rdi),%ecx
180017790:	83 c1 04             	add    $0x4,%ecx
180017793:	e8 b8 26 08 00       	call   0x180099e50
180017798:	48 8b f0             	mov    %rax,%rsi
18001779b:	48 85 c0             	test   %rax,%rax
18001779e:	75 07                	jne    0x1800177a7
1800177a0:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
1800177a5:	eb 1c                	jmp    0x1800177c3
1800177a7:	89 28                	mov    %ebp,(%rax)
1800177a9:	48 8d 48 04          	lea    0x4(%rax),%rcx