140a59806:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
140a5980d:	00
140a5980e:	eb 13                	jmp    0x140a59823
140a59810:	49 8b cc             	mov    %r12,%rcx
140a59813:	e8 f0 18 3c 00       	call   0x140e1b108
140a59818:	48 8b f0             	mov    %rax,%rsi
140a5981b:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140a59822:	00
140a59823:	45 33 c0             	xor    %r8d,%r8d
140a59826:	48 83 e7 f0          	and    $0xfffffffffffffff0,%rdi
140a5982a:	48 8d 14 37          	lea    (%rdi,%rsi,1),%rdx
140a5982e:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140a59833:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140a59837:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140a5983c:	49 8b 47 08          	mov    0x8(%r15),%rax
140a59840:	48 85 c0             	test   %rax,%rax
140a59843:	74 04                	je     0x140a59849
140a59845:	4d 89 47 08          	mov    %r8,0x8(%r15)
140a59849:	48 89 42 08          	mov    %rax,0x8(%rdx)
140a5984d:	48 89 94 24 98 00 00 	mov    %rdx,0x98(%rsp)
140a59854:	00
140a59855:	4d 8b 4e 08          	mov    0x8(%r14),%r9
140a59859:	49 8b 06             	mov    (%r14),%rax
140a5985c:	49 3b d9             	cmp    %r9,%rbx
140a5985f:	75 2e                	jne    0x140a5988f
140a59861:	49 3b c1             	cmp    %r9,%rax
140a59864:	0f 84 8b 00 00 00    	je     0x140a598f5
140a5986a:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140a5986e:	66 90                	xchg   %ax,%ax
140a59870:	48 8b 50 08          	mov    0x8(%rax),%rdx
140a59874:	48 85 d2             	test   %rdx,%rdx
140a59877:	74 04                	je     0x140a5987d
140a59879:	4c 89 40 08          	mov    %r8,0x8(%rax)
140a5987d:	48 89 11             	mov    %rdx,(%rcx)
140a59880:	48 83 c1 10          	add    $0x10,%rcx
140a59884:	48 83 c0 10          	add    $0x10,%rax
140a59888:	49 3b c1             	cmp    %r9,%rax
140a5988b:	75 e3                	jne    0x140a59870
140a5988d:	eb 66                	jmp    0x140a598f5
140a5988f:	48 3b c3             	cmp    %rbx,%rax
140a59892:	74 29                	je     0x140a598bd
140a59894:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140a59898:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140a5989f:	00
140a598a0:	48 8b 50 08          	mov    0x8(%rax),%rdx
140a598a4:	48 85 d2             	test   %rdx,%rdx
140a598a7:	74 04                	je     0x140a598ad
140a598a9:	4c 89 40 08          	mov    %r8,0x8(%rax)
140a598ad:	48 89 11             	mov    %rdx,(%rcx)
140a598b0:	48 83 c1 10          	add    $0x10,%rcx
140a598b4:	48 83 c0 10          	add    $0x10,%rax
140a598b8:	48 3b c3             	cmp    %rbx,%rax
140a598bb:	75 e3                	jne    0x140a598a0
140a598bd:	48 89 b4 24 98 00 00 	mov    %rsi,0x98(%rsp)
140a598c4:	00
140a598c5:	49 8b 56 08          	mov    0x8(%r14),%rdx
140a598c9:	48 3b da             	cmp    %rdx,%rbx
140a598cc:	74 27                	je     0x140a598f5
140a598ce:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a598d2:	48 2b fb             	sub    %rbx,%rdi
140a598d5:	48 03 fe             	add    %rsi,%rdi
140a598d8:	48 8b 01             	mov    (%rcx),%rax
140a598db:	48 85 c0             	test   %rax,%rax
140a598de:	74 03                	je     0x140a598e3
140a598e0:	4c 89 01             	mov    %r8,(%rcx)
140a598e3:	48 89 44 0f 10       	mov    %rax,0x10(%rdi,%rcx,1)
140a598e8:	48 83 c1 10          	add    $0x10,%rcx
140a598ec:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140a598f0:	48 3b c2             	cmp    %rdx,%rax
140a598f3:	75 e3                	jne    0x140a598d8
140a598f5:	49 8b 1e             	mov    (%r14),%rbx
140a598f8:	48 85 db             	test   %rbx,%rbx
140a598fb:	74 55                	je     0x140a59952
140a598fd:	49 8b 7e 08          	mov    0x8(%r14),%rdi
140a59901:	48 3b df             	cmp    %rdi,%rbx
140a59904:	74 18                	je     0x140a5991e
140a59906:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140a5990a:	48 85 c9             	test   %rcx,%rcx
140a5990d:	74 06                	je     0x140a59915
140a5990f:	e8 bc e7 fa ff       	call   0x140a080d0
140a59914:	90                   	nop
140a59915:	48 83 c3 10          	add    $0x10,%rbx
140a59919:	48 3b df             	cmp    %rdi,%rbx
140a5991c:	75 e8                	jne    0x140a59906
140a5991e:	49 8b 0e             	mov    (%r14),%rcx
140a59921:	49 8b 56 10          	mov    0x10(%r14),%rdx
140a59925:	48 2b d1             	sub    %rcx,%rdx
140a59928:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
140a5992c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a59933:	72 18                	jb     0x140a5994d
140a59935:	48 83 c2 27          	add    $0x27,%rdx
140a59939:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140a5993d:	49 2b c8             	sub    %r8,%rcx
140a59940:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140a59944:	48 83 f8 1f          	cmp    $0x1f,%rax
140a59948:	77 3f                	ja     0x140a59989
140a5994a:	49 8b c8             	mov    %r8,%rcx
140a5994d:	e8 f2 17 3c 00       	call   0x140e1b144
140a59952:	49 89 36             	mov    %rsi,(%r14)
140a59955:	49 c1 e5 04          	shl    $0x4,%r13
140a59959:	4c 03 ee             	add    %rsi,%r13
140a5995c:	4d 89 6e 08          	mov    %r13,0x8(%r14)
140a59960:	49 8d 0c 34          	lea    (%r12,%rsi,1),%rcx
140a59964:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140a59968:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140a5996d:	48 83 c4 40          	add    $0x40,%rsp
140a59971:	41 5f                	pop    %r15
140a59973:	41 5e                	pop    %r14
140a59975:	41 5d                	pop    %r13
140a59977:	41 5c                	pop    %r12
140a59979:	5f                   	pop    %rdi
140a5997a:	5e                   	pop    %rsi
140a5997b:	5b                   	pop    %rbx
140a5997c:	c3                   	ret
140a5997d:	e8 0e 38 74 ff       	call   0x14019d190
140a59982:	cc                   	int3
140a59983:	e8 08 3c 74 ff       	call   0x14019d590
140a59988:	cc                   	int3
140a59989:	e8 16 08 3d 00       	call   0x140e2a1a4
140a5998e:	cc                   	int3
140a5998f:	cc                   	int3
140a59990:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a59995:	53                   	push   %rbx
140a59996:	56                   	push   %rsi
140a59997:	57                   	push   %rdi
140a59998:	41 54                	push   %r12
140a5999a:	41 55                	push   %r13
140a5999c:	41 56                	push   %r14
140a5999e:	41 57                	push   %r15
140a599a0:	48 83 ec 40          	sub    $0x40,%rsp
140a599a4:	4d 8b f8             	mov    %r8,%r15
140a599a7:	48 8b da             	mov    %rdx,%rbx
140a599aa:	4c 8b f1             	mov    %rcx,%r14
140a599ad:	4c 8b 11             	mov    (%rcx),%r10
140a599b0:	4c 8b ca             	mov    %rdx,%r9
140a599b3:	4d 2b ca             	sub    %r10,%r9
140a599b6:	49 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r11
140a599bd:	aa aa 2a
140a599c0:	49 8b c3             	mov    %r11,%rax
140a599c3:	49 f7 e9             	imul   %r9
140a599c6:	48 8b f2             	mov    %rdx,%rsi
140a599c9:	48 c1 fe 02          	sar    $0x2,%rsi
140a599cd:	48 8b c6             	mov    %rsi,%rax
140a599d0:	48 c1 e8 3f          	shr    $0x3f,%rax
140a599d4:	48 03 f0             	add    %rax,%rsi
140a599d7:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a599db:	49 2b ca             	sub    %r10,%rcx
140a599de:	49 8b c3             	mov    %r11,%rax
140a599e1:	48 f7 e9             	imul   %rcx
140a599e4:	48 c1 fa 02          	sar    $0x2,%rdx
140a599e8:	48 8b c2             	mov    %rdx,%rax
140a599eb:	48 c1 e8 3f          	shr    $0x3f,%rax
140a599ef:	48 03 d0             	add    %rax,%rdx
140a599f2:	49 b9 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r9
140a599f9:	aa aa 0a
140a599fc:	49 3b d1             	cmp    %r9,%rdx
140a599ff:	0f 84 54 02 00 00    	je     0x140a59c59
140a59a05:	4c 8d 42 01          	lea    0x1(%rdx),%r8
140a59a09:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140a59a0e:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140a59a12:	49 2b ca             	sub    %r10,%rcx
140a59a15:	49 8b c3             	mov    %r11,%rax
140a59a18:	48 f7 e9             	imul   %rcx
140a59a1b:	48 c1 fa 02          	sar    $0x2,%rdx
140a59a1f:	48 8b c2             	mov    %rdx,%rax
140a59a22:	48 c1 e8 3f          	shr    $0x3f,%rax
140a59a26:	48 03 d0             	add    %rax,%rdx
140a59a29:	48 8b ca             	mov    %rdx,%rcx
140a59a2c:	48 d1 e9             	shr    $1,%rcx
140a59a2f:	49 8b c1             	mov    %r9,%rax
140a59a32:	48 2b c1             	sub    %rcx,%rax
140a59a35:	48 3b d0             	cmp    %rax,%rdx
140a59a38:	0f 87 15 02 00 00    	ja     0x140a59c53
140a59a3e:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a59a42:	49 8b c8             	mov    %r8,%rcx
140a59a45:	49 3b c0             	cmp    %r8,%rax
140a59a48:	48 0f 43 c8          	cmovae %rax,%rcx
140a59a4c:	49 3b c9             	cmp    %r9,%rcx
140a59a4f:	0f 87 fe 01 00 00    	ja     0x140a59c53
140a59a55:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
140a59a59:	4c 8d 2c c5 00 00 00 	lea    0x0(,%rax,8),%r13
140a59a60:	00
140a59a61:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a59a66:	4d 85 ed             	test   %r13,%r13
140a59a69:	75 13                	jne    0x140a59a7e
140a59a6b:	33 d2                	xor    %edx,%edx
140a59a6d:	8b fa                	mov    %edx,%edi
140a59a6f:	48 89 94 24 88 00 00 	mov    %rdx,0x88(%rsp)
140a59a76:	00
140a59a77:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a59a7c:	eb 4f                	jmp    0x140a59acd
140a59a7e:	49 81 fd 00 10 00 00 	cmp    $0x1000,%r13
140a59a85:	72 31                	jb     0x140a59ab8
140a59a87:	49 8d 4d 27          	lea    0x27(%r13),%rcx
140a59a8b:	49 3b cd             	cmp    %r13,%rcx
140a59a8e:	0f 86 bf 01 00 00    	jbe    0x140a59c53
140a59a94:	e8 6f 16 3c 00       	call   0x140e1b108
140a59a99:	48 85 c0             	test   %rax,%rax
140a59a9c:	0f 84 bd 01 00 00    	je     0x140a59c5f
140a59aa2:	48 8d 78 27          	lea    0x27(%rax),%rdi
140a59aa6:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140a59aaa:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140a59aae:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140a59ab5:	00
140a59ab6:	eb 13                	jmp    0x140a59acb
140a59ab8:	49 8b cd             	mov    %r13,%rcx
140a59abb:	e8 48 16 3c 00       	call   0x140e1b108
140a59ac0:	48 8b f8             	mov    %rax,%rdi
140a59ac3:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140a59aca:	00
140a59acb:	33 d2                	xor    %edx,%edx
140a59acd:	48 8d 04 76          	lea    (%rsi,%rsi,2),%rax
140a59ad1:	4c 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%r10
140a59ad8:	00
140a59ad9:	4d 8d 24 3a          	lea    (%r10,%rdi,1),%r12
140a59add:	49 8d 44 24 18       	lea    0x18(%r12),%rax
140a59ae2:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140a59ae7:	49 8b 47 10          	mov    0x10(%r15),%rax
140a59aeb:	48 85 c0             	test   %rax,%rax
140a59aee:	74 04                	je     0x140a59af4
140a59af0:	49 89 57 10          	mov    %rdx,0x10(%r15)
140a59af4:	49 89 44 24 10       	mov    %rax,0x10(%r12)
140a59af9:	4c 89 a4 24 98 00 00 	mov    %r12,0x98(%rsp)
140a59b00:	00
140a59b01:	4d 8b 4e 08          	mov    0x8(%r14),%r9
140a59b05:	49 8b 06             	mov    (%r14),%rax
140a59b08:	49 3b d9             	cmp    %r9,%rbx
140a59b0b:	75 32                	jne    0x140a59b3f
140a59b0d:	49 3b c1             	cmp    %r9,%rax
140a59b10:	0f 84 8f 00 00 00    	je     0x140a59ba5
140a59b16:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140a59b1a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140a59b20:	4c 8b 40 10          	mov    0x10(%rax),%r8
140a59b24:	4d 85 c0             	test   %r8,%r8
140a59b27:	74 04                	je     0x140a59b2d
140a59b29:	48 89 50 10          	mov    %rdx,0x10(%rax)
140a59b2d:	4c 89 01             	mov    %r8,(%rcx)
140a59b30:	48 83 c1 18          	add    $0x18,%rcx
140a59b34:	48 83 c0 18          	add    $0x18,%rax
140a59b38:	49 3b c1             	cmp    %r9,%rax
140a59b3b:	75 e3                	jne    0x140a59b20
140a59b3d:	eb 66                	jmp    0x140a59ba5
140a59b3f:	48 3b c3             	cmp    %rbx,%rax
140a59b42:	74 29                	je     0x140a59b6d
140a59b44:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140a59b48:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140a59b4f:	00
140a59b50:	4c 8b 40 10          	mov    0x10(%rax),%r8
140a59b54:	4d 85 c0             	test   %r8,%r8
140a59b57:	74 04                	je     0x140a59b5d
140a59b59:	48 89 50 10          	mov    %rdx,0x10(%rax)
140a59b5d:	4c 89 01             	mov    %r8,(%rcx)
140a59b60:	48 83 c1 18          	add    $0x18,%rcx
140a59b64:	48 83 c0 18          	add    $0x18,%rax
140a59b68:	48 3b c3             	cmp    %rbx,%rax
140a59b6b:	75 e3                	jne    0x140a59b50
140a59b6d:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140a59b74:	00
140a59b75:	4d 8b 46 08          	mov    0x8(%r14),%r8
140a59b79:	49 3b d8             	cmp    %r8,%rbx
140a59b7c:	74 27                	je     0x140a59ba5
140a59b7e:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140a59b82:	4c 2b d3             	sub    %rbx,%r10
140a59b85:	4c 03 d7             	add    %rdi,%r10
140a59b88:	48 8b 01             	mov    (%rcx),%rax
140a59b8b:	48 85 c0             	test   %rax,%rax
140a59b8e:	74 03                	je     0x140a59b93
140a59b90:	48 89 11             	mov    %rdx,(%rcx)
140a59b93:	49 89 44 0a 18       	mov    %rax,0x18(%r10,%rcx,1)
140a59b98:	48 83 c1 18          	add    $0x18,%rcx
140a59b9c:	48 8d 41 f0          	lea    -0x10(%rcx),%rax
140a59ba0:	49 3b c0             	cmp    %r8,%rax
140a59ba3:	75 e3                	jne    0x140a59b88
140a59ba5:	49 8b 1e             	mov    (%r14),%rbx
140a59ba8:	48 85 db             	test   %rbx,%rbx
140a59bab:	74 77                	je     0x140a59c24
140a59bad:	49 8b 76 08          	mov    0x8(%r14),%rsi
140a59bb1:	48 3b de             	cmp    %rsi,%rbx
140a59bb4:	74 18                	je     0x140a59bce
140a59bb6:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140a59bba:	48 85 c9             	test   %rcx,%rcx
140a59bbd:	74 06                	je     0x140a59bc5
140a59bbf:	e8 6c e5 fa ff       	call   0x140a08130
140a59bc4:	90                   	nop
140a59bc5:	48 83 c3 18          	add    $0x18,%rbx
140a59bc9:	48 3b de             	cmp    %rsi,%rbx
140a59bcc:	75 e8                	jne    0x140a59bb6
140a59bce:	4d 8b 06             	mov    (%r14),%r8
140a59bd1:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140a59bd5:	49 2b c8             	sub    %r8,%rcx
140a59bd8:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140a59bdf:	aa aa 2a
140a59be2:	48 f7 e9             	imul   %rcx
140a59be5:	48 c1 fa 02          	sar    $0x2,%rdx
140a59be9:	48 8b c2             	mov    %rdx,%rax
140a59bec:	48 c1 e8 3f          	shr    $0x3f,%rax
140a59bf0:	48 03 d0             	add    %rax,%rdx
140a59bf3:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140a59bf7:	48 c1 e2 03          	shl    $0x3,%rdx
140a59bfb:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a59c02:	72 18                	jb     0x140a59c1c
140a59c04:	48 83 c2 27          	add    $0x27,%rdx
140a59c08:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140a59c0c:	4c 2b c1             	sub    %rcx,%r8
140a59c0f:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140a59c13:	48 83 f8 1f          	cmp    $0x1f,%rax
140a59c17:	77 46                	ja     0x140a59c5f
140a59c19:	4c 8b c1             	mov    %rcx,%r8
140a59c1c:	49 8b c8             	mov    %r8,%rcx
140a59c1f:	e8 20 15 3c 00       	call   0x140e1b144
140a59c24:	49 89 3e             	mov    %rdi,(%r14)
140a59c27:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140a59c2c:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140a59c30:	48 8d 14 cf          	lea    (%rdi,%rcx,8),%rdx
140a59c34:	49 89 56 08          	mov    %rdx,0x8(%r14)
140a59c38:	4a 8d 0c 2f          	lea    (%rdi,%r13,1),%rcx
140a59c3c:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140a59c40:	49 8b c4             	mov    %r12,%rax
140a59c43:	48 83 c4 40          	add    $0x40,%rsp
140a59c47:	41 5f                	pop    %r15
140a59c49:	41 5e                	pop    %r14
140a59c4b:	41 5d                	pop    %r13
140a59c4d:	41 5c                	pop    %r12
140a59c4f:	5f                   	pop    %rdi
140a59c50:	5e                   	pop    %rsi
140a59c51:	5b                   	pop    %rbx
140a59c52:	c3                   	ret
140a59c53:	e8 38 35 74 ff       	call   0x14019d190
140a59c58:	cc                   	int3
140a59c59:	e8 32 39 74 ff       	call   0x14019d590
140a59c5e:	cc                   	int3
140a59c5f:	e8 40 05 3d 00       	call   0x140e2a1a4
140a59c64:	cc                   	int3
140a59c65:	cc                   	int3
140a59c66:	cc                   	int3
140a59c67:	cc                   	int3
140a59c68:	cc                   	int3
140a59c69:	cc                   	int3
140a59c6a:	cc                   	int3
140a59c6b:	cc                   	int3
140a59c6c:	cc                   	int3
140a59c6d:	cc                   	int3
140a59c6e:	cc                   	int3
140a59c6f:	cc                   	int3
140a59c70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a59c75:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a59c7a:	56                   	push   %rsi
140a59c7b:	57                   	push   %rdi
140a59c7c:	41 56                	push   %r14
140a59c7e:	48 83 ec 40          	sub    $0x40,%rsp