140166023:	8b f9                	mov    %ecx,%edi
140166025:	45 8b f0             	mov    %r8d,%r14d
140166028:	41 8b ca             	mov    %r10d,%ecx
14016602b:	8b d1                	mov    %ecx,%edx
14016602d:	85 f6                	test   %esi,%esi
14016602f:	75 1b                	jne    0x14016604c
140166031:	83 f9 ff             	cmp    $0xffffffff,%ecx
140166034:	b8 04 00 00 00       	mov    $0x4,%eax
140166039:	0f 44 c8             	cmove  %eax,%ecx
14016603c:	41 8d 40 01          	lea    0x1(%r8),%eax
140166040:	83 fa ff             	cmp    $0xffffffff,%edx
140166043:	45 8b c1             	mov    %r9d,%r8d
140166046:	44 0f 45 c0          	cmovne %eax,%r8d
14016604a:	eb 17                	jmp    0x140166063
14016604c:	83 f9 ff             	cmp    $0xffffffff,%ecx
14016604f:	74 12                	je     0x140166063
140166051:	83 ff ff             	cmp    $0xffffffff,%edi
140166054:	74 05                	je     0x14016605b
140166056:	45 3b c6             	cmp    %r14d,%r8d
140166059:	7e 05                	jle    0x140166060
14016605b:	8b f9                	mov    %ecx,%edi
14016605d:	45 8b f0             	mov    %r8d,%r14d
140166060:	41 8b ca             	mov    %r10d,%ecx
140166063:	8b d1                	mov    %ecx,%edx
140166065:	41 bb 05 00 00 00    	mov    $0x5,%r11d
14016606b:	45 85 ed             	test   %r13d,%r13d
14016606e:	75 17                	jne    0x140166087
140166070:	83 f9 ff             	cmp    $0xffffffff,%ecx
140166073:	41 8d 40 01          	lea    0x1(%r8),%eax
140166077:	45 8b c1             	mov    %r9d,%r8d
14016607a:	41 0f 44 cb          	cmove  %r11d,%ecx
14016607e:	83 fa ff             	cmp    $0xffffffff,%edx
140166081:	44 0f 45 c0          	cmovne %eax,%r8d
140166085:	eb 17                	jmp    0x14016609e
140166087:	83 f9 ff             	cmp    $0xffffffff,%ecx
14016608a:	74 12                	je     0x14016609e
14016608c:	83 ff ff             	cmp    $0xffffffff,%edi
14016608f:	74 05                	je     0x140166096
140166091:	45 3b c6             	cmp    %r14d,%r8d
140166094:	7e 05                	jle    0x14016609b
140166096:	8b f9                	mov    %ecx,%edi
140166098:	45 8b f0             	mov    %r8d,%r14d
14016609b:	41 8b ca             	mov    %r10d,%ecx
14016609e:	8b d1                	mov    %ecx,%edx
1401660a0:	85 ed                	test   %ebp,%ebp
1401660a2:	75 1b                	jne    0x1401660bf
1401660a4:	83 f9 ff             	cmp    $0xffffffff,%ecx
1401660a7:	b8 06 00 00 00       	mov    $0x6,%eax
1401660ac:	0f 44 c8             	cmove  %eax,%ecx
1401660af:	41 8d 40 01          	lea    0x1(%r8),%eax
1401660b3:	83 fa ff             	cmp    $0xffffffff,%edx
1401660b6:	45 8b c1             	mov    %r9d,%r8d
1401660b9:	44 0f 45 c0          	cmovne %eax,%r8d
1401660bd:	eb 17                	jmp    0x1401660d6
1401660bf:	83 f9 ff             	cmp    $0xffffffff,%ecx
1401660c2:	74 12                	je     0x1401660d6
1401660c4:	83 ff ff             	cmp    $0xffffffff,%edi
1401660c7:	74 05                	je     0x1401660ce
1401660c9:	45 3b c6             	cmp    %r14d,%r8d
1401660cc:	7e 05                	jle    0x1401660d3
1401660ce:	8b f9                	mov    %ecx,%edi
1401660d0:	45 8b f0             	mov    %r8d,%r14d
1401660d3:	41 8b ca             	mov    %r10d,%ecx
1401660d6:	45 85 e4             	test   %r12d,%r12d
1401660d9:	75 5c                	jne    0x140166137
1401660db:	83 f9 ff             	cmp    $0xffffffff,%ecx
1401660de:	b8 07 00 00 00       	mov    $0x7,%eax
1401660e3:	8b d1                	mov    %ecx,%edx
1401660e5:	0f 44 d0             	cmove  %eax,%edx
1401660e8:	41 8d 40 01          	lea    0x1(%r8),%eax
1401660ec:	44 0f 45 c8          	cmovne %eax,%r9d
1401660f0:	83 ff ff             	cmp    $0xffffffff,%edi
1401660f3:	74 05                	je     0x1401660fa
1401660f5:	45 3b ce             	cmp    %r14d,%r9d
1401660f8:	7e 05                	jle    0x1401660ff
1401660fa:	8b fa                	mov    %edx,%edi
1401660fc:	45 8b f1             	mov    %r9d,%r14d
1401660ff:	45 8b e6             	mov    %r14d,%r12d
140166102:	83 ff ff             	cmp    $0xffffffff,%edi
140166105:	74 08                	je     0x14016610f
140166107:	41 83 fe 02          	cmp    $0x2,%r14d
14016610b:	41 0f 4c fa          	cmovl  %r10d,%edi
14016610f:	48 8d 5c 24 58       	lea    0x58(%rsp),%rbx
140166114:	49 8b ef             	mov    %r15,%rbp
140166117:	83 ff ff             	cmp    $0xffffffff,%edi
14016611a:	74 34                	je     0x140166150
14016611c:	44 3b ff             	cmp    %edi,%r15d
14016611f:	7c 2f                	jl     0x140166150
140166121:	41 8d 04 3e          	lea    (%r14,%rdi,1),%eax
140166125:	44 3b f8             	cmp    %eax,%r15d
140166128:	7d 26                	jge    0x140166150
14016612a:	44 3b ff             	cmp    %edi,%r15d
14016612d:	75 7c                	jne    0x1401661ab
14016612f:	c6 03 3a             	movb   $0x3a,(%rbx)
140166132:	48 ff c3             	inc    %rbx
140166135:	eb 74                	jmp    0x1401661ab
140166137:	83 f9 ff             	cmp    $0xffffffff,%ecx
14016613a:	74 c3                	je     0x1401660ff
14016613c:	83 ff ff             	cmp    $0xffffffff,%edi
14016613f:	74 05                	je     0x140166146
140166141:	45 3b c6             	cmp    %r14d,%r8d
140166144:	7e 05                	jle    0x14016614b
140166146:	8b f9                	mov    %ecx,%edi
140166148:	45 8b f0             	mov    %r8d,%r14d
14016614b:	45 8b e6             	mov    %r14d,%r12d
14016614e:	eb b7                	jmp    0x140166107
140166150:	48 85 ed             	test   %rbp,%rbp
140166153:	74 2f                	je     0x140166184
140166155:	c6 03 3a             	movb   $0x3a,(%rbx)
140166158:	48 ff c3             	inc    %rbx
14016615b:	48 8b f3             	mov    %rbx,%rsi
14016615e:	48 83 fd 06          	cmp    $0x6,%rbp
140166162:	75 20                	jne    0x140166184
140166164:	85 ff                	test   %edi,%edi
140166166:	75 1c                	jne    0x140166184
140166168:	44 3b f5             	cmp    %ebp,%r14d
14016616b:	0f 84 c9 00 00 00    	je     0x14016623a
140166171:	41 83 fe 05          	cmp    $0x5,%r14d
140166175:	75 0d                	jne    0x140166184
140166177:	41 81 fd ff ff 00 00 	cmp    $0xffff,%r13d
14016617e:	0f 84 b6 00 00 00    	je     0x14016623a
140166184:	44 8b 4c ac 38       	mov    0x38(%rsp,%rbp,4),%r9d
140166189:	4c 8d 05 a0 1e 1d 00 	lea    0x1d1ea0(%rip),%r8        # 0x140338030
140166190:	49 8b d3             	mov    %r11,%rdx
140166193:	48 8b cb             	mov    %rbx,%rcx
140166196:	e8 45 74 ff ff       	call   0x14015d5e0
14016619b:	48 63 c8             	movslq %eax,%rcx
14016619e:	41 bb 05 00 00 00    	mov    $0x5,%r11d
1401661a4:	48 03 d9             	add    %rcx,%rbx
1401661a7:	41 8d 04 3c          	lea    (%r12,%rdi,1),%eax
1401661ab:	41 ff c7             	inc    %r15d
1401661ae:	48 ff c5             	inc    %rbp
1401661b1:	48 83 fd 08          	cmp    $0x8,%rbp
1401661b5:	0f 8c 5c ff ff ff    	jl     0x140166117
1401661bb:	83 ff ff             	cmp    $0xffffffff,%edi
1401661be:	74 0b                	je     0x1401661cb
1401661c0:	83 f8 08             	cmp    $0x8,%eax
1401661c3:	75 06                	jne    0x1401661cb
1401661c5:	c6 03 3a             	movb   $0x3a,(%rbx)
1401661c8:	48 ff c3             	inc    %rbx
1401661cb:	c6 03 00             	movb   $0x0,(%rbx)
1401661ce:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
1401661d3:	48 2b d8             	sub    %rax,%rbx
1401661d6:	48 ff c3             	inc    %rbx
1401661d9:	48 3b 5c 24 28       	cmp    0x28(%rsp),%rbx
1401661de:	77 77                	ja     0x140166257
1401661e0:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1401661e5:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401661ea:	4c 8b c0             	mov    %rax,%r8
1401661ed:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
1401661f2:	4c 2b c1             	sub    %rcx,%r8
1401661f5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1401661fc:	00 00 00 00
140166200:	0f b6 0a             	movzbl (%rdx),%ecx
140166203:	42 88 0c 02          	mov    %cl,(%rdx,%r8,1)
140166207:	48 8d 52 01          	lea    0x1(%rdx),%rdx
14016620b:	84 c9                	test   %cl,%cl
14016620d:	75 f1                	jne    0x140166200
14016620f:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140166216:	00
140166217:	48 33 cc             	xor    %rsp,%rcx
14016621a:	e8 21 44 19 00       	call   0x1402fa640
14016621f:	48 8b 9c 24 e0 00 00 	mov    0xe0(%rsp),%rbx
140166226:	00
140166227:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
14016622e:	41 5f                	pop    %r15
140166230:	41 5e                	pop    %r14
140166232:	41 5d                	pop    %r13
140166234:	41 5c                	pop    %r12
140166236:	5f                   	pop    %rdi
140166237:	5e                   	pop    %rsi
140166238:	5d                   	pop    %rbp
140166239:	c3                   	ret
14016623a:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
14016623f:	4c 8d 84 24 86 00 00 	lea    0x86(%rsp),%r8
140166246:	00
140166247:	4c 2b c6             	sub    %rsi,%r8
14016624a:	48 8b d6             	mov    %rsi,%rdx
14016624d:	e8 2e fb ff ff       	call   0x140165d80
140166252:	48 85 c0             	test   %rax,%rax
140166255:	75 10                	jne    0x140166267
140166257:	ff 15 bb 3d 1c 00    	call   *0x1c3dbb(%rip)        # 0x14032a018
14016625d:	c7 00 1c 00 00 00    	movl   $0x1c,(%rax)
140166263:	33 c0                	xor    %eax,%eax
140166265:	eb a8                	jmp    0x14016620f
140166267:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
14016626e:	66 90                	xchg   %ax,%ax
140166270:	48 ff c3             	inc    %rbx
140166273:	80 3c 1e 00          	cmpb   $0x0,(%rsi,%rbx,1)
140166277:	75 f7                	jne    0x140166270
140166279:	48 03 de             	add    %rsi,%rbx
14016627c:	41 8d 04 3c          	lea    (%r12,%rdi,1),%eax
140166280:	e9 3b ff ff ff       	jmp    0x1401661c0
140166285:	cc                   	int3
140166286:	cc                   	int3
140166287:	cc                   	int3
140166288:	cc                   	int3
140166289:	cc                   	int3
14016628a:	cc                   	int3
14016628b:	cc                   	int3
14016628c:	cc                   	int3
14016628d:	cc                   	int3
14016628e:	cc                   	int3
14016628f:	cc                   	int3
140166290:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140166295:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14016629a:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14016629f:	56                   	push   %rsi
1401662a0:	57                   	push   %rdi
1401662a1:	41 54                	push   %r12
1401662a3:	41 55                	push   %r13
1401662a5:	41 56                	push   %r14
1401662a7:	48 83 ec 20          	sub    $0x20,%rsp
1401662ab:	44 8b 6a 20          	mov    0x20(%rdx),%r13d
1401662af:	33 f6                	xor    %esi,%esi
1401662b1:	4c 8b 62 18          	mov    0x18(%rdx),%r12
1401662b5:	48 8b fa             	mov    %rdx,%rdi
1401662b8:	8b 52 10             	mov    0x10(%rdx),%edx
1401662bb:	4c 8b f1             	mov    %rcx,%r14
1401662be:	8b ee                	mov    %esi,%ebp
1401662c0:	8d 42 ff             	lea    -0x1(%rdx),%eax
1401662c3:	a9 fa ff ff ff       	test   $0xfffffffa,%eax
1401662c8:	74 2d                	je     0x1401662f7
1401662ca:	83 fa 04             	cmp    $0x4,%edx
1401662cd:	75 0d                	jne    0x1401662dc
1401662cf:	49 8b cc             	mov    %r12,%rcx
1401662d2:	ff 15 38 ca 29 00    	call   *0x29ca38(%rip)        # 0x140402d10
1401662d8:	48 89 77 18          	mov    %rsi,0x18(%rdi)
1401662dc:	39 77 10             	cmp    %esi,0x10(%rdi)
1401662df:	74 0c                	je     0x1401662ed
1401662e1:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
1401662e5:	e8 a6 7e 02 00       	call   0x14018e190
1401662ea:	89 77 10             	mov    %esi,0x10(%rdi)
1401662ed:	b8 17 00 00 00       	mov    $0x17,%eax
1401662f2:	e9 86 02 00 00       	jmp    0x14016657d
1401662f7:	b9 00 40 00 00       	mov    $0x4000,%ecx
1401662fc:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
140166301:	ff 15 01 ca 29 00    	call   *0x29ca01(%rip)        # 0x140402d08
140166307:	4c 8b f8             	mov    %rax,%r15
14016630a:	48 85 c0             	test   %rax,%rax
14016630d:	75 31                	jne    0x140166340
14016630f:	83 7f 10 04          	cmpl   $0x4,0x10(%rdi)
140166313:	75 0e                	jne    0x140166323
140166315:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140166319:	ff 15 f1 c9 29 00    	call   *0x29c9f1(%rip)        # 0x140402d10
14016631f:	48 89 77 18          	mov    %rsi,0x18(%rdi)
140166323:	39 77 10             	cmp    %esi,0x10(%rdi)
140166326:	74 0c                	je     0x140166334
140166328:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
14016632c:	e8 5f 7e 02 00       	call   0x14018e190
140166331:	89 77 10             	mov    %esi,0x10(%rdi)
140166334:	b8 1b 00 00 00       	mov    $0x1b,%eax
140166339:	e9 3a 02 00 00       	jmp    0x140166578
14016633e:	66 90                	xchg   %ax,%ax
140166340:	ba 05 00 00 00       	mov    $0x5,%edx
140166345:	4c 89 7f 28          	mov    %r15,0x28(%rdi)
140166349:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
14016634d:	c7 47 30 00 40 00 00 	movl   $0x4000,0x30(%rdi)
140166354:	e8 b7 65 02 00       	call   0x14018c910
140166359:	81 7f 30 00 40 00 00 	cmpl   $0x4000,0x30(%rdi)
140166360:	8b f0                	mov    %eax,%esi
140166362:	74 36                	je     0x14016639a
140166364:	83 f8 01             	cmp    $0x1,%eax
140166367:	77 31                	ja     0x14016639a
140166369:	8b 44 24 60          	mov    0x60(%rsp),%eax
14016636d:	41 b9 00 40 00 00    	mov    $0x4000,%r9d
140166373:	89 47 10             	mov    %eax,0x10(%rdi)
140166376:	44 2b 4f 30          	sub    0x30(%rdi),%r9d
14016637a:	75 04                	jne    0x140166380
14016637c:	33 ed                	xor    %ebp,%ebp
14016637e:	eb 1a                	jmp    0x14016639a
140166380:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140166384:	4d 8b c7             	mov    %r15,%r8
140166387:	49 8b ce             	mov    %r14,%rcx
14016638a:	48 8b 02             	mov    (%rdx),%rax
14016638d:	ff 50 18             	call   *0x18(%rax)
140166390:	8b e8                	mov    %eax,%ebp
140166392:	85 c0                	test   %eax,%eax
140166394:	0f 85 fd 00 00 00    	jne    0x140166497
14016639a:	83 fe fb             	cmp    $0xfffffffb,%esi
14016639d:	0f 84 b8 01 00 00    	je     0x14016655b
1401663a3:	83 fe fd             	cmp    $0xfffffffd,%esi
1401663a6:	0f 84 9e 00 00 00    	je     0x14016644a
1401663ac:	85 f6                	test   %esi,%esi
1401663ae:	74 90                	je     0x140166340
1401663b0:	83 fe 01             	cmp    $0x1,%esi
1401663b3:	0f 85 49 01 00 00    	jne    0x140166502
1401663b9:	8b 57 14             	mov    0x14(%rdi),%edx
1401663bc:	45 33 e4             	xor    %r12d,%r12d
1401663bf:	8b 47 20             	mov    0x20(%rdi),%eax
1401663c2:	41 8b ec             	mov    %r12d,%ebp
1401663c5:	3b c2                	cmp    %edx,%eax
1401663c7:	0f 43 c2             	cmovae %edx,%eax
1401663ca:	2b d0                	sub    %eax,%edx
1401663cc:	8b c8                	mov    %eax,%ecx
1401663ce:	89 57 14             	mov    %edx,0x14(%rdi)
1401663d1:	48 8b 47 18          	mov    0x18(%rdi),%rax
1401663d5:	29 4f 20             	sub    %ecx,0x20(%rdi)
1401663d8:	48 8d 0c 01          	lea    (%rcx,%rax,1),%rcx
1401663dc:	48 89 4f 18          	mov    %rcx,0x18(%rdi)
1401663e0:	0f 84 e8 00 00 00    	je     0x1401664ce
1401663e6:	be 17 00 00 00       	mov    $0x17,%esi
1401663eb:	83 7f 10 04          	cmpl   $0x4,0x10(%rdi)
1401663ef:	8b ee                	mov    %esi,%ebp
1401663f1:	75 0a                	jne    0x1401663fd
1401663f3:	ff 15 17 c9 29 00    	call   *0x29c917(%rip)        # 0x140402d10
1401663f9:	4c 89 67 18          	mov    %r12,0x18(%rdi)
1401663fd:	44 39 67 10          	cmp    %r12d,0x10(%rdi)
140166401:	0f 84 54 01 00 00    	je     0x14016655b
140166407:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
14016640b:	e8 80 7d 02 00       	call   0x14018e190
140166410:	85 c0                	test   %eax,%eax
140166412:	0f 84 dd 00 00 00    	je     0x1401664f5
140166418:	85 f6                	test   %esi,%esi
14016641a:	0f 85 d5 00 00 00    	jne    0x1401664f5
140166420:	4c 8b 47 38          	mov    0x38(%rdi),%r8
140166424:	49 8b ce             	mov    %r14,%rcx
140166427:	4d 85 c0             	test   %r8,%r8
14016642a:	0f 84 b4 00 00 00    	je     0x1401664e4
140166430:	48 8d 15 19 1d 1d 00 	lea    0x1d1d19(%rip),%rdx        # 0x140338150
140166437:	e8 f4 c2 fd ff       	call   0x140142730
14016643c:	bd 3d 00 00 00       	mov    $0x3d,%ebp
140166441:	44 89 67 10          	mov    %r12d,0x10(%rdi)
140166445:	e9 11 01 00 00       	jmp    0x14016655b
14016644a:	83 7f 10 01          	cmpl   $0x1,0x10(%rdi)
14016644e:	0f 85 ae 00 00 00    	jne    0x140166502
140166454:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140166458:	e8 33 7d 02 00       	call   0x14018e190
14016645d:	41 b9 58 00 00 00    	mov    $0x58,%r9d
140166463:	4c 8d 05 96 6c 1c 00 	lea    0x1c6c96(%rip),%r8        # 0x14032d100
14016646a:	ba f1 ff ff ff       	mov    $0xfffffff1,%edx
14016646f:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140166473:	e8 98 7d 02 00       	call   0x14018e210
140166478:	85 c0                	test   %eax,%eax
14016647a:	75 7f                	jne    0x1401664fb
14016647c:	4c 89 67 18          	mov    %r12,0x18(%rdi)
140166480:	44 89 6f 20          	mov    %r13d,0x20(%rdi)
140166484:	c7 47 10 02 00 00 00 	movl   $0x2,0x10(%rdi)
14016648b:	c7 47 14 04 00 00 00 	movl   $0x4,0x14(%rdi)
140166492:	e9 a9 fe ff ff       	jmp    0x140166340
140166497:	83 7f 10 04          	cmpl   $0x4,0x10(%rdi)
14016649b:	75 12                	jne    0x1401664af
14016649d:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
1401664a1:	ff 15 69 c8 29 00    	call   *0x29c869(%rip)        # 0x140402d10
1401664a7:	48 c7 47 18 00 00 00 	movq   $0x0,0x18(%rdi)
1401664ae:	00
1401664af:	83 7f 10 00          	cmpl   $0x0,0x10(%rdi)
1401664b3:	0f 84 a2 00 00 00    	je     0x14016655b
1401664b9:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
1401664bd:	e8 ce 7c 02 00       	call   0x14018e190