18001cf4a:	8b cf                	mov    %edi,%ecx
18001cf4c:	e8 af b5 04 00       	call   0x180068500
18001cf51:	48 83 7d b8 00       	cmpq   $0x0,-0x48(%rbp)
18001cf56:	74 17                	je     0x18001cf6f
18001cf58:	41 83 fe ff          	cmp    $0xffffffff,%r14d
18001cf5c:	74 08                	je     0x18001cf66
18001cf5e:	41 8b ce             	mov    %r14d,%ecx
18001cf61:	e8 52 9a 00 00       	call   0x1800269b8
18001cf66:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
18001cf6a:	e8 8d d0 07 00       	call   0x180099ffc
18001cf6f:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
18001cf76:	00
18001cf77:	8b c3                	mov    %ebx,%eax
18001cf79:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18001cf7d:	49 8b 73 48          	mov    0x48(%r11),%rsi
18001cf81:	49 8b e3             	mov    %r11,%rsp
18001cf84:	41 5e                	pop    %r14
18001cf86:	41 5d                	pop    %r13
18001cf88:	41 5c                	pop    %r12
18001cf8a:	5f                   	pop    %rdi
18001cf8b:	5d                   	pop    %rbp
18001cf8c:	c3                   	ret
18001cf8d:	cc                   	int3
18001cf8e:	cc                   	int3
18001cf8f:	cc                   	int3
18001cf90:	4c 8b dc             	mov    %rsp,%r11
18001cf93:	49 89 5b 08          	mov    %rbx,0x8(%r11)
18001cf97:	49 89 73 10          	mov    %rsi,0x10(%r11)
18001cf9b:	57                   	push   %rdi
18001cf9c:	48 83 ec 50          	sub    $0x50,%rsp
18001cfa0:	49 83 63 e0 00       	andq   $0x0,-0x20(%r11)
18001cfa5:	49 8d 43 d8          	lea    -0x28(%r11),%rax
18001cfa9:	49 89 43 d0          	mov    %rax,-0x30(%r11)
18001cfad:	49 8b f9             	mov    %r9,%rdi
18001cfb0:	49 8d 43 e0          	lea    -0x20(%r11),%rax
18001cfb4:	49 8b f0             	mov    %r8,%rsi
18001cfb7:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
18001cfbb:	49 89 43 c8          	mov    %rax,-0x38(%r11)
18001cfbf:	e8 e0 fd ff ff       	call   0x18001cda4
18001cfc4:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
18001cfc9:	8b d8                	mov    %eax,%ebx
18001cfcb:	85 c0                	test   %eax,%eax
18001cfcd:	78 72                	js     0x18001d041
18001cfcf:	48 b8 36 33 2d 29 24 	movabs $0x2c262b24292d3336,%rax
18001cfd6:	2b 26 2c
18001cfd9:	48 39 44 24 40       	cmp    %rax,0x40(%rsp)
18001cfde:	75 5c                	jne    0x18001d03c
18001cfe0:	81 7c 24 48 00 00 02 	cmpl   $0x20000,0x48(%rsp)
18001cfe7:	00
18001cfe8:	75 52                	jne    0x18001d03c
18001cfea:	8b 4c 24 4c          	mov    0x4c(%rsp),%ecx
18001cfee:	83 c1 ee             	add    $0xffffffee,%ecx
18001cff1:	81 f9 de 1f 00 00    	cmp    $0x1fde,%ecx
18001cff7:	77 43                	ja     0x18001d03c
18001cff9:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
18001cffe:	41 83 f8 09          	cmp    $0x9,%r8d
18001d002:	72 38                	jb     0x18001d03c
18001d004:	b8 00 10 00 00       	mov    $0x1000,%eax
18001d009:	66 39 02             	cmp    %ax,(%rdx)
18001d00c:	77 2e                	ja     0x18001d03c
18001d00e:	66 83 7a 02 0c       	cmpw   $0xc,0x2(%rdx)
18001d013:	75 27                	jne    0x18001d03c
18001d015:	66 83 7a 04 10       	cmpw   $0x10,0x4(%rdx)
18001d01a:	75 20                	jne    0x18001d03c
18001d01c:	66 83 7a 06 52       	cmpw   $0x52,0x6(%rdx)
18001d021:	72 19                	jb     0x18001d03c
18001d023:	0f b7 4a 06          	movzwl 0x6(%rdx),%ecx
18001d027:	0f b7 02             	movzwl (%rdx),%eax
18001d02a:	83 c1 24             	add    $0x24,%ecx
18001d02d:	03 c8                	add    %eax,%ecx
18001d02f:	44 3b c1             	cmp    %ecx,%r8d
18001d032:	75 08                	jne    0x18001d03c
18001d034:	48 89 16             	mov    %rdx,(%rsi)
18001d037:	44 89 07             	mov    %r8d,(%rdi)
18001d03a:	eb 12                	jmp    0x18001d04e
18001d03c:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
18001d041:	48 85 d2             	test   %rdx,%rdx
18001d044:	74 08                	je     0x18001d04e
18001d046:	48 8b ca             	mov    %rdx,%rcx
18001d049:	e8 ae cf 07 00       	call   0x180099ffc
18001d04e:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
18001d053:	8b c3                	mov    %ebx,%eax
18001d055:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18001d05a:	48 83 c4 50          	add    $0x50,%rsp
18001d05e:	5f                   	pop    %rdi
18001d05f:	c3                   	ret
18001d060:	cc                   	int3
18001d061:	cc                   	int3
18001d062:	cc                   	int3
18001d063:	cc                   	int3
18001d064:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18001d069:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18001d06e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18001d073:	57                   	push   %rdi
18001d074:	41 56                	push   %r14
18001d076:	41 57                	push   %r15
18001d078:	48 83 ec 20          	sub    $0x20,%rsp
18001d07c:	33 ff                	xor    %edi,%edi
18001d07e:	4d 8b f8             	mov    %r8,%r15
18001d081:	48 83 ce ff          	or     $0xffffffffffffffff,%rsi
18001d085:	48 8b e9             	mov    %rcx,%rbp
18001d088:	48 ff c6             	inc    %rsi
18001d08b:	66 39 3c 71          	cmp    %di,(%rcx,%rsi,2)
18001d08f:	75 f7                	jne    0x18001d088
18001d091:	4c 8d 76 18          	lea    0x18(%rsi),%r14
18001d095:	4b 8d 0c 36          	lea    (%r14,%r14,1),%rcx
18001d099:	e8 b2 cd 07 00       	call   0x180099e50
18001d09e:	48 8b d8             	mov    %rax,%rbx
18001d0a1:	48 85 c0             	test   %rax,%rax
18001d0a4:	75 07                	jne    0x18001d0ad
18001d0a6:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
18001d0ab:	eb 3d                	jmp    0x18001d0ea
18001d0ad:	4c 8b c5             	mov    %rbp,%r8
18001d0b0:	49 8b d6             	mov    %r14,%rdx
18001d0b3:	48 8b cb             	mov    %rbx,%rcx
18001d0b6:	e8 91 0b 11 00       	call   0x18012dc4c
18001d0bb:	66 83 7c 73 fe 5c    	cmpw   $0x5c,-0x2(%rbx,%rsi,2)
18001d0c1:	74 12                	je     0x18001d0d5
18001d0c3:	4c 8d 05 c2 58 12 00 	lea    0x1258c2(%rip),%r8        # 0x18014298c
18001d0ca:	49 8b d6             	mov    %r14,%rdx
18001d0cd:	48 8b cb             	mov    %rbx,%rcx
18001d0d0:	e8 db 0a 11 00       	call   0x18012dbb0
18001d0d5:	4c 8d 05 c4 b8 12 00 	lea    0x12b8c4(%rip),%r8        # 0x1801489a0
18001d0dc:	49 8b d6             	mov    %r14,%rdx
18001d0df:	48 8b cb             	mov    %rbx,%rcx
18001d0e2:	e8 c9 0a 11 00       	call   0x18012dbb0
18001d0e7:	49 89 1f             	mov    %rbx,(%r15)
18001d0ea:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18001d0ef:	8b c7                	mov    %edi,%eax
18001d0f1:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18001d0f6:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18001d0fb:	48 83 c4 20          	add    $0x20,%rsp
18001d0ff:	41 5f                	pop    %r15
18001d101:	41 5e                	pop    %r14
18001d103:	5f                   	pop    %rdi
18001d104:	c3                   	ret
18001d105:	cc                   	int3
18001d106:	cc                   	int3
18001d107:	cc                   	int3
18001d108:	44 8b d2             	mov    %edx,%r10d
18001d10b:	83 fa 29             	cmp    $0x29,%edx
18001d10e:	72 56                	jb     0x18001d166
18001d110:	44 8b 01             	mov    (%rcx),%r8d
18001d113:	41 83 f8 29          	cmp    $0x29,%r8d
18001d117:	76 4d                	jbe    0x18001d166
18001d119:	b8 01 00 00 00       	mov    $0x1,%eax
18001d11e:	39 41 04             	cmp    %eax,0x4(%rcx)
18001d121:	75 43                	jne    0x18001d166
18001d123:	81 79 14 00 08 00 00 	cmpl   $0x800,0x14(%rcx)
18001d12a:	75 3a                	jne    0x18001d166
18001d12c:	44 8b 49 18          	mov    0x18(%rcx),%r9d
18001d130:	41 83 f9 08          	cmp    $0x8,%r9d
18001d134:	77 30                	ja     0x18001d166
18001d136:	8b 51 1c             	mov    0x1c(%rcx),%edx
18001d139:	81 fa 08 01 00 00    	cmp    $0x108,%edx
18001d13f:	77 25                	ja     0x18001d166
18001d141:	44 8b 59 20          	mov    0x20(%rcx),%r11d
18001d145:	44 3b da             	cmp    %edx,%r11d
18001d148:	77 1c                	ja     0x18001d166
18001d14a:	8b 49 24             	mov    0x24(%rcx),%ecx
18001d14d:	3b ca                	cmp    %edx,%ecx
18001d14f:	77 15                	ja     0x18001d166
18001d151:	41 03 cb             	add    %r11d,%ecx
18001d154:	03 ca                	add    %edx,%ecx
18001d156:	41 8d 51 28          	lea    0x28(%r9),%edx
18001d15a:	03 d1                	add    %ecx,%edx
18001d15c:	44 3b d2             	cmp    %edx,%r10d
18001d15f:	72 05                	jb     0x18001d166
18001d161:	44 3b c2             	cmp    %edx,%r8d
18001d164:	73 02                	jae    0x18001d168
18001d166:	33 c0                	xor    %eax,%eax
18001d168:	c3                   	ret
18001d169:	cc                   	int3
18001d16a:	cc                   	int3
18001d16b:	cc                   	int3
18001d16c:	48 8b c4             	mov    %rsp,%rax
18001d16f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18001d173:	48 89 68 10          	mov    %rbp,0x10(%rax)
18001d177:	48 89 70 18          	mov    %rsi,0x18(%rax)
18001d17b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18001d17f:	41 56                	push   %r14
18001d181:	48 83 ec 20          	sub    $0x20,%rsp
18001d185:	33 db                	xor    %ebx,%ebx
18001d187:	33 ff                	xor    %edi,%edi
18001d189:	83 7a 04 01          	cmpl   $0x1,0x4(%rdx)
18001d18d:	48 8b f2             	mov    %rdx,%rsi
18001d190:	8b e9                	mov    %ecx,%ebp
18001d192:	74 0a                	je     0x18001d19e
18001d194:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18001d199:	e9 a9 00 00 00       	jmp    0x18001d247
18001d19e:	81 fd 20 00 05 00    	cmp    $0x50020,%ebp
18001d1a4:	74 08                	je     0x18001d1ae
18001d1a6:	81 fd 23 00 05 00    	cmp    $0x50023,%ebp
18001d1ac:	75 e6                	jne    0x18001d194
18001d1ae:	81 7a 14 00 08 00 00 	cmpl   $0x800,0x14(%rdx)
18001d1b5:	75 7e                	jne    0x18001d235
18001d1b7:	8b 42 18             	mov    0x18(%rdx),%eax
18001d1ba:	83 f8 08             	cmp    $0x8,%eax
18001d1bd:	77 76                	ja     0x18001d235
18001d1bf:	8b 4a 1c             	mov    0x1c(%rdx),%ecx
18001d1c2:	81 f9 08 01 00 00    	cmp    $0x108,%ecx
18001d1c8:	77 6b                	ja     0x18001d235
18001d1ca:	44 8d 70 10          	lea    0x10(%rax),%r14d
18001d1ce:	44 03 f1             	add    %ecx,%r14d
18001d1d1:	41 8b ce             	mov    %r14d,%ecx
18001d1d4:	e8 77 cc 07 00       	call   0x180099e50
18001d1d9:	48 8b f8             	mov    %rax,%rdi
18001d1dc:	48 85 c0             	test   %rax,%rax
18001d1df:	75 07                	jne    0x18001d1e8
18001d1e1:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18001d1e6:	eb 5f                	jmp    0x18001d247
18001d1e8:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
18001d1ee:	48 8d 56 28          	lea    0x28(%rsi),%rdx
18001d1f2:	8b 46 14             	mov    0x14(%rsi),%eax
18001d1f5:	89 47 04             	mov    %eax,0x4(%rdi)
18001d1f8:	8b 4e 18             	mov    0x18(%rsi),%ecx
18001d1fb:	89 4f 08             	mov    %ecx,0x8(%rdi)
18001d1fe:	8b 46 1c             	mov    0x1c(%rsi),%eax
18001d201:	89 47 0c             	mov    %eax,0xc(%rdi)
18001d204:	44 8d 04 01          	lea    (%rcx,%rax,1),%r8d
18001d208:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
18001d20c:	e8 af 87 11 00       	call   0x1801359c0
18001d211:	4c 8d 0d 50 83 17 00 	lea    0x178350(%rip),%r9        # 0x180195568
18001d218:	4c 8b c7             	mov    %rdi,%r8
18001d21b:	41 8b d6             	mov    %r14d,%edx
18001d21e:	8b cd                	mov    %ebp,%ecx
18001d220:	e8 c7 e8 0c 00       	call   0x1800ebaec
18001d225:	85 c0                	test   %eax,%eax
18001d227:	79 11                	jns    0x18001d23a
18001d229:	8b d8                	mov    %eax,%ebx
18001d22b:	0f ba f3 1c          	btr    $0x1c,%ebx
18001d22f:	0f ba eb 1e          	bts    $0x1e,%ebx
18001d233:	eb 05                	jmp    0x18001d23a
18001d235:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18001d23a:	48 85 ff             	test   %rdi,%rdi
18001d23d:	74 08                	je     0x18001d247
18001d23f:	48 8b cf             	mov    %rdi,%rcx
18001d242:	e8 b5 cd 07 00       	call   0x180099ffc
18001d247:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18001d24c:	8b c3                	mov    %ebx,%eax
18001d24e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18001d253:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18001d258:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18001d25d:	48 83 c4 20          	add    $0x20,%rsp
18001d261:	41 5e                	pop    %r14
18001d263:	c3                   	ret
18001d264:	cc                   	int3
18001d265:	cc                   	int3
18001d266:	cc                   	int3
18001d267:	cc                   	int3
18001d268:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18001d26d:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18001d272:	55                   	push   %rbp
18001d273:	56                   	push   %rsi
18001d274:	57                   	push   %rdi
18001d275:	48 8b ec             	mov    %rsp,%rbp
18001d278:	48 83 ec 60          	sub    $0x60,%rsp
18001d27c:	48 8b 3d 75 7f 17 00 	mov    0x177f75(%rip),%rdi        # 0x1801951f8
18001d283:	8b da                	mov    %edx,%ebx
18001d285:	48 8b f1             	mov    %rcx,%rsi
18001d288:	48 83 7f 28 00       	cmpq   $0x0,0x28(%rdi)
18001d28d:	75 29                	jne    0x18001d2b8
18001d28f:	b9 20 00 00 00       	mov    $0x20,%ecx
18001d294:	e8 b7 cb 07 00       	call   0x180099e50
18001d299:	48 85 c0             	test   %rax,%rax
18001d29c:	0f 84 a8 00 00 00    	je     0x18001d34a
18001d2a2:	48 89 40 08          	mov    %rax,0x8(%rax)
18001d2a6:	48 89 00             	mov    %rax,(%rax)
18001d2a9:	48 89 47 28          	mov    %rax,0x28(%rdi)
18001d2ad:	48 8b 05 44 7f 17 00 	mov    0x177f44(%rip),%rax        # 0x1801951f8
18001d2b4:	83 60 20 00          	andl   $0x0,0x20(%rax)
18001d2b8:	83 e3 02             	and    $0x2,%ebx
18001d2bb:	83 cb 20             	or     $0x20,%ebx
18001d2be:	d1 eb                	shr    $1,%ebx
18001d2c0:	8b cb                	mov    %ebx,%ecx
18001d2c2:	e8 65 0a 00 00       	call   0x18001dd2c
18001d2c7:	48 8b 0d 2a 7f 17 00 	mov    0x177f2a(%rip),%rcx        # 0x1801951f8
18001d2ce:	8b f8                	mov    %eax,%edi
18001d2d0:	48 8b 41 28          	mov    0x28(%rcx),%rax
18001d2d4:	48 39 00             	cmp    %rax,(%rax)
18001d2d7:	75 78                	jne    0x18001d351
18001d2d9:	48 83 79 18 00       	cmpq   $0x0,0x18(%rcx)
18001d2de:	b9 0f 00 00 00       	mov    $0xf,%ecx
18001d2e3:	74 05                	je     0x18001d2ea
18001d2e5:	b9 0e 00 00 00       	mov    $0xe,%ecx
18001d2ea:	e8 3d 0a 00 00       	call   0x18001dd2c
18001d2ef:	b9 0d 00 00 00       	mov    $0xd,%ecx
18001d2f4:	89 45 f4             	mov    %eax,-0xc(%rbp)
18001d2f7:	e8 30 0a 00 00       	call   0x18001dd2c
18001d2fc:	83 65 30 00          	andl   $0x0,0x30(%rbp)
18001d300:	48 8d 55 30          	lea    0x30(%rbp),%rdx
18001d304:	83 65 38 00          	andl   $0x0,0x38(%rbp)
18001d308:	48 8d 4d 38          	lea    0x38(%rbp),%rcx
18001d30c:	8b d8                	mov    %eax,%ebx
18001d30e:	89 45 f0             	mov    %eax,-0x10(%rbp)
18001d311:	e8 6a 49 04 00       	call   0x180061c80
18001d316:	8b 4d 38             	mov    0x38(%rbp),%ecx
18001d319:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
18001d31e:	39 4d 30             	cmp    %ecx,0x30(%rbp)
18001d321:	0f 46 4d 30          	cmovbe 0x30(%rbp),%ecx
18001d325:	69 c9 20 03 00 00    	imul   $0x320,%ecx,%ecx
18001d32b:	f7 e1                	mul    %ecx
18001d32d:	8b cb                	mov    %ebx,%ecx
18001d32f:	c1 ea 06             	shr    $0x6,%edx
18001d332:	89 55 30             	mov    %edx,0x30(%rbp)
18001d335:	48 8d 55 30          	lea    0x30(%rbp),%rdx
18001d339:	e8 9a 09 00 00       	call   0x18001dcd8
18001d33e:	8b 45 30             	mov    0x30(%rbp),%eax
18001d341:	48 8b 0d b0 7e 17 00 	mov    0x177eb0(%rip),%rcx        # 0x1801951f8
18001d348:	eb 21                	jmp    0x18001d36b
18001d34a:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18001d34f:	eb 5c                	jmp    0x18001d3ad
18001d351:	48 8b 40 08          	mov    0x8(%rax),%rax
18001d355:	48 8b 50 10          	mov    0x10(%rax),%rdx
18001d359:	8b 42 10             	mov    0x10(%rdx),%eax
18001d35c:	89 45 f0             	mov    %eax,-0x10(%rbp)
18001d35f:	8b 42 1c             	mov    0x1c(%rdx),%eax
18001d362:	03 42 14             	add    0x14(%rdx),%eax
18001d365:	89 45 f4             	mov    %eax,-0xc(%rbp)
18001d368:	8b 42 18             	mov    0x18(%rdx),%eax
18001d36b:	c7 44 24 40 b2 67 20 	movl   $0xff2067b2,0x40(%rsp)
18001d372:	ff
18001d373:	48 8d 51 20          	lea    0x20(%rcx),%rdx
18001d377:	83 4c 24 38 ff       	orl    $0xffffffff,0x38(%rsp)
18001d37c:	4c 8d 4d 30          	lea    0x30(%rbp),%r9
18001d380:	48 8b 49 28          	mov    0x28(%rcx),%rcx
18001d384:	45 33 c0             	xor    %r8d,%r8d
18001d387:	89 7c 24 30          	mov    %edi,0x30(%rsp)
18001d38b:	89 44 24 28          	mov    %eax,0x28(%rsp)
18001d38f:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
18001d393:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18001d398:	e8 97 03 00 00       	call   0x18001d734
18001d39d:	8b c8                	mov    %eax,%ecx
18001d39f:	85 c0                	test   %eax,%eax
18001d3a1:	78 0a                	js     0x18001d3ad
18001d3a3:	48 8b 45 30          	mov    0x30(%rbp),%rax
18001d3a7:	48 89 70 08          	mov    %rsi,0x8(%rax)
18001d3ab:	8b c1                	mov    %ecx,%eax
18001d3ad:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18001d3b4:	00
18001d3b5:	48 83 c4 60          	add    $0x60,%rsp
18001d3b9:	5f                   	pop    %rdi
18001d3ba:	5e                   	pop    %rsi
18001d3bb:	5d                   	pop    %rbp
18001d3bc:	c3                   	ret
18001d3bd:	cc                   	int3
18001d3be:	cc                   	int3
18001d3bf:	cc                   	int3
18001d3c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18001d3c5:	55                   	push   %rbp