140a89941:	b0 01                	mov    $0x1,%al
140a89943:	48 83 c4 20          	add    $0x20,%rsp
140a89947:	5f                   	pop    %rdi
140a89948:	5d                   	pop    %rbp
140a89949:	5b                   	pop    %rbx
140a8994a:	c3                   	ret
140a8994b:	32 c0                	xor    %al,%al
140a8994d:	48 83 c4 20          	add    $0x20,%rsp
140a89951:	5f                   	pop    %rdi
140a89952:	5d                   	pop    %rbp
140a89953:	5b                   	pop    %rbx
140a89954:	c3                   	ret
140a89955:	cc                   	int3
140a89956:	cc                   	int3
140a89957:	cc                   	int3
140a89958:	cc                   	int3
140a89959:	cc                   	int3
140a8995a:	cc                   	int3
140a8995b:	cc                   	int3
140a8995c:	cc                   	int3
140a8995d:	cc                   	int3
140a8995e:	cc                   	int3
140a8995f:	cc                   	int3
140a89960:	40 53                	rex push %rbx
140a89962:	55                   	push   %rbp
140a89963:	56                   	push   %rsi
140a89964:	48 83 ec 20          	sub    $0x20,%rsp
140a89968:	48 8b 31             	mov    (%rcx),%rsi
140a8996b:	33 db                	xor    %ebx,%ebx
140a8996d:	48 8b ea             	mov    %rdx,%rbp
140a89970:	48 85 f6             	test   %rsi,%rsi
140a89973:	0f 84 10 01 00 00    	je     0x140a89a89
140a89979:	0f b7 4e 10          	movzwl 0x10(%rsi),%ecx
140a8997d:	b8 ff ff 00 00       	mov    $0xffff,%eax
140a89982:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140a89987:	66 3b c8             	cmp    %ax,%cx
140a8998a:	0f 85 84 00 00 00    	jne    0x140a89a14
140a89990:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a89996:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a8999b:	b2 3a                	mov    $0x3a,%dl
140a8999d:	e8 3e d6 f7 ff       	call   0x140a06fe0
140a899a2:	48 8b 7d 08          	mov    0x8(%rbp),%rdi
140a899a6:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a899ab:	48 89 45 08          	mov    %rax,0x8(%rbp)
140a899af:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140a899b4:	48 85 ff             	test   %rdi,%rdi
140a899b7:	74 42                	je     0x140a899fb
140a899b9:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
140a899bd:	48 85 db             	test   %rbx,%rbx
140a899c0:	74 2c                	je     0x140a899ee
140a899c2:	48 8b 03             	mov    (%rbx),%rax
140a899c5:	90                   	nop
140a899c6:	48 83 f8 01          	cmp    $0x1,%rax
140a899ca:	74 12                	je     0x140a899de
140a899cc:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a899d3:	f0 48 0f c1 03       	lock xadd %rax,(%rbx)
140a899d8:	48 83 f8 01          	cmp    $0x1,%rax
140a899dc:	75 10                	jne    0x140a899ee
140a899de:	48 8b cb             	mov    %rbx,%rcx
140a899e1:	e8 fa d3 f7 ff       	call   0x140a06de0
140a899e6:	48 8b cb             	mov    %rbx,%rcx
140a899e9:	e8 a2 76 3a 00       	call   0x140e31090
140a899ee:	ba 18 00 00 00       	mov    $0x18,%edx
140a899f3:	48 8b cf             	mov    %rdi,%rcx
140a899f6:	e8 49 17 39 00       	call   0x140e1b144
140a899fb:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a89a00:	e8 eb 57 f3 ff       	call   0x1409bf1f0
140a89a05:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a89a0a:	32 c0                	xor    %al,%al
140a89a0c:	48 83 c4 20          	add    $0x20,%rsp
140a89a10:	5e                   	pop    %rsi
140a89a11:	5d                   	pop    %rbp
140a89a12:	5b                   	pop    %rbx
140a89a13:	c3                   	ret
140a89a14:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140a89a19:	e8 42 ef fc ff       	call   0x140a58960
140a89a1e:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a89a22:	48 8d 5e 20          	lea    0x20(%rsi),%rbx
140a89a26:	48 8b cd             	mov    %rbp,%rcx
140a89a29:	4c 8b f0             	mov    %rax,%r14
140a89a2c:	e8 3f e4 fc ff       	call   0x140a57e70
140a89a31:	84 c0                	test   %al,%al
140a89a33:	74 40                	je     0x140a89a75
140a89a35:	48 8b 7e 18          	mov    0x18(%rsi),%rdi
140a89a39:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140a89a40:	49 8b 46 30          	mov    0x30(%r14),%rax
140a89a44:	48 8b d3             	mov    %rbx,%rdx
140a89a47:	48 8b cd             	mov    %rbp,%rcx
140a89a4a:	ff 15 d0 9f 4f 00    	call   *0x4f9fd0(%rip)        # 0x140f83a20
140a89a50:	84 c0                	test   %al,%al
140a89a52:	74 21                	je     0x140a89a75
140a89a54:	0f b7 46 12          	movzwl 0x12(%rsi),%eax
140a89a58:	48 03 d8             	add    %rax,%rbx
140a89a5b:	48 83 ef 01          	sub    $0x1,%rdi
140a89a5f:	75 df                	jne    0x140a89a40
140a89a61:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
140a89a66:	b0 01                	mov    $0x1,%al
140a89a68:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a89a6d:	48 83 c4 20          	add    $0x20,%rsp
140a89a71:	5e                   	pop    %rsi
140a89a72:	5d                   	pop    %rbp
140a89a73:	5b                   	pop    %rbx
140a89a74:	c3                   	ret
140a89a75:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
140a89a7a:	32 c0                	xor    %al,%al
140a89a7c:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a89a81:	48 83 c4 20          	add    $0x20,%rsp
140a89a85:	5e                   	pop    %rsi
140a89a86:	5d                   	pop    %rbp
140a89a87:	5b                   	pop    %rbx
140a89a88:	c3                   	ret
140a89a89:	33 d2                	xor    %edx,%edx
140a89a8b:	48 8b cd             	mov    %rbp,%rcx
140a89a8e:	e8 dd e3 fc ff       	call   0x140a57e70
140a89a93:	84 c0                	test   %al,%al
140a89a95:	0f 95 c0             	setne  %al
140a89a98:	48 83 c4 20          	add    $0x20,%rsp
140a89a9c:	5e                   	pop    %rsi
140a89a9d:	5d                   	pop    %rbp
140a89a9e:	5b                   	pop    %rbx
140a89a9f:	c3                   	ret
140a89aa0:	e9 2b fd ff ff       	jmp    0x140a897d0
140a89aa5:	cc                   	int3
140a89aa6:	cc                   	int3
140a89aa7:	cc                   	int3
140a89aa8:	cc                   	int3
140a89aa9:	cc                   	int3
140a89aaa:	cc                   	int3
140a89aab:	cc                   	int3
140a89aac:	cc                   	int3
140a89aad:	cc                   	int3
140a89aae:	cc                   	int3
140a89aaf:	cc                   	int3
140a89ab0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140a89ab5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a89aba:	57                   	push   %rdi
140a89abb:	48 83 ec 70          	sub    $0x70,%rsp
140a89abf:	48 8b 05 3a f4 92 00 	mov    0x92f43a(%rip),%rax        # 0x1413b8f00
140a89ac6:	48 33 c4             	xor    %rsp,%rax
140a89ac9:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140a89ace:	48 8b f2             	mov    %rdx,%rsi
140a89ad1:	48 8b f9             	mov    %rcx,%rdi
140a89ad4:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140a89ad9:	33 c0                	xor    %eax,%eax
140a89adb:	89 44 24 34          	mov    %eax,0x34(%rsp)
140a89adf:	0f 57 c0             	xorps  %xmm0,%xmm0
140a89ae2:	0f 11 01             	movups %xmm0,(%rcx)
140a89ae5:	48 89 41 10          	mov    %rax,0x10(%rcx)
140a89ae9:	48 c7 41 18 0f 00 00 	movq   $0xf,0x18(%rcx)
140a89af0:	00
140a89af1:	88 01                	mov    %al,(%rcx)
140a89af3:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%rsp)
140a89afa:	00
140a89afb:	48 8d 05 9e 21 56 00 	lea    0x56219e(%rip),%rax        # 0x140febca0
140a89b02:	48 8d 15 1f 28 56 00 	lea    0x56281f(%rip),%rdx        # 0x140fec328
140a89b09:	83 3e 00             	cmpl   $0x0,(%rsi)
140a89b0c:	48 0f 44 d0          	cmove  %rax,%rdx
140a89b10:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140a89b15:	0f 57 c9             	xorps  %xmm1,%xmm1
140a89b18:	f3 0f 7f 4c 24 50    	movdqu %xmm1,0x50(%rsp)
140a89b1e:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140a89b25:	4c 8b c3             	mov    %rbx,%r8
140a89b28:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140a89b2f:	00
140a89b30:	49 ff c0             	inc    %r8
140a89b33:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140a89b38:	75 f6                	jne    0x140a89b30
140a89b3a:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a89b3f:	e8 bc d2 70 ff       	call   0x140196e00
140a89b44:	c7 44 24 34 03 00 00 	movl   $0x3,0x34(%rsp)
140a89b4b:	00
140a89b4c:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a89b51:	48 83 7c 24 58 0f    	cmpq   $0xf,0x58(%rsp)
140a89b57:	48 0f 47 54 24 40    	cmova  0x40(%rsp),%rdx
140a89b5d:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140a89b62:	48 8b cf             	mov    %rdi,%rcx
140a89b65:	e8 16 46 72 ff       	call   0x1401ae180
140a89b6a:	90                   	nop
140a89b6b:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140a89b70:	48 83 fa 0f          	cmp    $0xf,%rdx
140a89b74:	76 32                	jbe    0x140a89ba8
140a89b76:	48 ff c2             	inc    %rdx
140a89b79:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a89b7e:	48 8b c1             	mov    %rcx,%rax
140a89b81:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a89b88:	72 19                	jb     0x140a89ba3
140a89b8a:	48 83 c2 27          	add    $0x27,%rdx
140a89b8e:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a89b92:	48 2b c1             	sub    %rcx,%rax
140a89b95:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a89b99:	48 83 f8 1f          	cmp    $0x1f,%rax
140a89b9d:	0f 87 17 01 00 00    	ja     0x140a89cba
140a89ba3:	e8 9c 15 39 00       	call   0x140e1b144
140a89ba8:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a89bac:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140a89bb0:	48 8b c2             	mov    %rdx,%rax
140a89bb3:	48 2b c1             	sub    %rcx,%rax
140a89bb6:	48 83 f8 01          	cmp    $0x1,%rax
140a89bba:	72 1c                	jb     0x140a89bd8
140a89bbc:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a89bc0:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a89bc4:	48 8b c7             	mov    %rdi,%rax
140a89bc7:	48 83 fa 0f          	cmp    $0xf,%rdx
140a89bcb:	76 03                	jbe    0x140a89bd0
140a89bcd:	48 8b 07             	mov    (%rdi),%rax
140a89bd0:	66 c7 04 08 2f 00    	movw   $0x2f,(%rax,%rcx,1)
140a89bd6:	eb 23                	jmp    0x140a89bfb
140a89bd8:	48 c7 44 24 20 01 00 	movq   $0x1,0x20(%rsp)
140a89bdf:	00 00
140a89be1:	4c 8d 0d f0 ff 51 00 	lea    0x51fff0(%rip),%r9        # 0x140fa9bd8
140a89be8:	44 0f b6 44 24 30    	movzbl 0x30(%rsp),%r8d
140a89bee:	ba 01 00 00 00       	mov    $0x1,%edx
140a89bf3:	48 8b cf             	mov    %rdi,%rcx
140a89bf6:	e8 85 ea 71 ff       	call   0x1401a8680
140a89bfb:	48 8d 05 fa 6e 5f 00 	lea    0x5f6efa(%rip),%rax        # 0x141080afc
140a89c02:	48 8d 15 fb 6e 5f 00 	lea    0x5f6efb(%rip),%rdx        # 0x141080b04
140a89c09:	83 7e 04 00          	cmpl   $0x0,0x4(%rsi)
140a89c0d:	48 0f 44 d0          	cmove  %rax,%rdx
140a89c11:	0f 57 c0             	xorps  %xmm0,%xmm0
140a89c14:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140a89c19:	0f 57 c9             	xorps  %xmm1,%xmm1
140a89c1c:	f3 0f 7f 4c 24 50    	movdqu %xmm1,0x50(%rsp)
140a89c22:	48 ff c3             	inc    %rbx
140a89c25:	80 3c 1a 00          	cmpb   $0x0,(%rdx,%rbx,1)
140a89c29:	75 f7                	jne    0x140a89c22
140a89c2b:	4c 8b c3             	mov    %rbx,%r8
140a89c2e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a89c33:	e8 c8 d1 70 ff       	call   0x140196e00
140a89c38:	c7 44 24 34 07 00 00 	movl   $0x7,0x34(%rsp)
140a89c3f:	00
140a89c40:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a89c45:	48 83 7c 24 58 0f    	cmpq   $0xf,0x58(%rsp)
140a89c4b:	48 0f 47 54 24 40    	cmova  0x40(%rsp),%rdx
140a89c51:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140a89c56:	48 8b cf             	mov    %rdi,%rcx
140a89c59:	e8 22 45 72 ff       	call   0x1401ae180
140a89c5e:	90                   	nop
140a89c5f:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140a89c64:	48 83 fa 0f          	cmp    $0xf,%rdx
140a89c68:	76 2e                	jbe    0x140a89c98
140a89c6a:	48 ff c2             	inc    %rdx
140a89c6d:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a89c72:	48 8b c1             	mov    %rcx,%rax
140a89c75:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a89c7c:	72 15                	jb     0x140a89c93
140a89c7e:	48 83 c2 27          	add    $0x27,%rdx
140a89c82:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a89c86:	48 2b c1             	sub    %rcx,%rax
140a89c89:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a89c8d:	48 83 f8 1f          	cmp    $0x1f,%rax
140a89c91:	77 27                	ja     0x140a89cba
140a89c93:	e8 ac 14 39 00       	call   0x140e1b144
140a89c98:	48 8b c7             	mov    %rdi,%rax
140a89c9b:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140a89ca0:	48 33 cc             	xor    %rsp,%rcx
140a89ca3:	e8 58 18 39 00       	call   0x140e1b500
140a89ca8:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140a89cad:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140a89cb1:	49 8b 73 28          	mov    0x28(%r11),%rsi
140a89cb5:	49 8b e3             	mov    %r11,%rsp
140a89cb8:	5f                   	pop    %rdi
140a89cb9:	c3                   	ret
140a89cba:	e8 e5 04 3a 00       	call   0x140e2a1a4
140a89cbf:	cc                   	int3
140a89cc0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a89cc5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a89cca:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a89ccf:	57                   	push   %rdi
140a89cd0:	48 83 ec 20          	sub    $0x20,%rsp
140a89cd4:	48 8b f2             	mov    %rdx,%rsi
140a89cd7:	48 8b d9             	mov    %rcx,%rbx
140a89cda:	48 8b 7a 10          	mov    0x10(%rdx),%rdi
140a89cde:	33 c0                	xor    %eax,%eax
140a89ce0:	48 89 01             	mov    %rax,(%rcx)
140a89ce3:	48 89 41 08          	mov    %rax,0x8(%rcx)
140a89ce7:	48 89 41 10          	mov    %rax,0x10(%rcx)
140a89ceb:	48 85 ff             	test   %rdi,%rdi
140a89cee:	74 1f                	je     0x140a89d0f
140a89cf0:	48 8b cf             	mov    %rdi,%rcx
140a89cf3:	e8 24 19 39 00       	call   0x140e1b61c
140a89cf8:	48 8b 0b             	mov    (%rbx),%rcx
140a89cfb:	48 89 03             	mov    %rax,(%rbx)
140a89cfe:	48 85 c9             	test   %rcx,%rcx
140a89d01:	74 08                	je     0x140a89d0b
140a89d03:	e8 3c 14 39 00       	call   0x140e1b144
140a89d08:	48 8b 03             	mov    (%rbx),%rax
140a89d0b:	48 01 7b 08          	add    %rdi,0x8(%rbx)
140a89d0f:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140a89d13:	4c 8b 46 10          	mov    0x10(%rsi),%r8
140a89d17:	48 8b 16             	mov    (%rsi),%rdx
140a89d1a:	48 8b c8             	mov    %rax,%rcx
140a89d1d:	e8 ee 52 45 00       	call   0x140edf010
140a89d22:	48 8b c3             	mov    %rbx,%rax
140a89d25:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a89d2a:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a89d2f:	48 83 c4 20          	add    $0x20,%rsp
140a89d33:	5f                   	pop    %rdi
140a89d34:	c3                   	ret
140a89d35:	cc                   	int3
140a89d36:	cc                   	int3
140a89d37:	cc                   	int3
140a89d38:	cc                   	int3
140a89d39:	cc                   	int3
140a89d3a:	cc                   	int3
140a89d3b:	cc                   	int3
140a89d3c:	cc                   	int3
140a89d3d:	cc                   	int3
140a89d3e:	cc                   	int3
140a89d3f:	cc                   	int3
140a89d40:	48 c7 41 10 00 00 00 	movq   $0x0,0x10(%rcx)
140a89d47:	00
140a89d48:	c3                   	ret
140a89d49:	cc                   	int3
140a89d4a:	cc                   	int3
140a89d4b:	cc                   	int3
140a89d4c:	cc                   	int3
140a89d4d:	cc                   	int3
140a89d4e:	cc                   	int3
140a89d4f:	cc                   	int3
140a89d50:	48 85 d2             	test   %rdx,%rdx
140a89d53:	0f 84 9b 00 00 00    	je     0x140a89df4
140a89d59:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140a89d5e:	41 56                	push   %r14
140a89d60:	48 83 ec 20          	sub    $0x20,%rsp
140a89d64:	48 83 39 00          	cmpq   $0x0,(%rcx)
140a89d68:	4c 8b f2             	mov    %rdx,%r14
140a89d6b:	48 8b f9             	mov    %rcx,%rdi
140a89d6e:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140a89d73:	75 31                	jne    0x140a89da6
140a89d75:	48 8b ca             	mov    %rdx,%rcx
140a89d78:	e8 9f 18 39 00       	call   0x140e1b61c
140a89d7d:	48 8b 0f             	mov    (%rdi),%rcx
140a89d80:	48 89 07             	mov    %rax,(%rdi)
140a89d83:	48 85 c9             	test   %rcx,%rcx
140a89d86:	74 05                	je     0x140a89d8d
140a89d88:	e8 b7 13 39 00       	call   0x140e1b144
140a89d8d:	4c 01 77 08          	add    %r14,0x8(%rdi)
140a89d91:	48 8d 77 08          	lea    0x8(%rdi),%rsi
140a89d95:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a89d9a:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140a89d9f:	48 83 c4 20          	add    $0x20,%rsp
140a89da3:	41 5e                	pop    %r14
140a89da5:	c3                   	ret
140a89da6:	48 8d 71 08          	lea    0x8(%rcx),%rsi
140a89daa:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a89daf:	48 8b 0e             	mov    (%rsi),%rcx
140a89db2:	49 03 ce             	add    %r14,%rcx
140a89db5:	e8 62 18 39 00       	call   0x140e1b61c
140a89dba:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140a89dbe:	48 8b c8             	mov    %rax,%rcx