14005de84:	5f                   	pop    %rdi
14005de85:	5e                   	pop    %rsi
14005de86:	41 5c                	pop    %r12
14005de88:	41 5d                	pop    %r13
14005de8a:	41 5e                	pop    %r14
14005de8c:	41 5f                	pop    %r15
14005de8e:	c3                   	ret
14005de8f:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
14005de94:	4c 39 c7             	cmp    %r8,%rdi
14005de97:	0f 84 cc 00 00 00    	je     0x14005df69
14005de9d:	48 8b 06             	mov    (%rsi),%rax
14005dea0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005dea5:	48 b8 f2 ff ff ff ff 	movabs $0x3ffffffffffffff2,%rax
14005deac:	ff ff 3f
14005deaf:	48 39 c7             	cmp    %rax,%rdi
14005deb2:	76 11                	jbe    0x14005dec5
14005deb4:	eb 39                	jmp    0x14005deef
14005deb6:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
14005debb:	bf 16 00 00 00       	mov    $0x16,%edi
14005dec0:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14005dec5:	48 8d 04 3f          	lea    (%rdi,%rdi,1),%rax
14005dec9:	48 8d 4f 01          	lea    0x1(%rdi),%rcx
14005decd:	48 39 c1             	cmp    %rax,%rcx
14005ded0:	48 0f 47 c1          	cmova  %rcx,%rax
14005ded4:	48 89 c1             	mov    %rax,%rcx
14005ded7:	48 83 c9 07          	or     $0x7,%rcx
14005dedb:	4c 8d 41 01          	lea    0x1(%rcx),%r8
14005dedf:	48 83 f9 17          	cmp    $0x17,%rcx
14005dee3:	4d 0f 44 c1          	cmove  %r9,%r8
14005dee7:	48 83 f8 17          	cmp    $0x17,%rax
14005deeb:	4d 0f 42 c2          	cmovb  %r10,%r8
14005deef:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
14005def4:	4c 89 c1             	mov    %r8,%rcx
14005def7:	e8 98 ff 00 00       	call   0x14006de94
14005defc:	49 89 c7             	mov    %rax,%r15
14005deff:	48 85 ff             	test   %rdi,%rdi
14005df02:	75 39                	jne    0x14005df3d
14005df04:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
14005df09:	e8 c2 ff 00 00       	call   0x14006ded0
14005df0e:	4c 89 3e             	mov    %r15,(%rsi)
14005df11:	4c 8b 5c 24 28       	mov    0x28(%rsp),%r11
14005df16:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14005df1b:	4c 09 d8             	or     %r11,%rax
14005df1e:	48 89 46 10          	mov    %rax,0x10(%rsi)
14005df22:	49 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r8
14005df29:	ff ff 7f
14005df2c:	41 b9 19 00 00 00    	mov    $0x19,%r9d
14005df32:	41 ba 17 00 00 00    	mov    $0x17,%r10d
14005df38:	e9 34 ff ff ff       	jmp    0x14005de71
14005df3d:	78 28                	js     0x14005df67
14005df3f:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
14005df44:	4c 39 fa             	cmp    %r15,%rdx
14005df47:	72 0b                	jb     0x14005df54
14005df49:	4c 89 f8             	mov    %r15,%rax
14005df4c:	48 01 f8             	add    %rdi,%rax
14005df4f:	48 39 c2             	cmp    %rax,%rdx
14005df52:	72 13                	jb     0x14005df67
14005df54:	4c 89 f9             	mov    %r15,%rcx
14005df57:	49 89 f8             	mov    %rdi,%r8
14005df5a:	e8 11 fc 03 00       	call   0x14009db70
14005df5f:	48 83 ff 16          	cmp    $0x16,%rdi
14005df63:	74 a9                	je     0x14005df0e
14005df65:	eb 9d                	jmp    0x14005df04
14005df67:	0f 0b                	ud2
14005df69:	48 89 f1             	mov    %rsi,%rcx
14005df6c:	e8 cf 13 04 00       	call   0x14009f340
14005df71:	cc                   	int3
14005df72:	cc                   	int3
14005df73:	cc                   	int3
14005df74:	cc                   	int3
14005df75:	cc                   	int3
14005df76:	cc                   	int3
14005df77:	cc                   	int3
14005df78:	cc                   	int3
14005df79:	cc                   	int3
14005df7a:	cc                   	int3
14005df7b:	cc                   	int3
14005df7c:	cc                   	int3
14005df7d:	cc                   	int3
14005df7e:	cc                   	int3
14005df7f:	cc                   	int3
14005df80:	41 57                	push   %r15
14005df82:	41 56                	push   %r14
14005df84:	41 55                	push   %r13
14005df86:	41 54                	push   %r12
14005df88:	56                   	push   %rsi
14005df89:	57                   	push   %rdi
14005df8a:	55                   	push   %rbp
14005df8b:	53                   	push   %rbx
14005df8c:	48 83 ec 28          	sub    $0x28,%rsp
14005df90:	48 89 ce             	mov    %rcx,%rsi
14005df93:	49 8b 38             	mov    (%r8),%rdi
14005df96:	49 8b 58 08          	mov    0x8(%r8),%rbx
14005df9a:	4c 8b 32             	mov    (%rdx),%r14
14005df9d:	4c 8b 7a 08          	mov    0x8(%rdx),%r15
14005dfa1:	41 f6 c1 01          	test   $0x1,%r9b
14005dfa5:	0f 84 ef 00 00 00    	je     0x14005e09a
14005dfab:	48 85 db             	test   %rbx,%rbx
14005dfae:	0f 84 fe 00 00 00    	je     0x14005e0b2
14005dfb4:	48 85 ff             	test   %rdi,%rdi
14005dfb7:	0f 84 e5 00 00 00    	je     0x14005e0a2
14005dfbd:	49 c7 c4 ff ff ff ff 	mov    $0xffffffffffffffff,%r12
14005dfc4:	4d 85 ff             	test   %r15,%r15
14005dfc7:	74 35                	je     0x14005dffe
14005dfc9:	44 89 4c 24 24       	mov    %r9d,0x24(%rsp)
14005dfce:	48 89 f5             	mov    %rsi,%rbp
14005dfd1:	4c 89 fe             	mov    %r15,%rsi
14005dfd4:	4d 89 f5             	mov    %r14,%r13
14005dfd7:	41 0f be 55 00       	movsbl 0x0(%r13),%edx
14005dfdc:	48 89 f9             	mov    %rdi,%rcx
14005dfdf:	49 89 d8             	mov    %rbx,%r8
14005dfe2:	e8 e9 f9 03 00       	call   0x14009d9d0
14005dfe7:	48 85 c0             	test   %rax,%rax
14005dfea:	0f 85 8c 00 00 00    	jne    0x14005e07c
14005dff0:	48 89 ee             	mov    %rbp,%rsi
14005dff3:	44 8b 4c 24 24       	mov    0x24(%rsp),%r9d
14005dff8:	4d 29 f5             	sub    %r14,%r13
14005dffb:	4d 89 ec             	mov    %r13,%r12
14005dffe:	41 f6 c1 02          	test   $0x2,%r9b
14005e002:	0f 84 8d 00 00 00    	je     0x14005e095
14005e008:	48 85 db             	test   %rbx,%rbx
14005e00b:	0f 84 93 00 00 00    	je     0x14005e0a4
14005e011:	48 85 ff             	test   %rdi,%rdi
14005e014:	0f 84 88 00 00 00    	je     0x14005e0a2
14005e01a:	45 31 ed             	xor    %r13d,%r13d
14005e01d:	4c 89 fd             	mov    %r15,%rbp
14005e020:	48 85 ed             	test   %rbp,%rbp
14005e023:	74 25                	je     0x14005e04a
14005e025:	41 0f be 54 2e ff    	movsbl -0x1(%r14,%rbp,1),%edx
14005e02b:	48 89 f9             	mov    %rdi,%rcx
14005e02e:	49 89 d8             	mov    %rbx,%r8
14005e031:	e8 9a f9 03 00       	call   0x14009d9d0
14005e036:	48 ff cd             	dec    %rbp
14005e039:	48 85 c0             	test   %rax,%rax
14005e03c:	75 e2                	jne    0x14005e020
14005e03e:	4c 01 f5             	add    %r14,%rbp
14005e041:	49 89 ed             	mov    %rbp,%r13
14005e044:	4d 29 f5             	sub    %r14,%r13
14005e047:	49 ff c5             	inc    %r13
14005e04a:	4d 29 e5             	sub    %r12,%r13
14005e04d:	4d 39 e7             	cmp    %r12,%r15
14005e050:	4d 0f 42 e7          	cmovb  %r15,%r12
14005e054:	4d 29 e7             	sub    %r12,%r15
14005e057:	4d 39 ef             	cmp    %r13,%r15
14005e05a:	4d 0f 43 fd          	cmovae %r13,%r15
14005e05e:	4d 01 e6             	add    %r12,%r14
14005e061:	4c 89 36             	mov    %r14,(%rsi)
14005e064:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
14005e068:	48 89 f0             	mov    %rsi,%rax
14005e06b:	48 83 c4 28          	add    $0x28,%rsp
14005e06f:	5b                   	pop    %rbx
14005e070:	5d                   	pop    %rbp
14005e071:	5f                   	pop    %rdi
14005e072:	5e                   	pop    %rsi
14005e073:	41 5c                	pop    %r12
14005e075:	41 5d                	pop    %r13
14005e077:	41 5e                	pop    %r14
14005e079:	41 5f                	pop    %r15
14005e07b:	c3                   	ret
14005e07c:	49 ff c5             	inc    %r13
14005e07f:	48 ff ce             	dec    %rsi
14005e082:	0f 85 4f ff ff ff    	jne    0x14005dfd7
14005e088:	48 89 ee             	mov    %rbp,%rsi
14005e08b:	44 8b 4c 24 24       	mov    0x24(%rsp),%r9d
14005e090:	e9 69 ff ff ff       	jmp    0x14005dffe
14005e095:	4d 89 fd             	mov    %r15,%r13
14005e098:	eb b0                	jmp    0x14005e04a
14005e09a:	45 31 e4             	xor    %r12d,%r12d
14005e09d:	e9 5c ff ff ff       	jmp    0x14005dffe
14005e0a2:	0f 0b                	ud2
14005e0a4:	4d 85 ff             	test   %r15,%r15
14005e0a7:	74 1c                	je     0x14005e0c5
14005e0a9:	4f 8d 2c 3e          	lea    (%r14,%r15,1),%r13
14005e0ad:	49 ff cd             	dec    %r13
14005e0b0:	eb 92                	jmp    0x14005e044
14005e0b2:	4d 89 f5             	mov    %r14,%r13
14005e0b5:	4d 85 ff             	test   %r15,%r15
14005e0b8:	0f 85 3a ff ff ff    	jne    0x14005dff8
14005e0be:	49 c7 c4 ff ff ff ff 	mov    $0xffffffffffffffff,%r12
14005e0c5:	45 31 ff             	xor    %r15d,%r15d
14005e0c8:	45 31 ed             	xor    %r13d,%r13d
14005e0cb:	e9 7a ff ff ff       	jmp    0x14005e04a
14005e0d0:	41 57                	push   %r15
14005e0d2:	41 56                	push   %r14
14005e0d4:	56                   	push   %rsi
14005e0d5:	57                   	push   %rdi
14005e0d6:	55                   	push   %rbp
14005e0d7:	53                   	push   %rbx
14005e0d8:	48 83 ec 38          	sub    $0x38,%rsp
14005e0dc:	44 89 c3             	mov    %r8d,%ebx
14005e0df:	48 89 d7             	mov    %rdx,%rdi
14005e0e2:	48 89 ce             	mov    %rcx,%rsi
14005e0e5:	0f 57 c0             	xorps  %xmm0,%xmm0
14005e0e8:	0f 11 01             	movups %xmm0,(%rcx)
14005e0eb:	48 c7 41 10 00 00 00 	movq   $0x0,0x10(%rcx)
14005e0f2:	00
14005e0f3:	4c 8b 7a 08          	mov    0x8(%rdx),%r15
14005e0f7:	49 89 ce             	mov    %rcx,%r14
14005e0fa:	4d 85 ff             	test   %r15,%r15
14005e0fd:	74 56                	je     0x14005e155
14005e0ff:	49 89 f6             	mov    %rsi,%r14
14005e102:	49 83 ff 0b          	cmp    $0xb,%r15
14005e106:	72 31                	jb     0x14005e139
14005e108:	4d 8d 47 f6          	lea    -0xa(%r15),%r8
14005e10c:	45 31 f6             	xor    %r14d,%r14d
14005e10f:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
14005e114:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
14005e119:	ba 0a 00 00 00       	mov    $0xa,%edx
14005e11e:	48 89 f1             	mov    %rsi,%rcx
14005e121:	45 31 c9             	xor    %r9d,%r9d
14005e124:	e8 c7 d2 fc ff       	call   0x14002b3f0
14005e129:	4c 89 76 08          	mov    %r14,0x8(%rsi)
14005e12d:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005e131:	49 89 f6             	mov    %rsi,%r14
14005e134:	79 03                	jns    0x14005e139
14005e136:	4c 8b 36             	mov    (%rsi),%r14
14005e139:	4f 8d 04 3f          	lea    (%r15,%r15,1),%r8
14005e13d:	4c 89 f1             	mov    %r14,%rcx
14005e140:	31 d2                	xor    %edx,%edx
14005e142:	e8 c9 00 04 00       	call   0x14009e210
14005e147:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005e14b:	78 35                	js     0x14005e182
14005e14d:	44 89 f8             	mov    %r15d,%eax
14005e150:	24 7f                	and    $0x7f,%al
14005e152:	88 46 17             	mov    %al,0x17(%rsi)
14005e155:	66 43 c7 04 7e 00 00 	movw   $0x0,(%r14,%r15,2)
14005e15c:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14005e160:	48 85 c9             	test   %rcx,%rcx
14005e163:	0f 84 d2 01 00 00    	je     0x14005e33b
14005e169:	48 8b 07             	mov    (%rdi),%rax
14005e16c:	48 8d 0c 48          	lea    (%rax,%rcx,2),%rcx
14005e170:	41 b1 01             	mov    $0x1,%r9b
14005e173:	45 31 f6             	xor    %r14d,%r14d
14005e176:	48 8d 15 83 2b 09 00 	lea    0x92b83(%rip),%rdx        # 0x1400f0d00
14005e17d:	41 b0 01             	mov    $0x1,%r8b
14005e180:	eb 77                	jmp    0x14005e1f9
14005e182:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
14005e186:	eb cd                	jmp    0x14005e155
14005e188:	41 f6 c1 01          	test   $0x1,%r9b
14005e18c:	75 32                	jne    0x14005e1c0
14005e18e:	4c 0f be 4e 17       	movsbq 0x17(%rsi),%r9
14005e193:	4d 89 cb             	mov    %r9,%r11
14005e196:	4d 85 c9             	test   %r9,%r9
14005e199:	79 04                	jns    0x14005e19f
14005e19b:	4c 8b 5e 08          	mov    0x8(%rsi),%r11
14005e19f:	4d 39 de             	cmp    %r11,%r14
14005e1a2:	0f 87 9b 01 00 00    	ja     0x14005e343
14005e1a8:	49 89 f3             	mov    %rsi,%r11
14005e1ab:	45 84 c9             	test   %r9b,%r9b
14005e1ae:	79 03                	jns    0x14005e1b3
14005e1b0:	4c 8b 1e             	mov    (%rsi),%r11
14005e1b3:	66 43 c7 04 73 20 00 	movw   $0x20,(%r11,%r14,2)
14005e1ba:	49 ff c6             	inc    %r14
14005e1bd:	41 b1 01             	mov    $0x1,%r9b
14005e1c0:	84 db                	test   %bl,%bl
14005e1c2:	74 2c                	je     0x14005e1f0
14005e1c4:	41 f6 c0 01          	test   $0x1,%r8b
14005e1c8:	75 26                	jne    0x14005e1f0
14005e1ca:	41 83 fa 0d          	cmp    $0xd,%r10d
14005e1ce:	0f 84 5c 01 00 00    	je     0x14005e330
14005e1d4:	41 83 fa 0a          	cmp    $0xa,%r10d
14005e1d8:	75 16                	jne    0x14005e1f0
14005e1da:	e9 51 01 00 00       	jmp    0x14005e330
14005e1df:	4c 8b 0e             	mov    (%rsi),%r9
14005e1e2:	66 47 89 1c 71       	mov    %r11w,(%r9,%r14,2)
14005e1e7:	49 ff c6             	inc    %r14
14005e1ea:	45 31 c0             	xor    %r8d,%r8d
14005e1ed:	45 31 c9             	xor    %r9d,%r9d
14005e1f0:	48 83 c0 02          	add    $0x2,%rax
14005e1f4:	48 39 c8             	cmp    %rcx,%rax
14005e1f7:	74 56                	je     0x14005e24f
14005e1f9:	44 0f b7 18          	movzwl (%rax),%r11d
14005e1fd:	45 0f b7 d3          	movzwl %r11w,%r10d
14005e201:	48 89 d7             	mov    %rdx,%rdi
14005e204:	66 66 66 2e 0f 1f 84 	data16 data16 cs nopw 0x0(%rax,%rax,1)
14005e20b:	00 00 00 00 00
14005e210:	0f b7 2f             	movzwl (%rdi),%ebp
14005e213:	66 44 39 dd          	cmp    %r11w,%bp
14005e217:	74 09                	je     0x14005e222
14005e219:	48 83 c7 02          	add    $0x2,%rdi
14005e21d:	66 85 ed             	test   %bp,%bp
14005e220:	75 ee                	jne    0x14005e210
14005e222:	66 85 ed             	test   %bp,%bp
14005e225:	0f 85 5d ff ff ff    	jne    0x14005e188
14005e22b:	4c 0f be 46 17       	movsbq 0x17(%rsi),%r8
14005e230:	4d 89 c1             	mov    %r8,%r9
14005e233:	4d 85 c0             	test   %r8,%r8
14005e236:	79 04                	jns    0x14005e23c
14005e238:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
14005e23c:	4d 39 ce             	cmp    %r9,%r14
14005e23f:	0f 87 fe 00 00 00    	ja     0x14005e343
14005e245:	49 89 f1             	mov    %rsi,%r9
14005e248:	45 84 c0             	test   %r8b,%r8b
14005e24b:	79 95                	jns    0x14005e1e2
14005e24d:	eb 90                	jmp    0x14005e1df
14005e24f:	41 f6 d0             	not    %r8b
14005e252:	41 80 e0 01          	and    $0x1,%r8b
14005e256:	41 0f b6 c0          	movzbl %r8b,%eax
14005e25a:	31 c9                	xor    %ecx,%ecx
14005e25c:	41 f6 c1 01          	test   $0x1,%r9b
14005e260:	48 0f 45 c8          	cmovne %rax,%rcx
14005e264:	49 29 ce             	sub    %rcx,%r14
14005e267:	48 0f be 7e 17       	movsbq 0x17(%rsi),%rdi
14005e26c:	48 85 ff             	test   %rdi,%rdi
14005e26f:	0f 88 95 00 00 00    	js     0x14005e30a
14005e275:	49 39 fe             	cmp    %rdi,%r14
14005e278:	0f 86 83 00 00 00    	jbe    0x14005e301
14005e27e:	ba 0a 00 00 00       	mov    $0xa,%edx
14005e283:	89 f8                	mov    %edi,%eax
14005e285:	4c 89 f3             	mov    %r14,%rbx
14005e288:	48 29 fb             	sub    %rdi,%rbx
14005e28b:	48 89 d1             	mov    %rdx,%rcx
14005e28e:	48 29 f9             	sub    %rdi,%rcx
14005e291:	48 39 d9             	cmp    %rbx,%rcx
14005e294:	73 25                	jae    0x14005e2bb
14005e296:	4d 89 f0             	mov    %r14,%r8
14005e299:	49 29 d0             	sub    %rdx,%r8
14005e29c:	0f 57 c0             	xorps  %xmm0,%xmm0
14005e29f:	0f 11 44 24 28       	movups %xmm0,0x28(%rsp)
14005e2a4:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14005e2a9:	48 89 f1             	mov    %rsi,%rcx
14005e2ac:	49 89 f9             	mov    %rdi,%r9
14005e2af:	e8 3c d1 fc ff       	call   0x14002b3f0
14005e2b4:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
14005e2b8:	8a 46 17             	mov    0x17(%rsi),%al
14005e2bb:	49 89 f7             	mov    %rsi,%r15
14005e2be:	84 c0                	test   %al,%al
14005e2c0:	79 03                	jns    0x14005e2c5
14005e2c2:	4c 8b 3e             	mov    (%rsi),%r15
14005e2c5:	49 8d 0c 7f          	lea    (%r15,%rdi,2),%rcx
14005e2c9:	48 01 db             	add    %rbx,%rbx
14005e2cc:	31 d2                	xor    %edx,%edx
14005e2ce:	49 89 d8             	mov    %rbx,%r8
14005e2d1:	e8 3a ff 03 00       	call   0x14009e210
14005e2d6:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005e2da:	78 1f                	js     0x14005e2fb
14005e2dc:	44 89 f0             	mov    %r14d,%eax
14005e2df:	24 7f                	and    $0x7f,%al
14005e2e1:	88 46 17             	mov    %al,0x17(%rsi)
14005e2e4:	66 43 c7 04 77 00 00 	movw   $0x0,(%r15,%r14,2)
14005e2eb:	48 89 f0             	mov    %rsi,%rax
14005e2ee:	48 83 c4 38          	add    $0x38,%rsp
14005e2f2:	5b                   	pop    %rbx
14005e2f3:	5d                   	pop    %rbp
14005e2f4:	5f                   	pop    %rdi
14005e2f5:	5e                   	pop    %rsi
14005e2f6:	41 5e                	pop    %r14
14005e2f8:	41 5f                	pop    %r15
14005e2fa:	c3                   	ret
14005e2fb:	4c 89 76 08          	mov    %r14,0x8(%rsi)