14001b7b0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14001b7b5:	53                   	push   %rbx
14001b7b6:	55                   	push   %rbp
14001b7b7:	56                   	push   %rsi
14001b7b8:	57                   	push   %rdi
14001b7b9:	41 54                	push   %r12
14001b7bb:	41 56                	push   %r14
14001b7bd:	41 57                	push   %r15
14001b7bf:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
14001b7c6:	44 8b 11             	mov    (%rcx),%r10d
14001b7c9:	4c 8b fa             	mov    %rdx,%r15
14001b7cc:	48 8b f1             	mov    %rcx,%rsi
14001b7cf:	45 85 d2             	test   %r10d,%r10d
14001b7d2:	0f 84 60 04 00 00    	je     0x14001bc38
14001b7d8:	8b 3a                	mov    (%rdx),%edi
14001b7da:	85 ff                	test   %edi,%edi
14001b7dc:	0f 84 56 04 00 00    	je     0x14001bc38
14001b7e2:	41 ff ca             	dec    %r10d
14001b7e5:	8d 6f ff             	lea    -0x1(%rdi),%ebp
14001b7e8:	85 ed                	test   %ebp,%ebp
14001b7ea:	0f 85 fb 00 00 00    	jne    0x14001b8eb
14001b7f0:	44 8b 62 04          	mov    0x4(%rdx),%r12d
14001b7f4:	33 ed                	xor    %ebp,%ebp
14001b7f6:	41 83 fc 01          	cmp    $0x1,%r12d
14001b7fa:	75 26                	jne    0x14001b822
14001b7fc:	8b 59 04             	mov    0x4(%rcx),%ebx
14001b7ff:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b804:	48 83 c1 04          	add    $0x4,%rcx
14001b808:	89 2e                	mov    %ebp,(%rsi)
14001b80a:	45 33 c9             	xor    %r9d,%r9d
14001b80d:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b811:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b816:	e8 51 10 00 00       	call   0x14001c86c
14001b81b:	8b c3                	mov    %ebx,%eax
14001b81d:	e9 18 04 00 00       	jmp    0x14001bc3a
14001b822:	45 85 d2             	test   %r10d,%r10d
14001b825:	75 3d                	jne    0x14001b864
14001b827:	8b 79 04             	mov    0x4(%rcx),%edi
14001b82a:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b82f:	89 29                	mov    %ebp,(%rcx)
14001b831:	45 33 c9             	xor    %r9d,%r9d
14001b834:	48 83 c1 04          	add    $0x4,%rcx
14001b838:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b83c:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b841:	e8 26 10 00 00       	call   0x14001c86c
14001b846:	33 d2                	xor    %edx,%edx
14001b848:	8b c7                	mov    %edi,%eax
14001b84a:	41 f7 f4             	div    %r12d
14001b84d:	8b c7                	mov    %edi,%eax
14001b84f:	85 d2                	test   %edx,%edx
14001b851:	89 56 04             	mov    %edx,0x4(%rsi)
14001b854:	40 0f 95 c5          	setne  %bpl
14001b858:	33 d2                	xor    %edx,%edx
14001b85a:	41 f7 f4             	div    %r12d
14001b85d:	89 2e                	mov    %ebp,(%rsi)
14001b85f:	e9 d6 03 00 00       	jmp    0x14001bc3a
14001b864:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001b86a:	4c 8b f5             	mov    %rbp,%r14
14001b86d:	48 8b fd             	mov    %rbp,%rdi
14001b870:	45 3b d7             	cmp    %r15d,%r10d
14001b873:	74 3b                	je     0x14001b8b0
14001b875:	4d 8b cc             	mov    %r12,%r9
14001b878:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14001b87f:	00
14001b880:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
14001b885:	33 d2                	xor    %edx,%edx
14001b887:	48 c1 e7 20          	shl    $0x20,%rdi
14001b88b:	45 03 d7             	add    %r15d,%r10d
14001b88e:	4c 0b c7             	or     %rdi,%r8
14001b891:	49 c1 e6 20          	shl    $0x20,%r14
14001b895:	49 8b c0             	mov    %r8,%rax
14001b898:	49 f7 f1             	div    %r9
14001b89b:	33 d2                	xor    %edx,%edx
14001b89d:	8b c8                	mov    %eax,%ecx
14001b89f:	49 8b c0             	mov    %r8,%rax
14001b8a2:	49 f7 f1             	div    %r9
14001b8a5:	4c 03 f1             	add    %rcx,%r14
14001b8a8:	48 8b fa             	mov    %rdx,%rdi
14001b8ab:	45 3b d7             	cmp    %r15d,%r10d
14001b8ae:	75 d0                	jne    0x14001b880
14001b8b0:	45 33 c9             	xor    %r9d,%r9d
14001b8b3:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
14001b8b7:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
14001b8bc:	89 2e                	mov    %ebp,(%rsi)
14001b8be:	ba cc 01 00 00       	mov    $0x1cc,%edx
14001b8c3:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
14001b8c7:	e8 a0 0f 00 00       	call   0x14001c86c
14001b8cc:	48 8b cf             	mov    %rdi,%rcx
14001b8cf:	89 7e 04             	mov    %edi,0x4(%rsi)
14001b8d2:	48 c1 e9 20          	shr    $0x20,%rcx
14001b8d6:	49 8b c6             	mov    %r14,%rax
14001b8d9:	85 c9                	test   %ecx,%ecx
14001b8db:	89 4e 08             	mov    %ecx,0x8(%rsi)
14001b8de:	40 0f 95 c5          	setne  %bpl
14001b8e2:	ff c5                	inc    %ebp
14001b8e4:	89 2e                	mov    %ebp,(%rsi)
14001b8e6:	e9 4f 03 00 00       	jmp    0x14001bc3a
14001b8eb:	41 3b ea             	cmp    %r10d,%ebp
14001b8ee:	0f 87 44 03 00 00    	ja     0x14001bc38
14001b8f4:	45 8b c2             	mov    %r10d,%r8d
14001b8f7:	49 63 d2             	movslq %r10d,%rdx
14001b8fa:	44 2b c5             	sub    %ebp,%r8d
14001b8fd:	45 8b ca             	mov    %r10d,%r9d
14001b900:	49 63 d8             	movslq %r8d,%rbx
14001b903:	48 3b d3             	cmp    %rbx,%rdx
14001b906:	7c 49                	jl     0x14001b951
14001b908:	48 83 c1 04          	add    $0x4,%rcx
14001b90c:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
14001b913:	00
14001b914:	4d 8b df             	mov    %r15,%r11
14001b917:	4c 2b d8             	sub    %rax,%r11
14001b91a:	4c 2b de             	sub    %rsi,%r11
14001b91d:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
14001b921:	8b 01                	mov    (%rcx),%eax
14001b923:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
14001b927:	75 11                	jne    0x14001b93a
14001b929:	41 ff c9             	dec    %r9d
14001b92c:	48 ff ca             	dec    %rdx
14001b92f:	48 83 e9 04          	sub    $0x4,%rcx
14001b933:	48 3b d3             	cmp    %rbx,%rdx
14001b936:	7d e9                	jge    0x14001b921
14001b938:	eb 17                	jmp    0x14001b951
14001b93a:	41 8b c1             	mov    %r9d,%eax
14001b93d:	41 2b c0             	sub    %r8d,%eax
14001b940:	48 63 d0             	movslq %eax,%rdx
14001b943:	49 63 c1             	movslq %r9d,%rax
14001b946:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
14001b94a:	41 39 4c 97 04       	cmp    %ecx,0x4(%r15,%rdx,4)
14001b94f:	73 03                	jae    0x14001b954
14001b951:	41 ff c0             	inc    %r8d
14001b954:	45 85 c0             	test   %r8d,%r8d
14001b957:	0f 84 db 02 00 00    	je     0x14001bc38
14001b95d:	45 8b 4c af 04       	mov    0x4(%r15,%rbp,4),%r9d
14001b962:	8d 47 fe             	lea    -0x2(%rdi),%eax
14001b965:	45 8b 5c 87 04       	mov    0x4(%r15,%rax,4),%r11d
14001b96a:	33 ed                	xor    %ebp,%ebp
14001b96c:	41 0f bd c1          	bsr    %r9d,%eax
14001b970:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b977:	00
14001b978:	74 1e                	je     0x14001b998
14001b97a:	bb 1f 00 00 00       	mov    $0x1f,%ebx
14001b97f:	41 be 20 00 00 00    	mov    $0x20,%r14d
14001b985:	2b d8                	sub    %eax,%ebx
14001b987:	44 2b f3             	sub    %ebx,%r14d
14001b98a:	44 89 b4 24 60 02 00 	mov    %r14d,0x260(%rsp)
14001b991:	00
14001b992:	85 db                	test   %ebx,%ebx
14001b994:	74 4e                	je     0x14001b9e4
14001b996:	eb 0f                	jmp    0x14001b9a7
14001b998:	bb 20 00 00 00       	mov    $0x20,%ebx
14001b99d:	89 ac 24 60 02 00 00 	mov    %ebp,0x260(%rsp)
14001b9a4:	44 8b f5             	mov    %ebp,%r14d
14001b9a7:	41 8b c1             	mov    %r9d,%eax
14001b9aa:	41 8b d3             	mov    %r11d,%edx
14001b9ad:	41 8b ce             	mov    %r14d,%ecx
14001b9b0:	d3 ea                	shr    %cl,%edx
14001b9b2:	8b cb                	mov    %ebx,%ecx
14001b9b4:	d3 e0                	shl    %cl,%eax
14001b9b6:	44 8b ca             	mov    %edx,%r9d
14001b9b9:	41 d3 e3             	shl    %cl,%r11d
14001b9bc:	44 0b c8             	or     %eax,%r9d
14001b9bf:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b9c6:	00
14001b9c7:	83 ff 02             	cmp    $0x2,%edi
14001b9ca:	76 18                	jbe    0x14001b9e4
14001b9cc:	8d 47 fd             	lea    -0x3(%rdi),%eax
14001b9cf:	41 8b ce             	mov    %r14d,%ecx
14001b9d2:	41 8b 44 87 04       	mov    0x4(%r15,%rax,4),%eax
14001b9d7:	d3 e8                	shr    %cl,%eax
14001b9d9:	44 0b d8             	or     %eax,%r11d
14001b9dc:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
14001b9e3:	00
14001b9e4:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
14001b9e8:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14001b9ed:	4c 8b dd             	mov    %rbp,%r11
14001b9f0:	45 85 e4             	test   %r12d,%r12d
14001b9f3:	0f 88 00 02 00 00    	js     0x14001bbf9
14001b9f9:	41 8b c6             	mov    %r14d,%eax
14001b9fc:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001ba02:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14001ba07:	41 8b c1             	mov    %r9d,%eax
14001ba0a:	4c 89 ac 24 18 02 00 	mov    %r13,0x218(%rsp)
14001ba11:	00
14001ba12:	45 8d 2c 3c          	lea    (%r12,%rdi,1),%r13d
14001ba16:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14001ba1b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001ba20:	45 3b ea             	cmp    %r10d,%r13d
14001ba23:	77 07                	ja     0x14001ba2c
14001ba25:	42 8b 54 ae 04       	mov    0x4(%rsi,%r13,4),%edx
14001ba2a:	eb 02                	jmp    0x14001ba2e
14001ba2c:	8b d5                	mov    %ebp,%edx
14001ba2e:	89 94 24 78 02 00 00 	mov    %edx,0x278(%rsp)
14001ba35:	41 8d 45 ff          	lea    -0x1(%r13),%eax
14001ba39:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
14001ba3d:	41 8d 45 fe          	lea    -0x2(%r13),%eax
14001ba41:	44 8b 5c 86 04       	mov    0x4(%rsi,%rax,4),%r11d
14001ba46:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14001ba4b:	89 54 24 24          	mov    %edx,0x24(%rsp)
14001ba4f:	85 db                	test   %ebx,%ebx
14001ba51:	74 33                	je     0x14001ba86
14001ba53:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14001ba58:	45 8b c3             	mov    %r11d,%r8d
14001ba5b:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14001ba60:	49 d3 e8             	shr    %cl,%r8
14001ba63:	8b cb                	mov    %ebx,%ecx
14001ba65:	48 d3 e0             	shl    %cl,%rax
14001ba68:	4c 0b c0             	or     %rax,%r8
14001ba6b:	41 d3 e3             	shl    %cl,%r11d
14001ba6e:	41 83 fd 03          	cmp    $0x3,%r13d
14001ba72:	72 17                	jb     0x14001ba8b
14001ba74:	41 8d 45 fd          	lea    -0x3(%r13),%eax
14001ba78:	41 8b ce             	mov    %r14d,%ecx
14001ba7b:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
14001ba7f:	d3 e8                	shr    %cl,%eax
14001ba81:	44 0b d8             	or     %eax,%r11d
14001ba84:	eb 05                	jmp    0x14001ba8b
14001ba86:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
14001ba8b:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
14001ba90:	33 d2                	xor    %edx,%edx
14001ba92:	49 8b c0             	mov    %r8,%rax
14001ba95:	48 f7 f1             	div    %rcx
14001ba98:	33 d2                	xor    %edx,%edx
14001ba9a:	4c 8b c8             	mov    %rax,%r9
14001ba9d:	49 8b c0             	mov    %r8,%rax
14001baa0:	48 f7 f1             	div    %rcx
14001baa3:	44 8b c2             	mov    %edx,%r8d
14001baa6:	4d 3b cf             	cmp    %r15,%r9
14001baa9:	76 17                	jbe    0x14001bac2
14001baab:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
14001bab2:	ff ff ff
14001bab5:	49 03 c1             	add    %r9,%rax
14001bab8:	4d 8b cf             	mov    %r15,%r9
14001babb:	48 0f af c1          	imul   %rcx,%rax
14001babf:	4c 03 c0             	add    %rax,%r8
14001bac2:	4d 3b c7             	cmp    %r15,%r8
14001bac5:	77 3e                	ja     0x14001bb05
14001bac7:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
14001bace:	4c 8b f1             	mov    %rcx,%r14
14001bad1:	8b c2                	mov    %edx,%eax
14001bad3:	49 0f af c1          	imul   %r9,%rax
14001bad7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14001bade:	00 00
14001bae0:	49 8b c8             	mov    %r8,%rcx
14001bae3:	48 c1 e1 20          	shl    $0x20,%rcx
14001bae7:	49 0b cb             	or     %r11,%rcx
14001baea:	48 3b c1             	cmp    %rcx,%rax
14001baed:	76 0e                	jbe    0x14001bafd
14001baef:	49 ff c9             	dec    %r9
14001baf2:	48 2b c2             	sub    %rdx,%rax
14001baf5:	4d 03 c6             	add    %r14,%r8
14001baf8:	4d 3b c7             	cmp    %r15,%r8
14001bafb:	76 e3                	jbe    0x14001bae0
14001bafd:	44 8b b4 24 60 02 00 	mov    0x260(%rsp),%r14d
14001bb04:	00
14001bb05:	4d 85 c9             	test   %r9,%r9
14001bb08:	0f 84 c2 00 00 00    	je     0x14001bbd0
14001bb0e:	4c 8b d5             	mov    %rbp,%r10
14001bb11:	44 8b dd             	mov    %ebp,%r11d
14001bb14:	85 ff                	test   %edi,%edi
14001bb16:	74 64                	je     0x14001bb7c
14001bb18:	4c 8b b4 24 68 02 00 	mov    0x268(%rsp),%r14
14001bb1f:	00
14001bb20:	44 8b bc 24 60 02 00 	mov    0x260(%rsp),%r15d
14001bb27:	00
14001bb28:	49 83 c6 04          	add    $0x4,%r14
14001bb2c:	0f 1f 40 00          	nopl   0x0(%rax)
14001bb30:	41 8b 06             	mov    (%r14),%eax
14001bb33:	4d 8d 76 04          	lea    0x4(%r14),%r14
14001bb37:	49 0f af c1          	imul   %r9,%rax
14001bb3b:	4c 03 d0             	add    %rax,%r10
14001bb3e:	43 8d 04 23          	lea    (%r11,%r12,1),%eax
14001bb42:	45 8b c2             	mov    %r10d,%r8d
14001bb45:	8b c8                	mov    %eax,%ecx
14001bb47:	49 c1 ea 20          	shr    $0x20,%r10
14001bb4b:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
14001bb4f:	49 8b d2             	mov    %r10,%rdx
14001bb52:	49 ff c2             	inc    %r10
14001bb55:	41 3b c0             	cmp    %r8d,%eax
14001bb58:	4c 0f 43 d2          	cmovae %rdx,%r10
14001bb5c:	41 2b c0             	sub    %r8d,%eax
14001bb5f:	41 ff c3             	inc    %r11d
14001bb62:	89 44 8e 04          	mov    %eax,0x4(%rsi,%rcx,4)
14001bb66:	44 3b df             	cmp    %edi,%r11d
14001bb69:	72 c5                	jb     0x14001bb30
14001bb6b:	45 8b f7             	mov    %r15d,%r14d
14001bb6e:	44 89 bc 24 60 02 00 	mov    %r15d,0x260(%rsp)
14001bb75:	00
14001bb76:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
14001bb7c:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
14001bb83:	00
14001bb84:	8b 84 24 78 02 00 00 	mov    0x278(%rsp),%eax
14001bb8b:	49 83 c3 04          	add    $0x4,%r11
14001bb8f:	49 3b c2             	cmp    %r10,%rax
14001bb92:	73 38                	jae    0x14001bbcc
14001bb94:	44 8b d5             	mov    %ebp,%r10d
14001bb97:	85 ff                	test   %edi,%edi
14001bb99:	74 2e                	je     0x14001bbc9
14001bb9b:	4c 8b c5             	mov    %rbp,%r8
14001bb9e:	66 90                	xchg   %ax,%ax
14001bba0:	43 8d 04 22          	lea    (%r10,%r12,1),%eax
14001bba4:	41 ff c2             	inc    %r10d
14001bba7:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
14001bbab:	48 8d 14 86          	lea    (%rsi,%rax,4),%rdx
14001bbaf:	41 8b 03             	mov    (%r11),%eax
14001bbb2:	4d 8d 5b 04          	lea    0x4(%r11),%r11
14001bbb6:	4c 03 c0             	add    %rax,%r8
14001bbb9:	4c 03 c1             	add    %rcx,%r8
14001bbbc:	44 89 42 04          	mov    %r8d,0x4(%rdx)
14001bbc0:	49 c1 e8 20          	shr    $0x20,%r8
14001bbc4:	44 3b d7             	cmp    %edi,%r10d
14001bbc7:	72 d7                	jb     0x14001bba0
14001bbc9:	49 ff c9             	dec    %r9
14001bbcc:	45 8d 55 ff          	lea    -0x1(%r13),%r10d
14001bbd0:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
14001bbd5:	41 ff cd             	dec    %r13d
14001bbd8:	49 c1 e3 20          	shl    $0x20,%r11
14001bbdc:	41 8b c1             	mov    %r9d,%eax
14001bbdf:	4c 03 d8             	add    %rax,%r11
14001bbe2:	41 83 ec 01          	sub    $0x1,%r12d
14001bbe6:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
14001bbeb:	0f 89 2f fe ff ff    	jns    0x14001ba20
14001bbf1:	4c 8b ac 24 18 02 00 	mov    0x218(%rsp),%r13
14001bbf8:	00
14001bbf9:	41 ff c2             	inc    %r10d
14001bbfc:	41 8b ca             	mov    %r10d,%ecx
14001bbff:	44 3b 16             	cmp    (%rsi),%r10d
14001bc02:	73 0c                	jae    0x14001bc10
14001bc04:	8b c1                	mov    %ecx,%eax
14001bc06:	ff c1                	inc    %ecx
14001bc08:	89 6c 86 04          	mov    %ebp,0x4(%rsi,%rax,4)
14001bc0c:	3b 0e                	cmp    (%rsi),%ecx
14001bc0e:	72 f4                	jb     0x14001bc04
14001bc10:	44 89 16             	mov    %r10d,(%rsi)
14001bc13:	45 85 d2             	test   %r10d,%r10d
14001bc16:	74 1b                	je     0x14001bc33
14001bc18:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14001bc1f:	00
14001bc20:	41 8d 52 ff          	lea    -0x1(%r10),%edx
14001bc24:	44 8b d2             	mov    %edx,%r10d
14001bc27:	39 6c 96 04          	cmp    %ebp,0x4(%rsi,%rdx,4)
14001bc2b:	75 06                	jne    0x14001bc33
14001bc2d:	89 16                	mov    %edx,(%rsi)
14001bc2f:	85 d2                	test   %edx,%edx
14001bc31:	75 ed                	jne    0x14001bc20
14001bc33:	49 8b c3             	mov    %r11,%rax
14001bc36:	eb 02                	jmp    0x14001bc3a
14001bc38:	33 c0                	xor    %eax,%eax
14001bc3a:	48 81 c4 20 02 00 00 	add    $0x220,%rsp
14001bc41:	41 5f                	pop    %r15
14001bc43:	41 5e                	pop    %r14