1406b0f36:	48 8b 30             	mov    (%rax),%rsi
1406b0f39:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
1406b0f3d:	48 85 f6             	test   %rsi,%rsi
1406b0f40:	74 1c                	je     0x1406b0f5e
1406b0f42:	8b 46 10             	mov    0x10(%rsi),%eax
1406b0f45:	ff c0                	inc    %eax
1406b0f47:	89 46 10             	mov    %eax,0x10(%rsi)
1406b0f4a:	83 f8 01             	cmp    $0x1,%eax
1406b0f4d:	0f 8e 30 01 00 00    	jle    0x1406b1083
1406b0f53:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406b0f58:	0f 84 2d 01 00 00    	je     0x1406b108b
1406b0f5e:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1406b0f62:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1406b0f66:	e8 a5 23 fc ff       	call   0x140673310
1406b0f6b:	48 8b 18             	mov    (%rax),%rbx
1406b0f6e:	4c 89 30             	mov    %r14,(%rax)
1406b0f71:	48 89 5d 50          	mov    %rbx,0x50(%rbp)
1406b0f75:	48 85 f6             	test   %rsi,%rsi
1406b0f78:	0f 84 c2 fe ff ff    	je     0x1406b0e40
1406b0f7e:	8b 46 10             	mov    0x10(%rsi),%eax
1406b0f81:	ff c8                	dec    %eax
1406b0f83:	89 46 10             	mov    %eax,0x10(%rsi)
1406b0f86:	85 c0                	test   %eax,%eax
1406b0f88:	0f 8f b2 fe ff ff    	jg     0x1406b0e40
1406b0f8e:	0f 88 02 01 00 00    	js     0x1406b1096
1406b0f94:	48 8b 06             	mov    (%rsi),%rax
1406b0f97:	ba 01 00 00 00       	mov    $0x1,%edx
1406b0f9c:	48 8b ce             	mov    %rsi,%rcx
1406b0f9f:	e9 93 fe ff ff       	jmp    0x1406b0e37
1406b0fa4:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
1406b0fa8:	49 8b cb             	mov    %r11,%rcx
1406b0fab:	e8 d0 f9 ff ff       	call   0x1406b0980
1406b0fb0:	90                   	nop
1406b0fb1:	48 8b d0             	mov    %rax,%rdx
1406b0fb4:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1406b0fb8:	e8 e3 22 fc ff       	call   0x1406732a0
1406b0fbd:	48 8b 18             	mov    (%rax),%rbx
1406b0fc0:	4c 89 30             	mov    %r14,(%rax)
1406b0fc3:	48 89 5d 50          	mov    %rbx,0x50(%rbp)
1406b0fc7:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1406b0fcb:	48 85 c9             	test   %rcx,%rcx
1406b0fce:	0f 84 70 fe ff ff    	je     0x1406b0e44
1406b0fd4:	8b 41 10             	mov    0x10(%rcx),%eax
1406b0fd7:	ff c8                	dec    %eax
1406b0fd9:	89 41 10             	mov    %eax,0x10(%rcx)
1406b0fdc:	85 c0                	test   %eax,%eax
1406b0fde:	0f 8f 60 fe ff ff    	jg     0x1406b0e44
1406b0fe4:	0f 88 b7 00 00 00    	js     0x1406b10a1
1406b0fea:	48 8b 01             	mov    (%rcx),%rax
1406b0fed:	ba 01 00 00 00       	mov    $0x1,%edx
1406b0ff2:	48 8b 00             	mov    (%rax),%rax
1406b0ff5:	ff 15 25 2a 8d 00    	call   *0x8d2a25(%rip)        # 0x140f83a20
1406b0ffb:	e9 44 fe ff ff       	jmp    0x1406b0e44
1406b1000:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b1005:	e8 f6 96 0d 00       	call   0x14078a700
1406b100a:	90                   	nop
1406b100b:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b1010:	e8 eb 96 0d 00       	call   0x14078a700
1406b1015:	90                   	nop
1406b1016:	33 c9                	xor    %ecx,%ecx
1406b1018:	e8 e3 96 0d 00       	call   0x14078a700
1406b101d:	cc                   	int3
1406b101e:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b1023:	e8 d8 96 0d 00       	call   0x14078a700
1406b1028:	90                   	nop
1406b1029:	33 c9                	xor    %ecx,%ecx
1406b102b:	e8 d0 96 0d 00       	call   0x14078a700
1406b1030:	cc                   	int3
1406b1031:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b1036:	e8 c5 96 0d 00       	call   0x14078a700
1406b103b:	90                   	nop
1406b103c:	33 c9                	xor    %ecx,%ecx
1406b103e:	e8 bd 96 0d 00       	call   0x14078a700
1406b1043:	cc                   	int3
1406b1044:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b1049:	e8 b2 96 0d 00       	call   0x14078a700
1406b104e:	90                   	nop
1406b104f:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b1054:	e8 a7 96 0d 00       	call   0x14078a700
1406b1059:	90                   	nop
1406b105a:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b105f:	e8 9c 96 0d 00       	call   0x14078a700
1406b1064:	90                   	nop
1406b1065:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b106a:	e8 91 96 0d 00       	call   0x14078a700
1406b106f:	90                   	nop
1406b1070:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b1075:	e8 86 96 0d 00       	call   0x14078a700
1406b107a:	90                   	nop
1406b107b:	33 c9                	xor    %ecx,%ecx
1406b107d:	e8 7e 96 0d 00       	call   0x14078a700
1406b1082:	90                   	nop
1406b1083:	33 c9                	xor    %ecx,%ecx
1406b1085:	e8 76 96 0d 00       	call   0x14078a700
1406b108a:	cc                   	int3
1406b108b:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b1090:	e8 6b 96 0d 00       	call   0x14078a700
1406b1095:	90                   	nop
1406b1096:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b109b:	e8 60 96 0d 00       	call   0x14078a700
1406b10a0:	90                   	nop
1406b10a1:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b10a6:	e8 55 96 0d 00       	call   0x14078a700
1406b10ab:	90                   	nop
1406b10ac:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b10b1:	e8 4a 96 0d 00       	call   0x14078a700
1406b10b6:	90                   	nop
1406b10b7:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b10bc:	e8 3f 96 0d 00       	call   0x14078a700
1406b10c1:	cc                   	int3
1406b10c2:	cc                   	int3
1406b10c3:	cc                   	int3
1406b10c4:	cc                   	int3
1406b10c5:	cc                   	int3
1406b10c6:	cc                   	int3
1406b10c7:	cc                   	int3
1406b10c8:	cc                   	int3
1406b10c9:	cc                   	int3
1406b10ca:	cc                   	int3
1406b10cb:	cc                   	int3
1406b10cc:	cc                   	int3
1406b10cd:	cc                   	int3
1406b10ce:	cc                   	int3
1406b10cf:	cc                   	int3
1406b10d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406b10d5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406b10da:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406b10df:	57                   	push   %rdi
1406b10e0:	41 54                	push   %r12
1406b10e2:	41 55                	push   %r13
1406b10e4:	41 56                	push   %r14
1406b10e6:	41 57                	push   %r15
1406b10e8:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1406b10ef:	4d 63 e1             	movslq %r9d,%r12
1406b10f2:	4d 8b e8             	mov    %r8,%r13
1406b10f5:	4c 8b fa             	mov    %rdx,%r15
1406b10f8:	33 ff                	xor    %edi,%edi
1406b10fa:	0f 57 c0             	xorps  %xmm0,%xmm0
1406b10fd:	f3 0f 7f 44 24 48    	movdqu %xmm0,0x48(%rsp)
1406b1103:	8b ef                	mov    %edi,%ebp
1406b1105:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
1406b110a:	48 8b 84 24 d0 00 00 	mov    0xd0(%rsp),%rax
1406b1111:	00
1406b1112:	48 8b 30             	mov    (%rax),%rsi
1406b1115:	4c 8b 70 08          	mov    0x8(%rax),%r14
1406b1119:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1406b111e:	49 3b f6             	cmp    %r14,%rsi
1406b1121:	74 72                	je     0x1406b1195
1406b1123:	0f 1f 40 00          	nopl   0x0(%rax)
1406b1127:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1406b112e:	00 00
1406b1130:	49 8b 47 38          	mov    0x38(%r15),%rax
1406b1134:	48 63 0e             	movslq (%rsi),%rcx
1406b1137:	48 8b 00             	mov    (%rax),%rax
1406b113a:	4c 8d 04 c8          	lea    (%rax,%rcx,8),%r8
1406b113e:	48 3b dd             	cmp    %rbp,%rbx
1406b1141:	74 32                	je     0x1406b1175
1406b1143:	49 8b 08             	mov    (%r8),%rcx
1406b1146:	48 89 0b             	mov    %rcx,(%rbx)
1406b1149:	48 85 c9             	test   %rcx,%rcx
1406b114c:	74 1c                	je     0x1406b116a
1406b114e:	8b 41 10             	mov    0x10(%rcx),%eax
1406b1151:	ff c0                	inc    %eax
1406b1153:	89 41 10             	mov    %eax,0x10(%rcx)
1406b1156:	83 f8 01             	cmp    $0x1,%eax
1406b1159:	0f 8e 49 02 00 00    	jle    0x1406b13a8
1406b115f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406b1164:	0f 84 33 02 00 00    	je     0x1406b139d
1406b116a:	48 83 c3 08          	add    $0x8,%rbx
1406b116e:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1406b1173:	eb 17                	jmp    0x1406b118c
1406b1175:	48 8b d3             	mov    %rbx,%rdx
1406b1178:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1406b117d:	e8 4e 08 cd ff       	call   0x1403819d0
1406b1182:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1406b1187:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1406b118c:	48 83 c6 04          	add    $0x4,%rsi
1406b1190:	49 3b f6             	cmp    %r14,%rsi
1406b1193:	75 9b                	jne    0x1406b1130
1406b1195:	b9 40 00 00 00       	mov    $0x40,%ecx
1406b119a:	e8 69 9f 76 00       	call   0x140e1b108
1406b119f:	4c 8b f8             	mov    %rax,%r15
1406b11a2:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1406b11a7:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
1406b11ac:	48 85 c0             	test   %rax,%rax
1406b11af:	0f 84 07 01 00 00    	je     0x1406b12bc
1406b11b5:	48 8d 84 24 d0 00 00 	lea    0xd0(%rsp),%rax
1406b11bc:	00
1406b11bd:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1406b11c2:	48 89 bc 24 d0 00 00 	mov    %rdi,0xd0(%rsp)
1406b11c9:	00
1406b11ca:	0f 57 c0             	xorps  %xmm0,%xmm0
1406b11cd:	f3 0f 7f 44 24 60    	movdqu %xmm0,0x60(%rsp)
1406b11d3:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
1406b11d8:	48 8b f3             	mov    %rbx,%rsi
1406b11db:	49 2b f6             	sub    %r14,%rsi
1406b11de:	48 c1 fe 03          	sar    $0x3,%rsi
1406b11e2:	48 85 f6             	test   %rsi,%rsi
1406b11e5:	0f 84 b1 00 00 00    	je     0x1406b129c
1406b11eb:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1406b11f2:	ff ff 1f
1406b11f5:	48 3b f0             	cmp    %rax,%rsi
1406b11f8:	0f 87 99 01 00 00    	ja     0x1406b1397
1406b11fe:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1406b1205:	00
1406b1206:	48 85 f6             	test   %rsi,%rsi
1406b1209:	74 3d                	je     0x1406b1248
1406b120b:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
1406b1212:	72 29                	jb     0x1406b123d
1406b1214:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
1406b1218:	48 3b ce             	cmp    %rsi,%rcx
1406b121b:	0f 86 8f 01 00 00    	jbe    0x1406b13b0
1406b1221:	e8 e2 9e 76 00       	call   0x140e1b108
1406b1226:	48 85 c0             	test   %rax,%rax
1406b1229:	0f 84 87 01 00 00    	je     0x1406b13b6
1406b122f:	48 8d 78 27          	lea    0x27(%rax),%rdi
1406b1233:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
1406b1237:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
1406b123b:	eb 0b                	jmp    0x1406b1248
1406b123d:	48 8b ce             	mov    %rsi,%rcx
1406b1240:	e8 c3 9e 76 00       	call   0x140e1b108
1406b1245:	48 8b f8             	mov    %rax,%rdi
1406b1248:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
1406b124d:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
1406b1252:	48 8d 04 37          	lea    (%rdi,%rsi,1),%rax
1406b1256:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1406b125b:	49 8b ce             	mov    %r14,%rcx
1406b125e:	4c 3b f3             	cmp    %rbx,%r14
1406b1261:	74 34                	je     0x1406b1297
1406b1263:	48 8b 11             	mov    (%rcx),%rdx
1406b1266:	48 89 17             	mov    %rdx,(%rdi)
1406b1269:	48 85 d2             	test   %rdx,%rdx
1406b126c:	74 1c                	je     0x1406b128a
1406b126e:	8b 42 10             	mov    0x10(%rdx),%eax
1406b1271:	ff c0                	inc    %eax
1406b1273:	89 42 10             	mov    %eax,0x10(%rdx)
1406b1276:	83 f8 01             	cmp    $0x1,%eax
1406b1279:	0f 8e 53 01 00 00    	jle    0x1406b13d2
1406b127f:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406b1284:	0f 84 3d 01 00 00    	je     0x1406b13c7
1406b128a:	48 83 c7 08          	add    $0x8,%rdi
1406b128e:	48 83 c1 08          	add    $0x8,%rcx
1406b1292:	48 3b cb             	cmp    %rbx,%rcx
1406b1295:	75 cc                	jne    0x1406b1263
1406b1297:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
1406b129c:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
1406b12a1:	45 33 c9             	xor    %r9d,%r9d
1406b12a4:	4c 8d 84 24 d0 00 00 	lea    0xd0(%rsp),%r8
1406b12ab:	00
1406b12ac:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1406b12b1:	49 8b cf             	mov    %r15,%rcx
1406b12b4:	e8 b7 3e 18 00       	call   0x140835170
1406b12b9:	48 8b f8             	mov    %rax,%rdi
1406b12bc:	49 8b 45 00          	mov    0x0(%r13),%rax
1406b12c0:	4e 8b 04 e0          	mov    (%rax,%r12,8),%r8
1406b12c4:	4a 89 3c e0          	mov    %rdi,(%rax,%r12,8)
1406b12c8:	4d 85 c0             	test   %r8,%r8
1406b12cb:	74 29                	je     0x1406b12f6
1406b12cd:	41 8b 40 10          	mov    0x10(%r8),%eax
1406b12d1:	ff c8                	dec    %eax
1406b12d3:	41 89 40 10          	mov    %eax,0x10(%r8)
1406b12d7:	85 c0                	test   %eax,%eax
1406b12d9:	7f 1b                	jg     0x1406b12f6
1406b12db:	0f 88 db 00 00 00    	js     0x1406b13bc
1406b12e1:	49 8b 00             	mov    (%r8),%rax
1406b12e4:	ba 01 00 00 00       	mov    $0x1,%edx
1406b12e9:	49 8b c8             	mov    %r8,%rcx
1406b12ec:	48 8b 00             	mov    (%rax),%rax
1406b12ef:	ff 15 2b 27 8d 00    	call   *0x8d272b(%rip)        # 0x140f83a20
1406b12f5:	90                   	nop
1406b12f6:	4d 85 f6             	test   %r14,%r14
1406b12f9:	74 70                	je     0x1406b136b
1406b12fb:	49 8b fe             	mov    %r14,%rdi
1406b12fe:	4c 3b f3             	cmp    %rbx,%r14
1406b1301:	74 31                	je     0x1406b1334
1406b1303:	48 8b 0f             	mov    (%rdi),%rcx
1406b1306:	48 85 c9             	test   %rcx,%rcx
1406b1309:	74 20                	je     0x1406b132b
1406b130b:	8b 41 10             	mov    0x10(%rcx),%eax
1406b130e:	ff c8                	dec    %eax
1406b1310:	89 41 10             	mov    %eax,0x10(%rcx)
1406b1313:	85 c0                	test   %eax,%eax
1406b1315:	7f 14                	jg     0x1406b132b
1406b1317:	78 73                	js     0x1406b138c
1406b1319:	48 8b 01             	mov    (%rcx),%rax
1406b131c:	ba 01 00 00 00       	mov    $0x1,%edx
1406b1321:	48 8b 00             	mov    (%rax),%rax
1406b1324:	ff 15 f6 26 8d 00    	call   *0x8d26f6(%rip)        # 0x140f83a20
1406b132a:	90                   	nop
1406b132b:	48 83 c7 08          	add    $0x8,%rdi
1406b132f:	48 3b fb             	cmp    %rbx,%rdi
1406b1332:	75 cf                	jne    0x1406b1303
1406b1334:	49 2b ee             	sub    %r14,%rbp
1406b1337:	48 83 e5 f8          	and    $0xfffffffffffffff8,%rbp
1406b133b:	49 8b c6             	mov    %r14,%rax
1406b133e:	48 81 fd 00 10 00 00 	cmp    $0x1000,%rbp
1406b1345:	72 19                	jb     0x1406b1360
1406b1347:	48 83 c5 27          	add    $0x27,%rbp
1406b134b:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
1406b134f:	49 2b c6             	sub    %r14,%rax
1406b1352:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1406b1356:	48 83 f8 1f          	cmp    $0x1f,%rax
1406b135a:	0f 87 7a 00 00 00    	ja     0x1406b13da
1406b1360:	48 8b d5             	mov    %rbp,%rdx
1406b1363:	49 8b ce             	mov    %r14,%rcx
1406b1366:	e8 d9 9d 76 00       	call   0x140e1b144
1406b136b:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1406b1372:	00
1406b1373:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1406b1377:	49 8b 6b 38          	mov    0x38(%r11),%rbp
1406b137b:	49 8b 73 40          	mov    0x40(%r11),%rsi
1406b137f:	49 8b e3             	mov    %r11,%rsp
1406b1382:	41 5f                	pop    %r15
1406b1384:	41 5e                	pop    %r14
1406b1386:	41 5d                	pop    %r13
1406b1388:	41 5c                	pop    %r12
1406b138a:	5f                   	pop    %rdi
1406b138b:	c3                   	ret
1406b138c:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b1391:	e8 6a 93 0d 00       	call   0x14078a700
1406b1396:	90                   	nop
1406b1397:	e8 f4 c1 ae ff       	call   0x14019d590
1406b139c:	90                   	nop
1406b139d:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b13a2:	e8 59 93 0d 00       	call   0x14078a700
1406b13a7:	cc                   	int3
1406b13a8:	33 c9                	xor    %ecx,%ecx
1406b13aa:	e8 51 93 0d 00       	call   0x14078a700
1406b13af:	90                   	nop
1406b13b0:	e8 db bd ae ff       	call   0x14019d190
1406b13b5:	cc                   	int3
1406b13b6:	e8 e9 8d 77 00       	call   0x140e2a1a4
1406b13bb:	90                   	nop
1406b13bc:	b9 02 00 00 00       	mov    $0x2,%ecx
1406b13c1:	e8 3a 93 0d 00       	call   0x14078a700
1406b13c6:	90                   	nop
1406b13c7:	b9 01 00 00 00       	mov    $0x1,%ecx
1406b13cc:	e8 2f 93 0d 00       	call   0x14078a700
1406b13d1:	cc                   	int3
1406b13d2:	33 c9                	xor    %ecx,%ecx
1406b13d4:	e8 27 93 0d 00       	call   0x14078a700
1406b13d9:	90                   	nop
1406b13da:	e8 c5 8d 77 00       	call   0x140e2a1a4
1406b13df:	cc                   	int3
1406b13e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406b13e5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1406b13ea:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1406b13ef:	57                   	push   %rdi
1406b13f0:	41 56                	push   %r14
1406b13f2:	41 57                	push   %r15