18002ff9d:	74 10                	je     0x18002ffaf
18002ff9f:	48 83 e6 fc          	and    $0xfffffffffffffffc,%rsi
18002ffa3:	8b d3                	mov    %ebx,%edx
18002ffa5:	f6 c1 01             	test   $0x1,%cl
18002ffa8:	41 0f 44 d6          	cmove  %r14d,%edx
18002ffac:	44 8a f2             	mov    %dl,%r14b
18002ffaf:	45 33 c0             	xor    %r8d,%r8d
18002ffb2:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
18002ffb7:	48 8b d6             	mov    %rsi,%rdx
18002ffba:	41 8d 48 01          	lea    0x1(%r8),%ecx
18002ffbe:	e8 75 72 00 00       	call   0x180037238
18002ffc3:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
18002ffc8:	48 85 c9             	test   %rcx,%rcx
18002ffcb:	0f 84 af 00 00 00    	je     0x180030080
18002ffd1:	b8 0b 01 00 00       	mov    $0x10b,%eax
18002ffd6:	66 39 41 18          	cmp    %ax,0x18(%rcx)
18002ffda:	75 4a                	jne    0x180030026
18002ffdc:	3b 69 74             	cmp    0x74(%rcx),%ebp
18002ffdf:	0f 83 96 00 00 00    	jae    0x18003007b
18002ffe5:	44 8b 44 e9 78       	mov    0x78(%rcx,%rbp,8),%r8d
18002ffea:	45 85 c0             	test   %r8d,%r8d
18002ffed:	75 0a                	jne    0x18002fff9
18002ffef:	b8 02 00 00 c0       	mov    $0xc0000002,%eax
18002fff4:	e9 87 00 00 00       	jmp    0x180030080
18002fff9:	8b 44 e9 7c          	mov    0x7c(%rcx,%rbp,8),%eax
18002fffd:	41 89 07             	mov    %eax,(%r15)
180030000:	45 84 f6             	test   %r14b,%r14b
180030003:	75 6e                	jne    0x180030073
180030005:	44 3b 41 54          	cmp    0x54(%rcx),%r8d
180030009:	72 68                	jb     0x180030073
18003000b:	e8 f0 fe ff ff       	call   0x18002ff00
180030010:	48 8b c8             	mov    %rax,%rcx
180030013:	48 8b f8             	mov    %rax,%rdi
180030016:	48 f7 d9             	neg    %rcx
180030019:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18003001e:	1b d2                	sbb    %edx,%edx
180030020:	f7 d2                	not    %edx
180030022:	23 c2                	and    %edx,%eax
180030024:	eb 5a                	jmp    0x180030080
180030026:	b8 0b 02 00 00       	mov    $0x20b,%eax
18003002b:	66 39 41 18          	cmp    %ax,0x18(%rcx)
18003002f:	75 4a                	jne    0x18003007b
180030031:	3b a9 84 00 00 00    	cmp    0x84(%rcx),%ebp
180030037:	73 42                	jae    0x18003007b
180030039:	44 8b 84 e9 88 00 00 	mov    0x88(%rcx,%rbp,8),%r8d
180030040:	00
180030041:	45 85 c0             	test   %r8d,%r8d
180030044:	74 a9                	je     0x18002ffef
180030046:	8b 84 e9 8c 00 00 00 	mov    0x8c(%rcx,%rbp,8),%eax
18003004d:	41 89 07             	mov    %eax,(%r15)
180030050:	45 84 f6             	test   %r14b,%r14b
180030053:	75 1e                	jne    0x180030073
180030055:	44 3b 41 54          	cmp    0x54(%rcx),%r8d
180030059:	72 18                	jb     0x180030073
18003005b:	e8 a0 fe ff ff       	call   0x18002ff00
180030060:	48 8b f8             	mov    %rax,%rdi
180030063:	48 f7 d8             	neg    %rax
180030066:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18003006b:	1b c9                	sbb    %ecx,%ecx
18003006d:	f7 d1                	not    %ecx
18003006f:	23 c1                	and    %ecx,%eax
180030071:	eb 0d                	jmp    0x180030080
180030073:	4a 8d 3c 06          	lea    (%rsi,%r8,1),%rdi
180030077:	8b c3                	mov    %ebx,%eax
180030079:	eb 05                	jmp    0x180030080
18003007b:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180030080:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
180030085:	85 c0                	test   %eax,%eax
180030087:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
18003008c:	48 0f 49 df          	cmovns %rdi,%rbx
180030090:	48 8b c3             	mov    %rbx,%rax
180030093:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
180030098:	48 83 c4 20          	add    $0x20,%rsp
18003009c:	41 5f                	pop    %r15
18003009e:	41 5e                	pop    %r14
1800300a0:	5f                   	pop    %rdi
1800300a1:	c3                   	ret
1800300a2:	cc                   	int3
1800300a3:	cc                   	int3
1800300a4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800300a9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800300ae:	56                   	push   %rsi
1800300af:	57                   	push   %rdi
1800300b0:	41 54                	push   %r12
1800300b2:	41 56                	push   %r14
1800300b4:	41 57                	push   %r15
1800300b6:	48 83 ec 20          	sub    $0x20,%rsp
1800300ba:	4c 8b fa             	mov    %rdx,%r15
1800300bd:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
1800300c2:	b2 01                	mov    $0x1,%dl
1800300c4:	45 33 c0             	xor    %r8d,%r8d
1800300c7:	48 8b d9             	mov    %rcx,%rbx
1800300ca:	e8 9d fe ff ff       	call   0x18002ff6c
1800300cf:	45 33 e4             	xor    %r12d,%r12d
1800300d2:	4c 8b c8             	mov    %rax,%r9
1800300d5:	45 8b c4             	mov    %r12d,%r8d
1800300d8:	48 85 c0             	test   %rax,%rax
1800300db:	0f 84 9b 00 00 00    	je     0x18003017c
1800300e1:	8b 68 20             	mov    0x20(%rax),%ebp
1800300e4:	45 8b d4             	mov    %r12d,%r10d
1800300e7:	8b 70 24             	mov    0x24(%rax),%esi
1800300ea:	48 03 eb             	add    %rbx,%rbp
1800300ed:	8b 48 18             	mov    0x18(%rax),%ecx
1800300f0:	48 03 f3             	add    %rbx,%rsi
1800300f3:	83 e9 01             	sub    $0x1,%ecx
1800300f6:	0f 88 80 00 00 00    	js     0x18003017c
1800300fc:	42 8d 14 11          	lea    (%rcx,%r10,1),%edx
180030100:	49 8b c7             	mov    %r15,%rax
180030103:	d1 fa                	sar    $1,%edx
180030105:	4c 63 f2             	movslq %edx,%r14
180030108:	42 8b 7c b5 00       	mov    0x0(%rbp,%r14,4),%edi
18003010d:	48 03 fb             	add    %rbx,%rdi
180030110:	49 2b ff             	sub    %r15,%rdi
180030113:	44 8a 18             	mov    (%rax),%r11b
180030116:	44 3a 1c 38          	cmp    (%rax,%rdi,1),%r11b
18003011a:	75 0d                	jne    0x180030129
18003011c:	48 ff c0             	inc    %rax
18003011f:	45 84 db             	test   %r11b,%r11b
180030122:	75 ef                	jne    0x180030113
180030124:	41 8b c4             	mov    %r12d,%eax
180030127:	eb 05                	jmp    0x18003012e
180030129:	1b c0                	sbb    %eax,%eax
18003012b:	83 c8 01             	or     $0x1,%eax
18003012e:	85 c0                	test   %eax,%eax
180030130:	79 09                	jns    0x18003013b
180030132:	85 d2                	test   %edx,%edx
180030134:	74 46                	je     0x18003017c
180030136:	8d 4a ff             	lea    -0x1(%rdx),%ecx
180030139:	eb 06                	jmp    0x180030141
18003013b:	7e 09                	jle    0x180030146
18003013d:	44 8d 52 01          	lea    0x1(%rdx),%r10d
180030141:	41 3b ca             	cmp    %r10d,%ecx
180030144:	7d b6                	jge    0x1800300fc
180030146:	41 3b ca             	cmp    %r10d,%ecx
180030149:	7c 31                	jl     0x18003017c
18003014b:	42 0f b7 04 76       	movzwl (%rsi,%r14,2),%eax
180030150:	41 3b 41 14          	cmp    0x14(%r9),%eax
180030154:	73 26                	jae    0x18003017c
180030156:	41 8b 49 1c          	mov    0x1c(%r9),%ecx
18003015a:	42 0f b7 14 76       	movzwl (%rsi,%r14,2),%edx
18003015f:	48 03 cb             	add    %rbx,%rcx
180030162:	44 8b 04 91          	mov    (%rcx,%rdx,4),%r8d
180030166:	4c 03 c3             	add    %rbx,%r8
180030169:	4d 3b c1             	cmp    %r9,%r8
18003016c:	76 0e                	jbe    0x18003017c
18003016e:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
180030172:	49 03 c9             	add    %r9,%rcx
180030175:	4c 3b c1             	cmp    %rcx,%r8
180030178:	4d 0f 42 c4          	cmovb  %r12,%r8
18003017c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180030181:	49 8b c0             	mov    %r8,%rax
180030184:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180030189:	48 83 c4 20          	add    $0x20,%rsp
18003018d:	41 5f                	pop    %r15
18003018f:	41 5e                	pop    %r14
180030191:	41 5c                	pop    %r12
180030193:	5f                   	pop    %rdi
180030194:	5e                   	pop    %rsi
180030195:	c3                   	ret
180030196:	cc                   	int3
180030197:	cc                   	int3
180030198:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003019d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800301a2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800301a7:	57                   	push   %rdi
1800301a8:	41 54                	push   %r12
1800301aa:	41 55                	push   %r13
1800301ac:	41 56                	push   %r14
1800301ae:	41 57                	push   %r15
1800301b0:	48 83 ec 70          	sub    $0x70,%rsp
1800301b4:	4c 8b f9             	mov    %rcx,%r15
1800301b7:	4c 8b e2             	mov    %rdx,%r12
1800301ba:	b9 4e 00 00 00       	mov    $0x4e,%ecx
1800301bf:	66 89 4a 02          	mov    %cx,0x2(%rdx)
1800301c3:	e8 88 9c 06 00       	call   0x180099e50
1800301c8:	45 33 f6             	xor    %r14d,%r14d
1800301cb:	49 89 44 24 08       	mov    %rax,0x8(%r12)
1800301d0:	4c 8b e8             	mov    %rax,%r13
1800301d3:	48 85 c0             	test   %rax,%rax
1800301d6:	75 0b                	jne    0x1800301e3
1800301d8:	41 be 17 00 00 c0    	mov    $0xc0000017,%r14d
1800301de:	e9 83 00 00 00       	jmp    0x180030266
1800301e3:	41 0f b7 54 24 02    	movzwl 0x2(%r12),%edx
1800301e9:	b8 4c 00 00 00       	mov    $0x4c,%eax
1800301ee:	66 41 89 04 24       	mov    %ax,(%r12)
1800301f3:	41 0f b6 4f 0e       	movzbl 0xe(%r15),%ecx
1800301f8:	45 0f b6 47 0d       	movzbl 0xd(%r15),%r8d
1800301fd:	45 0f b6 4f 0c       	movzbl 0xc(%r15),%r9d
180030202:	41 0f b6 47 0f       	movzbl 0xf(%r15),%eax
180030207:	45 0f b6 57 0b       	movzbl 0xb(%r15),%r10d
18003020c:	45 0f b6 5f 0a       	movzbl 0xa(%r15),%r11d
180030211:	41 0f b6 5f 09       	movzbl 0x9(%r15),%ebx
180030216:	41 0f b6 7f 08       	movzbl 0x8(%r15),%edi
18003021b:	41 0f b7 77 06       	movzwl 0x6(%r15),%esi
180030220:	41 0f b7 6f 04       	movzwl 0x4(%r15),%ebp
180030225:	89 44 24 68          	mov    %eax,0x68(%rsp)
180030229:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
18003022d:	49 8b cd             	mov    %r13,%rcx
180030230:	44 89 44 24 58       	mov    %r8d,0x58(%rsp)
180030235:	4c 8d 05 b4 c5 11 00 	lea    0x11c5b4(%rip),%r8        # 0x18014c7f0
18003023c:	44 89 4c 24 50       	mov    %r9d,0x50(%rsp)
180030241:	45 8b 0f             	mov    (%r15),%r9d
180030244:	44 89 54 24 48       	mov    %r10d,0x48(%rsp)
180030249:	44 89 5c 24 40       	mov    %r11d,0x40(%rsp)
18003024e:	89 5c 24 38          	mov    %ebx,0x38(%rsp)
180030252:	89 7c 24 30          	mov    %edi,0x30(%rsp)
180030256:	89 74 24 28          	mov    %esi,0x28(%rsp)
18003025a:	48 d1 ea             	shr    $1,%rdx
18003025d:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
180030261:	e8 d6 d8 0f 00       	call   0x18012db3c
180030266:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
18003026b:	41 8b c6             	mov    %r14d,%eax
18003026e:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180030272:	49 8b 6b 38          	mov    0x38(%r11),%rbp
180030276:	49 8b 73 40          	mov    0x40(%r11),%rsi
18003027a:	49 8b e3             	mov    %r11,%rsp
18003027d:	41 5f                	pop    %r15
18003027f:	41 5e                	pop    %r14
180030281:	41 5d                	pop    %r13
180030283:	41 5c                	pop    %r12
180030285:	5f                   	pop    %rdi
180030286:	c3                   	ret
180030287:	cc                   	int3
180030288:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18003028d:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180030292:	53                   	push   %rbx
180030293:	55                   	push   %rbp
180030294:	56                   	push   %rsi
180030295:	57                   	push   %rdi
180030296:	41 54                	push   %r12
180030298:	41 56                	push   %r14
18003029a:	41 0f b7 00          	movzwl (%r8),%eax
18003029e:	4c 8d 74 24 50       	lea    0x50(%rsp),%r14
1800302a3:	33 ed                	xor    %ebp,%ebp
1800302a5:	4c 8b d9             	mov    %rcx,%r11
1800302a8:	44 8b d2             	mov    %edx,%r10d
1800302ab:	44 8b cd             	mov    %ebp,%r9d
1800302ae:	8b c8                	mov    %eax,%ecx
1800302b0:	85 c0                	test   %eax,%eax
1800302b2:	0f 84 11 01 00 00    	je     0x1800303c9
1800302b8:	49 83 c6 f8          	add    $0xfffffffffffffff8,%r14
1800302bc:	44 8d 65 25          	lea    0x25(%rbp),%r12d
1800302c0:	41 3b cc             	cmp    %r12d,%ecx
1800302c3:	0f 85 d7 00 00 00    	jne    0x1800303a0
1800302c9:	49 83 c0 02          	add    $0x2,%r8
1800302cd:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
1800302d2:	41 0f b7 00          	movzwl (%r8),%eax
1800302d6:	66 41 3b c4          	cmp    %r12w,%ax
1800302da:	0f 84 c0 00 00 00    	je     0x1800303a0
1800302e0:	8b f5                	mov    %ebp,%esi
1800302e2:	8b dd                	mov    %ebp,%ebx
1800302e4:	41 0f b7 10          	movzwl (%r8),%edx
1800302e8:	49 8b f8             	mov    %r8,%rdi
1800302eb:	8d 42 d0             	lea    -0x30(%rdx),%eax
1800302ee:	66 83 f8 09          	cmp    $0x9,%ax
1800302f2:	77 0b                	ja     0x1800302ff
1800302f4:	8d 1c 9b             	lea    (%rbx,%rbx,4),%ebx
1800302f7:	8d 5b e8             	lea    -0x18(%rbx),%ebx
1800302fa:	8d 1c 5a             	lea    (%rdx,%rbx,2),%ebx
1800302fd:	eb 17                	jmp    0x180030316
1800302ff:	83 fa 6c             	cmp    $0x6c,%edx
180030302:	75 04                	jne    0x180030308
180030304:	ff c6                	inc    %esi
180030306:	eb 0e                	jmp    0x180030316
180030308:	66 83 ea 58          	sub    $0x58,%dx
18003030c:	b8 df ff 00 00       	mov    $0xffdf,%eax
180030311:	66 85 d0             	test   %dx,%ax
180030314:	74 0b                	je     0x180030321
180030316:	4c 8d 47 02          	lea    0x2(%rdi),%r8
18003031a:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
18003031f:	eb c3                	jmp    0x1800302e4
180030321:	48 8d 47 02          	lea    0x2(%rdi),%rax
180030325:	8b cd                	mov    %ebp,%ecx
180030327:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
18003032c:	eb 52                	jmp    0x180030380
18003032e:	ff cb                	dec    %ebx
180030330:	45 85 d2             	test   %r10d,%r10d
180030333:	0f 84 ac 00 00 00    	je     0x1800303e5
180030339:	41 0f b7 03          	movzwl (%r11),%eax
18003033d:	66 83 e8 30          	sub    $0x30,%ax
180030341:	c1 e1 04             	shl    $0x4,%ecx
180030344:	66 83 f8 09          	cmp    $0x9,%ax
180030348:	77 05                	ja     0x18003034f
18003034a:	83 c1 d0             	add    $0xffffffd0,%ecx
18003034d:	eb 24                	jmp    0x180030373
18003034f:	41 0f b7 03          	movzwl (%r11),%eax
180030353:	66 83 e8 61          	sub    $0x61,%ax
180030357:	66 83 f8 05          	cmp    $0x5,%ax
18003035b:	77 05                	ja     0x180030362
18003035d:	83 c1 a9             	add    $0xffffffa9,%ecx
180030360:	eb 11                	jmp    0x180030373
180030362:	41 0f b7 03          	movzwl (%r11),%eax
180030366:	66 83 e8 41          	sub    $0x41,%ax
18003036a:	66 83 f8 05          	cmp    $0x5,%ax
18003036e:	77 75                	ja     0x1800303e5
180030370:	83 c1 c9             	add    $0xffffffc9,%ecx
180030373:	41 0f b7 03          	movzwl (%r11),%eax
180030377:	49 83 c3 02          	add    $0x2,%r11
18003037b:	03 c8                	add    %eax,%ecx
18003037d:	41 ff ca             	dec    %r10d
180030380:	85 db                	test   %ebx,%ebx
180030382:	75 aa                	jne    0x18003032e
180030384:	49 83 c6 08          	add    $0x8,%r14
180030388:	49 8b 06             	mov    (%r14),%rax
18003038b:	85 f6                	test   %esi,%esi
18003038d:	74 04                	je     0x180030393
18003038f:	89 08                	mov    %ecx,(%rax)
180030391:	eb 03                	jmp    0x180030396
180030393:	66 89 08             	mov    %cx,(%rax)
180030396:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
18003039b:	41 ff c1             	inc    %r9d
18003039e:	eb 1b                	jmp    0x1800303bb
1800303a0:	45 85 d2             	test   %r10d,%r10d
1800303a3:	74 40                	je     0x1800303e5
1800303a5:	66 41 39 03          	cmp    %ax,(%r11)
1800303a9:	75 3a                	jne    0x1800303e5
1800303ab:	49 83 c3 02          	add    $0x2,%r11
1800303af:	41 ff ca             	dec    %r10d
1800303b2:	49 83 c0 02          	add    $0x2,%r8
1800303b6:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
1800303bb:	41 0f b7 00          	movzwl (%r8),%eax
1800303bf:	8b c8                	mov    %eax,%ecx
1800303c1:	85 c0                	test   %eax,%eax
1800303c3:	0f 85 f7 fe ff ff    	jne    0x1800302c0
1800303c9:	45 85 d2             	test   %r10d,%r10d
1800303cc:	74 0a                	je     0x1800303d8
1800303ce:	66 41 39 2b          	cmp    %bp,(%r11)
1800303d2:	74 04                	je     0x1800303d8
1800303d4:	41 83 c9 ff          	or     $0xffffffff,%r9d
1800303d8:	41 8b c1             	mov    %r9d,%eax
1800303db:	41 5e                	pop    %r14
1800303dd:	41 5c                	pop    %r12
1800303df:	5f                   	pop    %rdi
1800303e0:	5e                   	pop    %rsi
1800303e1:	5d                   	pop    %rbp
1800303e2:	5b                   	pop    %rbx
1800303e3:	c3                   	ret
1800303e4:	cc                   	int3
1800303e5:	83 c8 ff             	or     $0xffffffff,%eax
1800303e8:	eb f1                	jmp    0x1800303db
1800303ea:	cc                   	int3
1800303eb:	cc                   	int3
1800303ec:	4c 8b dc             	mov    %rsp,%r11
1800303ef:	53                   	push   %rbx
1800303f0:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1800303f7:	48 8b 05 72 c5 13 00 	mov    0x13c572(%rip),%rax        # 0x18016c970
1800303fe:	48 33 c4             	xor    %rsp,%rax
180030401:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
180030408:	00
180030409:	4c 8d 42 04          	lea    0x4(%rdx),%r8