18002cd04:	49 8b d6             	mov    %r14,%rdx
18002cd07:	e8 70 45 08 00       	call   0x1800b127c
18002cd0c:	8b f8                	mov    %eax,%edi
18002cd0e:	85 c0                	test   %eax,%eax
18002cd10:	0f 88 84 00 00 00    	js     0x18002cd9a
18002cd16:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
18002cd1d:	00
18002cd1e:	41 b7 01             	mov    $0x1,%r15b
18002cd21:	48 8b d5             	mov    %rbp,%rdx
18002cd24:	48 8b ce             	mov    %rsi,%rcx
18002cd27:	e8 94 00 00 00       	call   0x18002cdc0
18002cd2c:	8b f8                	mov    %eax,%edi
18002cd2e:	85 c0                	test   %eax,%eax
18002cd30:	78 5b                	js     0x18002cd8d
18002cd32:	44 38 ac 24 90 00 00 	cmp    %r13b,0x90(%rsp)
18002cd39:	00
18002cd3a:	74 4a                	je     0x18002cd86
18002cd3c:	b8 00 06 00 00       	mov    $0x600,%eax
18002cd41:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18002cd46:	41 0f b7 cc          	movzwl %r12w,%ecx
18002cd4a:	ba 00 10 00 00       	mov    $0x1000,%edx
18002cd4f:	66 23 c8             	and    %ax,%cx
18002cd52:	4d 8b c6             	mov    %r14,%r8
18002cd55:	41 0f b7 c4          	movzwl %r12w,%eax
18002cd59:	66 0b c2             	or     %dx,%ax
18002cd5c:	66 85 c9             	test   %cx,%cx
18002cd5f:	66 41 0f 45 c4       	cmovne %r12w,%ax
18002cd64:	66 41 09 46 0a       	or     %ax,0xa(%r14)
18002cd69:	48 8b 16             	mov    (%rsi),%rdx
18002cd6c:	4c 8b 4e 10          	mov    0x10(%rsi),%r9
18002cd70:	48 83 c2 40          	add    $0x40,%rdx
18002cd74:	48 8b 0d a5 81 17 00 	mov    0x1781a5(%rip),%rcx        # 0x1801a4f20
18002cd7b:	e8 00 1a 08 00       	call   0x1800ae780
18002cd80:	8b f8                	mov    %eax,%edi
18002cd82:	85 c0                	test   %eax,%eax
18002cd84:	78 07                	js     0x18002cd8d
18002cd86:	48 89 5e 20          	mov    %rbx,0x20(%rsi)
18002cd8a:	49 8b dd             	mov    %r13,%rbx
18002cd8d:	45 84 ff             	test   %r15b,%r15b
18002cd90:	74 08                	je     0x18002cd9a
18002cd92:	48 8b cd             	mov    %rbp,%rcx
18002cd95:	e8 8e 1f 08 00       	call   0x1800aed28
18002cd9a:	48 85 db             	test   %rbx,%rbx
18002cd9d:	74 08                	je     0x18002cda7
18002cd9f:	48 8b cb             	mov    %rbx,%rcx
18002cda2:	e8 81 1f 08 00       	call   0x1800aed28
18002cda7:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18002cdac:	8b c7                	mov    %edi,%eax
18002cdae:	48 83 c4 30          	add    $0x30,%rsp
18002cdb2:	41 5f                	pop    %r15
18002cdb4:	41 5e                	pop    %r14
18002cdb6:	41 5d                	pop    %r13
18002cdb8:	41 5c                	pop    %r12
18002cdba:	5f                   	pop    %rdi
18002cdbb:	5e                   	pop    %rsi
18002cdbc:	5d                   	pop    %rbp
18002cdbd:	c3                   	ret
18002cdbe:	cc                   	int3
18002cdbf:	cc                   	int3
18002cdc0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18002cdc5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18002cdca:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18002cdcf:	55                   	push   %rbp
18002cdd0:	41 56                	push   %r14
18002cdd2:	41 57                	push   %r15
18002cdd4:	48 8b ec             	mov    %rsp,%rbp
18002cdd7:	48 83 ec 50          	sub    $0x50,%rsp
18002cddb:	0f 57 c0             	xorps  %xmm0,%xmm0
18002cdde:	33 c0                	xor    %eax,%eax
18002cde0:	21 45 20             	and    %eax,0x20(%rbp)
18002cde3:	4c 8b f2             	mov    %rdx,%r14
18002cde6:	33 d2                	xor    %edx,%edx
18002cde8:	89 45 f0             	mov    %eax,-0x10(%rbp)
18002cdeb:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
18002cdef:	48 8b d9             	mov    %rcx,%rbx
18002cdf2:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
18002cdf6:	e8 69 01 00 00       	call   0x18002cf64
18002cdfb:	44 8b 83 c8 00 00 00 	mov    0xc8(%rbx),%r8d
18002ce02:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
18002ce06:	33 d2                	xor    %edx,%edx
18002ce08:	49 8b ce             	mov    %r14,%rcx
18002ce0b:	e8 f4 7e 08 00       	call   0x1800b4d04
18002ce10:	8b f0                	mov    %eax,%esi
18002ce12:	85 c0                	test   %eax,%eax
18002ce14:	0f 88 de 00 00 00    	js     0x18002cef8
18002ce1a:	8b 75 20             	mov    0x20(%rbp),%esi
18002ce1d:	8d 46 20             	lea    0x20(%rsi),%eax
18002ce20:	8b c8                	mov    %eax,%ecx
18002ce22:	44 8b f8             	mov    %eax,%r15d
18002ce25:	e8 26 d0 06 00       	call   0x180099e50
18002ce2a:	48 8b f8             	mov    %rax,%rdi
18002ce2d:	48 85 c0             	test   %rax,%rax
18002ce30:	75 0a                	jne    0x18002ce3c
18002ce32:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18002ce37:	e9 bc 00 00 00       	jmp    0x18002cef8
18002ce3c:	4d 8b c7             	mov    %r15,%r8
18002ce3f:	33 d2                	xor    %edx,%edx
18002ce41:	48 8b cf             	mov    %rdi,%rcx
18002ce44:	e8 37 8e 10 00       	call   0x180135c80
18002ce49:	41 0f b7 46 08       	movzwl 0x8(%r14),%eax
18002ce4e:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
18002ce52:	66 89 47 1c          	mov    %ax,0x1c(%rdi)
18002ce56:	48 8b d7             	mov    %rdi,%rdx
18002ce59:	48 8d 47 20          	lea    0x20(%rdi),%rax
18002ce5d:	89 77 18             	mov    %esi,0x18(%rdi)
18002ce60:	48 89 47 10          	mov    %rax,0x10(%rdi)
18002ce64:	49 8b ce             	mov    %r14,%rcx
18002ce67:	44 8b 83 c8 00 00 00 	mov    0xc8(%rbx),%r8d
18002ce6e:	e8 91 7e 08 00       	call   0x1800b4d04
18002ce73:	8b f0                	mov    %eax,%esi
18002ce75:	85 c0                	test   %eax,%eax
18002ce77:	78 72                	js     0x18002ceeb
18002ce79:	80 bb 88 00 00 00 00 	cmpb   $0x0,0x88(%rbx)
18002ce80:	74 63                	je     0x18002cee5
18002ce82:	41 0f b7 0e          	movzwl (%r14),%ecx
18002ce86:	33 c0                	xor    %eax,%eax
18002ce88:	66 83 e9 0c          	sub    $0xc,%cx
18002ce8c:	66 41 83 3e 0c       	cmpw   $0xc,(%r14)
18002ce91:	66 0f 43 c1          	cmovae %cx,%ax
18002ce95:	0f b7 c8             	movzwl %ax,%ecx
18002ce98:	85 c9                	test   %ecx,%ecx
18002ce9a:	75 07                	jne    0x18002cea3
18002ce9c:	be 01 00 00 c0       	mov    $0xc0000001,%esi
18002cea1:	eb 48                	jmp    0x18002ceeb
18002cea3:	89 4d d0             	mov    %ecx,-0x30(%rbp)
18002cea6:	49 8d 56 0c          	lea    0xc(%r14),%rdx
18002ceaa:	4c 8b c1             	mov    %rcx,%r8
18002cead:	48 8d 4d d4          	lea    -0x2c(%rbp),%rcx
18002ceb1:	e8 0a 8b 10 00       	call   0x1801359c0
18002ceb6:	80 bb 92 00 00 00 00 	cmpb   $0x0,0x92(%rbx)
18002cebd:	74 07                	je     0x18002cec6
18002cebf:	be 02 00 00 c0       	mov    $0xc0000002,%esi
18002cec4:	eb 25                	jmp    0x18002ceeb
18002cec6:	0f 10 45 d0          	movups -0x30(%rbp),%xmm0
18002ceca:	8b 45 f0             	mov    -0x10(%rbp),%eax
18002cecd:	0f 10 4d e0          	movups -0x20(%rbp),%xmm1
18002ced1:	0f 11 83 94 00 00 00 	movups %xmm0,0x94(%rbx)
18002ced8:	0f 11 8b a4 00 00 00 	movups %xmm1,0xa4(%rbx)
18002cedf:	89 83 b4 00 00 00    	mov    %eax,0xb4(%rbx)
18002cee5:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
18002cee9:	33 ff                	xor    %edi,%edi
18002ceeb:	48 85 ff             	test   %rdi,%rdi
18002ceee:	74 08                	je     0x18002cef8
18002cef0:	48 8b cf             	mov    %rdi,%rcx
18002cef3:	e8 5c 03 00 00       	call   0x18002d254
18002cef8:	33 c0                	xor    %eax,%eax
18002cefa:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18002ceff:	49 8b 5b 28          	mov    0x28(%r11),%rbx
18002cf03:	48 8d 7d d0          	lea    -0x30(%rbp),%rdi
18002cf07:	8d 48 24             	lea    0x24(%rax),%ecx
18002cf0a:	f3 aa                	rep stos %al,%es:(%rdi)
18002cf0c:	49 8b 7b 38          	mov    0x38(%r11),%rdi
18002cf10:	8b c6                	mov    %esi,%eax
18002cf12:	49 8b 73 30          	mov    0x30(%r11),%rsi
18002cf16:	49 8b e3             	mov    %r11,%rsp
18002cf19:	41 5f                	pop    %r15
18002cf1b:	41 5e                	pop    %r14
18002cf1d:	5d                   	pop    %rbp
18002cf1e:	c3                   	ret
18002cf1f:	cc                   	int3
18002cf20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002cf25:	57                   	push   %rdi
18002cf26:	48 83 ec 20          	sub    $0x20,%rsp
18002cf2a:	48 8b 1d 2f 7f 17 00 	mov    0x177f2f(%rip),%rbx        # 0x1801a4e60
18002cf31:	48 8d 3d 28 7f 17 00 	lea    0x177f28(%rip),%rdi        # 0x1801a4e60
18002cf38:	eb 15                	jmp    0x18002cf4f
18002cf3a:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18002cf3e:	b2 01                	mov    $0x1,%dl
18002cf40:	48 8b 89 80 00 00 00 	mov    0x80(%rcx),%rcx
18002cf47:	e8 18 00 00 00       	call   0x18002cf64
18002cf4c:	48 8b 1b             	mov    (%rbx),%rbx
18002cf4f:	48 3b df             	cmp    %rdi,%rbx
18002cf52:	75 e6                	jne    0x18002cf3a
18002cf54:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002cf59:	48 83 c4 20          	add    $0x20,%rsp
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