14016177c:	44 89 c6             	mov    %r8d,%esi
14016177f:	44 39 c2             	cmp    %r8d,%edx
140161782:	7f 5c                	jg     0x1401617e0
140161784:	8b 41 04             	mov    0x4(%rcx),%eax
140161787:	44 8b 11             	mov    (%rcx),%r10d
14016178a:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14016178e:	4c 8d 40 01          	lea    0x1(%rax),%r8
140161792:	49 89 c1             	mov    %rax,%r9
140161795:	4d 39 c2             	cmp    %r8,%r10
140161798:	73 2d                	jae    0x1401617c7
14016179a:	43 8d 44 52 30       	lea    0x30(%r10,%r10,2),%eax
14016179f:	d1 e8                	shr    $1,%eax
1401617a1:	89 c2                	mov    %eax,%edx
1401617a3:	4c 39 c2             	cmp    %r8,%rdx
1401617a6:	73 07                	jae    0x1401617af
1401617a8:	41 8d 41 01          	lea    0x1(%r9),%eax
1401617ac:	44 89 c2             	mov    %r8d,%edx
1401617af:	89 03                	mov    %eax,(%rbx)
1401617b1:	48 c1 e2 03          	shl    $0x3,%rdx
1401617b5:	e8 86 94 f6 ff       	call   0x1400cac40
1401617ba:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401617be:	48 89 c1             	mov    %rax,%rcx
1401617c1:	8b 43 04             	mov    0x4(%rbx),%eax
1401617c4:	49 89 c1             	mov    %rax,%r9
1401617c7:	48 8d 04 c1          	lea    (%rcx,%rax,8),%rax
1401617cb:	41 83 c1 01          	add    $0x1,%r9d
1401617cf:	89 38                	mov    %edi,(%rax)
1401617d1:	89 70 04             	mov    %esi,0x4(%rax)
1401617d4:	44 89 4b 04          	mov    %r9d,0x4(%rbx)
1401617d8:	48 83 c4 20          	add    $0x20,%rsp
1401617dc:	5b                   	pop    %rbx
1401617dd:	5e                   	pop    %rsi
1401617de:	5f                   	pop    %rdi
1401617df:	c3                   	ret
1401617e0:	41 b8 42 00 00 00    	mov    $0x42,%r8d
1401617e6:	48 8d 15 d3 1a 0c 00 	lea    0xc1ad3(%rip),%rdx        # 0x1402232c0
1401617ed:	48 8d 0d de 1b 0c 00 	lea    0xc1bde(%rip),%rcx        # 0x1402233d2
1401617f4:	ff 15 de db 14 00    	call   *0x14dbde(%rip)        # 0x1402af3d8
1401617fa:	90                   	nop
1401617fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140161800:	57                   	push   %rdi
140161801:	56                   	push   %rsi
140161802:	53                   	push   %rbx
140161803:	48 83 ec 20          	sub    $0x20,%rsp
140161807:	44 8b 49 04          	mov    0x4(%rcx),%r9d
14016180b:	48 89 cb             	mov    %rcx,%rbx
14016180e:	89 d6                	mov    %edx,%esi
140161810:	44 89 c7             	mov    %r8d,%edi
140161813:	45 85 c9             	test   %r9d,%r9d
140161816:	74 0e                	je     0x140161826
140161818:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14016181c:	41 8d 41 ff          	lea    -0x1(%r9),%eax
140161820:	39 74 c2 04          	cmp    %esi,0x4(%rdx,%rax,8)
140161824:	7f 77                	jg     0x14016189d
140161826:	39 fe                	cmp    %edi,%esi
140161828:	7f 59                	jg     0x140161883
14016182a:	44 89 c8             	mov    %r9d,%eax
14016182d:	44 8b 13             	mov    (%rbx),%r10d
140161830:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140161834:	4c 8d 40 01          	lea    0x1(%rax),%r8
140161838:	4d 39 c2             	cmp    %r8,%r10
14016183b:	73 2d                	jae    0x14016186a
14016183d:	43 8d 44 52 30       	lea    0x30(%r10,%r10,2),%eax
140161842:	d1 e8                	shr    $1,%eax
140161844:	89 c2                	mov    %eax,%edx
140161846:	4c 39 c2             	cmp    %r8,%rdx
140161849:	73 07                	jae    0x140161852
14016184b:	41 8d 41 01          	lea    0x1(%r9),%eax
14016184f:	44 89 c2             	mov    %r8d,%edx
140161852:	89 03                	mov    %eax,(%rbx)
140161854:	48 c1 e2 03          	shl    $0x3,%rdx
140161858:	e8 e3 93 f6 ff       	call   0x1400cac40
14016185d:	48 89 43 08          	mov    %rax,0x8(%rbx)
140161861:	48 89 c1             	mov    %rax,%rcx
140161864:	8b 43 04             	mov    0x4(%rbx),%eax
140161867:	49 89 c1             	mov    %rax,%r9
14016186a:	48 8d 04 c1          	lea    (%rcx,%rax,8),%rax
14016186e:	41 83 c1 01          	add    $0x1,%r9d
140161872:	89 30                	mov    %esi,(%rax)
140161874:	89 78 04             	mov    %edi,0x4(%rax)
140161877:	44 89 4b 04          	mov    %r9d,0x4(%rbx)
14016187b:	48 83 c4 20          	add    $0x20,%rsp
14016187f:	5b                   	pop    %rbx
140161880:	5e                   	pop    %rsi
140161881:	5f                   	pop    %rdi
140161882:	c3                   	ret
140161883:	41 b8 42 00 00 00    	mov    $0x42,%r8d
140161889:	48 8d 15 30 1a 0c 00 	lea    0xc1a30(%rip),%rdx        # 0x1402232c0
140161890:	48 8d 0d 3b 1b 0c 00 	lea    0xc1b3b(%rip),%rcx        # 0x1402233d2
140161897:	ff 15 3b db 14 00    	call   *0x14db3b(%rip)        # 0x1402af3d8
14016189d:	41 b8 4b 00 00 00    	mov    $0x4b,%r8d
1401618a3:	48 8d 15 16 1a 0c 00 	lea    0xc1a16(%rip),%rdx        # 0x1402232c0
1401618aa:	48 8d 0d 2f 1b 0c 00 	lea    0xc1b2f(%rip),%rcx        # 0x1402233e0
1401618b1:	ff 15 21 db 14 00    	call   *0x14db21(%rip)        # 0x1402af3d8
1401618b7:	90                   	nop
1401618b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401618bf:	00
1401618c0:	57                   	push   %rdi
1401618c1:	56                   	push   %rsi
1401618c2:	53                   	push   %rbx
1401618c3:	48 83 ec 20          	sub    $0x20,%rsp
1401618c7:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
1401618cc:	44 89 c6             	mov    %r8d,%esi
1401618cf:	44 89 cb             	mov    %r9d,%ebx
1401618d2:	85 d2                	test   %edx,%edx
1401618d4:	78 0e                	js     0x1401618e4
1401618d6:	44 8d 04 0a          	lea    (%rdx,%rcx,1),%r8d
1401618da:	89 ca                	mov    %ecx,%edx
1401618dc:	48 8b 0f             	mov    (%rdi),%rcx
1401618df:	e8 1c ff ff ff       	call   0x140161800
1401618e4:	85 db                	test   %ebx,%ebx
1401618e6:	78 12                	js     0x1401618fa
1401618e8:	48 8b 0f             	mov    (%rdi),%rcx
1401618eb:	44 8d 04 33          	lea    (%rbx,%rsi,1),%r8d
1401618ef:	89 f2                	mov    %esi,%edx
1401618f1:	48 83 c1 10          	add    $0x10,%rcx
1401618f5:	e8 06 ff ff ff       	call   0x140161800
1401618fa:	31 c0                	xor    %eax,%eax
1401618fc:	48 83 c4 20          	add    $0x20,%rsp
140161900:	5b                   	pop    %rbx
140161901:	5e                   	pop    %rsi
140161902:	5f                   	pop    %rdi
140161903:	c3                   	ret
140161904:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14016190b:	00 00 00 00
14016190f:	90                   	nop
140161910:	41 57                	push   %r15
140161912:	41 56                	push   %r14
140161914:	41 55                	push   %r13
140161916:	41 54                	push   %r12
140161918:	55                   	push   %rbp
140161919:	57                   	push   %rdi
14016191a:	56                   	push   %rsi
14016191b:	53                   	push   %rbx
14016191c:	48 81 ec 88 01 00 00 	sub    $0x188,%rsp
140161923:	48 89 94 24 80 00 00 	mov    %rdx,0x80(%rsp)
14016192a:	00
14016192b:	48 8b 15 be 71 0d 00 	mov    0xd71be(%rip),%rdx        # 0x140238af0
140161932:	48 89 cf             	mov    %rcx,%rdi
140161935:	4c 89 c6             	mov    %r8,%rsi
140161938:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
14016193d:	4c 89 c9             	mov    %r9,%rcx
140161940:	48 8b 02             	mov    (%rdx),%rax
140161943:	48 89 84 24 78 01 00 	mov    %rax,0x178(%rsp)
14016194a:	00
14016194b:	31 c0                	xor    %eax,%eax
14016194d:	4c 89 8c 24 88 00 00 	mov    %r9,0x88(%rsp)
140161954:	00
140161955:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
14016195a:	e8 a1 fa ff ff       	call   0x140161400
14016195f:	44 8b 4e 0c          	mov    0xc(%rsi),%r9d
140161963:	48 89 07             	mov    %rax,(%rdi)
140161966:	49 89 c4             	mov    %rax,%r12
140161969:	45 85 c9             	test   %r9d,%r9d
14016196c:	0f 8e bf 07 00 00    	jle    0x140162131
140161972:	45 31 c0             	xor    %r8d,%r8d
140161975:	4c 8d ac 24 20 01 00 	lea    0x120(%rsp),%r13
14016197c:	00
14016197d:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140161984:	00 00
140161986:	44 89 44 24 74       	mov    %r8d,0x74(%rsp)
14016198b:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
140161990:	48 8d 04 fd 00 00 00 	lea    0x0(,%rdi,8),%rax
140161997:	00
140161998:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14016199d:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1401619a2:	48 8b 00             	mov    (%rax),%rax
1401619a5:	48 8b 04 f8          	mov    (%rax,%rdi,8),%rax
1401619a9:	48 8b 70 08          	mov    0x8(%rax),%rsi
1401619ad:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401619b2:	48 8b 7e 28          	mov    0x28(%rsi),%rdi
1401619b6:	48 85 ff             	test   %rdi,%rdi
1401619b9:	75 23                	jne    0x1401619de
1401619bb:	e9 c2 07 00 00       	jmp    0x140162182
1401619c0:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
1401619c5:	48 85 c9             	test   %rcx,%rcx
1401619c8:	0f 84 68 07 00 00    	je     0x140162136
1401619ce:	48 89 fa             	mov    %rdi,%rdx
1401619d1:	e8 a2 84 08 00       	call   0x1401e9e78
1401619d6:	85 c0                	test   %eax,%eax
1401619d8:	74 2c                	je     0x140161a06
1401619da:	4d 8b 24 24          	mov    (%r12),%r12
1401619de:	4d 85 e4             	test   %r12,%r12
1401619e1:	75 dd                	jne    0x1401619c0
1401619e3:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1401619e8:	48 83 44 24 38 01    	addq   $0x1,0x38(%rsp)
1401619ee:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401619f3:	39 47 0c             	cmp    %eax,0xc(%rdi)
1401619f6:	0f 8e 01 07 00 00    	jle    0x1401620fd
1401619fc:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140161a01:	4c 8b 20             	mov    (%rax),%r12
140161a04:	eb 85                	jmp    0x14016198b
140161a06:	89 c3                	mov    %eax,%ebx
140161a08:	41 8b 44 24 14       	mov    0x14(%r12),%eax
140161a0d:	85 c0                	test   %eax,%eax
140161a0f:	74 d2                	je     0x1401619e3
140161a11:	f6 46 50 01          	testb  $0x1,0x50(%rsi)
140161a15:	0f 84 4d 07 00 00    	je     0x140162168
140161a1b:	4c 8b b4 24 80 00 00 	mov    0x80(%rsp),%r14
140161a22:	00
140161a23:	48 89 f2             	mov    %rsi,%rdx
140161a26:	45 31 c0             	xor    %r8d,%r8d
140161a29:	49 8b 8e f0 07 00 00 	mov    0x7f0(%r14),%rcx
140161a30:	e8 eb 62 fd ff       	call   0x140137d20
140161a35:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140161a3a:	48 8b 47 08          	mov    0x8(%rdi),%rax
140161a3e:	48 8b 50 30          	mov    0x30(%rax),%rdx
140161a42:	8b 40 40             	mov    0x40(%rax),%eax
140161a45:	48 89 94 24 d0 00 00 	mov    %rdx,0xd0(%rsp)
140161a4c:	00
140161a4d:	48 8b 17             	mov    (%rdi),%rdx
140161a50:	89 84 24 d8 00 00 00 	mov    %eax,0xd8(%rsp)
140161a57:	f6 42 50 01          	testb  $0x1,0x50(%rdx)
140161a5b:	0f 84 66 06 00 00    	je     0x1401620c7
140161a61:	49 8b 8e f0 07 00 00 	mov    0x7f0(%r14),%rcx
140161a68:	45 31 c0             	xor    %r8d,%r8d
140161a6b:	e8 b0 62 fd ff       	call   0x140137d20
140161a70:	48 8b 07             	mov    (%rdi),%rax
140161a73:	48 c7 44 24 50 00 00 	movq   $0x0,0x50(%rsp)
140161a7a:	00 00
140161a7c:	48 8b 50 30          	mov    0x30(%rax),%rdx
140161a80:	8b 58 40             	mov    0x40(%rax),%ebx
140161a83:	48 89 94 24 c0 00 00 	mov    %rdx,0xc0(%rsp)
140161a8a:	00
140161a8b:	48 8d 84 24 00 01 00 	lea    0x100(%rsp),%rax
140161a92:	00
140161a93:	66 0f ef c0          	pxor   %xmm0,%xmm0
140161a97:	49 c7 45 20 00 00 00 	movq   $0x0,0x20(%r13)
140161a9e:	00
140161a9f:	48 8d 94 24 a8 00 00 	lea    0xa8(%rsp),%rdx
140161aa6:	00
140161aa7:	41 0f 11 45 00       	movups %xmm0,0x0(%r13)
140161aac:	4c 8d 8c 24 50 01 00 	lea    0x150(%rsp),%r9
140161ab3:	00
140161ab4:	4d 89 e8             	mov    %r13,%r8
140161ab7:	48 8d 8c 24 c0 00 00 	lea    0xc0(%rsp),%rcx
140161abe:	00
140161abf:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
140161ac6:	00
140161ac7:	48 8d 05 f2 fd ff ff 	lea    -0x20e(%rip),%rax        # 0x1401618c0
140161ace:	48 89 84 24 70 01 00 	mov    %rax,0x170(%rsp)
140161ad5:	00
140161ad6:	48 8d 84 24 e0 00 00 	lea    0xe0(%rsp),%rax
140161add:	00
140161ade:	41 0f 11 45 10       	movups %xmm0,0x10(%r13)
140161ae3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140161ae8:	48 89 94 24 e0 00 00 	mov    %rdx,0xe0(%rsp)
140161aef:	00
140161af0:	48 8d 94 24 d0 00 00 	lea    0xd0(%rsp),%rdx
140161af7:	00
140161af8:	89 9c 24 c8 00 00 00 	mov    %ebx,0xc8(%rsp)
140161aff:	48 c7 84 24 00 01 00 	movq   $0x0,0x100(%rsp)
140161b06:	00 00 00 00 00
140161b0b:	48 c7 84 24 08 01 00 	movq   $0x0,0x108(%rsp)
140161b12:	00 00 00 00 00
140161b17:	48 c7 84 24 10 01 00 	movq   $0x0,0x110(%rsp)
140161b1e:	00 00 00 00 00
140161b23:	48 c7 84 24 18 01 00 	movq   $0x0,0x118(%rsp)
140161b2a:	00 00 00 00 00
140161b2f:	4c 89 4c 24 68       	mov    %r9,0x68(%rsp)
140161b34:	0f 11 84 24 50 01 00 	movups %xmm0,0x150(%rsp)
140161b3b:	00
140161b3c:	0f 11 84 24 60 01 00 	movups %xmm0,0x160(%rsp)
140161b43:	00
140161b44:	0f 11 84 24 e8 00 00 	movups %xmm0,0xe8(%rsp)
140161b4b:	00
140161b4c:	e8 cf 13 05 00       	call   0x1401b2f20
140161b51:	89 c7                	mov    %eax,%edi
140161b53:	85 c0                	test   %eax,%eax
140161b55:	0f 85 f5 05 00 00    	jne    0x140162150
140161b5b:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
140161b60:	45 31 ff             	xor    %r15d,%r15d
140161b63:	31 db                	xor    %ebx,%ebx
140161b65:	31 f6                	xor    %esi,%esi
140161b67:	e8 44 73 f9 ff       	call   0x1400f8eb0
140161b6c:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140161b71:	48 8b 00             	mov    (%rax),%rax
140161b74:	48 8b 48 28          	mov    0x28(%rax),%rcx
140161b78:	e8 83 8e f6 ff       	call   0x1400caa00
140161b7d:	b9 20 00 00 00       	mov    $0x20,%ecx
140161b82:	49 89 44 24 08       	mov    %rax,0x8(%r12)
140161b87:	e8 94 8e f6 ff       	call   0x1400caa20
140161b8c:	48 c7 84 24 20 01 00 	movq   $0x0,0x120(%rsp)
140161b93:	00 00 00 00 00
140161b98:	48 c7 84 24 28 01 00 	movq   $0x0,0x128(%rsp)
140161b9f:	00 00 00 00 00
140161ba4:	49 89 c6             	mov    %rax,%r14
140161ba7:	48 8d 40 10          	lea    0x10(%rax),%rax
140161bab:	48 c7 84 24 50 01 00 	movq   $0x0,0x150(%rsp)
140161bb2:	00 00 00 00 00
140161bb7:	48 c7 84 24 58 01 00 	movq   $0x0,0x158(%rsp)
140161bbe:	00 00 00 00 00
140161bc3:	48 c7 40 f0 00 00 00 	movq   $0x0,-0x10(%rax)
140161bca:	00
140161bcb:	48 c7 40 f8 00 00 00 	movq   $0x0,-0x8(%rax)
140161bd2:	00
140161bd3:	49 c7 46 10 00 00 00 	movq   $0x0,0x10(%r14)
140161bda:	00
140161bdb:	44 8b 84 24 14 01 00 	mov    0x114(%rsp),%r8d
140161be2:	00
140161be3:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140161be8:	49 c7 46 18 00 00 00 	movq   $0x0,0x18(%r14)
140161bef:	00
140161bf0:	45 85 c0             	test   %r8d,%r8d
140161bf3:	0f 84 ec 04 00 00    	je     0x1401620e5
140161bf9:	4c 8b 8c 24 18 01 00 	mov    0x118(%rsp),%r9
140161c00:	00
140161c01:	4a 8d 2c fd 00 00 00 	lea    0x0(,%r15,8),%rbp
140161c08:	00
140161c09:	4d 8b 44 24 18       	mov    0x18(%r12),%r8
140161c0e:	49 01 e9             	add    %rbp,%r9
140161c11:	41 8b 09             	mov    (%r9),%ecx
140161c14:	eb 18                	jmp    0x140161c2e
140161c16:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140161c1d:	00 00 00
140161c20:	41 8b 44 24 14       	mov    0x14(%r12),%eax
140161c25:	83 c3 01             	add    $0x1,%ebx
140161c28:	39 c3                	cmp    %eax,%ebx
140161c2a:	74 62                	je     0x140161c8e
140161c2c:	89 de                	mov    %ebx,%esi
140161c2e:	49 8d 14 f0          	lea    (%r8,%rsi,8),%rdx
140161c32:	8b 42 04             	mov    0x4(%rdx),%eax
140161c35:	39 c1                	cmp    %eax,%ecx
140161c37:	7f e7                	jg     0x140161c20
140161c39:	8b 12                	mov    (%rdx),%edx
140161c3b:	41 39 51 04          	cmp    %edx,0x4(%r9)
140161c3f:	7e 36                	jle    0x140161c77
140161c41:	39 c1                	cmp    %eax,%ecx
140161c43:	7d 32                	jge    0x140161c77
140161c45:	48 8b 84 24 08 01 00 	mov    0x108(%rsp),%rax
140161c4c:	00
140161c4d:	4c 89 f1             	mov    %r14,%rcx
140161c50:	48 01 e8             	add    %rbp,%rax
140161c53:	8b 10                	mov    (%rax),%edx
140161c55:	44 8b 40 04          	mov    0x4(%rax),%r8d
140161c59:	e8 a2 fb ff ff       	call   0x140161800
140161c5e:	48 03 ac 24 18 01 00 	add    0x118(%rsp),%rbp
140161c65:	00
140161c66:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140161c6b:	8b 55 00             	mov    0x0(%rbp),%edx
140161c6e:	44 8b 45 04          	mov    0x4(%rbp),%r8d
140161c72:	e8 89 fb ff ff       	call   0x140161800
140161c77:	49 83 c7 01          	add    $0x1,%r15
140161c7b:	44 3b bc 24 14 01 00 	cmp    0x114(%rsp),%r15d
140161c82:	00
140161c83:	0f 82 70 ff ff ff    	jb     0x140161bf9
140161c89:	41 8b 44 24 14       	mov    0x14(%r12),%eax
140161c8e:	85 c0                	test   %eax,%eax
140161c90:	0f 84 5c 04 00 00    	je     0x1401620f2
140161c96:	89 7c 24 78          	mov    %edi,0x78(%rsp)