14003ae57:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
14003ae5b:	85 c0                	test   %eax,%eax
14003ae5d:	7f 49                	jg     0x14003aea8
14003ae5f:	75 0d                	jne    0x14003ae6e
14003ae61:	49 8b 41 08          	mov    0x8(%r9),%rax
14003ae65:	80 38 30             	cmpb   $0x30,(%rax)
14003ae68:	75 04                	jne    0x14003ae6e
14003ae6a:	b0 01                	mov    $0x1,%al
14003ae6c:	eb 02                	jmp    0x14003ae70
14003ae6e:	32 c0                	xor    %al,%al
14003ae70:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
14003ae75:	74 0a                	je     0x14003ae81
14003ae77:	84 c0                	test   %al,%al
14003ae79:	74 06                	je     0x14003ae81
14003ae7b:	48 8d 73 01          	lea    0x1(%rbx),%rsi
14003ae7f:	eb 1f                	jmp    0x14003aea0
14003ae81:	48 8d 73 01          	lea    0x1(%rbx),%rsi
14003ae85:	4c 8b c7             	mov    %rdi,%r8
14003ae88:	49 ff c0             	inc    %r8
14003ae8b:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
14003ae90:	75 f6                	jne    0x14003ae88
14003ae92:	49 ff c0             	inc    %r8
14003ae95:	48 8b d3             	mov    %rbx,%rdx
14003ae98:	48 8b ce             	mov    %rsi,%rcx
14003ae9b:	e8 30 c2 fe ff       	call   0x1400270d0
14003aea0:	c6 03 30             	movb   $0x30,(%rbx)
14003aea3:	48 8b de             	mov    %rsi,%rbx
14003aea6:	eb 03                	jmp    0x14003aeab
14003aea8:	48 03 d8             	add    %rax,%rbx
14003aeab:	85 ed                	test   %ebp,%ebp
14003aead:	0f 8e 88 00 00 00    	jle    0x14003af3b
14003aeb3:	48 8d 73 01          	lea    0x1(%rbx),%rsi
14003aeb7:	4c 8b c7             	mov    %rdi,%r8
14003aeba:	49 ff c0             	inc    %r8
14003aebd:	42 80 3c 03 00       	cmpb   $0x0,(%rbx,%r8,1)
14003aec2:	75 f6                	jne    0x14003aeba
14003aec4:	49 ff c0             	inc    %r8
14003aec7:	48 8b d3             	mov    %rbx,%rdx
14003aeca:	48 8b ce             	mov    %rsi,%rcx
14003aecd:	e8 fe c1 fe ff       	call   0x1400270d0
14003aed2:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
14003aed7:	41 80 7f 28 00       	cmpb   $0x0,0x28(%r15)
14003aedc:	75 08                	jne    0x14003aee6
14003aede:	49 8b cf             	mov    %r15,%rcx
14003aee1:	e8 0a 56 ff ff       	call   0x1400304f0
14003aee6:	49 8b 47 18          	mov    0x18(%r15),%rax
14003aeea:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
14003aef1:	48 8b 01             	mov    (%rcx),%rax
14003aef4:	8a 08                	mov    (%rax),%cl
14003aef6:	88 0b                	mov    %cl,(%rbx)
14003aef8:	41 8b 46 04          	mov    0x4(%r14),%eax
14003aefc:	85 c0                	test   %eax,%eax
14003aefe:	79 3b                	jns    0x14003af3b
14003af00:	f7 d8                	neg    %eax
14003af02:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
14003af07:	75 04                	jne    0x14003af0d
14003af09:	3b c5                	cmp    %ebp,%eax
14003af0b:	7d 02                	jge    0x14003af0f
14003af0d:	8b e8                	mov    %eax,%ebp
14003af0f:	48 63 dd             	movslq %ebp,%rbx
14003af12:	48 ff c7             	inc    %rdi
14003af15:	80 3c 3e 00          	cmpb   $0x0,(%rsi,%rdi,1)
14003af19:	75 f7                	jne    0x14003af12
14003af1b:	4c 8d 47 01          	lea    0x1(%rdi),%r8
14003af1f:	48 8b d6             	mov    %rsi,%rdx
14003af22:	48 8d 0c 33          	lea    (%rbx,%rsi,1),%rcx
14003af26:	e8 a5 c1 fe ff       	call   0x1400270d0
14003af2b:	4c 8b c3             	mov    %rbx,%r8
14003af2e:	ba 30 00 00 00       	mov    $0x30,%edx
14003af33:	48 8b ce             	mov    %rsi,%rcx
14003af36:	e8 65 c8 fe ff       	call   0x1400277a0
14003af3b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14003af40:	33 c0                	xor    %eax,%eax
14003af42:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14003af47:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14003af4c:	48 83 c4 20          	add    $0x20,%rsp
14003af50:	41 5f                	pop    %r15
14003af52:	41 5e                	pop    %r14
14003af54:	5f                   	pop    %rdi
14003af55:	c3                   	ret
14003af56:	cc                   	int3
14003af57:	cc                   	int3
14003af58:	4c 8b dc             	mov    %rsp,%r11
14003af5b:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14003af5f:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14003af63:	49 89 7b 18          	mov    %rdi,0x18(%r11)
14003af67:	4d 89 73 20          	mov    %r14,0x20(%r11)
14003af6b:	41 57                	push   %r15
14003af6d:	48 83 ec 50          	sub    $0x50,%rsp
14003af71:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
14003af78:	00
14003af79:	49 8b e8             	mov    %r8,%rbp
14003af7c:	48 8b 09             	mov    (%rcx),%rcx
14003af7f:	48 8b fa             	mov    %rdx,%rdi
14003af82:	8b 94 24 88 00 00 00 	mov    0x88(%rsp),%edx
14003af89:	0f 57 c0             	xorps  %xmm0,%xmm0
14003af8c:	49 89 43 d0          	mov    %rax,-0x30(%r11)
14003af90:	45 33 c0             	xor    %r8d,%r8d
14003af93:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
14003af97:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
14003af9b:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
14003afa0:	e8 fb 85 00 00       	call   0x1400435a0
14003afa5:	44 8b 7c 24 44       	mov    0x44(%rsp),%r15d
14003afaa:	45 33 c0             	xor    %r8d,%r8d
14003afad:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
14003afb2:	44 8b c8             	mov    %eax,%r9d
14003afb5:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
14003afbc:	48 8b d5             	mov    %rbp,%rdx
14003afbf:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
14003afc6:	00
14003afc7:	41 0f 94 c0          	sete   %r8b
14003afcb:	49 2b d0             	sub    %r8,%rdx
14003afce:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
14003afd3:	89 44 24 28          	mov    %eax,0x28(%rsp)
14003afd7:	41 ff cf             	dec    %r15d
14003afda:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
14003afdf:	48 83 fd ff          	cmp    $0xffffffffffffffff,%rbp
14003afe3:	49 8d 1c 38          	lea    (%r8,%rdi,1),%rbx
14003afe7:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
14003afee:	00
14003afef:	48 0f 44 d5          	cmove  %rbp,%rdx
14003aff3:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
14003aff8:	48 8b cb             	mov    %rbx,%rcx
14003affb:	e8 90 84 00 00       	call   0x140043490
14003b000:	85 c0                	test   %eax,%eax
14003b002:	74 08                	je     0x14003b00c
14003b004:	c6 07 00             	movb   $0x0,(%rdi)
14003b007:	e9 83 00 00 00       	jmp    0x14003b08f
14003b00c:	8b 44 24 44          	mov    0x44(%rsp),%eax
14003b010:	ff c8                	dec    %eax
14003b012:	83 f8 fc             	cmp    $0xfffffffc,%eax
14003b015:	7c 3e                	jl     0x14003b055
14003b017:	3b 84 24 88 00 00 00 	cmp    0x88(%rsp),%eax
14003b01e:	7d 35                	jge    0x14003b055
14003b020:	44 3b f8             	cmp    %eax,%r15d
14003b023:	7d 0c                	jge    0x14003b031
14003b025:	8a 03                	mov    (%rbx),%al
14003b027:	48 ff c3             	inc    %rbx
14003b02a:	84 c0                	test   %al,%al
14003b02c:	75 f7                	jne    0x14003b025
14003b02e:	88 43 fe             	mov    %al,-0x2(%rbx)
14003b031:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
14003b038:	00
14003b039:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
14003b03e:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14003b043:	48 8b d5             	mov    %rbp,%rdx
14003b046:	48 8b cf             	mov    %rdi,%rcx
14003b049:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
14003b04e:	e8 ad fd ff ff       	call   0x14003ae00
14003b053:	eb 3a                	jmp    0x14003b08f
14003b055:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
14003b05c:	00
14003b05d:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14003b062:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
14003b069:	00
14003b06a:	48 8b d5             	mov    %rbp,%rdx
14003b06d:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
14003b072:	48 8b cf             	mov    %rdi,%rcx
14003b075:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
14003b07a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14003b07f:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
14003b086:	89 44 24 20          	mov    %eax,0x20(%rsp)
14003b08a:	e8 b5 fa ff ff       	call   0x14003ab44
14003b08f:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14003b094:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14003b099:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
14003b09e:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
14003b0a3:	48 83 c4 50          	add    $0x50,%rsp
14003b0a7:	41 5f                	pop    %r15
14003b0a9:	c3                   	ret
14003b0aa:	cc                   	int3
14003b0ab:	cc                   	int3
14003b0ac:	48 8b c4             	mov    %rsp,%rax
14003b0af:	48 89 58 08          	mov    %rbx,0x8(%rax)
14003b0b3:	48 89 68 10          	mov    %rbp,0x10(%rax)
14003b0b7:	48 89 70 18          	mov    %rsi,0x18(%rax)
14003b0bb:	48 89 78 20          	mov    %rdi,0x20(%rax)
14003b0bf:	41 54                	push   %r12
14003b0c1:	41 56                	push   %r14
14003b0c3:	41 57                	push   %r15
14003b0c5:	48 83 ec 20          	sub    $0x20,%rsp
14003b0c9:	48 8b 19             	mov    (%rcx),%rbx
14003b0cc:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffff,%r12
14003b0d3:	ff 0f 00
14003b0d6:	48 23 da             	and    %rdx,%rbx
14003b0d9:	45 0f bf f0          	movswl %r8w,%r14d
14003b0dd:	49 23 dc             	and    %r12,%rbx
14003b0e0:	48 8b f9             	mov    %rcx,%rdi
14003b0e3:	41 8b ce             	mov    %r14d,%ecx
14003b0e6:	45 33 ff             	xor    %r15d,%r15d
14003b0e9:	48 d3 eb             	shr    %cl,%rbx
14003b0ec:	48 8b ea             	mov    %rdx,%rbp
14003b0ef:	45 85 c9             	test   %r9d,%r9d
14003b0f2:	75 0c                	jne    0x14003b100
14003b0f4:	66 83 fb 08          	cmp    $0x8,%bx
14003b0f8:	0f 93 c0             	setae  %al
14003b0fb:	e9 a3 00 00 00       	jmp    0x14003b1a3
14003b100:	e8 0f 2d 00 00       	call   0x14003de14
14003b105:	85 c0                	test   %eax,%eax
14003b107:	75 72                	jne    0x14003b17b
14003b109:	4c 8b 07             	mov    (%rdi),%r8
14003b10c:	41 8b ce             	mov    %r14d,%ecx
14003b10f:	49 8b c0             	mov    %r8,%rax
14003b112:	48 23 c5             	and    %rbp,%rax
14003b115:	49 23 c4             	and    %r12,%rax
14003b118:	48 d3 e8             	shr    %cl,%rax
14003b11b:	66 83 f8 08          	cmp    $0x8,%ax
14003b11f:	76 07                	jbe    0x14003b128
14003b121:	ba 01 00 00 00       	mov    $0x1,%edx
14003b126:	eb 4f                	jmp    0x14003b177
14003b128:	73 05                	jae    0x14003b12f
14003b12a:	41 8a d7             	mov    %r15b,%dl
14003b12d:	eb 48                	jmp    0x14003b177
14003b12f:	ba 01 00 00 00       	mov    $0x1,%edx
14003b134:	8b c2                	mov    %edx,%eax
14003b136:	48 d3 e0             	shl    %cl,%rax
14003b139:	48 2b c2             	sub    %rdx,%rax
14003b13c:	49 23 c0             	and    %r8,%rax
14003b13f:	49 85 c4             	test   %rax,%r12
14003b142:	75 33                	jne    0x14003b177
14003b144:	41 83 fe 30          	cmp    $0x30,%r14d
14003b148:	74 19                	je     0x14003b163
14003b14a:	49 c1 e8 04          	shr    $0x4,%r8
14003b14e:	48 b8 ff ff ff ff ff 	movabs $0xffffffffffff,%rax
14003b155:	ff 00 00
14003b158:	4c 23 c5             	and    %rbp,%r8
14003b15b:	4c 23 c0             	and    %rax,%r8
14003b15e:	49 d3 e8             	shr    %cl,%r8
14003b161:	eb 11                	jmp    0x14003b174
14003b163:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
14003b16a:	00 f0 7f
14003b16d:	4c 85 c0             	test   %r8,%rax
14003b170:	41 0f 95 c0          	setne  %r8b
14003b174:	41 22 d0             	and    %r8b,%dl
14003b177:	8a c2                	mov    %dl,%al
14003b179:	eb 28                	jmp    0x14003b1a3
14003b17b:	3d 00 02 00 00       	cmp    $0x200,%eax
14003b180:	75 0c                	jne    0x14003b18e
14003b182:	66 85 db             	test   %bx,%bx
14003b185:	74 a3                	je     0x14003b12a
14003b187:	4c 39 3f             	cmp    %r15,(%rdi)
14003b18a:	7c 9e                	jl     0x14003b12a
14003b18c:	eb 93                	jmp    0x14003b121
14003b18e:	3d 00 01 00 00       	cmp    $0x100,%eax
14003b193:	75 0c                	jne    0x14003b1a1
14003b195:	66 85 db             	test   %bx,%bx
14003b198:	74 90                	je     0x14003b12a
14003b19a:	4c 39 3f             	cmp    %r15,(%rdi)
14003b19d:	7d 8b                	jge    0x14003b12a
14003b19f:	eb 80                	jmp    0x14003b121
14003b1a1:	32 c0                	xor    %al,%al
14003b1a3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14003b1a8:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14003b1ad:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14003b1b2:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14003b1b7:	48 83 c4 20          	add    $0x20,%rsp
14003b1bb:	41 5f                	pop    %r15
14003b1bd:	41 5e                	pop    %r14
14003b1bf:	41 5c                	pop    %r12
14003b1c1:	c3                   	ret
14003b1c2:	cc                   	int3
14003b1c3:	cc                   	int3
14003b1c4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14003b1c9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14003b1ce:	57                   	push   %rdi
14003b1cf:	48 83 ec 50          	sub    $0x50,%rsp
14003b1d3:	4d 8b d8             	mov    %r8,%r11
14003b1d6:	4c 8b d2             	mov    %rdx,%r10
14003b1d9:	48 8b f9             	mov    %rcx,%rdi
14003b1dc:	48 85 d2             	test   %rdx,%rdx
14003b1df:	75 33                	jne    0x14003b214
14003b1e1:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
14003b1e8:	00
14003b1e9:	8d 5a 16             	lea    0x16(%rdx),%ebx
14003b1ec:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14003b1f1:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
14003b1f5:	89 59 2c             	mov    %ebx,0x2c(%rcx)
14003b1f8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14003b1fe:	45 33 c9             	xor    %r9d,%r9d
14003b201:	45 33 c0             	xor    %r8d,%r8d
14003b204:	33 d2                	xor    %edx,%edx
14003b206:	33 c9                	xor    %ecx,%ecx
14003b208:	e8 cb 02 ff ff       	call   0x14002b4d8
14003b20d:	8b c3                	mov    %ebx,%eax
14003b20f:	e9 6f 02 00 00       	jmp    0x14003b483
14003b214:	4d 85 db             	test   %r11,%r11
14003b217:	75 1b                	jne    0x14003b234
14003b219:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14003b220:	00
14003b221:	bb 16 00 00 00       	mov    $0x16,%ebx
14003b226:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14003b22b:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14003b22f:	89 58 2c             	mov    %ebx,0x2c(%rax)
14003b232:	eb c4                	jmp    0x14003b1f8
14003b234:	4d 85 c9             	test   %r9,%r9
14003b237:	74 e0                	je     0x14003b219
14003b239:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
14003b240:	00
14003b241:	4d 85 c0             	test   %r8,%r8
14003b244:	74 d3                	je     0x14003b219
14003b246:	8b 8c 24 88 00 00 00 	mov    0x88(%rsp),%ecx
14003b24d:	83 f9 41             	cmp    $0x41,%ecx
14003b250:	74 0d                	je     0x14003b25f
14003b252:	8d 41 bb             	lea    -0x45(%rcx),%eax
14003b255:	83 f8 02             	cmp    $0x2,%eax
14003b258:	76 05                	jbe    0x14003b25f
14003b25a:	40 32 f6             	xor    %sil,%sil
14003b25d:	eb 03                	jmp    0x14003b262
14003b25f:	40 b6 01             	mov    $0x1,%sil
14003b262:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
14003b269:	00
14003b26a:	f6 c3 08             	test   $0x8,%bl
14003b26d:	0f 85 e6 00 00 00    	jne    0x14003b359
14003b273:	48 8b 17             	mov    (%rdi),%rdx
14003b276:	48 8b c2             	mov    %rdx,%rax
14003b279:	48 c1 e8 34          	shr    $0x34,%rax
14003b27d:	25 ff 07 00 00       	and    $0x7ff,%eax
14003b282:	48 3d ff 07 00 00    	cmp    $0x7ff,%rax
14003b288:	0f 85 cb 00 00 00    	jne    0x14003b359
14003b28e:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
14003b295:	ff 0f 00
14003b298:	48 8b c2             	mov    %rdx,%rax
14003b29b:	41 b8 0c 00 00 00    	mov    $0xc,%r8d
14003b2a1:	48 23 c1             	and    %rcx,%rax
14003b2a4:	75 04                	jne    0x14003b2aa
14003b2a6:	33 c9                	xor    %ecx,%ecx
14003b2a8:	eb 2d                	jmp    0x14003b2d7
14003b2aa:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
14003b2b1:	00 08 00
14003b2b4:	48 85 d2             	test   %rdx,%rdx
14003b2b7:	79 0a                	jns    0x14003b2c3
14003b2b9:	48 3b c1             	cmp    %rcx,%rax
14003b2bc:	75 05                	jne    0x14003b2c3
14003b2be:	49 8b c8             	mov    %r8,%rcx
14003b2c1:	eb 14                	jmp    0x14003b2d7
14003b2c3:	48 8b c2             	mov    %rdx,%rax
14003b2c6:	48 23 c1             	and    %rcx,%rax
14003b2c9:	48 f7 d8             	neg    %rax
14003b2cc:	48 1b c9             	sbb    %rcx,%rcx
14003b2cf:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
14003b2d3:	48 83 c1 08          	add    $0x8,%rcx
14003b2d7:	48 c1 ea 3f          	shr    $0x3f,%rdx
14003b2db:	48 8d 42 04          	lea    0x4(%rdx),%rax
14003b2df:	4c 3b d8             	cmp    %rax,%r11
14003b2e2:	73 06                	jae    0x14003b2ea
14003b2e4:	41 c6 02 00          	movb   $0x0,(%r10)
14003b2e8:	eb 67                	jmp    0x14003b351
14003b2ea:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14003b2ee:	84 d2                	test   %dl,%dl
14003b2f0:	74 13                	je     0x14003b305