1800294bb:	48 8d ac 24 70 fc ff 	lea    -0x390(%rsp),%rbp
1800294c2:	ff
1800294c3:	48 81 ec 90 04 00 00 	sub    $0x490,%rsp
1800294ca:	33 c0                	xor    %eax,%eax
1800294cc:	4c 8d 0d e5 31 12 00 	lea    0x1231e5(%rip),%r9        # 0x18014c6b8
1800294d3:	89 44 24 48          	mov    %eax,0x48(%rsp)
1800294d7:	4c 8d 05 ea 31 12 00 	lea    0x1231ea(%rip),%r8        # 0x18014c6c8
1800294de:	83 c8 ff             	or     $0xffffffff,%eax
1800294e1:	8b f1                	mov    %ecx,%esi
1800294e3:	0f 57 c0             	xorps  %xmm0,%xmm0
1800294e6:	89 85 d8 03 00 00    	mov    %eax,0x3d8(%rbp)
1800294ec:	41 bf 04 01 00 00    	mov    $0x104,%r15d
1800294f2:	89 85 e0 03 00 00    	mov    %eax,0x3e0(%rbp)
1800294f8:	45 33 e4             	xor    %r12d,%r12d
1800294fb:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
180029500:	44 21 64 24 20       	and    %r12d,0x20(%rsp)
180029505:	41 8b d7             	mov    %r15d,%edx
180029508:	8b f8                	mov    %eax,%edi
18002950a:	0f 11 44 24 38       	movups %xmm0,0x38(%rsp)
18002950f:	e8 ac dc 00 00       	call   0x1800371c0
180029514:	8b d8                	mov    %eax,%ebx
180029516:	85 c0                	test   %eax,%eax
180029518:	0f 88 0b 02 00 00    	js     0x180029729
18002951e:	45 8d 74 24 01       	lea    0x1(%r12),%r14d
180029523:	41 8b d7             	mov    %r15d,%edx
180029526:	4c 8d 0d 8b 31 12 00 	lea    0x12318b(%rip),%r9        # 0x18014c6b8
18002952d:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
180029532:	4c 8d 05 8f 31 12 00 	lea    0x12318f(%rip),%r8        # 0x18014c6c8
180029539:	48 8d 8d 80 01 00 00 	lea    0x180(%rbp),%rcx
180029540:	e8 7b dc 00 00       	call   0x1800371c0
180029545:	8b d8                	mov    %eax,%ebx
180029547:	85 c0                	test   %eax,%eax
180029549:	0f 88 da 01 00 00    	js     0x180029729
18002954f:	4c 8d 8d d8 03 00 00 	lea    0x3d8(%rbp),%r9
180029556:	45 8b c6             	mov    %r14d,%r8d
180029559:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
18002955e:	8b ce                	mov    %esi,%ecx
180029560:	e8 b7 ee 03 00       	call   0x18006841c
180029565:	8b d8                	mov    %eax,%ebx
180029567:	85 c0                	test   %eax,%eax
180029569:	0f 88 8c 01 00 00    	js     0x1800296fb
18002956f:	4c 8d 8d e0 03 00 00 	lea    0x3e0(%rbp),%r9
180029576:	8b ce                	mov    %esi,%ecx
180029578:	45 8d 44 24 02       	lea    0x2(%r12),%r8d
18002957d:	48 8d 95 80 01 00 00 	lea    0x180(%rbp),%rdx
180029584:	e8 93 ee 03 00       	call   0x18006841c
180029589:	8b d8                	mov    %eax,%ebx
18002958b:	85 c0                	test   %eax,%eax
18002958d:	0f 88 62 01 00 00    	js     0x1800296f5
180029593:	44 21 64 24 28       	and    %r12d,0x28(%rsp)
180029598:	48 8d 85 e8 03 00 00 	lea    0x3e8(%rbp),%rax
18002959f:	8b 8d d8 03 00 00    	mov    0x3d8(%rbp),%ecx
1800295a5:	41 8d 74 24 14       	lea    0x14(%r12),%esi
1800295aa:	8b d6                	mov    %esi,%edx
1800295ac:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800295b1:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
1800295b6:	45 33 c0             	xor    %r8d,%r8d
1800295b9:	e8 92 f9 03 00       	call   0x180068f50
1800295be:	8b d8                	mov    %eax,%ebx
1800295c0:	85 c0                	test   %eax,%eax
1800295c2:	0f 88 2d 01 00 00    	js     0x1800296f5
1800295c8:	8b bd e0 03 00 00    	mov    0x3e0(%rbp),%edi
1800295ce:	39 b5 e8 03 00 00    	cmp    %esi,0x3e8(%rbp)
1800295d4:	74 0a                	je     0x1800295e0
1800295d6:	bb e9 00 00 c0       	mov    $0xc00000e9,%ebx
1800295db:	e9 1b 01 00 00       	jmp    0x1800296fb
1800295e0:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1800295e5:	8b cf                	mov    %edi,%ecx
1800295e7:	e8 2c f7 03 00       	call   0x180068d18
1800295ec:	8b d8                	mov    %eax,%ebx
1800295ee:	85 c0                	test   %eax,%eax
1800295f0:	0f 88 05 01 00 00    	js     0x1800296fb
1800295f6:	44 39 74 24 38       	cmp    %r14d,0x38(%rsp)
1800295fb:	0f 85 fa 00 00 00    	jne    0x1800296fb
180029601:	44 38 74 24 3c       	cmp    %r14b,0x3c(%rsp)
180029606:	0f 85 ef 00 00 00    	jne    0x1800296fb
18002960c:	8b 44 24 40          	mov    0x40(%rsp),%eax
180029610:	48 3b 44 24 50       	cmp    0x50(%rsp),%rax
180029615:	0f 87 e0 00 00 00    	ja     0x1800296fb
18002961b:	39 74 24 40          	cmp    %esi,0x40(%rsp)
18002961f:	0f 82 d6 00 00 00    	jb     0x1800296fb
180029625:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
18002962a:	45 33 c0             	xor    %r8d,%r8d
18002962d:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
180029632:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180029637:	8b d6                	mov    %esi,%edx
180029639:	8b cf                	mov    %edi,%ecx
18002963b:	e8 d8 f9 03 00       	call   0x180069018
180029640:	8b d8                	mov    %eax,%ebx
180029642:	85 c0                	test   %eax,%eax
180029644:	0f 88 b1 00 00 00    	js     0x1800296fb
18002964a:	39 74 24 30          	cmp    %esi,0x30(%rsp)
18002964e:	75 86                	jne    0x1800295d6
180029650:	b9 00 10 00 00       	mov    $0x1000,%ecx
180029655:	e8 f6 07 07 00       	call   0x180099e50
18002965a:	4c 8b e0             	mov    %rax,%r12
18002965d:	48 85 c0             	test   %rax,%rax
180029660:	75 0a                	jne    0x18002966c
180029662:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180029667:	e9 8f 00 00 00       	jmp    0x1800296fb
18002966c:	44 8b 7c 24 40       	mov    0x40(%rsp),%r15d
180029671:	41 83 c7 ec          	add    $0xffffffec,%r15d
180029675:	0f 84 80 00 00 00    	je     0x1800296fb
18002967b:	48 8d 8d e8 03 00 00 	lea    0x3e8(%rbp),%rcx
180029682:	44 8b c6             	mov    %esi,%r8d
180029685:	41 be 00 10 00 00    	mov    $0x1000,%r14d
18002968b:	4d 8b cc             	mov    %r12,%r9
18002968e:	45 3b fe             	cmp    %r14d,%r15d
180029691:	45 0f 42 f7          	cmovb  %r15d,%r14d
180029695:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18002969a:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
18002969f:	41 8b d6             	mov    %r14d,%edx
1800296a2:	8b 8d d8 03 00 00    	mov    0x3d8(%rbp),%ecx
1800296a8:	e8 a3 f8 03 00       	call   0x180068f50
1800296ad:	8b d8                	mov    %eax,%ebx
1800296af:	85 c0                	test   %eax,%eax
1800296b1:	78 48                	js     0x1800296fb
1800296b3:	44 39 b5 e8 03 00 00 	cmp    %r14d,0x3e8(%rbp)
1800296ba:	0f 85 16 ff ff ff    	jne    0x1800295d6
1800296c0:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1800296c5:	44 8b c6             	mov    %esi,%r8d
1800296c8:	4d 8b cc             	mov    %r12,%r9
1800296cb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800296d0:	41 8b d6             	mov    %r14d,%edx
1800296d3:	8b cf                	mov    %edi,%ecx
1800296d5:	e8 3e f9 03 00       	call   0x180069018
1800296da:	8b d8                	mov    %eax,%ebx
1800296dc:	85 c0                	test   %eax,%eax
1800296de:	78 1b                	js     0x1800296fb
1800296e0:	44 39 74 24 30       	cmp    %r14d,0x30(%rsp)
1800296e5:	0f 85 eb fe ff ff    	jne    0x1800295d6
1800296eb:	41 03 f6             	add    %r14d,%esi
1800296ee:	45 2b fe             	sub    %r14d,%r15d
1800296f1:	75 88                	jne    0x18002967b
1800296f3:	eb 06                	jmp    0x1800296fb
1800296f5:	8b bd e0 03 00 00    	mov    0x3e0(%rbp),%edi
1800296fb:	83 ce ff             	or     $0xffffffff,%esi
1800296fe:	39 b5 d8 03 00 00    	cmp    %esi,0x3d8(%rbp)
180029704:	74 0b                	je     0x180029711
180029706:	8b 8d d8 03 00 00    	mov    0x3d8(%rbp),%ecx
18002970c:	e8 ef ed 03 00       	call   0x180068500
180029711:	3b fe                	cmp    %esi,%edi
180029713:	74 07                	je     0x18002971c
180029715:	8b cf                	mov    %edi,%ecx
180029717:	e8 e4 ed 03 00       	call   0x180068500
18002971c:	4d 85 e4             	test   %r12,%r12
18002971f:	74 08                	je     0x180029729
180029721:	49 8b cc             	mov    %r12,%rcx
180029724:	e8 d3 08 07 00       	call   0x180099ffc
180029729:	8b c3                	mov    %ebx,%eax
18002972b:	48 81 c4 90 04 00 00 	add    $0x490,%rsp
180029732:	41 5f                	pop    %r15
180029734:	41 5e                	pop    %r14
180029736:	41 5c                	pop    %r12
180029738:	5f                   	pop    %rdi
180029739:	5e                   	pop    %rsi
18002973a:	5b                   	pop    %rbx
18002973b:	5d                   	pop    %rbp
18002973c:	c3                   	ret
18002973d:	cc                   	int3
18002973e:	cc                   	int3
18002973f:	cc                   	int3
180029740:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180029745:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18002974a:	56                   	push   %rsi
18002974b:	57                   	push   %rdi
18002974c:	41 56                	push   %r14
18002974e:	48 83 ec 70          	sub    $0x70,%rsp
180029752:	33 f6                	xor    %esi,%esi
180029754:	b8 ff ff 00 00       	mov    $0xffff,%eax
180029759:	49 8b e9             	mov    %r9,%rbp
18002975c:	4d 8b f0             	mov    %r8,%r14
18002975f:	4c 8b d1             	mov    %rcx,%r10
180029762:	4c 3b c8             	cmp    %rax,%r9
180029765:	76 0a                	jbe    0x180029771
180029767:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18002976c:	e9 5c 01 00 00       	jmp    0x1800298cd
180029771:	48 8b 8c 24 b8 00 00 	mov    0xb8(%rsp),%rcx
180029778:	00
180029779:	48 3b c8             	cmp    %rax,%rcx
18002977c:	77 e9                	ja     0x180029767
18002977e:	e8 9d 0e 00 00       	call   0x18002a620
180029783:	84 c0                	test   %al,%al
180029785:	75 0a                	jne    0x180029791
180029787:	bb 00 00 21 c0       	mov    $0xc0210000,%ebx
18002978c:	e9 f2 00 00 00       	jmp    0x180029883
180029791:	48 8b bc 24 c0 00 00 	mov    0xc0(%rsp),%rdi
180029798:	00
180029799:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
18002979e:	89 4c 24 50          	mov    %ecx,0x50(%rsp)
1800297a2:	41 b9 14 00 00 00    	mov    $0x14,%r9d
1800297a8:	49 8b ca             	mov    %r10,%rcx
1800297ab:	48 21 37             	and    %rsi,(%rdi)
1800297ae:	e8 e1 8d 08 00       	call   0x1800b2594
1800297b3:	8b d8                	mov    %eax,%ebx
1800297b5:	85 c0                	test   %eax,%eax
1800297b7:	0f 88 be 00 00 00    	js     0x18002987b
1800297bd:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
1800297c4:	00
1800297c5:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
1800297ca:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1800297cf:	48 8d 0d 8a b6 17 00 	lea    0x17b68a(%rip),%rcx        # 0x1801a4e60
1800297d6:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1800297db:	45 33 c0             	xor    %r8d,%r8d
1800297de:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1800297e3:	ba 00 00 00 40       	mov    $0x40000000,%edx
1800297e8:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
1800297ed:	89 6c 24 30          	mov    %ebp,0x30(%rsp)
1800297f1:	48 21 74 24 28       	and    %rsi,0x28(%rsp)
1800297f6:	21 74 24 20          	and    %esi,0x20(%rsp)
1800297fa:	e8 e9 f2 0c 00       	call   0x1800f8ae8
1800297ff:	8b c8                	mov    %eax,%ecx
180029801:	8b f0                	mov    %eax,%esi
180029803:	e8 40 b3 08 00       	call   0x1800b4b48
180029808:	8b d8                	mov    %eax,%ebx
18002980a:	85 c0                	test   %eax,%eax
18002980c:	79 62                	jns    0x180029870
18002980e:	3d 01 00 00 c0       	cmp    $0xc0000001,%eax
180029813:	74 07                	je     0x18002981c
180029815:	3d 18 00 28 c0       	cmp    $0xc0280018,%eax
18002981a:	75 5b                	jne    0x180029877
18002981c:	48 8b 0d 95 6c 14 00 	mov    0x146c95(%rip),%rcx        # 0x1801704b8
180029823:	83 cd ff             	or     $0xffffffff,%ebp
180029826:	89 ac 24 a8 00 00 00 	mov    %ebp,0xa8(%rsp)
18002982d:	48 85 c9             	test   %rcx,%rcx
180029830:	74 45                	je     0x180029877
180029832:	45 33 c0             	xor    %r8d,%r8d
180029835:	4c 8d 8c 24 a8 00 00 	lea    0xa8(%rsp),%r9
18002983c:	00
18002983d:	41 8d 50 03          	lea    0x3(%r8),%edx
180029841:	e8 ca d9 ff ff       	call   0x180027210
180029846:	8b bc 24 a8 00 00 00 	mov    0xa8(%rsp),%edi
18002984d:	85 c0                	test   %eax,%eax
18002984f:	78 12                	js     0x180029863
180029851:	8b cf                	mov    %edi,%ecx
180029853:	e8 7c f9 ff ff       	call   0x1800291d4
180029858:	85 c0                	test   %eax,%eax
18002985a:	78 07                	js     0x180029863
18002985c:	8b cf                	mov    %edi,%ecx
18002985e:	e8 4d fc ff ff       	call   0x1800294b0
180029863:	3b fd                	cmp    %ebp,%edi
180029865:	74 10                	je     0x180029877
180029867:	8b cf                	mov    %edi,%ecx
180029869:	e8 4a d1 ff ff       	call   0x1800269b8
18002986e:	eb 07                	jmp    0x180029877
180029870:	8b 44 24 50          	mov    0x50(%rsp),%eax
180029874:	48 89 07             	mov    %rax,(%rdi)
180029877:	85 db                	test   %ebx,%ebx
180029879:	79 52                	jns    0x1800298cd
18002987b:	81 fb 00 00 21 c0    	cmp    $0xc0210000,%ebx
180029881:	75 25                	jne    0x1800298a8
180029883:	8b 15 b7 b6 17 00    	mov    0x17b6b7(%rip),%edx        # 0x1801a4f40
180029889:	85 d2                	test   %edx,%edx
18002988b:	74 1b                	je     0x1800298a8
18002988d:	8b 05 4d b6 17 00    	mov    0x17b64d(%rip),%eax        # 0x1801a4ee0
180029893:	45 33 c9             	xor    %r9d,%r9d
180029896:	45 33 c0             	xor    %r8d,%r8d
180029899:	89 44 24 20          	mov    %eax,0x20(%rsp)
18002989d:	41 8d 49 18          	lea    0x18(%r9),%ecx
1800298a1:	e8 ee f2 ff ff       	call   0x180028b94
1800298a6:	eb 25                	jmp    0x1800298cd
1800298a8:	85 f6                	test   %esi,%esi
1800298aa:	74 21                	je     0x1800298cd
1800298ac:	8b 05 2e b6 17 00    	mov    0x17b62e(%rip),%eax        # 0x1801a4ee0
1800298b2:	45 33 c9             	xor    %r9d,%r9d
1800298b5:	45 33 c0             	xor    %r8d,%r8d
1800298b8:	89 44 24 20          	mov    %eax,0x20(%rsp)
1800298bc:	8b d6                	mov    %esi,%edx
1800298be:	41 8d 49 18          	lea    0x18(%r9),%ecx
1800298c2:	e8 cd f2 ff ff       	call   0x180028b94
1800298c7:	89 35 73 b6 17 00    	mov    %esi,0x17b673(%rip)        # 0x1801a4f40
1800298cd:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1800298d2:	8b c3                	mov    %ebx,%eax
1800298d4:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1800298d8:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1800298dc:	49 8b e3             	mov    %r11,%rsp
1800298df:	41 5e                	pop    %r14
1800298e1:	5f                   	pop    %rdi
1800298e2:	5e                   	pop    %rsi
1800298e3:	c3                   	ret
1800298e4:	cc                   	int3
1800298e5:	cc                   	int3
1800298e6:	cc                   	int3
1800298e7:	cc                   	int3
1800298e8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800298ed:	55                   	push   %rbp
1800298ee:	56                   	push   %rsi
1800298ef:	57                   	push   %rdi
1800298f0:	41 56                	push   %r14
1800298f2:	41 57                	push   %r15
1800298f4:	48 83 ec 20          	sub    $0x20,%rsp
1800298f8:	4c 8b f2             	mov    %rdx,%r14
1800298fb:	41 83 f8 20          	cmp    $0x20,%r8d
1800298ff:	74 0a                	je     0x18002990b
180029901:	bb bb 00 00 c0       	mov    $0xc00000bb,%ebx
180029906:	e9 81 00 00 00       	jmp    0x18002998c
18002990b:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
180029910:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
180029915:	e8 36 5a 08 00       	call   0x1800af350
18002991a:	45 33 ff             	xor    %r15d,%r15d
18002991d:	8b d8                	mov    %eax,%ebx
18002991f:	85 c0                	test   %eax,%eax
180029921:	78 69                	js     0x18002998c
180029923:	0f b7 4c 24 60       	movzwl 0x60(%rsp),%ecx
180029928:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
18002992f:	cc cc cc
180029932:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180029937:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
18002993c:	48 f7 e1             	mul    %rcx
18002993f:	48 8b f2             	mov    %rdx,%rsi
180029942:	48 c1 ee 05          	shr    $0x5,%rsi
180029946:	48 85 ed             	test   %rbp,%rbp
180029949:	74 41                	je     0x18002998c
18002994b:	41 0f b7 ff          	movzwl %r15w,%edi
18002994f:	66 44 3b fe          	cmp    %si,%r15w
180029953:	73 37                	jae    0x18002998c
180029955:	0f b7 c7             	movzwl %di,%eax
180029958:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
18002995c:	66 83 7c cd 00 03    	cmpw   $0x3,0x0(%rbp,%rcx,8)
180029962:	75 1d                	jne    0x180029981
180029964:	48 8d 0c cd 08 00 00 	lea    0x8(,%rcx,8),%rcx
18002996b:	00
18002996c:	41 b8 20 00 00 00    	mov    $0x20,%r8d
180029972:	48 03 cd             	add    %rbp,%rcx
180029975:	49 8b d6             	mov    %r14,%rdx
180029978:	e8 03 18 10 00       	call   0x18012b180
18002997d:	85 c0                	test   %eax,%eax
18002997f:	74 08                	je     0x180029989
180029981:	66 ff c7             	inc    %di
180029984:	66 3b fe             	cmp    %si,%di
180029987:	eb ca                	jmp    0x180029953
180029989:	41 8b df             	mov    %r15d,%ebx
18002998c:	8b c3                	mov    %ebx,%eax
18002998e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180029993:	48 83 c4 20          	add    $0x20,%rsp
180029997:	41 5f                	pop    %r15
180029999:	41 5e                	pop    %r14
18002999b:	5f                   	pop    %rdi
18002999c:	5e                   	pop    %rsi
18002999d:	5d                   	pop    %rbp
18002999e:	c3                   	ret
18002999f:	cc                   	int3
1800299a0:	4c 8b 81 80 00 00 00 	mov    0x80(%rcx),%r8
1800299a7:	8b d2                	mov    %edx,%edx
1800299a9:	41 8b 88 e0 00 00 00 	mov    0xe0(%r8),%ecx
1800299b0:	48 03 d1             	add    %rcx,%rdx
1800299b3:	48 3b d1             	cmp    %rcx,%rdx
1800299b6:	72 35                	jb     0x1800299ed
1800299b8:	41 8b 88 c8 00 00 00 	mov    0xc8(%r8),%ecx
1800299bf:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax