18014051c:	48 8b 41 40          	mov    0x40(%rcx),%rax
180140520:	45 33 e4             	xor    %r12d,%r12d
180140523:	4c 21 64 24 50       	and    %r12,0x50(%rsp)
180140528:	45 33 ed             	xor    %r13d,%r13d
18014052b:	48 8b 79 38          	mov    0x38(%rcx),%rdi
18014052f:	48 8b f1             	mov    %rcx,%rsi
180140532:	44 8b 70 28          	mov    0x28(%rax),%r14d
180140536:	41 f7 c6 ff 0f 00 00 	test   $0xfff,%r14d
18014053d:	74 50                	je     0x18014058f
18014053f:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180140544:	48 85 ff             	test   %rdi,%rdi
180140547:	0f 84 0e 03 00 00    	je     0x18014085b
18014054d:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140551:	83 f8 08             	cmp    $0x8,%eax
180140554:	0f 83 01 03 00 00    	jae    0x18014085b
18014055a:	41 8d 6c 24 01       	lea    0x1(%r12),%ebp
18014055f:	48 03 c5             	add    %rbp,%rax
180140562:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
180140566:	c7 04 87 05 00 00 00 	movl   $0x5,(%rdi,%rax,4)
18014056d:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140571:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140575:	89 5c 8f 10          	mov    %ebx,0x10(%rdi,%rcx,4)
180140579:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
18014057d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140581:	44 21 64 8f 14       	and    %r12d,0x14(%rdi,%rcx,4)
180140586:	66 01 6f 08          	add    %bp,0x8(%rdi)
18014058a:	e9 cc 02 00 00       	jmp    0x18014085b
18014058f:	41 8b c6             	mov    %r14d,%eax
180140592:	c1 e8 0c             	shr    $0xc,%eax
180140595:	85 c0                	test   %eax,%eax
180140597:	74 0a                	je     0x1801405a3
180140599:	44 8d 78 ff          	lea    -0x1(%rax),%r15d
18014059d:	41 c1 ef 09          	shr    $0x9,%r15d
1801405a1:	eb 03                	jmp    0x1801405a6
1801405a3:	45 33 ff             	xor    %r15d,%r15d
1801405a6:	44 89 b1 10 01 00 00 	mov    %r14d,0x110(%rcx)
1801405ad:	bd 01 00 00 00       	mov    $0x1,%ebp
1801405b2:	4c 39 61 60          	cmp    %r12,0x60(%rcx)
1801405b6:	0f 85 2a 01 00 00    	jne    0x1801406e6
1801405bc:	44 8d 60 03          	lea    0x3(%rax),%r12d
1801405c0:	bb 43 4d 32 37       	mov    $0x37324d43,%ebx
1801405c5:	8d 45 03             	lea    0x3(%rbp),%eax
1801405c8:	41 83 e4 fc          	and    $0xfffffffc,%r12d
1801405cc:	44 8b c3             	mov    %ebx,%r8d
1801405cf:	40 8a d5             	mov    %bpl,%dl
1801405d2:	44 0f 44 e0          	cmove  %eax,%r12d
1801405d6:	48 8b 41 18          	mov    0x18(%rcx),%rax
1801405da:	41 8b cc             	mov    %r12d,%ecx
1801405dd:	ff d0                	call   *%rax
1801405df:	0f 1f 00             	nopl   (%rax)
1801405e2:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1801405e7:	48 85 c0             	test   %rax,%rax
1801405ea:	75 4c                	jne    0x180140638
1801405ec:	ba 17 00 00 c0       	mov    $0xc0000017,%edx
1801405f1:	8b da                	mov    %edx,%ebx
1801405f3:	48 85 ff             	test   %rdi,%rdi
1801405f6:	0f 84 5f 02 00 00    	je     0x18014085b
1801405fc:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140600:	83 f8 08             	cmp    $0x8,%eax
180140603:	0f 83 52 02 00 00    	jae    0x18014085b
180140609:	48 03 c5             	add    %rbp,%rax
18014060c:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
180140610:	c7 04 87 05 00 00 00 	movl   $0x5,(%rdi,%rax,4)
180140617:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
18014061b:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18014061f:	89 54 8f 10          	mov    %edx,0x10(%rdi,%rcx,4)
180140623:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140627:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18014062b:	c7 44 8f 14 10 00 00 	movl   $0x10,0x14(%rdi,%rcx,4)
180140632:	00
180140633:	e9 4e ff ff ff       	jmp    0x180140586
180140638:	48 8b 46 18          	mov    0x18(%rsi),%rax
18014063c:	44 8b c3             	mov    %ebx,%r8d
18014063f:	40 8a d5             	mov    %bpl,%dl
180140642:	41 8b cc             	mov    %r12d,%ecx
180140645:	ff d0                	call   *%rax
180140647:	0f 1f 00             	nopl   (%rax)
18014064a:	4c 8b e8             	mov    %rax,%r13
18014064d:	48 85 c0             	test   %rax,%rax
180140650:	75 50                	jne    0x1801406a2
180140652:	ba 17 00 00 c0       	mov    $0xc0000017,%edx
180140657:	8b da                	mov    %edx,%ebx
180140659:	48 85 ff             	test   %rdi,%rdi
18014065c:	0f 84 b9 01 00 00    	je     0x18014081b
180140662:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140666:	83 f8 08             	cmp    $0x8,%eax
180140669:	0f 83 ac 01 00 00    	jae    0x18014081b
18014066f:	48 03 c5             	add    %rbp,%rax
180140672:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
180140676:	c7 04 87 05 00 00 00 	movl   $0x5,(%rdi,%rax,4)
18014067d:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140681:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140685:	89 54 8f 10          	mov    %edx,0x10(%rdi,%rcx,4)
180140689:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
18014068d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140691:	c7 44 8f 14 20 00 00 	movl   $0x20,0x14(%rdi,%rcx,4)
180140698:	00
180140699:	66 01 6f 08          	add    %bp,0x8(%rdi)
18014069d:	e9 79 01 00 00       	jmp    0x18014081b
1801406a2:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1801406a7:	33 d2                	xor    %edx,%edx
1801406a9:	45 8b c4             	mov    %r12d,%r8d
1801406ac:	e8 cf 55 ff ff       	call   0x180135c80
1801406b1:	45 8b c4             	mov    %r12d,%r8d
1801406b4:	33 d2                	xor    %edx,%edx
1801406b6:	49 8b cd             	mov    %r13,%rcx
1801406b9:	e8 c2 55 ff ff       	call   0x180135c80
1801406be:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
1801406c3:	48 8d 4e 58          	lea    0x58(%rsi),%rcx
1801406c7:	41 c1 ee 09          	shr    $0x9,%r14d
1801406cb:	45 8b c6             	mov    %r14d,%r8d
1801406ce:	e8 31 ed ee ff       	call   0x18002f404
1801406d3:	48 8d 4e 70          	lea    0x70(%rsi),%rcx
1801406d7:	45 8b c6             	mov    %r14d,%r8d
1801406da:	49 8b d5             	mov    %r13,%rdx
1801406dd:	e8 22 ed ee ff       	call   0x18002f404
1801406e2:	44 89 66 6c          	mov    %r12d,0x6c(%rsi)
1801406e6:	48 8b 46 18          	mov    0x18(%rsi),%rax
1801406ea:	33 d2                	xor    %edx,%edx
1801406ec:	45 85 ff             	test   %r15d,%r15d
1801406ef:	75 3f                	jne    0x180140730
1801406f1:	41 be 00 30 00 00    	mov    $0x3000,%r14d
1801406f7:	41 b8 43 4d 32 36    	mov    $0x36324d43,%r8d
1801406fd:	41 8b ce             	mov    %r14d,%ecx
180140700:	ff d0                	call   *%rax
180140702:	0f 1f 00             	nopl   (%rax)
180140705:	48 8b d8             	mov    %rax,%rbx
180140708:	48 85 c0             	test   %rax,%rax
18014070b:	75 0a                	jne    0x180140717
18014070d:	ba 9a 00 00 c0       	mov    $0xc000009a,%edx
180140712:	e9 40 ff ff ff       	jmp    0x180140657
180140717:	4d 8b c6             	mov    %r14,%r8
18014071a:	33 d2                	xor    %edx,%edx
18014071c:	48 8b c8             	mov    %rax,%rcx
18014071f:	e8 5c 55 ff ff       	call   0x180135c80
180140724:	4c 8d b6 20 01 00 00 	lea    0x120(%rsi),%r14
18014072b:	e9 31 01 00 00       	jmp    0x180140861
180140730:	bb 00 20 00 00       	mov    $0x2000,%ebx
180140735:	41 b8 43 4d 32 38    	mov    $0x38324d43,%r8d
18014073b:	8b cb                	mov    %ebx,%ecx
18014073d:	ff d0                	call   *%rax
18014073f:	0f 1f 00             	nopl   (%rax)
180140742:	4c 8b f0             	mov    %rax,%r14
180140745:	48 85 c0             	test   %rax,%rax
180140748:	75 4c                	jne    0x180140796
18014074a:	ba 9a 00 00 c0       	mov    $0xc000009a,%edx
18014074f:	8b da                	mov    %edx,%ebx
180140751:	48 85 ff             	test   %rdi,%rdi
180140754:	0f 84 c1 00 00 00    	je     0x18014081b
18014075a:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
18014075e:	83 f8 08             	cmp    $0x8,%eax
180140761:	0f 83 b4 00 00 00    	jae    0x18014081b
180140767:	48 03 c5             	add    %rbp,%rax
18014076a:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
18014076e:	c7 04 87 05 00 00 00 	movl   $0x5,(%rdi,%rax,4)
180140775:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140779:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18014077d:	89 54 8f 10          	mov    %edx,0x10(%rdi,%rcx,4)
180140781:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
180140785:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140789:	c7 44 8f 14 30 00 00 	movl   $0x30,0x14(%rdi,%rcx,4)
180140790:	00
180140791:	e9 03 ff ff ff       	jmp    0x180140699
180140796:	4c 8b c3             	mov    %rbx,%r8
180140799:	33 d2                	xor    %edx,%edx
18014079b:	49 8b ce             	mov    %r14,%rcx
18014079e:	e8 dd 54 ff ff       	call   0x180135c80
1801407a3:	45 8b cf             	mov    %r15d,%r9d
1801407a6:	49 8b d6             	mov    %r14,%rdx
1801407a9:	48 8b ce             	mov    %rsi,%rcx
1801407ac:	e8 37 03 00 00       	call   0x180140ae8
1801407b1:	84 c0                	test   %al,%al
1801407b3:	0f 85 a6 00 00 00    	jne    0x18014085f
1801407b9:	ba 9a 00 00 c0       	mov    $0xc000009a,%edx
1801407be:	8b da                	mov    %edx,%ebx
1801407c0:	48 85 ff             	test   %rdi,%rdi
1801407c3:	74 37                	je     0x1801407fc
1801407c5:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
1801407c9:	83 f8 08             	cmp    $0x8,%eax
1801407cc:	73 2e                	jae    0x1801407fc
1801407ce:	48 03 c5             	add    %rbp,%rax
1801407d1:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
1801407d5:	c7 04 87 05 00 00 00 	movl   $0x5,(%rdi,%rax,4)
1801407dc:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
1801407e0:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1801407e4:	89 54 8f 10          	mov    %edx,0x10(%rdi,%rcx,4)
1801407e8:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
1801407ec:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1801407f0:	c7 44 8f 14 40 00 00 	movl   $0x40,0x14(%rdi,%rcx,4)
1801407f7:	00
1801407f8:	66 01 6f 08          	add    %bp,0x8(%rdi)
1801407fc:	45 8b cf             	mov    %r15d,%r9d
1801407ff:	49 8b d6             	mov    %r14,%rdx
180140802:	48 8b ce             	mov    %rsi,%rcx
180140805:	e8 7a 02 00 00       	call   0x180140a84
18014080a:	48 8b 46 20          	mov    0x20(%rsi),%rax
18014080e:	ba 00 20 00 00       	mov    $0x2000,%edx
180140813:	49 8b ce             	mov    %r14,%rcx
180140816:	ff d0                	call   *%rax
180140818:	0f 1f 00             	nopl   (%rax)
18014081b:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180140820:	48 85 c9             	test   %rcx,%rcx
180140823:	74 17                	je     0x18014083c
180140825:	48 39 4e 60          	cmp    %rcx,0x60(%rsi)
180140829:	75 05                	jne    0x180140830
18014082b:	48 83 66 60 00       	andq   $0x0,0x60(%rsi)
180140830:	48 8b 46 20          	mov    0x20(%rsi),%rax
180140834:	41 8b d4             	mov    %r12d,%edx
180140837:	ff d0                	call   *%rax
180140839:	0f 1f 00             	nopl   (%rax)
18014083c:	4d 85 ed             	test   %r13,%r13
18014083f:	74 1a                	je     0x18014085b
180140841:	4c 39 6e 78          	cmp    %r13,0x78(%rsi)
180140845:	75 05                	jne    0x18014084c
180140847:	48 83 66 78 00       	andq   $0x0,0x78(%rsi)
18014084c:	48 8b 46 20          	mov    0x20(%rsi),%rax
180140850:	41 8b d4             	mov    %r12d,%edx
180140853:	49 8b cd             	mov    %r13,%rcx
180140856:	ff d0                	call   *%rax
180140858:	0f 1f 00             	nopl   (%rax)
18014085b:	8b c3                	mov    %ebx,%eax
18014085d:	eb 12                	jmp    0x180140871
18014085f:	33 db                	xor    %ebx,%ebx
180140861:	4c 89 b6 18 01 00 00 	mov    %r14,0x118(%rsi)
180140868:	33 c0                	xor    %eax,%eax
18014086a:	48 89 9e 20 01 00 00 	mov    %rbx,0x120(%rsi)
180140871:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180140876:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
18014087b:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180140880:	48 83 c4 20          	add    $0x20,%rsp
180140884:	41 5f                	pop    %r15
180140886:	41 5e                	pop    %r14
180140888:	41 5d                	pop    %r13
18014088a:	41 5c                	pop    %r12
18014088c:	5f                   	pop    %rdi
18014088d:	c3                   	ret
18014088e:	cc                   	int3
18014088f:	cc                   	int3
180140890:	48 8b c4             	mov    %rsp,%rax
180140893:	48 89 58 08          	mov    %rbx,0x8(%rax)
180140897:	44 89 48 20          	mov    %r9d,0x20(%rax)
18014089b:	44 89 40 18          	mov    %r8d,0x18(%rax)
18014089f:	48 89 50 10          	mov    %rdx,0x10(%rax)
1801408a3:	55                   	push   %rbp
1801408a4:	56                   	push   %rsi
1801408a5:	57                   	push   %rdi
1801408a6:	41 54                	push   %r12
1801408a8:	41 55                	push   %r13
1801408aa:	41 56                	push   %r14
1801408ac:	41 57                	push   %r15
1801408ae:	48 83 ec 20          	sub    $0x20,%rsp
1801408b2:	83 81 90 00 00 00 20 	addl   $0x20,0x90(%rcx)
1801408b9:	45 32 ed             	xor    %r13b,%r13b
1801408bc:	8b 42 08             	mov    0x8(%rdx),%eax
1801408bf:	41 bf 20 00 00 00    	mov    $0x20,%r15d
1801408c5:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1801408c9:	48 8b e9             	mov    %rcx,%rbp
1801408cc:	41 3b c7             	cmp    %r15d,%eax
1801408cf:	0f 86 10 01 00 00    	jbe    0x1801409e5
1801408d5:	be 09 00 00 40       	mov    $0x40000009,%esi
1801408da:	45 8d 47 e1          	lea    -0x1f(%r15),%r8d
1801408de:	45 8b e7             	mov    %r15d,%r12d
1801408e1:	4c 03 e2             	add    %rdx,%r12
1801408e4:	45 8b 34 24          	mov    (%r12),%r14d
1801408e8:	41 8b fe             	mov    %r14d,%edi
1801408eb:	45 85 f6             	test   %r14d,%r14d
1801408ee:	79 02                	jns    0x1801408f2
1801408f0:	f7 df                	neg    %edi
1801408f2:	42 8d 0c 3f          	lea    (%rdi,%r15,1),%ecx
1801408f6:	41 3b cf             	cmp    %r15d,%ecx
1801408f9:	72 19                	jb     0x180140914
1801408fb:	3b c8                	cmp    %eax,%ecx
1801408fd:	77 15                	ja     0x180140914
1801408ff:	40 f6 c7 07          	test   $0x7,%dil
180140903:	75 0f                	jne    0x180140914
180140905:	41 c1 ee 1f          	shr    $0x1f,%r14d
180140909:	45 32 f0             	xor    %r8b,%r14b
18014090c:	85 ff                	test   %edi,%edi
18014090e:	0f 85 88 00 00 00    	jne    0x18014099c
180140914:	41 0f ba e1 11       	bt     $0x11,%r9d
180140919:	0f 82 1f 01 00 00    	jb     0x180140a3e
18014091f:	8b f8                	mov    %eax,%edi
180140921:	45 8a f0             	mov    %r8b,%r14b
180140924:	41 2b ff             	sub    %r15d,%edi
180140927:	e8 0c 41 ee ff       	call   0x180024a38
18014092c:	84 c0                	test   %al,%al
18014092e:	0f 84 cb 00 00 00    	je     0x1801409ff
180140934:	44 8b c7             	mov    %edi,%r8d
180140937:	33 d2                	xor    %edx,%edx
180140939:	49 8b cc             	mov    %r12,%rcx
18014093c:	e8 3f 53 ff ff       	call   0x180135c80
180140941:	41 89 3c 24          	mov    %edi,(%r12)
180140945:	41 b8 01 00 00 00    	mov    $0x1,%r8d
18014094b:	48 8b 45 40          	mov    0x40(%rbp),%rax
18014094f:	45 8a e8             	mov    %r8b,%r13b
180140952:	83 88 f8 0f 00 00 04 	orl    $0x4,0xff8(%rax)
180140959:	48 85 db             	test   %rbx,%rbx
18014095c:	74 4b                	je     0x1801409a9
18014095e:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
180140962:	83 f8 08             	cmp    $0x8,%eax
180140965:	73 42                	jae    0x1801409a9
180140967:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
18014096c:	48 83 c0 09          	add    $0x9,%rax
180140970:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
180140974:	c7 04 83 1a 00 00 00 	movl   $0x1a,(%rbx,%rax,4)
18014097b:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
18014097f:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180140983:	89 74 8b 70          	mov    %esi,0x70(%rbx,%rcx,4)
180140987:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
18014098b:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18014098f:	c7 44 8b 74 20 00 00 	movl   $0x20,0x74(%rbx,%rcx,4)
180140996:	00
180140997:	66 44 01 43 0a       	add    %r8w,0xa(%rbx)
18014099c:	45 84 f6             	test   %r14b,%r14b
18014099f:	75 08                	jne    0x1801409a9
1801409a1:	01 bd 98 00 00 00    	add    %edi,0x98(%rbp)
1801409a7:	eb 1d                	jmp    0x1801409c6
1801409a9:	8b 54 24 70          	mov    0x70(%rsp),%edx
1801409ad:	44 8b c7             	mov    %edi,%r8d
1801409b0:	01 bd 94 00 00 00    	add    %edi,0x94(%rbp)
1801409b6:	41 03 d7             	add    %r15d,%edx
1801409b9:	48 8b cd             	mov    %rbp,%rcx
1801409bc:	e8 27 f3 ff ff       	call   0x18013fce8
1801409c1:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
1801409c6:	8b 42 08             	mov    0x8(%rdx),%eax
1801409c9:	44 03 ff             	add    %edi,%r15d
1801409cc:	44 8b 4c 24 78       	mov    0x78(%rsp),%r9d
1801409d1:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1801409d7:	44 3b f8             	cmp    %eax,%r15d
1801409da:	0f 82 fe fe ff ff    	jb     0x1801408de
1801409e0:	45 84 ed             	test   %r13b,%r13b
1801409e3:	75 02                	jne    0x1801409e7
1801409e5:	33 f6                	xor    %esi,%esi
1801409e7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1801409ec:	8b c6                	mov    %esi,%eax
1801409ee:	48 83 c4 20          	add    $0x20,%rsp
1801409f2:	41 5f                	pop    %r15
1801409f4:	41 5e                	pop    %r14
1801409f6:	41 5d                	pop    %r13
1801409f8:	41 5c                	pop    %r12
1801409fa:	5f                   	pop    %rdi
1801409fb:	5e                   	pop    %rsi
1801409fc:	5d                   	pop    %rbp
1801409fd:	c3                   	ret
1801409fe:	cc                   	int3
1801409ff:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180140a04:	48 85 db             	test   %rbx,%rbx
180140a07:	74 de                	je     0x1801409e7
180140a09:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
180140a0d:	83 f8 08             	cmp    $0x8,%eax