180015832:	48 8b cb             	mov    %rbx,%rcx
180015835:	e8 06 fc ff ff       	call   0x180015440
18001583a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18001583f:	48 83 c4 30          	add    $0x30,%rsp
180015843:	5f                   	pop    %rdi
180015844:	c3                   	ret
180015845:	cc                   	int3
180015846:	cc                   	int3
180015847:	cc                   	int3
180015848:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18001584d:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180015852:	55                   	push   %rbp
180015853:	57                   	push   %rdi
180015854:	41 54                	push   %r12
180015856:	41 56                	push   %r14
180015858:	41 57                	push   %r15
18001585a:	48 8b ec             	mov    %rsp,%rbp
18001585d:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
180015864:	44 0f b7 32          	movzwl (%rdx),%r14d
180015868:	48 8b f2             	mov    %rdx,%rsi
18001586b:	45 33 e4             	xor    %r12d,%r12d
18001586e:	48 8d 15 cb ff 12 00 	lea    0x12ffcb(%rip),%rdx        # 0x180145840
180015875:	4c 8b f9             	mov    %rcx,%r15
180015878:	4c 89 65 38          	mov    %r12,0x38(%rbp)
18001587c:	48 8b ce             	mov    %rsi,%rcx
18001587f:	4c 89 65 f8          	mov    %r12,-0x8(%rbp)
180015883:	41 8b f8             	mov    %r8d,%edi
180015886:	44 89 65 f0          	mov    %r12d,-0x10(%rbp)
18001588a:	e8 55 87 06 00       	call   0x18007dfe4
18001588f:	84 c0                	test   %al,%al
180015891:	75 47                	jne    0x1800158da
180015893:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180015898:	48 8b 46 08          	mov    0x8(%rsi),%rax
18001589c:	49 8b ce             	mov    %r14,%rcx
18001589f:	48 d1 e9             	shr    $1,%rcx
1800158a2:	66 44 89 24 48       	mov    %r12w,(%rax,%rcx,2)
1800158a7:	66 44 89 36          	mov    %r14w,(%rsi)
1800158ab:	66 44 39 65 f2       	cmp    %r12w,-0xe(%rbp)
1800158b0:	74 09                	je     0x1800158bb
1800158b2:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1800158b6:	e8 41 47 08 00       	call   0x180099ffc
1800158bb:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1800158c2:	00
1800158c3:	8b c3                	mov    %ebx,%eax
1800158c5:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1800158c9:	49 8b 73 40          	mov    0x40(%r11),%rsi
1800158cd:	49 8b e3             	mov    %r11,%rsp
1800158d0:	41 5f                	pop    %r15
1800158d2:	41 5e                	pop    %r14
1800158d4:	41 5c                	pop    %r12
1800158d6:	5f                   	pop    %rdi
1800158d7:	5d                   	pop    %rbp
1800158d8:	c3                   	ret
1800158d9:	cc                   	int3
1800158da:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1800158de:	e8 59 3a 00 00       	call   0x18001933c
1800158e3:	8b d8                	mov    %eax,%ebx
1800158e5:	3d bb 00 00 c0       	cmp    $0xc00000bb,%eax
1800158ea:	75 05                	jne    0x1800158f1
1800158ec:	41 8b dc             	mov    %r12d,%ebx
1800158ef:	eb a7                	jmp    0x180015898
1800158f1:	85 c0                	test   %eax,%eax
1800158f3:	78 a3                	js     0x180015898
1800158f5:	48 8b 55 f8          	mov    -0x8(%rbp),%rdx
1800158f9:	48 8b ce             	mov    %rsi,%rcx
1800158fc:	e8 e3 86 06 00       	call   0x18007dfe4
180015901:	84 c0                	test   %al,%al
180015903:	74 8e                	je     0x180015893
180015905:	4c 8b 46 08          	mov    0x8(%rsi),%r8
180015909:	48 8d 4d 38          	lea    0x38(%rbp),%rcx
18001590d:	4c 89 64 24 68       	mov    %r12,0x68(%rsp)
180015912:	49 8d 47 10          	lea    0x10(%r15),%rax
180015916:	44 89 64 24 60       	mov    %r12d,0x60(%rsp)
18001591b:	4c 8d 0d 7e ff 12 00 	lea    0x12ff7e(%rip),%r9        # 0x1801458a0
180015922:	44 89 64 24 58       	mov    %r12d,0x58(%rsp)
180015927:	ba 12 00 00 e0       	mov    $0xe0000012,%edx
18001592c:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
180015931:	8b cf                	mov    %edi,%ecx
180015933:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180015938:	44 89 64 24 30       	mov    %r12d,0x30(%rsp)
18001593d:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
180015942:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
180015947:	e8 4c 9f ff ff       	call   0x18000f898
18001594c:	48 8b 7d 38          	mov    0x38(%rbp),%rdi
180015950:	8b d8                	mov    %eax,%ebx
180015952:	85 c0                	test   %eax,%eax
180015954:	0f 88 83 00 00 00    	js     0x1800159dd
18001595a:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
18001595e:	48 8d 15 7b 21 13 00 	lea    0x13217b(%rip),%rdx        # 0x180147ae0
180015965:	e8 3a a7 01 00       	call   0x1800300a4
18001596a:	41 b9 38 00 00 00    	mov    $0x38,%r9d
180015970:	48 85 c0             	test   %rax,%rax
180015973:	74 3e                	je     0x1800159b3
180015975:	8b 08                	mov    (%rax),%ecx
180015977:	83 f9 01             	cmp    $0x1,%ecx
18001597a:	75 42                	jne    0x1800159be
18001597c:	44 39 48 04          	cmp    %r9d,0x4(%rax)
180015980:	75 3c                	jne    0x1800159be
180015982:	41 8b dc             	mov    %r12d,%ebx
180015985:	48 85 ff             	test   %rdi,%rdi
180015988:	0f 84 0a ff ff ff    	je     0x180015898
18001598e:	48 8b 07             	mov    (%rdi),%rax
180015991:	48 39 78 08          	cmp    %rdi,0x8(%rax)
180015995:	75 6c                	jne    0x180015a03
180015997:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
18001599b:	48 39 39             	cmp    %rdi,(%rcx)
18001599e:	75 63                	jne    0x180015a03
1800159a0:	48 89 01             	mov    %rax,(%rcx)
1800159a3:	48 89 48 08          	mov    %rcx,0x8(%rax)
1800159a7:	48 89 3d 7a f8 18 00 	mov    %rdi,0x18f87a(%rip)        # 0x1801a5228
1800159ae:	e9 e5 fe ff ff       	jmp    0x180015898
1800159b3:	4c 89 65 38          	mov    %r12,0x38(%rbp)
1800159b7:	48 8d 45 38          	lea    0x38(%rbp),%rax
1800159bb:	41 8b cc             	mov    %r12d,%ecx
1800159be:	44 8b 40 04          	mov    0x4(%rax),%r8d
1800159c2:	8b d1                	mov    %ecx,%edx
1800159c4:	b9 17 00 00 00       	mov    $0x17,%ecx
1800159c9:	48 0f ba ea 10       	bts    $0x10,%rdx
1800159ce:	e8 49 67 ff ff       	call   0x18000c11c
1800159d3:	bb 59 00 00 c0       	mov    $0xc0000059,%ebx
1800159d8:	e9 bb fe ff ff       	jmp    0x180015898
1800159dd:	81 fb 0f 00 00 c0    	cmp    $0xc000000f,%ebx
1800159e3:	41 0f 44 dc          	cmove  %r12d,%ebx
1800159e7:	85 db                	test   %ebx,%ebx
1800159e9:	79 9a                	jns    0x180015985
1800159eb:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1800159ef:	45 33 c9             	xor    %r9d,%r9d
1800159f2:	4c 63 c3             	movslq %ebx,%r8
1800159f5:	41 8d 49 0c          	lea    0xc(%r9),%ecx
1800159f9:	e8 1e 67 ff ff       	call   0x18000c11c
1800159fe:	e9 95 fe ff ff       	jmp    0x180015898
180015a03:	b9 03 00 00 00       	mov    $0x3,%ecx
180015a08:	cd 29                	int    $0x29
180015a0a:	cc                   	int3
180015a0b:	cc                   	int3
180015a0c:	4c 8b dc             	mov    %rsp,%r11
180015a0f:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180015a13:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180015a17:	49 89 73 18          	mov    %rsi,0x18(%r11)
180015a1b:	57                   	push   %rdi
180015a1c:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
180015a23:	48 8b 2d 0e f8 18 00 	mov    0x18f80e(%rip),%rbp        # 0x1801a5238
180015a2a:	48 8d 0d ff 00 00 00 	lea    0xff(%rip),%rcx        # 0x180015b30
180015a31:	49 89 4b 98          	mov    %rcx,-0x68(%r11)
180015a35:	33 c0                	xor    %eax,%eax
180015a37:	48 8d 0d 9a f2 fe ff 	lea    -0x10d66(%rip),%rcx        # 0x180004cd8
180015a3e:	48 89 05 cb f6 18 00 	mov    %rax,0x18f6cb(%rip)        # 0x1801a5110
180015a45:	49 89 4b a0          	mov    %rcx,-0x60(%r11)
180015a49:	33 f6                	xor    %esi,%esi
180015a4b:	49 89 4b a8          	mov    %rcx,-0x58(%r11)
180015a4f:	48 8d 0d d6 00 00 00 	lea    0xd6(%rip),%rcx        # 0x180015b2c
180015a56:	49 89 4b b0          	mov    %rcx,-0x50(%r11)
180015a5a:	48 8d 0d 77 f2 fe ff 	lea    -0x10d89(%rip),%rcx        # 0x180004cd8
180015a61:	49 89 4b b8          	mov    %rcx,-0x48(%r11)
180015a65:	48 85 ed             	test   %rbp,%rbp
180015a68:	0f 84 96 00 00 00    	je     0x180015b04
180015a6e:	48 8d 7d 10          	lea    0x10(%rbp),%rdi
180015a72:	48 8b 1f             	mov    (%rdi),%rbx
180015a75:	48 3b df             	cmp    %rdi,%rbx
180015a78:	74 2e                	je     0x180015aa8
180015a7a:	66 83 7b 58 18       	cmpw   $0x18,0x58(%rbx)
180015a7f:	75 18                	jne    0x180015a99
180015a81:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
180015a85:	48 8d 15 14 fe 12 00 	lea    0x12fe14(%rip),%rdx        # 0x1801458a0
180015a8c:	e8 5b 53 11 00       	call   0x18012adec
180015a91:	85 c0                	test   %eax,%eax
180015a93:	0f 84 87 00 00 00    	je     0x180015b20
180015a99:	48 8b 1b             	mov    (%rbx),%rbx
180015a9c:	48 3b df             	cmp    %rdi,%rbx
180015a9f:	75 d9                	jne    0x180015a7a
180015aa1:	48 8b 05 68 f6 18 00 	mov    0x18f668(%rip),%rax        # 0x1801a5110
180015aa8:	33 db                	xor    %ebx,%ebx
180015aaa:	48 85 db             	test   %rbx,%rbx
180015aad:	74 25                	je     0x180015ad4
180015aaf:	48 8b 43 38          	mov    0x38(%rbx),%rax
180015ab3:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180015ab8:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
180015abd:	ff d0                	call   *%rax
180015abf:	0f 1f 00             	nopl   (%rax)
180015ac2:	8b f0                	mov    %eax,%esi
180015ac4:	85 c0                	test   %eax,%eax
180015ac6:	78 3c                	js     0x180015b04
180015ac8:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180015acd:	48 89 05 3c f6 18 00 	mov    %rax,0x18f63c(%rip)        # 0x1801a5110
180015ad4:	48 85 c0             	test   %rax,%rax
180015ad7:	74 2b                	je     0x180015b04
180015ad9:	48 8b 8d f0 00 00 00 	mov    0xf0(%rbp),%rcx
180015ae0:	33 d2                	xor    %edx,%edx
180015ae2:	44 8b 81 84 00 00 00 	mov    0x84(%rcx),%r8d
180015ae9:	45 8b c8             	mov    %r8d,%r9d
180015aec:	b9 01 00 00 00       	mov    $0x1,%ecx
180015af1:	41 c1 e9 1e          	shr    $0x1e,%r9d
180015af5:	41 c1 e8 1b          	shr    $0x1b,%r8d
180015af9:	44 22 c9             	and    %cl,%r9b
180015afc:	44 22 c1             	and    %cl,%r8b
180015aff:	ff d0                	call   *%rax
180015b01:	0f 1f 00             	nopl   (%rax)
180015b04:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
180015b0b:	00
180015b0c:	8b c6                	mov    %esi,%eax
180015b0e:	49 8b 5b 10          	mov    0x10(%r11),%rbx
180015b12:	49 8b 6b 18          	mov    0x18(%r11),%rbp
180015b16:	49 8b 73 20          	mov    0x20(%r11),%rsi
180015b1a:	49 8b e3             	mov    %r11,%rsp
180015b1d:	5f                   	pop    %rdi
180015b1e:	c3                   	ret
180015b1f:	cc                   	int3
180015b20:	48 8b 05 e9 f5 18 00 	mov    0x18f5e9(%rip),%rax        # 0x1801a5110
180015b27:	eb 81                	jmp    0x180015aaa
180015b29:	cc                   	int3
180015b2a:	cc                   	int3
180015b2b:	cc                   	int3
180015b2c:	c2 00 00             	ret    $0x0
180015b2f:	cc                   	int3
180015b30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180015b35:	57                   	push   %rdi
180015b36:	48 83 ec 30          	sub    $0x30,%rsp
180015b3a:	33 ff                	xor    %edi,%edi
180015b3c:	45 8b d1             	mov    %r9d,%r10d
180015b3f:	4d 8b d8             	mov    %r8,%r11
180015b42:	85 c9                	test   %ecx,%ecx
180015b44:	75 55                	jne    0x180015b9b
180015b46:	8b 5c 24 60          	mov    0x60(%rsp),%ebx
180015b4a:	41 b8 00 01 00 00    	mov    $0x100,%r8d
180015b50:	41 8d 04 19          	lea    (%r9,%rbx,1),%eax
180015b54:	41 3b c0             	cmp    %r8d,%eax
180015b57:	76 0b                	jbe    0x180015b64
180015b59:	45 3b c8             	cmp    %r8d,%r9d
180015b5c:	77 3d                	ja     0x180015b9b
180015b5e:	41 8b d8             	mov    %r8d,%ebx
180015b61:	41 2b d9             	sub    %r9d,%ebx
180015b64:	8a c2                	mov    %dl,%al
180015b66:	88 4c 24 22          	mov    %cl,0x22(%rsp)
180015b6a:	c1 ea 05             	shr    $0x5,%edx
180015b6d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180015b72:	80 e2 07             	and    $0x7,%dl
180015b75:	66 89 7c 24 20       	mov    %di,0x20(%rsp)
180015b7a:	88 54 24 24          	mov    %dl,0x24(%rsp)
180015b7e:	24 1f                	and    $0x1f,%al
180015b80:	49 8b d3             	mov    %r11,%rdx
180015b83:	88 44 24 23          	mov    %al,0x23(%rsp)
180015b87:	44 8b cb             	mov    %ebx,%r9d
180015b8a:	45 8b c2             	mov    %r10d,%r8d
180015b8d:	e8 8a 8d 08 00       	call   0x18009e91c
180015b92:	85 c0                	test   %eax,%eax
180015b94:	0f 48 df             	cmovs  %edi,%ebx
180015b97:	8b c3                	mov    %ebx,%eax
180015b99:	eb 02                	jmp    0x180015b9d
180015b9b:	33 c0                	xor    %eax,%eax
180015b9d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180015ba2:	48 83 c4 30          	add    $0x30,%rsp
180015ba6:	5f                   	pop    %rdi
180015ba7:	c3                   	ret
180015ba8:	cc                   	int3
180015ba9:	cc                   	int3
180015baa:	cc                   	int3
180015bab:	cc                   	int3
180015bac:	4c 8b dc             	mov    %rsp,%r11
180015baf:	49 89 53 10          	mov    %rdx,0x10(%r11)
180015bb3:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
180015bb7:	55                   	push   %rbp
180015bb8:	53                   	push   %rbx
180015bb9:	56                   	push   %rsi
180015bba:	57                   	push   %rdi
180015bbb:	41 56                	push   %r14
180015bbd:	48 8b ec             	mov    %rsp,%rbp
180015bc0:	48 83 ec 40          	sub    $0x40,%rsp
180015bc4:	8b 35 0a 69 15 00    	mov    0x15690a(%rip),%esi        # 0x18016c4d4
180015bca:	48 8d 45 38          	lea    0x38(%rbp),%rax
180015bce:	49 89 43 d0          	mov    %rax,-0x30(%r11)
180015bd2:	45 33 f6             	xor    %r14d,%r14d
180015bd5:	48 8d 45 40          	lea    0x40(%rbp),%rax
180015bd9:	4c 89 75 38          	mov    %r14,0x38(%rbp)
180015bdd:	49 89 43 c8          	mov    %rax,-0x38(%r11)
180015be1:	45 33 c0             	xor    %r8d,%r8d
180015be4:	48 8d 05 6d 20 13 00 	lea    0x13206d(%rip),%rax        # 0x180147c58
180015beb:	33 d2                	xor    %edx,%edx
180015bed:	49 89 43 c0          	mov    %rax,-0x40(%r11)
180015bf1:	45 8d 4e 17          	lea    0x17(%r14),%r9d
180015bf5:	33 c9                	xor    %ecx,%ecx
180015bf7:	4d 89 73 b8          	mov    %r14,-0x48(%r11)
180015bfb:	e8 f0 17 08 00       	call   0x1800973f0
180015c00:	48 8b 7d 38          	mov    0x38(%rbp),%rdi
180015c04:	85 c0                	test   %eax,%eax
180015c06:	78 44                	js     0x180015c4c
180015c08:	b8 ff fe 00 00       	mov    $0xfeff,%eax
180015c0d:	66 39 07             	cmp    %ax,(%rdi)
180015c10:	75 26                	jne    0x180015c38
180015c12:	48 8b 5d 40          	mov    0x40(%rbp),%rbx
180015c16:	48 8d 57 02          	lea    0x2(%rdi),%rdx
180015c1a:	48 8b cf             	mov    %rdi,%rcx
180015c1d:	44 8b 43 04          	mov    0x4(%rbx),%r8d
180015c21:	49 83 e8 02          	sub    $0x2,%r8
180015c25:	e8 96 fd 11 00       	call   0x1801359c0
180015c2a:	8b 43 04             	mov    0x4(%rbx),%eax
180015c2d:	48 d1 e8             	shr    $1,%rax
180015c30:	66 44 89 74 47 fe    	mov    %r14w,-0x2(%rdi,%rax,2)
180015c36:	eb 14                	jmp    0x180015c4c
180015c38:	48 8b 45 40          	mov    0x40(%rbp),%rax
180015c3c:	8b 48 04             	mov    0x4(%rax),%ecx
180015c3f:	48 d1 e9             	shr    $1,%rcx
180015c42:	66 44 39 74 4f fe    	cmp    %r14w,-0x2(%rdi,%rcx,2)
180015c48:	49 0f 45 fe          	cmovne %r14,%rdi
180015c4c:	48 85 ff             	test   %rdi,%rdi
180015c4f:	75 0a                	jne    0x180015c5b
180015c51:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
180015c56:	e9 b6 00 00 00       	jmp    0x180015d11
180015c5b:	48 8b cf             	mov    %rdi,%rcx
180015c5e:	e8 3d 98 08 00       	call   0x18009f4a0
180015c63:	8b f8                	mov    %eax,%edi
180015c65:	85 c0                	test   %eax,%eax
180015c67:	0f 88 a2 00 00 00    	js     0x180015d0f
180015c6d:	48 8d 0d 04 20 13 00 	lea    0x132004(%rip),%rcx        # 0x180147c78
180015c74:	44 88 35 79 f5 17 00 	mov    %r14b,0x17f579(%rip)        # 0x1801951f4
180015c7b:	e8 40 9b 08 00       	call   0x18009f7c0
180015c80:	48 8d 55 38          	lea    0x38(%rbp),%rdx
180015c84:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
180015c88:	e8 f3 bf 04 00       	call   0x180061c80
180015c8d:	8b f8                	mov    %eax,%edi
180015c8f:	85 c0                	test   %eax,%eax
180015c91:	78 12                	js     0x180015ca5
180015c93:	81 7d 30 80 02 00 00 	cmpl   $0x280,0x30(%rbp)
180015c9a:	75 09                	jne    0x180015ca5
180015c9c:	81 7d 38 c8 00 00 00 	cmpl   $0xc8,0x38(%rbp)
180015ca3:	74 6a                	je     0x180015d0f
180015ca5:	48 8b 05 ac f6 18 00 	mov    0x18f6ac(%rip),%rax        # 0x1801a5358
180015cac:	41 8b fe             	mov    %r14d,%edi
180015caf:	bb 08 00 00 00       	mov    $0x8,%ebx
180015cb4:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
180015cb8:	8b 82 f8 12 00 00    	mov    0x12f8(%rdx),%eax
180015cbe:	83 f8 ff             	cmp    $0xffffffff,%eax
180015cc1:	74 45                	je     0x180015d08
180015cc3:	89 44 24 28          	mov    %eax,0x28(%rsp)
180015cc7:	4c 8d 4d 40          	lea    0x40(%rbp),%r9
180015ccb:	48 8d 45 48          	lea    0x48(%rbp),%rax
180015ccf:	8b ce                	mov    %esi,%ecx
180015cd1:	4c 8d 45 38          	lea    0x38(%rbp),%r8
180015cd5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180015cda:	48 8d 55 30          	lea    0x30(%rbp),%rdx
180015cde:	e8 05 ca fe ff       	call   0x1800026e8
180015ce3:	44 38 75 30          	cmp    %r14b,0x30(%rbp)
180015ce7:	8d 43 01             	lea    0x1(%rbx),%eax
180015cea:	0f 45 d8             	cmovne %eax,%ebx
180015ced:	44 38 75 38          	cmp    %r14b,0x38(%rbp)
180015cf1:	74 03                	je     0x180015cf6
180015cf3:	83 cb 02             	or     $0x2,%ebx
180015cf6:	44 38 75 40          	cmp    %r14b,0x40(%rbp)
180015cfa:	74 03                	je     0x180015cff
180015cfc:	83 cb 04             	or     $0x4,%ebx
180015cff:	44 38 75 48          	cmp    %r14b,0x48(%rbp)