1407c2097:	41 54                	push   %r12
1407c2099:	41 55                	push   %r13
1407c209b:	41 56                	push   %r14
1407c209d:	41 57                	push   %r15
1407c209f:	48 8b ec             	mov    %rsp,%rbp
1407c20a2:	48 83 ec 70          	sub    $0x70,%rsp
1407c20a6:	4c 8b f2             	mov    %rdx,%r14
1407c20a9:	4c 8b f9             	mov    %rcx,%r15
1407c20ac:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%rbp)
1407c20b3:	48 8d 05 ce cb 84 00 	lea    0x84cbce(%rip),%rax        # 0x14100ec88
1407c20ba:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1407c20be:	48 c7 45 d8 0a 00 00 	movq   $0xa,-0x28(%rbp)
1407c20c5:	00
1407c20c6:	0f 28 45 d0          	movaps -0x30(%rbp),%xmm0
1407c20ca:	66 0f 7f 45 d0       	movdqa %xmm0,-0x30(%rbp)
1407c20cf:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1407c20d3:	e8 b8 ec fd ff       	call   0x1407a0d90
1407c20d8:	48 8b 38             	mov    (%rax),%rdi
1407c20db:	48 85 ff             	test   %rdi,%rdi
1407c20de:	74 1c                	je     0x1407c20fc
1407c20e0:	8b 47 10             	mov    0x10(%rdi),%eax
1407c20e3:	ff c0                	inc    %eax
1407c20e5:	89 47 10             	mov    %eax,0x10(%rdi)
1407c20e8:	83 f8 01             	cmp    $0x1,%eax
1407c20eb:	0f 8e 15 02 00 00    	jle    0x1407c2306
1407c20f1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407c20f6:	0f 84 12 02 00 00    	je     0x1407c230e
1407c20fc:	48 8b df             	mov    %rdi,%rbx
1407c20ff:	48 89 5d b8          	mov    %rbx,-0x48(%rbp)
1407c2103:	c7 45 b0 02 00 00 00 	movl   $0x2,-0x50(%rbp)
1407c210a:	b9 50 00 00 00       	mov    $0x50,%ecx
1407c210f:	e8 f4 8f 65 00       	call   0x140e1b108
1407c2114:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1407c2118:	48 85 c0             	test   %rax,%rax
1407c211b:	74 1c                	je     0x1407c2139
1407c211d:	33 db                	xor    %ebx,%ebx
1407c211f:	48 89 5d b8          	mov    %rbx,-0x48(%rbp)
1407c2123:	48 89 7d c0          	mov    %rdi,-0x40(%rbp)
1407c2127:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
1407c212b:	48 8b c8             	mov    %rax,%rcx
1407c212e:	e8 fd 06 f7 ff       	call   0x140732830
1407c2133:	33 ff                	xor    %edi,%edi
1407c2135:	33 c9                	xor    %ecx,%ecx
1407c2137:	eb 03                	jmp    0x1407c213c
1407c2139:	48 8b cf             	mov    %rdi,%rcx
1407c213c:	49 89 07             	mov    %rax,(%r15)
1407c213f:	c7 45 b0 07 00 00 00 	movl   $0x7,-0x50(%rbp)
1407c2146:	48 85 ff             	test   %rdi,%rdi
1407c2149:	74 27                	je     0x1407c2172
1407c214b:	8b 41 10             	mov    0x10(%rcx),%eax
1407c214e:	ff c8                	dec    %eax
1407c2150:	89 41 10             	mov    %eax,0x10(%rcx)
1407c2153:	85 c0                	test   %eax,%eax
1407c2155:	7f 1b                	jg     0x1407c2172
1407c2157:	0f 88 bc 01 00 00    	js     0x1407c2319
1407c215d:	48 8b 03             	mov    (%rbx),%rax
1407c2160:	ba 01 00 00 00       	mov    $0x1,%edx
1407c2165:	48 8b cb             	mov    %rbx,%rcx
1407c2168:	48 8b 00             	mov    (%rax),%rax
1407c216b:	ff 15 af 18 7c 00    	call   *0x7c18af(%rip)        # 0x140f83a20
1407c2171:	90                   	nop
1407c2172:	49 8b ce             	mov    %r14,%rcx
1407c2175:	e8 b6 49 f7 ff       	call   0x140736b30
1407c217a:	48 8b f0             	mov    %rax,%rsi
1407c217d:	49 8b ce             	mov    %r14,%rcx
1407c2180:	e8 8b c4 f7 ff       	call   0x14073e610
1407c2185:	48 63 d8             	movslq %eax,%rbx
1407c2188:	48 8d 04 1e          	lea    (%rsi,%rbx,1),%rax
1407c218c:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
1407c2190:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%rbp)
1407c2197:	45 33 e4             	xor    %r12d,%r12d
1407c219a:	44 89 65 c0          	mov    %r12d,-0x40(%rbp)
1407c219e:	85 db                	test   %ebx,%ebx
1407c21a0:	0f 88 31 01 00 00    	js     0x1407c22d7
1407c21a6:	44 8b 6d 60          	mov    0x60(%rbp),%r13d
1407c21aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1407c21b0:	33 ff                	xor    %edi,%edi
1407c21b2:	45 33 f6             	xor    %r14d,%r14d
1407c21b5:	85 db                	test   %ebx,%ebx
1407c21b7:	74 30                	je     0x1407c21e9
1407c21b9:	4c 8b 7d 50          	mov    0x50(%rbp),%r15
1407c21bd:	0f 1f 00             	nopl   (%rax)
1407c21c0:	48 63 d7             	movslq %edi,%rdx
1407c21c3:	48 03 d6             	add    %rsi,%rdx
1407c21c6:	44 8b c3             	mov    %ebx,%r8d
1407c21c9:	49 8b 4f 28          	mov    0x28(%r15),%rcx
1407c21cd:	e8 be 9d fb ff       	call   0x14077bf90
1407c21d2:	44 8b f0             	mov    %eax,%r14d
1407c21d5:	85 c0                	test   %eax,%eax
1407c21d7:	7f 08                	jg     0x1407c21e1
1407c21d9:	ff c7                	inc    %edi
1407c21db:	ff cb                	dec    %ebx
1407c21dd:	85 db                	test   %ebx,%ebx
1407c21df:	7f df                	jg     0x1407c21c0
1407c21e1:	48 8b 45 b8          	mov    -0x48(%rbp),%rax
1407c21e5:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
1407c21e9:	45 85 ed             	test   %r13d,%r13d
1407c21ec:	74 0b                	je     0x1407c21f9
1407c21ee:	45 3b e5             	cmp    %r13d,%r12d
1407c21f1:	7c 06                	jl     0x1407c21f9
1407c21f3:	8b f8                	mov    %eax,%edi
1407c21f5:	2b fe                	sub    %esi,%edi
1407c21f7:	33 db                	xor    %ebx,%ebx
1407c21f9:	4d 8b 3f             	mov    (%r15),%r15
1407c21fc:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c2201:	e8 02 8f 65 00       	call   0x140e1b108
1407c2206:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
1407c220a:	48 85 c0             	test   %rax,%rax
1407c220d:	74 0e                	je     0x1407c221d
1407c220f:	4c 8b c6             	mov    %rsi,%r8
1407c2212:	8b d7                	mov    %edi,%edx
1407c2214:	48 8b c8             	mov    %rax,%rcx
1407c2217:	e8 d4 f9 f6 ff       	call   0x140731bf0
1407c221c:	90                   	nop
1407c221d:	83 4d b0 08          	orl    $0x8,-0x50(%rbp)
1407c2221:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1407c2225:	8b 45 b4             	mov    -0x4c(%rbp),%eax
1407c2228:	8b d0                	mov    %eax,%edx
1407c222a:	ff c0                	inc    %eax
1407c222c:	89 45 b4             	mov    %eax,-0x4c(%rbp)
1407c222f:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
1407c2233:	49 8b cf             	mov    %r15,%rcx
1407c2236:	e8 c5 31 f7 ff       	call   0x140735400
1407c223b:	85 db                	test   %ebx,%ebx
1407c223d:	0f 8e 90 00 00 00    	jle    0x1407c22d3
1407c2243:	83 7d 58 00          	cmpl   $0x0,0x58(%rbp)
1407c2247:	74 56                	je     0x1407c229f
1407c2249:	4c 8b 65 40          	mov    0x40(%rbp),%r12
1407c224d:	4d 8b 24 24          	mov    (%r12),%r12
1407c2251:	4c 63 ff             	movslq %edi,%r15
1407c2254:	4c 03 fe             	add    %rsi,%r15
1407c2257:	b9 28 00 00 00       	mov    $0x28,%ecx
1407c225c:	e8 a7 8e 65 00       	call   0x140e1b108
1407c2261:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1407c2265:	48 85 c0             	test   %rax,%rax
1407c2268:	74 0f                	je     0x1407c2279
1407c226a:	4d 8b c7             	mov    %r15,%r8
1407c226d:	41 8b d6             	mov    %r14d,%edx
1407c2270:	48 8b c8             	mov    %rax,%rcx
1407c2273:	e8 78 f9 f6 ff       	call   0x140731bf0
1407c2278:	90                   	nop
1407c2279:	83 4d b0 10          	orl    $0x10,-0x50(%rbp)
1407c227d:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1407c2281:	44 8b 7d b4          	mov    -0x4c(%rbp),%r15d
1407c2285:	41 8b d7             	mov    %r15d,%edx
1407c2288:	41 ff c7             	inc    %r15d
1407c228b:	44 89 7d b4          	mov    %r15d,-0x4c(%rbp)
1407c228f:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1407c2293:	49 8b cc             	mov    %r12,%rcx
1407c2296:	e8 65 31 f7 ff       	call   0x140735400
1407c229b:	44 8b 65 c0          	mov    -0x40(%rbp),%r12d
1407c229f:	45 85 ed             	test   %r13d,%r13d
1407c22a2:	74 05                	je     0x1407c22a9
1407c22a4:	45 3b e5             	cmp    %r13d,%r12d
1407c22a7:	7d 2a                	jge    0x1407c22d3
1407c22a9:	41 ff c4             	inc    %r12d
1407c22ac:	44 89 65 c0          	mov    %r12d,-0x40(%rbp)
1407c22b0:	41 2b de             	sub    %r14d,%ebx
1407c22b3:	41 8d 04 3e          	lea    (%r14,%rdi,1),%eax
1407c22b7:	48 63 c8             	movslq %eax,%rcx
1407c22ba:	48 03 f1             	add    %rcx,%rsi
1407c22bd:	48 8b 45 b8          	mov    -0x48(%rbp),%rax
1407c22c1:	48 3b f0             	cmp    %rax,%rsi
1407c22c4:	77 2c                	ja     0x1407c22f2
1407c22c6:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
1407c22ca:	85 db                	test   %ebx,%ebx
1407c22cc:	78 09                	js     0x1407c22d7
1407c22ce:	e9 dd fe ff ff       	jmp    0x1407c21b0
1407c22d3:	4c 8b 7d 40          	mov    0x40(%rbp),%r15
1407c22d7:	49 8b c7             	mov    %r15,%rax
1407c22da:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
1407c22e1:	00
1407c22e2:	48 83 c4 70          	add    $0x70,%rsp
1407c22e6:	41 5f                	pop    %r15
1407c22e8:	41 5e                	pop    %r14
1407c22ea:	41 5d                	pop    %r13
1407c22ec:	41 5c                	pop    %r12
1407c22ee:	5f                   	pop    %rdi
1407c22ef:	5e                   	pop    %rsi
1407c22f0:	5d                   	pop    %rbp
1407c22f1:	c3                   	ret
1407c22f2:	48 8d 15 37 31 87 00 	lea    0x873137(%rip),%rdx        # 0x141035430
1407c22f9:	48 8b 0d f8 f1 c6 00 	mov    0xc6f1f8(%rip),%rcx        # 0x1414314f8
1407c2300:	e8 0b 19 fd ff       	call   0x140793c10
1407c2305:	90                   	nop
1407c2306:	33 c9                	xor    %ecx,%ecx
1407c2308:	e8 f3 83 fc ff       	call   0x14078a700
1407c230d:	cc                   	int3
1407c230e:	b9 01 00 00 00       	mov    $0x1,%ecx
1407c2313:	e8 e8 83 fc ff       	call   0x14078a700
1407c2318:	90                   	nop
1407c2319:	b9 02 00 00 00       	mov    $0x2,%ecx
1407c231e:	e8 dd 83 fc ff       	call   0x14078a700
1407c2323:	cc                   	int3
1407c2324:	cc                   	int3
1407c2325:	cc                   	int3
1407c2326:	cc                   	int3
1407c2327:	cc                   	int3
1407c2328:	cc                   	int3
1407c2329:	cc                   	int3
1407c232a:	cc                   	int3
1407c232b:	cc                   	int3
1407c232c:	cc                   	int3
1407c232d:	cc                   	int3
1407c232e:	cc                   	int3
1407c232f:	cc                   	int3
1407c2330:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407c2335:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1407c233a:	57                   	push   %rdi
1407c233b:	48 83 ec 20          	sub    $0x20,%rsp
1407c233f:	48 8b f1             	mov    %rcx,%rsi
1407c2342:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
1407c2349:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1407c2350:	80 7c 19 01 00       	cmpb   $0x0,0x1(%rcx,%rbx,1)
1407c2355:	48 8d 5b 01          	lea    0x1(%rbx),%rbx
1407c2359:	75 f5                	jne    0x1407c2350
1407c235b:	48 8d 4b 0c          	lea    0xc(%rbx),%rcx
1407c235f:	e8 b8 92 65 00       	call   0x140e1b61c
1407c2364:	4c 8b ce             	mov    %rsi,%r9
1407c2367:	4c 8d 05 52 ac 86 00 	lea    0x86ac52(%rip),%r8        # 0x14102cfc0
1407c236e:	48 8d 53 0c          	lea    0xc(%rbx),%rdx
1407c2372:	48 8b c8             	mov    %rax,%rcx
1407c2375:	48 8b f8             	mov    %rax,%rdi
1407c2378:	e8 b3 d9 bb ff       	call   0x14037fd30
1407c237d:	48 8b cf             	mov    %rdi,%rcx
1407c2380:	e8 7f 1a 68 00       	call   0x140e43e04
1407c2385:	48 8b cf             	mov    %rdi,%rcx
1407c2388:	8b d8                	mov    %eax,%ebx
1407c238a:	e8 b5 8d 65 00       	call   0x140e1b144
1407c238f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1407c2394:	8b c3                	mov    %ebx,%eax
1407c2396:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1407c239b:	48 83 c4 20          	add    $0x20,%rsp
1407c239f:	5f                   	pop    %rdi
1407c23a0:	c3                   	ret
1407c23a1:	cc                   	int3
1407c23a2:	cc                   	int3
1407c23a3:	cc                   	int3
1407c23a4:	cc                   	int3
1407c23a5:	cc                   	int3
1407c23a6:	cc                   	int3
1407c23a7:	cc                   	int3
1407c23a8:	cc                   	int3
1407c23a9:	cc                   	int3
1407c23aa:	cc                   	int3
1407c23ab:	cc                   	int3
1407c23ac:	cc                   	int3
1407c23ad:	cc                   	int3
1407c23ae:	cc                   	int3
1407c23af:	cc                   	int3
1407c23b0:	40 53                	rex push %rbx
1407c23b2:	48 83 ec 40          	sub    $0x40,%rsp
1407c23b6:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
1407c23bb:	48 8b d9             	mov    %rcx,%rbx
1407c23be:	49 8b 10             	mov    (%r8),%rdx
1407c23c1:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c23c5:	48 2b c2             	sub    %rdx,%rax
1407c23c8:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1407c23cc:	48 83 f8 08          	cmp    $0x8,%rax
1407c23d0:	74 2b                	je     0x1407c23fd
1407c23d2:	48 8d 15 47 c2 86 00 	lea    0x86c247(%rip),%rdx        # 0x14102e620
1407c23d9:	48 8b 0d 18 f1 c6 00 	mov    0xc6f118(%rip),%rcx        # 0x1414314f8
1407c23e0:	e8 db 11 fd ff       	call   0x1407935c0
1407c23e5:	33 d2                	xor    %edx,%edx
1407c23e7:	48 8b cb             	mov    %rbx,%rcx
1407c23ea:	e8 c1 c5 a4 ff       	call   0x14020e9b0
1407c23ef:	48 8b c3             	mov    %rbx,%rax
1407c23f2:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
1407c23f7:	48 83 c4 40          	add    $0x40,%rsp
1407c23fb:	5b                   	pop    %rbx
1407c23fc:	c3                   	ret
1407c23fd:	48 8b 12             	mov    (%rdx),%rdx
1407c2400:	f2 0f 10 72 20       	movsd  0x20(%rdx),%xmm6
1407c2405:	0f 57 c9             	xorps  %xmm1,%xmm1
1407c2408:	66 0f 2f ce          	comisd %xmm6,%xmm1
1407c240c:	76 0f                	jbe    0x1407c241d
1407c240e:	45 33 c0             	xor    %r8d,%r8d
1407c2411:	48 8d 0d c0 c1 86 00 	lea    0x86c1c0(%rip),%rcx        # 0x14102e5d8
1407c2418:	e8 23 0b 00 00       	call   0x1407c2f40
1407c241d:	0f 28 c6             	movaps %xmm6,%xmm0
1407c2420:	e8 83 19 68 00       	call   0x140e43da8
1407c2425:	33 c0                	xor    %eax,%eax
1407c2427:	f2 0f 10 0d 29 c4 7e 	movsd  0x7ec429(%rip),%xmm1        # 0x140fae858
1407c242e:	00
1407c242f:	66 0f 2f c1          	comisd %xmm1,%xmm0
1407c2433:	72 17                	jb     0x1407c244c
1407c2435:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
1407c2439:	66 0f 2f c1          	comisd %xmm1,%xmm0
1407c243d:	73 0d                	jae    0x1407c244c
1407c243f:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
1407c2446:	00 00 80
1407c2449:	48 8b c1             	mov    %rcx,%rax
1407c244c:	f2 4c 0f 2c c0       	cvttsd2si %xmm0,%r8
1407c2451:	4c 03 c0             	add    %rax,%r8
1407c2454:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1407c2459:	48 8b 0d 18 0a c7 00 	mov    0xc70a18(%rip),%rcx        # 0x141432e78
1407c2460:	e8 bb da 9d ff       	call   0x14019ff20
1407c2465:	48 8b 08             	mov    (%rax),%rcx
1407c2468:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1407c246f:	48 89 0b             	mov    %rcx,(%rbx)
1407c2472:	48 8b 08             	mov    (%rax),%rcx
1407c2475:	48 85 c9             	test   %rcx,%rcx
1407c2478:	74 20                	je     0x1407c249a
1407c247a:	8b 41 10             	mov    0x10(%rcx),%eax
1407c247d:	ff c8                	dec    %eax
1407c247f:	89 41 10             	mov    %eax,0x10(%rcx)
1407c2482:	85 c0                	test   %eax,%eax
1407c2484:	7f 14                	jg     0x1407c249a
1407c2486:	78 20                	js     0x1407c24a8
1407c2488:	48 8b 01             	mov    (%rcx),%rax
1407c248b:	ba 01 00 00 00       	mov    $0x1,%edx
1407c2490:	48 8b 00             	mov    (%rax),%rax
1407c2493:	ff 15 87 15 7c 00    	call   *0x7c1587(%rip)        # 0x140f83a20
1407c2499:	90                   	nop
1407c249a:	48 8b c3             	mov    %rbx,%rax
1407c249d:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
1407c24a2:	48 83 c4 40          	add    $0x40,%rsp
1407c24a6:	5b                   	pop    %rbx
1407c24a7:	c3                   	ret
1407c24a8:	b9 02 00 00 00       	mov    $0x2,%ecx
1407c24ad:	e8 4e 82 fc ff       	call   0x14078a700
1407c24b2:	cc                   	int3
1407c24b3:	cc                   	int3
1407c24b4:	cc                   	int3
1407c24b5:	cc                   	int3
1407c24b6:	cc                   	int3
1407c24b7:	cc                   	int3
1407c24b8:	cc                   	int3
1407c24b9:	cc                   	int3
1407c24ba:	cc                   	int3
1407c24bb:	cc                   	int3
1407c24bc:	cc                   	int3
1407c24bd:	cc                   	int3
1407c24be:	cc                   	int3
1407c24bf:	cc                   	int3
1407c24c0:	40 53                	rex push %rbx
1407c24c2:	48 83 ec 30          	sub    $0x30,%rsp
1407c24c6:	48 8b d9             	mov    %rcx,%rbx
1407c24c9:	49 8b 08             	mov    (%r8),%rcx
1407c24cc:	49 8b 40 08          	mov    0x8(%r8),%rax
1407c24d0:	48 2b c1             	sub    %rcx,%rax
1407c24d3:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1407c24d7:	48 83 f8 08          	cmp    $0x8,%rax
1407c24db:	74 26                	je     0x1407c2503
1407c24dd:	48 8d 15 0c c1 86 00 	lea    0x86c10c(%rip),%rdx        # 0x14102e5f0
1407c24e4:	48 8b 0d 0d f0 c6 00 	mov    0xc6f00d(%rip),%rcx        # 0x1414314f8
1407c24eb:	e8 d0 10 fd ff       	call   0x1407935c0
1407c24f0:	33 d2                	xor    %edx,%edx
1407c24f2:	48 8b cb             	mov    %rbx,%rcx
1407c24f5:	e8 b6 c4 a4 ff       	call   0x14020e9b0