14005ed02:	41 57                	push   %r15
14005ed04:	48 83 ec 20          	sub    $0x20,%rsp
14005ed08:	48 8b 39             	mov    (%rcx),%rdi
14005ed0b:	49 8b e8             	mov    %r8,%rbp
14005ed0e:	48 8b 41 10          	mov    0x10(%rcx),%rax
14005ed12:	4c 8b fa             	mov    %rdx,%r15
14005ed15:	48 2b c7             	sub    %rdi,%rax
14005ed18:	4c 8b f1             	mov    %rcx,%r14
14005ed1b:	48 c1 f8 02          	sar    $0x2,%rax
14005ed1f:	4c 3b c0             	cmp    %rax,%r8
14005ed22:	76 10                	jbe    0x14005ed34
14005ed24:	49 8b d0             	mov    %r8,%rdx
14005ed27:	e8 24 03 00 00       	call   0x14005f050
14005ed2c:	49 8b 3e             	mov    (%r14),%rdi
14005ed2f:	49 8b d7             	mov    %r15,%rdx
14005ed32:	eb 2e                	jmp    0x14005ed62
14005ed34:	48 8b 71 08          	mov    0x8(%rcx),%rsi
14005ed38:	48 8b cf             	mov    %rdi,%rcx
14005ed3b:	48 2b f7             	sub    %rdi,%rsi
14005ed3e:	48 c1 fe 02          	sar    $0x2,%rsi
14005ed42:	48 3b ee             	cmp    %rsi,%rbp
14005ed45:	76 34                	jbe    0x14005ed7b
14005ed47:	48 8d 1c b5 00 00 00 	lea    0x0(,%rsi,4),%rbx
14005ed4e:	00
14005ed4f:	4c 8b c3             	mov    %rbx,%r8
14005ed52:	e8 0f 17 a9 00       	call   0x140af0466
14005ed57:	49 8b 7e 08          	mov    0x8(%r14),%rdi
14005ed5b:	4a 8d 14 3b          	lea    (%rbx,%r15,1),%rdx
14005ed5f:	48 2b ee             	sub    %rsi,%rbp
14005ed62:	48 8d 1c ad 00 00 00 	lea    0x0(,%rbp,4),%rbx
14005ed69:	00
14005ed6a:	48 8b cf             	mov    %rdi,%rcx
14005ed6d:	4c 8b c3             	mov    %rbx,%r8
14005ed70:	e8 f1 16 a9 00       	call   0x140af0466
14005ed75:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
14005ed79:	eb 14                	jmp    0x14005ed8f
14005ed7b:	4a 8d 1c 85 00 00 00 	lea    0x0(,%r8,4),%rbx
14005ed82:	00
14005ed83:	4c 8b c3             	mov    %rbx,%r8
14005ed86:	e8 db 16 a9 00       	call   0x140af0466
14005ed8b:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
14005ed8f:	49 89 46 08          	mov    %rax,0x8(%r14)
14005ed93:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14005ed98:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14005ed9d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14005eda2:	48 83 c4 20          	add    $0x20,%rsp
14005eda6:	41 5f                	pop    %r15
14005eda8:	41 5e                	pop    %r14
14005edaa:	5f                   	pop    %rdi
14005edab:	c3                   	ret
14005edac:	48 3b ca             	cmp    %rdx,%rcx
14005edaf:	74 66                	je     0x14005ee17
14005edb1:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005edb6:	57                   	push   %rdi
14005edb7:	48 83 ec 20          	sub    $0x20,%rsp
14005edbb:	48 8b fa             	mov    %rdx,%rdi
14005edbe:	48 8b d9             	mov    %rcx,%rbx
14005edc1:	48 8b 0b             	mov    (%rbx),%rcx
14005edc4:	48 85 c9             	test   %rcx,%rcx
14005edc7:	74 3b                	je     0x14005ee04
14005edc9:	48 8b 43 10          	mov    0x10(%rbx),%rax
14005edcd:	48 2b c1             	sub    %rcx,%rax
14005edd0:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
14005edd4:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14005edda:	72 14                	jb     0x14005edf0
14005eddc:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
14005ede0:	48 2b ca             	sub    %rdx,%rcx
14005ede3:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14005ede7:	48 83 f8 1f          	cmp    $0x1f,%rax
14005edeb:	77 2b                	ja     0x14005ee18
14005eded:	48 8b ca             	mov    %rdx,%rcx
14005edf0:	ff 15 ca da aa 00    	call   *0xaadaca(%rip)        # 0x140b0c8c0
14005edf6:	48 83 23 00          	andq   $0x0,(%rbx)
14005edfa:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14005edff:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
14005ee04:	48 83 c3 18          	add    $0x18,%rbx
14005ee08:	48 3b df             	cmp    %rdi,%rbx
14005ee0b:	75 b4                	jne    0x14005edc1
14005ee0d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14005ee12:	48 83 c4 20          	add    $0x20,%rsp
14005ee16:	5f                   	pop    %rdi
14005ee17:	c3                   	ret
14005ee18:	ff 15 7a db aa 00    	call   *0xaadb7a(%rip)        # 0x140b0c998
14005ee1e:	cc                   	int3
14005ee1f:	90                   	nop
14005ee20:	48 83 ec 28          	sub    $0x28,%rsp
14005ee24:	48 8b 09             	mov    (%rcx),%rcx
14005ee27:	48 85 c9             	test   %rcx,%rcx
14005ee2a:	74 05                	je     0x14005ee31
14005ee2c:	e8 3f 9a fe ff       	call   0x140048870
14005ee31:	48 83 c4 28          	add    $0x28,%rsp
14005ee35:	c3                   	ret
14005ee36:	90                   	nop
14005ee37:	90                   	nop
14005ee38:	90                   	nop
14005ee39:	90                   	nop
14005ee3a:	90                   	nop
14005ee3b:	90                   	nop
14005ee3c:	90                   	nop
14005ee3d:	90                   	nop
14005ee3e:	90                   	nop
14005ee3f:	90                   	nop
14005ee40:	48 8b 49 58          	mov    0x58(%rcx),%rcx
14005ee44:	48 8b 01             	mov    (%rcx),%rax
14005ee47:	48 8b 40 08          	mov    0x8(%rax),%rax
14005ee4b:	48 ff 25 e6 dd aa 00 	rex.W jmp *0xaadde6(%rip)        # 0x140b0cc38
14005ee52:	90                   	nop
14005ee53:	90                   	nop
14005ee54:	90                   	nop
14005ee55:	90                   	nop
14005ee56:	90                   	nop
14005ee57:	90                   	nop
14005ee58:	90                   	nop
14005ee59:	90                   	nop
14005ee5a:	90                   	nop
14005ee5b:	90                   	nop
14005ee5c:	90                   	nop
14005ee5d:	90                   	nop
14005ee5e:	90                   	nop
14005ee5f:	90                   	nop
14005ee60:	40 53                	rex push %rbx
14005ee62:	48 83 ec 20          	sub    $0x20,%rsp
14005ee66:	48 8b d9             	mov    %rcx,%rbx
14005ee69:	48 8b 49 58          	mov    0x58(%rcx),%rcx
14005ee6d:	48 85 c9             	test   %rcx,%rcx
14005ee70:	74 18                	je     0x14005ee8a
14005ee72:	48 8b 01             	mov    (%rcx),%rax
14005ee75:	48 8b 00             	mov    (%rax),%rax
14005ee78:	ff 15 ba dd aa 00    	call   *0xaaddba(%rip)        # 0x140b0cc38
14005ee7e:	84 c0                	test   %al,%al
14005ee80:	74 08                	je     0x14005ee8a
14005ee82:	b0 01                	mov    $0x1,%al
14005ee84:	48 83 c4 20          	add    $0x20,%rsp
14005ee88:	5b                   	pop    %rbx
14005ee89:	c3                   	ret
14005ee8a:	48 8b cb             	mov    %rbx,%rcx
14005ee8d:	48 83 c4 20          	add    $0x20,%rsp
14005ee91:	5b                   	pop    %rbx
14005ee92:	e9 79 02 00 00       	jmp    0x14005f110
14005ee97:	cc                   	int3
14005ee98:	90                   	nop
14005ee99:	90                   	nop
14005ee9a:	90                   	nop
14005ee9b:	90                   	nop
14005ee9c:	90                   	nop
14005ee9d:	90                   	nop
14005ee9e:	90                   	nop
14005ee9f:	90                   	nop
14005eea0:	48 83 ec 28          	sub    $0x28,%rsp
14005eea4:	48 8b 49 50          	mov    0x50(%rcx),%rcx
14005eea8:	48 85 c9             	test   %rcx,%rcx
14005eeab:	75 07                	jne    0x14005eeb4
14005eead:	ff 15 05 d6 aa 00    	call   *0xaad605(%rip)        # 0x140b0c4b8
14005eeb3:	cc                   	int3
14005eeb4:	48 8b 01             	mov    (%rcx),%rax
14005eeb7:	48 8b 40 10          	mov    0x10(%rax),%rax
14005eebb:	48 83 c4 28          	add    $0x28,%rsp
14005eebf:	48 ff 25 72 dd aa 00 	rex.W jmp *0xaadd72(%rip)        # 0x140b0cc38
14005eec6:	cc                   	int3
14005eec7:	90                   	nop
14005eec8:	90                   	nop
14005eec9:	90                   	nop
14005eeca:	90                   	nop
14005eecb:	90                   	nop
14005eecc:	90                   	nop
14005eecd:	90                   	nop
14005eece:	90                   	nop
14005eecf:	90                   	nop
14005eed0:	48 83 ec 28          	sub    $0x28,%rsp
14005eed4:	48 8b 41 08          	mov    0x8(%rcx),%rax
14005eed8:	48 8b 51 10          	mov    0x10(%rcx),%rdx
14005eedc:	48 ff ca             	dec    %rdx
14005eedf:	4c 8b 00             	mov    (%rax),%r8
14005eee2:	48 8b 48 08          	mov    0x8(%rax),%rcx
14005eee6:	48 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rax
14005eeed:	aa aa aa
14005eef0:	49 2b c8             	sub    %r8,%rcx
14005eef3:	48 c1 f9 04          	sar    $0x4,%rcx
14005eef7:	48 0f af c8          	imul   %rax,%rcx
14005eefb:	48 3b d1             	cmp    %rcx,%rdx
14005eefe:	72 07                	jb     0x14005ef07
14005ef00:	ff 15 92 da aa 00    	call   *0xaada92(%rip)        # 0x140b0c998
14005ef06:	cc                   	int3
14005ef07:	48 8d 04 52          	lea    (%rdx,%rdx,2),%rax
14005ef0b:	48 c1 e0 04          	shl    $0x4,%rax
14005ef0f:	49 03 c0             	add    %r8,%rax
14005ef12:	48 83 c4 28          	add    $0x28,%rsp
14005ef16:	c3                   	ret
14005ef17:	90                   	nop
14005ef18:	90                   	nop
14005ef19:	90                   	nop
14005ef1a:	90                   	nop
14005ef1b:	90                   	nop
14005ef1c:	90                   	nop
14005ef1d:	90                   	nop
14005ef1e:	90                   	nop
14005ef1f:	90                   	nop
14005ef20:	48 8b 41 08          	mov    0x8(%rcx),%rax
14005ef24:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14005ef28:	4c 8b 48 08          	mov    0x8(%rax),%r9
14005ef2c:	48 8b 10             	mov    (%rax),%rdx
14005ef2f:	49 8d 40 01          	lea    0x1(%r8),%rax
14005ef33:	4c 2b ca             	sub    %rdx,%r9
14005ef36:	48 89 41 10          	mov    %rax,0x10(%rcx)
14005ef3a:	49 c1 f9 04          	sar    $0x4,%r9
14005ef3e:	48 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rax
14005ef45:	aa aa aa
14005ef48:	4c 0f af c8          	imul   %rax,%r9
14005ef4c:	4d 3b c1             	cmp    %r9,%r8
14005ef4f:	0f 92 c0             	setb   %al
14005ef52:	c3                   	ret
14005ef53:	90                   	nop
14005ef54:	90                   	nop
14005ef55:	90                   	nop
14005ef56:	90                   	nop
14005ef57:	90                   	nop
14005ef58:	90                   	nop
14005ef59:	90                   	nop
14005ef5a:	90                   	nop
14005ef5b:	90                   	nop
14005ef5c:	90                   	nop
14005ef5d:	90                   	nop
14005ef5e:	90                   	nop
14005ef5f:	90                   	nop
14005ef60:	48 83 ec 28          	sub    $0x28,%rsp
14005ef64:	48 8b 41 08          	mov    0x8(%rcx),%rax
14005ef68:	48 8b 51 10          	mov    0x10(%rcx),%rdx
14005ef6c:	48 ff ca             	dec    %rdx
14005ef6f:	4c 8b 00             	mov    (%rax),%r8
14005ef72:	48 8b 48 08          	mov    0x8(%rax),%rcx
14005ef76:	48 b8 b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rax
14005ef7d:	db b6 6d
14005ef80:	49 2b c8             	sub    %r8,%rcx
14005ef83:	48 c1 f9 03          	sar    $0x3,%rcx
14005ef87:	48 0f af c8          	imul   %rax,%rcx
14005ef8b:	48 3b d1             	cmp    %rcx,%rdx
14005ef8e:	72 07                	jb     0x14005ef97
14005ef90:	ff 15 02 da aa 00    	call   *0xaada02(%rip)        # 0x140b0c998
14005ef96:	cc                   	int3
14005ef97:	48 6b c2 38          	imul   $0x38,%rdx,%rax
14005ef9b:	49 03 c0             	add    %r8,%rax
14005ef9e:	48 83 c4 28          	add    $0x28,%rsp
14005efa2:	c3                   	ret
14005efa3:	90                   	nop
14005efa4:	90                   	nop
14005efa5:	90                   	nop
14005efa6:	90                   	nop
14005efa7:	90                   	nop
14005efa8:	90                   	nop
14005efa9:	90                   	nop
14005efaa:	90                   	nop
14005efab:	90                   	nop
14005efac:	90                   	nop
14005efad:	90                   	nop
14005efae:	90                   	nop
14005efaf:	90                   	nop
14005efb0:	48 8b 41 08          	mov    0x8(%rcx),%rax
14005efb4:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14005efb8:	4c 8b 48 08          	mov    0x8(%rax),%r9
14005efbc:	48 8b 10             	mov    (%rax),%rdx
14005efbf:	49 8d 40 01          	lea    0x1(%r8),%rax
14005efc3:	4c 2b ca             	sub    %rdx,%r9
14005efc6:	48 89 41 10          	mov    %rax,0x10(%rcx)
14005efca:	49 c1 f9 03          	sar    $0x3,%r9
14005efce:	48 b8 b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rax
14005efd5:	db b6 6d
14005efd8:	4c 0f af c8          	imul   %rax,%r9
14005efdc:	4d 3b c1             	cmp    %r9,%r8
14005efdf:	0f 92 c0             	setb   %al
14005efe2:	c3                   	ret
14005efe3:	90                   	nop
14005efe4:	90                   	nop
14005efe5:	90                   	nop
14005efe6:	90                   	nop
14005efe7:	90                   	nop
14005efe8:	90                   	nop
14005efe9:	90                   	nop
14005efea:	90                   	nop
14005efeb:	90                   	nop
14005efec:	90                   	nop
14005efed:	90                   	nop
14005efee:	90                   	nop
14005efef:	90                   	nop
14005eff0:	48 83 ec 28          	sub    $0x28,%rsp
14005eff4:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14005eff8:	48 8b 41 10          	mov    0x10(%rcx),%rax
14005effc:	48 8b 51 20          	mov    0x20(%rcx),%rdx
14005f000:	49 2b c0             	sub    %r8,%rax
14005f003:	48 c1 f8 04          	sar    $0x4,%rax
14005f007:	48 ff ca             	dec    %rdx
14005f00a:	48 3b d0             	cmp    %rax,%rdx
14005f00d:	72 07                	jb     0x14005f016
14005f00f:	ff 15 83 d9 aa 00    	call   *0xaad983(%rip)        # 0x140b0c998
14005f015:	cc                   	int3
14005f016:	48 03 d2             	add    %rdx,%rdx
14005f019:	49 8d 04 d0          	lea    (%r8,%rdx,8),%rax
14005f01d:	48 83 c4 28          	add    $0x28,%rsp
14005f021:	c3                   	ret
14005f022:	90                   	nop
14005f023:	90                   	nop
14005f024:	90                   	nop
14005f025:	90                   	nop
14005f026:	90                   	nop
14005f027:	90                   	nop
14005f028:	90                   	nop
14005f029:	90                   	nop
14005f02a:	90                   	nop
14005f02b:	90                   	nop
14005f02c:	90                   	nop
14005f02d:	90                   	nop
14005f02e:	90                   	nop
14005f02f:	90                   	nop
14005f030:	4c 8b 41 20          	mov    0x20(%rcx),%r8
14005f034:	4c 8b 49 10          	mov    0x10(%rcx),%r9
14005f038:	49 8d 40 01          	lea    0x1(%r8),%rax
14005f03c:	48 89 41 20          	mov    %rax,0x20(%rcx)
14005f040:	4c 2b 49 08          	sub    0x8(%rcx),%r9
14005f044:	49 c1 f9 04          	sar    $0x4,%r9
14005f048:	4d 3b c1             	cmp    %r9,%r8
14005f04b:	0f 92 c0             	setb   %al
14005f04e:	c3                   	ret
14005f04f:	90                   	nop
14005f050:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14005f055:	57                   	push   %rdi
14005f056:	48 83 ec 20          	sub    $0x20,%rsp
14005f05a:	48 bf ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rdi
14005f061:	ff ff 3f
14005f064:	4c 8b c2             	mov    %rdx,%r8
14005f067:	48 8b d9             	mov    %rcx,%rbx
14005f06a:	48 3b d7             	cmp    %rdi,%rdx
14005f06d:	0f 87 97 00 00 00    	ja     0x14005f10a
14005f073:	48 8b 09             	mov    (%rcx),%rcx
14005f076:	48 8b c7             	mov    %rdi,%rax
14005f079:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14005f07d:	48 2b d1             	sub    %rcx,%rdx
14005f080:	48 c1 fa 02          	sar    $0x2,%rdx
14005f084:	4c 8b ca             	mov    %rdx,%r9
14005f087:	49 d1 e9             	shr    $1,%r9
14005f08a:	49 2b c1             	sub    %r9,%rax
14005f08d:	48 3b d0             	cmp    %rax,%rdx
14005f090:	77 0b                	ja     0x14005f09d
14005f092:	49 8d 3c 11          	lea    (%r9,%rdx,1),%rdi
14005f096:	49 3b f8             	cmp    %r8,%rdi
14005f099:	49 0f 42 f8          	cmovb  %r8,%rdi
14005f09d:	48 85 c9             	test   %rcx,%rcx
14005f0a0:	74 38                	je     0x14005f0da
14005f0a2:	48 8d 04 95 00 00 00 	lea    0x0(,%rdx,4),%rax
14005f0a9:	00
14005f0aa:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14005f0b0:	72 14                	jb     0x14005f0c6