140e5fedb:	85 c0                	test   %eax,%eax
140e5fedd:	75 6e                	jne    0x140e5ff4d
140e5fedf:	4c 8b 45 c8          	mov    -0x38(%rbp),%r8
140e5fee3:	4d 85 c0             	test   %r8,%r8
140e5fee6:	74 0f                	je     0x140e5fef7
140e5fee8:	49 8b d7             	mov    %r15,%rdx
140e5feeb:	48 8b ce             	mov    %rsi,%rcx
140e5feee:	e8 71 75 fe ff       	call   0x140e47464
140e5fef3:	85 c0                	test   %eax,%eax
140e5fef5:	75 56                	jne    0x140e5ff4d
140e5fef7:	49 03 f7             	add    %r15,%rsi
140e5fefa:	48 3b f3             	cmp    %rbx,%rsi
140e5fefd:	75 06                	jne    0x140e5ff05
140e5feff:	44 88 26             	mov    %r12b,(%rsi)
140e5ff02:	48 ff c6             	inc    %rsi
140e5ff05:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
140e5ff09:	33 c9                	xor    %ecx,%ecx
140e5ff0b:	44 88 26             	mov    %r12b,(%rsi)
140e5ff0e:	48 89 18             	mov    %rbx,(%rax)
140e5ff11:	e8 5e 3d ff ff       	call   0x140e53c74
140e5ff16:	48 8b cf             	mov    %rdi,%rcx
140e5ff19:	e8 56 3d ff ff       	call   0x140e53c74
140e5ff1e:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140e5ff22:	e8 4d 3d ff ff       	call   0x140e53c74
140e5ff27:	33 c0                	xor    %eax,%eax
140e5ff29:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140e5ff2d:	48 33 cc             	xor    %rsp,%rcx
140e5ff30:	e8 cb b5 fb ff       	call   0x140e1b500
140e5ff35:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
140e5ff3c:	00
140e5ff3d:	48 83 c4 70          	add    $0x70,%rsp
140e5ff41:	41 5f                	pop    %r15
140e5ff43:	41 5e                	pop    %r14
140e5ff45:	41 5d                	pop    %r13
140e5ff47:	41 5c                	pop    %r12
140e5ff49:	5f                   	pop    %rdi
140e5ff4a:	5e                   	pop    %rsi
140e5ff4b:	5d                   	pop    %rbp
140e5ff4c:	c3                   	ret
140e5ff4d:	45 33 c9             	xor    %r9d,%r9d
140e5ff50:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140e5ff55:	45 33 c0             	xor    %r8d,%r8d
140e5ff58:	33 d2                	xor    %edx,%edx
140e5ff5a:	33 c9                	xor    %ecx,%ecx
140e5ff5c:	e8 73 a2 fc ff       	call   0x140e2a1d4
140e5ff61:	cc                   	int3
140e5ff62:	cc                   	int3
140e5ff63:	cc                   	int3
140e5ff64:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e5ff69:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e5ff6e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e5ff73:	57                   	push   %rdi
140e5ff74:	41 54                	push   %r12
140e5ff76:	41 55                	push   %r13
140e5ff78:	41 56                	push   %r14
140e5ff7a:	41 57                	push   %r15
140e5ff7c:	48 83 ec 30          	sub    $0x30,%rsp
140e5ff80:	33 db                	xor    %ebx,%ebx
140e5ff82:	49 8b e9             	mov    %r9,%rbp
140e5ff85:	45 33 ff             	xor    %r15d,%r15d
140e5ff88:	4d 8b f0             	mov    %r8,%r14
140e5ff8b:	4c 8b e2             	mov    %rdx,%r12
140e5ff8e:	4c 8b e9             	mov    %rcx,%r13
140e5ff91:	49 8b f8             	mov    %r8,%rdi
140e5ff94:	49 8b f1             	mov    %r9,%rsi
140e5ff97:	4c 3b fe             	cmp    %rsi,%r15
140e5ff9a:	0f 82 94 00 00 00    	jb     0x140e60034
140e5ffa0:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140e5ffa7:	ff ff 7f
140e5ffaa:	48 3b f0             	cmp    %rax,%rsi
140e5ffad:	0f 83 c4 00 00 00    	jae    0x140e60077
140e5ffb3:	48 8d 04 36          	lea    (%rsi,%rsi,1),%rax
140e5ffb7:	48 8b f0             	mov    %rax,%rsi
140e5ffba:	49 3b fe             	cmp    %r14,%rdi
140e5ffbd:	75 4b                	jne    0x140e6000a
140e5ffbf:	ba 08 00 00 00       	mov    $0x8,%edx
140e5ffc4:	48 8b c8             	mov    %rax,%rcx
140e5ffc7:	e8 1c 60 ff ff       	call   0x140e55fe8
140e5ffcc:	48 8b cb             	mov    %rbx,%rcx
140e5ffcf:	48 8b f8             	mov    %rax,%rdi
140e5ffd2:	e8 9d 3c ff ff       	call   0x140e53c74
140e5ffd7:	33 c9                	xor    %ecx,%ecx
140e5ffd9:	e8 96 3c ff ff       	call   0x140e53c74
140e5ffde:	48 85 ff             	test   %rdi,%rdi
140e5ffe1:	74 71                	je     0x140e60054
140e5ffe3:	48 85 ed             	test   %rbp,%rbp
140e5ffe6:	74 49                	je     0x140e60031
140e5ffe8:	4d 85 f6             	test   %r14,%r14
140e5ffeb:	0f 84 c5 00 00 00    	je     0x140e600b6
140e5fff1:	48 3b f5             	cmp    %rbp,%rsi
140e5fff4:	0f 82 bc 00 00 00    	jb     0x140e600b6
140e5fffa:	4c 8b c5             	mov    %rbp,%r8
140e5fffd:	49 8b d6             	mov    %r14,%rdx
140e60000:	48 8b cf             	mov    %rdi,%rcx
140e60003:	e8 08 f0 07 00       	call   0x140edf010
140e60008:	eb 27                	jmp    0x140e60031
140e6000a:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140e60010:	48 8b d0             	mov    %rax,%rdx
140e60013:	48 8b cb             	mov    %rbx,%rcx
140e60016:	e8 c9 a8 ff ff       	call   0x140e5a8e4
140e6001b:	48 8b f8             	mov    %rax,%rdi
140e6001e:	48 85 c0             	test   %rax,%rax
140e60021:	74 40                	je     0x140e60063
140e60023:	33 c9                	xor    %ecx,%ecx
140e60025:	e8 4a 3c ff ff       	call   0x140e53c74
140e6002a:	33 c9                	xor    %ecx,%ecx
140e6002c:	e8 43 3c ff ff       	call   0x140e53c74
140e60031:	48 8b df             	mov    %rdi,%rbx
140e60034:	4e 89 24 ff          	mov    %r12,(%rdi,%r15,8)
140e60038:	49 ff c7             	inc    %r15
140e6003b:	4d 85 e4             	test   %r12,%r12
140e6003e:	74 49                	je     0x140e60089
140e60040:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140e60044:	48 8d 41 08          	lea    0x8(%rcx),%rax
140e60048:	49 89 45 00          	mov    %rax,0x0(%r13)
140e6004c:	4c 8b 21             	mov    (%rcx),%r12
140e6004f:	e9 43 ff ff ff       	jmp    0x140e5ff97
140e60054:	e8 97 a2 fc ff       	call   0x140e2a2f0
140e60059:	33 f6                	xor    %esi,%esi
140e6005b:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
140e60061:	eb 2b                	jmp    0x140e6008e
140e60063:	e8 88 a2 fc ff       	call   0x140e2a2f0
140e60068:	33 c9                	xor    %ecx,%ecx
140e6006a:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
140e60070:	e8 ff 3b ff ff       	call   0x140e53c74
140e60075:	eb 0b                	jmp    0x140e60082
140e60077:	e8 74 a2 fc ff       	call   0x140e2a2f0
140e6007c:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
140e60082:	33 f6                	xor    %esi,%esi
140e60084:	48 8b fb             	mov    %rbx,%rdi
140e60087:	eb 05                	jmp    0x140e6008e
140e60089:	48 8b f7             	mov    %rdi,%rsi
140e6008c:	33 ff                	xor    %edi,%edi
140e6008e:	48 8b cf             	mov    %rdi,%rcx
140e60091:	e8 de 3b ff ff       	call   0x140e53c74
140e60096:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e6009b:	48 8b c6             	mov    %rsi,%rax
140e6009e:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e600a3:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e600a8:	48 83 c4 30          	add    $0x30,%rsp
140e600ac:	41 5f                	pop    %r15
140e600ae:	41 5e                	pop    %r14
140e600b0:	41 5d                	pop    %r13
140e600b2:	41 5c                	pop    %r12
140e600b4:	5f                   	pop    %rdi
140e600b5:	c3                   	ret
140e600b6:	4c 8b c6             	mov    %rsi,%r8
140e600b9:	33 d2                	xor    %edx,%edx
140e600bb:	48 8b cf             	mov    %rdi,%rcx
140e600be:	e8 ed f5 07 00       	call   0x140edf6b0
140e600c3:	4d 85 f6             	test   %r14,%r14
140e600c6:	75 0d                	jne    0x140e600d5
140e600c8:	e8 23 a2 fc ff       	call   0x140e2a2f0
140e600cd:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e600d3:	eb 10                	jmp    0x140e600e5
140e600d5:	48 3b f5             	cmp    %rbp,%rsi
140e600d8:	73 10                	jae    0x140e600ea
140e600da:	e8 11 a2 fc ff       	call   0x140e2a2f0
140e600df:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140e600e5:	e8 9a a0 fc ff       	call   0x140e2a184
140e600ea:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e600f0:	45 33 c9             	xor    %r9d,%r9d
140e600f3:	45 33 c0             	xor    %r8d,%r8d
140e600f6:	33 d2                	xor    %edx,%edx
140e600f8:	33 c9                	xor    %ecx,%ecx
140e600fa:	e8 d5 a0 fc ff       	call   0x140e2a1d4
140e600ff:	cc                   	int3
140e60100:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e60105:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140e6010a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140e6010f:	57                   	push   %rdi
140e60110:	41 54                	push   %r12
140e60112:	41 55                	push   %r13
140e60114:	41 56                	push   %r14
140e60116:	41 57                	push   %r15
140e60118:	48 83 ec 30          	sub    $0x30,%rsp
140e6011c:	4d 8b e0             	mov    %r8,%r12
140e6011f:	4d 8b f9             	mov    %r9,%r15
140e60122:	45 33 c0             	xor    %r8d,%r8d
140e60125:	4c 8b ea             	mov    %rdx,%r13
140e60128:	41 8b f8             	mov    %r8d,%edi
140e6012b:	45 8b d0             	mov    %r8d,%r10d
140e6012e:	48 83 ce ff          	or     $0xffffffffffffffff,%rsi
140e60132:	4c 8b f1             	mov    %rcx,%r14
140e60135:	eb 19                	jmp    0x140e60150
140e60137:	48 8b 11             	mov    (%rcx),%rdx
140e6013a:	48 8b c6             	mov    %rsi,%rax
140e6013d:	48 8d 49 08          	lea    0x8(%rcx),%rcx
140e60141:	48 ff c0             	inc    %rax
140e60144:	44 38 04 02          	cmp    %r8b,(%rdx,%rax,1)
140e60148:	75 f7                	jne    0x140e60141
140e6014a:	49 ff c2             	inc    %r10
140e6014d:	4c 03 d0             	add    %rax,%r10
140e60150:	4c 39 01             	cmp    %r8,(%rcx)
140e60153:	75 e2                	jne    0x140e60137
140e60155:	b8 01 00 00 00       	mov    $0x1,%eax
140e6015a:	4c 3b d0             	cmp    %rax,%r10
140e6015d:	8b e8                	mov    %eax,%ebp
140e6015f:	8b d0                	mov    %eax,%edx
140e60161:	49 0f 47 ea          	cmova  %r10,%rbp
140e60165:	48 8b cd             	mov    %rbp,%rcx
140e60168:	e8 7b 5e ff ff       	call   0x140e55fe8
140e6016d:	48 8b d8             	mov    %rax,%rbx
140e60170:	48 85 c0             	test   %rax,%rax
140e60173:	75 16                	jne    0x140e6018b
140e60175:	8d 48 08             	lea    0x8(%rax),%ecx
140e60178:	e8 e7 a0 fc ff       	call   0x140e2a264
140e6017d:	e8 6e a1 fc ff       	call   0x140e2a2f0
140e60182:	bb 0c 00 00 00       	mov    $0xc,%ebx
140e60187:	89 18                	mov    %ebx,(%rax)
140e60189:	eb 5a                	jmp    0x140e601e5
140e6018b:	49 8b 06             	mov    (%r14),%rax
140e6018e:	48 8b fb             	mov    %rbx,%rdi
140e60191:	48 85 c0             	test   %rax,%rax
140e60194:	75 04                	jne    0x140e6019a
140e60196:	33 db                	xor    %ebx,%ebx
140e60198:	eb 4b                	jmp    0x140e601e5
140e6019a:	48 8b d3             	mov    %rbx,%rdx
140e6019d:	4c 8b c0             	mov    %rax,%r8
140e601a0:	48 2b d7             	sub    %rdi,%rdx
140e601a3:	48 8b cf             	mov    %rdi,%rcx
140e601a6:	48 03 d5             	add    %rbp,%rdx
140e601a9:	e8 56 72 fe ff       	call   0x140e47404
140e601ae:	33 d2                	xor    %edx,%edx
140e601b0:	85 c0                	test   %eax,%eax
140e601b2:	0f 85 99 00 00 00    	jne    0x140e60251
140e601b8:	49 8b 0e             	mov    (%r14),%rcx
140e601bb:	48 8b c6             	mov    %rsi,%rax
140e601be:	48 ff c0             	inc    %rax
140e601c1:	38 14 01             	cmp    %dl,(%rcx,%rax,1)
140e601c4:	75 f8                	jne    0x140e601be
140e601c6:	48 03 f8             	add    %rax,%rdi
140e601c9:	49 83 c6 08          	add    $0x8,%r14
140e601cd:	48 8b cf             	mov    %rdi,%rcx
140e601d0:	c6 07 20             	movb   $0x20,(%rdi)
140e601d3:	48 ff c7             	inc    %rdi
140e601d6:	49 8b 06             	mov    (%r14),%rax
140e601d9:	48 85 c0             	test   %rax,%rax
140e601dc:	75 bc                	jne    0x140e6019a
140e601de:	48 8b fb             	mov    %rbx,%rdi
140e601e1:	88 11                	mov    %dl,(%rcx)
140e601e3:	8b da                	mov    %edx,%ebx
140e601e5:	33 c9                	xor    %ecx,%ecx
140e601e7:	e8 88 3a ff ff       	call   0x140e53c74
140e601ec:	85 db                	test   %ebx,%ebx
140e601ee:	75 3a                	jne    0x140e6022a
140e601f0:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
140e601f6:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140e601fb:	49 8b cd             	mov    %r13,%rcx
140e601fe:	e8 69 fa ff ff       	call   0x140e5fc6c
140e60203:	85 c0                	test   %eax,%eax
140e60205:	74 0c                	je     0x140e60213
140e60207:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140e6020c:	e8 63 3a ff ff       	call   0x140e53c74
140e60211:	eb 17                	jmp    0x140e6022a
140e60213:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140e60218:	33 c9                	xor    %ecx,%ecx
140e6021a:	49 89 3c 24          	mov    %rdi,(%r12)
140e6021e:	49 89 07             	mov    %rax,(%r15)
140e60221:	e8 4e 3a ff ff       	call   0x140e53c74
140e60226:	33 f6                	xor    %esi,%esi
140e60228:	33 ff                	xor    %edi,%edi
140e6022a:	48 8b cf             	mov    %rdi,%rcx
140e6022d:	e8 42 3a ff ff       	call   0x140e53c74
140e60232:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140e60237:	8b c6                	mov    %esi,%eax
140e60239:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e6023e:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140e60243:	48 83 c4 30          	add    $0x30,%rsp
140e60247:	41 5f                	pop    %r15
140e60249:	41 5e                	pop    %r14
140e6024b:	41 5d                	pop    %r13
140e6024d:	41 5c                	pop    %r12
140e6024f:	5f                   	pop    %rdi
140e60250:	c3                   	ret
140e60251:	45 33 c9             	xor    %r9d,%r9d
140e60254:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140e60259:	45 33 c0             	xor    %r8d,%r8d
140e6025c:	33 c9                	xor    %ecx,%ecx
140e6025e:	e8 71 9f fc ff       	call   0x140e2a1d4
140e60263:	cc                   	int3
140e60264:	40 53                	rex push %rbx
140e60266:	48 83 ec 40          	sub    $0x40,%rsp
140e6026a:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140e6026f:	48 8b d9             	mov    %rcx,%rbx
140e60272:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140e60277:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140e6027c:	e8 8f 27 00 00       	call   0x140e62a10
140e60281:	48 83 f8 04          	cmp    $0x4,%rax
140e60285:	77 1a                	ja     0x140e602a1
140e60287:	8b 54 24 30          	mov    0x30(%rsp),%edx
140e6028b:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
140e60290:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
140e60296:	0f 47 d1             	cmova  %ecx,%edx
140e60299:	48 85 db             	test   %rbx,%rbx
140e6029c:	74 03                	je     0x140e602a1
140e6029e:	66 89 13             	mov    %dx,(%rbx)
140e602a1:	48 83 c4 40          	add    $0x40,%rsp
140e602a5:	5b                   	pop    %rbx
140e602a6:	c3                   	ret
140e602a7:	cc                   	int3
140e602a8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e602ad:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140e602b2:	57                   	push   %rdi
140e602b3:	41 54                	push   %r12
140e602b5:	41 55                	push   %r13
140e602b7:	41 56                	push   %r14
140e602b9:	41 57                	push   %r15
140e602bb:	48 83 ec 30          	sub    $0x30,%rsp
140e602bf:	48 8b 3a             	mov    (%rdx),%rdi
140e602c2:	33 c0                	xor    %eax,%eax
140e602c4:	4d 8b e1             	mov    %r9,%r12
140e602c7:	49 8b e8             	mov    %r8,%rbp
140e602ca:	4c 8b fa             	mov    %rdx,%r15
140e602cd:	4c 8b f1             	mov    %rcx,%r14
140e602d0:	48 85 c9             	test   %rcx,%rcx
140e602d3:	0f 84 e7 00 00 00    	je     0x140e603c0
140e602d9:	48 8b d9             	mov    %rcx,%rbx
140e602dc:	4d 85 c0             	test   %r8,%r8
140e602df:	0f 84 b0 00 00 00    	je     0x140e60395
140e602e5:	4c 8b ac 24 80 00 00 	mov    0x80(%rsp),%r13
140e602ec:	00
140e602ed:	38 07                	cmp    %al,(%rdi)
140e602ef:	75 08                	jne    0x140e602f9
140e602f1:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e602f7:	eb 1c                	jmp    0x140e60315
140e602f9:	38 47 01             	cmp    %al,0x1(%rdi)
140e602fc:	75 08                	jne    0x140e60306
140e602fe:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140e60304:	eb 0f                	jmp    0x140e60315
140e60306:	8a 47 02             	mov    0x2(%rdi),%al
140e60309:	f6 d8                	neg    %al
140e6030b:	4d 1b c0             	sbb    %r8,%r8
140e6030e:	49 f7 d8             	neg    %r8
140e60311:	49 83 c0 03          	add    $0x3,%r8
140e60315:	4d 8b cc             	mov    %r12,%r9
140e60318:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140e6031d:	48 8b d7             	mov    %rdi,%rdx
140e60320:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140e60325:	e8 e6 26 00 00       	call   0x140e62a10
140e6032a:	48 8b d0             	mov    %rax,%rdx
140e6032d:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140e60331:	74 7b                	je     0x140e603ae
140e60333:	33 c0                	xor    %eax,%eax
140e60335:	48 85 d2             	test   %rdx,%rdx
140e60338:	74 6c                	je     0x140e603a6
140e6033a:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
140e6033e:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140e60344:	76 3b                	jbe    0x140e60381
140e60346:	48 83 fd 01          	cmp    $0x1,%rbp