140012183:	77 16                	ja     0x14001219b
140012185:	0f b7 0c 5a          	movzwl (%rdx,%rbx,2),%ecx
140012189:	0f b7 7c 5a 02       	movzwl 0x2(%rdx,%rbx,2),%edi
14001218e:	c1 e1 0a             	shl    $0xa,%ecx
140012191:	81 c7 00 24 a0 fc    	add    $0xfca02400,%edi
140012197:	03 f9                	add    %ecx,%edi
140012199:	eb 04                	jmp    0x14001219f
14001219b:	0f b7 3c 5a          	movzwl (%rdx,%rbx,2),%edi
14001219f:	8b cf                	mov    %edi,%ecx
1400121a1:	e8 da 02 00 00       	call   0x140012480
1400121a6:	84 c0                	test   %al,%al
1400121a8:	75 12                	jne    0x1400121bc
1400121aa:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
1400121b0:	48 1b c0             	sbb    %rax,%rax
1400121b3:	48 83 c0 02          	add    $0x2,%rax
1400121b7:	48 03 d8             	add    %rax,%rbx
1400121ba:	eb 97                	jmp    0x140012153
1400121bc:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400121c1:	48 8b c3             	mov    %rbx,%rax
1400121c4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400121c9:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
1400121ce:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
1400121d3:	48 83 c4 20          	add    $0x20,%rsp
1400121d7:	41 5f                	pop    %r15
1400121d9:	41 5e                	pop    %r14
1400121db:	41 5d                	pop    %r13
1400121dd:	c3                   	ret
1400121de:	cc                   	int3
1400121df:	cc                   	int3
1400121e0:	cc                   	int3
1400121e1:	cc                   	int3
1400121e2:	cc                   	int3
1400121e3:	cc                   	int3
1400121e4:	cc                   	int3
1400121e5:	cc                   	int3
1400121e6:	cc                   	int3
1400121e7:	cc                   	int3
1400121e8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400121ed:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400121f2:	55                   	push   %rbp
1400121f3:	56                   	push   %rsi
1400121f4:	57                   	push   %rdi
1400121f5:	41 54                	push   %r12
1400121f7:	41 55                	push   %r13
1400121f9:	41 56                	push   %r14
1400121fb:	41 57                	push   %r15
1400121fd:	48 83 ec 20          	sub    $0x20,%rsp
140012201:	41 83 20 00          	andl   $0x0,(%r8)
140012205:	49 8b f0             	mov    %r8,%rsi
140012208:	41 83 21 00          	andl   $0x0,(%r9)
14001220c:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140012211:	72 05                	jb     0x140012218
140012213:	4c 8b 39             	mov    (%rcx),%r15
140012216:	eb 03                	jmp    0x14001221b
140012218:	4c 8b f9             	mov    %rcx,%r15
14001221b:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
140012220:	72 05                	jb     0x140012227
140012222:	4c 8b 01             	mov    (%rcx),%r8
140012225:	eb 03                	jmp    0x14001222a
140012227:	4c 8b c1             	mov    %rcx,%r8
14001222a:	48 83 7a 18 08       	cmpq   $0x8,0x18(%rdx)
14001222f:	48 8b 41 10          	mov    0x10(%rcx),%rax
140012233:	4d 8d 24 40          	lea    (%r8,%rax,2),%r12
140012237:	72 05                	jb     0x14001223e
140012239:	48 8b 2a             	mov    (%rdx),%rbp
14001223c:	eb 03                	jmp    0x140012241
14001223e:	48 8b ea             	mov    %rdx,%rbp
140012241:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
140012246:	72 05                	jb     0x14001224d
140012248:	48 8b 0a             	mov    (%rdx),%rcx
14001224b:	eb 03                	jmp    0x140012250
14001224d:	48 8b ca             	mov    %rdx,%rcx
140012250:	48 8b 42 10          	mov    0x10(%rdx),%rax
140012254:	41 bd ff ff ff 7f    	mov    $0x7fffffff,%r13d
14001225a:	4c 8d 34 41          	lea    (%rcx,%rax,2),%r14
14001225e:	49 3b ee             	cmp    %r14,%rbp
140012261:	0f 83 9c 01 00 00    	jae    0x140012403
140012267:	48 8b fd             	mov    %rbp,%rdi
14001226a:	4d 3b fc             	cmp    %r12,%r15
14001226d:	0f 83 87 01 00 00    	jae    0x1400123fa
140012273:	49 8b d4             	mov    %r12,%rdx
140012276:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14001227b:	49 2b d7             	sub    %r15,%rdx
14001227e:	48 d1 fa             	sar    $1,%rdx
140012281:	8b d2                	mov    %edx,%edx
140012283:	e8 28 fe ff ff       	call   0x1400120b0
140012288:	49 8b d6             	mov    %r14,%rdx
14001228b:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140012290:	48 2b d7             	sub    %rdi,%rdx
140012293:	48 8b d8             	mov    %rax,%rbx
140012296:	48 d1 fa             	sar    $1,%rdx
140012299:	8b d2                	mov    %edx,%edx
14001229b:	e8 10 fe ff ff       	call   0x1400120b0
1400122a0:	48 8b d0             	mov    %rax,%rdx
1400122a3:	48 3b d8             	cmp    %rax,%rbx
1400122a6:	0f 85 4e 01 00 00    	jne    0x1400123fa
1400122ac:	48 85 c0             	test   %rax,%rax
1400122af:	0f 84 45 01 00 00    	je     0x1400123fa
1400122b5:	4c 8b c8             	mov    %rax,%r9
1400122b8:	49 8b cf             	mov    %r15,%rcx
1400122bb:	49 2b ff             	sub    %r15,%rdi
1400122be:	0f b7 04 0f          	movzwl (%rdi,%rcx,1),%eax
1400122c2:	66 3b 01             	cmp    (%rcx),%ax
1400122c5:	75 65                	jne    0x14001232c
1400122c7:	48 83 c1 02          	add    $0x2,%rcx
1400122cb:	49 83 e9 01          	sub    $0x1,%r9
1400122cf:	75 ed                	jne    0x1400122be
1400122d1:	33 c0                	xor    %eax,%eax
1400122d3:	85 c0                	test   %eax,%eax
1400122d5:	0f 85 1f 01 00 00    	jne    0x1400123fa
1400122db:	48 63 0e             	movslq (%rsi),%rcx
1400122de:	48 8d 04 12          	lea    (%rdx,%rdx,1),%rax
1400122e2:	48 03 e8             	add    %rax,%rbp
1400122e5:	4c 03 f8             	add    %rax,%r15
1400122e8:	48 03 ca             	add    %rdx,%rcx
1400122eb:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1400122f0:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
1400122f5:	83 c8 ff             	or     $0xffffffff,%eax
1400122f8:	49 3b cd             	cmp    %r13,%rcx
1400122fb:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
140012300:	48 8b fd             	mov    %rbp,%rdi
140012303:	0f 46 c1             	cmovbe %ecx,%eax
140012306:	4c 3b e9             	cmp    %rcx,%r13
140012309:	45 1b c9             	sbb    %r9d,%r9d
14001230c:	41 81 e1 16 02 07 80 	and    $0x80070216,%r9d
140012313:	49 3b cd             	cmp    %r13,%rcx
140012316:	0f 87 11 01 00 00    	ja     0x14001242d
14001231c:	89 06                	mov    %eax,(%rsi)
14001231e:	49 3b ee             	cmp    %r14,%rbp
140012321:	0f 82 43 ff ff ff    	jb     0x14001226a
140012327:	e9 ce 00 00 00       	jmp    0x1400123fa
14001232c:	1b c0                	sbb    %eax,%eax
14001232e:	83 e0 fe             	and    $0xfffffffe,%eax
140012331:	ff c0                	inc    %eax
140012333:	eb 9e                	jmp    0x1400122d3
140012335:	4d 3b fc             	cmp    %r12,%r15
140012338:	0f 83 c5 00 00 00    	jae    0x140012403
14001233e:	49 8b c4             	mov    %r12,%rax
140012341:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140012346:	49 2b c7             	sub    %r15,%rax
140012349:	49 8b fe             	mov    %r14,%rdi
14001234c:	48 d1 f8             	sar    $1,%rax
14001234f:	48 2b fd             	sub    %rbp,%rdi
140012352:	48 63 f0             	movslq %eax,%rsi
140012355:	48 d1 ff             	sar    $1,%rdi
140012358:	48 8b d6             	mov    %rsi,%rdx
14001235b:	ff c8                	dec    %eax
14001235d:	4c 63 c0             	movslq %eax,%r8
140012360:	e8 b3 01 00 00       	call   0x140012518
140012365:	8d 4f ff             	lea    -0x1(%rdi),%ecx
140012368:	4c 63 ef             	movslq %edi,%r13
14001236b:	4c 63 c1             	movslq %ecx,%r8
14001236e:	49 8b d5             	mov    %r13,%rdx
140012371:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140012376:	48 8b d8             	mov    %rax,%rbx
140012379:	e8 9a 01 00 00       	call   0x140012518
14001237e:	4c 2b e8             	sub    %rax,%r13
140012381:	48 2b f3             	sub    %rbx,%rsi
140012384:	49 3b f5             	cmp    %r13,%rsi
140012387:	75 7a                	jne    0x140012403
140012389:	4d 85 ed             	test   %r13,%r13
14001238c:	74 75                	je     0x140012403
14001238e:	4a 8d 04 6d 00 00 00 	lea    0x0(,%r13,2),%rax
140012395:	00
140012396:	4d 8b cd             	mov    %r13,%r9
140012399:	4c 2b e0             	sub    %rax,%r12
14001239c:	4c 2b f0             	sub    %rax,%r14
14001239f:	49 8b cc             	mov    %r12,%rcx
1400123a2:	4d 85 ed             	test   %r13,%r13
1400123a5:	74 19                	je     0x1400123c0
1400123a7:	49 8b c6             	mov    %r14,%rax
1400123aa:	49 2b c4             	sub    %r12,%rax
1400123ad:	0f b7 14 08          	movzwl (%rax,%rcx,1),%edx
1400123b1:	66 3b 11             	cmp    (%rcx),%dx
1400123b4:	75 65                	jne    0x14001241b
1400123b6:	48 83 c1 02          	add    $0x2,%rcx
1400123ba:	49 83 e9 01          	sub    $0x1,%r9
1400123be:	75 ed                	jne    0x1400123ad
1400123c0:	33 c0                	xor    %eax,%eax
1400123c2:	85 c0                	test   %eax,%eax
1400123c4:	75 3d                	jne    0x140012403
1400123c6:	4c 8b 54 24 78       	mov    0x78(%rsp),%r10
1400123cb:	83 c8 ff             	or     $0xffffffff,%eax
1400123ce:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
1400123d3:	41 b8 ff ff ff 7f    	mov    $0x7fffffff,%r8d
1400123d9:	49 63 0a             	movslq (%r10),%rcx
1400123dc:	49 03 cd             	add    %r13,%rcx
1400123df:	49 3b c8             	cmp    %r8,%rcx
1400123e2:	0f 46 c1             	cmovbe %ecx,%eax
1400123e5:	4c 3b c1             	cmp    %rcx,%r8
1400123e8:	45 1b c9             	sbb    %r9d,%r9d
1400123eb:	41 81 e1 16 02 07 80 	and    $0x80070216,%r9d
1400123f2:	49 3b c8             	cmp    %r8,%rcx
1400123f5:	77 2d                	ja     0x140012424
1400123f7:	41 89 02             	mov    %eax,(%r10)
1400123fa:	49 3b ee             	cmp    %r14,%rbp
1400123fd:	0f 82 32 ff ff ff    	jb     0x140012335
140012403:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140012408:	33 c0                	xor    %eax,%eax
14001240a:	48 83 c4 20          	add    $0x20,%rsp
14001240e:	41 5f                	pop    %r15
140012410:	41 5e                	pop    %r14
140012412:	41 5d                	pop    %r13
140012414:	41 5c                	pop    %r12
140012416:	5f                   	pop    %rdi
140012417:	5e                   	pop    %rsi
140012418:	5d                   	pop    %rbp
140012419:	c3                   	ret
14001241a:	cc                   	int3
14001241b:	1b c0                	sbb    %eax,%eax
14001241d:	83 e0 fe             	and    $0xfffffffe,%eax
140012420:	ff c0                	inc    %eax
140012422:	eb 9e                	jmp    0x1400123c2
140012424:	48 8b ca             	mov    %rdx,%rcx
140012427:	e8 10 00 00 00       	call   0x14001243c
14001242c:	cc                   	int3
14001242d:	48 8b ca             	mov    %rdx,%rcx
140012430:	e8 07 00 00 00       	call   0x14001243c
140012435:	cc                   	int3
140012436:	cc                   	int3
140012437:	cc                   	int3
140012438:	cc                   	int3
140012439:	cc                   	int3
14001243a:	cc                   	int3
14001243b:	cc                   	int3
14001243c:	48 83 ec 48          	sub    $0x48,%rsp
140012440:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140012445:	4c 8d 05 8c ab 01 00 	lea    0x1ab8c(%rip),%r8        # 0x14002cfd8
14001244c:	44 89 4c 24 38       	mov    %r9d,0x38(%rsp)
140012451:	ba cc 00 00 00       	mov    $0xcc,%edx
140012456:	c7 44 24 30 03 00 00 	movl   $0x3,0x30(%rsp)
14001245d:	00
14001245e:	45 33 c9             	xor    %r9d,%r9d
140012461:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140012466:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14001246c:	e8 07 13 ff ff       	call   0x140003778
140012471:	48 83 c4 48          	add    $0x48,%rsp
140012475:	c3                   	ret
140012476:	cc                   	int3
140012477:	cc                   	int3
140012478:	cc                   	int3
140012479:	cc                   	int3
14001247a:	cc                   	int3
14001247b:	cc                   	int3
14001247c:	cc                   	int3
14001247d:	cc                   	int3
14001247e:	cc                   	int3
14001247f:	cc                   	int3
140012480:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140012485:	57                   	push   %rdi
140012486:	48 83 ec 20          	sub    $0x20,%rsp
14001248a:	33 db                	xor    %ebx,%ebx
14001248c:	66 89 5c 24 30       	mov    %bx,0x30(%rsp)
140012491:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
140012497:	72 25                	jb     0x1400124be
140012499:	8d 81 00 ff f1 ff    	lea    -0xe0100(%rcx),%eax
14001249f:	3d ef 00 00 00       	cmp    $0xef,%eax
1400124a4:	76 10                	jbe    0x1400124b6
1400124a6:	8d 81 05 0c fe ff    	lea    -0x1f3fb(%rcx),%eax
1400124ac:	83 f8 04             	cmp    $0x4,%eax
1400124af:	76 05                	jbe    0x1400124b6
1400124b1:	8d 7b 01             	lea    0x1(%rbx),%edi
1400124b4:	eb 03                	jmp    0x1400124b9
1400124b6:	40 8a fb             	mov    %bl,%dil
1400124b9:	40 8a c7             	mov    %dil,%al
1400124bc:	eb 47                	jmp    0x140012505
1400124be:	bf 01 00 00 00       	mov    $0x1,%edi
1400124c3:	66 89 4c 24 38       	mov    %cx,0x38(%rsp)
1400124c8:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
1400124cd:	44 8b c7             	mov    %edi,%r8d
1400124d0:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
1400124d5:	8d 4f 03             	lea    0x3(%rdi),%ecx
1400124d8:	48 ff 15 89 87 01 00 	rex.W call *0x18789(%rip)        # 0x14002ac68
1400124df:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400124e4:	85 c0                	test   %eax,%eax
1400124e6:	74 1b                	je     0x140012503
1400124e8:	b8 01 10 00 00       	mov    $0x1001,%eax
1400124ed:	66 85 44 24 30       	test   %ax,0x30(%rsp)
1400124f2:	74 0c                	je     0x140012500
1400124f4:	b8 00 88 00 00       	mov    $0x8800,%eax
1400124f9:	66 85 44 24 30       	test   %ax,0x30(%rsp)
1400124fe:	74 03                	je     0x140012503
140012500:	40 8a df             	mov    %dil,%bl
140012503:	8a c3                	mov    %bl,%al
140012505:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14001250a:	48 83 c4 20          	add    $0x20,%rsp
14001250e:	5f                   	pop    %rdi
14001250f:	c3                   	ret
140012510:	cc                   	int3
140012511:	cc                   	int3
140012512:	cc                   	int3
140012513:	cc                   	int3
140012514:	cc                   	int3
140012515:	cc                   	int3
140012516:	cc                   	int3
140012517:	cc                   	int3
140012518:	48 8b c4             	mov    %rsp,%rax
14001251b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001251f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140012523:	48 89 70 18          	mov    %rsi,0x18(%rax)
140012527:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001252b:	41 54                	push   %r12
14001252d:	41 55                	push   %r13
14001252f:	41 56                	push   %r14
140012531:	48 83 ec 20          	sub    $0x20,%rsp
140012535:	49 8b d8             	mov    %r8,%rbx
140012538:	48 8b f2             	mov    %rdx,%rsi
14001253b:	4c 8b f1             	mov    %rcx,%r14
14001253e:	4c 3b c2             	cmp    %rdx,%r8
140012541:	0f 83 f7 00 00 00    	jae    0x14001263e
140012547:	bd ff 03 00 00       	mov    $0x3ff,%ebp
14001254c:	41 bc 00 24 00 00    	mov    $0x2400,%r12d
140012552:	41 bd 00 28 00 00    	mov    $0x2800,%r13d
140012558:	49 8b 16             	mov    (%r14),%rdx
14001255b:	0f b7 04 5a          	movzwl (%rdx,%rbx,2),%eax
14001255f:	66 41 03 c4          	add    %r12w,%ax
140012563:	66 3b c5             	cmp    %bp,%ax
140012566:	77 1e                	ja     0x140012586
140012568:	48 85 db             	test   %rbx,%rbx
14001256b:	0f 84 ef 00 00 00    	je     0x140012660
140012571:	0f b7 44 5a fe       	movzwl -0x2(%rdx,%rbx,2),%eax
140012576:	66 41 03 c5          	add    %r13w,%ax
14001257a:	66 3b c5             	cmp    %bp,%ax
14001257d:	0f 87 dd 00 00 00    	ja     0x140012660
140012583:	48 ff cb             	dec    %rbx
140012586:	48 3b de             	cmp    %rsi,%rbx
140012589:	72 04                	jb     0x14001258f
14001258b:	33 ff                	xor    %edi,%edi
14001258d:	eb 3e                	jmp    0x1400125cd
14001258f:	0f b7 04 5a          	movzwl (%rdx,%rbx,2),%eax
140012593:	66 41 03 c5          	add    %r13w,%ax
140012597:	66 3b c5             	cmp    %bp,%ax
14001259a:	77 2d                	ja     0x1400125c9
14001259c:	48 8d 43 01          	lea    0x1(%rbx),%rax
1400125a0:	48 3b c6             	cmp    %rsi,%rax
1400125a3:	73 e6                	jae    0x14001258b
1400125a5:	0f b7 44 5a 02       	movzwl 0x2(%rdx,%rbx,2),%eax
1400125aa:	66 41 03 c4          	add    %r12w,%ax
1400125ae:	66 3b c5             	cmp    %bp,%ax
1400125b1:	77 16                	ja     0x1400125c9
1400125b3:	0f b7 0c 5a          	movzwl (%rdx,%rbx,2),%ecx
1400125b7:	0f b7 7c 5a 02       	movzwl 0x2(%rdx,%rbx,2),%edi
1400125bc:	c1 e1 0a             	shl    $0xa,%ecx
1400125bf:	81 c7 00 24 a0 fc    	add    $0xfca02400,%edi
1400125c5:	03 f9                	add    %ecx,%edi
1400125c7:	eb 04                	jmp    0x1400125cd
1400125c9:	0f b7 3c 5a          	movzwl (%rdx,%rbx,2),%edi
1400125cd:	8b cf                	mov    %edi,%ecx
1400125cf:	e8 ac fe ff ff       	call   0x140012480
1400125d4:	84 c0                	test   %al,%al