140046c59:	ff 15 29 8a 02 00    	call   *0x28a29(%rip)        # 0x14006f688
140046c5f:	48 8b 03             	mov    (%rbx),%rax
140046c62:	48 89 07             	mov    %rax,(%rdi)
140046c65:	48 83 c7 08          	add    $0x8,%rdi
140046c69:	48 83 c3 08          	add    $0x8,%rbx
140046c6d:	48 3b dd             	cmp    %rbp,%rbx
140046c70:	75 d8                	jne    0x140046c4a
140046c72:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140046c77:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140046c7c:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140046c80:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140046c85:	48 83 c4 20          	add    $0x20,%rsp
140046c89:	5f                   	pop    %rdi
140046c8a:	c3                   	ret
140046c8b:	e8 cc 5d 00 00       	call   0x14004ca5c
140046c90:	cc                   	int3
140046c91:	90                   	nop
140046c92:	90                   	nop
140046c93:	90                   	nop
140046c94:	48 3b ca             	cmp    %rdx,%rcx
140046c97:	74 3c                	je     0x140046cd5
140046c99:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140046c9e:	57                   	push   %rdi
140046c9f:	48 83 ec 20          	sub    $0x20,%rsp
140046ca3:	48 8b fa             	mov    %rdx,%rdi
140046ca6:	48 8b d9             	mov    %rcx,%rbx
140046ca9:	48 8b 0b             	mov    (%rbx),%rcx
140046cac:	48 85 c9             	test   %rcx,%rcx
140046caf:	74 0d                	je     0x140046cbe
140046cb1:	48 8b 01             	mov    (%rcx),%rax
140046cb4:	48 8b 40 10          	mov    0x10(%rax),%rax
140046cb8:	ff 15 ca 89 02 00    	call   *0x289ca(%rip)        # 0x14006f688
140046cbe:	48 83 23 00          	andq   $0x0,(%rbx)
140046cc2:	48 83 c3 08          	add    $0x8,%rbx
140046cc6:	48 3b df             	cmp    %rdi,%rbx
140046cc9:	75 de                	jne    0x140046ca9
140046ccb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140046cd0:	48 83 c4 20          	add    $0x20,%rsp
140046cd4:	5f                   	pop    %rdi
140046cd5:	c3                   	ret
140046cd6:	90                   	nop
140046cd7:	90                   	nop
140046cd8:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140046cdd:	53                   	push   %rbx
140046cde:	56                   	push   %rsi
140046cdf:	57                   	push   %rdi
140046ce0:	41 54                	push   %r12
140046ce2:	41 55                	push   %r13
140046ce4:	41 56                	push   %r14
140046ce6:	41 57                	push   %r15
140046ce8:	48 83 ec 40          	sub    $0x40,%rsp
140046cec:	49 8b d8             	mov    %r8,%rbx
140046cef:	48 8b f2             	mov    %rdx,%rsi
140046cf2:	4c 8b e9             	mov    %rcx,%r13
140046cf5:	4c 8b e2             	mov    %rdx,%r12
140046cf8:	4c 2b 21             	sub    (%rcx),%r12
140046cfb:	48 8b 41 08          	mov    0x8(%rcx),%rax
140046cff:	48 2b 01             	sub    (%rcx),%rax
140046d02:	48 c1 f8 03          	sar    $0x3,%rax
140046d06:	49 b9 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r9
140046d0d:	ff ff 1f
140046d10:	49 3b c1             	cmp    %r9,%rax
140046d13:	0f 84 89 01 00 00    	je     0x140046ea2
140046d19:	4c 8d 40 01          	lea    0x1(%rax),%r8
140046d1d:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140046d22:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140046d26:	49 2b 4d 00          	sub    0x0(%r13),%rcx
140046d2a:	48 c1 f9 03          	sar    $0x3,%rcx
140046d2e:	48 8b d1             	mov    %rcx,%rdx
140046d31:	48 d1 ea             	shr    $1,%rdx
140046d34:	49 8b c1             	mov    %r9,%rax
140046d37:	48 2b c2             	sub    %rdx,%rax
140046d3a:	48 3b c8             	cmp    %rax,%rcx
140046d3d:	76 05                	jbe    0x140046d44
140046d3f:	4d 8b f1             	mov    %r9,%r14
140046d42:	eb 0b                	jmp    0x140046d4f
140046d44:	4c 8d 34 0a          	lea    (%rdx,%rcx,1),%r14
140046d48:	4d 3b f0             	cmp    %r8,%r14
140046d4b:	4d 0f 42 f0          	cmovb  %r8,%r14
140046d4f:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140046d54:	4d 3b f1             	cmp    %r9,%r14
140046d57:	0f 87 4b 01 00 00    	ja     0x140046ea8
140046d5d:	4a 8d 0c f5 00 00 00 	lea    0x0(,%r14,8),%rcx
140046d64:	00
140046d65:	48 85 c9             	test   %rcx,%rcx
140046d68:	75 55                	jne    0x140046dbf
140046d6a:	33 ff                	xor    %edi,%edi
140046d6c:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140046d73:	00
140046d74:	49 83 e4 f8          	and    $0xfffffffffffffff8,%r12
140046d78:	4d 8d 3c 3c          	lea    (%r12,%rdi,1),%r15
140046d7c:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140046d81:	49 8d 47 08          	lea    0x8(%r15),%rax
140046d85:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140046d8a:	48 8b 0b             	mov    (%rbx),%rcx
140046d8d:	48 85 c9             	test   %rcx,%rcx
140046d90:	74 0d                	je     0x140046d9f
140046d92:	48 8b 01             	mov    (%rcx),%rax
140046d95:	48 8b 40 08          	mov    0x8(%rax),%rax
140046d99:	ff 15 e9 88 02 00    	call   *0x288e9(%rip)        # 0x14006f688
140046d9f:	48 8b 03             	mov    (%rbx),%rax
140046da2:	49 89 07             	mov    %rax,(%r15)
140046da5:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
140046dac:	00
140046dad:	4d 8b 7d 08          	mov    0x8(%r13),%r15
140046db1:	49 8b 5d 00          	mov    0x0(%r13),%rbx
140046db5:	49 3b f7             	cmp    %r15,%rsi
140046db8:	75 56                	jne    0x140046e10
140046dba:	48 8b f7             	mov    %rdi,%rsi
140046dbd:	eb 4a                	jmp    0x140046e09
140046dbf:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140046dc6:	72 0a                	jb     0x140046dd2
140046dc8:	e8 73 b3 fb ff       	call   0x140002140
140046dcd:	48 8b f8             	mov    %rax,%rdi
140046dd0:	eb 9a                	jmp    0x140046d6c
140046dd2:	ff 15 c0 87 02 00    	call   *0x287c0(%rip)        # 0x14006f598
140046dd8:	48 8b f8             	mov    %rax,%rdi
140046ddb:	48 85 c0             	test   %rax,%rax
140046dde:	0f 84 ca 00 00 00    	je     0x140046eae
140046de4:	eb 86                	jmp    0x140046d6c
140046de6:	48 8b 0b             	mov    (%rbx),%rcx
140046de9:	48 85 c9             	test   %rcx,%rcx
140046dec:	74 0d                	je     0x140046dfb
140046dee:	48 8b 01             	mov    (%rcx),%rax
140046df1:	48 8b 40 08          	mov    0x8(%rax),%rax
140046df5:	ff 15 8d 88 02 00    	call   *0x2888d(%rip)        # 0x14006f688
140046dfb:	48 8b 03             	mov    (%rbx),%rax
140046dfe:	48 89 06             	mov    %rax,(%rsi)
140046e01:	48 83 c6 08          	add    $0x8,%rsi
140046e05:	48 83 c3 08          	add    $0x8,%rbx
140046e09:	49 3b df             	cmp    %r15,%rbx
140046e0c:	75 d8                	jne    0x140046de6
140046e0e:	eb 6a                	jmp    0x140046e7a
140046e10:	4c 8b ff             	mov    %rdi,%r15
140046e13:	eb 23                	jmp    0x140046e38
140046e15:	48 8b 0b             	mov    (%rbx),%rcx
140046e18:	48 85 c9             	test   %rcx,%rcx
140046e1b:	74 0d                	je     0x140046e2a
140046e1d:	48 8b 01             	mov    (%rcx),%rax
140046e20:	48 8b 40 08          	mov    0x8(%rax),%rax
140046e24:	ff 15 5e 88 02 00    	call   *0x2885e(%rip)        # 0x14006f688
140046e2a:	48 8b 03             	mov    (%rbx),%rax
140046e2d:	49 89 07             	mov    %rax,(%r15)
140046e30:	49 83 c7 08          	add    $0x8,%r15
140046e34:	48 83 c3 08          	add    $0x8,%rbx
140046e38:	48 3b de             	cmp    %rsi,%rbx
140046e3b:	75 d8                	jne    0x140046e15
140046e3d:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140046e44:	00
140046e45:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140046e49:	48 3b f3             	cmp    %rbx,%rsi
140046e4c:	74 2c                	je     0x140046e7a
140046e4e:	4c 2b e6             	sub    %rsi,%r12
140046e51:	4c 03 e7             	add    %rdi,%r12
140046e54:	48 8b 0e             	mov    (%rsi),%rcx
140046e57:	48 85 c9             	test   %rcx,%rcx
140046e5a:	74 0d                	je     0x140046e69
140046e5c:	48 8b 01             	mov    (%rcx),%rax
140046e5f:	48 8b 40 08          	mov    0x8(%rax),%rax
140046e63:	ff 15 1f 88 02 00    	call   *0x2881f(%rip)        # 0x14006f688
140046e69:	48 8b 06             	mov    (%rsi),%rax
140046e6c:	49 89 44 34 08       	mov    %rax,0x8(%r12,%rsi,1)
140046e71:	48 83 c6 08          	add    $0x8,%rsi
140046e75:	48 3b f3             	cmp    %rbx,%rsi
140046e78:	75 da                	jne    0x140046e54
140046e7a:	4d 8b ce             	mov    %r14,%r9
140046e7d:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
140046e82:	48 8b d7             	mov    %rdi,%rdx
140046e85:	49 8b cd             	mov    %r13,%rcx
140046e88:	e8 7f 5a 00 00       	call   0x14004c90c
140046e8d:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140046e92:	48 83 c4 40          	add    $0x40,%rsp
140046e96:	41 5f                	pop    %r15
140046e98:	41 5e                	pop    %r14
140046e9a:	41 5d                	pop    %r13
140046e9c:	41 5c                	pop    %r12
140046e9e:	5f                   	pop    %rdi
140046e9f:	5e                   	pop    %rsi
140046ea0:	5b                   	pop    %rbx
140046ea1:	c3                   	ret
140046ea2:	e8 b5 5b 00 00       	call   0x14004ca5c
140046ea7:	cc                   	int3
140046ea8:	e8 73 b2 fb ff       	call   0x140002120
140046ead:	cc                   	int3
140046eae:	e8 aa 34 02 00       	call   0x14006a35d
140046eb3:	cc                   	int3
140046eb4:	48 8b c4             	mov    %rsp,%rax
140046eb7:	4c 89 48 20          	mov    %r9,0x20(%rax)
140046ebb:	4c 89 40 18          	mov    %r8,0x18(%rax)
140046ebf:	48 89 50 10          	mov    %rdx,0x10(%rax)
140046ec3:	48 89 48 08          	mov    %rcx,0x8(%rax)
140046ec7:	53                   	push   %rbx
140046ec8:	56                   	push   %rsi
140046ec9:	57                   	push   %rdi
140046eca:	41 54                	push   %r12
140046ecc:	41 55                	push   %r13
140046ece:	41 56                	push   %r14
140046ed0:	41 57                	push   %r15
140046ed2:	48 83 ec 40          	sub    $0x40,%rsp
140046ed6:	49 8b f1             	mov    %r9,%rsi
140046ed9:	4d 8b e8             	mov    %r8,%r13
140046edc:	48 8b da             	mov    %rdx,%rbx
140046edf:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140046ee3:	4c 8d 61 08          	lea    0x8(%rcx),%r12
140046ee7:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
140046eec:	48 8b 09             	mov    (%rcx),%rcx
140046eef:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140046ef4:	4d 8b 3c 24          	mov    (%r12),%r15
140046ef8:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140046efd:	48 8b c2             	mov    %rdx,%rax
140046f00:	49 2b c7             	sub    %r15,%rax
140046f03:	45 33 f6             	xor    %r14d,%r14d
140046f06:	4d 85 c9             	test   %r9,%r9
140046f09:	0f 84 07 01 00 00    	je     0x140047016
140046f0f:	4c 3b c8             	cmp    %rax,%r9
140046f12:	0f 86 0e 01 00 00    	jbe    0x140047026
140046f18:	4d 8b ef             	mov    %r15,%r13
140046f1b:	4c 2b e9             	sub    %rcx,%r13
140046f1e:	48 bf ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdi
140046f25:	ff ff 7f
140046f28:	48 8b c7             	mov    %rdi,%rax
140046f2b:	49 2b c5             	sub    %r13,%rax
140046f2e:	4c 3b c8             	cmp    %rax,%r9
140046f31:	0f 87 70 01 00 00    	ja     0x1400470a7
140046f37:	4d 03 cd             	add    %r13,%r9
140046f3a:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140046f3f:	48 2b d1             	sub    %rcx,%rdx
140046f42:	4c 8b c2             	mov    %rdx,%r8
140046f45:	49 d1 e8             	shr    $1,%r8
140046f48:	48 8b c7             	mov    %rdi,%rax
140046f4b:	49 2b c0             	sub    %r8,%rax
140046f4e:	48 3b d0             	cmp    %rax,%rdx
140046f51:	77 0b                	ja     0x140046f5e
140046f53:	49 8d 3c 10          	lea    (%r8,%rdx,1),%rdi
140046f57:	49 3b f9             	cmp    %r9,%rdi
140046f5a:	49 0f 42 f9          	cmovb  %r9,%rdi
140046f5e:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140046f65:	00
140046f66:	48 85 ff             	test   %rdi,%rdi
140046f69:	75 0a                	jne    0x140046f75
140046f6b:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
140046f72:	00
140046f73:	eb 21                	jmp    0x140046f96
140046f75:	48 8b cf             	mov    %rdi,%rcx
140046f78:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
140046f7f:	72 47                	jb     0x140046fc8
140046f81:	e8 ba b1 fb ff       	call   0x140002140
140046f86:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140046f8b:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140046f92:	00
140046f93:	4c 8b f0             	mov    %rax,%r14
140046f96:	4c 8b e3             	mov    %rbx,%r12
140046f99:	4c 2b e1             	sub    %rcx,%r12
140046f9c:	4b 8d 0c 26          	lea    (%r14,%r12,1),%rcx
140046fa0:	4c 8b c6             	mov    %rsi,%r8
140046fa3:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140046faa:	00
140046fab:	e8 6c 33 02 00       	call   0x14006a31c
140046fb0:	48 83 fe 01          	cmp    $0x1,%rsi
140046fb4:	75 23                	jne    0x140046fd9
140046fb6:	49 3b df             	cmp    %r15,%rbx
140046fb9:	75 1e                	jne    0x140046fd9
140046fbb:	4d 8b c5             	mov    %r13,%r8
140046fbe:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140046fc3:	49 8b ce             	mov    %r14,%rcx
140046fc6:	eb 31                	jmp    0x140046ff9
140046fc8:	ff 15 ca 85 02 00    	call   *0x285ca(%rip)        # 0x14006f598
140046fce:	48 85 c0             	test   %rax,%rax
140046fd1:	0f 84 d6 00 00 00    	je     0x1400470ad
140046fd7:	eb ad                	jmp    0x140046f86
140046fd9:	4d 8b c4             	mov    %r12,%r8
140046fdc:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140046fe1:	49 8b ce             	mov    %r14,%rcx
140046fe4:	e8 33 33 02 00       	call   0x14006a31c
140046fe9:	4b 8d 0c 26          	lea    (%r14,%r12,1),%rcx
140046fed:	48 03 ce             	add    %rsi,%rcx
140046ff0:	4c 2b fb             	sub    %rbx,%r15
140046ff3:	4d 8b c7             	mov    %r15,%r8
140046ff6:	48 8b d3             	mov    %rbx,%rdx
140046ff9:	e8 1e 33 02 00       	call   0x14006a31c
140046ffe:	4c 8b cf             	mov    %rdi,%r9
140047001:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140047006:	49 8b d6             	mov    %r14,%rdx
140047009:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140047010:	00
140047011:	e8 c6 39 fd ff       	call   0x14001a9dc
140047016:	48 83 c4 40          	add    $0x40,%rsp
14004701a:	41 5f                	pop    %r15
14004701c:	41 5e                	pop    %r14
14004701e:	41 5d                	pop    %r13
140047020:	41 5c                	pop    %r12
140047022:	5f                   	pop    %rdi
140047023:	5e                   	pop    %rsi
140047024:	5b                   	pop    %rbx
140047025:	c3                   	ret
140047026:	4d 8b f7             	mov    %r15,%r14
140047029:	4c 2b f3             	sub    %rbx,%r14
14004702c:	49 3b f6             	cmp    %r14,%rsi
14004702f:	73 40                	jae    0x140047071
140047031:	49 8b ff             	mov    %r15,%rdi
140047034:	48 2b fe             	sub    %rsi,%rdi
140047037:	4c 8b c6             	mov    %rsi,%r8
14004703a:	48 8b d7             	mov    %rdi,%rdx
14004703d:	49 8b cf             	mov    %r15,%rcx
140047040:	e8 d7 32 02 00       	call   0x14006a31c
140047045:	49 8d 04 37          	lea    (%r15,%rsi,1),%rax
140047049:	49 89 04 24          	mov    %rax,(%r12)
14004704d:	48 2b fb             	sub    %rbx,%rdi
140047050:	4c 2b ff             	sub    %rdi,%r15
140047053:	4c 8b c7             	mov    %rdi,%r8
140047056:	48 8b d3             	mov    %rbx,%rdx
140047059:	49 8b cf             	mov    %r15,%rcx
14004705c:	e8 bb 32 02 00       	call   0x14006a31c
140047061:	4c 8b c6             	mov    %rsi,%r8
140047064:	49 8b d5             	mov    %r13,%rdx
140047067:	48 8b cb             	mov    %rbx,%rcx
14004706a:	e8 ad 32 02 00       	call   0x14006a31c
14004706f:	eb 31                	jmp    0x1400470a2
140047071:	4a 8d 3c 0b          	lea    (%rbx,%r9,1),%rdi
140047075:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
14004707c:	00
14004707d:	4d 8b c6             	mov    %r14,%r8
140047080:	48 8b d3             	mov    %rbx,%rdx
140047083:	48 8b cf             	mov    %rdi,%rcx
140047086:	e8 91 32 02 00       	call   0x14006a31c
14004708b:	49 8d 04 3e          	lea    (%r14,%rdi,1),%rax
14004708f:	49 89 04 24          	mov    %rax,(%r12)
140047093:	4c 8b c6             	mov    %rsi,%r8
140047096:	49 8b d5             	mov    %r13,%rdx
140047099:	48 8b cb             	mov    %rbx,%rcx
14004709c:	e8 7b 32 02 00       	call   0x14006a31c
1400470a1:	90                   	nop
1400470a2:	e9 6f ff ff ff       	jmp    0x140047016
1400470a7:	e8 c4 aa fb ff       	call   0x140001b70
1400470ac:	cc                   	int3
1400470ad:	e8 ab 32 02 00       	call   0x14006a35d
1400470b2:	cc                   	int3
1400470b3:	90                   	nop
1400470b4:	90                   	nop
1400470b5:	90                   	nop
1400470b6:	90                   	nop
1400470b7:	90                   	nop
1400470b8:	90                   	nop
1400470b9:	90                   	nop
1400470ba:	90                   	nop
1400470bb:	90                   	nop
1400470bc:	90                   	nop
1400470bd:	90                   	nop
1400470be:	90                   	nop
1400470bf:	90                   	nop