140898f75:	83 ea 01             	sub    $0x1,%edx
140898f78:	0f 84 ea 02 00 00    	je     0x140899268
140898f7e:	48 89 b4 24 90 00 00 	mov    %rsi,0x90(%rsp)
140898f85:	00
140898f86:	83 fa 01             	cmp    $0x1,%edx
140898f89:	0f 84 b6 00 00 00    	je     0x140899045
140898f8f:	0f b6 47 1f          	movzbl 0x1f(%rdi),%eax
140898f93:	84 c0                	test   %al,%al
140898f95:	75 08                	jne    0x140898f9f
140898f97:	ff 47 38             	incl   0x38(%rdi)
140898f9a:	8b 77 38             	mov    0x38(%rdi),%esi
140898f9d:	eb 0f                	jmp    0x140898fae
140898f9f:	fe c8                	dec    %al
140898fa1:	0f b6 c0             	movzbl %al,%eax
140898fa4:	88 47 1f             	mov    %al,0x1f(%rdi)
140898fa7:	8b b4 87 d8 00 00 00 	mov    0xd8(%rdi,%rax,4),%esi
140898fae:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140898fb3:	44 8b c5             	mov    %ebp,%r8d
140898fb6:	ba 1c 00 00 00       	mov    $0x1c,%edx
140898fbb:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
140898fc0:	48 8b cb             	mov    %rbx,%rcx
140898fc3:	e8 98 de 06 00       	call   0x140906e60
140898fc8:	45 8b cd             	mov    %r13d,%r9d
140898fcb:	89 74 24 20          	mov    %esi,0x20(%rsp)
140898fcf:	45 8b c7             	mov    %r15d,%r8d
140898fd2:	ba 61 00 00 00       	mov    $0x61,%edx
140898fd7:	48 8b cb             	mov    %rbx,%rcx
140898fda:	e8 d1 dc 06 00       	call   0x140906cb0
140898fdf:	44 8b ce             	mov    %esi,%r9d
140898fe2:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140898fe7:	44 8b c5             	mov    %ebp,%r8d
140898fea:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
140898fef:	ba 8a 00 00 00       	mov    $0x8a,%edx
140898ff4:	48 8b cb             	mov    %rbx,%rcx
140898ff7:	e8 64 de 06 00       	call   0x140906e60
140898ffc:	48 63 83 90 00 00 00 	movslq 0x90(%rbx),%rax
140899003:	85 c0                	test   %eax,%eax
140899005:	7e 12                	jle    0x140899019
140899007:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
14089900b:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140899012:	66 c7 44 c8 ea 10 00 	movw   $0x10,-0x16(%rax,%rcx,8)
140899019:	85 f6                	test   %esi,%esi
14089901b:	74 12                	je     0x14089902f
14089901d:	0f b6 47 1f          	movzbl 0x1f(%rdi),%eax
140899021:	3c 08                	cmp    $0x8,%al
140899023:	73 0a                	jae    0x14089902f
140899025:	89 b4 87 d8 00 00 00 	mov    %esi,0xd8(%rdi,%rax,4)
14089902c:	fe 47 1f             	incb   0x1f(%rdi)
14089902f:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
140899036:	00
140899037:	8b c5                	mov    %ebp,%eax
140899039:	48 83 c4 50          	add    $0x50,%rsp
14089903d:	41 5f                	pop    %r15
14089903f:	41 5d                	pop    %r13
140899041:	5f                   	pop    %rdi
140899042:	5d                   	pop    %rbp
140899043:	5b                   	pop    %rbx
140899044:	c3                   	ret
140899045:	8b 47 38             	mov    0x38(%rdi),%eax
140899048:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14089904d:	4d 8b e5             	mov    %r13,%r12
140899050:	8d 68 01             	lea    0x1(%rax),%ebp
140899053:	41 03 c5             	add    %r13d,%eax
140899056:	89 47 38             	mov    %eax,0x38(%rdi)
140899059:	8b 83 90 00 00 00    	mov    0x90(%rbx),%eax
14089905f:	41 03 c5             	add    %r13d,%eax
140899062:	89 6c 24 34          	mov    %ebp,0x34(%rsp)
140899066:	89 84 24 88 00 00 00 	mov    %eax,0x88(%rsp)
14089906d:	45 85 ed             	test   %r13d,%r13d
140899070:	0f 8e 8c 01 00 00    	jle    0x140899202
140899076:	41 8d 45 ff          	lea    -0x1(%r13),%eax
14089907a:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14089907f:	44 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13d
140899086:	00
140899087:	4c 8d 71 08          	lea    0x8(%rcx),%r14
14089908b:	89 84 24 80 00 00 00 	mov    %eax,0x80(%rsp)
140899092:	41 8b f7             	mov    %r15d,%esi
140899095:	8b c5                	mov    %ebp,%eax
140899097:	41 2b c7             	sub    %r15d,%eax
14089909a:	89 84 24 a0 00 00 00 	mov    %eax,0xa0(%rsp)
1408990a1:	49 8b 16             	mov    (%r14),%rdx
1408990a4:	48 8b cf             	mov    %rdi,%rcx
1408990a7:	e8 c4 51 04 00       	call   0x1408de270
1408990ac:	8b 94 24 a0 00 00 00 	mov    0xa0(%rsp),%edx
1408990b3:	48 8b e8             	mov    %rax,%rbp
1408990b6:	48 63 8b 90 00 00 00 	movslq 0x90(%rbx),%rcx
1408990bd:	8b c6                	mov    %esi,%eax
1408990bf:	44 8b 83 94 00 00 00 	mov    0x94(%rbx),%r8d
1408990c6:	41 2b c7             	sub    %r15d,%eax
1408990c9:	03 d6                	add    %esi,%edx
1408990cb:	3b 84 24 80 00 00 00 	cmp    0x80(%rsp),%eax
1408990d2:	7d 58                	jge    0x14089912c
1408990d4:	44 3b c1             	cmp    %ecx,%r8d
1408990d7:	7f 21                	jg     0x1408990fa
1408990d9:	44 8b 8c 24 88 00 00 	mov    0x88(%rsp),%r9d
1408990e0:	00
1408990e1:	44 8b c6             	mov    %esi,%r8d
1408990e4:	89 54 24 20          	mov    %edx,0x20(%rsp)
1408990e8:	48 8b cb             	mov    %rbx,%rcx
1408990eb:	ba 34 00 00 00       	mov    $0x34,%edx
1408990f0:	e8 ab 3c 01 00       	call   0x1408acda0
1408990f5:	e9 80 00 00 00       	jmp    0x14089917a
1408990fa:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
140899101:	00
140899102:	8d 41 01             	lea    0x1(%rcx),%eax
140899105:	89 83 90 00 00 00    	mov    %eax,0x90(%rbx)
14089910b:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
14089910f:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140899116:	45 33 c9             	xor    %r9d,%r9d
140899119:	c7 04 c8 34 00 00 00 	movl   $0x34,(%rax,%rcx,8)
140899120:	44 89 44 c8 08       	mov    %r8d,0x8(%rax,%rcx,8)
140899125:	4c 89 4c c8 10       	mov    %r9,0x10(%rax,%rcx,8)
14089912a:	eb 46                	jmp    0x140899172
14089912c:	44 3b c1             	cmp    %ecx,%r8d
14089912f:	7f 19                	jg     0x14089914a
140899131:	89 54 24 20          	mov    %edx,0x20(%rsp)
140899135:	45 8b cd             	mov    %r13d,%r9d
140899138:	ba 35 00 00 00       	mov    $0x35,%edx
14089913d:	44 8b c6             	mov    %esi,%r8d
140899140:	48 8b cb             	mov    %rbx,%rcx
140899143:	e8 58 3c 01 00       	call   0x1408acda0
140899148:	eb 30                	jmp    0x14089917a
14089914a:	8d 41 01             	lea    0x1(%rcx),%eax
14089914d:	45 33 c0             	xor    %r8d,%r8d
140899150:	89 83 90 00 00 00    	mov    %eax,0x90(%rbx)
140899156:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
14089915a:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140899161:	c7 04 c8 35 00 00 00 	movl   $0x35,(%rax,%rcx,8)
140899168:	44 89 6c c8 08       	mov    %r13d,0x8(%rax,%rcx,8)
14089916d:	4c 89 44 c8 10       	mov    %r8,0x10(%rax,%rcx,8)
140899172:	89 54 c8 0c          	mov    %edx,0xc(%rax,%rcx,8)
140899176:	89 74 c8 04          	mov    %esi,0x4(%rax,%rcx,8)
14089917a:	48 8b 03             	mov    (%rbx),%rax
14089917d:	80 78 67 00          	cmpb   $0x0,0x67(%rax)
140899181:	75 41                	jne    0x1408991c4
140899183:	48 63 83 90 00 00 00 	movslq 0x90(%rbx),%rax
14089918a:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
14089918e:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140899195:	48 8d 52 fd          	lea    -0x3(%rdx),%rdx
140899199:	80 7c d0 01 00       	cmpb   $0x0,0x1(%rax,%rdx,8)
14089919e:	48 8d 14 d0          	lea    (%rax,%rdx,8),%rdx
1408991a2:	74 13                	je     0x1408991b7
1408991a4:	41 b9 fe ff ff ff    	mov    $0xfffffffe,%r9d
1408991aa:	4c 8b c5             	mov    %rbp,%r8
1408991ad:	48 8b cb             	mov    %rbx,%rcx
1408991b0:	e8 5b ec 08 00       	call   0x140927e10
1408991b5:	eb 0d                	jmp    0x1408991c4
1408991b7:	48 85 ed             	test   %rbp,%rbp
1408991ba:	74 08                	je     0x1408991c4
1408991bc:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
1408991c0:	c6 42 01 fe          	movb   $0xfe,0x1(%rdx)
1408991c4:	48 63 83 90 00 00 00 	movslq 0x90(%rbx),%rax
1408991cb:	85 c0                	test   %eax,%eax
1408991cd:	7e 12                	jle    0x1408991e1
1408991cf:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1408991d3:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
1408991da:	66 c7 44 c8 ea 80 00 	movw   $0x80,-0x16(%rax,%rcx,8)
1408991e1:	ff c6                	inc    %esi
1408991e3:	49 83 c6 20          	add    $0x20,%r14
1408991e7:	49 83 ec 01          	sub    $0x1,%r12
1408991eb:	0f 85 b0 fe ff ff    	jne    0x1408990a1
1408991f1:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1408991f6:	45 33 c0             	xor    %r8d,%r8d
1408991f9:	44 8b 6c 24 30       	mov    0x30(%rsp),%r13d
1408991fe:	8b 6c 24 34          	mov    0x34(%rsp),%ebp
140899202:	48 63 8b 90 00 00 00 	movslq 0x90(%rbx),%rcx
140899209:	41 8d 55 ff          	lea    -0x1(%r13),%edx
14089920d:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140899212:	39 8b 94 00 00 00    	cmp    %ecx,0x94(%rbx)
140899218:	7f 1c                	jg     0x140899236
14089921a:	89 54 24 20          	mov    %edx,0x20(%rsp)
14089921e:	44 8b cd             	mov    %ebp,%r9d
140899221:	ba 50 00 00 00       	mov    $0x50,%edx
140899226:	45 8b c7             	mov    %r15d,%r8d
140899229:	48 8b cb             	mov    %rbx,%rcx
14089922c:	e8 6f 3b 01 00       	call   0x1408acda0
140899231:	e9 f9 fd ff ff       	jmp    0x14089902f
140899236:	8d 41 01             	lea    0x1(%rcx),%eax
140899239:	89 83 90 00 00 00    	mov    %eax,0x90(%rbx)
14089923f:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
140899243:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
14089924a:	c7 04 c8 50 00 00 00 	movl   $0x50,(%rax,%rcx,8)
140899251:	44 89 7c c8 04       	mov    %r15d,0x4(%rax,%rcx,8)
140899256:	89 6c c8 08          	mov    %ebp,0x8(%rax,%rcx,8)
14089925a:	89 54 c8 0c          	mov    %edx,0xc(%rax,%rcx,8)
14089925e:	4c 89 44 c8 10       	mov    %r8,0x10(%rax,%rcx,8)
140899263:	e9 c7 fd ff ff       	jmp    0x14089902f
140899268:	41 8b c0             	mov    %r8d,%eax
14089926b:	48 83 c4 50          	add    $0x50,%rsp
14089926f:	41 5f                	pop    %r15
140899271:	41 5d                	pop    %r13
140899273:	5f                   	pop    %rdi
140899274:	5d                   	pop    %rbp
140899275:	5b                   	pop    %rbx
140899276:	c3                   	ret
140899277:	cc                   	int3
140899278:	cc                   	int3
140899279:	cc                   	int3
14089927a:	cc                   	int3
14089927b:	cc                   	int3
14089927c:	cc                   	int3
14089927d:	cc                   	int3
14089927e:	cc                   	int3
14089927f:	cc                   	int3
140899280:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140899285:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14089928a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14089928f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140899294:	53                   	push   %rbx
140899295:	55                   	push   %rbp
140899296:	56                   	push   %rsi
140899297:	57                   	push   %rdi
140899298:	41 54                	push   %r12
14089929a:	41 55                	push   %r13
14089929c:	41 56                	push   %r14
14089929e:	41 57                	push   %r15
1408992a0:	48 83 ec 78          	sub    $0x78,%rsp
1408992a4:	4c 8b 1a             	mov    (%rdx),%r11
1408992a7:	48 8b da             	mov    %rdx,%rbx
1408992aa:	48 8b 71 10          	mov    0x10(%rcx),%rsi
1408992ae:	33 ff                	xor    %edi,%edi
1408992b0:	4d 63 d1             	movslq %r9d,%r10
1408992b3:	4d 8b e0             	mov    %r8,%r12
1408992b6:	4c 8b c9             	mov    %rcx,%r9
1408992b9:	4c 89 5c 24 58       	mov    %r11,0x58(%rsp)
1408992be:	41 0f b6 13          	movzbl (%r11),%edx
1408992c2:	41 bd 00 04 00 00    	mov    $0x400,%r13d
1408992c8:	41 be 00 08 00 00    	mov    $0x800,%r14d
1408992ce:	8d 42 d3             	lea    -0x2d(%rdx),%eax
1408992d1:	a8 f7                	test   $0xf7,%al
1408992d3:	0f 84 a0 07 00 00    	je     0x140899a79
1408992d9:	80 fa 32             	cmp    $0x32,%dl
1408992dc:	75 1f                	jne    0x1408992fd
1408992de:	8b ac 24 e8 00 00 00 	mov    0xe8(%rsp),%ebp
1408992e5:	45 33 c0             	xor    %r8d,%r8d
1408992e8:	44 8b cd             	mov    %ebp,%r9d
1408992eb:	ba 4b 00 00 00       	mov    $0x4b,%edx
1408992f0:	48 8b ce             	mov    %rsi,%rcx
1408992f3:	e8 48 d9 06 00       	call   0x140906c40
1408992f8:	e9 c6 06 00 00       	jmp    0x1408999c3
1408992fd:	4d 8b 70 60          	mov    0x60(%r8),%r14
140899301:	8b ef                	mov    %edi,%ebp
140899303:	c7 44 24 38 05 00 00 	movl   $0x5,0x38(%rsp)
14089930a:	00
14089930b:	4c 8b ff             	mov    %rdi,%r15
14089930e:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140899313:	45 85 6e 38          	test   %r13d,0x38(%r14)
140899317:	75 21                	jne    0x14089933a
140899319:	49 8b 46 20          	mov    0x20(%r14),%rax
14089931d:	48 85 c0             	test   %rax,%rax
140899320:	74 18                	je     0x14089933a
140899322:	48 8b 40 38          	mov    0x38(%rax),%rax
140899326:	41 38 3c 02          	cmp    %dil,(%r10,%rax,1)
14089932a:	74 0e                	je     0x14089933a
14089932c:	39 bc 24 e0 00 00 00 	cmp    %edi,0xe0(%rsp)
140899333:	8b c7                	mov    %edi,%eax
140899335:	0f 94 c0             	sete   %al
140899338:	eb 07                	jmp    0x140899341
14089933a:	8b 84 24 e0 00 00 00 	mov    0xe0(%rsp),%eax
140899341:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140899345:	45 85 d2             	test   %r10d,%r10d
140899348:	7e 21                	jle    0x14089936b
14089934a:	4d 8b 46 48          	mov    0x48(%r14),%r8
14089934e:	48 8b c7             	mov    %rdi,%rax
140899351:	49 8b 0c c0          	mov    (%r8,%rax,8),%rcx
140899355:	48 85 c9             	test   %rcx,%rcx
140899358:	74 09                	je     0x140899363
14089935a:	4c 39 19             	cmp    %r11,(%rcx)
14089935d:	0f 84 8e 00 00 00    	je     0x1408993f1
140899363:	48 ff c0             	inc    %rax
140899366:	49 3b c2             	cmp    %r10,%rax
140899369:	7c e6                	jl     0x140899351
14089936b:	45 0f b7 46 3c       	movzwl 0x3c(%r14),%r8d
140899370:	45 3b d0             	cmp    %r8d,%r10d
140899373:	7d 23                	jge    0x140899398
140899375:	49 8b 46 48          	mov    0x48(%r14),%rax
140899379:	45 2b c2             	sub    %r10d,%r8d
14089937c:	4a 8d 14 d0          	lea    (%rax,%r10,8),%rdx
140899380:	48 8b 02             	mov    (%rdx),%rax
140899383:	8d 4d 01             	lea    0x1(%rbp),%ecx
140899386:	48 8d 52 08          	lea    0x8(%rdx),%rdx
14089938a:	4c 39 18             	cmp    %r11,(%rax)
14089938d:	0f 45 cd             	cmovne %ebp,%ecx
140899390:	8b e9                	mov    %ecx,%ebp
140899392:	49 83 e8 01          	sub    $0x1,%r8
140899396:	75 e8                	jne    0x140899380
140899398:	41 8b 53 04          	mov    0x4(%r11),%edx
14089939c:	89 7c 24 34          	mov    %edi,0x34(%rsp)
1408993a0:	89 7c 24 30          	mov    %edi,0x30(%rsp)
1408993a4:	0f ba e2 0c          	bt     $0xc,%edx
1408993a8:	0f 83 e0 01 00 00    	jae    0x14089958e
1408993ae:	49 8b 43 20          	mov    0x20(%r11),%rax
1408993b2:	48 8b 48 20          	mov    0x20(%rax),%rcx
1408993b6:	83 39 01             	cmpl   $0x1,(%rcx)
1408993b9:	0f 84 cf 01 00 00    	je     0x14089958e
1408993bf:	4d 8b eb             	mov    %r11,%r13
1408993c2:	41 39 7b 2c          	cmp    %edi,0x2c(%r11)
1408993c6:	0f 84 ca 00 00 00    	je     0x140899496
1408993cc:	0f ba e2 19          	bt     $0x19,%edx
1408993d0:	0f 83 c0 00 00 00    	jae    0x140899496
1408993d6:	49 8b 4b 10          	mov    0x10(%r11),%rcx
1408993da:	0f b6 01             	movzbl (%rcx),%eax
1408993dd:	3c b0                	cmp    $0xb0,%al
1408993df:	75 04                	jne    0x1408993e5
1408993e1:	0f b6 41 02          	movzbl 0x2(%rcx),%eax
1408993e5:	3c b1                	cmp    $0xb1,%al
1408993e7:	75 1f                	jne    0x140899408
1408993e9:	48 8b 41 20          	mov    0x20(%rcx),%rax
1408993ed:	8b 08                	mov    (%rax),%ecx
1408993ef:	eb 2c                	jmp    0x14089941d
1408993f1:	48 8b d3             	mov    %rbx,%rdx
1408993f4:	49 8b cc             	mov    %r12,%rcx
1408993f7:	e8 84 5f 00 00       	call   0x14089f380
1408993fc:	8b 84 24 e8 00 00 00 	mov    0xe8(%rsp),%eax
140899403:	e9 b9 06 00 00       	jmp    0x140899ac1
140899408:	3c 8a                	cmp    $0x8a,%al
14089940a:	75 0c                	jne    0x140899418
14089940c:	48 8b 41 20          	mov    0x20(%rcx),%rax
140899410:	48 8b 48 20          	mov    0x20(%rax),%rcx
140899414:	8b 09                	mov    (%rcx),%ecx
140899416:	eb 05                	jmp    0x14089941d
140899418:	b9 01 00 00 00       	mov    $0x1,%ecx
14089941d:	3b e9                	cmp    %ecx,%ebp
14089941f:	0f 4f cd             	cmovg  %ebp,%ecx
140899422:	4c 63 f1             	movslq %ecx,%r14
140899425:	49 8b 09             	mov    (%r9),%rcx
140899428:	49 c1 e6 02          	shl    $0x2,%r14
14089942c:	48 85 c9             	test   %rcx,%rcx
14089942f:	74 0a                	je     0x14089943b
140899431:	49 8b d6             	mov    %r14,%rdx
140899434:	e8 c7 d1 03 00       	call   0x1408d6600
140899439:	eb 08                	jmp    0x140899443
14089943b:	49 8b ce             	mov    %r14,%rcx
14089943e:	e8 1d 43 05 00       	call   0x1408ed760
140899443:	4c 8b f8             	mov    %rax,%r15
140899446:	48 85 c0             	test   %rax,%rax
140899449:	74 0d                	je     0x140899458
14089944b:	4d 8b c6             	mov    %r14,%r8
14089944e:	33 d2                	xor    %edx,%edx
140899450:	48 8b c8             	mov    %rax,%rcx
140899453:	e8 58 62 64 00       	call   0x140edf6b0
140899458:	49 8b d5             	mov    %r13,%rdx
14089945b:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140899460:	4c 8b ac 24 c0 00 00 	mov    0xc0(%rsp),%r13
140899467:	00
140899468:	45 33 c9             	xor    %r9d,%r9d
14089946b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140899470:	49 8b cd             	mov    %r13,%rcx
140899473:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140899479:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)