18002cf5d:	5f                   	pop    %rdi
18002cf5e:	e9 3d 03 00 00       	jmp    0x18002d2a0
18002cf63:	cc                   	int3
18002cf64:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002cf69:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18002cf6e:	57                   	push   %rdi
18002cf6f:	48 83 ec 20          	sub    $0x20,%rsp
18002cf73:	33 db                	xor    %ebx,%ebx
18002cf75:	48 8b f9             	mov    %rcx,%rdi
18002cf78:	48 85 c9             	test   %rcx,%rcx
18002cf7b:	74 55                	je     0x18002cfd2
18002cf7d:	e8 0e b2 ff ff       	call   0x180028190
18002cf82:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
18002cf86:	8b f0                	mov    %eax,%esi
18002cf88:	48 85 c9             	test   %rcx,%rcx
18002cf8b:	74 09                	je     0x18002cf96
18002cf8d:	e8 c2 02 00 00       	call   0x18002d254
18002cf92:	48 21 5f 18          	and    %rbx,0x18(%rdi)
18002cf96:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
18002cf9a:	48 85 c9             	test   %rcx,%rcx
18002cf9d:	74 0c                	je     0x18002cfab
18002cf9f:	e8 84 1d 08 00       	call   0x1800aed28
18002cfa4:	48 83 67 20 00       	andq   $0x0,0x20(%rdi)
18002cfa9:	8b d8                	mov    %eax,%ebx
18002cfab:	8b 57 74             	mov    0x74(%rdi),%edx
18002cfae:	48 8b 4f 78          	mov    0x78(%rdi),%rcx
18002cfb2:	e8 51 f5 ff ff       	call   0x18002c508
18002cfb7:	48 83 67 78 00       	andq   $0x0,0x78(%rdi)
18002cfbc:	83 67 74 00          	andl   $0x0,0x74(%rdi)
18002cfc0:	85 db                	test   %ebx,%ebx
18002cfc2:	78 0e                	js     0x18002cfd2
18002cfc4:	85 c0                	test   %eax,%eax
18002cfc6:	0f 48 d8             	cmovs  %eax,%ebx
18002cfc9:	85 db                	test   %ebx,%ebx
18002cfcb:	78 05                	js     0x18002cfd2
18002cfcd:	85 f6                	test   %esi,%esi
18002cfcf:	0f 48 de             	cmovs  %esi,%ebx
18002cfd2:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18002cfd7:	8b c3                	mov    %ebx,%eax
18002cfd9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002cfde:	48 83 c4 20          	add    $0x20,%rsp
18002cfe2:	5f                   	pop    %rdi
18002cfe3:	c3                   	ret
18002cfe4:	cc                   	int3
18002cfe5:	cc                   	int3
18002cfe6:	cc                   	int3
18002cfe7:	cc                   	int3
18002cfe8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002cfed:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18002cff2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18002cff7:	57                   	push   %rdi
18002cff8:	48 83 ec 20          	sub    $0x20,%rsp
18002cffc:	33 db                	xor    %ebx,%ebx
18002cffe:	41 8a f0             	mov    %r8b,%sil
18002d001:	8b ea                	mov    %edx,%ebp
18002d003:	48 8b f9             	mov    %rcx,%rdi
18002d006:	48 39 59 20          	cmp    %rbx,0x20(%rcx)
18002d00a:	74 28                	je     0x18002d034
18002d00c:	48 8b 11             	mov    (%rcx),%rdx
18002d00f:	48 8b 0d 0a 7f 17 00 	mov    0x177f0a(%rip),%rcx        # 0x1801a4f20
18002d016:	48 83 c2 40          	add    $0x40,%rdx
18002d01a:	e8 e5 16 08 00       	call   0x1800ae704
18002d01f:	b2 01                	mov    $0x1,%dl
18002d021:	48 8b cf             	mov    %rdi,%rcx
18002d024:	8b d8                	mov    %eax,%ebx
18002d026:	e8 39 ff ff ff       	call   0x18002cf64
18002d02b:	85 db                	test   %ebx,%ebx
18002d02d:	78 05                	js     0x18002d034
18002d02f:	85 c0                	test   %eax,%eax
18002d031:	0f 48 d8             	cmovs  %eax,%ebx
18002d034:	83 4f 70 02          	orl    $0x2,0x70(%rdi)
18002d038:	85 db                	test   %ebx,%ebx
18002d03a:	78 19                	js     0x18002d055
18002d03c:	40 84 f6             	test   %sil,%sil
18002d03f:	74 14                	je     0x18002d055
18002d041:	45 33 c0             	xor    %r8d,%r8d
18002d044:	44 8b cd             	mov    %ebp,%r9d
18002d047:	48 8b cf             	mov    %rdi,%rcx
18002d04a:	41 8d 50 0a          	lea    0xa(%r8),%edx
18002d04e:	e8 61 d6 ff ff       	call   0x18002a6b4
18002d053:	8b d8                	mov    %eax,%ebx
18002d055:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18002d05a:	8b c3                	mov    %ebx,%eax
18002d05c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002d061:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18002d066:	48 83 c4 20          	add    $0x20,%rsp
18002d06a:	5f                   	pop    %rdi
18002d06b:	c3                   	ret
18002d06c:	cc                   	int3
18002d06d:	cc                   	int3
18002d06e:	cc                   	int3
18002d06f:	cc                   	int3
18002d070:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18002d075:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18002d07a:	55                   	push   %rbp
18002d07b:	53                   	push   %rbx
18002d07c:	56                   	push   %rsi
18002d07d:	57                   	push   %rdi
18002d07e:	41 54                	push   %r12
18002d080:	41 55                	push   %r13
18002d082:	41 56                	push   %r14
18002d084:	41 57                	push   %r15
18002d086:	48 8b ec             	mov    %rsp,%rbp
18002d089:	48 83 ec 68          	sub    $0x68,%rsp
18002d08d:	49 8b c0             	mov    %r8,%rax
18002d090:	45 33 c0             	xor    %r8d,%r8d
18002d093:	44 88 45 48          	mov    %r8b,0x48(%rbp)
18002d097:	45 8a e0             	mov    %r8b,%r12b
18002d09a:	44 88 45 60          	mov    %r8b,0x60(%rbp)
18002d09e:	45 8b e8             	mov    %r8d,%r13d
18002d0a1:	4c 89 45 d0          	mov    %r8,-0x30(%rbp)
18002d0a5:	41 8b f8             	mov    %r8d,%edi
18002d0a8:	44 89 00             	mov    %r8d,(%rax)
18002d0ab:	45 8b f0             	mov    %r8d,%r14d
18002d0ae:	4c 89 45 e8          	mov    %r8,-0x18(%rbp)
18002d0b2:	41 8b f0             	mov    %r8d,%esi
18002d0b5:	4c 89 45 d8          	mov    %r8,-0x28(%rbp)
18002d0b9:	41 8b d8             	mov    %r8d,%ebx
18002d0bc:	44 89 02             	mov    %r8d,(%rdx)
18002d0bf:	48 85 c9             	test   %rcx,%rcx
18002d0c2:	0f 84 76 01 00 00    	je     0x18002d23e
18002d0c8:	48 8b 01             	mov    (%rcx),%rax
18002d0cb:	48 85 c0             	test   %rax,%rax
18002d0ce:	0f 84 6a 01 00 00    	je     0x18002d23e
18002d0d4:	48 83 c0 40          	add    $0x40,%rax
18002d0d8:	44 89 45 c8          	mov    %r8d,-0x38(%rbp)
18002d0dc:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
18002d0e0:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
18002d0e4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
18002d0e9:	45 8d 78 01          	lea    0x1(%r8),%r15d
18002d0ed:	48 8b c8             	mov    %rax,%rcx
18002d0f0:	45 33 c9             	xor    %r9d,%r9d
18002d0f3:	41 b8 08 00 00 00    	mov    $0x8,%r8d
18002d0f9:	41 8d 50 fa          	lea    -0x6(%r8),%edx
18002d0fd:	e8 8e 47 08 00       	call   0x1800b1890
18002d102:	8b d8                	mov    %eax,%ebx
18002d104:	85 c0                	test   %eax,%eax
18002d106:	0f 88 b2 00 00 00    	js     0x18002d1be
18002d10c:	8b 55 c8             	mov    -0x38(%rbp),%edx
18002d10f:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
18002d113:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
18002d117:	e8 54 48 08 00       	call   0x1800b1970
18002d11c:	48 8b 75 d8          	mov    -0x28(%rbp),%rsi
18002d120:	8b d8                	mov    %eax,%ebx
18002d122:	85 c0                	test   %eax,%eax
18002d124:	0f 88 fa 00 00 00    	js     0x18002d224
18002d12a:	b8 ff 00 00 00       	mov    $0xff,%eax
18002d12f:	66 39 46 22          	cmp    %ax,0x22(%rsi)
18002d133:	77 06                	ja     0x18002d13b
18002d135:	41 83 cf 02          	or     $0x2,%r15d
18002d139:	eb 4c                	jmp    0x18002d187
18002d13b:	b8 00 01 00 00       	mov    $0x100,%eax
18002d140:	66 85 46 22          	test   %ax,0x22(%rsi)
18002d144:	74 41                	je     0x18002d187
18002d146:	45 84 e4             	test   %r12b,%r12b
18002d149:	75 1a                	jne    0x18002d165
18002d14b:	48 8d 55 48          	lea    0x48(%rbp),%rdx
18002d14f:	48 8b ce             	mov    %rsi,%rcx
18002d152:	e8 c1 f7 ff ff       	call   0x18002c918
18002d157:	8b d8                	mov    %eax,%ebx
18002d159:	85 c0                	test   %eax,%eax
18002d15b:	0f 88 c3 00 00 00    	js     0x18002d224
18002d161:	44 8a 65 48          	mov    0x48(%rbp),%r12b
18002d165:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
18002d169:	48 8b ce             	mov    %rsi,%rcx
18002d16c:	e8 43 3a 08 00       	call   0x1800b0bb4
18002d171:	48 8b 7d d0          	mov    -0x30(%rbp),%rdi
18002d175:	8b d8                	mov    %eax,%ebx
18002d177:	85 c0                	test   %eax,%eax
18002d179:	0f 88 a5 00 00 00    	js     0x18002d224
18002d17f:	41 83 cf 04          	or     $0x4,%r15d
18002d183:	44 0b 6f 08          	or     0x8(%rdi),%r13d
18002d187:	48 85 ff             	test   %rdi,%rdi
18002d18a:	74 0e                	je     0x18002d19a
18002d18c:	48 8b cf             	mov    %rdi,%rcx
18002d18f:	e8 94 1b 08 00       	call   0x1800aed28
18002d194:	33 ff                	xor    %edi,%edi
18002d196:	48 89 7d d0          	mov    %rdi,-0x30(%rbp)
18002d19a:	48 8b ce             	mov    %rsi,%rcx
18002d19d:	e8 86 1b 08 00       	call   0x1800aed28
18002d1a2:	44 8b 4d c8          	mov    -0x38(%rbp),%r9d
18002d1a6:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
18002d1aa:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
18002d1ae:	33 f6                	xor    %esi,%esi
18002d1b0:	48 89 75 d8          	mov    %rsi,-0x28(%rbp)
18002d1b4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18002d1b9:	e9 35 ff ff ff       	jmp    0x18002d0f3
18002d1be:	81 fb 25 02 00 c0    	cmp    $0xc0000225,%ebx
18002d1c4:	75 5e                	jne    0x18002d224
18002d1c6:	45 84 e4             	test   %r12b,%r12b
18002d1c9:	74 3c                	je     0x18002d207
18002d1cb:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
18002d1cf:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
18002d1d3:	ba 04 00 00 00       	mov    $0x4,%edx
18002d1d8:	44 8d 42 03          	lea    0x3(%rdx),%r8d
18002d1dc:	e8 f7 45 08 00       	call   0x1800b17d8
18002d1e1:	4c 8b 75 e8          	mov    -0x18(%rbp),%r14
18002d1e5:	8b d8                	mov    %eax,%ebx
18002d1e7:	85 c0                	test   %eax,%eax
18002d1e9:	78 2c                	js     0x18002d217
18002d1eb:	48 8d 55 60          	lea    0x60(%rbp),%rdx
18002d1ef:	49 8b ce             	mov    %r14,%rcx
18002d1f2:	e8 7d 22 08 00       	call   0x1800af474
18002d1f7:	8b d8                	mov    %eax,%ebx
18002d1f9:	85 c0                	test   %eax,%eax
18002d1fb:	78 1a                	js     0x18002d217
18002d1fd:	80 7d 60 00          	cmpb   $0x0,0x60(%rbp)
18002d201:	74 04                	je     0x18002d207
18002d203:	41 83 cf 08          	or     $0x8,%r15d
18002d207:	48 8b 45 50          	mov    0x50(%rbp),%rax
18002d20b:	33 db                	xor    %ebx,%ebx
18002d20d:	44 89 38             	mov    %r15d,(%rax)
18002d210:	48 8b 45 58          	mov    0x58(%rbp),%rax
18002d214:	44 89 28             	mov    %r13d,(%rax)
18002d217:	4d 85 f6             	test   %r14,%r14
18002d21a:	74 08                	je     0x18002d224
18002d21c:	49 8b ce             	mov    %r14,%rcx
18002d21f:	e8 04 1b 08 00       	call   0x1800aed28
18002d224:	48 85 ff             	test   %rdi,%rdi
18002d227:	74 08                	je     0x18002d231
18002d229:	48 8b cf             	mov    %rdi,%rcx
18002d22c:	e8 f7 1a 08 00       	call   0x1800aed28
18002d231:	48 85 f6             	test   %rsi,%rsi
18002d234:	74 08                	je     0x18002d23e
18002d236:	48 8b ce             	mov    %rsi,%rcx
18002d239:	e8 ea 1a 08 00       	call   0x1800aed28
18002d23e:	8b c3                	mov    %ebx,%eax
18002d240:	48 83 c4 68          	add    $0x68,%rsp
18002d244:	41 5f                	pop    %r15
18002d246:	41 5e                	pop    %r14
18002d248:	41 5d                	pop    %r13
18002d24a:	41 5c                	pop    %r12
18002d24c:	5f                   	pop    %rdi
18002d24d:	5e                   	pop    %rsi
18002d24e:	5b                   	pop    %rbx
18002d24f:	5d                   	pop    %rbp
18002d250:	c3                   	ret
18002d251:	cc                   	int3
18002d252:	cc                   	int3
18002d253:	cc                   	int3
18002d254:	48 85 c9             	test   %rcx,%rcx
18002d257:	74 43                	je     0x18002d29c
18002d259:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002d25e:	57                   	push   %rdi
18002d25f:	48 83 ec 20          	sub    $0x20,%rsp
18002d263:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
18002d268:	48 8b d9             	mov    %rcx,%rbx
18002d26b:	48 83 21 00          	andq   $0x0,(%rcx)
18002d26f:	e8 d0 7b 08 00       	call   0x1800b4e44
18002d274:	48 8b 7b 10          	mov    0x10(%rbx),%rdi
18002d278:	48 85 ff             	test   %rdi,%rdi
18002d27b:	74 0d                	je     0x18002d28a
18002d27d:	83 7b 18 00          	cmpl   $0x0,0x18(%rbx)
18002d281:	76 07                	jbe    0x18002d28a
18002d283:	8b 4b 18             	mov    0x18(%rbx),%ecx
18002d286:	33 c0                	xor    %eax,%eax
18002d288:	f3 aa                	rep stos %al,%es:(%rdi)
18002d28a:	48 8b cb             	mov    %rbx,%rcx
18002d28d:	e8 6a cd 06 00       	call   0x180099ffc
18002d292:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002d297:	48 83 c4 20          	add    $0x20,%rsp
18002d29b:	5f                   	pop    %rdi
18002d29c:	c3                   	ret
18002d29d:	cc                   	int3
18002d29e:	cc                   	int3
18002d29f:	cc                   	int3
18002d2a0:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
18002d2a5:	48 83 25 53 7c 17 00 	andq   $0x0,0x177c53(%rip)        # 0x1801a4f00
18002d2ac:	00
18002d2ad:	48 83 25 43 7c 17 00 	andq   $0x0,0x177c43(%rip)        # 0x1801a4ef8
18002d2b4:	00
18002d2b5:	48 8b 3d 2c 7c 17 00 	mov    0x177c2c(%rip),%rdi        # 0x1801a4ee8
18002d2bc:	48 85 ff             	test   %rdi,%rdi
18002d2bf:	74 0a                	je     0x18002d2cb
18002d2c1:	8b 0d 29 7c 17 00    	mov    0x177c29(%rip),%ecx        # 0x1801a4ef0
18002d2c7:	33 c0                	xor    %eax,%eax
18002d2c9:	f3 aa                	rep stos %al,%es:(%rdi)
18002d2cb:	f7 05 0b 7c 17 00 00 	testl  $0x8000,0x177c0b(%rip)        # 0x1801a4ee0
18002d2d2:	80 00 00
18002d2d5:	74 19                	je     0x18002d2f0
18002d2d7:	8b 0d 33 7c 17 00    	mov    0x177c33(%rip),%ecx        # 0x1801a4f10
18002d2dd:	33 c0                	xor    %eax,%eax
18002d2df:	48 8b 3d 22 7c 17 00 	mov    0x177c22(%rip),%rdi        # 0x1801a4f08
18002d2e6:	f3 aa                	rep stos %al,%es:(%rdi)
18002d2e8:	0f ba 35 f0 7b 17 00 	btrl   $0xf,0x177bf0(%rip)        # 0x1801a4ee0
18002d2ef:	0f
18002d2f0:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
18002d2f5:	c3                   	ret
18002d2f6:	cc                   	int3
18002d2f7:	cc                   	int3
18002d2f8:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18002d2fd:	55                   	push   %rbp
18002d2fe:	53                   	push   %rbx
18002d2ff:	56                   	push   %rsi
18002d300:	57                   	push   %rdi
18002d301:	41 54                	push   %r12
18002d303:	41 55                	push   %r13
18002d305:	41 56                	push   %r14
18002d307:	41 57                	push   %r15
18002d309:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
18002d30e:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
18002d315:	48 8b 01             	mov    (%rcx),%rax
18002d318:	45 33 c9             	xor    %r9d,%r9d
18002d31b:	41 8b d9             	mov    %r9d,%ebx
18002d31e:	4c 89 4d ff          	mov    %r9,-0x1(%rbp)
18002d322:	4c 8b f1             	mov    %rcx,%r14
18002d325:	4c 89 4d 07          	mov    %r9,0x7(%rbp)
18002d329:	45 8b e1             	mov    %r9d,%r12d
18002d32c:	44 89 4d 7f          	mov    %r9d,0x7f(%rbp)
18002d330:	48 8b 70 10          	mov    0x10(%rax),%rsi
18002d334:	44 8b 68 18          	mov    0x18(%rax),%r13d
18002d338:	4c 89 4d df          	mov    %r9,-0x21(%rbp)
18002d33c:	48 89 5d e7          	mov    %rbx,-0x19(%rbp)
18002d340:	66 44 89 4d 77       	mov    %r9w,0x77(%rbp)
18002d345:	4a 8d 14 2e          	lea    (%rsi,%r13,1),%rdx
18002d349:	4c 89 4d d7          	mov    %r9,-0x29(%rbp)
18002d34d:	48 3b d6             	cmp    %rsi,%rdx
18002d350:	0f 82 54 03 00 00    	jb     0x18002d6aa
18002d356:	8b 81 c8 00 00 00    	mov    0xc8(%rcx),%eax
18002d35c:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18002d360:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
18002d365:	48 03 c9             	add    %rcx,%rcx
18002d368:	48 3b c8             	cmp    %rax,%rcx
18002d36b:	0f 87 39 03 00 00    	ja     0x18002d6aa
18002d371:	49 3b 56 38          	cmp    0x38(%r14),%rdx
18002d375:	0f 87 2f 03 00 00    	ja     0x18002d6aa
18002d37b:	8b c1                	mov    %ecx,%eax
18002d37d:	4c 3b e8             	cmp    %rax,%r13
18002d380:	0f 82 24 03 00 00    	jb     0x18002d6aa
18002d386:	44 89 4c 24 30       	mov    %r9d,0x30(%rsp)
18002d38b:	41 8d 85 ff 0f 00 00 	lea    0xfff(%r13),%eax
18002d392:	25 00 f0 ff ff       	and    $0xfffff000,%eax
18002d397:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
18002d39c:	8b d0                	mov    %eax,%edx
18002d39e:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
18002d3a2:	48 c1 ea 0c          	shr    $0xc,%rdx
18002d3a6:	41 b8 04 00 00 d0    	mov    $0xd0000004,%r8d
18002d3ac:	44 8b f8             	mov    %eax,%r15d
18002d3af:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18002d3b4:	e8 3b a4 06 00       	call   0x1800977f4
18002d3b9:	8b f8                	mov    %eax,%edi
18002d3bb:	85 c0                	test   %eax,%eax
18002d3bd:	0f 88 ec 02 00 00    	js     0x18002d6af
18002d3c3:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
18002d3c7:	45 8b c7             	mov    %r15d,%r8d
18002d3ca:	33 d2                	xor    %edx,%edx
18002d3cc:	e8 af 88 10 00       	call   0x180135c80
18002d3d1:	45 8b be c8 00 00 00 	mov    0xc8(%r14),%r15d
18002d3d8:	45 85 ed             	test   %r13d,%r13d
18002d3db:	74 38                	je     0x18002d415