140960c29:	88 44 24 28          	mov    %al,0x28(%rsp)
140960c2d:	84 c0                	test   %al,%al
140960c2f:	0f 84 2e 02 00 00    	je     0x140960e63
140960c35:	48 63 41 04          	movslq 0x4(%rcx),%rax
140960c39:	48 8b 44 38 40       	mov    0x40(%rax,%rdi,1),%rax
140960c3e:	48 8b 48 08          	mov    0x8(%rax),%rcx
140960c42:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140960c47:	48 8b 01             	mov    (%rcx),%rax
140960c4a:	48 8b 40 08          	mov    0x8(%rax),%rax
140960c4e:	ff 15 cc 2d 62 00    	call   *0x622dcc(%rip)        # 0x140f83a20
140960c54:	90                   	nop
140960c55:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140960c5a:	e8 51 15 00 00       	call   0x1409621b0
140960c5f:	4c 8b e8             	mov    %rax,%r13
140960c62:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140960c67:	48 85 c9             	test   %rcx,%rcx
140960c6a:	74 29                	je     0x140960c95
140960c6c:	48 8b 11             	mov    (%rcx),%rdx
140960c6f:	48 8b 42 10          	mov    0x10(%rdx),%rax
140960c73:	ff 15 a7 2d 62 00    	call   *0x622da7(%rip)        # 0x140f83a20
140960c79:	4c 8b c0             	mov    %rax,%r8
140960c7c:	48 85 c0             	test   %rax,%rax
140960c7f:	74 14                	je     0x140960c95
140960c81:	48 8b 08             	mov    (%rax),%rcx
140960c84:	48 8b 01             	mov    (%rcx),%rax
140960c87:	ba 01 00 00 00       	mov    $0x1,%edx
140960c8c:	49 8b c8             	mov    %r8,%rcx
140960c8f:	ff 15 8b 2d 62 00    	call   *0x622d8b(%rip)        # 0x140f83a20
140960c95:	48 8b 07             	mov    (%rdi),%rax
140960c98:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960c9c:	48 8b 54 39 28       	mov    0x28(%rcx,%rdi,1),%rdx
140960ca1:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140960ca5:	48 83 fa 01          	cmp    $0x1,%rdx
140960ca9:	48 0f 4f f0          	cmovg  %rax,%rsi
140960cad:	8b 44 39 18          	mov    0x18(%rcx,%rdi,1),%eax
140960cb1:	25 c0 01 00 00       	and    $0x1c0,%eax
140960cb6:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
140960cbc:	83 f8 40             	cmp    $0x40,%eax
140960cbf:	0f 84 84 00 00 00    	je     0x140960d49
140960cc5:	85 db                	test   %ebx,%ebx
140960cc7:	75 75                	jne    0x140960d3e
140960cc9:	48 85 f6             	test   %rsi,%rsi
140960ccc:	7e 7b                	jle    0x140960d49
140960cce:	48 8b 07             	mov    (%rdi),%rax
140960cd1:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960cd5:	4c 8b 44 39 48       	mov    0x48(%rcx,%rdi,1),%r8
140960cda:	44 0f b7 4c 39 58    	movzwl 0x58(%rcx,%rdi,1),%r9d
140960ce0:	49 8b 40 40          	mov    0x40(%r8),%rax
140960ce4:	48 83 38 00          	cmpq   $0x0,(%rax)
140960ce8:	74 22                	je     0x140960d0c
140960cea:	49 8b 48 58          	mov    0x58(%r8),%rcx
140960cee:	8b 01                	mov    (%rcx),%eax
140960cf0:	85 c0                	test   %eax,%eax
140960cf2:	7e 18                	jle    0x140960d0c
140960cf4:	ff c8                	dec    %eax
140960cf6:	89 01                	mov    %eax,(%rcx)
140960cf8:	49 8b 48 40          	mov    0x40(%r8),%rcx
140960cfc:	48 8b 11             	mov    (%rcx),%rdx
140960cff:	48 8d 42 02          	lea    0x2(%rdx),%rax
140960d03:	48 89 01             	mov    %rax,(%rcx)
140960d06:	66 44 89 0a          	mov    %r9w,(%rdx)
140960d0a:	eb 18                	jmp    0x140960d24
140960d0c:	49 8b 00             	mov    (%r8),%rax
140960d0f:	41 0f b7 d1          	movzwl %r9w,%edx
140960d13:	49 8b c8             	mov    %r8,%rcx
140960d16:	48 8b 40 18          	mov    0x18(%rax),%rax
140960d1a:	ff 15 00 2d 62 00    	call   *0x622d00(%rip)        # 0x140f83a20
140960d20:	44 0f b7 c8          	movzwl %ax,%r9d
140960d24:	48 ff ce             	dec    %rsi
140960d27:	8b c3                	mov    %ebx,%eax
140960d29:	83 c8 04             	or     $0x4,%eax
140960d2c:	66 45 3b f9          	cmp    %r9w,%r15w
140960d30:	0f 45 c3             	cmovne %ebx,%eax
140960d33:	8b d8                	mov    %eax,%ebx
140960d35:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%rsp)
140960d3c:	eb 87                	jmp    0x140960cc5
140960d3e:	41 be 04 00 00 00    	mov    $0x4,%r14d
140960d44:	e9 87 00 00 00       	jmp    0x140960dd0
140960d49:	48 8b 07             	mov    (%rdi),%rax
140960d4c:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960d50:	4c 8b 74 39 48       	mov    0x48(%rcx,%rdi,1),%r14
140960d55:	49 8b 45 00          	mov    0x0(%r13),%rax
140960d59:	0f b6 94 24 b8 00 00 	movzbl 0xb8(%rsp),%edx
140960d60:	00
140960d61:	49 8b cd             	mov    %r13,%rcx
140960d64:	48 8b 40 60          	mov    0x60(%rax),%rax
140960d68:	ff 15 b2 2c 62 00    	call   *0x622cb2(%rip)        # 0x140f83a20
140960d6e:	44 0f b7 c0          	movzwl %ax,%r8d
140960d72:	49 8b 4e 40          	mov    0x40(%r14),%rcx
140960d76:	48 83 39 00          	cmpq   $0x0,(%rcx)
140960d7a:	74 22                	je     0x140960d9e
140960d7c:	49 8b 4e 58          	mov    0x58(%r14),%rcx
140960d80:	8b 01                	mov    (%rcx),%eax
140960d82:	85 c0                	test   %eax,%eax
140960d84:	7e 18                	jle    0x140960d9e
140960d86:	ff c8                	dec    %eax
140960d88:	89 01                	mov    %eax,(%rcx)
140960d8a:	49 8b 4e 40          	mov    0x40(%r14),%rcx
140960d8e:	48 8b 11             	mov    (%rcx),%rdx
140960d91:	48 8d 42 02          	lea    0x2(%rdx),%rax
140960d95:	48 89 01             	mov    %rax,(%rcx)
140960d98:	66 44 89 02          	mov    %r8w,(%rdx)
140960d9c:	eb 18                	jmp    0x140960db6
140960d9e:	49 8b 06             	mov    (%r14),%rax
140960da1:	41 0f b7 d0          	movzwl %r8w,%edx
140960da5:	49 8b ce             	mov    %r14,%rcx
140960da8:	48 8b 40 18          	mov    0x18(%rax),%rax
140960dac:	ff 15 6e 2c 62 00    	call   *0x622c6e(%rip)        # 0x140f83a20
140960db2:	44 0f b7 c0          	movzwl %ax,%r8d
140960db6:	41 be 04 00 00 00    	mov    $0x4,%r14d
140960dbc:	66 45 3b f8          	cmp    %r8w,%r15w
140960dc0:	41 0f 44 de          	cmove  %r14d,%ebx
140960dc4:	89 9c 24 c0 00 00 00 	mov    %ebx,0xc0(%rsp)
140960dcb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140960dd0:	85 db                	test   %ebx,%ebx
140960dd2:	75 75                	jne    0x140960e49
140960dd4:	48 85 f6             	test   %rsi,%rsi
140960dd7:	7e 70                	jle    0x140960e49
140960dd9:	48 8b 07             	mov    (%rdi),%rax
140960ddc:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960de0:	4c 8b 44 39 48       	mov    0x48(%rcx,%rdi,1),%r8
140960de5:	44 0f b7 4c 39 58    	movzwl 0x58(%rcx,%rdi,1),%r9d
140960deb:	49 8b 40 40          	mov    0x40(%r8),%rax
140960def:	48 83 38 00          	cmpq   $0x0,(%rax)
140960df3:	74 22                	je     0x140960e17
140960df5:	49 8b 48 58          	mov    0x58(%r8),%rcx
140960df9:	8b 01                	mov    (%rcx),%eax
140960dfb:	85 c0                	test   %eax,%eax
140960dfd:	7e 18                	jle    0x140960e17
140960dff:	ff c8                	dec    %eax
140960e01:	89 01                	mov    %eax,(%rcx)
140960e03:	49 8b 48 40          	mov    0x40(%r8),%rcx
140960e07:	48 8b 11             	mov    (%rcx),%rdx
140960e0a:	48 8d 42 02          	lea    0x2(%rdx),%rax
140960e0e:	48 89 01             	mov    %rax,(%rcx)
140960e11:	66 44 89 0a          	mov    %r9w,(%rdx)
140960e15:	eb 18                	jmp    0x140960e2f
140960e17:	49 8b 00             	mov    (%r8),%rax
140960e1a:	41 0f b7 d1          	movzwl %r9w,%edx
140960e1e:	49 8b c8             	mov    %r8,%rcx
140960e21:	48 8b 40 18          	mov    0x18(%rax),%rax
140960e25:	ff 15 f5 2b 62 00    	call   *0x622bf5(%rip)        # 0x140f83a20
140960e2b:	44 0f b7 c8          	movzwl %ax,%r9d
140960e2f:	48 ff ce             	dec    %rsi
140960e32:	8b c3                	mov    %ebx,%eax
140960e34:	83 c8 04             	or     $0x4,%eax
140960e37:	66 45 3b f9          	cmp    %r9w,%r15w
140960e3b:	0f 45 c3             	cmovne %ebx,%eax
140960e3e:	8b d8                	mov    %eax,%ebx
140960e40:	89 84 24 c0 00 00 00 	mov    %eax,0xc0(%rsp)
140960e47:	eb 87                	jmp    0x140960dd0
140960e49:	33 f6                	xor    %esi,%esi
140960e4b:	eb 1c                	jmp    0x140960e69
140960e4d:	33 f6                	xor    %esi,%esi
140960e4f:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140960e56:	00
140960e57:	8b 9c 24 c0 00 00 00 	mov    0xc0(%rsp),%ebx
140960e5e:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140960e63:	41 be 04 00 00 00    	mov    $0x4,%r14d
140960e69:	48 8b 07             	mov    (%rdi),%rax
140960e6c:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960e70:	48 89 74 39 28       	mov    %rsi,0x28(%rcx,%rdi,1)
140960e75:	48 8b 07             	mov    (%rdi),%rax
140960e78:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960e7c:	48 03 cf             	add    %rdi,%rcx
140960e7f:	0b 59 10             	or     0x10(%rcx),%ebx
140960e82:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140960e87:	44 0f 45 f6          	cmovne %esi,%r14d
140960e8b:	44 0b f3             	or     %ebx,%r14d
140960e8e:	41 83 e6 17          	and    $0x17,%r14d
140960e92:	44 89 71 10          	mov    %r14d,0x10(%rcx)
140960e96:	44 23 71 14          	and    0x14(%rcx),%r14d
140960e9a:	75 45                	jne    0x140960ee1
140960e9c:	e8 8b a6 49 00       	call   0x140dfb52c
140960ea1:	85 c0                	test   %eax,%eax
140960ea3:	75 09                	jne    0x140960eae
140960ea5:	49 8b cc             	mov    %r12,%rcx
140960ea8:	e8 e3 76 88 ff       	call   0x1401e8590
140960ead:	90                   	nop
140960eae:	49 8b 04 24          	mov    (%r12),%rax
140960eb2:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960eb6:	4a 8b 4c 21 48       	mov    0x48(%rcx,%r12,1),%rcx
140960ebb:	48 85 c9             	test   %rcx,%rcx
140960ebe:	74 0e                	je     0x140960ece
140960ec0:	48 8b 01             	mov    (%rcx),%rax
140960ec3:	48 8b 40 10          	mov    0x10(%rax),%rax
140960ec7:	ff 15 53 2b 62 00    	call   *0x622b53(%rip)        # 0x140f83a20
140960ecd:	90                   	nop
140960ece:	48 8b c7             	mov    %rdi,%rax
140960ed1:	48 83 c4 70          	add    $0x70,%rsp
140960ed5:	41 5f                	pop    %r15
140960ed7:	41 5e                	pop    %r14
140960ed9:	41 5d                	pop    %r13
140960edb:	41 5c                	pop    %r12
140960edd:	5f                   	pop    %rdi
140960ede:	5e                   	pop    %rsi
140960edf:	5b                   	pop    %rbx
140960ee0:	c3                   	ret
140960ee1:	41 f6 c6 04          	test   $0x4,%r14b
140960ee5:	74 09                	je     0x140960ef0
140960ee7:	48 8d 1d fa 87 64 00 	lea    0x6487fa(%rip),%rbx        # 0x140fa96e8
140960eee:	eb 16                	jmp    0x140960f06
140960ef0:	41 f6 c6 02          	test   $0x2,%r14b
140960ef4:	48 8d 1d 05 88 64 00 	lea    0x648805(%rip),%rbx        # 0x140fa9700
140960efb:	48 8d 05 16 88 64 00 	lea    0x648816(%rip),%rax        # 0x140fa9718
140960f02:	48 0f 44 d8          	cmove  %rax,%rbx
140960f06:	ba 01 00 00 00       	mov    $0x1,%edx
140960f0b:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140960f10:	e8 ab 68 8a ff       	call   0x1402077c0
140960f15:	4c 8b c0             	mov    %rax,%r8
140960f18:	48 8b d3             	mov    %rbx,%rdx
140960f1b:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140960f20:	e8 0b f9 87 ff       	call   0x1401e0830
140960f25:	48 8d 15 ec fd a3 00 	lea    0xa3fdec(%rip),%rdx        # 0x1413a0d18
140960f2c:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140960f31:	e8 e2 b8 4b 00       	call   0x140e1c818
140960f36:	cc                   	int3
140960f37:	cc                   	int3
140960f38:	cc                   	int3
140960f39:	cc                   	int3
140960f3a:	cc                   	int3
140960f3b:	cc                   	int3
140960f3c:	cc                   	int3
140960f3d:	cc                   	int3
140960f3e:	cc                   	int3
140960f3f:	cc                   	int3
140960f40:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140960f45:	53                   	push   %rbx
140960f46:	56                   	push   %rsi
140960f47:	57                   	push   %rdi
140960f48:	41 54                	push   %r12
140960f4a:	41 55                	push   %r13
140960f4c:	41 56                	push   %r14
140960f4e:	41 57                	push   %r15
140960f50:	48 83 ec 70          	sub    $0x70,%rsp
140960f54:	4c 8b e2             	mov    %rdx,%r12
140960f57:	48 8b f1             	mov    %rcx,%rsi
140960f5a:	33 d2                	xor    %edx,%edx
140960f5c:	8b da                	mov    %edx,%ebx
140960f5e:	89 94 24 c0 00 00 00 	mov    %edx,0xc0(%rsp)
140960f65:	49 c7 c6 ff ff ff ff 	mov    $0xffffffffffffffff,%r14
140960f6c:	0f 1f 40 00          	nopl   0x0(%rax)
140960f70:	49 ff c6             	inc    %r14
140960f73:	66 43 39 14 74       	cmp    %dx,(%r12,%r14,2)
140960f78:	75 f6                	jne    0x140960f70
140960f7a:	48 8b 01             	mov    (%rcx),%rax
140960f7d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140960f81:	48 8b 7c 31 28       	mov    0x28(%rcx,%rsi,1),%rdi
140960f86:	48 85 ff             	test   %rdi,%rdi
140960f89:	7e 0a                	jle    0x140960f95
140960f8b:	49 3b fe             	cmp    %r14,%rdi
140960f8e:	7e 05                	jle    0x140960f95
140960f90:	49 2b fe             	sub    %r14,%rdi
140960f93:	eb 03                	jmp    0x140960f98
140960f95:	48 8b fa             	mov    %rdx,%rdi
140960f98:	4c 8b ee             	mov    %rsi,%r13
140960f9b:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140960fa0:	48 8b 4c 31 48       	mov    0x48(%rcx,%rsi,1),%rcx
140960fa5:	48 85 c9             	test   %rcx,%rcx
140960fa8:	74 0e                	je     0x140960fb8
140960faa:	48 8b 01             	mov    (%rcx),%rax
140960fad:	48 8b 40 08          	mov    0x8(%rax),%rax
140960fb1:	ff 15 69 2a 62 00    	call   *0x622a69(%rip)        # 0x140f83a20
140960fb7:	90                   	nop
140960fb8:	48 8b 0e             	mov    (%rsi),%rcx
140960fbb:	48 63 41 04          	movslq 0x4(%rcx),%rax
140960fbf:	83 7c 30 10 00       	cmpl   $0x0,0x10(%rax,%rsi,1)
140960fc4:	74 04                	je     0x140960fca
140960fc6:	32 c0                	xor    %al,%al
140960fc8:	eb 2a                	jmp    0x140960ff4
140960fca:	48 8b 44 30 50       	mov    0x50(%rax,%rsi,1),%rax
140960fcf:	48 85 c0             	test   %rax,%rax
140960fd2:	74 1e                	je     0x140960ff2
140960fd4:	48 3b c6             	cmp    %rsi,%rax
140960fd7:	74 19                	je     0x140960ff2
140960fd9:	48 8b c8             	mov    %rax,%rcx
140960fdc:	e8 9f 5a 8a ff       	call   0x140206a80
140960fe1:	48 8b 0e             	mov    (%rsi),%rcx
140960fe4:	48 63 41 04          	movslq 0x4(%rcx),%rax
140960fe8:	83 7c 30 10 00       	cmpl   $0x0,0x10(%rax,%rsi,1)
140960fed:	0f 94 c0             	sete   %al
140960ff0:	eb 02                	jmp    0x140960ff4
140960ff2:	b0 01                	mov    $0x1,%al
140960ff4:	88 44 24 28          	mov    %al,0x28(%rsp)
140960ff8:	84 c0                	test   %al,%al
140960ffa:	75 0c                	jne    0x140961008
140960ffc:	ba 04 00 00 00       	mov    $0x4,%edx
140961001:	8b da                	mov    %edx,%ebx
140961003:	e9 57 01 00 00       	jmp    0x14096115f
140961008:	48 63 41 04          	movslq 0x4(%rcx),%rax
14096100c:	8b 4c 30 18          	mov    0x18(%rax,%rsi,1),%ecx
140961010:	81 e1 c0 01 00 00    	and    $0x1c0,%ecx
140961016:	41 bf ff ff 00 00    	mov    $0xffff,%r15d
14096101c:	83 f9 40             	cmp    $0x40,%ecx
14096101f:	74 79                	je     0x14096109a
140961021:	48 85 ff             	test   %rdi,%rdi
140961024:	7e 74                	jle    0x14096109a
140961026:	48 8b 06             	mov    (%rsi),%rax
140961029:	48 63 48 04          	movslq 0x4(%rax),%rcx
14096102d:	4c 8b 44 31 48       	mov    0x48(%rcx,%rsi,1),%r8
140961032:	44 0f b7 4c 31 58    	movzwl 0x58(%rcx,%rsi,1),%r9d
140961038:	49 8b 40 40          	mov    0x40(%r8),%rax
14096103c:	48 83 38 00          	cmpq   $0x0,(%rax)
140961040:	74 22                	je     0x140961064
140961042:	49 8b 48 58          	mov    0x58(%r8),%rcx
140961046:	8b 01                	mov    (%rcx),%eax
140961048:	85 c0                	test   %eax,%eax
14096104a:	7e 18                	jle    0x140961064
14096104c:	ff c8                	dec    %eax
14096104e:	89 01                	mov    %eax,(%rcx)
140961050:	49 8b 48 40          	mov    0x40(%r8),%rcx
140961054:	48 8b 11             	mov    (%rcx),%rdx
140961057:	48 8d 42 02          	lea    0x2(%rdx),%rax
14096105b:	48 89 01             	mov    %rax,(%rcx)
14096105e:	66 44 89 0a          	mov    %r9w,(%rdx)
140961062:	eb 18                	jmp    0x14096107c
140961064:	49 8b 00             	mov    (%r8),%rax
140961067:	41 0f b7 d1          	movzwl %r9w,%edx
14096106b:	49 8b c8             	mov    %r8,%rcx
14096106e:	48 8b 40 18          	mov    0x18(%rax),%rax
140961072:	ff 15 a8 29 62 00    	call   *0x6229a8(%rip)        # 0x140f83a20
140961078:	44 0f b7 c8          	movzwl %ax,%r9d
14096107c:	66 45 3b f9          	cmp    %r9w,%r15w
140961080:	75 13                	jne    0x140961095
140961082:	ba 04 00 00 00       	mov    $0x4,%edx
140961087:	8b da                	mov    %edx,%ebx
140961089:	89 94 24 c0 00 00 00 	mov    %edx,0xc0(%rsp)
140961090:	e9 a0 00 00 00       	jmp    0x140961135
140961095:	48 ff cf             	dec    %rdi
140961098:	eb 87                	jmp    0x140961021
14096109a:	48 8b 06             	mov    (%rsi),%rax
14096109d:	48 63 48 04          	movslq 0x4(%rax),%rcx
1409610a1:	48 8b 4c 31 48       	mov    0x48(%rcx,%rsi,1),%rcx
1409610a6:	48 8b 01             	mov    (%rcx),%rax
1409610a9:	4d 8b c6             	mov    %r14,%r8
1409610ac:	49 8b d4             	mov    %r12,%rdx
1409610af:	48 8b 40 48          	mov    0x48(%rax),%rax
1409610b3:	ff 15 67 29 62 00    	call   *0x622967(%rip)        # 0x140f83a20
1409610b9:	49 3b c6             	cmp    %r14,%rax
1409610bc:	75 68                	jne    0x140961126
1409610be:	66 90                	xchg   %ax,%ax
1409610c0:	48 85 ff             	test   %rdi,%rdi
1409610c3:	7e 6b                	jle    0x140961130
1409610c5:	48 8b 06             	mov    (%rsi),%rax
1409610c8:	48 63 48 04          	movslq 0x4(%rax),%rcx
1409610cc:	4c 8b 44 31 48       	mov    0x48(%rcx,%rsi,1),%r8
1409610d1:	44 0f b7 4c 31 58    	movzwl 0x58(%rcx,%rsi,1),%r9d
1409610d7:	49 8b 40 40          	mov    0x40(%r8),%rax
1409610db:	48 83 38 00          	cmpq   $0x0,(%rax)
1409610df:	74 22                	je     0x140961103