140936e80:	49 3b c8             	cmp    %r8,%rcx
140936e83:	74 2c                	je     0x140936eb1
140936e85:	03 df                	add    %edi,%ebx
140936e87:	41 3b 5a 0c          	cmp    0xc(%r10),%ebx
140936e8b:	72 c4                	jb     0x140936e51
140936e8d:	4d 8b 52 18          	mov    0x18(%r10),%r10
140936e91:	4d 85 d2             	test   %r10,%r10
140936e94:	75 b0                	jne    0x140936e46
140936e96:	49 89 13             	mov    %rdx,(%r11)
140936e99:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140936e9e:	49 8b c3             	mov    %r11,%rax
140936ea1:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140936ea6:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140936eab:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140936eb0:	c3                   	ret
140936eb1:	4d 89 03             	mov    %r8,(%r11)
140936eb4:	eb e3                	jmp    0x140936e99
140936eb6:	cc                   	int3
140936eb7:	90                   	nop
140936eb8:	48 8b c4             	mov    %rsp,%rax
140936ebb:	48 89 58 08          	mov    %rbx,0x8(%rax)
140936ebf:	48 89 68 10          	mov    %rbp,0x10(%rax)
140936ec3:	48 89 70 18          	mov    %rsi,0x18(%rax)
140936ec7:	48 89 78 20          	mov    %rdi,0x20(%rax)
140936ecb:	41 56                	push   %r14
140936ecd:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140936ed4:	48 8b f2             	mov    %rdx,%rsi
140936ed7:	48 8b f9             	mov    %rcx,%rdi
140936eda:	48 8b d1             	mov    %rcx,%rdx
140936edd:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140936ee2:	e8 75 3b 8a ff       	call   0x1401daa5c
140936ee7:	33 db                	xor    %ebx,%ebx
140936ee9:	48 85 f6             	test   %rsi,%rsi
140936eec:	0f 84 b7 00 00 00    	je     0x140936fa9
140936ef2:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140936ef7:	48 8b cf             	mov    %rdi,%rcx
140936efa:	e8 f1 29 8a ff       	call   0x1401d98f0
140936eff:	48 8b 56 10          	mov    0x10(%rsi),%rdx
140936f03:	48 8b cf             	mov    %rdi,%rcx
140936f06:	e8 55 f2 ff ff       	call   0x140936160
140936f0b:	84 c0                	test   %al,%al
140936f0d:	75 09                	jne    0x140936f18
140936f0f:	48 8b 76 28          	mov    0x28(%rsi),%rsi
140936f13:	48 85 f6             	test   %rsi,%rsi
140936f16:	75 da                	jne    0x140936ef2
140936f18:	48 85 f6             	test   %rsi,%rsi
140936f1b:	0f 84 88 00 00 00    	je     0x140936fa9
140936f21:	38 9f c8 00 00 00    	cmp    %bl,0xc8(%rdi)
140936f27:	75 04                	jne    0x140936f2d
140936f29:	b3 01                	mov    $0x1,%bl
140936f2b:	eb 7c                	jmp    0x140936fa9
140936f2d:	48 8b d7             	mov    %rdi,%rdx
140936f30:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140936f35:	e8 22 3b 8a ff       	call   0x1401daa5c
140936f3a:	90                   	nop
140936f3b:	4c 8b 37             	mov    (%rdi),%r14
140936f3e:	4c 2b 74 24 20       	sub    0x20(%rsp),%r14
140936f43:	49 d1 fe             	sar    $1,%r14
140936f46:	48 8b 6e 28          	mov    0x28(%rsi),%rbp
140936f4a:	eb 3e                	jmp    0x140936f8a
140936f4c:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140936f51:	e8 9a 29 8a ff       	call   0x1401d98f0
140936f56:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140936f5a:	48 8b cf             	mov    %rdi,%rcx
140936f5d:	e8 fe f1 ff ff       	call   0x140936160
140936f62:	84 c0                	test   %al,%al
140936f64:	74 20                	je     0x140936f86
140936f66:	48 8b 37             	mov    (%rdi),%rsi
140936f69:	48 2b 74 24 20       	sub    0x20(%rsp),%rsi
140936f6e:	48 d1 fe             	sar    $1,%rsi
140936f71:	4c 3b f6             	cmp    %rsi,%r14
140936f74:	7d 10                	jge    0x140936f86
140936f76:	48 8b d7             	mov    %rdi,%rdx
140936f79:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140936f7e:	e8 6d 29 8a ff       	call   0x1401d98f0
140936f83:	4c 8b f6             	mov    %rsi,%r14
140936f86:	48 8b 6d 28          	mov    0x28(%rbp),%rbp
140936f8a:	48 8b cf             	mov    %rdi,%rcx
140936f8d:	48 85 ed             	test   %rbp,%rbp
140936f90:	75 ba                	jne    0x140936f4c
140936f92:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140936f97:	e8 54 29 8a ff       	call   0x1401d98f0
140936f9c:	b3 01                	mov    $0x1,%bl
140936f9e:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140936fa3:	e8 58 07 8a ff       	call   0x1401d7700
140936fa8:	90                   	nop
140936fa9:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140936fae:	e8 4d 07 8a ff       	call   0x1401d7700
140936fb3:	8a c3                	mov    %bl,%al
140936fb5:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
140936fbc:	00
140936fbd:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140936fc1:	49 8b 6b 18          	mov    0x18(%r11),%rbp
140936fc5:	49 8b 73 20          	mov    0x20(%r11),%rsi
140936fc9:	49 8b 7b 28          	mov    0x28(%r11),%rdi
140936fcd:	49 8b e3             	mov    %r11,%rsp
140936fd0:	41 5e                	pop    %r14
140936fd2:	c3                   	ret
140936fd3:	90                   	nop
140936fd4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140936fd9:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140936fde:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140936fe3:	57                   	push   %rdi
140936fe4:	41 54                	push   %r12
140936fe6:	41 55                	push   %r13
140936fe8:	41 56                	push   %r14
140936fea:	41 57                	push   %r15
140936fec:	48 83 ec 70          	sub    $0x70,%rsp
140936ff0:	45 8b f1             	mov    %r9d,%r14d
140936ff3:	45 8a e0             	mov    %r8b,%r12b
140936ff6:	48 8b da             	mov    %rdx,%rbx
140936ff9:	48 8b f9             	mov    %rcx,%rdi
140936ffc:	83 7a 34 01          	cmpl   $0x1,0x34(%rdx)
140937000:	75 0a                	jne    0x14093700c
140937002:	e8 ad 0d 00 00       	call   0x140937db4
140937007:	e9 47 01 00 00       	jmp    0x140937153
14093700c:	40 32 ed             	xor    %bpl,%bpl
14093700f:	48 8b d7             	mov    %rdi,%rdx
140937012:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140937017:	e8 40 3a 8a ff       	call   0x1401daa5c
14093701c:	90                   	nop
14093701d:	8b 73 30             	mov    0x30(%rbx),%esi
140937020:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
140937027:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
14093702e:	48 2b c1             	sub    %rcx,%rax
140937031:	48 c1 f8 04          	sar    $0x4,%rax
140937035:	48 3b f0             	cmp    %rax,%rsi
140937038:	72 07                	jb     0x140937041
14093703a:	ff 15 58 59 1d 00    	call   *0x1d5958(%rip)        # 0x140b0c998
140937040:	cc                   	int3
140937041:	48 c1 e6 04          	shl    $0x4,%rsi
140937045:	48 03 f1             	add    %rcx,%rsi
140937048:	8b 0e                	mov    (%rsi),%ecx
14093704a:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
14093704e:	4c 8b 6e 08          	mov    0x8(%rsi),%r13
140937052:	48 8b 07             	mov    (%rdi),%rax
140937055:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14093705a:	45 85 f6             	test   %r14d,%r14d
14093705d:	74 0b                	je     0x14093706a
14093705f:	49 39 45 00          	cmp    %rax,0x0(%r13)
140937063:	75 05                	jne    0x14093706a
140937065:	45 32 ff             	xor    %r15b,%r15b
140937068:	eb 03                	jmp    0x14093706d
14093706a:	41 b7 01             	mov    $0x1,%r15b
14093706d:	83 7b 24 00          	cmpl   $0x0,0x24(%rbx)
140937071:	7c 0a                	jl     0x14093707d
140937073:	44 39 73 24          	cmp    %r14d,0x24(%rbx)
140937077:	0f 8e 9b 00 00 00    	jle    0x140937118
14093707d:	44 3b 73 20          	cmp    0x20(%rbx),%r14d
140937081:	7d 1e                	jge    0x1409370a1
140937083:	45 84 ff             	test   %r15b,%r15b
140937086:	0f 84 8c 00 00 00    	je     0x140937118
14093708c:	41 8d 46 01          	lea    0x1(%r14),%eax
140937090:	89 06                	mov    %eax,(%rsi)
140937092:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
140937097:	48 89 46 08          	mov    %rax,0x8(%rsi)
14093709b:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14093709f:	eb 7f                	jmp    0x140937120
1409370a1:	45 84 e4             	test   %r12b,%r12b
1409370a4:	75 2b                	jne    0x1409370d1
1409370a6:	48 8b 53 28          	mov    0x28(%rbx),%rdx
1409370aa:	48 8b 52 10          	mov    0x10(%rdx),%rdx
1409370ae:	48 8b cf             	mov    %rdi,%rcx
1409370b1:	e8 aa f0 ff ff       	call   0x140936160
1409370b6:	40 8a e8             	mov    %al,%bpl
1409370b9:	84 c0                	test   %al,%al
1409370bb:	75 7f                	jne    0x14093713c
1409370bd:	45 84 ff             	test   %r15b,%r15b
1409370c0:	74 6d                	je     0x14093712f
1409370c2:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1409370c7:	48 8b cf             	mov    %rdi,%rcx
1409370ca:	e8 21 28 8a ff       	call   0x1401d98f0
1409370cf:	eb bb                	jmp    0x14093708c
1409370d1:	45 84 ff             	test   %r15b,%r15b
1409370d4:	74 24                	je     0x1409370fa
1409370d6:	41 8d 46 01          	lea    0x1(%r14),%eax
1409370da:	89 06                	mov    %eax,(%rsi)
1409370dc:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
1409370e1:	48 89 46 08          	mov    %rax,0x8(%rsi)
1409370e5:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1409370e9:	48 8b cf             	mov    %rdi,%rcx
1409370ec:	e8 6f f0 ff ff       	call   0x140936160
1409370f1:	40 8a e8             	mov    %al,%bpl
1409370f4:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
1409370f8:	eb 06                	jmp    0x140937100
1409370fa:	41 83 fe 01          	cmp    $0x1,%r14d
1409370fe:	7f 2f                	jg     0x14093712f
140937100:	40 84 ed             	test   %bpl,%bpl
140937103:	75 37                	jne    0x14093713c
140937105:	89 0e                	mov    %ecx,(%rsi)
140937107:	4c 89 6e 08          	mov    %r13,0x8(%rsi)
14093710b:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140937110:	48 8b cf             	mov    %rdi,%rcx
140937113:	e8 d8 27 8a ff       	call   0x1401d98f0
140937118:	48 8b 43 28          	mov    0x28(%rbx),%rax
14093711c:	48 8b 50 10          	mov    0x10(%rax),%rdx
140937120:	48 8b cf             	mov    %rdi,%rcx
140937123:	e8 38 f0 ff ff       	call   0x140936160
140937128:	40 8a e8             	mov    %al,%bpl
14093712b:	84 c0                	test   %al,%al
14093712d:	75 0d                	jne    0x14093713c
14093712f:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140937134:	48 8b cf             	mov    %rdi,%rcx
140937137:	e8 b4 27 8a ff       	call   0x1401d98f0
14093713c:	8b 44 24 20          	mov    0x20(%rsp),%eax
140937140:	89 06                	mov    %eax,(%rsi)
140937142:	4c 89 6e 08          	mov    %r13,0x8(%rsi)
140937146:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14093714b:	e8 b0 05 8a ff       	call   0x1401d7700
140937150:	40 8a c5             	mov    %bpl,%al
140937153:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140937158:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14093715c:	49 8b 6b 40          	mov    0x40(%r11),%rbp
140937160:	49 8b 73 48          	mov    0x48(%r11),%rsi
140937164:	49 8b e3             	mov    %r11,%rsp
140937167:	41 5f                	pop    %r15
140937169:	41 5e                	pop    %r14
14093716b:	41 5d                	pop    %r13
14093716d:	41 5c                	pop    %r12
14093716f:	5f                   	pop    %rdi
140937170:	c3                   	ret
140937171:	90                   	nop
140937172:	90                   	nop
140937173:	90                   	nop
140937174:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140937179:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14093717e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140937183:	57                   	push   %rdi
140937184:	41 54                	push   %r12
140937186:	41 55                	push   %r13
140937188:	41 56                	push   %r14
14093718a:	41 57                	push   %r15
14093718c:	48 83 ec 20          	sub    $0x20,%rsp
140937190:	48 8b 01             	mov    (%rcx),%rax
140937193:	41 bd 00 01 00 00    	mov    $0x100,%r13d
140937199:	48 8b ea             	mov    %rdx,%rbp
14093719c:	48 8b f9             	mov    %rcx,%rdi
14093719f:	0f b7 30             	movzwl (%rax),%esi
1409371a2:	44 85 a9 b8 00 00 00 	test   %r13d,0xb8(%rcx)
1409371a9:	74 17                	je     0x1409371c2
1409371ab:	48 8b 81 d0 00 00 00 	mov    0xd0(%rcx),%rax
1409371b2:	0f b7 d6             	movzwl %si,%edx
1409371b5:	48 8b 48 08          	mov    0x8(%rax),%rcx
1409371b9:	ff 15 11 55 1d 00    	call   *0x1d5511(%rip)        # 0x140b0c6d0
1409371bf:	0f b7 f0             	movzwl %ax,%esi
1409371c2:	4c 8b 17             	mov    (%rdi),%r10
1409371c5:	33 db                	xor    %ebx,%ebx
1409371c7:	48 8b 55 20          	mov    0x20(%rbp),%rdx
1409371cb:	4d 8d 62 02          	lea    0x2(%r10),%r12
1409371cf:	48 85 d2             	test   %rdx,%rdx
1409371d2:	74 68                	je     0x14093723c
1409371d4:	4c 8b 87 a0 00 00 00 	mov    0xa0(%rdi),%r8
1409371db:	44 8b cb             	mov    %ebx,%r9d
1409371de:	39 5a 0c             	cmp    %ebx,0xc(%rdx)
1409371e1:	76 40                	jbe    0x140937223
1409371e3:	44 8b 32             	mov    (%rdx),%r14d
1409371e6:	4d 8b fa             	mov    %r10,%r15
1409371e9:	4c 8b db             	mov    %rbx,%r11
1409371ec:	4d 85 f6             	test   %r14,%r14
1409371ef:	74 24                	je     0x140937215
1409371f1:	48 8b 42 10          	mov    0x10(%rdx),%rax
1409371f5:	41 8b c9             	mov    %r9d,%ecx
1409371f8:	48 8d 0c 48          	lea    (%rax,%rcx,2),%rcx
1409371fc:	41 0f b7 07          	movzwl (%r15),%eax
140937200:	49 83 c7 02          	add    $0x2,%r15
140937204:	66 3b 01             	cmp    (%rcx),%ax
140937207:	75 0c                	jne    0x140937215
140937209:	49 ff c3             	inc    %r11
14093720c:	48 83 c1 02          	add    $0x2,%rcx
140937210:	4d 3b de             	cmp    %r14,%r11
140937213:	72 e7                	jb     0x1409371fc
140937215:	4d 3b f8             	cmp    %r8,%r15
140937218:	74 15                	je     0x14093722f
14093721a:	45 03 ce             	add    %r14d,%r9d
14093721d:	44 3b 4a 0c          	cmp    0xc(%rdx),%r9d
140937221:	72 c3                	jb     0x1409371e6
140937223:	48 8b 52 18          	mov    0x18(%rdx),%rdx
140937227:	48 85 d2             	test   %rdx,%rdx
14093722a:	75 af                	jne    0x1409371db
14093722c:	4d 8b c2             	mov    %r10,%r8
14093722f:	4d 3b c2             	cmp    %r10,%r8
140937232:	74 08                	je     0x14093723c
140937234:	4d 8b e0             	mov    %r8,%r12
140937237:	e9 f6 00 00 00       	jmp    0x140937332
14093723c:	4c 8b 75 38          	mov    0x38(%rbp),%r14
140937240:	4d 85 f6             	test   %r14,%r14
140937243:	74 33                	je     0x140937278
140937245:	f7 87 b8 00 00 00 00 	testl  $0x800,0xb8(%rdi)
14093724c:	08 00 00
14093724f:	74 11                	je     0x140937262
140937251:	48 8b 8f d0 00 00 00 	mov    0xd0(%rdi),%rcx
140937258:	0f b7 d6             	movzwl %si,%edx
14093725b:	e8 5c 14 8a ff       	call   0x1401d86bc
140937260:	eb 03                	jmp    0x140937265
140937262:	0f b7 c6             	movzwl %si,%eax
140937265:	0f b7 c8             	movzwl %ax,%ecx
140937268:	49 8b d6             	mov    %r14,%rdx
14093726b:	e8 24 20 8a ff       	call   0x1401d9294
140937270:	84 c0                	test   %al,%al
140937272:	0f 85 ba 00 00 00    	jne    0x140937332
140937278:	66 41 3b f5          	cmp    %r13w,%si
14093727c:	73 29                	jae    0x1409372a7
14093727e:	4c 8b 45 28          	mov    0x28(%rbp),%r8
140937282:	4d 85 c0             	test   %r8,%r8
140937285:	0f 84 a9 00 00 00    	je     0x140937334
14093728b:	0f b7 c6             	movzwl %si,%eax
14093728e:	ba 01 00 00 00       	mov    $0x1,%edx
140937293:	8b c8                	mov    %eax,%ecx
140937295:	48 c1 e8 03          	shr    $0x3,%rax
140937299:	83 e1 07             	and    $0x7,%ecx
14093729c:	d3 e2                	shl    %cl,%edx
14093729e:	42 84 14 00          	test   %dl,(%rax,%r8,1)
1409372a2:	e9 89 00 00 00       	jmp    0x140937330
1409372a7:	48 8b 45 30          	mov    0x30(%rbp),%rax
1409372ab:	48 85 c0             	test   %rax,%rax
1409372ae:	74 2b                	je     0x1409372db
1409372b0:	48 8b 48 08          	mov    0x8(%rax),%rcx
1409372b4:	44 0f b7 c6          	movzwl %si,%r8d
1409372b8:	8b 40 04             	mov    0x4(%rax),%eax
1409372bb:	48 8d 14 41          	lea    (%rcx,%rax,2),%rdx
1409372bf:	e8 0c 98 1b 00       	call   0x140af0ad0
1409372c4:	48 8b d0             	mov    %rax,%rdx
1409372c7:	48 8b 45 30          	mov    0x30(%rbp),%rax
1409372cb:	8b 48 04             	mov    0x4(%rax),%ecx
1409372ce:	48 8b 40 08          	mov    0x8(%rax),%rax
1409372d2:	48 8d 0c 48          	lea    (%rax,%rcx,2),%rcx
1409372d6:	48 3b d1             	cmp    %rcx,%rdx
1409372d9:	75 57                	jne    0x140937332
1409372db:	0f b7 55 40          	movzwl 0x40(%rbp),%edx
1409372df:	66 85 d2             	test   %dx,%dx
1409372e2:	74 32                	je     0x140937316
1409372e4:	48 8b 8f d0 00 00 00 	mov    0xd0(%rdi),%rcx
1409372eb:	44 0f b7 c6          	movzwl %si,%r8d
1409372ef:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1409372f3:	66 83 fa ff          	cmp    $0xffff,%dx
1409372f7:	74 08                	je     0x140937301
1409372f9:	ff 15 d9 53 1d 00    	call   *0x1d53d9(%rip)        # 0x140b0c6d8
1409372ff:	eb 11                	jmp    0x140937312
140937301:	ba 07 01 00 00       	mov    $0x107,%edx
140937306:	ff 15 cc 53 1d 00    	call   *0x1d53cc(%rip)        # 0x140b0c6d8
14093730c:	84 c0                	test   %al,%al
14093730e:	74 06                	je     0x140937316
140937310:	b0 01                	mov    $0x1,%al
140937312:	84 c0                	test   %al,%al
140937314:	75 1c                	jne    0x140937332
140937316:	48 8b 55 48          	mov    0x48(%rbp),%rdx
14093731a:	48 85 d2             	test   %rdx,%rdx
14093731d:	74 15                	je     0x140937334
14093731f:	4c 8b 87 d0 00 00 00 	mov    0xd0(%rdi),%r8
140937326:	0f b7 ce             	movzwl %si,%ecx