14004240d:	44 39 63 10          	cmp    %r12d,0x10(%rbx)
140042411:	0f 84 65 01 00 00    	je     0x14004257c
140042417:	48 85 ff             	test   %rdi,%rdi
14004241a:	74 18                	je     0x140042434
14004241c:	66 44 39 27          	cmp    %r12w,(%rdi)
140042420:	75 12                	jne    0x140042434
140042422:	66 44 39 a7 00 01 00 	cmp    %r12w,0x100(%rdi)
140042429:	00
14004242a:	75 08                	jne    0x140042434
14004242c:	ff 15 c6 9f 00 00    	call   *0x9fc6(%rip)        # 0x14004c3f8
140042432:	eb 18                	jmp    0x14004244c
140042434:	48 8d 87 00 01 00 00 	lea    0x100(%rdi),%rax
14004243b:	48 8b d3             	mov    %rbx,%rdx
14004243e:	48 f7 df             	neg    %rdi
140042441:	48 1b c9             	sbb    %rcx,%rcx
140042444:	48 23 c8             	and    %rax,%rcx
140042447:	e8 30 fd ff ff       	call   0x14004217c
14004244c:	8b d8                	mov    %eax,%ebx
14004244e:	85 c0                	test   %eax,%eax
140042450:	0f 84 26 01 00 00    	je     0x14004257c
140042456:	3d e8 fd 00 00       	cmp    $0xfde8,%eax
14004245b:	0f 84 1b 01 00 00    	je     0x14004257c
140042461:	0f b7 cb             	movzwl %bx,%ecx
140042464:	ff 15 86 9f 00 00    	call   *0x9f86(%rip)        # 0x14004c3f0
14004246a:	85 c0                	test   %eax,%eax
14004246c:	0f 84 0a 01 00 00    	je     0x14004257c
140042472:	4d 85 f6             	test   %r14,%r14
140042475:	74 03                	je     0x14004247a
140042477:	41 89 1e             	mov    %ebx,(%r14)
14004247a:	48 85 ed             	test   %rbp,%rbp
14004247d:	0f 84 dc 00 00 00    	je     0x14004255f
140042483:	48 8d b5 20 01 00 00 	lea    0x120(%rbp),%rsi
14004248a:	49 83 c9 ff          	or     $0xffffffffffffffff,%r9
14004248e:	66 44 89 26          	mov    %r12w,(%rsi)
140042492:	49 ff c1             	inc    %r9
140042495:	66 47 39 24 4f       	cmp    %r12w,(%r15,%r9,2)
14004249a:	75 f6                	jne    0x140042492
14004249c:	49 ff c1             	inc    %r9
14004249f:	4d 8b c7             	mov    %r15,%r8
1400424a2:	ba 55 00 00 00       	mov    $0x55,%edx
1400424a7:	48 8b ce             	mov    %rsi,%rcx
1400424aa:	e8 a9 e1 ff ff       	call   0x140040658
1400424af:	85 c0                	test   %eax,%eax
1400424b1:	0f 85 e6 00 00 00    	jne    0x14004259d
1400424b7:	44 8d 48 40          	lea    0x40(%rax),%r9d
1400424bb:	4c 8b c5             	mov    %rbp,%r8
1400424be:	ba 01 10 00 00       	mov    $0x1001,%edx
1400424c3:	48 8b ce             	mov    %rsi,%rcx
1400424c6:	e8 7d 73 ff ff       	call   0x140039848
1400424cb:	85 c0                	test   %eax,%eax
1400424cd:	0f 84 a9 00 00 00    	je     0x14004257c
1400424d3:	48 8d bd 80 00 00 00 	lea    0x80(%rbp),%rdi
1400424da:	41 b9 40 00 00 00    	mov    $0x40,%r9d
1400424e0:	4c 8b c7             	mov    %rdi,%r8
1400424e3:	ba 02 10 00 00       	mov    $0x1002,%edx
1400424e8:	48 8b ce             	mov    %rsi,%rcx
1400424eb:	e8 58 73 ff ff       	call   0x140039848
1400424f0:	85 c0                	test   %eax,%eax
1400424f2:	0f 84 84 00 00 00    	je     0x14004257c
1400424f8:	ba 5f 00 00 00       	mov    $0x5f,%edx
1400424fd:	48 8b cf             	mov    %rdi,%rcx
140042500:	e8 e3 60 00 00       	call   0x1400485e8
140042505:	48 85 c0             	test   %rax,%rax
140042508:	75 10                	jne    0x14004251a
14004250a:	8d 50 2e             	lea    0x2e(%rax),%edx
14004250d:	48 8b cf             	mov    %rdi,%rcx
140042510:	e8 d3 60 00 00       	call   0x1400485e8
140042515:	48 85 c0             	test   %rax,%rax
140042518:	74 19                	je     0x140042533
14004251a:	41 b9 40 00 00 00    	mov    $0x40,%r9d
140042520:	4c 8b c7             	mov    %rdi,%r8
140042523:	48 8b ce             	mov    %rsi,%rcx
140042526:	41 8d 51 c7          	lea    -0x39(%r9),%edx
14004252a:	e8 19 73 ff ff       	call   0x140039848
14004252f:	85 c0                	test   %eax,%eax
140042531:	74 49                	je     0x14004257c
140042533:	48 8d 85 00 01 00 00 	lea    0x100(%rbp),%rax
14004253a:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
140042540:	75 24                	jne    0x140042566
140042542:	41 b9 05 00 00 00    	mov    $0x5,%r9d
140042548:	4c 8d 05 49 42 01 00 	lea    0x14249(%rip),%r8        # 0x140056798
14004254f:	48 8b c8             	mov    %rax,%rcx
140042552:	41 8d 51 0b          	lea    0xb(%r9),%edx
140042556:	e8 fd e0 ff ff       	call   0x140040658
14004255b:	85 c0                	test   %eax,%eax
14004255d:	75 3e                	jne    0x14004259d
14004255f:	b8 01 00 00 00       	mov    $0x1,%eax
140042564:	eb 18                	jmp    0x14004257e
140042566:	41 b9 0a 00 00 00    	mov    $0xa,%r9d
14004256c:	48 8b d0             	mov    %rax,%rdx
14004256f:	8b cb                	mov    %ebx,%ecx
140042571:	45 8d 41 06          	lea    0x6(%r9),%r8d
140042575:	e8 be 47 00 00       	call   0x140046d38
14004257a:	eb e3                	jmp    0x14004255f
14004257c:	33 c0                	xor    %eax,%eax
14004257e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140042583:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140042588:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14004258d:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140042592:	48 83 c4 30          	add    $0x30,%rsp
140042596:	41 5f                	pop    %r15
140042598:	41 5e                	pop    %r14
14004259a:	41 5c                	pop    %r12
14004259c:	c3                   	ret
14004259d:	45 33 c9             	xor    %r9d,%r9d
1400425a0:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
1400425a5:	45 33 c0             	xor    %r8d,%r8d
1400425a8:	33 d2                	xor    %edx,%edx
1400425aa:	33 c9                	xor    %ecx,%ecx
1400425ac:	e8 43 90 fe ff       	call   0x14002b5f4
1400425b1:	cc                   	int3
1400425b2:	cc                   	int3
1400425b3:	cc                   	int3
1400425b4:	cc                   	int3
1400425b5:	cc                   	int3
1400425b6:	cc                   	int3
1400425b7:	cc                   	int3
1400425b8:	cc                   	int3
1400425b9:	cc                   	int3
1400425ba:	cc                   	int3
1400425bb:	cc                   	int3
1400425bc:	cc                   	int3
1400425bd:	cc                   	int3
1400425be:	cc                   	int3
1400425bf:	cc                   	int3
1400425c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400425c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400425ca:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400425cf:	57                   	push   %rdi
1400425d0:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
1400425d7:	48 8b 05 3a fa 02 00 	mov    0x2fa3a(%rip),%rax        # 0x140072018
1400425de:	48 33 c4             	xor    %rsp,%rax
1400425e1:	48 89 84 24 10 01 00 	mov    %rax,0x110(%rsp)
1400425e8:	00
1400425e9:	48 8b d9             	mov    %rcx,%rbx
1400425ec:	e8 3f 63 ff ff       	call   0x140038930
1400425f1:	48 8b e8             	mov    %rax,%rbp
1400425f4:	e8 37 63 ff ff       	call   0x140038930
1400425f9:	48 8b cb             	mov    %rbx,%rcx
1400425fc:	48 8b b8 a0 03 00 00 	mov    0x3a0(%rax),%rdi
140042603:	e8 60 05 00 00       	call   0x140042b68
140042608:	8b 8d b4 00 00 00    	mov    0xb4(%rbp),%ecx
14004260e:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140042613:	f7 d9                	neg    %ecx
140042615:	41 b9 78 00 00 00    	mov    $0x78,%r9d
14004261b:	8b c8                	mov    %eax,%ecx
14004261d:	8b f0                	mov    %eax,%esi
14004261f:	1b d2                	sbb    %edx,%edx
140042621:	81 e2 05 f0 ff ff    	and    $0xfffff005,%edx
140042627:	81 c2 02 10 00 00    	add    $0x1002,%edx
14004262d:	ff 15 8d 9d 00 00    	call   *0x9d8d(%rip)        # 0x14004c3c0
140042633:	33 db                	xor    %ebx,%ebx
140042635:	85 c0                	test   %eax,%eax
140042637:	75 07                	jne    0x140042640
140042639:	89 1f                	mov    %ebx,(%rdi)
14004263b:	8d 43 01             	lea    0x1(%rbx),%eax
14004263e:	eb 3f                	jmp    0x14004267f
140042640:	48 8b 8d a0 00 00 00 	mov    0xa0(%rbp),%rcx
140042647:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14004264c:	e8 2f 6b ff ff       	call   0x140039180
140042651:	85 c0                	test   %eax,%eax
140042653:	75 20                	jne    0x140042675
140042655:	48 8d 05 6c 41 01 00 	lea    0x1416c(%rip),%rax        # 0x1400567c8
14004265c:	66 3b 30             	cmp    (%rax),%si
14004265f:	74 14                	je     0x140042675
140042661:	ff c3                	inc    %ebx
140042663:	48 83 c0 02          	add    $0x2,%rax
140042667:	83 fb 0a             	cmp    $0xa,%ebx
14004266a:	72 f0                	jb     0x14004265c
14004266c:	83 0f 04             	orl    $0x4,(%rdi)
14004266f:	89 77 08             	mov    %esi,0x8(%rdi)
140042672:	89 77 04             	mov    %esi,0x4(%rdi)
140042675:	8b 07                	mov    (%rdi),%eax
140042677:	c1 e8 02             	shr    $0x2,%eax
14004267a:	f7 d0                	not    %eax
14004267c:	83 e0 01             	and    $0x1,%eax
14004267f:	48 8b 8c 24 10 01 00 	mov    0x110(%rsp),%rcx
140042686:	00
140042687:	48 33 cc             	xor    %rsp,%rcx
14004268a:	e8 71 24 fe ff       	call   0x140024b00
14004268f:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
140042696:	00
140042697:	49 8b 5b 18          	mov    0x18(%r11),%rbx
14004269b:	49 8b 6b 20          	mov    0x20(%r11),%rbp
14004269f:	49 8b 73 28          	mov    0x28(%r11),%rsi
1400426a3:	49 8b e3             	mov    %r11,%rsp
1400426a6:	5f                   	pop    %rdi
1400426a7:	c3                   	ret
1400426a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400426ad:	57                   	push   %rdi
1400426ae:	48 83 ec 20          	sub    $0x20,%rsp
1400426b2:	48 8b d9             	mov    %rcx,%rbx
1400426b5:	e8 76 62 ff ff       	call   0x140038930
1400426ba:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
1400426be:	4d 8b c8             	mov    %r8,%r9
1400426c1:	33 ff                	xor    %edi,%edi
1400426c3:	48 8d 90 98 00 00 00 	lea    0x98(%rax),%rdx
1400426ca:	48 8b 02             	mov    (%rdx),%rax
1400426cd:	49 ff c1             	inc    %r9
1400426d0:	66 42 39 3c 48       	cmp    %di,(%rax,%r9,2)
1400426d5:	75 f6                	jne    0x1400426cd
1400426d7:	8b c7                	mov    %edi,%eax
1400426d9:	49 83 f9 03          	cmp    $0x3,%r9
1400426dd:	0f 94 c0             	sete   %al
1400426e0:	89 42 18             	mov    %eax,0x18(%rdx)
1400426e3:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400426e7:	49 ff c0             	inc    %r8
1400426ea:	66 42 39 3c 40       	cmp    %di,(%rax,%r8,2)
1400426ef:	75 f6                	jne    0x1400426e7
1400426f1:	49 83 f8 03          	cmp    $0x3,%r8
1400426f5:	8b c7                	mov    %edi,%eax
1400426f7:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1400426fd:	0f 94 c0             	sete   %al
140042700:	89 42 1c             	mov    %eax,0x1c(%rdx)
140042703:	89 7b 04             	mov    %edi,0x4(%rbx)
140042706:	39 7a 18             	cmp    %edi,0x18(%rdx)
140042709:	75 2b                	jne    0x140042736
14004270b:	48 8b 0a             	mov    (%rdx),%rcx
14004270e:	44 8b d7             	mov    %edi,%r10d
140042711:	44 0f b7 09          	movzwl (%rcx),%r9d
140042715:	49 03 c8             	add    %r8,%rcx
140042718:	41 8d 41 bf          	lea    -0x41(%r9),%eax
14004271c:	66 83 f8 19          	cmp    $0x19,%ax
140042720:	76 0c                	jbe    0x14004272e
140042722:	66 41 83 e9 61       	sub    $0x61,%r9w
140042727:	66 41 83 f9 19       	cmp    $0x19,%r9w
14004272c:	77 05                	ja     0x140042733
14004272e:	41 ff c2             	inc    %r10d
140042731:	eb de                	jmp    0x140042711
140042733:	45 8b c2             	mov    %r10d,%r8d
140042736:	44 89 42 14          	mov    %r8d,0x14(%rdx)
14004273a:	48 8d 0d cf 00 00 00 	lea    0xcf(%rip),%rcx        # 0x140042810
140042741:	ba 01 00 00 00       	mov    $0x1,%edx
140042746:	ff 15 8c 9c 00 00    	call   *0x9c8c(%rip)        # 0x14004c3d8
14004274c:	8b 0b                	mov    (%rbx),%ecx
14004274e:	f6 c1 07             	test   $0x7,%cl
140042751:	0f 95 c2             	setne  %dl
140042754:	0f ba e1 09          	bt     $0x9,%ecx
140042758:	0f 92 c0             	setb   %al
14004275b:	22 d0                	and    %al,%dl
14004275d:	0f ba e1 08          	bt     $0x8,%ecx
140042761:	0f 92 c0             	setb   %al
140042764:	84 d0                	test   %dl,%al
140042766:	75 02                	jne    0x14004276a
140042768:	89 3b                	mov    %edi,(%rbx)
14004276a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14004276f:	48 83 c4 20          	add    $0x20,%rsp
140042773:	5f                   	pop    %rdi
140042774:	c3                   	ret
140042775:	cc                   	int3
140042776:	cc                   	int3
140042777:	cc                   	int3
140042778:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14004277d:	57                   	push   %rdi
14004277e:	48 83 ec 20          	sub    $0x20,%rsp
140042782:	48 8b d9             	mov    %rcx,%rbx
140042785:	e8 a6 61 ff ff       	call   0x140038930
14004278a:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14004278e:	4c 8b d0             	mov    %rax,%r10
140042791:	33 ff                	xor    %edi,%edi
140042793:	48 8b 90 98 00 00 00 	mov    0x98(%rax),%rdx
14004279a:	49 ff c0             	inc    %r8
14004279d:	66 42 39 3c 42       	cmp    %di,(%rdx,%r8,2)
1400427a2:	75 f6                	jne    0x14004279a
1400427a4:	8b c7                	mov    %edi,%eax
1400427a6:	49 83 f8 03          	cmp    $0x3,%r8
1400427aa:	b9 02 00 00 00       	mov    $0x2,%ecx
1400427af:	0f 94 c0             	sete   %al
1400427b2:	41 89 82 b0 00 00 00 	mov    %eax,0xb0(%r10)
1400427b9:	74 28                	je     0x1400427e3
1400427bb:	44 8b cf             	mov    %edi,%r9d
1400427be:	44 0f b7 02          	movzwl (%rdx),%r8d
1400427c2:	48 03 d1             	add    %rcx,%rdx
1400427c5:	41 8d 40 bf          	lea    -0x41(%r8),%eax
1400427c9:	66 83 f8 19          	cmp    $0x19,%ax
1400427cd:	76 0c                	jbe    0x1400427db
1400427cf:	66 41 83 e8 61       	sub    $0x61,%r8w
1400427d4:	66 41 83 f8 19       	cmp    $0x19,%r8w
1400427d9:	77 05                	ja     0x1400427e0
1400427db:	41 ff c1             	inc    %r9d
1400427de:	eb de                	jmp    0x1400427be
1400427e0:	41 8b c9             	mov    %r9d,%ecx
1400427e3:	41 89 8a ac 00 00 00 	mov    %ecx,0xac(%r10)
1400427ea:	ba 01 00 00 00       	mov    $0x1,%edx
1400427ef:	48 8d 0d 6a 02 00 00 	lea    0x26a(%rip),%rcx        # 0x140042a60
1400427f6:	ff 15 dc 9b 00 00    	call   *0x9bdc(%rip)        # 0x14004c3d8
1400427fc:	f6 03 04             	testb  $0x4,(%rbx)
1400427ff:	75 02                	jne    0x140042803
140042801:	89 3b                	mov    %edi,(%rbx)
140042803:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140042808:	48 83 c4 20          	add    $0x20,%rsp
14004280c:	5f                   	pop    %rdi
14004280d:	c3                   	ret
14004280e:	cc                   	int3
14004280f:	cc                   	int3
140042810:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140042815:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14004281a:	56                   	push   %rsi
14004281b:	57                   	push   %rdi
14004281c:	41 56                	push   %r14
14004281e:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140042825:	48 8b 05 ec f7 02 00 	mov    0x2f7ec(%rip),%rax        # 0x140072018
14004282c:	48 33 c4             	xor    %rsp,%rax
14004282f:	48 89 84 24 10 01 00 	mov    %rax,0x110(%rsp)
140042836:	00
140042837:	48 8b d9             	mov    %rcx,%rbx
14004283a:	e8 f1 60 ff ff       	call   0x140038930
14004283f:	48 8d b0 98 00 00 00 	lea    0x98(%rax),%rsi
140042846:	e8 e5 60 ff ff       	call   0x140038930
14004284b:	48 8b cb             	mov    %rbx,%rcx
14004284e:	48 8b b8 a0 03 00 00 	mov    0x3a0(%rax),%rdi
140042855:	e8 0e 03 00 00       	call   0x140042b68
14004285a:	8b 4e 1c             	mov    0x1c(%rsi),%ecx
14004285d:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140042862:	f7 d9                	neg    %ecx
140042864:	41 b9 78 00 00 00    	mov    $0x78,%r9d
14004286a:	8b c8                	mov    %eax,%ecx
14004286c:	8b d8                	mov    %eax,%ebx
14004286e:	1b d2                	sbb    %edx,%edx
140042870:	81 e2 05 f0 ff ff    	and    $0xfffff005,%edx
140042876:	81 c2 02 10 00 00    	add    $0x1002,%edx
14004287c:	ff 15 3e 9b 00 00    	call   *0x9b3e(%rip)        # 0x14004c3c0
140042882:	45 33 f6             	xor    %r14d,%r14d
140042885:	85 c0                	test   %eax,%eax
140042887:	0f 84 9a 01 00 00    	je     0x140042a27
14004288d:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140042891:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140042896:	e8 e5 68 ff ff       	call   0x140039180
14004289b:	48 83 cd ff          	or     $0xffffffffffffffff,%rbp
14004289f:	85 c0                	test   %eax,%eax
1400428a1:	0f 85 b5 00 00 00    	jne    0x14004295c
1400428a7:	8b 46 18             	mov    0x18(%rsi),%eax
1400428aa:	45 8d 4e 78          	lea    0x78(%r14),%r9d
1400428ae:	f7 d8                	neg    %eax
1400428b0:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1400428b5:	8b cb                	mov    %ebx,%ecx
1400428b7:	1b d2                	sbb    %edx,%edx
1400428b9:	81 e2 02 f0 ff ff    	and    $0xfffff002,%edx
1400428bf:	81 c2 01 10 00 00    	add    $0x1001,%edx
1400428c5:	ff 15 f5 9a 00 00    	call   *0x9af5(%rip)        # 0x14004c3c0
1400428cb:	85 c0                	test   %eax,%eax
1400428cd:	0f 84 54 01 00 00    	je     0x140042a27
1400428d3:	48 8b 0e             	mov    (%rsi),%rcx
1400428d6:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400428db:	e8 a0 68 ff ff       	call   0x140039180
1400428e0:	8b 0f                	mov    (%rdi),%ecx
1400428e2:	85 c0                	test   %eax,%eax
1400428e4:	75 0b                	jne    0x1400428f1
1400428e6:	81 c9 04 03 00 00    	or     $0x304,%ecx
1400428ec:	89 5f 04             	mov    %ebx,0x4(%rdi)