140057061:	75 48                	jne    0x1400570ab
140057063:	48 8d 6f 38          	lea    0x38(%rdi),%rbp
140057067:	33 f6                	xor    %esi,%esi
140057069:	39 77 08             	cmp    %esi,0x8(%rdi)
14005706c:	7e 20                	jle    0x14005708e
14005706e:	48 63 c6             	movslq %esi,%rax
140057071:	48 69 c8 28 02 00 00 	imul   $0x228,%rax,%rcx
140057078:	48 03 0f             	add    (%rdi),%rcx
14005707b:	4c 8b c5             	mov    %rbp,%r8
14005707e:	48 8b d7             	mov    %rdi,%rdx
140057081:	e8 2e 02 00 00       	call   0x1400572b4
140057086:	41 03 f7             	add    %r15d,%esi
140057089:	3b 77 08             	cmp    0x8(%rdi),%esi
14005708c:	7c e0                	jl     0x14005706e
14005708e:	48 83 c7 50          	add    $0x50,%rdi
140057092:	48 8b 0f             	mov    (%rdi),%rcx
140057095:	48 3b cb             	cmp    %rbx,%rcx
140057098:	75 2b                	jne    0x1400570c5
14005709a:	48 85 c9             	test   %rcx,%rcx
14005709d:	74 33                	je     0x1400570d2
14005709f:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1400570a4:	48 3b f8             	cmp    %rax,%rdi
1400570a7:	74 29                	je     0x1400570d2
1400570a9:	eb 25                	jmp    0x1400570d0
1400570ab:	0f b7 f8             	movzwl %ax,%edi
1400570ae:	81 cf 00 00 07 80    	or     $0x80070000,%edi
1400570b4:	85 c0                	test   %eax,%eax
1400570b6:	0f 4e f8             	cmovle %eax,%edi
1400570b9:	b8 05 40 00 80       	mov    $0x80004005,%eax
1400570be:	85 ff                	test   %edi,%edi
1400570c0:	0f 49 f8             	cmovns %eax,%edi
1400570c3:	eb 0f                	jmp    0x1400570d4
1400570c5:	e8 16 e8 ff ff       	call   0x1400558e0
1400570ca:	48 8b c3             	mov    %rbx,%rax
1400570cd:	48 89 1f             	mov    %rbx,(%rdi)
1400570d0:	33 db                	xor    %ebx,%ebx
1400570d2:	33 ff                	xor    %edi,%edi
1400570d4:	48 8b cb             	mov    %rbx,%rcx
1400570d7:	e8 04 e8 ff ff       	call   0x1400558e0
1400570dc:	8b c7                	mov    %edi,%eax
1400570de:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400570e3:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1400570e8:	48 83 c4 40          	add    $0x40,%rsp
1400570ec:	41 5f                	pop    %r15
1400570ee:	5f                   	pop    %rdi
1400570ef:	5e                   	pop    %rsi
1400570f0:	c3                   	ret
1400570f1:	90                   	nop
1400570f2:	90                   	nop
1400570f3:	90                   	nop
1400570f4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400570f9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400570fe:	57                   	push   %rdi
1400570ff:	48 83 ec 20          	sub    $0x20,%rsp
140057103:	40 8a f2             	mov    %dl,%sil
140057106:	48 8b d9             	mov    %rcx,%rbx
140057109:	e8 d6 0e 00 00       	call   0x140057fe4
14005710e:	33 ff                	xor    %edi,%edi
140057110:	48 39 bb b8 16 00 00 	cmp    %rdi,0x16b8(%rbx)
140057117:	76 2b                	jbe    0x140057144
140057119:	8b c7                	mov    %edi,%eax
14005711b:	48 3b 83 b8 16 00 00 	cmp    0x16b8(%rbx),%rax
140057122:	73 32                	jae    0x140057156
140057124:	48 8b 8b b0 16 00 00 	mov    0x16b0(%rbx),%rcx
14005712b:	40 8a d6             	mov    %sil,%dl
14005712e:	48 8b 0c c1          	mov    (%rcx,%rax,8),%rcx
140057132:	e8 2d 00 00 00       	call   0x140057164
140057137:	ff c7                	inc    %edi
140057139:	8b c7                	mov    %edi,%eax
14005713b:	48 3b 83 b8 16 00 00 	cmp    0x16b8(%rbx),%rax
140057142:	72 e0                	jb     0x140057124
140057144:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140057149:	33 c0                	xor    %eax,%eax
14005714b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140057150:	48 83 c4 20          	add    $0x20,%rsp
140057154:	5f                   	pop    %rdi
140057155:	c3                   	ret
140057156:	b9 57 00 07 80       	mov    $0x80070057,%ecx
14005715b:	e8 70 74 fc ff       	call   0x14001e5d0
140057160:	cc                   	int3
140057161:	90                   	nop
140057162:	90                   	nop
140057163:	90                   	nop
140057164:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140057169:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14005716e:	57                   	push   %rdi
14005716f:	48 83 ec 30          	sub    $0x30,%rsp
140057173:	33 ff                	xor    %edi,%edi
140057175:	40 8a f2             	mov    %dl,%sil
140057178:	48 8b d9             	mov    %rcx,%rbx
14005717b:	48 39 79 38          	cmp    %rdi,0x38(%rcx)
14005717f:	75 05                	jne    0x140057186
140057181:	8d 47 01             	lea    0x1(%rdi),%eax
140057184:	eb 56                	jmp    0x1400571dc
140057186:	4c 8b 41 50          	mov    0x50(%rcx),%r8
14005718a:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140057190:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140057194:	33 c9                	xor    %ecx,%ecx
140057196:	ff 15 14 7f 08 00    	call   *0x87f14(%rip)        # 0x1400df0b0
14005719c:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
1400571a0:	e8 3b e7 ff ff       	call   0x1400558e0
1400571a5:	48 89 7b 50          	mov    %rdi,0x50(%rbx)
1400571a9:	48 89 7b 38          	mov    %rdi,0x38(%rbx)
1400571ad:	40 84 f6             	test   %sil,%sil
1400571b0:	74 28                	je     0x1400571da
1400571b2:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
1400571b6:	44 8a ce             	mov    %sil,%r9b
1400571b9:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400571be:	48 8d 15 33 44 02 00 	lea    0x24433(%rip),%rdx        # 0x14007b5f8
1400571c5:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1400571c9:	45 33 c0             	xor    %r8d,%r8d
1400571cc:	e8 df 04 00 00       	call   0x1400576b0
1400571d1:	85 c0                	test   %eax,%eax
1400571d3:	0f 48 f8             	cmovs  %eax,%edi
1400571d6:	8b c7                	mov    %edi,%eax
1400571d8:	eb 02                	jmp    0x1400571dc
1400571da:	33 c0                	xor    %eax,%eax
1400571dc:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400571e1:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400571e6:	48 83 c4 30          	add    $0x30,%rsp
1400571ea:	5f                   	pop    %rdi
1400571eb:	c3                   	ret
1400571ec:	48 8b c4             	mov    %rsp,%rax
1400571ef:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400571f3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400571f7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400571fb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400571ff:	41 56                	push   %r14
140057201:	48 83 ec 20          	sub    $0x20,%rsp
140057205:	48 8b 01             	mov    (%rcx),%rax
140057208:	45 33 f6             	xor    %r14d,%r14d
14005720b:	0f b7 ea             	movzwl %dx,%ebp
14005720e:	48 8b f9             	mov    %rcx,%rdi
140057211:	8b 70 f0             	mov    -0x10(%rax),%esi
140057214:	8d 5e 01             	lea    0x1(%rsi),%ebx
140057217:	85 db                	test   %ebx,%ebx
140057219:	78 51                	js     0x14005726c
14005721b:	45 8d 46 01          	lea    0x1(%r14),%r8d
14005721f:	44 2b 40 f8          	sub    -0x8(%rax),%r8d
140057223:	8b 40 f4             	mov    -0xc(%rax),%eax
140057226:	2b c3                	sub    %ebx,%eax
140057228:	44 0b c0             	or     %eax,%r8d
14005722b:	7d 07                	jge    0x140057234
14005722d:	8b d3                	mov    %ebx,%edx
14005722f:	e8 9c a7 fc ff       	call   0x1400219d0
140057234:	48 8b 07             	mov    (%rdi),%rax
140057237:	66 89 2c 70          	mov    %bp,(%rax,%rsi,2)
14005723b:	48 8b 07             	mov    (%rdi),%rax
14005723e:	3b 58 f4             	cmp    -0xc(%rax),%ebx
140057241:	7f 29                	jg     0x14005726c
140057243:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140057248:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14005724d:	89 58 f0             	mov    %ebx,-0x10(%rax)
140057250:	48 8b 07             	mov    (%rdi),%rax
140057253:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140057258:	48 63 cb             	movslq %ebx,%rcx
14005725b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140057260:	66 44 89 34 48       	mov    %r14w,(%rax,%rcx,2)
140057265:	48 83 c4 20          	add    $0x20,%rsp
140057269:	41 5e                	pop    %r14
14005726b:	c3                   	ret
14005726c:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140057271:	e8 5a 73 fc ff       	call   0x14001e5d0
140057276:	cc                   	int3
140057277:	90                   	nop
140057278:	40 53                	rex push %rbx
14005727a:	48 83 ec 20          	sub    $0x20,%rsp
14005727e:	48 8b 12             	mov    (%rdx),%rdx
140057281:	45 33 c0             	xor    %r8d,%r8d
140057284:	33 c9                	xor    %ecx,%ecx
140057286:	33 db                	xor    %ebx,%ebx
140057288:	ff 15 ca 80 08 00    	call   *0x880ca(%rip)        # 0x1400df358
14005728e:	85 c0                	test   %eax,%eax
140057290:	74 1a                	je     0x1400572ac
140057292:	3d b7 00 00 00       	cmp    $0xb7,%eax
140057297:	74 13                	je     0x1400572ac
140057299:	83 f8 50             	cmp    $0x50,%eax
14005729c:	74 0e                	je     0x1400572ac
14005729e:	0f b7 d8             	movzwl %ax,%ebx
1400572a1:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
1400572a7:	85 c0                	test   %eax,%eax
1400572a9:	0f 4e d8             	cmovle %eax,%ebx
1400572ac:	8b c3                	mov    %ebx,%eax
1400572ae:	48 83 c4 20          	add    $0x20,%rsp
1400572b2:	5b                   	pop    %rbx
1400572b3:	c3                   	ret
1400572b4:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400572b9:	55                   	push   %rbp
1400572ba:	53                   	push   %rbx
1400572bb:	56                   	push   %rsi
1400572bc:	57                   	push   %rdi
1400572bd:	41 54                	push   %r12
1400572bf:	41 55                	push   %r13
1400572c1:	41 56                	push   %r14
1400572c3:	41 57                	push   %r15
1400572c5:	48 8b ec             	mov    %rsp,%rbp
1400572c8:	48 83 ec 48          	sub    $0x48,%rsp
1400572cc:	4c 8b f9             	mov    %rcx,%r15
1400572cf:	45 33 f6             	xor    %r14d,%r14d
1400572d2:	44 89 75 48          	mov    %r14d,0x48(%rbp)
1400572d6:	48 8b 4a 30          	mov    0x30(%rdx),%rcx
1400572da:	48 83 e9 18          	sub    $0x18,%rcx
1400572de:	e8 9d f8 fc ff       	call   0x140026b80
1400572e3:	48 83 c0 18          	add    $0x18,%rax
1400572e7:	48 89 45 50          	mov    %rax,0x50(%rbp)
1400572eb:	41 8d 56 5c          	lea    0x5c(%r14),%edx
1400572ef:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
1400572f3:	e8 f4 fe ff ff       	call   0x1400571ec
1400572f8:	49 8b 17             	mov    (%r15),%rdx
1400572fb:	48 85 d2             	test   %rdx,%rdx
1400572fe:	75 05                	jne    0x140057305
140057300:	45 8b c6             	mov    %r14d,%r8d
140057303:	eb 0e                	jmp    0x140057313
140057305:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140057309:	49 ff c0             	inc    %r8
14005730c:	66 46 39 34 42       	cmp    %r14w,(%rdx,%r8,2)
140057311:	75 f6                	jne    0x140057309
140057313:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
140057317:	e8 ec a0 fc ff       	call   0x140021408
14005731c:	4d 8d 6f 14          	lea    0x14(%r15),%r13
140057320:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140057325:	45 33 c9             	xor    %r9d,%r9d
140057328:	45 8b 47 08          	mov    0x8(%r15),%r8d
14005732c:	48 8d 15 c5 42 02 00 	lea    0x242c5(%rip),%rdx        # 0x14007b5f8
140057333:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
140057337:	e8 74 03 00 00       	call   0x1400576b0
14005733c:	8b f0                	mov    %eax,%esi
14005733e:	85 c0                	test   %eax,%eax
140057340:	0f 88 a0 01 00 00    	js     0x1400574e6
140057346:	4d 8d 67 10          	lea    0x10(%r15),%r12
14005734a:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14005734f:	45 33 c9             	xor    %r9d,%r9d
140057352:	45 8b 47 0c          	mov    0xc(%r15),%r8d
140057356:	48 8d 15 d3 42 02 00 	lea    0x242d3(%rip),%rdx        # 0x14007b630
14005735d:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
140057361:	e8 4a 03 00 00       	call   0x1400576b0
140057366:	8b f0                	mov    %eax,%esi
140057368:	85 c0                	test   %eax,%eax
14005736a:	0f 88 76 01 00 00    	js     0x1400574e6
140057370:	48 8b 05 39 17 07 00 	mov    0x71739(%rip),%rax        # 0x1400c8ab0
140057377:	44 39 70 f0          	cmp    %r14d,-0x10(%rax)
14005737b:	75 1f                	jne    0x14005739c
14005737d:	48 8d 15 64 44 02 00 	lea    0x24464(%rip),%rdx        # 0x14007b7e8
140057384:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140057388:	e8 b3 9e fc ff       	call   0x140021240
14005738d:	90                   	nop
14005738e:	bf 01 00 00 00       	mov    $0x1,%edi
140057393:	48 8b 08             	mov    (%rax),%rcx
140057396:	48 8b 5d 60          	mov    0x60(%rbp),%rbx
14005739a:	eb 19                	jmp    0x1400573b5
14005739c:	48 8d 48 e8          	lea    -0x18(%rax),%rcx
1400573a0:	e8 db f7 fc ff       	call   0x140026b80
1400573a5:	48 8d 48 18          	lea    0x18(%rax),%rcx
1400573a9:	48 8b d9             	mov    %rcx,%rbx
1400573ac:	48 89 4d 60          	mov    %rcx,0x60(%rbp)
1400573b0:	bf 02 00 00 00       	mov    $0x2,%edi
1400573b5:	89 7d 48             	mov    %edi,0x48(%rbp)
1400573b8:	48 83 c1 e8          	add    $0xffffffffffffffe8,%rcx
1400573bc:	e8 bf f7 fc ff       	call   0x140026b80
1400573c1:	48 83 c0 18          	add    $0x18,%rax
1400573c5:	48 89 45 60          	mov    %rax,0x60(%rbp)
1400573c9:	40 f6 c7 02          	test   $0x2,%dil
1400573cd:	74 2a                	je     0x1400573f9
1400573cf:	83 e7 fd             	and    $0xfffffffd,%edi
1400573d2:	89 7d 48             	mov    %edi,0x48(%rbp)
1400573d5:	48 8d 53 e8          	lea    -0x18(%rbx),%rdx
1400573d9:	83 c8 ff             	or     $0xffffffff,%eax
1400573dc:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400573e1:	83 e8 01             	sub    $0x1,%eax
1400573e4:	7f 10                	jg     0x1400573f6
1400573e6:	48 8b 0a             	mov    (%rdx),%rcx
1400573e9:	48 8b 01             	mov    (%rcx),%rax
1400573ec:	48 8b 40 08          	mov    0x8(%rax),%rax
1400573f0:	ff 15 92 82 01 00    	call   *0x18292(%rip)        # 0x14006f688
1400573f6:	8b 7d 48             	mov    0x48(%rbp),%edi
1400573f9:	40 f6 c7 01          	test   $0x1,%dil
1400573fd:	74 25                	je     0x140057424
1400573ff:	48 8b 55 e8          	mov    -0x18(%rbp),%rdx
140057403:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140057407:	83 c8 ff             	or     $0xffffffff,%eax
14005740a:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
14005740f:	83 e8 01             	sub    $0x1,%eax
140057412:	7f 10                	jg     0x140057424
140057414:	48 8b 0a             	mov    (%rdx),%rcx
140057417:	48 8b 01             	mov    (%rcx),%rax
14005741a:	48 8b 40 08          	mov    0x8(%rax),%rax
14005741e:	ff 15 64 82 01 00    	call   *0x18264(%rip)        # 0x14006f688
140057424:	48 8d 15 cd 43 02 00 	lea    0x243cd(%rip),%rdx        # 0x14007b7f8
14005742b:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
14005742f:	ff 15 2b 81 01 00    	call   *0x1812b(%rip)        # 0x14006f560
140057435:	85 c0                	test   %eax,%eax
140057437:	75 0f                	jne    0x140057448
140057439:	41 83 3c 24 04       	cmpl   $0x4,(%r12)
14005743e:	7e 08                	jle    0x140057448
140057440:	41 c7 04 24 04 00 00 	movl   $0x4,(%r12)
140057447:	00
140057448:	33 ff                	xor    %edi,%edi
14005744a:	49 8d 5f 30          	lea    0x30(%r15),%rbx
14005744e:	48 8b 53 f8          	mov    -0x8(%rbx),%rdx
140057452:	48 85 d2             	test   %rdx,%rdx
140057455:	74 3d                	je     0x140057494
140057457:	48 63 c7             	movslq %edi,%rax
14005745a:	48 c1 e0 04          	shl    $0x4,%rax
14005745e:	48 83 c0 34          	add    $0x34,%rax
140057462:	49 03 c7             	add    %r15,%rax
140057465:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005746a:	45 33 c9             	xor    %r9d,%r9d
14005746d:	44 8b 03             	mov    (%rbx),%r8d
140057470:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
140057474:	e8 37 02 00 00       	call   0x1400576b0
140057479:	8b f0                	mov    %eax,%esi
14005747b:	85 c0                	test   %eax,%eax
14005747d:	78 41                	js     0x1400574c0
14005747f:	83 7b 04 00          	cmpl   $0x0,0x4(%rbx)
140057483:	74 04                	je     0x140057489
140057485:	41 0f ab fe          	bts    %edi,%r14d
140057489:	ff c7                	inc    %edi
14005748b:	48 83 c3 10          	add    $0x10,%rbx
14005748f:	83 ff 20             	cmp    $0x20,%edi
140057492:	7c ba                	jl     0x14005744e
140057494:	4d 8d 4f 18          	lea    0x18(%r15),%r9
140057498:	33 c9                	xor    %ecx,%ecx
14005749a:	41 39 4d 00          	cmp    %ecx,0x0(%r13)
14005749e:	0f 95 c1             	setne  %cl
1400574a1:	48 8b 45 58          	mov    0x58(%rbp),%rax
1400574a5:	48 8b 00             	mov    (%rax),%rax
1400574a8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400574ad:	45 8b 04 24          	mov    (%r12),%r8d
1400574b1:	41 8b d6             	mov    %r14d,%edx
1400574b4:	ff 15 fe 7b 08 00    	call   *0x87bfe(%rip)        # 0x1400df0b8
1400574ba:	45 33 f6             	xor    %r14d,%r14d
1400574bd:	41 8b f6             	mov    %r14d,%esi
1400574c0:	48 8b 55 60          	mov    0x60(%rbp),%rdx
1400574c4:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
1400574c8:	83 c8 ff             	or     $0xffffffff,%eax
1400574cb:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400574d0:	83 e8 01             	sub    $0x1,%eax
1400574d3:	7f 11                	jg     0x1400574e6
1400574d5:	48 8b 0a             	mov    (%rdx),%rcx
1400574d8:	48 8b 01             	mov    (%rcx),%rax
1400574db:	48 8b 40 08          	mov    0x8(%rax),%rax
1400574df:	ff 15 a3 81 01 00    	call   *0x181a3(%rip)        # 0x14006f688
1400574e5:	90                   	nop
1400574e6:	48 8b 55 50          	mov    0x50(%rbp),%rdx
1400574ea:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
1400574ee:	83 c9 ff             	or     $0xffffffff,%ecx
1400574f1:	f0 0f c1 4a 10       	lock xadd %ecx,0x10(%rdx)
1400574f6:	83 e9 01             	sub    $0x1,%ecx
1400574f9:	7f 10                	jg     0x14005750b
1400574fb:	48 8b 0a             	mov    (%rdx),%rcx