14002585b:	48 89 78 20          	mov    %rdi,0x20(%rax)
14002585f:	41 54                	push   %r12
140025861:	41 56                	push   %r14
140025863:	41 57                	push   %r15
140025865:	48 83 ec 20          	sub    $0x20,%rsp
140025869:	33 db                	xor    %ebx,%ebx
14002586b:	4d 8b f8             	mov    %r8,%r15
14002586e:	8b fa                	mov    %edx,%edi
140025870:	4c 8b e1             	mov    %rcx,%r12
140025873:	b8 01 00 00 00       	mov    $0x1,%eax
140025878:	8b f3                	mov    %ebx,%esi
14002587a:	85 d2                	test   %edx,%edx
14002587c:	78 41                	js     0x1400258bf
14002587e:	85 c0                	test   %eax,%eax
140025880:	74 3f                	je     0x1400258c1
140025882:	49 8b 0f             	mov    (%r15),%rcx
140025885:	8d 04 3e             	lea    (%rsi,%rdi,1),%eax
140025888:	99                   	cltd
140025889:	2b c2                	sub    %edx,%eax
14002588b:	d1 f8                	sar    $1,%eax
14002588d:	48 63 e8             	movslq %eax,%rbp
140025890:	4c 8b f5             	mov    %rbp,%r14
140025893:	49 c1 e6 04          	shl    $0x4,%r14
140025897:	4b 8b 14 26          	mov    (%r14,%r12,1),%rdx
14002589b:	e8 54 c5 ff ff       	call   0x140021df4
1400258a0:	85 c0                	test   %eax,%eax
1400258a2:	75 0d                	jne    0x1400258b1
1400258a4:	49 8d 4c 24 08       	lea    0x8(%r12),%rcx
1400258a9:	49 03 ce             	add    %r14,%rcx
1400258ac:	49 89 0f             	mov    %rcx,(%r15)
1400258af:	eb 0a                	jmp    0x1400258bb
1400258b1:	79 05                	jns    0x1400258b8
1400258b3:	8d 7d ff             	lea    -0x1(%rbp),%edi
1400258b6:	eb 03                	jmp    0x1400258bb
1400258b8:	8d 75 01             	lea    0x1(%rbp),%esi
1400258bb:	3b f7                	cmp    %edi,%esi
1400258bd:	7e bf                	jle    0x14002587e
1400258bf:	85 c0                	test   %eax,%eax
1400258c1:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400258c6:	0f 94 c3             	sete   %bl
1400258c9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400258ce:	8b c3                	mov    %ebx,%eax
1400258d0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400258d5:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1400258da:	48 83 c4 20          	add    $0x20,%rsp
1400258de:	41 5f                	pop    %r15
1400258e0:	41 5e                	pop    %r14
1400258e2:	41 5c                	pop    %r12
1400258e4:	c3                   	ret
1400258e5:	cc                   	int3
1400258e6:	cc                   	int3
1400258e7:	cc                   	int3
1400258e8:	48 8b c4             	mov    %rsp,%rax
1400258eb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400258ef:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400258f3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400258f7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400258fb:	41 54                	push   %r12
1400258fd:	41 56                	push   %r14
1400258ff:	41 57                	push   %r15
140025901:	48 83 ec 30          	sub    $0x30,%rsp
140025905:	49 8b e8             	mov    %r8,%rbp
140025908:	4c 8b f2             	mov    %rdx,%r14
14002590b:	48 8b f1             	mov    %rcx,%rsi
14002590e:	e8 2d 59 ff ff       	call   0x14001b240
140025913:	45 33 e4             	xor    %r12d,%r12d
140025916:	48 8b ce             	mov    %rsi,%rcx
140025919:	48 8d 98 98 00 00 00 	lea    0x98(%rax),%rbx
140025920:	48 8d 86 80 00 00 00 	lea    0x80(%rsi),%rax
140025927:	44 89 63 10          	mov    %r12d,0x10(%rbx)
14002592b:	4c 8d bb 58 02 00 00 	lea    0x258(%rbx),%r15
140025932:	48 89 33             	mov    %rsi,(%rbx)
140025935:	48 8d 7b 08          	lea    0x8(%rbx),%rdi
140025939:	66 45 89 27          	mov    %r12w,(%r15)
14002593d:	48 89 07             	mov    %rax,(%rdi)
140025940:	66 44 39 20          	cmp    %r12w,(%rax)
140025944:	74 17                	je     0x14002595d
140025946:	4c 8b c7             	mov    %rdi,%r8
140025949:	41 8d 54 24 16       	lea    0x16(%r12),%edx
14002594e:	48 8d 0d 7b 30 01 00 	lea    0x1307b(%rip),%rcx        # 0x1400389d0
140025955:	e8 f2 fe ff ff       	call   0x14002584c
14002595a:	48 8b 0b             	mov    (%rbx),%rcx
14002595d:	66 44 39 21          	cmp    %r12w,(%rcx)
140025961:	48 8b cb             	mov    %rbx,%rcx
140025964:	74 4d                	je     0x1400259b3
140025966:	48 8b 07             	mov    (%rdi),%rax
140025969:	66 44 39 20          	cmp    %r12w,(%rax)
14002596d:	74 07                	je     0x140025976
14002596f:	e8 68 f8 ff ff       	call   0x1400251dc
140025974:	eb 05                	jmp    0x14002597b
140025976:	e8 31 f9 ff ff       	call   0x1400252ac
14002597b:	44 39 63 10          	cmp    %r12d,0x10(%rbx)
14002597f:	75 41                	jne    0x1400259c2
140025981:	4c 8b c3             	mov    %rbx,%r8
140025984:	48 8d 0d 25 2c 01 00 	lea    0x12c25(%rip),%rcx        # 0x1400385b0
14002598b:	ba 40 00 00 00       	mov    $0x40,%edx
140025990:	e8 b7 fe ff ff       	call   0x14002584c
140025995:	85 c0                	test   %eax,%eax
140025997:	74 1f                	je     0x1400259b8
140025999:	48 8b 07             	mov    (%rdi),%rax
14002599c:	48 8b cb             	mov    %rbx,%rcx
14002599f:	66 44 39 20          	cmp    %r12w,(%rax)
1400259a3:	74 07                	je     0x1400259ac
1400259a5:	e8 32 f8 ff ff       	call   0x1400251dc
1400259aa:	eb 0c                	jmp    0x1400259b8
1400259ac:	e8 fb f8 ff ff       	call   0x1400252ac
1400259b1:	eb 05                	jmp    0x1400259b8
1400259b3:	e8 7c f7 ff ff       	call   0x140025134
1400259b8:	44 39 63 10          	cmp    %r12d,0x10(%rbx)
1400259bc:	0f 84 53 01 00 00    	je     0x140025b15
1400259c2:	48 8d 8e 00 01 00 00 	lea    0x100(%rsi),%rcx
1400259c9:	66 44 39 26          	cmp    %r12w,(%rsi)
1400259cd:	75 0e                	jne    0x1400259dd
1400259cf:	66 44 39 21          	cmp    %r12w,(%rcx)
1400259d3:	75 08                	jne    0x1400259dd
1400259d5:	ff 15 d5 68 00 00    	call   *0x68d5(%rip)        # 0x14002c2b0
1400259db:	eb 08                	jmp    0x1400259e5
1400259dd:	48 8b d3             	mov    %rbx,%rdx
1400259e0:	e8 37 fd ff ff       	call   0x14002571c
1400259e5:	8b d8                	mov    %eax,%ebx
1400259e7:	85 c0                	test   %eax,%eax
1400259e9:	0f 84 26 01 00 00    	je     0x140025b15
1400259ef:	3d e8 fd 00 00       	cmp    $0xfde8,%eax
1400259f4:	0f 84 1b 01 00 00    	je     0x140025b15
1400259fa:	0f b7 cb             	movzwl %bx,%ecx
1400259fd:	ff 15 a5 68 00 00    	call   *0x68a5(%rip)        # 0x14002c2a8
140025a03:	85 c0                	test   %eax,%eax
140025a05:	0f 84 0a 01 00 00    	je     0x140025b15
140025a0b:	4d 85 f6             	test   %r14,%r14
140025a0e:	74 03                	je     0x140025a13
140025a10:	41 89 1e             	mov    %ebx,(%r14)
140025a13:	48 85 ed             	test   %rbp,%rbp
140025a16:	0f 84 f2 00 00 00    	je     0x140025b0e
140025a1c:	48 8d b5 20 01 00 00 	lea    0x120(%rbp),%rsi
140025a23:	49 83 c9 ff          	or     $0xffffffffffffffff,%r9
140025a27:	66 44 89 26          	mov    %r12w,(%rsi)
140025a2b:	49 ff c1             	inc    %r9
140025a2e:	66 47 39 24 4f       	cmp    %r12w,(%r15,%r9,2)
140025a33:	75 f6                	jne    0x140025a2b
140025a35:	49 ff c1             	inc    %r9
140025a38:	4d 8b c7             	mov    %r15,%r8
140025a3b:	ba 55 00 00 00       	mov    $0x55,%edx
140025a40:	48 8b ce             	mov    %rsi,%rcx
140025a43:	e8 94 dd ff ff       	call   0x1400237dc
140025a48:	85 c0                	test   %eax,%eax
140025a4a:	0f 85 e6 00 00 00    	jne    0x140025b36
140025a50:	44 8d 48 40          	lea    0x40(%rax),%r9d
140025a54:	4c 8b c5             	mov    %rbp,%r8
140025a57:	ba 01 10 00 00       	mov    $0x1001,%edx
140025a5c:	48 8b ce             	mov    %rsi,%rcx
140025a5f:	e8 50 5f ff ff       	call   0x14001b9b4
140025a64:	85 c0                	test   %eax,%eax
140025a66:	0f 84 a9 00 00 00    	je     0x140025b15
140025a6c:	48 8d bd 80 00 00 00 	lea    0x80(%rbp),%rdi
140025a73:	41 b9 40 00 00 00    	mov    $0x40,%r9d
140025a79:	4c 8b c7             	mov    %rdi,%r8
140025a7c:	ba 02 10 00 00       	mov    $0x1002,%edx
140025a81:	48 8b ce             	mov    %rsi,%rcx
140025a84:	e8 2b 5f ff ff       	call   0x14001b9b4
140025a89:	85 c0                	test   %eax,%eax
140025a8b:	0f 84 84 00 00 00    	je     0x140025b15
140025a91:	ba 5f 00 00 00       	mov    $0x5f,%edx
140025a96:	48 8b cf             	mov    %rdi,%rcx
140025a99:	e8 ae 55 00 00       	call   0x14002b04c
140025a9e:	48 85 c0             	test   %rax,%rax
140025aa1:	75 10                	jne    0x140025ab3
140025aa3:	8d 50 2e             	lea    0x2e(%rax),%edx
140025aa6:	48 8b cf             	mov    %rdi,%rcx
140025aa9:	e8 9e 55 00 00       	call   0x14002b04c
140025aae:	48 85 c0             	test   %rax,%rax
140025ab1:	74 19                	je     0x140025acc
140025ab3:	41 b9 40 00 00 00    	mov    $0x40,%r9d
140025ab9:	4c 8b c7             	mov    %rdi,%r8
140025abc:	48 8b ce             	mov    %rsi,%rcx
140025abf:	41 8d 51 c7          	lea    -0x39(%r9),%edx
140025ac3:	e8 ec 5e ff ff       	call   0x14001b9b4
140025ac8:	85 c0                	test   %eax,%eax
140025aca:	74 49                	je     0x140025b15
140025acc:	48 8d 85 00 01 00 00 	lea    0x100(%rbp),%rax
140025ad3:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
140025ad9:	75 1f                	jne    0x140025afa
140025adb:	41 b9 05 00 00 00    	mov    $0x5,%r9d
140025ae1:	4c 8d 05 30 fd 00 00 	lea    0xfd30(%rip),%r8        # 0x140035818
140025ae8:	48 8b c8             	mov    %rax,%rcx
140025aeb:	41 8d 51 0b          	lea    0xb(%r9),%edx
140025aef:	e8 e8 dc ff ff       	call   0x1400237dc
140025af4:	85 c0                	test   %eax,%eax
140025af6:	75 3e                	jne    0x140025b36
140025af8:	eb 14                	jmp    0x140025b0e
140025afa:	41 b9 0a 00 00 00    	mov    $0xa,%r9d
140025b00:	48 8b d0             	mov    %rax,%rdx
140025b03:	8b cb                	mov    %ebx,%ecx
140025b05:	45 8d 41 06          	lea    0x6(%r9),%r8d
140025b09:	e8 d2 45 00 00       	call   0x14002a0e0
140025b0e:	b8 01 00 00 00       	mov    $0x1,%eax
140025b13:	eb 02                	jmp    0x140025b17
140025b15:	33 c0                	xor    %eax,%eax
140025b17:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140025b1c:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140025b21:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140025b26:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140025b2b:	48 83 c4 30          	add    $0x30,%rsp
140025b2f:	41 5f                	pop    %r15
140025b31:	41 5e                	pop    %r14
140025b33:	41 5c                	pop    %r12
140025b35:	c3                   	ret
140025b36:	45 33 c9             	xor    %r9d,%r9d
140025b39:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140025b3e:	45 33 c0             	xor    %r8d,%r8d
140025b41:	33 d2                	xor    %edx,%edx
140025b43:	33 c9                	xor    %ecx,%ecx
140025b45:	e8 9e ac fe ff       	call   0x1400107e8
140025b4a:	cc                   	int3
140025b4b:	cc                   	int3
140025b4c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140025b51:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140025b56:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140025b5b:	57                   	push   %rdi
140025b5c:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
140025b63:	48 8b 05 16 e5 01 00 	mov    0x1e516(%rip),%rax        # 0x140044080
140025b6a:	48 33 c4             	xor    %rsp,%rax
140025b6d:	48 89 84 24 10 01 00 	mov    %rax,0x110(%rsp)
140025b74:	00
140025b75:	48 8b d9             	mov    %rcx,%rbx
140025b78:	e8 c3 56 ff ff       	call   0x14001b240
140025b7d:	48 8b e8             	mov    %rax,%rbp
140025b80:	e8 bb 56 ff ff       	call   0x14001b240
140025b85:	48 8b cb             	mov    %rbx,%rcx
140025b88:	48 8b b8 a0 03 00 00 	mov    0x3a0(%rax),%rdi
140025b8f:	e8 5c 05 00 00       	call   0x1400260f0
140025b94:	8b 8d b4 00 00 00    	mov    0xb4(%rbp),%ecx
140025b9a:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140025b9f:	f7 d9                	neg    %ecx
140025ba1:	41 b9 78 00 00 00    	mov    $0x78,%r9d
140025ba7:	8b c8                	mov    %eax,%ecx
140025ba9:	8b f0                	mov    %eax,%esi
140025bab:	1b d2                	sbb    %edx,%edx
140025bad:	81 e2 05 f0 ff ff    	and    $0xfffff005,%edx
140025bb3:	81 c2 02 10 00 00    	add    $0x1002,%edx
140025bb9:	ff 15 a1 65 00 00    	call   *0x65a1(%rip)        # 0x14002c160
140025bbf:	33 db                	xor    %ebx,%ebx
140025bc1:	85 c0                	test   %eax,%eax
140025bc3:	75 07                	jne    0x140025bcc
140025bc5:	89 1f                	mov    %ebx,(%rdi)
140025bc7:	8d 43 01             	lea    0x1(%rbx),%eax
140025bca:	eb 3f                	jmp    0x140025c0b
140025bcc:	48 8b 8d a0 00 00 00 	mov    0xa0(%rbp),%rcx
140025bd3:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140025bd8:	e8 17 c2 ff ff       	call   0x140021df4
140025bdd:	85 c0                	test   %eax,%eax
140025bdf:	75 20                	jne    0x140025c01
140025be1:	48 8d 05 80 39 01 00 	lea    0x13980(%rip),%rax        # 0x140039568
140025be8:	66 3b 30             	cmp    (%rax),%si
140025beb:	74 14                	je     0x140025c01
140025bed:	ff c3                	inc    %ebx
140025bef:	48 83 c0 02          	add    $0x2,%rax
140025bf3:	83 fb 0a             	cmp    $0xa,%ebx
140025bf6:	72 f0                	jb     0x140025be8
140025bf8:	83 0f 04             	orl    $0x4,(%rdi)
140025bfb:	89 77 08             	mov    %esi,0x8(%rdi)
140025bfe:	89 77 04             	mov    %esi,0x4(%rdi)
140025c01:	8b 07                	mov    (%rdi),%eax
140025c03:	c1 e8 02             	shr    $0x2,%eax
140025c06:	f7 d0                	not    %eax
140025c08:	83 e0 01             	and    $0x1,%eax
140025c0b:	48 8b 8c 24 10 01 00 	mov    0x110(%rsp),%rcx
140025c12:	00
140025c13:	48 33 cc             	xor    %rsp,%rcx
140025c16:	e8 55 69 fe ff       	call   0x14000c570
140025c1b:	4c 8d 9c 24 20 01 00 	lea    0x120(%rsp),%r11
140025c22:	00
140025c23:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140025c27:	49 8b 6b 20          	mov    0x20(%r11),%rbp
140025c2b:	49 8b 73 28          	mov    0x28(%r11),%rsi
140025c2f:	49 8b e3             	mov    %r11,%rsp
140025c32:	5f                   	pop    %rdi
140025c33:	c3                   	ret
140025c34:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140025c39:	57                   	push   %rdi
140025c3a:	48 83 ec 20          	sub    $0x20,%rsp
140025c3e:	48 8b d9             	mov    %rcx,%rbx
140025c41:	e8 fa 55 ff ff       	call   0x14001b240
140025c46:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140025c4a:	4d 8b c8             	mov    %r8,%r9
140025c4d:	33 ff                	xor    %edi,%edi
140025c4f:	48 8d 90 98 00 00 00 	lea    0x98(%rax),%rdx
140025c56:	48 8b 02             	mov    (%rdx),%rax
140025c59:	49 ff c1             	inc    %r9
140025c5c:	66 42 39 3c 48       	cmp    %di,(%rax,%r9,2)
140025c61:	75 f6                	jne    0x140025c59
140025c63:	8b c7                	mov    %edi,%eax
140025c65:	49 83 f9 03          	cmp    $0x3,%r9
140025c69:	0f 94 c0             	sete   %al
140025c6c:	89 42 18             	mov    %eax,0x18(%rdx)
140025c6f:	48 8b 42 08          	mov    0x8(%rdx),%rax
140025c73:	49 ff c0             	inc    %r8
140025c76:	66 42 39 3c 40       	cmp    %di,(%rax,%r8,2)
140025c7b:	75 f6                	jne    0x140025c73
140025c7d:	49 83 f8 03          	cmp    $0x3,%r8
140025c81:	8b c7                	mov    %edi,%eax
140025c83:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140025c89:	0f 94 c0             	sete   %al
140025c8c:	89 42 1c             	mov    %eax,0x1c(%rdx)
140025c8f:	89 7b 04             	mov    %edi,0x4(%rbx)
140025c92:	39 7a 18             	cmp    %edi,0x18(%rdx)
140025c95:	75 2b                	jne    0x140025cc2
140025c97:	48 8b 0a             	mov    (%rdx),%rcx
140025c9a:	44 8b d7             	mov    %edi,%r10d
140025c9d:	44 0f b7 09          	movzwl (%rcx),%r9d
140025ca1:	49 03 c8             	add    %r8,%rcx
140025ca4:	41 8d 41 bf          	lea    -0x41(%r9),%eax
140025ca8:	66 83 f8 19          	cmp    $0x19,%ax
140025cac:	76 0c                	jbe    0x140025cba
140025cae:	66 41 83 e9 61       	sub    $0x61,%r9w
140025cb3:	66 41 83 f9 19       	cmp    $0x19,%r9w
140025cb8:	77 05                	ja     0x140025cbf
140025cba:	41 ff c2             	inc    %r10d
140025cbd:	eb de                	jmp    0x140025c9d
140025cbf:	45 8b c2             	mov    %r10d,%r8d
140025cc2:	44 89 42 14          	mov    %r8d,0x14(%rdx)
140025cc6:	48 8d 0d cf 00 00 00 	lea    0xcf(%rip),%rcx        # 0x140025d9c
140025ccd:	ba 01 00 00 00       	mov    $0x1,%edx
140025cd2:	ff 15 60 65 00 00    	call   *0x6560(%rip)        # 0x14002c238
140025cd8:	8b 0b                	mov    (%rbx),%ecx
140025cda:	f6 c1 07             	test   $0x7,%cl
140025cdd:	0f 95 c2             	setne  %dl
140025ce0:	0f ba e1 09          	bt     $0x9,%ecx
140025ce4:	0f 92 c0             	setb   %al
140025ce7:	22 d0                	and    %al,%dl
140025ce9:	0f ba e1 08          	bt     $0x8,%ecx
140025ced:	0f 92 c0             	setb   %al
140025cf0:	84 d0                	test   %dl,%al
140025cf2:	75 02                	jne    0x140025cf6
140025cf4:	89 3b                	mov    %edi,(%rbx)
140025cf6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140025cfb:	48 83 c4 20          	add    $0x20,%rsp
140025cff:	5f                   	pop    %rdi
140025d00:	c3                   	ret
140025d01:	cc                   	int3
140025d02:	cc                   	int3
140025d03:	cc                   	int3
140025d04:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140025d09:	57                   	push   %rdi
140025d0a:	48 83 ec 20          	sub    $0x20,%rsp
140025d0e:	48 8b d9             	mov    %rcx,%rbx
140025d11:	e8 2a 55 ff ff       	call   0x14001b240
140025d16:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140025d1a:	4c 8b d0             	mov    %rax,%r10
140025d1d:	33 ff                	xor    %edi,%edi
140025d1f:	48 8b 90 98 00 00 00 	mov    0x98(%rax),%rdx