140075b4f:	00
140075b50:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140075b54:	49 8b 73 38          	mov    0x38(%r11),%rsi
140075b58:	49 8b e3             	mov    %r11,%rsp
140075b5b:	41 5e                	pop    %r14
140075b5d:	5f                   	pop    %rdi
140075b5e:	5d                   	pop    %rbp
140075b5f:	c3                   	ret
140075b60:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140075b65:	53                   	push   %rbx
140075b66:	55                   	push   %rbp
140075b67:	56                   	push   %rsi
140075b68:	57                   	push   %rdi
140075b69:	41 54                	push   %r12
140075b6b:	41 56                	push   %r14
140075b6d:	41 57                	push   %r15
140075b6f:	48 81 ec 20 02 00 00 	sub    $0x220,%rsp
140075b76:	44 8b 11             	mov    (%rcx),%r10d
140075b79:	4c 8b fa             	mov    %rdx,%r15
140075b7c:	48 8b f1             	mov    %rcx,%rsi
140075b7f:	45 85 d2             	test   %r10d,%r10d
140075b82:	0f 84 60 04 00 00    	je     0x140075fe8
140075b88:	8b 3a                	mov    (%rdx),%edi
140075b8a:	85 ff                	test   %edi,%edi
140075b8c:	0f 84 56 04 00 00    	je     0x140075fe8
140075b92:	41 ff ca             	dec    %r10d
140075b95:	8d 6f ff             	lea    -0x1(%rdi),%ebp
140075b98:	85 ed                	test   %ebp,%ebp
140075b9a:	0f 85 fb 00 00 00    	jne    0x140075c9b
140075ba0:	44 8b 62 04          	mov    0x4(%rdx),%r12d
140075ba4:	33 ed                	xor    %ebp,%ebp
140075ba6:	41 83 fc 01          	cmp    $0x1,%r12d
140075baa:	75 26                	jne    0x140075bd2
140075bac:	8b 59 04             	mov    0x4(%rcx),%ebx
140075baf:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140075bb4:	48 83 c1 04          	add    $0x4,%rcx
140075bb8:	89 2e                	mov    %ebp,(%rsi)
140075bba:	45 33 c9             	xor    %r9d,%r9d
140075bbd:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140075bc1:	ba cc 01 00 00       	mov    $0x1cc,%edx
140075bc6:	e8 4d fd ff ff       	call   0x140075918
140075bcb:	8b c3                	mov    %ebx,%eax
140075bcd:	e9 18 04 00 00       	jmp    0x140075fea
140075bd2:	45 85 d2             	test   %r10d,%r10d
140075bd5:	75 3d                	jne    0x140075c14
140075bd7:	8b 79 04             	mov    0x4(%rcx),%edi
140075bda:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140075bdf:	89 29                	mov    %ebp,(%rcx)
140075be1:	45 33 c9             	xor    %r9d,%r9d
140075be4:	48 83 c1 04          	add    $0x4,%rcx
140075be8:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140075bec:	ba cc 01 00 00       	mov    $0x1cc,%edx
140075bf1:	e8 22 fd ff ff       	call   0x140075918
140075bf6:	33 d2                	xor    %edx,%edx
140075bf8:	8b c7                	mov    %edi,%eax
140075bfa:	41 f7 f4             	div    %r12d
140075bfd:	8b c7                	mov    %edi,%eax
140075bff:	85 d2                	test   %edx,%edx
140075c01:	89 56 04             	mov    %edx,0x4(%rsi)
140075c04:	40 0f 95 c5          	setne  %bpl
140075c08:	33 d2                	xor    %edx,%edx
140075c0a:	41 f7 f4             	div    %r12d
140075c0d:	89 2e                	mov    %ebp,(%rsi)
140075c0f:	e9 d6 03 00 00       	jmp    0x140075fea
140075c14:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
140075c1a:	4c 8b f5             	mov    %rbp,%r14
140075c1d:	48 8b fd             	mov    %rbp,%rdi
140075c20:	45 3b d7             	cmp    %r15d,%r10d
140075c23:	74 3b                	je     0x140075c60
140075c25:	4d 8b cc             	mov    %r12,%r9
140075c28:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140075c2f:	00
140075c30:	46 8b 44 96 04       	mov    0x4(%rsi,%r10,4),%r8d
140075c35:	33 d2                	xor    %edx,%edx
140075c37:	48 c1 e7 20          	shl    $0x20,%rdi
140075c3b:	45 03 d7             	add    %r15d,%r10d
140075c3e:	4c 0b c7             	or     %rdi,%r8
140075c41:	49 c1 e6 20          	shl    $0x20,%r14
140075c45:	49 8b c0             	mov    %r8,%rax
140075c48:	49 f7 f1             	div    %r9
140075c4b:	33 d2                	xor    %edx,%edx
140075c4d:	8b c8                	mov    %eax,%ecx
140075c4f:	49 8b c0             	mov    %r8,%rax
140075c52:	49 f7 f1             	div    %r9
140075c55:	4c 03 f1             	add    %rcx,%r14
140075c58:	48 8b fa             	mov    %rdx,%rdi
140075c5b:	45 3b d7             	cmp    %r15d,%r10d
140075c5e:	75 d0                	jne    0x140075c30
140075c60:	45 33 c9             	xor    %r9d,%r9d
140075c63:	89 6c 24 40          	mov    %ebp,0x40(%rsp)
140075c67:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140075c6c:	89 2e                	mov    %ebp,(%rsi)
140075c6e:	ba cc 01 00 00       	mov    $0x1cc,%edx
140075c73:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
140075c77:	e8 9c fc ff ff       	call   0x140075918
140075c7c:	48 8b cf             	mov    %rdi,%rcx
140075c7f:	89 7e 04             	mov    %edi,0x4(%rsi)
140075c82:	48 c1 e9 20          	shr    $0x20,%rcx
140075c86:	49 8b c6             	mov    %r14,%rax
140075c89:	85 c9                	test   %ecx,%ecx
140075c8b:	89 4e 08             	mov    %ecx,0x8(%rsi)
140075c8e:	40 0f 95 c5          	setne  %bpl
140075c92:	ff c5                	inc    %ebp
140075c94:	89 2e                	mov    %ebp,(%rsi)
140075c96:	e9 4f 03 00 00       	jmp    0x140075fea
140075c9b:	41 3b ea             	cmp    %r10d,%ebp
140075c9e:	0f 87 44 03 00 00    	ja     0x140075fe8
140075ca4:	45 8b c2             	mov    %r10d,%r8d
140075ca7:	49 63 d2             	movslq %r10d,%rdx
140075caa:	44 2b c5             	sub    %ebp,%r8d
140075cad:	45 8b ca             	mov    %r10d,%r9d
140075cb0:	49 63 d8             	movslq %r8d,%rbx
140075cb3:	48 3b d3             	cmp    %rbx,%rdx
140075cb6:	7c 49                	jl     0x140075d01
140075cb8:	48 83 c1 04          	add    $0x4,%rcx
140075cbc:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
140075cc3:	00
140075cc4:	4d 8b df             	mov    %r15,%r11
140075cc7:	4c 2b d8             	sub    %rax,%r11
140075cca:	4c 2b de             	sub    %rsi,%r11
140075ccd:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
140075cd1:	8b 01                	mov    (%rcx),%eax
140075cd3:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
140075cd7:	75 11                	jne    0x140075cea
140075cd9:	41 ff c9             	dec    %r9d
140075cdc:	48 ff ca             	dec    %rdx
140075cdf:	48 83 e9 04          	sub    $0x4,%rcx
140075ce3:	48 3b d3             	cmp    %rbx,%rdx
140075ce6:	7d e9                	jge    0x140075cd1
140075ce8:	eb 17                	jmp    0x140075d01
140075cea:	41 8b c1             	mov    %r9d,%eax
140075ced:	41 2b c0             	sub    %r8d,%eax
140075cf0:	48 63 d0             	movslq %eax,%rdx
140075cf3:	49 63 c1             	movslq %r9d,%rax
140075cf6:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140075cfa:	41 39 4c 97 04       	cmp    %ecx,0x4(%r15,%rdx,4)
140075cff:	73 03                	jae    0x140075d04
140075d01:	41 ff c0             	inc    %r8d
140075d04:	45 85 c0             	test   %r8d,%r8d
140075d07:	0f 84 db 02 00 00    	je     0x140075fe8
140075d0d:	45 8b 4c af 04       	mov    0x4(%r15,%rbp,4),%r9d
140075d12:	8d 47 fe             	lea    -0x2(%rdi),%eax
140075d15:	45 8b 5c 87 04       	mov    0x4(%r15,%rax,4),%r11d
140075d1a:	33 ed                	xor    %ebp,%ebp
140075d1c:	41 0f bd c1          	bsr    %r9d,%eax
140075d20:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140075d27:	00
140075d28:	74 1e                	je     0x140075d48
140075d2a:	bb 1f 00 00 00       	mov    $0x1f,%ebx
140075d2f:	41 be 20 00 00 00    	mov    $0x20,%r14d
140075d35:	2b d8                	sub    %eax,%ebx
140075d37:	44 2b f3             	sub    %ebx,%r14d
140075d3a:	44 89 b4 24 60 02 00 	mov    %r14d,0x260(%rsp)
140075d41:	00
140075d42:	85 db                	test   %ebx,%ebx
140075d44:	74 4e                	je     0x140075d94
140075d46:	eb 0f                	jmp    0x140075d57
140075d48:	bb 20 00 00 00       	mov    $0x20,%ebx
140075d4d:	89 ac 24 60 02 00 00 	mov    %ebp,0x260(%rsp)
140075d54:	44 8b f5             	mov    %ebp,%r14d
140075d57:	41 8b c1             	mov    %r9d,%eax
140075d5a:	41 8b d3             	mov    %r11d,%edx
140075d5d:	41 8b ce             	mov    %r14d,%ecx
140075d60:	d3 ea                	shr    %cl,%edx
140075d62:	8b cb                	mov    %ebx,%ecx
140075d64:	d3 e0                	shl    %cl,%eax
140075d66:	44 8b ca             	mov    %edx,%r9d
140075d69:	41 d3 e3             	shl    %cl,%r11d
140075d6c:	44 0b c8             	or     %eax,%r9d
140075d6f:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140075d76:	00
140075d77:	83 ff 02             	cmp    $0x2,%edi
140075d7a:	76 18                	jbe    0x140075d94
140075d7c:	8d 47 fd             	lea    -0x3(%rdi),%eax
140075d7f:	41 8b ce             	mov    %r14d,%ecx
140075d82:	41 8b 44 87 04       	mov    0x4(%r15,%rax,4),%eax
140075d87:	d3 e8                	shr    %cl,%eax
140075d89:	44 0b d8             	or     %eax,%r11d
140075d8c:	44 89 9c 24 70 02 00 	mov    %r11d,0x270(%rsp)
140075d93:	00
140075d94:	45 8d 60 ff          	lea    -0x1(%r8),%r12d
140075d98:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
140075d9d:	4c 8b dd             	mov    %rbp,%r11
140075da0:	45 85 e4             	test   %r12d,%r12d
140075da3:	0f 88 00 02 00 00    	js     0x140075fa9
140075da9:	41 8b c6             	mov    %r14d,%eax
140075dac:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
140075db2:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140075db7:	41 8b c1             	mov    %r9d,%eax
140075dba:	4c 89 ac 24 18 02 00 	mov    %r13,0x218(%rsp)
140075dc1:	00
140075dc2:	45 8d 2c 3c          	lea    (%r12,%rdi,1),%r13d
140075dc6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140075dcb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140075dd0:	45 3b ea             	cmp    %r10d,%r13d
140075dd3:	77 07                	ja     0x140075ddc
140075dd5:	42 8b 54 ae 04       	mov    0x4(%rsi,%r13,4),%edx
140075dda:	eb 02                	jmp    0x140075dde
140075ddc:	8b d5                	mov    %ebp,%edx
140075dde:	89 94 24 78 02 00 00 	mov    %edx,0x278(%rsp)
140075de5:	41 8d 45 ff          	lea    -0x1(%r13),%eax
140075de9:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140075ded:	41 8d 45 fe          	lea    -0x2(%r13),%eax
140075df1:	44 8b 5c 86 04       	mov    0x4(%rsi,%rax,4),%r11d
140075df6:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140075dfb:	89 54 24 24          	mov    %edx,0x24(%rsp)
140075dff:	85 db                	test   %ebx,%ebx
140075e01:	74 33                	je     0x140075e36
140075e03:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140075e08:	45 8b c3             	mov    %r11d,%r8d
140075e0b:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140075e10:	49 d3 e8             	shr    %cl,%r8
140075e13:	8b cb                	mov    %ebx,%ecx
140075e15:	48 d3 e0             	shl    %cl,%rax
140075e18:	4c 0b c0             	or     %rax,%r8
140075e1b:	41 d3 e3             	shl    %cl,%r11d
140075e1e:	41 83 fd 03          	cmp    $0x3,%r13d
140075e22:	72 17                	jb     0x140075e3b
140075e24:	41 8d 45 fd          	lea    -0x3(%r13),%eax
140075e28:	41 8b ce             	mov    %r14d,%ecx
140075e2b:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140075e2f:	d3 e8                	shr    %cl,%eax
140075e31:	44 0b d8             	or     %eax,%r11d
140075e34:	eb 05                	jmp    0x140075e3b
140075e36:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140075e3b:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140075e40:	33 d2                	xor    %edx,%edx
140075e42:	49 8b c0             	mov    %r8,%rax
140075e45:	48 f7 f1             	div    %rcx
140075e48:	33 d2                	xor    %edx,%edx
140075e4a:	4c 8b c8             	mov    %rax,%r9
140075e4d:	49 8b c0             	mov    %r8,%rax
140075e50:	48 f7 f1             	div    %rcx
140075e53:	44 8b c2             	mov    %edx,%r8d
140075e56:	4d 3b cf             	cmp    %r15,%r9
140075e59:	76 17                	jbe    0x140075e72
140075e5b:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
140075e62:	ff ff ff
140075e65:	49 03 c1             	add    %r9,%rax
140075e68:	4d 8b cf             	mov    %r15,%r9
140075e6b:	48 0f af c1          	imul   %rcx,%rax
140075e6f:	4c 03 c0             	add    %rax,%r8
140075e72:	4d 3b c7             	cmp    %r15,%r8
140075e75:	77 3e                	ja     0x140075eb5
140075e77:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
140075e7e:	4c 8b f1             	mov    %rcx,%r14
140075e81:	8b c2                	mov    %edx,%eax
140075e83:	49 0f af c1          	imul   %r9,%rax
140075e87:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140075e8e:	00 00
140075e90:	49 8b c8             	mov    %r8,%rcx
140075e93:	48 c1 e1 20          	shl    $0x20,%rcx
140075e97:	49 0b cb             	or     %r11,%rcx
140075e9a:	48 3b c1             	cmp    %rcx,%rax
140075e9d:	76 0e                	jbe    0x140075ead
140075e9f:	49 ff c9             	dec    %r9
140075ea2:	48 2b c2             	sub    %rdx,%rax
140075ea5:	4d 03 c6             	add    %r14,%r8
140075ea8:	4d 3b c7             	cmp    %r15,%r8
140075eab:	76 e3                	jbe    0x140075e90
140075ead:	44 8b b4 24 60 02 00 	mov    0x260(%rsp),%r14d
140075eb4:	00
140075eb5:	4d 85 c9             	test   %r9,%r9
140075eb8:	0f 84 c2 00 00 00    	je     0x140075f80
140075ebe:	4c 8b d5             	mov    %rbp,%r10
140075ec1:	44 8b dd             	mov    %ebp,%r11d
140075ec4:	85 ff                	test   %edi,%edi
140075ec6:	74 64                	je     0x140075f2c
140075ec8:	4c 8b b4 24 68 02 00 	mov    0x268(%rsp),%r14
140075ecf:	00
140075ed0:	44 8b bc 24 60 02 00 	mov    0x260(%rsp),%r15d
140075ed7:	00
140075ed8:	49 83 c6 04          	add    $0x4,%r14
140075edc:	0f 1f 40 00          	nopl   0x0(%rax)
140075ee0:	41 8b 06             	mov    (%r14),%eax
140075ee3:	4d 8d 76 04          	lea    0x4(%r14),%r14
140075ee7:	49 0f af c1          	imul   %r9,%rax
140075eeb:	4c 03 d0             	add    %rax,%r10
140075eee:	43 8d 04 23          	lea    (%r11,%r12,1),%eax
140075ef2:	45 8b c2             	mov    %r10d,%r8d
140075ef5:	8b c8                	mov    %eax,%ecx
140075ef7:	49 c1 ea 20          	shr    $0x20,%r10
140075efb:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140075eff:	49 8b d2             	mov    %r10,%rdx
140075f02:	49 ff c2             	inc    %r10
140075f05:	41 3b c0             	cmp    %r8d,%eax
140075f08:	4c 0f 43 d2          	cmovae %rdx,%r10
140075f0c:	41 2b c0             	sub    %r8d,%eax
140075f0f:	41 ff c3             	inc    %r11d
140075f12:	89 44 8e 04          	mov    %eax,0x4(%rsi,%rcx,4)
140075f16:	44 3b df             	cmp    %edi,%r11d
140075f19:	72 c5                	jb     0x140075ee0
140075f1b:	45 8b f7             	mov    %r15d,%r14d
140075f1e:	44 89 bc 24 60 02 00 	mov    %r15d,0x260(%rsp)
140075f25:	00
140075f26:	41 bf ff ff ff ff    	mov    $0xffffffff,%r15d
140075f2c:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
140075f33:	00
140075f34:	8b 84 24 78 02 00 00 	mov    0x278(%rsp),%eax
140075f3b:	49 83 c3 04          	add    $0x4,%r11
140075f3f:	49 3b c2             	cmp    %r10,%rax
140075f42:	73 38                	jae    0x140075f7c
140075f44:	44 8b d5             	mov    %ebp,%r10d
140075f47:	85 ff                	test   %edi,%edi
140075f49:	74 2e                	je     0x140075f79
140075f4b:	4c 8b c5             	mov    %rbp,%r8
140075f4e:	66 90                	xchg   %ax,%ax
140075f50:	43 8d 04 22          	lea    (%r10,%r12,1),%eax
140075f54:	41 ff c2             	inc    %r10d
140075f57:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140075f5b:	48 8d 14 86          	lea    (%rsi,%rax,4),%rdx
140075f5f:	41 8b 03             	mov    (%r11),%eax
140075f62:	4d 8d 5b 04          	lea    0x4(%r11),%r11
140075f66:	4c 03 c0             	add    %rax,%r8
140075f69:	4c 03 c1             	add    %rcx,%r8
140075f6c:	44 89 42 04          	mov    %r8d,0x4(%rdx)
140075f70:	49 c1 e8 20          	shr    $0x20,%r8
140075f74:	44 3b d7             	cmp    %edi,%r10d
140075f77:	72 d7                	jb     0x140075f50
140075f79:	49 ff c9             	dec    %r9
140075f7c:	45 8d 55 ff          	lea    -0x1(%r13),%r10d
140075f80:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140075f85:	41 ff cd             	dec    %r13d
140075f88:	49 c1 e3 20          	shl    $0x20,%r11
140075f8c:	41 8b c1             	mov    %r9d,%eax
140075f8f:	4c 03 d8             	add    %rax,%r11
140075f92:	41 83 ec 01          	sub    $0x1,%r12d
140075f96:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
140075f9b:	0f 89 2f fe ff ff    	jns    0x140075dd0
140075fa1:	4c 8b ac 24 18 02 00 	mov    0x218(%rsp),%r13
140075fa8:	00
140075fa9:	41 ff c2             	inc    %r10d
140075fac:	41 8b ca             	mov    %r10d,%ecx
140075faf:	44 3b 16             	cmp    (%rsi),%r10d
140075fb2:	73 0c                	jae    0x140075fc0
140075fb4:	8b c1                	mov    %ecx,%eax
140075fb6:	ff c1                	inc    %ecx
140075fb8:	89 6c 86 04          	mov    %ebp,0x4(%rsi,%rax,4)
140075fbc:	3b 0e                	cmp    (%rsi),%ecx
140075fbe:	72 f4                	jb     0x140075fb4
140075fc0:	44 89 16             	mov    %r10d,(%rsi)
140075fc3:	45 85 d2             	test   %r10d,%r10d
140075fc6:	74 1b                	je     0x140075fe3
140075fc8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140075fcf:	00
140075fd0:	41 8d 52 ff          	lea    -0x1(%r10),%edx
140075fd4:	44 8b d2             	mov    %edx,%r10d
140075fd7:	39 6c 96 04          	cmp    %ebp,0x4(%rsi,%rdx,4)
140075fdb:	75 06                	jne    0x140075fe3
140075fdd:	89 16                	mov    %edx,(%rsi)