140197c7e:	48 81 c4 48 02 00 00 	add    $0x248,%rsp
140197c85:	5f                   	pop    %rdi
140197c86:	5e                   	pop    %rsi
140197c87:	c3                   	ret
140197c88:	8b 02                	mov    (%rdx),%eax
140197c8a:	85 c0                	test   %eax,%eax
140197c8c:	74 ee                	je     0x140197c7c
140197c8e:	48 89 9c 24 40 02 00 	mov    %rbx,0x240(%rsp)
140197c95:	00
140197c96:	41 ff c9             	dec    %r9d
140197c99:	48 89 ac 24 38 02 00 	mov    %rbp,0x238(%rsp)
140197ca0:	00
140197ca1:	4c 89 a4 24 30 02 00 	mov    %r12,0x230(%rsp)
140197ca8:	00
140197ca9:	4c 89 b4 24 20 02 00 	mov    %r14,0x220(%rsp)
140197cb0:	00
140197cb1:	4c 89 bc 24 18 02 00 	mov    %r15,0x218(%rsp)
140197cb8:	00
140197cb9:	83 e8 01             	sub    $0x1,%eax
140197cbc:	0f 85 f2 00 00 00    	jne    0x140197db4
140197cc2:	44 8b 7a 04          	mov    0x4(%rdx),%r15d
140197cc6:	45 33 f6             	xor    %r14d,%r14d
140197cc9:	41 83 ff 01          	cmp    $0x1,%r15d
140197ccd:	75 28                	jne    0x140197cf7
140197ccf:	8b 59 04             	mov    0x4(%rcx),%ebx
140197cd2:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197cd7:	48 83 c1 04          	add    $0x4,%rcx
140197cdb:	44 89 36             	mov    %r14d,(%rsi)
140197cde:	45 33 c9             	xor    %r9d,%r9d
140197ce1:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197ce6:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197ceb:	e8 40 04 00 00       	call   0x140198130
140197cf0:	8b c3                	mov    %ebx,%eax
140197cf2:	e9 05 04 00 00       	jmp    0x1401980fc
140197cf7:	45 85 c9             	test   %r9d,%r9d
140197cfa:	75 39                	jne    0x140197d35
140197cfc:	8b 59 04             	mov    0x4(%rcx),%ebx
140197cff:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197d04:	44 89 31             	mov    %r14d,(%rcx)
140197d07:	45 33 c9             	xor    %r9d,%r9d
140197d0a:	48 83 c1 04          	add    $0x4,%rcx
140197d0e:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197d13:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197d18:	e8 13 04 00 00       	call   0x140198130
140197d1d:	33 d2                	xor    %edx,%edx
140197d1f:	8b c3                	mov    %ebx,%eax
140197d21:	41 f7 f7             	div    %r15d
140197d24:	85 d2                	test   %edx,%edx
140197d26:	89 56 04             	mov    %edx,0x4(%rsi)
140197d29:	41 0f 95 c6          	setne  %r14b
140197d2d:	44 89 36             	mov    %r14d,(%rsi)
140197d30:	e9 c7 03 00 00       	jmp    0x1401980fc
140197d35:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
140197d3b:	49 8b fe             	mov    %r14,%rdi
140197d3e:	49 8b ee             	mov    %r14,%rbp
140197d41:	45 3b cc             	cmp    %r12d,%r9d
140197d44:	74 2f                	je     0x140197d75
140197d46:	49 8b cf             	mov    %r15,%rcx
140197d49:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140197d50:	42 8b 44 8e 04       	mov    0x4(%rsi,%r9,4),%eax
140197d55:	33 d2                	xor    %edx,%edx
140197d57:	48 c1 e5 20          	shl    $0x20,%rbp
140197d5b:	45 03 cc             	add    %r12d,%r9d
140197d5e:	48 0b c5             	or     %rbp,%rax
140197d61:	48 c1 e7 20          	shl    $0x20,%rdi
140197d65:	48 f7 f1             	div    %rcx
140197d68:	8b c0                	mov    %eax,%eax
140197d6a:	48 8b ea             	mov    %rdx,%rbp
140197d6d:	48 03 f8             	add    %rax,%rdi
140197d70:	45 3b cc             	cmp    %r12d,%r9d
140197d73:	75 db                	jne    0x140197d50
140197d75:	45 33 c9             	xor    %r9d,%r9d
140197d78:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
140197d7d:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
140197d82:	44 89 36             	mov    %r14d,(%rsi)
140197d85:	ba cc 01 00 00       	mov    $0x1cc,%edx
140197d8a:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
140197d8e:	e8 9d 03 00 00       	call   0x140198130
140197d93:	48 8b cd             	mov    %rbp,%rcx
140197d96:	89 6e 04             	mov    %ebp,0x4(%rsi)
140197d99:	48 c1 e9 20          	shr    $0x20,%rcx
140197d9d:	48 8b c7             	mov    %rdi,%rax
140197da0:	85 c9                	test   %ecx,%ecx
140197da2:	89 4e 08             	mov    %ecx,0x8(%rsi)
140197da5:	41 0f 95 c6          	setne  %r14b
140197da9:	41 ff c6             	inc    %r14d
140197dac:	44 89 36             	mov    %r14d,(%rsi)
140197daf:	e9 48 03 00 00       	jmp    0x1401980fc
140197db4:	41 3b c1             	cmp    %r9d,%eax
140197db7:	76 07                	jbe    0x140197dc0
140197db9:	33 c0                	xor    %eax,%eax
140197dbb:	e9 3c 03 00 00       	jmp    0x1401980fc
140197dc0:	45 8b c1             	mov    %r9d,%r8d
140197dc3:	49 63 d1             	movslq %r9d,%rdx
140197dc6:	44 2b c0             	sub    %eax,%r8d
140197dc9:	4c 89 ac 24 28 02 00 	mov    %r13,0x228(%rsp)
140197dd0:	00
140197dd1:	49 63 d8             	movslq %r8d,%rbx
140197dd4:	44 8d 68 01          	lea    0x1(%rax),%r13d
140197dd8:	45 8b d1             	mov    %r9d,%r10d
140197ddb:	48 3b d3             	cmp    %rbx,%rdx
140197dde:	7c 4c                	jl     0x140197e2c
140197de0:	48 83 c1 04          	add    $0x4,%rcx
140197de4:	48 8d 04 9d 00 00 00 	lea    0x0(,%rbx,4),%rax
140197deb:	00
140197dec:	4c 8b df             	mov    %rdi,%r11
140197def:	4c 2b d8             	sub    %rax,%r11
140197df2:	4c 2b de             	sub    %rsi,%r11
140197df5:	48 8d 0c 91          	lea    (%rcx,%rdx,4),%rcx
140197df9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140197e00:	8b 01                	mov    (%rcx),%eax
140197e02:	41 39 04 0b          	cmp    %eax,(%r11,%rcx,1)
140197e06:	75 11                	jne    0x140197e19
140197e08:	41 ff ca             	dec    %r10d
140197e0b:	48 ff ca             	dec    %rdx
140197e0e:	48 83 e9 04          	sub    $0x4,%rcx
140197e12:	48 3b d3             	cmp    %rbx,%rdx
140197e15:	7d e9                	jge    0x140197e00
140197e17:	eb 13                	jmp    0x140197e2c
140197e19:	49 63 c2             	movslq %r10d,%rax
140197e1c:	48 8b c8             	mov    %rax,%rcx
140197e1f:	48 2b cb             	sub    %rbx,%rcx
140197e22:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140197e26:	39 44 8f 04          	cmp    %eax,0x4(%rdi,%rcx,4)
140197e2a:	73 03                	jae    0x140197e2f
140197e2c:	41 ff c0             	inc    %r8d
140197e2f:	45 85 c0             	test   %r8d,%r8d
140197e32:	75 07                	jne    0x140197e3b
140197e34:	33 c0                	xor    %eax,%eax
140197e36:	e9 b9 02 00 00       	jmp    0x1401980f4
140197e3b:	41 8d 45 ff          	lea    -0x1(%r13),%eax
140197e3f:	41 bb 20 00 00 00    	mov    $0x20,%r11d
140197e45:	44 8b 54 87 04       	mov    0x4(%rdi,%rax,4),%r10d
140197e4a:	41 8d 45 fe          	lea    -0x2(%r13),%eax
140197e4e:	8b 5c 87 04          	mov    0x4(%rdi,%rax,4),%ebx
140197e52:	41 0f bd c2          	bsr    %r10d,%eax
140197e56:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197e5d:	74 09                	je     0x140197e68
140197e5f:	ba 1f 00 00 00       	mov    $0x1f,%edx
140197e64:	2b d0                	sub    %eax,%edx
140197e66:	eb 03                	jmp    0x140197e6b
140197e68:	41 8b d3             	mov    %r11d,%edx
140197e6b:	44 2b da             	sub    %edx,%r11d
140197e6e:	89 94 24 70 02 00 00 	mov    %edx,0x270(%rsp)
140197e75:	44 89 5c 24 20       	mov    %r11d,0x20(%rsp)
140197e7a:	85 d2                	test   %edx,%edx
140197e7c:	74 40                	je     0x140197ebe
140197e7e:	41 8b c2             	mov    %r10d,%eax
140197e81:	8b d3                	mov    %ebx,%edx
140197e83:	41 8b cb             	mov    %r11d,%ecx
140197e86:	d3 ea                	shr    %cl,%edx
140197e88:	8b 8c 24 70 02 00 00 	mov    0x270(%rsp),%ecx
140197e8f:	44 8b d2             	mov    %edx,%r10d
140197e92:	d3 e0                	shl    %cl,%eax
140197e94:	8b d1                	mov    %ecx,%edx
140197e96:	d3 e3                	shl    %cl,%ebx
140197e98:	44 0b d0             	or     %eax,%r10d
140197e9b:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197ea2:	41 83 fd 02          	cmp    $0x2,%r13d
140197ea6:	76 16                	jbe    0x140197ebe
140197ea8:	41 8d 45 fd          	lea    -0x3(%r13),%eax
140197eac:	41 8b cb             	mov    %r11d,%ecx
140197eaf:	8b 44 87 04          	mov    0x4(%rdi,%rax,4),%eax
140197eb3:	d3 e8                	shr    %cl,%eax
140197eb5:	0b d8                	or     %eax,%ebx
140197eb7:	89 9c 24 78 02 00 00 	mov    %ebx,0x278(%rsp)
140197ebe:	45 33 f6             	xor    %r14d,%r14d
140197ec1:	41 8d 58 ff          	lea    -0x1(%r8),%ebx
140197ec5:	89 9c 24 60 02 00 00 	mov    %ebx,0x260(%rsp)
140197ecc:	45 8b fe             	mov    %r14d,%r15d
140197ecf:	85 db                	test   %ebx,%ebx
140197ed1:	0f 88 df 01 00 00    	js     0x1401980b6
140197ed7:	41 8b c3             	mov    %r11d,%eax
140197eda:	42 8d 3c 2b          	lea    (%rbx,%r13,1),%edi
140197ede:	45 8b da             	mov    %r10d,%r11d
140197ee1:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
140197ee7:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
140197eec:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140197ef1:	41 3b f9             	cmp    %r9d,%edi
140197ef4:	77 06                	ja     0x140197efc
140197ef6:	8b 6c be 04          	mov    0x4(%rsi,%rdi,4),%ebp
140197efa:	eb 03                	jmp    0x140197eff
140197efc:	41 8b ee             	mov    %r14d,%ebp
140197eff:	8d 47 ff             	lea    -0x1(%rdi),%eax
140197f02:	8b 4c 86 04          	mov    0x4(%rsi,%rax,4),%ecx
140197f06:	8d 47 fe             	lea    -0x2(%rdi),%eax
140197f09:	44 8b 54 86 04       	mov    0x4(%rsi,%rax,4),%r10d
140197f0e:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140197f13:	89 6c 24 2c          	mov    %ebp,0x2c(%rsp)
140197f17:	85 d2                	test   %edx,%edx
140197f19:	74 32                	je     0x140197f4d
140197f1b:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140197f20:	45 8b c2             	mov    %r10d,%r8d
140197f23:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140197f28:	49 d3 e8             	shr    %cl,%r8
140197f2b:	8b ca                	mov    %edx,%ecx
140197f2d:	48 d3 e0             	shl    %cl,%rax
140197f30:	4c 0b c0             	or     %rax,%r8
140197f33:	41 d3 e2             	shl    %cl,%r10d
140197f36:	83 ff 03             	cmp    $0x3,%edi
140197f39:	72 17                	jb     0x140197f52
140197f3b:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
140197f3f:	8d 47 fd             	lea    -0x3(%rdi),%eax
140197f42:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
140197f46:	d3 e8                	shr    %cl,%eax
140197f48:	44 0b d0             	or     %eax,%r10d
140197f4b:	eb 05                	jmp    0x140197f52
140197f4d:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
140197f52:	33 d2                	xor    %edx,%edx
140197f54:	49 8b c0             	mov    %r8,%rax
140197f57:	49 f7 f3             	div    %r11
140197f5a:	8b ca                	mov    %edx,%ecx
140197f5c:	4c 8b c0             	mov    %rax,%r8
140197f5f:	49 3b c4             	cmp    %r12,%rax
140197f62:	76 17                	jbe    0x140197f7b
140197f64:	48 b8 01 00 00 00 ff 	movabs $0xffffffff00000001,%rax
140197f6b:	ff ff ff
140197f6e:	49 03 c0             	add    %r8,%rax
140197f71:	4d 8b c4             	mov    %r12,%r8
140197f74:	49 0f af c3          	imul   %r11,%rax
140197f78:	48 03 c8             	add    %rax,%rcx
140197f7b:	49 3b cc             	cmp    %r12,%rcx
140197f7e:	77 44                	ja     0x140197fc4
140197f80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140197f85:	45 8b da             	mov    %r10d,%r11d
140197f88:	44 8b 94 24 78 02 00 	mov    0x278(%rsp),%r10d
140197f8f:	00
140197f90:	41 8b d2             	mov    %r10d,%edx
140197f93:	49 0f af d0          	imul   %r8,%rdx
140197f97:	49 f7 da             	neg    %r10
140197f9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140197fa0:	48 8b c1             	mov    %rcx,%rax
140197fa3:	48 c1 e0 20          	shl    $0x20,%rax
140197fa7:	49 0b c3             	or     %r11,%rax
140197faa:	48 3b d0             	cmp    %rax,%rdx
140197fad:	76 0e                	jbe    0x140197fbd
140197faf:	49 ff c8             	dec    %r8
140197fb2:	49 03 d2             	add    %r10,%rdx
140197fb5:	48 03 cb             	add    %rbx,%rcx
140197fb8:	49 3b cc             	cmp    %r12,%rcx
140197fbb:	76 e3                	jbe    0x140197fa0
140197fbd:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
140197fc4:	4d 85 c0             	test   %r8,%r8
140197fc7:	0f 84 c0 00 00 00    	je     0x14019808d
140197fcd:	49 8b ce             	mov    %r14,%rcx
140197fd0:	45 85 ed             	test   %r13d,%r13d
140197fd3:	74 58                	je     0x14019802d
140197fd5:	4c 8b 8c 24 68 02 00 	mov    0x268(%rsp),%r9
140197fdc:	00
140197fdd:	8b d3                	mov    %ebx,%edx
140197fdf:	49 83 c1 04          	add    $0x4,%r9
140197fe3:	41 8b dd             	mov    %r13d,%ebx
140197fe6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140197fed:	00 00 00
140197ff0:	41 8b 01             	mov    (%r9),%eax
140197ff3:	49 0f af c0          	imul   %r8,%rax
140197ff7:	48 03 c8             	add    %rax,%rcx
140197ffa:	8b c2                	mov    %edx,%eax
140197ffc:	44 8b d1             	mov    %ecx,%r10d
140197fff:	48 c1 e9 20          	shr    $0x20,%rcx
140198003:	4c 8d 1c 86          	lea    (%rsi,%rax,4),%r11
140198007:	8b 44 86 04          	mov    0x4(%rsi,%rax,4),%eax
14019800b:	41 3b c2             	cmp    %r10d,%eax
14019800e:	73 03                	jae    0x140198013
140198010:	48 ff c1             	inc    %rcx
140198013:	41 2b c2             	sub    %r10d,%eax
140198016:	ff c2                	inc    %edx
140198018:	49 83 c1 04          	add    $0x4,%r9
14019801c:	41 89 43 04          	mov    %eax,0x4(%r11)
140198020:	48 83 eb 01          	sub    $0x1,%rbx
140198024:	75 ca                	jne    0x140197ff0
140198026:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
14019802d:	8b c5                	mov    %ebp,%eax
14019802f:	48 3b c1             	cmp    %rcx,%rax
140198032:	73 4e                	jae    0x140198082
140198034:	45 8b ce             	mov    %r14d,%r9d
140198037:	45 85 ed             	test   %r13d,%r13d
14019803a:	74 43                	je     0x14019807f
14019803c:	4c 8b 9c 24 68 02 00 	mov    0x268(%rsp),%r11
140198043:	00
140198044:	44 8b d3             	mov    %ebx,%r10d
140198047:	49 83 c3 04          	add    $0x4,%r11
14019804b:	41 8b dd             	mov    %r13d,%ebx
14019804e:	66 90                	xchg   %ax,%ax
140198050:	41 8b c2             	mov    %r10d,%eax
140198053:	4d 8d 5b 04          	lea    0x4(%r11),%r11
140198057:	8b 54 86 04          	mov    0x4(%rsi,%rax,4),%edx
14019805b:	48 8d 0c 86          	lea    (%rsi,%rax,4),%rcx
14019805f:	41 8b 43 fc          	mov    -0x4(%r11),%eax
140198063:	41 ff c2             	inc    %r10d
140198066:	48 03 d0             	add    %rax,%rdx
140198069:	41 8b c1             	mov    %r9d,%eax
14019806c:	48 03 d0             	add    %rax,%rdx
14019806f:	4c 8b ca             	mov    %rdx,%r9
140198072:	89 51 04             	mov    %edx,0x4(%rcx)
140198075:	49 c1 e9 20          	shr    $0x20,%r9
140198079:	48 83 eb 01          	sub    $0x1,%rbx
14019807d:	75 d1                	jne    0x140198050
14019807f:	49 ff c8             	dec    %r8
140198082:	8b 9c 24 60 02 00 00 	mov    0x260(%rsp),%ebx
140198089:	44 8d 4f ff          	lea    -0x1(%rdi),%r9d
14019808d:	4c 8b 5c 24 30       	mov    0x30(%rsp),%r11
140198092:	ff cb                	dec    %ebx
140198094:	8b 94 24 70 02 00 00 	mov    0x270(%rsp),%edx
14019809b:	ff cf                	dec    %edi
14019809d:	49 c1 e7 20          	shl    $0x20,%r15
1401980a1:	41 8b c0             	mov    %r8d,%eax
1401980a4:	4c 03 f8             	add    %rax,%r15
1401980a7:	89 9c 24 60 02 00 00 	mov    %ebx,0x260(%rsp)
1401980ae:	85 db                	test   %ebx,%ebx
1401980b0:	0f 89 3b fe ff ff    	jns    0x140197ef1
1401980b6:	41 ff c1             	inc    %r9d
1401980b9:	41 8b c9             	mov    %r9d,%ecx
1401980bc:	44 3b 0e             	cmp    (%rsi),%r9d
1401980bf:	73 0d                	jae    0x1401980ce
1401980c1:	8b c1                	mov    %ecx,%eax
1401980c3:	ff c1                	inc    %ecx
1401980c5:	44 89 74 86 04       	mov    %r14d,0x4(%rsi,%rax,4)
1401980ca:	3b 0e                	cmp    (%rsi),%ecx
1401980cc:	72 f3                	jb     0x1401980c1
1401980ce:	44 89 0e             	mov    %r9d,(%rsi)
1401980d1:	45 85 c9             	test   %r9d,%r9d
1401980d4:	74 1b                	je     0x1401980f1
1401980d6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1401980dd:	00 00 00
1401980e0:	8b 16                	mov    (%rsi),%edx
1401980e2:	ff ca                	dec    %edx
1401980e4:	44 39 74 96 04       	cmp    %r14d,0x4(%rsi,%rdx,4)
1401980e9:	75 06                	jne    0x1401980f1
1401980eb:	89 16                	mov    %edx,(%rsi)
1401980ed:	85 d2                	test   %edx,%edx
1401980ef:	75 ef                	jne    0x1401980e0
1401980f1:	49 8b c7             	mov    %r15,%rax
1401980f4:	4c 8b ac 24 28 02 00 	mov    0x228(%rsp),%r13
1401980fb:	00
1401980fc:	4c 8b b4 24 20 02 00 	mov    0x220(%rsp),%r14
140198103:	00
140198104:	4c 8b a4 24 30 02 00 	mov    0x230(%rsp),%r12
14019810b:	00
14019810c:	48 8b ac 24 38 02 00 	mov    0x238(%rsp),%rbp
140198113:	00
140198114:	48 8b 9c 24 40 02 00 	mov    0x240(%rsp),%rbx
14019811b:	00
14019811c:	4c 8b bc 24 18 02 00 	mov    0x218(%rsp),%r15
140198123:	00
140198124:	48 81 c4 48 02 00 00 	add    $0x248,%rsp
14019812b:	5f                   	pop    %rdi
14019812c:	5e                   	pop    %rsi
14019812d:	c3                   	ret
14019812e:	cc                   	int3