140215f47:	48 8d 4d b8          	lea    -0x48(%rbp),%rcx
140215f4b:	83 38 00             	cmpl   $0x0,(%rax)
140215f4e:	7e 24                	jle    0x140215f74
140215f50:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140215f55:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140215f5a:	4c 8b ce             	mov    %rsi,%r9
140215f5d:	4c 8b c0             	mov    %rax,%r8
140215f60:	48 8b d7             	mov    %rdi,%rdx
140215f63:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140215f68:	e8 73 8d 00 00       	call   0x14021ece0
140215f6d:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140215f72:	eb 10                	jmp    0x140215f84
140215f74:	4c 8b c7             	mov    %rdi,%r8
140215f77:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140215f7c:	e8 af c0 00 00       	call   0x140222030
140215f81:	48 8b 00             	mov    (%rax),%rax
140215f84:	49 89 07             	mov    %rax,(%r15)
140215f87:	49 8b c7             	mov    %r15,%rax
140215f8a:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140215f8e:	48 33 cc             	xor    %rsp,%rcx
140215f91:	e8 6a 55 c0 00       	call   0x140e1b500
140215f96:	48 8b 9c 24 68 01 00 	mov    0x168(%rsp),%rbx
140215f9d:	00
140215f9e:	48 81 c4 20 01 00 00 	add    $0x120,%rsp
140215fa5:	41 5f                	pop    %r15
140215fa7:	41 5e                	pop    %r14
140215fa9:	41 5d                	pop    %r13
140215fab:	41 5c                	pop    %r12
140215fad:	5f                   	pop    %rdi
140215fae:	5e                   	pop    %rsi
140215faf:	5d                   	pop    %rbp
140215fb0:	c3                   	ret
140215fb1:	e8 ee 41 c1 00       	call   0x140e2a1a4
140215fb6:	cc                   	int3
140215fb7:	e8 e8 41 c1 00       	call   0x140e2a1a4
140215fbc:	cc                   	int3
140215fbd:	cc                   	int3
140215fbe:	cc                   	int3
140215fbf:	cc                   	int3
140215fc0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140215fc5:	55                   	push   %rbp
140215fc6:	56                   	push   %rsi
140215fc7:	57                   	push   %rdi
140215fc8:	41 54                	push   %r12
140215fca:	41 55                	push   %r13
140215fcc:	41 56                	push   %r14
140215fce:	41 57                	push   %r15
140215fd0:	48 8d 6c 24 e0       	lea    -0x20(%rsp),%rbp
140215fd5:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140215fdc:	48 8b 05 1d 2f 1a 01 	mov    0x11a2f1d(%rip),%rax        # 0x1413b8f00
140215fe3:	48 33 c4             	xor    %rsp,%rax
140215fe6:	48 89 45 10          	mov    %rax,0x10(%rbp)
140215fea:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140215fef:	4d 8b f8             	mov    %r8,%r15
140215ff2:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140215ff7:	48 8b fa             	mov    %rdx,%rdi
140215ffa:	4c 8b e1             	mov    %rcx,%r12
140215ffd:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
140216004:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
140216008:	48 8b d0             	mov    %rax,%rdx
14021600b:	48 c1 ea 30          	shr    $0x30,%rdx
14021600f:	4d 8b 28             	mov    (%r8),%r13
140216012:	4c 89 6d 88          	mov    %r13,-0x78(%rbp)
140216016:	45 8b 48 08          	mov    0x8(%r8),%r9d
14021601a:	44 89 4d 94          	mov    %r9d,-0x6c(%rbp)
14021601e:	c6 45 92 30          	movb   $0x30,-0x6e(%rbp)
140216022:	4c 8b d8             	mov    %rax,%r11
140216025:	49 c1 eb 28          	shr    $0x28,%r11
140216029:	44 88 5d 90          	mov    %r11b,-0x70(%rbp)
14021602d:	45 33 f6             	xor    %r14d,%r14d
140216030:	41 8b ce             	mov    %r14d,%ecx
140216033:	45 84 db             	test   %r11b,%r11b
140216036:	0f 95 c1             	setne  %cl
140216039:	41 8d 34 09          	lea    (%r9,%rcx,1),%esi
14021603d:	48 8b 9d 88 00 00 00 	mov    0x88(%rbp),%rbx
140216044:	f6 c2 02             	test   $0x2,%dl
140216047:	74 1f                	je     0x140216068
140216049:	48 8b cb             	mov    %rbx,%rcx
14021604c:	e8 3f ee ff ff       	call   0x140214e90
140216051:	44 0f b6 c0          	movzbl %al,%r8d
140216055:	4c 8b 6d 88          	mov    -0x78(%rbp),%r13
140216059:	44 8b 4d 94          	mov    -0x6c(%rbp),%r9d
14021605d:	44 0f b6 5d 90       	movzbl -0x70(%rbp),%r11d
140216062:	48 8b 45 a0          	mov    -0x60(%rbp),%rax
140216066:	eb 03                	jmp    0x14021606b
140216068:	41 b0 2e             	mov    $0x2e,%r8b
14021606b:	44 88 45 91          	mov    %r8b,-0x6f(%rbp)
14021606f:	45 8b 7f 0c          	mov    0xc(%r15),%r15d
140216073:	43 8d 14 0f          	lea    (%r15,%r9,1),%edx
140216077:	44 8d 52 ff          	lea    -0x1(%rdx),%r10d
14021607b:	48 8b c8             	mov    %rax,%rcx
14021607e:	48 c1 e9 20          	shr    $0x20,%rcx
140216082:	80 f9 01             	cmp    $0x1,%cl
140216085:	0f 84 40 03 00 00    	je     0x1402163cb
14021608b:	84 c9                	test   %cl,%cl
14021608d:	75 1d                	jne    0x1402160ac
14021608f:	41 83 fa fc          	cmp    $0xfffffffc,%r10d
140216093:	0f 8c 32 03 00 00    	jl     0x1402163cb
140216099:	b9 10 00 00 00       	mov    $0x10,%ecx
14021609e:	85 c0                	test   %eax,%eax
1402160a0:	0f 4f c8             	cmovg  %eax,%ecx
1402160a3:	44 3b d1             	cmp    %ecx,%r10d
1402160a6:	0f 8d 1f 03 00 00    	jge    0x1402163cb
1402160ac:	89 55 a8             	mov    %edx,-0x58(%rbp)
1402160af:	45 85 ff             	test   %r15d,%r15d
1402160b2:	0f 88 7a 01 00 00    	js     0x140216232
1402160b8:	49 03 f7             	add    %r15,%rsi
1402160bb:	2b c2                	sub    %edx,%eax
1402160bd:	89 45 98             	mov    %eax,-0x68(%rbp)
1402160c0:	44 0f b6 45 a6       	movzbl -0x5a(%rbp),%r8d
1402160c5:	41 f6 c0 08          	test   $0x8,%r8b
1402160c9:	74 1a                	je     0x1402160e5
1402160cb:	48 ff c6             	inc    %rsi
1402160ce:	85 c0                	test   %eax,%eax
1402160d0:	7f 0e                	jg     0x1402160e0
1402160d2:	80 7d a4 02          	cmpb   $0x2,-0x5c(%rbp)
1402160d6:	74 0d                	je     0x1402160e5
1402160d8:	b8 01 00 00 00       	mov    $0x1,%eax
1402160dd:	89 45 98             	mov    %eax,-0x68(%rbp)
1402160e0:	8b c8                	mov    %eax,%ecx
1402160e2:	48 03 f1             	add    %rcx,%rsi
1402160e5:	41 d0 e8             	shr    $1,%r8b
1402160e8:	41 80 e0 01          	and    $0x1,%r8b
1402160ec:	48 8b d3             	mov    %rbx,%rdx
1402160ef:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1402160f3:	e8 98 ac 00 00       	call   0x140220d90
1402160f8:	90                   	nop
1402160f9:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1402160fd:	4c 8b 4d e8          	mov    -0x18(%rbp),%r9
140216101:	4c 8b 55 00          	mov    0x0(%rbp),%r10
140216105:	49 83 fa 0f          	cmp    $0xf,%r10
140216109:	49 0f 47 d1          	cmova  %r9,%rdx
14021610d:	41 8b ce             	mov    %r14d,%ecx
140216110:	44 8b 7d a8          	mov    -0x58(%rbp),%r15d
140216114:	0f b6 5d 08          	movzbl 0x8(%rbp),%ebx
140216118:	4c 8b 5d f8          	mov    -0x8(%rbp),%r11
14021611c:	0f 1f 40 00          	nopl   0x0(%rax)
140216120:	84 db                	test   %bl,%bl
140216122:	74 42                	je     0x140216166
140216124:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
140216128:	49 83 fa 0f          	cmp    $0xf,%r10
14021612c:	49 0f 47 c1          	cmova  %r9,%rax
140216130:	49 03 c3             	add    %r11,%rax
140216133:	48 3b d0             	cmp    %rax,%rdx
140216136:	75 18                	jne    0x140216150
140216138:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
14021613c:	49 83 fa 0f          	cmp    $0xf,%r10
140216140:	49 0f 47 c1          	cmova  %r9,%rax
140216144:	41 0f be 44 03 ff    	movsbl -0x1(%r11,%rax,1),%eax
14021614a:	03 c8                	add    %eax,%ecx
14021614c:	8b c1                	mov    %ecx,%eax
14021614e:	eb 1b                	jmp    0x14021616b
140216150:	44 0f be 02          	movsbl (%rdx),%r8d
140216154:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140216158:	3c 7d                	cmp    $0x7d,%al
14021615a:	77 0a                	ja     0x140216166
14021615c:	48 ff c2             	inc    %rdx
14021615f:	41 03 c8             	add    %r8d,%ecx
140216162:	8b c1                	mov    %ecx,%eax
140216164:	eb 05                	jmp    0x14021616b
140216166:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
14021616b:	44 3b f8             	cmp    %eax,%r15d
14021616e:	7e 05                	jle    0x140216175
140216170:	41 ff c6             	inc    %r14d
140216173:	eb ab                	jmp    0x140216120
140216175:	41 8b c6             	mov    %r14d,%eax
140216178:	48 03 f0             	add    %rax,%rsi
14021617b:	48 8d 45 90          	lea    -0x70(%rbp),%rax
14021617f:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140216184:	48 8d 45 88          	lea    -0x78(%rbp),%rax
140216188:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14021618d:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140216191:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140216196:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
14021619b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1402161a0:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
1402161a4:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1402161a9:	48 8d 45 a0          	lea    -0x60(%rbp),%rax
1402161ad:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1402161b2:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
1402161b6:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1402161bb:	48 8d 45 98          	lea    -0x68(%rbp),%rax
1402161bf:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1402161c4:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
1402161c8:	48 89 45 80          	mov    %rax,-0x80(%rbp)
1402161cc:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1402161d1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1402161d6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1402161db:	4c 8b ce             	mov    %rsi,%r9
1402161de:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
1402161e3:	48 8b d7             	mov    %rdi,%rdx
1402161e6:	49 8b cc             	mov    %r12,%rcx
1402161e9:	e8 b2 92 00 00       	call   0x14021f4a0
1402161ee:	90                   	nop
1402161ef:	48 8b 55 00          	mov    0x0(%rbp),%rdx
1402161f3:	48 83 fa 0f          	cmp    $0xf,%rdx
1402161f7:	0f 86 a8 02 00 00    	jbe    0x1402164a5
1402161fd:	48 ff c2             	inc    %rdx
140216200:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140216204:	48 8b c1             	mov    %rcx,%rax
140216207:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14021620e:	0f 82 12 01 00 00    	jb     0x140216326
140216214:	48 83 c2 27          	add    $0x27,%rdx
140216218:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14021621c:	48 2b c1             	sub    %rcx,%rax
14021621f:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140216223:	48 83 f8 1f          	cmp    $0x1f,%rax
140216227:	0f 87 a8 02 00 00    	ja     0x1402164d5
14021622d:	e9 f4 00 00 00       	jmp    0x140216326
140216232:	85 d2                	test   %edx,%edx
140216234:	0f 8e f6 00 00 00    	jle    0x140216330
14021623a:	44 0f b6 45 a6       	movzbl -0x5a(%rbp),%r8d
14021623f:	41 2b c1             	sub    %r9d,%eax
140216242:	41 8b ce             	mov    %r14d,%ecx
140216245:	41 f6 c0 08          	test   $0x8,%r8b
140216249:	0f 45 c8             	cmovne %eax,%ecx
14021624c:	89 4d 98             	mov    %ecx,-0x68(%rbp)
14021624f:	85 c9                	test   %ecx,%ecx
140216251:	44 0f 4f f1          	cmovg  %ecx,%r14d
140216255:	41 8d 46 01          	lea    0x1(%r14),%eax
140216259:	48 03 f0             	add    %rax,%rsi
14021625c:	41 d0 e8             	shr    $1,%r8b
14021625f:	41 80 e0 01          	and    $0x1,%r8b
140216263:	48 8b d3             	mov    %rbx,%rdx
140216266:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
14021626a:	e8 21 ab 00 00       	call   0x140220d90
14021626f:	90                   	nop
140216270:	8b 55 94             	mov    -0x6c(%rbp),%edx
140216273:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140216277:	e8 c4 df 00 00       	call   0x140224240
14021627c:	8b c8                	mov    %eax,%ecx
14021627e:	48 03 f1             	add    %rcx,%rsi
140216281:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140216285:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14021628a:	48 8d 45 88          	lea    -0x78(%rbp),%rax
14021628e:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140216293:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
140216297:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14021629c:	48 8d 45 a8          	lea    -0x58(%rbp),%rax
1402162a0:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1402162a5:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
1402162a9:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1402162ae:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
1402162b2:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1402162b7:	48 8d 45 98          	lea    -0x68(%rbp),%rax
1402162bb:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1402162c0:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
1402162c4:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1402162c9:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1402162ce:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1402162d3:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1402162d8:	4c 8b ce             	mov    %rsi,%r9
1402162db:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
1402162e0:	48 8b d7             	mov    %rdi,%rdx
1402162e3:	49 8b cc             	mov    %r12,%rcx
1402162e6:	e8 25 97 00 00       	call   0x14021fa10
1402162eb:	90                   	nop
1402162ec:	48 8b 55 c8          	mov    -0x38(%rbp),%rdx
1402162f0:	48 83 fa 0f          	cmp    $0xf,%rdx
1402162f4:	0f 86 ab 01 00 00    	jbe    0x1402164a5
1402162fa:	48 ff c2             	inc    %rdx
1402162fd:	48 8b 4d b0          	mov    -0x50(%rbp),%rcx
140216301:	48 8b c1             	mov    %rcx,%rax
140216304:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14021630b:	72 19                	jb     0x140216326
14021630d:	48 83 c2 27          	add    $0x27,%rdx
140216311:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140216315:	48 2b c1             	sub    %rcx,%rax
140216318:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14021631c:	48 83 f8 1f          	cmp    $0x1f,%rax
140216320:	0f 87 a9 01 00 00    	ja     0x1402164cf
140216326:	e8 19 4e c0 00       	call   0x140e1b144
14021632b:	e9 75 01 00 00       	jmp    0x1402164a5
140216330:	f7 da                	neg    %edx
140216332:	89 55 ac             	mov    %edx,-0x54(%rbp)
140216335:	8b ca                	mov    %edx,%ecx
140216337:	45 85 c9             	test   %r9d,%r9d
14021633a:	75 0f                	jne    0x14021634b
14021633c:	85 c0                	test   %eax,%eax
14021633e:	78 0b                	js     0x14021634b
140216340:	3b c2                	cmp    %edx,%eax
140216342:	7d 07                	jge    0x14021634b
140216344:	8b d0                	mov    %eax,%edx
140216346:	89 45 ac             	mov    %eax,-0x54(%rbp)
140216349:	8b c8                	mov    %eax,%ecx
14021634b:	85 c9                	test   %ecx,%ecx
14021634d:	75 0f                	jne    0x14021635e
14021634f:	45 85 c9             	test   %r9d,%r9d
140216352:	75 0a                	jne    0x14021635e
140216354:	f6 45 a6 08          	testb  $0x8,-0x5a(%rbp)
140216358:	75 04                	jne    0x14021635e
14021635a:	32 c0                	xor    %al,%al
14021635c:	eb 02                	jmp    0x140216360
14021635e:	b0 01                	mov    $0x1,%al
140216360:	88 45 93             	mov    %al,-0x6d(%rbp)
140216363:	0f b6 c0             	movzbl %al,%eax
140216366:	ff c2                	inc    %edx
140216368:	03 c2                	add    %edx,%eax
14021636a:	48 03 f0             	add    %rax,%rsi
14021636d:	48 8d 45 90          	lea    -0x70(%rbp),%rax
140216371:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
140216375:	48 8d 45 92          	lea    -0x6e(%rbp),%rax
140216379:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
14021637d:	48 8d 45 93          	lea    -0x6d(%rbp),%rax
140216381:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
140216385:	48 8d 45 91          	lea    -0x6f(%rbp),%rax
140216389:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
14021638d:	48 8d 45 ac          	lea    -0x54(%rbp),%rax
140216391:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140216395:	48 8d 45 88          	lea    -0x78(%rbp),%rax
140216399:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14021639d:	48 8d 45 94          	lea    -0x6c(%rbp),%rax
1402163a1:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1402163a5:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
1402163a9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1402163ae:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1402163b3:	4c 8b ce             	mov    %rsi,%r9
1402163b6:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
1402163bb:	48 8b d7             	mov    %rdi,%rdx
1402163be:	49 8b cc             	mov    %r12,%rcx
1402163c1:	e8 fa 9a 00 00       	call   0x14021fec0
1402163c6:	e9 da 00 00 00       	jmp    0x1402164a5
1402163cb:	41 8b de             	mov    %r14d,%ebx
1402163ce:	0f b6 55 a6          	movzbl -0x5a(%rbp),%edx
1402163d2:	f6 c2 08             	test   $0x8,%dl
1402163d5:	74 0b                	je     0x1402163e2
1402163d7:	41 2b c1             	sub    %r9d,%eax
1402163da:	0f 49 d8             	cmovns %eax,%ebx
1402163dd:	48 03 f3             	add    %rbx,%rsi
1402163e0:	eb 0d                	jmp    0x1402163ef
1402163e2:	41 83 f9 01          	cmp    $0x1,%r9d
1402163e6:	75 07                	jne    0x1402163ef
1402163e8:	45 32 c0             	xor    %r8b,%r8b
1402163eb:	44 88 45 91          	mov    %r8b,-0x6f(%rbp)
1402163ef:	41 8b c2             	mov    %r10d,%eax
1402163f2:	f7 d8                	neg    %eax
1402163f4:	41 0f 48 c2          	cmovs  %r10d,%eax
1402163f8:	b9 02 00 00 00       	mov    $0x2,%ecx
1402163fd:	83 f8 64             	cmp    $0x64,%eax
140216400:	7c 0f                	jl     0x140216411
140216402:	49 8b ce             	mov    %r14,%rcx
140216405:	3d e8 03 00 00       	cmp    $0x3e8,%eax
14021640a:	0f 9d c1             	setge  %cl
14021640d:	48 83 c1 03          	add    $0x3,%rcx
140216411:	45 84 c0             	test   %r8b,%r8b
140216414:	41 0f 95 c6          	setne  %r14b
140216418:	49 83 c6 02          	add    $0x2,%r14
14021641c:	4c 03 f1             	add    %rcx,%r14
14021641f:	49 03 f6             	add    %r14,%rsi
140216422:	0f 57 c0             	xorps  %xmm0,%xmm0