140e03ef8:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e03efc:	48 8b 10             	mov    (%rax),%rdx
140e03eff:	48 85 d2             	test   %rdx,%rdx
140e03f02:	74 0e                	je     0x140e03f12
140e03f04:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e03f08:	44 39 00             	cmp    %r8d,(%rax)
140e03f0b:	7e 05                	jle    0x140e03f12
140e03f0d:	0f b7 02             	movzwl (%rdx),%eax
140e03f10:	eb 10                	jmp    0x140e03f22
140e03f12:	48 8b 01             	mov    (%rcx),%rax
140e03f15:	48 8b 40 30          	mov    0x30(%rax),%rax
140e03f19:	ff 15 01 fb 17 00    	call   *0x17fb01(%rip)        # 0x140f83a20
140e03f1f:	45 33 c0             	xor    %r8d,%r8d
140e03f22:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e03f27:	66 3b c8             	cmp    %ax,%cx
140e03f2a:	74 06                	je     0x140e03f32
140e03f2c:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e03f30:	eb 03                	jmp    0x140e03f35
140e03f32:	4c 89 07             	mov    %r8,(%rdi)
140e03f35:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140e03f39:	0f b7 5f 0a          	movzwl 0xa(%rdi),%ebx
140e03f3d:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140e03f42:	48 8b 01             	mov    (%rcx),%rax
140e03f45:	48 8b 40 18          	mov    0x18(%rax),%rax
140e03f49:	ff 15 d1 fa 17 00    	call   *0x17fad1(%rip)        # 0x140f83a20
140e03f4f:	66 3b d8             	cmp    %ax,%bx
140e03f52:	75 6f                	jne    0x140e03fc3
140e03f54:	41 88 34 24          	mov    %sil,(%r12)
140e03f58:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e03f5e:	4d 03 e1             	add    %r9,%r12
140e03f61:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
140e03f66:	48 8b 0f             	mov    (%rdi),%rcx
140e03f69:	45 33 c0             	xor    %r8d,%r8d
140e03f6c:	48 85 c9             	test   %rcx,%rcx
140e03f6f:	74 4b                	je     0x140e03fbc
140e03f71:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e03f75:	4c 39 00             	cmp    %r8,(%rax)
140e03f78:	74 1e                	je     0x140e03f98
140e03f7a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e03f7e:	44 39 00             	cmp    %r8d,(%rax)
140e03f81:	7e 15                	jle    0x140e03f98
140e03f83:	ff 08                	decl   (%rax)
140e03f85:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e03f89:	48 8b 11             	mov    (%rcx),%rdx
140e03f8c:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e03f90:	48 89 01             	mov    %rax,(%rcx)
140e03f93:	0f b7 02             	movzwl (%rdx),%eax
140e03f96:	eb 14                	jmp    0x140e03fac
140e03f98:	48 8b 01             	mov    (%rcx),%rax
140e03f9b:	48 8b 40 38          	mov    0x38(%rax),%rax
140e03f9f:	ff 15 7b fa 17 00    	call   *0x17fa7b(%rip)        # 0x140f83a20
140e03fa5:	45 33 c0             	xor    %r8d,%r8d
140e03fa8:	45 8d 48 01          	lea    0x1(%r8),%r9d
140e03fac:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e03fb1:	66 3b c8             	cmp    %ax,%cx
140e03fb4:	74 06                	je     0x140e03fbc
140e03fb6:	44 88 47 08          	mov    %r8b,0x8(%rdi)
140e03fba:	eb 07                	jmp    0x140e03fc3
140e03fbc:	4c 89 07             	mov    %r8,(%rdi)
140e03fbf:	44 88 4f 08          	mov    %r9b,0x8(%rdi)
140e03fc3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140e03fc8:	45 85 f6             	test   %r14d,%r14d
140e03fcb:	0f 85 05 01 00 00    	jne    0x140e040d6
140e03fd1:	48 8b d3             	mov    %rbx,%rdx
140e03fd4:	48 8b cf             	mov    %rdi,%rcx
140e03fd7:	e8 cc 30 01 00       	call   0x140e170a8
140e03fdc:	45 33 c0             	xor    %r8d,%r8d
140e03fdf:	84 c0                	test   %al,%al
140e03fe1:	0f 85 ef 00 00 00    	jne    0x140e040d6
140e03fe7:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
140e03fec:	0f b7 74 24 38       	movzwl 0x38(%rsp),%esi
140e03ff1:	45 8d 6e 01          	lea    0x1(%r14),%r13d
140e03ff5:	41 bc ff ff 00 00    	mov    $0xffff,%r12d
140e03ffb:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140e03fff:	75 45                	jne    0x140e04046
140e04001:	48 8b 0f             	mov    (%rdi),%rcx
140e04004:	48 85 c9             	test   %rcx,%rcx
140e04007:	74 36                	je     0x140e0403f
140e04009:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0400d:	48 8b 10             	mov    (%rax),%rdx
140e04010:	48 85 d2             	test   %rdx,%rdx
140e04013:	74 0e                	je     0x140e04023
140e04015:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04019:	44 39 00             	cmp    %r8d,(%rax)
140e0401c:	7e 05                	jle    0x140e04023
140e0401e:	0f b7 02             	movzwl (%rdx),%eax
140e04021:	eb 10                	jmp    0x140e04033
140e04023:	48 8b 01             	mov    (%rcx),%rax
140e04026:	48 8b 40 30          	mov    0x30(%rax),%rax
140e0402a:	ff 15 f0 f9 17 00    	call   *0x17f9f0(%rip)        # 0x140f83a20
140e04030:	45 33 c0             	xor    %r8d,%r8d
140e04033:	66 44 3b e0          	cmp    %ax,%r12w
140e04037:	74 06                	je     0x140e0403f
140e04039:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0403d:	eb 03                	jmp    0x140e04042
140e0403f:	4c 89 07             	mov    %r8,(%rdi)
140e04042:	44 88 6f 08          	mov    %r13b,0x8(%rdi)
140e04046:	66 39 77 0a          	cmp    %si,0xa(%rdi)
140e0404a:	75 71                	jne    0x140e040bd
140e0404c:	4d 2b fd             	sub    %r13,%r15
140e0404f:	44 88 6c 24 31       	mov    %r13b,0x31(%rsp)
140e04054:	48 8b 0f             	mov    (%rdi),%rcx
140e04057:	48 85 c9             	test   %rcx,%rcx
140e0405a:	74 42                	je     0x140e0409e
140e0405c:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04060:	4c 39 00             	cmp    %r8,(%rax)
140e04063:	74 1e                	je     0x140e04083
140e04065:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04069:	44 39 00             	cmp    %r8d,(%rax)
140e0406c:	7e 15                	jle    0x140e04083
140e0406e:	ff 08                	decl   (%rax)
140e04070:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e04074:	48 8b 11             	mov    (%rcx),%rdx
140e04077:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e0407b:	48 89 01             	mov    %rax,(%rcx)
140e0407e:	0f b7 02             	movzwl (%rdx),%eax
140e04081:	eb 10                	jmp    0x140e04093
140e04083:	48 8b 01             	mov    (%rcx),%rax
140e04086:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0408a:	ff 15 90 f9 17 00    	call   *0x17f990(%rip)        # 0x140f83a20
140e04090:	45 33 c0             	xor    %r8d,%r8d
140e04093:	66 44 3b e0          	cmp    %ax,%r12w
140e04097:	74 05                	je     0x140e0409e
140e04099:	41 8a c0             	mov    %r8b,%al
140e0409c:	eb 06                	jmp    0x140e040a4
140e0409e:	4c 89 07             	mov    %r8,(%rdi)
140e040a1:	41 8a c5             	mov    %r13b,%al
140e040a4:	88 47 08             	mov    %al,0x8(%rdi)
140e040a7:	48 8b d3             	mov    %rbx,%rdx
140e040aa:	48 8b cf             	mov    %rdi,%rcx
140e040ad:	e8 f6 2f 01 00       	call   0x140e170a8
140e040b2:	45 33 c0             	xor    %r8d,%r8d
140e040b5:	84 c0                	test   %al,%al
140e040b7:	0f 84 3e ff ff ff    	je     0x140e03ffb
140e040bd:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
140e040c2:	40 8a 74 24 33       	mov    0x33(%rsp),%sil
140e040c7:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e040cc:	44 8b 6c 24 3c       	mov    0x3c(%rsp),%r13d
140e040d1:	44 8a 7c 24 32       	mov    0x32(%rsp),%r15b
140e040d6:	48 8b d3             	mov    %rbx,%rdx
140e040d9:	48 8b cf             	mov    %rdi,%rcx
140e040dc:	e8 c7 2f 01 00       	call   0x140e170a8
140e040e1:	33 d2                	xor    %edx,%edx
140e040e3:	84 c0                	test   %al,%al
140e040e5:	0f 85 39 01 00 00    	jne    0x140e04224
140e040eb:	48 8b 5d 87          	mov    -0x79(%rbp),%rbx
140e040ef:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
140e040f4:	8b 74 24 54          	mov    0x54(%rsp),%esi
140e040f8:	38 57 08             	cmp    %dl,0x8(%rdi)
140e040fb:	75 48                	jne    0x140e04145
140e040fd:	48 8b 0f             	mov    (%rdi),%rcx
140e04100:	48 85 c9             	test   %rcx,%rcx
140e04103:	74 39                	je     0x140e0413e
140e04105:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04109:	48 8b 10             	mov    (%rax),%rdx
140e0410c:	48 85 d2             	test   %rdx,%rdx
140e0410f:	74 0e                	je     0x140e0411f
140e04111:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04115:	83 38 00             	cmpl   $0x0,(%rax)
140e04118:	7e 05                	jle    0x140e0411f
140e0411a:	0f b7 02             	movzwl (%rdx),%eax
140e0411d:	eb 0d                	jmp    0x140e0412c
140e0411f:	48 8b 01             	mov    (%rcx),%rax
140e04122:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04126:	ff 15 f4 f8 17 00    	call   *0x17f8f4(%rip)        # 0x140f83a20
140e0412c:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04131:	66 3b c8             	cmp    %ax,%cx
140e04134:	74 06                	je     0x140e0413c
140e04136:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0413a:	eb 05                	jmp    0x140e04141
140e0413c:	33 d2                	xor    %edx,%edx
140e0413e:	48 89 17             	mov    %rdx,(%rdi)
140e04141:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140e04145:	44 0f b7 47 0a       	movzwl 0xa(%rdi),%r8d
140e0414a:	48 8d 55 07          	lea    0x7(%rbp),%rdx
140e0414e:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e04152:	e8 d9 8e ff ff       	call   0x140dfd030
140e04157:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
140e0415b:	48 2b c1             	sub    %rcx,%rax
140e0415e:	48 d1 f8             	sar    $1,%rax
140e04161:	48 3b c3             	cmp    %rbx,%rax
140e04164:	0f 83 a9 00 00 00    	jae    0x140e04213
140e0416a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e04170:	44 3b f6             	cmp    %esi,%r14d
140e04173:	7d 19                	jge    0x140e0418e
140e04175:	48 8d 0d 44 c7 3d 00 	lea    0x3dc744(%rip),%rcx        # 0x1411e08c0
140e0417c:	8a 04 08             	mov    (%rax,%rcx,1),%al
140e0417f:	41 88 04 24          	mov    %al,(%r12)
140e04183:	4d 03 e1             	add    %r9,%r12
140e04186:	45 03 f1             	add    %r9d,%r14d
140e04189:	45 33 c0             	xor    %r8d,%r8d
140e0418c:	eb 0e                	jmp    0x140e0419c
140e0418e:	45 0f b6 ed          	movzbl %r13b,%r13d
140e04192:	45 33 c0             	xor    %r8d,%r8d
140e04195:	48 85 c0             	test   %rax,%rax
140e04198:	45 0f 45 e9          	cmovne %r9d,%r13d
140e0419c:	44 88 4c 24 31       	mov    %r9b,0x31(%rsp)
140e041a1:	48 8b 0f             	mov    (%rdi),%rcx
140e041a4:	48 85 c9             	test   %rcx,%rcx
140e041a7:	74 4a                	je     0x140e041f3
140e041a9:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e041ad:	4c 39 00             	cmp    %r8,(%rax)
140e041b0:	74 1e                	je     0x140e041d0
140e041b2:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e041b6:	44 39 00             	cmp    %r8d,(%rax)
140e041b9:	7e 15                	jle    0x140e041d0
140e041bb:	ff 08                	decl   (%rax)
140e041bd:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e041c1:	48 8b 11             	mov    (%rcx),%rdx
140e041c4:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e041c8:	48 89 01             	mov    %rax,(%rcx)
140e041cb:	0f b7 02             	movzwl (%rdx),%eax
140e041ce:	eb 14                	jmp    0x140e041e4
140e041d0:	48 8b 01             	mov    (%rcx),%rax
140e041d3:	48 8b 40 38          	mov    0x38(%rax),%rax
140e041d7:	ff 15 43 f8 17 00    	call   *0x17f843(%rip)        # 0x140f83a20
140e041dd:	45 33 c0             	xor    %r8d,%r8d
140e041e0:	45 8d 48 01          	lea    0x1(%r8),%r9d
140e041e4:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e041e9:	66 3b c8             	cmp    %ax,%cx
140e041ec:	74 05                	je     0x140e041f3
140e041ee:	41 8a c0             	mov    %r8b,%al
140e041f1:	eb 06                	jmp    0x140e041f9
140e041f3:	4c 89 07             	mov    %r8,(%rdi)
140e041f6:	41 8a c1             	mov    %r9b,%al
140e041f9:	88 47 08             	mov    %al,0x8(%rdi)
140e041fc:	49 8b d7             	mov    %r15,%rdx
140e041ff:	48 8b cf             	mov    %rdi,%rcx
140e04202:	e8 a1 2e 01 00       	call   0x140e170a8
140e04207:	33 d2                	xor    %edx,%edx
140e04209:	84 c0                	test   %al,%al
140e0420b:	0f 84 e7 fe ff ff    	je     0x140e040f8
140e04211:	eb 02                	jmp    0x140e04215
140e04213:	33 d2                	xor    %edx,%edx
140e04215:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
140e0421a:	40 8a 74 24 33       	mov    0x33(%rsp),%sil
140e0421f:	44 8a 7c 24 32       	mov    0x32(%rsp),%r15b
140e04224:	45 84 ed             	test   %r13b,%r13b
140e04227:	74 3b                	je     0x140e04264
140e04229:	48 8b c2             	mov    %rdx,%rax
140e0422c:	41 38 74 24 ff       	cmp    %sil,-0x1(%r12)
140e04231:	0f 94 c0             	sete   %al
140e04234:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140e0423a:	49 03 c1             	add    %r9,%rax
140e0423d:	4d 8b c4             	mov    %r12,%r8
140e04240:	4c 2b c0             	sub    %rax,%r8
140e04243:	41 8a 10             	mov    (%r8),%dl
140e04246:	80 fa 30             	cmp    $0x30,%dl
140e04249:	74 11                	je     0x140e0425c
140e0424b:	41 8a c7             	mov    %r15b,%al
140e0424e:	f6 d8                	neg    %al
140e04250:	1a c9                	sbb    %cl,%cl
140e04252:	80 e1 03             	and    $0x3,%cl
140e04255:	80 c1 35             	add    $0x35,%cl
140e04258:	3a d1                	cmp    %cl,%dl
140e0425a:	75 06                	jne    0x140e04262
140e0425c:	41 02 d1             	add    %r9b,%dl
140e0425f:	41 88 10             	mov    %dl,(%r8)
140e04262:	33 d2                	xor    %edx,%edx
140e04264:	44 8a 6c 24 32       	mov    0x32(%rsp),%r13b
140e04269:	41 8a c5             	mov    %r13b,%al
140e0426c:	f6 d8                	neg    %al
140e0426e:	48 1b c9             	sbb    %rcx,%rcx
140e04271:	83 e1 0e             	and    $0xe,%ecx
140e04274:	0f b7 74 0d f7       	movzwl -0x9(%rbp,%rcx,1),%esi
140e04279:	41 8a c5             	mov    %r13b,%al
140e0427c:	f6 d8                	neg    %al
140e0427e:	48 1b c9             	sbb    %rcx,%rcx
140e04281:	83 e1 18             	and    $0x18,%ecx
140e04284:	44 0f b7 74 0d eb    	movzwl -0x15(%rbp,%rcx,1),%r14d
140e0428a:	44 8a fa             	mov    %dl,%r15b
140e0428d:	88 54 24 33          	mov    %dl,0x33(%rsp)
140e04291:	48 8b da             	mov    %rdx,%rbx
140e04294:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
140e04299:	38 54 24 31          	cmp    %dl,0x31(%rsp)
140e0429d:	0f 84 d6 06 00 00    	je     0x140e04979
140e042a3:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140e042a8:	48 8b cf             	mov    %rdi,%rcx
140e042ab:	e8 f8 2d 01 00       	call   0x140e170a8
140e042b0:	33 d2                	xor    %edx,%edx
140e042b2:	84 c0                	test   %al,%al
140e042b4:	0f 85 01 05 00 00    	jne    0x140e047bb
140e042ba:	8a 4f 08             	mov    0x8(%rdi),%cl
140e042bd:	84 c9                	test   %cl,%cl
140e042bf:	75 4e                	jne    0x140e0430f
140e042c1:	48 8b 0f             	mov    (%rdi),%rcx
140e042c4:	48 85 c9             	test   %rcx,%rcx
140e042c7:	74 39                	je     0x140e04302
140e042c9:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e042cd:	48 8b 10             	mov    (%rax),%rdx
140e042d0:	48 85 d2             	test   %rdx,%rdx
140e042d3:	74 0e                	je     0x140e042e3
140e042d5:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e042d9:	83 38 00             	cmpl   $0x0,(%rax)
140e042dc:	7e 05                	jle    0x140e042e3
140e042de:	0f b7 02             	movzwl (%rdx),%eax
140e042e1:	eb 0d                	jmp    0x140e042f0
140e042e3:	48 8b 01             	mov    (%rcx),%rax
140e042e6:	48 8b 40 30          	mov    0x30(%rax),%rax
140e042ea:	ff 15 30 f7 17 00    	call   *0x17f730(%rip)        # 0x140f83a20
140e042f0:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e042f5:	33 d2                	xor    %edx,%edx
140e042f7:	66 3b c8             	cmp    %ax,%cx
140e042fa:	74 06                	je     0x140e04302
140e042fc:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e04300:	eb 03                	jmp    0x140e04305
140e04302:	48 89 17             	mov    %rdx,(%rdi)
140e04305:	b8 01 00 00 00       	mov    $0x1,%eax
140e0430a:	88 47 08             	mov    %al,0x8(%rdi)
140e0430d:	8a c8                	mov    %al,%cl
140e0430f:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e04313:	66 3b c6             	cmp    %si,%ax
140e04316:	74 5a                	je     0x140e04372
140e04318:	84 c9                	test   %cl,%cl
140e0431a:	75 4c                	jne    0x140e04368
140e0431c:	48 8b 0f             	mov    (%rdi),%rcx
140e0431f:	48 85 c9             	test   %rcx,%rcx
140e04322:	74 39                	je     0x140e0435d
140e04324:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e04328:	48 8b 10             	mov    (%rax),%rdx
140e0432b:	48 85 d2             	test   %rdx,%rdx
140e0432e:	74 0e                	je     0x140e0433e
140e04330:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04334:	83 38 00             	cmpl   $0x0,(%rax)
140e04337:	7e 05                	jle    0x140e0433e
140e04339:	0f b7 02             	movzwl (%rdx),%eax
140e0433c:	eb 0d                	jmp    0x140e0434b
140e0433e:	48 8b 01             	mov    (%rcx),%rax
140e04341:	48 8b 40 30          	mov    0x30(%rax),%rax
140e04345:	ff 15 d5 f6 17 00    	call   *0x17f6d5(%rip)        # 0x140f83a20
140e0434b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e04350:	33 d2                	xor    %edx,%edx
140e04352:	66 3b c8             	cmp    %ax,%cx
140e04355:	74 06                	je     0x140e0435d
140e04357:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e0435b:	eb 07                	jmp    0x140e04364
140e0435d:	48 89 17             	mov    %rdx,(%rdi)
140e04360:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e04364:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
140e04368:	66 41 3b c6          	cmp    %r14w,%ax
140e0436c:	0f 85 49 04 00 00    	jne    0x140e047bb
140e04372:	48 8b 0f             	mov    (%rdi),%rcx
140e04375:	48 85 c9             	test   %rcx,%rcx
140e04378:	74 43                	je     0x140e043bd
140e0437a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e0437e:	48 39 10             	cmp    %rdx,(%rax)
140e04381:	74 1d                	je     0x140e043a0
140e04383:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e04387:	39 10                	cmp    %edx,(%rax)
140e04389:	7e 15                	jle    0x140e043a0