18004fe88:	49 8b c0             	mov    %r8,%rax
18004fe8b:	48 d3 e8             	shr    %cl,%rax
18004fe8e:	84 c0                	test   %al,%al
18004fe90:	75 05                	jne    0x18004fe97
18004fe92:	83 e9 08             	sub    $0x8,%ecx
18004fe95:	79 f1                	jns    0x18004fe88
18004fe97:	85 c9                	test   %ecx,%ecx
18004fe99:	0f 88 82 00 00 00    	js     0x18004ff21
18004fe9f:	49 8b c0             	mov    %r8,%rax
18004fea2:	48 d3 e8             	shr    %cl,%rax
18004fea5:	41 88 01             	mov    %al,(%r9)
18004fea8:	4c 03 cd             	add    %rbp,%r9
18004feab:	83 e9 08             	sub    $0x8,%ecx
18004feae:	79 ef                	jns    0x18004fe9f
18004feb0:	eb 6f                	jmp    0x18004ff21
18004feb2:	8a 42 07             	mov    0x7(%rdx),%al
18004feb5:	41 88 01             	mov    %al,(%r9)
18004feb8:	8a 42 06             	mov    0x6(%rdx),%al
18004febb:	41 88 41 01          	mov    %al,0x1(%r9)
18004febf:	8a 42 05             	mov    0x5(%rdx),%al
18004fec2:	41 88 41 02          	mov    %al,0x2(%r9)
18004fec6:	8a 42 04             	mov    0x4(%rdx),%al
18004fec9:	41 88 41 03          	mov    %al,0x3(%r9)
18004fecd:	8a 42 03             	mov    0x3(%rdx),%al
18004fed0:	41 88 41 04          	mov    %al,0x4(%r9)
18004fed4:	8a 42 02             	mov    0x2(%rdx),%al
18004fed7:	41 88 41 05          	mov    %al,0x5(%r9)
18004fedb:	8a 42 01             	mov    0x1(%rdx),%al
18004fede:	41 88 41 06          	mov    %al,0x6(%r9)
18004fee2:	8a 02                	mov    (%rdx),%al
18004fee4:	41 88 41 07          	mov    %al,0x7(%r9)
18004fee8:	49 83 c1 08          	add    $0x8,%r9
18004feec:	e9 b5 01 00 00       	jmp    0x1800500a6
18004fef1:	44 8b 02             	mov    (%rdx),%r8d
18004fef4:	4d 8b d1             	mov    %r9,%r10
18004fef7:	4c 03 cd             	add    %rbp,%r9
18004fefa:	b9 18 00 00 00       	mov    $0x18,%ecx
18004feff:	41 8b c0             	mov    %r8d,%eax
18004ff02:	d3 e8                	shr    %cl,%eax
18004ff04:	84 c0                	test   %al,%al
18004ff06:	75 05                	jne    0x18004ff0d
18004ff08:	83 e9 08             	sub    $0x8,%ecx
18004ff0b:	79 f2                	jns    0x18004feff
18004ff0d:	85 c9                	test   %ecx,%ecx
18004ff0f:	78 10                	js     0x18004ff21
18004ff11:	41 8b c0             	mov    %r8d,%eax
18004ff14:	d3 e8                	shr    %cl,%eax
18004ff16:	41 88 01             	mov    %al,(%r9)
18004ff19:	4c 03 cd             	add    %rbp,%r9
18004ff1c:	83 e9 08             	sub    $0x8,%ecx
18004ff1f:	79 f0                	jns    0x18004ff11
18004ff21:	41 8a c1             	mov    %r9b,%al
18004ff24:	41 2a c2             	sub    %r10b,%al
18004ff27:	40 2a c5             	sub    %bpl,%al
18004ff2a:	41 88 02             	mov    %al,(%r10)
18004ff2d:	e9 74 01 00 00       	jmp    0x1800500a6
18004ff32:	8a 42 03             	mov    0x3(%rdx),%al
18004ff35:	41 88 01             	mov    %al,(%r9)
18004ff38:	8a 42 02             	mov    0x2(%rdx),%al
18004ff3b:	41 88 41 01          	mov    %al,0x1(%r9)
18004ff3f:	8a 42 01             	mov    0x1(%rdx),%al
18004ff42:	41 88 41 02          	mov    %al,0x2(%r9)
18004ff46:	8a 02                	mov    (%rdx),%al
18004ff48:	41 88 41 03          	mov    %al,0x3(%r9)
18004ff4c:	49 83 c1 04          	add    $0x4,%r9
18004ff50:	e9 51 01 00 00       	jmp    0x1800500a6
18004ff55:	8a 42 01             	mov    0x1(%rdx),%al
18004ff58:	41 88 01             	mov    %al,(%r9)
18004ff5b:	8a 02                	mov    (%rdx),%al
18004ff5d:	41 88 41 01          	mov    %al,0x1(%r9)
18004ff61:	49 83 c1 02          	add    $0x2,%r9
18004ff65:	e9 3c 01 00 00       	jmp    0x1800500a6
18004ff6a:	8a 02                	mov    (%rdx),%al
18004ff6c:	41 88 01             	mov    %al,(%r9)
18004ff6f:	4c 03 cd             	add    %rbp,%r9
18004ff72:	e9 2f 01 00 00       	jmp    0x1800500a6
18004ff77:	41 0f b7 03          	movzwl (%r11),%eax
18004ff7b:	4c 8b 02             	mov    (%rdx),%r8
18004ff7e:	0f b7 0c 38          	movzwl (%rax,%rdi,1),%ecx
18004ff82:	4d 85 c0             	test   %r8,%r8
18004ff85:	75 06                	jne    0x18004ff8d
18004ff87:	66 41 89 31          	mov    %si,(%r9)
18004ff8b:	eb d4                	jmp    0x18004ff61
18004ff8d:	0f b7 c1             	movzwl %cx,%eax
18004ff90:	41 88 49 01          	mov    %cl,0x1(%r9)
18004ff94:	66 c1 e8 08          	shr    $0x8,%ax
18004ff98:	41 88 01             	mov    %al,(%r9)
18004ff9b:	49 83 c1 02          	add    $0x2,%r9
18004ff9f:	66 85 c9             	test   %cx,%cx
18004ffa2:	0f 84 fe 00 00 00    	je     0x1800500a6
18004ffa8:	41 8a 00             	mov    (%r8),%al
18004ffab:	4c 03 c5             	add    %rbp,%r8
18004ffae:	41 88 01             	mov    %al,(%r9)
18004ffb1:	4c 03 cd             	add    %rbp,%r9
18004ffb4:	66 41 03 cf          	add    %r15w,%cx
18004ffb8:	75 ee                	jne    0x18004ffa8
18004ffba:	e9 e7 00 00 00       	jmp    0x1800500a6
18004ffbf:	83 e9 08             	sub    $0x8,%ecx
18004ffc2:	0f 84 8e 00 00 00    	je     0x180050056
18004ffc8:	2b cd                	sub    %ebp,%ecx
18004ffca:	74 35                	je     0x180050001
18004ffcc:	2b cd                	sub    %ebp,%ecx
18004ffce:	74 19                	je     0x18004ffe9
18004ffd0:	2b cd                	sub    %ebp,%ecx
18004ffd2:	74 96                	je     0x18004ff6a
18004ffd4:	3b cd                	cmp    %ebp,%ecx
18004ffd6:	0f 85 ca 00 00 00    	jne    0x1800500a6
18004ffdc:	41 0f b7 43 02       	movzwl 0x2(%r11),%eax
18004ffe1:	4c 03 c8             	add    %rax,%r9
18004ffe4:	e9 bd 00 00 00       	jmp    0x1800500a6
18004ffe9:	8b 02                	mov    (%rdx),%eax
18004ffeb:	85 c0                	test   %eax,%eax
18004ffed:	75 0a                	jne    0x18004fff9
18004ffef:	b8 ff 00 00 00       	mov    $0xff,%eax
18004fff4:	e9 73 ff ff ff       	jmp    0x18004ff6c
18004fff9:	0f bd c0             	bsr    %eax,%eax
18004fffc:	e9 6b ff ff ff       	jmp    0x18004ff6c
180050001:	8a 42 03             	mov    0x3(%rdx),%al
180050004:	b9 08 00 00 00       	mov    $0x8,%ecx
180050009:	41 88 01             	mov    %al,(%r9)
18005000c:	8a 42 02             	mov    0x2(%rdx),%al
18005000f:	41 88 41 01          	mov    %al,0x1(%r9)
180050013:	8a 42 01             	mov    0x1(%rdx),%al
180050016:	41 88 41 02          	mov    %al,0x2(%r9)
18005001a:	8a 02                	mov    (%rdx),%al
18005001c:	41 88 41 03          	mov    %al,0x3(%r9)
180050020:	8a 42 05             	mov    0x5(%rdx),%al
180050023:	41 88 41 04          	mov    %al,0x4(%r9)
180050027:	8a 42 04             	mov    0x4(%rdx),%al
18005002a:	41 88 41 05          	mov    %al,0x5(%r9)
18005002e:	8a 42 07             	mov    0x7(%rdx),%al
180050031:	41 88 41 06          	mov    %al,0x6(%r9)
180050035:	8a 42 06             	mov    0x6(%rdx),%al
180050038:	41 88 41 07          	mov    %al,0x7(%r9)
18005003c:	49 83 c1 08          	add    $0x8,%r9
180050040:	48 83 c2 08          	add    $0x8,%rdx
180050044:	8a 02                	mov    (%rdx),%al
180050046:	48 03 d5             	add    %rbp,%rdx
180050049:	41 88 01             	mov    %al,(%r9)
18005004c:	4c 03 cd             	add    %rbp,%r9
18005004f:	48 2b cd             	sub    %rbp,%rcx
180050052:	75 f0                	jne    0x180050044
180050054:	eb 50                	jmp    0x1800500a6
180050056:	4c 8b 02             	mov    (%rdx),%r8
180050059:	4d 85 c0             	test   %r8,%r8
18005005c:	0f 84 25 ff ff ff    	je     0x18004ff87
180050062:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
180050066:	48 ff c1             	inc    %rcx
180050069:	66 41 39 34 48       	cmp    %si,(%r8,%rcx,2)
18005006e:	75 f6                	jne    0x180050066
180050070:	66 03 cd             	add    %bp,%cx
180050073:	0f b7 c1             	movzwl %cx,%eax
180050076:	41 88 49 01          	mov    %cl,0x1(%r9)
18005007a:	66 c1 e8 08          	shr    $0x8,%ax
18005007e:	41 88 01             	mov    %al,(%r9)
180050081:	49 83 c1 02          	add    $0x2,%r9
180050085:	66 85 c9             	test   %cx,%cx
180050088:	74 1c                	je     0x1800500a6
18005008a:	41 8a 40 01          	mov    0x1(%r8),%al
18005008e:	41 88 01             	mov    %al,(%r9)
180050091:	41 8a 00             	mov    (%r8),%al
180050094:	4d 8d 40 02          	lea    0x2(%r8),%r8
180050098:	41 88 41 01          	mov    %al,0x1(%r9)
18005009c:	49 83 c1 02          	add    $0x2,%r9
1800500a0:	66 41 03 cf          	add    %r15w,%cx
1800500a4:	75 e4                	jne    0x18005008a
1800500a6:	49 83 c3 0c          	add    $0xc,%r11
1800500aa:	49 8d 4b fc          	lea    -0x4(%r11),%rcx
1800500ae:	48 3b cb             	cmp    %rbx,%rcx
1800500b1:	0f 82 7c fd ff ff    	jb     0x18004fe33
1800500b7:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
1800500bc:	49 8b c1             	mov    %r9,%rax
1800500bf:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
1800500c4:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
1800500c9:	41 5f                	pop    %r15
1800500cb:	5f                   	pop    %rdi
1800500cc:	c3                   	ret
1800500cd:	cc                   	int3
1800500ce:	cc                   	int3
1800500cf:	cc                   	int3
1800500d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800500d5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800500da:	33 db                	xor    %ebx,%ebx
1800500dc:	8b c2                	mov    %edx,%eax
1800500de:	4d 8b d0             	mov    %r8,%r10
1800500e1:	44 0f b7 cb          	movzwl %bx,%r9d
1800500e5:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
1800500e9:	4c 8d 1c 91          	lea    (%rcx,%rdx,4),%r11
1800500ed:	49 3b cb             	cmp    %r11,%rcx
1800500f0:	0f 83 9f 00 00 00    	jae    0x180050195
1800500f6:	48 8d 51 06          	lea    0x6(%rcx),%rdx
1800500fa:	8d 73 02             	lea    0x2(%rbx),%esi
1800500fd:	8b 4a fa             	mov    -0x6(%rdx),%ecx
180050100:	44 0f b7 42 02       	movzwl 0x2(%rdx),%r8d
180050105:	83 e9 04             	sub    $0x4,%ecx
180050108:	74 65                	je     0x18005016f
18005010a:	2b ce                	sub    %esi,%ecx
18005010c:	74 48                	je     0x180050156
18005010e:	83 e9 01             	sub    $0x1,%ecx
180050111:	74 31                	je     0x180050144
180050113:	83 f9 01             	cmp    $0x1,%ecx
180050116:	74 06                	je     0x18005011e
180050118:	66 44 03 0a          	add    (%rdx),%r9w
18005011c:	eb 66                	jmp    0x180050184
18005011e:	4b 8b 0c 10          	mov    (%r8,%r10,1),%rcx
180050122:	66 44 03 ce          	add    %si,%r9w
180050126:	48 85 c9             	test   %rcx,%rcx
180050129:	74 59                	je     0x180050184
18005012b:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18005012f:	48 ff c0             	inc    %rax
180050132:	66 39 1c 41          	cmp    %bx,(%rcx,%rax,2)
180050136:	75 f7                	jne    0x18005012f
180050138:	66 03 c0             	add    %ax,%ax
18005013b:	66 03 c6             	add    %si,%ax
18005013e:	66 44 03 c8          	add    %ax,%r9w
180050142:	eb 40                	jmp    0x180050184
180050144:	0f b7 42 fe          	movzwl -0x2(%rdx),%eax
180050148:	42 0f b7 0c 10       	movzwl (%rax,%r10,1),%ecx
18005014d:	66 03 ce             	add    %si,%cx
180050150:	66 44 03 c9          	add    %cx,%r9w
180050154:	eb 2e                	jmp    0x180050184
180050156:	4b 8b 04 10          	mov    (%r8,%r10,1),%rax
18005015a:	66 41 ff c1          	inc    %r9w
18005015e:	eb 08                	jmp    0x180050168
180050160:	66 41 ff c1          	inc    %r9w
180050164:	48 c1 e8 08          	shr    $0x8,%rax
180050168:	48 85 c0             	test   %rax,%rax
18005016b:	75 f3                	jne    0x180050160
18005016d:	eb 15                	jmp    0x180050184
18005016f:	43 8b 04 10          	mov    (%r8,%r10,1),%eax
180050173:	66 41 ff c1          	inc    %r9w
180050177:	eb 07                	jmp    0x180050180
180050179:	66 41 ff c1          	inc    %r9w
18005017d:	c1 e8 08             	shr    $0x8,%eax
180050180:	85 c0                	test   %eax,%eax
180050182:	75 f5                	jne    0x180050179
180050184:	48 83 c2 0c          	add    $0xc,%rdx
180050188:	48 8d 4a fa          	lea    -0x6(%rdx),%rcx
18005018c:	49 3b cb             	cmp    %r11,%rcx
18005018f:	0f 82 68 ff ff ff    	jb     0x1800500fd
180050195:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18005019a:	41 0f b7 c1          	movzwl %r9w,%eax
18005019e:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1800501a3:	c3                   	ret
1800501a4:	cc                   	int3
1800501a5:	cc                   	int3
1800501a6:	cc                   	int3
1800501a7:	cc                   	int3
1800501a8:	48 8b c4             	mov    %rsp,%rax
1800501ab:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800501af:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800501b3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800501b7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800501bb:	41 56                	push   %r14
1800501bd:	44 8b 09             	mov    (%rcx),%r9d
1800501c0:	45 33 c0             	xor    %r8d,%r8d
1800501c3:	40 8a f2             	mov    %dl,%sil
1800501c6:	4c 8b d9             	mov    %rcx,%r11
1800501c9:	41 8d 41 ff          	lea    -0x1(%r9),%eax
1800501cd:	83 f8 02             	cmp    $0x2,%eax
1800501d0:	0f 87 44 01 00 00    	ja     0x18005031a
1800501d6:	44 8b 51 04          	mov    0x4(%rcx),%r10d
1800501da:	41 83 f9 03          	cmp    $0x3,%r9d
1800501de:	41 8b c0             	mov    %r8d,%eax
1800501e1:	0f 94 c0             	sete   %al
1800501e4:	44 3b d0             	cmp    %eax,%r10d
1800501e7:	0f 82 25 01 00 00    	jb     0x180050312
1800501ed:	41 8b c9             	mov    %r9d,%ecx
1800501f0:	41 8b d0             	mov    %r8d,%edx
1800501f3:	83 e9 02             	sub    $0x2,%ecx
1800501f6:	74 0a                	je     0x180050202
1800501f8:	83 f9 01             	cmp    $0x1,%ecx
1800501fb:	75 0a                	jne    0x180050207
1800501fd:	8d 51 01             	lea    0x1(%rcx),%edx
180050200:	eb 05                	jmp    0x180050207
180050202:	ba 07 00 00 00       	mov    $0x7,%edx
180050207:	44 3b d2             	cmp    %edx,%r10d
18005020a:	0f 87 02 01 00 00    	ja     0x180050312
180050210:	41 8b 7b 08          	mov    0x8(%r11),%edi
180050214:	bd 01 00 00 00       	mov    $0x1,%ebp
180050219:	3b fd                	cmp    %ebp,%edi
18005021b:	0f 82 d9 00 00 00    	jb     0x1800502fa
180050221:	41 8d 41 fe          	lea    -0x2(%r9),%eax
180050225:	8b cd                	mov    %ebp,%ecx
180050227:	3b c5                	cmp    %ebp,%eax
180050229:	8d 55 07             	lea    0x7(%rbp),%edx
18005022c:	0f 46 ca             	cmovbe %edx,%ecx
18005022f:	3b f9                	cmp    %ecx,%edi
180050231:	0f 87 c3 00 00 00    	ja     0x1800502fa
180050237:	41 8b 53 0c          	mov    0xc(%r11),%edx
18005023b:	41 83 ce ff          	or     $0xffffffff,%r14d
18005023f:	41 3b d6             	cmp    %r14d,%edx
180050242:	75 0b                	jne    0x18005024f
180050244:	40 84 f6             	test   %sil,%sil
180050247:	74 0e                	je     0x180050257
180050249:	41 83 f9 03          	cmp    $0x3,%r9d
18005024d:	74 23                	je     0x180050272
18005024f:	3b d5                	cmp    %ebp,%edx
180050251:	0f 82 b3 00 00 00    	jb     0x18005030a
180050257:	8b c5                	mov    %ebp,%eax
180050259:	41 83 f9 03          	cmp    $0x3,%r9d
18005025d:	75 0b                	jne    0x18005026a
18005025f:	44 3b d5             	cmp    %ebp,%r10d
180050262:	76 06                	jbe    0x18005026a
180050264:	41 6b c2 07          	imul   $0x7,%r10d,%eax
180050268:	d1 e8                	shr    $1,%eax
18005026a:	3b d0                	cmp    %eax,%edx
18005026c:	0f 87 98 00 00 00    	ja     0x18005030a
180050272:	41 8b 5b 10          	mov    0x10(%r11),%ebx
180050276:	41 3b de             	cmp    %r14d,%ebx
180050279:	75 05                	jne    0x180050280
18005027b:	40 84 f6             	test   %sil,%sil
18005027e:	75 4c                	jne    0x1800502cc
180050280:	8b c5                	mov    %ebp,%eax
180050282:	41 83 f9 03          	cmp    $0x3,%r9d
180050286:	75 11                	jne    0x180050299
180050288:	41 3b d6             	cmp    %r14d,%edx
18005028b:	41 8d 42 ff          	lea    -0x1(%r10),%eax
18005028f:	8b ca                	mov    %edx,%ecx
180050291:	0f 44 cd             	cmove  %ebp,%ecx
180050294:	8d 04 48             	lea    (%rax,%rcx,2),%eax
180050297:	03 c1                	add    %ecx,%eax
180050299:	3b d8                	cmp    %eax,%ebx
18005029b:	72 65                	jb     0x180050302
18005029d:	b8 80 00 00 00       	mov    $0x80,%eax
1800502a2:	41 83 f9 03          	cmp    $0x3,%r9d
1800502a6:	75 1c                	jne    0x1800502c4
1800502a8:	41 3b d6             	cmp    %r14d,%edx
1800502ab:	75 0d                	jne    0x1800502ba
1800502ad:	8b d5                	mov    %ebp,%edx
1800502af:	44 3b d5             	cmp    %ebp,%r10d
1800502b2:	76 06                	jbe    0x1800502ba
1800502b4:	41 6b d2 07          	imul   $0x7,%r10d,%edx
1800502b8:	d1 ea                	shr    $1,%edx
1800502ba:	42 8d 04 d5 ff ff ff 	lea    -0x1(,%r10,8),%eax
1800502c1:	ff
1800502c2:	03 c2                	add    %edx,%eax
1800502c4:	3b d8                	cmp    %eax,%ebx
1800502c6:	77 3a                	ja     0x180050302
1800502c8:	3b dd                	cmp    %ebp,%ebx
1800502ca:	76 20                	jbe    0x1800502ec
1800502cc:	41 8b 4b 14          	mov    0x14(%r11),%ecx
1800502d0:	8d 81 00 c0 ff ff    	lea    -0x4000(%rcx),%eax
1800502d6:	3d 00 c0 ff 00       	cmp    $0xffc000,%eax
1800502db:	77 07                	ja     0x1800502e4
1800502dd:	8d 41 ff             	lea    -0x1(%rcx),%eax
1800502e0:	85 c1                	test   %eax,%ecx
1800502e2:	74 08                	je     0x1800502ec
1800502e4:	41 b8 09 00 e7 c0    	mov    $0xc0e70009,%r8d
1800502ea:	eb 34                	jmp    0x180050320