18012bd16:	66 41 85 c5          	test   %ax,%r13w
18012bd1a:	75 08                	jne    0x18012bd24
18012bd1c:	0f b7 6b 02          	movzwl 0x2(%rbx),%ebp
18012bd20:	48 83 c3 04          	add    $0x4,%rbx
18012bd24:	33 d2                	xor    %edx,%edx
18012bd26:	83 c8 ff             	or     $0xffffffff,%eax
18012bd29:	41 f7 f6             	div    %r14d
18012bd2c:	44 8b e8             	mov    %eax,%r13d
18012bd2f:	44 8b e2             	mov    %edx,%r12d
18012bd32:	0f b7 cd             	movzwl %bp,%ecx
18012bd35:	e8 aa 0c 00 00       	call   0x18012c9e4
18012bd3a:	83 ca ff             	or     $0xffffffff,%edx
18012bd3d:	8b c8                	mov    %eax,%ecx
18012bd3f:	3b c2                	cmp    %edx,%eax
18012bd41:	75 26                	jne    0x18012bd69
18012bd43:	8d 45 bf             	lea    -0x41(%rbp),%eax
18012bd46:	66 83 f8 19          	cmp    $0x19,%ax
18012bd4a:	76 09                	jbe    0x18012bd55
18012bd4c:	8d 45 9f             	lea    -0x61(%rbp),%eax
18012bd4f:	66 83 f8 19          	cmp    $0x19,%ax
18012bd53:	77 3a                	ja     0x18012bd8f
18012bd55:	0f b7 c5             	movzwl %bp,%eax
18012bd58:	66 83 ed 61          	sub    $0x61,%bp
18012bd5c:	66 83 fd 19          	cmp    $0x19,%bp
18012bd60:	8d 48 e0             	lea    -0x20(%rax),%ecx
18012bd63:	0f 47 c8             	cmova  %eax,%ecx
18012bd66:	83 e9 37             	sub    $0x37,%ecx
18012bd69:	41 3b ce             	cmp    %r14d,%ecx
18012bd6c:	73 21                	jae    0x18012bd8f
18012bd6e:	83 ce 08             	or     $0x8,%esi
18012bd71:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
18012bd78:	00
18012bd79:	75 2e                	jne    0x18012bda9
18012bd7b:	41 3b fd             	cmp    %r13d,%edi
18012bd7e:	72 29                	jb     0x18012bda9
18012bd80:	75 05                	jne    0x18012bd87
18012bd82:	41 3b cc             	cmp    %r12d,%ecx
18012bd85:	76 22                	jbe    0x18012bda9
18012bd87:	83 ce 04             	or     $0x4,%esi
18012bd8a:	4d 85 ff             	test   %r15,%r15
18012bd8d:	75 20                	jne    0x18012bdaf
18012bd8f:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
18012bd94:	48 83 eb 02          	sub    $0x2,%rbx
18012bd98:	40 f6 c6 08          	test   $0x8,%sil
18012bd9c:	75 1d                	jne    0x18012bdbb
18012bd9e:	4d 85 ff             	test   %r15,%r15
18012bda1:	49 0f 45 dc          	cmovne %r12,%rbx
18012bda5:	33 ff                	xor    %edi,%edi
18012bda7:	eb 62                	jmp    0x18012be0b
18012bda9:	41 0f af fe          	imul   %r14d,%edi
18012bdad:	03 f9                	add    %ecx,%edi
18012bdaf:	0f b7 2b             	movzwl (%rbx),%ebp
18012bdb2:	48 83 c3 02          	add    $0x2,%rbx
18012bdb6:	e9 77 ff ff ff       	jmp    0x18012bd32
18012bdbb:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
18012bdc0:	40 f6 c6 04          	test   $0x4,%sil
18012bdc4:	75 1a                	jne    0x18012bde0
18012bdc6:	40 f6 c6 01          	test   $0x1,%sil
18012bdca:	75 3f                	jne    0x18012be0b
18012bdcc:	40 f6 c6 02          	test   $0x2,%sil
18012bdd0:	74 0a                	je     0x18012bddc
18012bdd2:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
18012bdd8:	77 06                	ja     0x18012bde0
18012bdda:	eb 2f                	jmp    0x18012be0b
18012bddc:	3b f9                	cmp    %ecx,%edi
18012bdde:	76 2b                	jbe    0x18012be0b
18012bde0:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
18012bde7:	00
18012bde8:	75 21                	jne    0x18012be0b
18012bdea:	c7 05 4c 98 06 00 22 	movl   $0x22,0x6984c(%rip)        # 0x180195640
18012bdf1:	00 00 00
18012bdf4:	40 f6 c6 01          	test   $0x1,%sil
18012bdf8:	74 04                	je     0x18012bdfe
18012bdfa:	8b fa                	mov    %edx,%edi
18012bdfc:	eb 0d                	jmp    0x18012be0b
18012bdfe:	40 8a c6             	mov    %sil,%al
18012be01:	24 02                	and    $0x2,%al
18012be03:	f6 d8                	neg    %al
18012be05:	1b ff                	sbb    %edi,%edi
18012be07:	f7 df                	neg    %edi
18012be09:	03 f9                	add    %ecx,%edi
18012be0b:	4d 85 ff             	test   %r15,%r15
18012be0e:	74 03                	je     0x18012be13
18012be10:	49 89 1f             	mov    %rbx,(%r15)
18012be13:	8b c7                	mov    %edi,%eax
18012be15:	f7 d8                	neg    %eax
18012be17:	40 80 e6 02          	and    $0x2,%sil
18012be1b:	0f 44 c7             	cmove  %edi,%eax
18012be1e:	eb 17                	jmp    0x18012be37
18012be20:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18012be26:	45 33 c9             	xor    %r9d,%r9d
18012be29:	45 33 c0             	xor    %r8d,%r8d
18012be2c:	33 d2                	xor    %edx,%edx
18012be2e:	33 c9                	xor    %ecx,%ecx
18012be30:	e8 f7 9c ee ff       	call   0x180015b2c
18012be35:	33 c0                	xor    %eax,%eax
18012be37:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18012be3c:	48 83 c4 30          	add    $0x30,%rsp
18012be40:	41 5f                	pop    %r15
18012be42:	41 5e                	pop    %r14
18012be44:	41 5d                	pop    %r13
18012be46:	41 5c                	pop    %r12
18012be48:	5f                   	pop    %rdi
18012be49:	5e                   	pop    %rsi
18012be4a:	5d                   	pop    %rbp
18012be4b:	c3                   	ret
18012be4c:	cc                   	int3
18012be4d:	cc                   	int3
18012be4e:	cc                   	int3
18012be4f:	cc                   	int3
18012be50:	48 83 ec 38          	sub    $0x38,%rsp
18012be54:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18012be59:	45 8b c8             	mov    %r8d,%r9d
18012be5c:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012be61:	4c 8b c2             	mov    %rdx,%r8
18012be64:	48 8b d1             	mov    %rcx,%rdx
18012be67:	48 8d 0d 92 62 01 00 	lea    0x16292(%rip),%rcx        # 0x180142100
18012be6e:	e8 c9 fd ff ff       	call   0x18012bc3c
18012be73:	48 83 c4 38          	add    $0x38,%rsp
18012be77:	c3                   	ret
18012be78:	cc                   	int3
18012be79:	cc                   	int3
18012be7a:	cc                   	int3
18012be7b:	cc                   	int3
18012be7c:	48 83 ec 38          	sub    $0x38,%rsp
18012be80:	44 89 4c 24 28       	mov    %r9d,0x28(%rsp)
18012be85:	45 8b c8             	mov    %r8d,%r9d
18012be88:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18012be8d:	4c 8b c2             	mov    %rdx,%r8
18012be90:	48 8b d1             	mov    %rcx,%rdx
18012be93:	48 8d 0d 66 62 01 00 	lea    0x16266(%rip),%rcx        # 0x180142100
18012be9a:	e8 9d fd ff ff       	call   0x18012bc3c
18012be9f:	48 83 c4 38          	add    $0x38,%rsp
18012bea3:	c3                   	ret
18012bea4:	cc                   	int3
18012bea5:	cc                   	int3
18012bea6:	cc                   	int3
18012bea7:	cc                   	int3
18012bea8:	b8 00 01 00 00       	mov    $0x100,%eax
18012bead:	66 3b c8             	cmp    %ax,%cx
18012beb0:	73 17                	jae    0x18012bec9
18012beb2:	48 8b 05 47 03 04 00 	mov    0x40347(%rip),%rax        # 0x18016c200
18012beb9:	0f b7 c9             	movzwl %cx,%ecx
18012bebc:	44 0f b7 04 48       	movzwl (%rax,%rcx,2),%r8d
18012bec1:	0f b7 c2             	movzwl %dx,%eax
18012bec4:	44 23 c0             	and    %eax,%r8d
18012bec7:	eb 03                	jmp    0x18012becc
18012bec9:	45 33 c0             	xor    %r8d,%r8d
18012becc:	41 8b c0             	mov    %r8d,%eax
18012becf:	c3                   	ret
18012bed0:	cc                   	int3
18012bed1:	cc                   	int3
18012bed2:	cc                   	int3
18012bed3:	cc                   	int3
18012bed4:	b8 00 01 00 00       	mov    $0x100,%eax
18012bed9:	66 3b c8             	cmp    %ax,%cx
18012bedc:	73 15                	jae    0x18012bef3
18012bede:	48 8b 05 1b 03 04 00 	mov    0x4031b(%rip),%rax        # 0x18016c200
18012bee5:	0f b7 c9             	movzwl %cx,%ecx
18012bee8:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18012beec:	0f b7 ca             	movzwl %dx,%ecx
18012beef:	23 c1                	and    %ecx,%eax
18012bef1:	c3                   	ret
18012bef2:	cc                   	int3
18012bef3:	33 c0                	xor    %eax,%eax
18012bef5:	c3                   	ret
18012bef6:	cc                   	int3
18012bef7:	cc                   	int3
18012bef8:	48 83 ec 38          	sub    $0x38,%rsp
18012befc:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
18012bf01:	45 33 c9             	xor    %r9d,%r9d
18012bf04:	e8 07 00 00 00       	call   0x18012bf10
18012bf09:	48 83 c4 38          	add    $0x38,%rsp
18012bf0d:	c3                   	ret
18012bf0e:	cc                   	int3
18012bf0f:	cc                   	int3
18012bf10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18012bf15:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18012bf1a:	55                   	push   %rbp
18012bf1b:	48 8b ec             	mov    %rsp,%rbp
18012bf1e:	48 83 ec 60          	sub    $0x60,%rsp
18012bf22:	83 65 dc 00          	andl   $0x0,-0x24(%rbp)
18012bf26:	0f 57 c0             	xorps  %xmm0,%xmm0
18012bf29:	83 65 fc 00          	andl   $0x0,-0x4(%rbp)
18012bf2d:	4d 8b d9             	mov    %r9,%r11
18012bf30:	4d 8b d0             	mov    %r8,%r10
18012bf33:	48 8b d9             	mov    %rcx,%rbx
18012bf36:	f3 0f 7f 45 ec       	movdqu %xmm0,-0x14(%rbp)
18012bf3b:	4d 85 c0             	test   %r8,%r8
18012bf3e:	0f 84 92 00 00 00    	je     0x18012bfd6
18012bf44:	48 85 d2             	test   %rdx,%rdx
18012bf47:	74 09                	je     0x18012bf52
18012bf49:	48 85 c9             	test   %rcx,%rcx
18012bf4c:	0f 84 84 00 00 00    	je     0x18012bfd6
18012bf52:	c7 45 e8 42 00 00 00 	movl   $0x42,-0x18(%rbp)
18012bf59:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
18012bf5d:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
18012bf61:	48 81 fa ff ff ff 3f 	cmp    $0x3fffffff,%rdx
18012bf68:	76 09                	jbe    0x18012bf73
18012bf6a:	c7 45 d8 ff ff ff 7f 	movl   $0x7fffffff,-0x28(%rbp)
18012bf71:	eb 06                	jmp    0x18012bf79
18012bf73:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
18012bf76:	89 45 d8             	mov    %eax,-0x28(%rbp)
18012bf79:	4c 8b 4d 30          	mov    0x30(%rbp),%r9
18012bf7d:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
18012bf81:	4d 8b c3             	mov    %r11,%r8
18012bf84:	49 8b d2             	mov    %r10,%rdx
18012bf87:	e8 60 0e 00 00       	call   0x18012cdec
18012bf8c:	8b f8                	mov    %eax,%edi
18012bf8e:	48 85 db             	test   %rbx,%rbx
18012bf91:	74 3f                	je     0x18012bfd2
18012bf93:	83 6d d8 01          	subl   $0x1,-0x28(%rbp)
18012bf97:	78 14                	js     0x18012bfad
18012bf99:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bf9d:	c6 01 00             	movb   $0x0,(%rcx)
18012bfa0:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bfa4:	48 ff c1             	inc    %rcx
18012bfa7:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
18012bfab:	eb 0f                	jmp    0x18012bfbc
18012bfad:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
18012bfb1:	33 c9                	xor    %ecx,%ecx
18012bfb3:	e8 c4 00 00 00       	call   0x18012c07c
18012bfb8:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bfbc:	83 6d d8 01          	subl   $0x1,-0x28(%rbp)
18012bfc0:	78 05                	js     0x18012bfc7
18012bfc2:	c6 01 00             	movb   $0x0,(%rcx)
18012bfc5:	eb 0b                	jmp    0x18012bfd2
18012bfc7:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
18012bfcb:	33 c9                	xor    %ecx,%ecx
18012bfcd:	e8 aa 00 00 00       	call   0x18012c07c
18012bfd2:	8b c7                	mov    %edi,%eax
18012bfd4:	eb 18                	jmp    0x18012bfee
18012bfd6:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18012bfdc:	45 33 c9             	xor    %r9d,%r9d
18012bfdf:	45 33 c0             	xor    %r8d,%r8d
18012bfe2:	33 d2                	xor    %edx,%edx
18012bfe4:	33 c9                	xor    %ecx,%ecx
18012bfe6:	e8 41 9b ee ff       	call   0x180015b2c
18012bfeb:	83 c8 ff             	or     $0xffffffff,%eax
18012bfee:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18012bff3:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
18012bff8:	48 83 c4 60          	add    $0x60,%rsp
18012bffc:	5d                   	pop    %rbp
18012bffd:	c3                   	ret
18012bffe:	cc                   	int3
18012bfff:	cc                   	int3
18012c000:	4c 8b c9             	mov    %rcx,%r9
18012c003:	45 33 c0             	xor    %r8d,%r8d
18012c006:	8a 01                	mov    (%rcx),%al
18012c008:	48 ff c1             	inc    %rcx
18012c00b:	84 c0                	test   %al,%al
18012c00d:	75 f7                	jne    0x18012c006
18012c00f:	48 ff c9             	dec    %rcx
18012c012:	8a 01                	mov    (%rcx),%al
18012c014:	49 3b c9             	cmp    %r9,%rcx
18012c017:	74 04                	je     0x18012c01d
18012c019:	3a c2                	cmp    %dl,%al
18012c01b:	75 f2                	jne    0x18012c00f
18012c01d:	3a c2                	cmp    %dl,%al
18012c01f:	4c 0f 44 c1          	cmove  %rcx,%r8
18012c023:	49 8b c0             	mov    %r8,%rax
18012c026:	c3                   	ret
18012c027:	cc                   	int3
18012c028:	eb 09                	jmp    0x18012c033
18012c02a:	66 3b c2             	cmp    %dx,%ax
18012c02d:	74 11                	je     0x18012c040
18012c02f:	48 83 c1 02          	add    $0x2,%rcx
18012c033:	0f b7 01             	movzwl (%rcx),%eax
18012c036:	66 85 c0             	test   %ax,%ax
18012c039:	75 ef                	jne    0x18012c02a
18012c03b:	66 3b c2             	cmp    %dx,%ax
18012c03e:	75 05                	jne    0x18012c045
18012c040:	48 8b c1             	mov    %rcx,%rax
18012c043:	c3                   	ret
18012c044:	cc                   	int3
18012c045:	33 c0                	xor    %eax,%eax
18012c047:	c3                   	ret
18012c048:	cc                   	int3
18012c049:	cc                   	int3
18012c04a:	cc                   	int3
18012c04b:	cc                   	int3
18012c04c:	40 53                	rex push %rbx
18012c04e:	48 83 ec 20          	sub    $0x20,%rsp
18012c052:	8b d9                	mov    %ecx,%ebx
18012c054:	e8 87 0d 00 00       	call   0x18012cde0
18012c059:	83 c9 ff             	or     $0xffffffff,%ecx
18012c05c:	0f b6 d3             	movzbl %bl,%edx
18012c05f:	3b d9                	cmp    %ecx,%ebx
18012c061:	0f 44 d1             	cmove  %ecx,%edx
18012c064:	48 63 d2             	movslq %edx,%rdx
18012c067:	8a 04 50             	mov    (%rax,%rdx,2),%al
18012c06a:	a8 01                	test   $0x1,%al
18012c06c:	8d 43 20             	lea    0x20(%rbx),%eax
18012c06f:	0f 45 d8             	cmovne %eax,%ebx
18012c072:	8b c3                	mov    %ebx,%eax
18012c074:	48 83 c4 20          	add    $0x20,%rsp
18012c078:	5b                   	pop    %rbx
18012c079:	c3                   	ret
18012c07a:	cc                   	int3
18012c07b:	cc                   	int3
18012c07c:	83 4a 18 20          	orl    $0x20,0x18(%rdx)
18012c080:	83 c8 ff             	or     $0xffffffff,%eax
18012c083:	c3                   	ret
18012c084:	cc                   	int3
18012c085:	cc                   	int3
18012c086:	cc                   	int3
18012c087:	cc                   	int3
18012c088:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18012c08d:	55                   	push   %rbp
18012c08e:	56                   	push   %rsi
18012c08f:	57                   	push   %rdi
18012c090:	41 54                	push   %r12
18012c092:	41 55                	push   %r13
18012c094:	41 56                	push   %r14
18012c096:	41 57                	push   %r15
18012c098:	48 8d ac 24 80 fe ff 	lea    -0x180(%rsp),%rbp
18012c09f:	ff
18012c0a0:	48 81 ec 80 02 00 00 	sub    $0x280,%rsp
18012c0a7:	48 8b 05 c2 08 04 00 	mov    0x408c2(%rip),%rax        # 0x18016c970
18012c0ae:	48 33 c4             	xor    %rsp,%rax
18012c0b1:	48 89 85 78 01 00 00 	mov    %rax,0x178(%rbp)
18012c0b8:	33 c0                	xor    %eax,%eax
18012c0ba:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
18012c0bf:	4c 8b e2             	mov    %rdx,%r12
18012c0c2:	89 44 24 54          	mov    %eax,0x54(%rsp)
18012c0c6:	4c 8b f9             	mov    %rcx,%r15
18012c0c9:	89 44 24 48          	mov    %eax,0x48(%rsp)
18012c0cd:	33 d2                	xor    %edx,%edx
18012c0cf:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
18012c0d3:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
18012c0d8:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012c0dc:	41 b8 00 02 00 00    	mov    $0x200,%r8d
18012c0e2:	89 44 24 50          	mov    %eax,0x50(%rsp)
18012c0e6:	8b f8                	mov    %eax,%edi
18012c0e8:	8b f0                	mov    %eax,%esi
18012c0ea:	44 8b f0             	mov    %eax,%r14d
18012c0ed:	8b d8                	mov    %eax,%ebx
18012c0ef:	4d 8b e9             	mov    %r9,%r13
18012c0f2:	e8 89 9b 00 00       	call   0x180135c80
18012c0f7:	45 33 d2             	xor    %r10d,%r10d
18012c0fa:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012c0ff:	4d 85 ff             	test   %r15,%r15
18012c102:	0f 84 73 07 00 00    	je     0x18012c87b
18012c108:	4d 85 e4             	test   %r12,%r12
18012c10b:	0f 84 6a 07 00 00    	je     0x18012c87b
18012c111:	45 8a 0c 24          	mov    (%r12),%r9b
18012c115:	45 8b fa             	mov    %r10d,%r15d
18012c118:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
18012c11d:	45 8b c2             	mov    %r10d,%r8d
18012c120:	44 89 54 24 40       	mov    %r10d,0x40(%rsp)