140161aa0:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140161aa4:	e8 b7 c6 ff ff       	call   0x14015e160
140161aa9:	49 8b ce             	mov    %r14,%rcx
140161aac:	e8 af c6 ff ff       	call   0x14015e160
140161ab1:	8b 83 d4 00 00 00    	mov    0xd4(%rbx),%eax
140161ab7:	48 c7 45 97 00 00 00 	movq   $0x0,-0x69(%rbp)
140161abe:	00
140161abf:	44 3b f8             	cmp    %eax,%r15d
140161ac2:	0f 84 0c ff ff ff    	je     0x1401619d4
140161ac8:	89 45 af             	mov    %eax,-0x51(%rbp)
140161acb:	44 8b f8             	mov    %eax,%r15d
140161ace:	3d 7f 80 00 00       	cmp    $0x807f,%eax
140161ad3:	0f 85 ce fb ff ff    	jne    0x1401616a7
140161ad9:	e9 0a ff ff ff       	jmp    0x1401619e8
140161ade:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140161ae2:	e8 79 c6 ff ff       	call   0x14015e160
140161ae7:	49 8b ce             	mov    %r14,%rcx
140161aea:	e8 71 c6 ff ff       	call   0x14015e160
140161aef:	48 c7 83 c8 00 00 00 	movq   $0x0,0xc8(%rbx)
140161af6:	00 00 00 00
140161afa:	33 c0                	xor    %eax,%eax
140161afc:	e9 1b fb ff ff       	jmp    0x14016161c
140161b01:	cc                   	int3
140161b02:	cc                   	int3
140161b03:	cc                   	int3
140161b04:	cc                   	int3
140161b05:	cc                   	int3
140161b06:	cc                   	int3
140161b07:	cc                   	int3
140161b08:	cc                   	int3
140161b09:	cc                   	int3
140161b0a:	cc                   	int3
140161b0b:	cc                   	int3
140161b0c:	cc                   	int3
140161b0d:	cc                   	int3
140161b0e:	cc                   	int3
140161b0f:	cc                   	int3
140161b10:	40 55                	rex push %rbp
140161b12:	57                   	push   %rdi
140161b13:	41 54                	push   %r12
140161b15:	41 55                	push   %r13
140161b17:	b8 28 00 00 00       	mov    $0x28,%eax
140161b1c:	e8 0f f0 14 00       	call   0x1402b0b30
140161b21:	48 2b e0             	sub    %rax,%rsp
140161b24:	4c 8b a9 f0 00 00 00 	mov    0xf0(%rcx),%r13
140161b2b:	48 8b f9             	mov    %rcx,%rdi
140161b2e:	48 8b 89 98 00 00 00 	mov    0x98(%rcx),%rcx
140161b35:	44 8b e2             	mov    %edx,%r12d
140161b38:	e8 03 9c f8 ff       	call   0x1400eb740
140161b3d:	8b e8                	mov    %eax,%ebp
140161b3f:	4d 85 ed             	test   %r13,%r13
140161b42:	74 25                	je     0x140161b69
140161b44:	41 f6 45 28 05       	testb  $0x5,0x28(%r13)
140161b49:	74 1e                	je     0x140161b69
140161b4b:	45 85 e4             	test   %r12d,%r12d
140161b4e:	7e 19                	jle    0x140161b69
140161b50:	44 3b e0             	cmp    %eax,%r12d
140161b53:	7d 14                	jge    0x140161b69
140161b55:	41 8b d4             	mov    %r12d,%edx
140161b58:	48 8b cf             	mov    %rdi,%rcx
140161b5b:	e8 50 e9 ff ff       	call   0x1401604b0
140161b60:	83 f8 03             	cmp    $0x3,%eax
140161b63:	0f 85 88 00 00 00    	jne    0x140161bf1
140161b69:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140161b6e:	41 8b dc             	mov    %r12d,%ebx
140161b71:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
140161b76:	4c 89 74 24 68       	mov    %r14,0x68(%rsp)
140161b7b:	45 33 f6             	xor    %r14d,%r14d
140161b7e:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140161b83:	44 3b e5             	cmp    %ebp,%r12d
140161b86:	0f 8d 85 00 00 00    	jge    0x140161c11
140161b8c:	0f 1f 40 00          	nopl   0x0(%rax)
140161b90:	48 8b 8f 98 00 00 00 	mov    0x98(%rdi),%rcx
140161b97:	8b d3                	mov    %ebx,%edx
140161b99:	e8 a2 9e f8 ff       	call   0x1400eba40
140161b9e:	48 8b f0             	mov    %rax,%rsi
140161ba1:	45 33 c0             	xor    %r8d,%r8d
140161ba4:	48 8b 47 20          	mov    0x20(%rdi),%rax
140161ba8:	48 8b ce             	mov    %rsi,%rcx
140161bab:	8b 50 1c             	mov    0x1c(%rax),%edx
140161bae:	e8 0d ba 04 00       	call   0x1401ad5c0
140161bb3:	83 f8 01             	cmp    $0x1,%eax
140161bb6:	0f 84 ac 01 00 00    	je     0x140161d68
140161bbc:	83 f8 02             	cmp    $0x2,%eax
140161bbf:	74 3b                	je     0x140161bfc
140161bc1:	ff c3                	inc    %ebx
140161bc3:	3b dd                	cmp    %ebp,%ebx
140161bc5:	7c c9                	jl     0x140161b90
140161bc7:	48 8b 47 20          	mov    0x20(%rdi),%rax
140161bcb:	f7 40 14 00 00 08 00 	testl  $0x80000,0x14(%rax)
140161bd2:	0f 85 90 01 00 00    	jne    0x140161d68
140161bd8:	b8 03 00 00 00       	mov    $0x3,%eax
140161bdd:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
140161be2:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140161be7:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140161bec:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140161bf1:	48 83 c4 28          	add    $0x28,%rsp
140161bf5:	41 5d                	pop    %r13
140161bf7:	41 5c                	pop    %r12
140161bf9:	5f                   	pop    %rdi
140161bfa:	5d                   	pop    %rbp
140161bfb:	c3                   	ret
140161bfc:	8b c3                	mov    %ebx,%eax
140161bfe:	85 db                	test   %ebx,%ebx
140161c00:	0f 89 fe 00 00 00    	jns    0x140161d04
140161c06:	8b 9f ac 00 00 00    	mov    0xac(%rdi),%ebx
140161c0c:	e9 f9 00 00 00       	jmp    0x140161d0a
140161c11:	75 c5                	jne    0x140161bd8
140161c13:	48 8b 47 20          	mov    0x20(%rdi),%rax
140161c17:	f7 40 14 00 00 08 00 	testl  $0x80000,0x14(%rax)
140161c1e:	74 b8                	je     0x140161bd8
140161c20:	48 8b 8f 98 00 00 00 	mov    0x98(%rdi),%rcx
140161c27:	33 d2                	xor    %edx,%edx
140161c29:	e8 12 9e f8 ff       	call   0x1400eba40
140161c2e:	48 8b f0             	mov    %rax,%rsi
140161c31:	4d 8b fe             	mov    %r14,%r15
140161c34:	e8 d7 b7 fb ff       	call   0x14011d410
140161c39:	48 8b ce             	mov    %rsi,%rcx
140161c3c:	e8 af b4 f9 ff       	call   0x1400fd0f0
140161c41:	48 8b d0             	mov    %rax,%rdx
140161c44:	48 8b cf             	mov    %rdi,%rcx
140161c47:	ff 57 78             	call   *0x78(%rdi)
140161c4a:	48 8b e8             	mov    %rax,%rbp
140161c4d:	e8 8e b5 fb ff       	call   0x14011d1e0
140161c52:	48 85 ed             	test   %rbp,%rbp
140161c55:	74 5c                	je     0x140161cb3
140161c57:	48 8b cd             	mov    %rbp,%rcx
140161c5a:	41 8b de             	mov    %r14d,%ebx
140161c5d:	e8 de 9a f8 ff       	call   0x1400eb740
140161c62:	85 c0                	test   %eax,%eax
140161c64:	7e 61                	jle    0x140161cc7
140161c66:	8b d3                	mov    %ebx,%edx
140161c68:	48 8b cd             	mov    %rbp,%rcx
140161c6b:	e8 d0 9d f8 ff       	call   0x1400eba40
140161c70:	48 8b d6             	mov    %rsi,%rdx
140161c73:	48 8b c8             	mov    %rax,%rcx
140161c76:	4c 8b f8             	mov    %rax,%r15
140161c79:	e8 82 28 fa ff       	call   0x140104500
140161c7e:	85 c0                	test   %eax,%eax
140161c80:	74 11                	je     0x140161c93
140161c82:	48 8b cd             	mov    %rbp,%rcx
140161c85:	4d 8b fe             	mov    %r14,%r15
140161c88:	ff c3                	inc    %ebx
140161c8a:	e8 b1 9a f8 ff       	call   0x1400eb740
140161c8f:	3b d8                	cmp    %eax,%ebx
140161c91:	7c d3                	jl     0x140161c66
140161c93:	4d 85 ff             	test   %r15,%r15
140161c96:	74 2c                	je     0x140161cc4
140161c98:	49 8b cf             	mov    %r15,%rcx
140161c9b:	e8 60 1c fa ff       	call   0x140103900
140161ca0:	48 8d 15 89 17 fa ff 	lea    -0x5e877(%rip),%rdx        # 0x140103430
140161ca7:	48 8b cd             	mov    %rbp,%rcx
140161caa:	85 c0                	test   %eax,%eax
140161cac:	75 0f                	jne    0x140161cbd
140161cae:	e8 cd 9a f8 ff       	call   0x1400eb780
140161cb3:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140161cb8:	e9 20 ff ff ff       	jmp    0x140161bdd
140161cbd:	e8 be 9a f8 ff       	call   0x1400eb780
140161cc2:	eb 1b                	jmp    0x140161cdf
140161cc4:	4d 8b fe             	mov    %r14,%r15
140161cc7:	48 8d 15 62 17 fa ff 	lea    -0x5e89e(%rip),%rdx        # 0x140103430
140161cce:	48 8b cd             	mov    %rbp,%rcx
140161cd1:	e8 aa 9a f8 ff       	call   0x1400eb780
140161cd6:	4d 85 ff             	test   %r15,%r15
140161cd9:	0f 84 f9 fe ff ff    	je     0x140161bd8
140161cdf:	48 8b 47 20          	mov    0x20(%rdi),%rax
140161ce3:	45 33 c0             	xor    %r8d,%r8d
140161ce6:	49 8b cf             	mov    %r15,%rcx
140161ce9:	8b 50 1c             	mov    0x1c(%rax),%edx
140161cec:	e8 cf b8 04 00       	call   0x1401ad5c0
140161cf1:	83 f8 02             	cmp    $0x2,%eax
140161cf4:	75 52                	jne    0x140161d48
140161cf6:	49 8b cf             	mov    %r15,%rcx
140161cf9:	e8 32 17 fa ff       	call   0x140103430
140161cfe:	41 8b c6             	mov    %r14d,%eax
140161d01:	41 8b de             	mov    %r14d,%ebx
140161d04:	89 87 ac 00 00 00    	mov    %eax,0xac(%rdi)
140161d0a:	48 85 f6             	test   %rsi,%rsi
140161d0d:	75 11                	jne    0x140161d20
140161d0f:	48 8b 8f 98 00 00 00 	mov    0x98(%rdi),%rcx
140161d16:	8b d3                	mov    %ebx,%edx
140161d18:	e8 23 9d f8 ff       	call   0x1400eba40
140161d1d:	48 8b f0             	mov    %rax,%rsi
140161d20:	48 8b d7             	mov    %rdi,%rdx
140161d23:	48 89 b7 b8 00 00 00 	mov    %rsi,0xb8(%rdi)
140161d2a:	33 c9                	xor    %ecx,%ecx
140161d2c:	c7 87 b0 00 00 00 1c 	movl   $0x1c,0xb0(%rdi)
140161d33:	00 00 00
140161d36:	ff 57 38             	call   *0x38(%rdi)
140161d39:	85 c0                	test   %eax,%eax
140161d3b:	41 0f 95 c6          	setne  %r14b
140161d3f:	41 8d 46 02          	lea    0x2(%r14),%eax
140161d43:	e9 95 fe ff ff       	jmp    0x140161bdd
140161d48:	48 8b 8f 98 00 00 00 	mov    0x98(%rdi),%rcx
140161d4f:	4d 8b c7             	mov    %r15,%r8
140161d52:	33 d2                	xor    %edx,%edx
140161d54:	e8 67 9b f8 ff       	call   0x1400eb8c0
140161d59:	48 8b ce             	mov    %rsi,%rcx
140161d5c:	e8 cf 16 fa ff       	call   0x140103430
140161d61:	44 89 b7 94 00 00 00 	mov    %r14d,0x94(%rdi)
140161d68:	4d 85 ed             	test   %r13,%r13
140161d6b:	74 21                	je     0x140161d8e
140161d6d:	49 8b 4d 08          	mov    0x8(%r13),%rcx
140161d71:	e8 ca 99 f8 ff       	call   0x1400eb740
140161d76:	85 c0                	test   %eax,%eax
140161d78:	7e 14                	jle    0x140161d8e
140161d7a:	45 39 75 30          	cmp    %r14d,0x30(%r13)
140161d7e:	7d 04                	jge    0x140161d84
140161d80:	45 89 65 30          	mov    %r12d,0x30(%r13)
140161d84:	45 39 75 2c          	cmp    %r14d,0x2c(%r13)
140161d88:	0f 8c 4a fe ff ff    	jl     0x140161bd8
140161d8e:	b8 01 00 00 00       	mov    $0x1,%eax
140161d93:	e9 45 fe ff ff       	jmp    0x140161bdd
140161d98:	cc                   	int3
140161d99:	cc                   	int3
140161d9a:	cc                   	int3
140161d9b:	cc                   	int3
140161d9c:	cc                   	int3
140161d9d:	cc                   	int3
140161d9e:	cc                   	int3
140161d9f:	cc                   	int3
140161da0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161da5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140161daa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140161daf:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140161db4:	41 54                	push   %r12
140161db6:	41 56                	push   %r14
140161db8:	41 57                	push   %r15
140161dba:	b8 20 00 00 00       	mov    $0x20,%eax
140161dbf:	e8 6c ed 14 00       	call   0x1402b0b30
140161dc4:	48 2b e0             	sub    %rax,%rsp
140161dc7:	48 8b d9             	mov    %rcx,%rbx
140161dca:	4d 8b f1             	mov    %r9,%r14
140161dcd:	48 8b ca             	mov    %rdx,%rcx
140161dd0:	4d 8b e0             	mov    %r8,%r12
140161dd3:	48 8b ea             	mov    %rdx,%rbp
140161dd6:	e8 e5 95 f5 ff       	call   0x1400bb3c0
140161ddb:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140161de2:	4c 8b f8             	mov    %rax,%r15
140161de5:	8b bb ac 00 00 00    	mov    0xac(%rbx),%edi
140161deb:	e8 50 99 f8 ff       	call   0x1400eb740
140161df0:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140161df7:	8d 77 01             	lea    0x1(%rdi),%esi
140161dfa:	ff c8                	dec    %eax
140161dfc:	3b f8                	cmp    %eax,%edi
140161dfe:	0f 44 f7             	cmove  %edi,%esi
140161e01:	8b d6                	mov    %esi,%edx
140161e03:	e8 38 9c f8 ff       	call   0x1400eba40
140161e08:	48 8b 95 80 00 00 00 	mov    0x80(%rbp),%rdx
140161e0f:	48 8b c8             	mov    %rax,%rcx
140161e12:	48 8b f8             	mov    %rax,%rdi
140161e15:	e8 a6 99 fb ff       	call   0x14011b7c0
140161e1a:	85 c0                	test   %eax,%eax
140161e1c:	75 17                	jne    0x140161e35
140161e1e:	41 8b 0e             	mov    (%r14),%ecx
140161e21:	f6 c1 20             	test   $0x20,%cl
140161e24:	74 0f                	je     0x140161e35
140161e26:	83 c9 1c             	or     $0x1c,%ecx
140161e29:	41 89 0e             	mov    %ecx,(%r14)
140161e2c:	49 89 3c 24          	mov    %rdi,(%r12)
140161e30:	e9 e6 00 00 00       	jmp    0x140161f1b
140161e35:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140161e3c:	8d 7e 01             	lea    0x1(%rsi),%edi
140161e3f:	e8 fc 98 f8 ff       	call   0x1400eb740
140161e44:	3b f8                	cmp    %eax,%edi
140161e46:	7d 55                	jge    0x140161e9d
140161e48:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140161e4f:	00
140161e50:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140161e57:	8b d7                	mov    %edi,%edx
140161e59:	e8 e2 9b f8 ff       	call   0x1400eba40
140161e5e:	48 8b c8             	mov    %rax,%rcx
140161e61:	48 8b f0             	mov    %rax,%rsi
140161e64:	e8 87 b2 f9 ff       	call   0x1400fd0f0
140161e69:	48 8b c8             	mov    %rax,%rcx
140161e6c:	49 8b d7             	mov    %r15,%rdx
140161e6f:	e8 3c 1d fa ff       	call   0x140103bb0
140161e74:	85 c0                	test   %eax,%eax
140161e76:	75 13                	jne    0x140161e8b
140161e78:	48 8b 95 80 00 00 00 	mov    0x80(%rbp),%rdx
140161e7f:	48 8b ce             	mov    %rsi,%rcx
140161e82:	e8 39 99 fb ff       	call   0x14011b7c0
140161e87:	85 c0                	test   %eax,%eax
140161e89:	74 7e                	je     0x140161f09
140161e8b:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140161e92:	ff c7                	inc    %edi
140161e94:	e8 a7 98 f8 ff       	call   0x1400eb740
140161e99:	3b f8                	cmp    %eax,%edi
140161e9b:	7c b3                	jl     0x140161e50
140161e9d:	48 8b 43 20          	mov    0x20(%rbx),%rax
140161ea1:	f7 40 14 00 10 00 00 	testl  $0x1000,0x14(%rax)
140161ea8:	74 71                	je     0x140161f1b
140161eaa:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140161eae:	33 ff                	xor    %edi,%edi
140161eb0:	e8 8b 98 f8 ff       	call   0x1400eb740
140161eb5:	85 c0                	test   %eax,%eax
140161eb7:	7e 62                	jle    0x140161f1b
140161eb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140161ec0:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140161ec4:	8b d7                	mov    %edi,%edx
140161ec6:	e8 75 9b f8 ff       	call   0x1400eba40
140161ecb:	48 8b c8             	mov    %rax,%rcx
140161ece:	48 8b f0             	mov    %rax,%rsi
140161ed1:	e8 1a b2 f9 ff       	call   0x1400fd0f0
140161ed6:	48 8b c8             	mov    %rax,%rcx
140161ed9:	49 8b d7             	mov    %r15,%rdx
140161edc:	e8 cf 1c fa ff       	call   0x140103bb0
140161ee1:	85 c0                	test   %eax,%eax
140161ee3:	75 13                	jne    0x140161ef8
140161ee5:	48 8b 95 80 00 00 00 	mov    0x80(%rbp),%rdx
140161eec:	48 8b ce             	mov    %rsi,%rcx
140161eef:	e8 cc 98 fb ff       	call   0x14011b7c0
140161ef4:	85 c0                	test   %eax,%eax
140161ef6:	74 1b                	je     0x140161f13
140161ef8:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140161efc:	ff c7                	inc    %edi
140161efe:	e8 3d 98 f8 ff       	call   0x1400eb740
140161f03:	3b f8                	cmp    %eax,%edi
140161f05:	7c b9                	jl     0x140161ec0
140161f07:	eb 12                	jmp    0x140161f1b
140161f09:	41 83 0e 0c          	orl    $0xc,(%r14)
140161f0d:	49 89 34 24          	mov    %rsi,(%r12)
140161f11:	eb 08                	jmp    0x140161f1b
140161f13:	49 89 34 24          	mov    %rsi,(%r12)
140161f17:	41 83 0e 04          	orl    $0x4,(%r14)
140161f1b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140161f20:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140161f25:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140161f2a:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140161f2f:	48 83 c4 20          	add    $0x20,%rsp
140161f33:	41 5f                	pop    %r15
140161f35:	41 5e                	pop    %r14
140161f37:	41 5c                	pop    %r12
140161f39:	c3                   	ret
140161f3a:	cc                   	int3
140161f3b:	cc                   	int3
140161f3c:	cc                   	int3
140161f3d:	cc                   	int3
140161f3e:	cc                   	int3
140161f3f:	cc                   	int3
140161f40:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140161f45:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
140161f4a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140161f4f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140161f54:	53                   	push   %rbx
140161f55:	55                   	push   %rbp
140161f56:	56                   	push   %rsi
140161f57:	41 56                	push   %r14
140161f59:	b8 48 00 00 00       	mov    $0x48,%eax
140161f5e:	e8 cd eb 14 00       	call   0x1402b0b30