140015ffc:	31 c0                	xor    %eax,%eax
140015ffe:	48 89 cd             	mov    %rcx,%rbp
140016001:	48 89 d3             	mov    %rdx,%rbx
140016004:	48 85 d2             	test   %rdx,%rdx
140016007:	74 4b                	je     0x140016054
140016009:	48 8b 35 a8 7a 03 00 	mov    0x37aa8(%rip),%rsi        # 0x14004dab8
140016010:	ff d6                	call   *%rsi
140016012:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140016017:	48 89 d9             	mov    %rbx,%rcx
14001601a:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
140016020:	e8 5b 95 00 00       	call   0x14001f580
140016025:	66 0f 28 f0          	movapd %xmm0,%xmm6
140016029:	ff d6                	call   *%rsi
14001602b:	83 38 22             	cmpl   $0x22,(%rax)
14001602e:	74 48                	je     0x140016078
140016030:	66 0f 2f 35 18 c0 01 	comisd 0x1c018(%rip),%xmm6        # 0x140032050
140016037:	00
140016038:	77 3e                	ja     0x140016078
14001603a:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
14001603f:	48 39 f3             	cmp    %rsi,%rbx
140016042:	74 10                	je     0x140016054
140016044:	48 89 d9             	mov    %rbx,%rcx
140016047:	e8 d4 e7 00 00       	call   0x140024820
14001604c:	48 01 c3             	add    %rax,%rbx
14001604f:	48 39 de             	cmp    %rbx,%rsi
140016052:	74 2c                	je     0x140016080
140016054:	b8 0b 00 00 00       	mov    $0xb,%eax
140016059:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
14001605e:	48 2b 17             	sub    (%rdi),%rdx
140016061:	75 44                	jne    0x1400160a7
140016063:	0f 10 74 24 30       	movups 0x30(%rsp),%xmm6
140016068:	48 83 c4 48          	add    $0x48,%rsp
14001606c:	5b                   	pop    %rbx
14001606d:	5e                   	pop    %rsi
14001606e:	5f                   	pop    %rdi
14001606f:	5d                   	pop    %rbp
140016070:	c3                   	ret
140016071:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140016078:	b8 12 00 00 00       	mov    $0x12,%eax
14001607d:	eb da                	jmp    0x140016059
14001607f:	90                   	nop
140016080:	66 0f ef c0          	pxor   %xmm0,%xmm0
140016084:	66 0f 2f c6          	comisd %xmm6,%xmm0
140016088:	77 16                	ja     0x1400160a0
14001608a:	f2 0f 59 35 c6 bf 01 	mulsd  0x1bfc6(%rip),%xmm6        # 0x140032058
140016091:	00
140016092:	f2 0f 2c c6          	cvttsd2si %xmm6,%eax
140016096:	89 45 00             	mov    %eax,0x0(%rbp)
140016099:	31 c0                	xor    %eax,%eax
14001609b:	eb bc                	jmp    0x140016059
14001609d:	0f 1f 00             	nopl   (%rax)
1400160a0:	b8 0c 00 00 00       	mov    $0xc,%eax
1400160a5:	eb b2                	jmp    0x140016059
1400160a7:	e8 e4 95 00 00       	call   0x14001f690
1400160ac:	90                   	nop
1400160ad:	0f 1f 00             	nopl   (%rax)
1400160b0:	41 57                	push   %r15
1400160b2:	41 56                	push   %r14
1400160b4:	41 55                	push   %r13
1400160b6:	41 54                	push   %r12
1400160b8:	55                   	push   %rbp
1400160b9:	57                   	push   %rdi
1400160ba:	56                   	push   %rsi
1400160bb:	53                   	push   %rbx
1400160bc:	48 83 ec 68          	sub    $0x68,%rsp
1400160c0:	4c 8b 25 e9 0b 03 00 	mov    0x30be9(%rip),%r12        # 0x140046cb0
1400160c7:	4d 8b 2c 24          	mov    (%r12),%r13
1400160cb:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
1400160d0:	4c 8d 6c 24 30       	lea    0x30(%rsp),%r13
1400160d5:	48 89 cd             	mov    %rcx,%rbp
1400160d8:	49 89 d7             	mov    %rdx,%r15
1400160db:	4c 89 cb             	mov    %r9,%rbx
1400160de:	ba c0 02 00 00       	mov    $0x2c0,%edx
1400160e3:	4c 89 c7             	mov    %r8,%rdi
1400160e6:	4c 89 e9             	mov    %r13,%rcx
1400160e9:	e8 12 77 00 00       	call   0x14001d800
1400160ee:	b8 01 00 00 00       	mov    $0x1,%eax
1400160f3:	48 85 db             	test   %rbx,%rbx
1400160f6:	0f 84 1d 01 00 00    	je     0x140016219
1400160fc:	48 89 d9             	mov    %rbx,%rcx
1400160ff:	e8 94 e5 00 00       	call   0x140024698
140016104:	48 89 c6             	mov    %rax,%rsi
140016107:	48 85 c0             	test   %rax,%rax
14001610a:	0f 84 a9 02 00 00    	je     0x1400163b9
140016110:	4c 8b 35 29 0e 03 00 	mov    0x30e29(%rip),%r14        # 0x140046f40
140016117:	49 8b 06             	mov    (%r14),%rax
14001611a:	48 8d 0c c5 08 00 00 	lea    0x8(,%rax,8),%rcx
140016121:	00
140016122:	e8 71 e6 00 00       	call   0x140024798
140016127:	48 89 c3             	mov    %rax,%rbx
14001612a:	48 85 c0             	test   %rax,%rax
14001612d:	0f 84 2b 04 00 00    	je     0x14001655e
140016133:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
14001613a:	49 8b 0f             	mov    (%r15),%rcx
14001613d:	48 85 c9             	test   %rcx,%rcx
140016140:	74 61                	je     0x1400161a3
140016142:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140016149:	00 00 00 00
14001614d:	0f 1f 00             	nopl   (%rax)
140016150:	e8 3b 83 ff ff       	call   0x14000e490
140016155:	48 85 c0             	test   %rax,%rax
140016158:	74 3c                	je     0x140016196
14001615a:	48 8b 13             	mov    (%rbx),%rdx
14001615d:	48 89 d9             	mov    %rbx,%rcx
140016160:	48 85 d2             	test   %rdx,%rdx
140016163:	75 2c                	jne    0x140016191
140016165:	e9 79 02 00 00       	jmp    0x1400163e3
14001616a:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140016171:	00 00 00 00
140016175:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14001617c:	00 00 00 00
140016180:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140016184:	48 83 c1 08          	add    $0x8,%rcx
140016188:	48 85 d2             	test   %rdx,%rdx
14001618b:	0f 84 af 00 00 00    	je     0x140016240
140016191:	48 39 d0             	cmp    %rdx,%rax
140016194:	75 ea                	jne    0x140016180
140016196:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14001619a:	49 83 c7 08          	add    $0x8,%r15
14001619e:	48 85 c9             	test   %rcx,%rcx
1400161a1:	75 ad                	jne    0x140016150
1400161a3:	4c 8d 3d b1 bc 01 00 	lea    0x1bcb1(%rip),%r15        # 0x140031e5b
1400161aa:	48 89 f1             	mov    %rsi,%rcx
1400161ad:	4c 89 fa             	mov    %r15,%rdx
1400161b0:	e8 93 e6 00 00       	call   0x140024848
1400161b5:	49 89 c0             	mov    %rax,%r8
1400161b8:	48 85 c0             	test   %rax,%rax
1400161bb:	0f 84 1d 01 00 00    	je     0x1400162de
1400161c1:	41 0f b6 00          	movzbl (%r8),%eax
1400161c5:	8d 50 d0             	lea    -0x30(%rax),%edx
1400161c8:	80 fa 09             	cmp    $0x9,%dl
1400161cb:	0f 86 ba 02 00 00    	jbe    0x14001648b
1400161d1:	8d 50 9f             	lea    -0x61(%rax),%edx
1400161d4:	80 fa 19             	cmp    $0x19,%dl
1400161d7:	0f 86 ae 02 00 00    	jbe    0x14001648b
1400161dd:	45 31 c9             	xor    %r9d,%r9d
1400161e0:	8d 50 bf             	lea    -0x41(%rax),%edx
1400161e3:	80 fa 19             	cmp    $0x19,%dl
1400161e6:	0f 86 9f 00 00 00    	jbe    0x14001628b
1400161ec:	49 83 c0 01          	add    $0x1,%r8
1400161f0:	3c 2d                	cmp    $0x2d,%al
1400161f2:	0f 84 e0 01 00 00    	je     0x1400163d8
1400161f8:	3c 3d                	cmp    $0x3d,%al
1400161fa:	0f 84 c8 01 00 00    	je     0x1400163c8
140016200:	3c 2b                	cmp    $0x2b,%al
140016202:	74 6c                	je     0x140016270
140016204:	48 89 f1             	mov    %rsi,%rcx
140016207:	e8 44 e5 00 00       	call   0x140024750
14001620c:	48 89 d9             	mov    %rbx,%rcx
14001620f:	e8 3c e5 00 00       	call   0x140024750
140016214:	b8 04 00 00 00       	mov    $0x4,%eax
140016219:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14001621e:	49 2b 14 24          	sub    (%r12),%rdx
140016222:	0f 85 43 03 00 00    	jne    0x14001656b
140016228:	48 83 c4 68          	add    $0x68,%rsp
14001622c:	5b                   	pop    %rbx
14001622d:	5e                   	pop    %rsi
14001622e:	5f                   	pop    %rdi
14001622f:	5d                   	pop    %rbp
140016230:	41 5c                	pop    %r12
140016232:	41 5d                	pop    %r13
140016234:	41 5e                	pop    %r14
140016236:	41 5f                	pop    %r15
140016238:	c3                   	ret
140016239:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140016240:	48 89 ca             	mov    %rcx,%rdx
140016243:	48 29 da             	sub    %rbx,%rdx
140016246:	48 83 c2 08          	add    $0x8,%rdx
14001624a:	49 83 c7 08          	add    $0x8,%r15
14001624e:	48 89 01             	mov    %rax,(%rcx)
140016251:	48 c7 04 13 00 00 00 	movq   $0x0,(%rbx,%rdx,1)
140016258:	00
140016259:	49 8b 0f             	mov    (%r15),%rcx
14001625c:	48 85 c9             	test   %rcx,%rcx
14001625f:	0f 85 eb fe ff ff    	jne    0x140016150
140016265:	e9 39 ff ff ff       	jmp    0x1400161a3
14001626a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140016270:	45 31 c9             	xor    %r9d,%r9d
140016273:	41 0f b6 00          	movzbl (%r8),%eax
140016277:	8d 50 d0             	lea    -0x30(%rax),%edx
14001627a:	80 fa 09             	cmp    $0x9,%dl
14001627d:	76 0c                	jbe    0x14001628b
14001627f:	8d 50 9f             	lea    -0x61(%rax),%edx
140016282:	80 fa 19             	cmp    $0x19,%dl
140016285:	0f 87 55 ff ff ff    	ja     0x1400161e0
14001628b:	44 89 4c 24 2c       	mov    %r9d,0x2c(%rsp)
140016290:	4c 89 c1             	mov    %r8,%rcx
140016293:	48 8d 15 c3 bb 01 00 	lea    0x1bbc3(%rip),%rdx        # 0x140031e5d
14001629a:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14001629f:	ff 15 db 75 03 00    	call   *0x375db(%rip)        # 0x14004d880
1400162a5:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1400162aa:	44 8b 4c 24 2c       	mov    0x2c(%rsp),%r9d
1400162af:	85 c0                	test   %eax,%eax
1400162b1:	0f 84 58 01 00 00    	je     0x14001640f
1400162b7:	41 83 f9 01          	cmp    $0x1,%r9d
1400162bb:	0f 85 2c 01 00 00    	jne    0x1400163ed
1400162c1:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
1400162c8:	4c 89 fa             	mov    %r15,%rdx
1400162cb:	31 c9                	xor    %ecx,%ecx
1400162cd:	e8 76 e5 00 00       	call   0x140024848
1400162d2:	49 89 c0             	mov    %rax,%r8
1400162d5:	48 85 c0             	test   %rax,%rax
1400162d8:	0f 85 e3 fe ff ff    	jne    0x1400161c1
1400162de:	48 89 f1             	mov    %rsi,%rcx
1400162e1:	e8 6a e4 00 00       	call   0x140024750
1400162e6:	48 83 3b 00          	cmpq   $0x0,(%rbx)
1400162ea:	0f 84 67 02 00 00    	je     0x140016557
1400162f0:	48 89 d8             	mov    %rbx,%rax
1400162f3:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400162fa:	00 00 00 00
1400162fe:	66 90                	xchg   %ax,%ax
140016300:	48 83 c0 08          	add    $0x8,%rax
140016304:	48 83 38 00          	cmpq   $0x0,(%rax)
140016308:	75 f6                	jne    0x140016300
14001630a:	48 29 d8             	sub    %rbx,%rax
14001630d:	48 c1 f8 03          	sar    $0x3,%rax
140016311:	48 89 c2             	mov    %rax,%rdx
140016314:	4c 8d 0d 35 47 00 00 	lea    0x4735(%rip),%r9        # 0x14001aa50
14001631b:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140016321:	48 89 d9             	mov    %rbx,%rcx
140016324:	e8 af e4 00 00       	call   0x1400247d8
140016329:	45 31 c0             	xor    %r8d,%r8d
14001632c:	48 8d 15 49 bb 01 00 	lea    0x1bb49(%rip),%rdx        # 0x140031e7c
140016333:	4c 89 e9             	mov    %r13,%rcx
140016336:	e8 95 75 00 00       	call   0x14001d8d0
14001633b:	4c 8b 03             	mov    (%rbx),%r8
14001633e:	4d 85 c0             	test   %r8,%r8
140016341:	74 39                	je     0x14001637c
140016343:	85 c0                	test   %eax,%eax
140016345:	48 8d 6b 08          	lea    0x8(%rbx),%rbp
140016349:	48 8d 35 2d bb 01 00 	lea    0x1bb2d(%rip),%rsi        # 0x140031e7d
140016350:	0f 94 c0             	sete   %al
140016353:	84 c0                	test   %al,%al
140016355:	75 0d                	jne    0x140016364
140016357:	eb 23                	jmp    0x14001637c
140016359:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140016360:	85 c0                	test   %eax,%eax
140016362:	75 18                	jne    0x14001637c
140016364:	48 89 f2             	mov    %rsi,%rdx
140016367:	4c 89 e9             	mov    %r13,%rcx
14001636a:	48 83 c5 08          	add    $0x8,%rbp
14001636e:	e8 1d 76 00 00       	call   0x14001d990
140016373:	4c 8b 45 f8          	mov    -0x8(%rbp),%r8
140016377:	4d 85 c0             	test   %r8,%r8
14001637a:	75 e4                	jne    0x140016360
14001637c:	48 89 d9             	mov    %rbx,%rcx
14001637f:	e8 cc e3 00 00       	call   0x140024750
140016384:	4c 89 e9             	mov    %r13,%rcx
140016387:	e8 94 76 00 00       	call   0x14001da20
14001638c:	4c 89 e9             	mov    %r13,%rcx
14001638f:	48 8d 50 ff          	lea    -0x1(%rax),%rdx
140016393:	e8 98 76 00 00       	call   0x14001da30
140016398:	48 8b 0f             	mov    (%rdi),%rcx
14001639b:	e8 b0 e3 00 00       	call   0x140024750
1400163a0:	4c 89 e9             	mov    %r13,%rcx
1400163a3:	e8 38 76 00 00       	call   0x14001d9e0
1400163a8:	48 89 c2             	mov    %rax,%rdx
1400163ab:	48 89 07             	mov    %rax,(%rdi)
1400163ae:	31 c0                	xor    %eax,%eax
1400163b0:	48 85 d2             	test   %rdx,%rdx
1400163b3:	0f 85 60 fe ff ff    	jne    0x140016219
1400163b9:	b8 0f 00 00 00       	mov    $0xf,%eax
1400163be:	e9 56 fe ff ff       	jmp    0x140016219
1400163c3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400163c8:	41 b9 02 00 00 00    	mov    $0x2,%r9d
1400163ce:	e9 a0 fe ff ff       	jmp    0x140016273
1400163d3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400163d8:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400163de:	e9 90 fe ff ff       	jmp    0x140016273
1400163e3:	ba 08 00 00 00       	mov    $0x8,%edx
1400163e8:	e9 5d fe ff ff       	jmp    0x14001624a
1400163ed:	48 8b 15 9c 09 03 00 	mov    0x3099c(%rip),%rdx        # 0x140046d90
1400163f4:	49 8b 06             	mov    (%r14),%rax
1400163f7:	48 89 d9             	mov    %rbx,%rcx
1400163fa:	48 8b 12             	mov    (%rdx),%rdx
1400163fd:	4c 8d 04 c5 08 00 00 	lea    0x8(,%rax,8),%r8
140016404:	00
140016405:	e8 ae e3 00 00       	call   0x1400247b8
14001640a:	e9 b9 fe ff ff       	jmp    0x1400162c8
14001640f:	4c 89 c1             	mov    %r8,%rcx
140016412:	44 89 4c 24 2c       	mov    %r9d,0x2c(%rsp)
140016417:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14001641c:	e8 6f 80 ff ff       	call   0x14000e490
140016421:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140016426:	44 8b 4c 24 2c       	mov    0x2c(%rsp),%r9d
14001642b:	48 85 c0             	test   %rax,%rax
14001642e:	48 89 c1             	mov    %rax,%rcx
140016431:	74 33                	je     0x140016466
140016433:	41 83 f9 01          	cmp    $0x1,%r9d
140016437:	0f 84 be 00 00 00    	je     0x1400164fb
14001643d:	41 83 f9 02          	cmp    $0x2,%r9d
140016441:	0f 85 80 00 00 00    	jne    0x1400164c7
140016447:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14001644e:	48 89 d8             	mov    %rbx,%rax
140016451:	ba 08 00 00 00       	mov    $0x8,%edx
140016456:	48 89 08             	mov    %rcx,(%rax)
140016459:	48 c7 04 13 00 00 00 	movq   $0x0,(%rbx,%rdx,1)
140016460:	00
140016461:	e9 62 fe ff ff       	jmp    0x1400162c8
140016466:	41 83 f9 02          	cmp    $0x2,%r9d
14001646a:	75 07                	jne    0x140016473
14001646c:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140016473:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
14001647a:	48 8d 15 e0 b9 01 00 	lea    0x1b9e0(%rip),%rdx        # 0x140031e61
140016481:	e8 3a 82 ff ff       	call   0x14000e6c0
140016486:	e9 3d fe ff ff       	jmp    0x1400162c8
14001648b:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140016490:	4c 89 c1             	mov    %r8,%rcx
140016493:	48 8d 15 c3 b9 01 00 	lea    0x1b9c3(%rip),%rdx        # 0x140031e5d
14001649a:	ff 15 e0 73 03 00    	call   *0x373e0(%rip)        # 0x14004d880
1400164a0:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1400164a5:	85 c0                	test   %eax,%eax
1400164a7:	0f 85 40 ff ff ff    	jne    0x1400163ed
1400164ad:	4c 89 c1             	mov    %r8,%rcx
1400164b0:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400164b5:	e8 d6 7f ff ff       	call   0x14000e490
1400164ba:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1400164bf:	48 85 c0             	test   %rax,%rax
1400164c2:	48 89 c1             	mov    %rax,%rcx
1400164c5:	74 ac                	je     0x140016473
1400164c7:	48 8b 13             	mov    (%rbx),%rdx
1400164ca:	48 85 d2             	test   %rdx,%rdx
1400164cd:	0f 84 7b ff ff ff    	je     0x14001644e
1400164d3:	48 89 d8             	mov    %rbx,%rax
1400164d6:	48 39 ca             	cmp    %rcx,%rdx
1400164d9:	0f 84 e9 fd ff ff    	je     0x1400162c8
1400164df:	48 8b 50 08          	mov    0x8(%rax),%rdx
1400164e3:	48 83 c0 08          	add    $0x8,%rax
1400164e7:	48 85 d2             	test   %rdx,%rdx
1400164ea:	75 ea                	jne    0x1400164d6
1400164ec:	48 89 c2             	mov    %rax,%rdx
1400164ef:	48 29 da             	sub    %rbx,%rdx
1400164f2:	48 83 c2 08          	add    $0x8,%rdx
1400164f6:	e9 5b ff ff ff       	jmp    0x140016456
1400164fb:	48 8b 03             	mov    (%rbx),%rax
1400164fe:	48 89 da             	mov    %rbx,%rdx
140016501:	48 85 c0             	test   %rax,%rax
140016504:	75 2b                	jne    0x140016531
140016506:	e9 bd fd ff ff       	jmp    0x1400162c8
14001650b:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140016512:	00 00 00 00
140016516:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14001651d:	00 00 00
140016520:	48 8b 42 08          	mov    0x8(%rdx),%rax
140016524:	48 83 c2 08          	add    $0x8,%rdx
140016528:	48 85 c0             	test   %rax,%rax
14001652b:	0f 84 97 fd ff ff    	je     0x1400162c8
140016531:	48 39 c1             	cmp    %rax,%rcx
140016534:	75 ea                	jne    0x140016520
140016536:	48 89 d8             	mov    %rbx,%rax