18003f9c4:	e9 ca 00 00 00       	jmp    0x18003fa93
18003f9c9:	4c 8b 5a 68          	mov    0x68(%rdx),%r11
18003f9cd:	44 8b 8a f0 00 00 00 	mov    0xf0(%rdx),%r9d
18003f9d4:	8b ba 80 00 00 00    	mov    0x80(%rdx),%edi
18003f9da:	8b 82 f8 00 00 00    	mov    0xf8(%rdx),%eax
18003f9e0:	8b aa f4 00 00 00    	mov    0xf4(%rdx),%ebp
18003f9e6:	4b 8d 0c 0b          	lea    (%r11,%r9,1),%rcx
18003f9ea:	4c 8d 04 39          	lea    (%rcx,%rdi,1),%r8
18003f9ee:	4c 8b 54 c6 28       	mov    0x28(%rsi,%rax,8),%r10
18003f9f3:	48 81 c2 e0 00 00 00 	add    $0xe0,%rdx
18003f9fa:	74 0a                	je     0x18003fa06
18003f9fc:	48 8b 05 4d f2 10 00 	mov    0x10f24d(%rip),%rax        # 0x18014ec50
18003fa03:	48 89 02             	mov    %rax,(%rdx)
18003fa06:	41 83 ba 40 0e 00 00 	cmpl   $0x6,0xe40(%r10)
18003fa0d:	06
18003fa0e:	74 07                	je     0x18003fa17
18003fa10:	bf 84 01 00 c0       	mov    $0xc0000184,%edi
18003fa15:	eb 7c                	jmp    0x18003fa93
18003fa17:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
18003fa1c:	48 8b d3             	mov    %rbx,%rdx
18003fa1f:	89 7c 24 38          	mov    %edi,0x38(%rsp)
18003fa23:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
18003fa28:	49 8b ca             	mov    %r10,%rcx
18003fa2b:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
18003fa2f:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
18003fa34:	4d 8b c3             	mov    %r11,%r8
18003fa37:	e8 6c af 01 00       	call   0x18005a9a8
18003fa3c:	8b f8                	mov    %eax,%edi
18003fa3e:	85 c0                	test   %eax,%eax
18003fa40:	78 51                	js     0x18003fa93
18003fa42:	4c 8d 4b 18          	lea    0x18(%rbx),%r9
18003fa46:	4d 8b 01             	mov    (%r9),%r8
18003fa49:	eb 35                	jmp    0x18003fa80
18003fa4b:	41 83 48 60 ff       	orl    $0xffffffff,0x60(%r8)
18003fa50:	8b 83 f8 00 00 00    	mov    0xf8(%rbx),%eax
18003fa56:	f7 d8                	neg    %eax
18003fa58:	1a c9                	sbb    %cl,%cl
18003fa5a:	80 e1 02             	and    $0x2,%cl
18003fa5d:	80 c1 0a             	add    $0xa,%cl
18003fa60:	41 88 48 72          	mov    %cl,0x72(%r8)
18003fa64:	8b 8b f8 00 00 00    	mov    0xf8(%rbx),%ecx
18003fa6a:	48 8b 54 ce 10       	mov    0x10(%rsi,%rcx,8),%rdx
18003fa6f:	48 8b 8a 60 01 00 00 	mov    0x160(%rdx),%rcx
18003fa76:	49 89 88 b0 00 00 00 	mov    %rcx,0xb0(%r8)
18003fa7d:	4d 8b 00             	mov    (%r8),%r8
18003fa80:	4d 3b c1             	cmp    %r9,%r8
18003fa83:	75 c6                	jne    0x18003fa4b
18003fa85:	8b 93 f8 00 00 00    	mov    0xf8(%rbx),%edx
18003fa8b:	48 8b ce             	mov    %rsi,%rcx
18003fa8e:	e8 2d fb ff ff       	call   0x18003f5c0
18003fa93:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18003fa98:	8b c7                	mov    %edi,%eax
18003fa9a:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18003fa9f:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18003faa4:	48 83 c4 50          	add    $0x50,%rsp
18003faa8:	5f                   	pop    %rdi
18003faa9:	c3                   	ret
18003faaa:	cc                   	int3
18003faab:	cc                   	int3
18003faac:	48 83 ec 38          	sub    $0x38,%rsp
18003fab0:	48 8b 51 38          	mov    0x38(%rcx),%rdx
18003fab4:	83 ba 40 0e 00 00 06 	cmpl   $0x6,0xe40(%rdx)
18003fabb:	4c 8b 82 70 0e 00 00 	mov    0xe70(%rdx),%r8
18003fac2:	75 12                	jne    0x18003fad6
18003fac4:	48 8b 82 78 0e 00 00 	mov    0xe78(%rdx),%rax
18003facb:	48 89 82 70 0e 00 00 	mov    %rax,0xe70(%rdx)
18003fad2:	48 8b 51 38          	mov    0x38(%rcx),%rdx
18003fad6:	48 8b 82 70 0e 00 00 	mov    0xe70(%rdx),%rax
18003fadd:	45 8b c8             	mov    %r8d,%r9d
18003fae0:	48 8b 51 08          	mov    0x8(%rcx),%rdx
18003fae4:	41 b8 02 00 00 00    	mov    $0x2,%r8d
18003faea:	48 83 c2 18          	add    $0x18,%rdx
18003faee:	89 44 24 20          	mov    %eax,0x20(%rsp)
18003faf2:	b9 36 08 00 00       	mov    $0x836,%ecx
18003faf7:	e8 7c 70 00 00       	call   0x180046b78
18003fafc:	33 c0                	xor    %eax,%eax
18003fafe:	48 83 c4 38          	add    $0x38,%rsp
18003fb02:	c3                   	ret
18003fb03:	cc                   	int3
18003fb04:	48 83 ec 28          	sub    $0x28,%rsp
18003fb08:	e8 07 6e 00 00       	call   0x180046914
18003fb0d:	48 83 c4 28          	add    $0x28,%rsp
18003fb11:	c3                   	ret
18003fb12:	cc                   	int3
18003fb13:	cc                   	int3
18003fb14:	48 83 ec 28          	sub    $0x28,%rsp
18003fb18:	e8 3f 6e 00 00       	call   0x18004695c
18003fb1d:	48 83 c4 28          	add    $0x28,%rsp
18003fb21:	c3                   	ret
18003fb22:	cc                   	int3
18003fb23:	cc                   	int3
18003fb24:	83 61 20 00          	andl   $0x0,0x20(%rcx)
18003fb28:	48 8d 41 10          	lea    0x10(%rcx),%rax
18003fb2c:	48 89 40 08          	mov    %rax,0x8(%rax)
18003fb30:	48 89 00             	mov    %rax,(%rax)
18003fb33:	48 8b c1             	mov    %rcx,%rax
18003fb36:	48 89 49 08          	mov    %rcx,0x8(%rcx)
18003fb3a:	48 89 09             	mov    %rcx,(%rcx)
18003fb3d:	c3                   	ret
18003fb3e:	cc                   	int3
18003fb3f:	cc                   	int3
18003fb40:	48 8d 41 10          	lea    0x10(%rcx),%rax
18003fb44:	4c 8b 40 08          	mov    0x8(%rax),%r8
18003fb48:	49 39 00             	cmp    %rax,(%r8)
18003fb4b:	74 07                	je     0x18003fb54
18003fb4d:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fb52:	cd 29                	int    $0x29
18003fb54:	48 89 02             	mov    %rax,(%rdx)
18003fb57:	4c 89 42 08          	mov    %r8,0x8(%rdx)
18003fb5b:	49 89 10             	mov    %rdx,(%r8)
18003fb5e:	48 89 50 08          	mov    %rdx,0x8(%rax)
18003fb62:	ff 41 20             	incl   0x20(%rcx)
18003fb65:	c3                   	ret
18003fb66:	cc                   	int3
18003fb67:	cc                   	int3
18003fb68:	ff 49 20             	decl   0x20(%rcx)
18003fb6b:	48 83 c1 10          	add    $0x10,%rcx
18003fb6f:	48 8b 01             	mov    (%rcx),%rax
18003fb72:	48 39 48 08          	cmp    %rcx,0x8(%rax)
18003fb76:	75 12                	jne    0x18003fb8a
18003fb78:	48 8b 10             	mov    (%rax),%rdx
18003fb7b:	48 39 42 08          	cmp    %rax,0x8(%rdx)
18003fb7f:	75 09                	jne    0x18003fb8a
18003fb81:	48 89 11             	mov    %rdx,(%rcx)
18003fb84:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
18003fb88:	c3                   	ret
18003fb89:	cc                   	int3
18003fb8a:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fb8f:	cd 29                	int    $0x29
18003fb91:	cc                   	int3
18003fb92:	cc                   	int3
18003fb93:	cc                   	int3
18003fb94:	ff 49 20             	decl   0x20(%rcx)
18003fb97:	48 8b 0a             	mov    (%rdx),%rcx
18003fb9a:	48 39 51 08          	cmp    %rdx,0x8(%rcx)
18003fb9e:	75 12                	jne    0x18003fbb2
18003fba0:	48 8b 42 08          	mov    0x8(%rdx),%rax
18003fba4:	48 39 10             	cmp    %rdx,(%rax)
18003fba7:	75 09                	jne    0x18003fbb2
18003fba9:	48 89 08             	mov    %rcx,(%rax)
18003fbac:	48 89 41 08          	mov    %rax,0x8(%rcx)
18003fbb0:	c3                   	ret
18003fbb1:	cc                   	int3
18003fbb2:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fbb7:	cd 29                	int    $0x29
18003fbb9:	cc                   	int3
18003fbba:	cc                   	int3
18003fbbb:	cc                   	int3
18003fbbc:	40 55                	rex push %rbp
18003fbbe:	48 8b ec             	mov    %rsp,%rbp
18003fbc1:	48 83 ec 10          	sub    $0x10,%rsp
18003fbc5:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18003fbc9:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18003fbcd:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18003fbd1:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18003fbd5:	48 8b 01             	mov    (%rcx),%rax
18003fbd8:	48 39 48 08          	cmp    %rcx,0x8(%rax)
18003fbdc:	0f 85 a6 00 00 00    	jne    0x18003fc88
18003fbe2:	48 8b 41 08          	mov    0x8(%rcx),%rax
18003fbe6:	48 39 08             	cmp    %rcx,(%rax)
18003fbe9:	0f 85 99 00 00 00    	jne    0x18003fc88
18003fbef:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18003fbf3:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18003fbf7:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
18003fbfb:	48 89 10             	mov    %rdx,(%rax)
18003fbfe:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18003fc02:	48 89 41 08          	mov    %rax,0x8(%rcx)
18003fc06:	48 8b 01             	mov    (%rcx),%rax
18003fc09:	48 39 48 08          	cmp    %rcx,0x8(%rax)
18003fc0d:	75 79                	jne    0x18003fc88
18003fc0f:	48 39 4d f0          	cmp    %rcx,-0x10(%rbp)
18003fc13:	75 73                	jne    0x18003fc88
18003fc15:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18003fc19:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18003fc1d:	48 89 50 08          	mov    %rdx,0x8(%rax)
18003fc21:	48 89 49 08          	mov    %rcx,0x8(%rcx)
18003fc25:	48 89 09             	mov    %rcx,(%rcx)
18003fc28:	eb 4a                	jmp    0x18003fc74
18003fc2a:	48 8b 11             	mov    (%rcx),%rdx
18003fc2d:	48 3b d1             	cmp    %rcx,%rdx
18003fc30:	74 12                	je     0x18003fc44
18003fc32:	44 8b 40 20          	mov    0x20(%rax),%r8d
18003fc36:	44 39 42 20          	cmp    %r8d,0x20(%rdx)
18003fc3a:	76 08                	jbe    0x18003fc44
18003fc3c:	48 8b 12             	mov    (%rdx),%rdx
18003fc3f:	48 3b d1             	cmp    %rcx,%rdx
18003fc42:	75 f2                	jne    0x18003fc36
18003fc44:	4c 8b 00             	mov    (%rax),%r8
18003fc47:	49 39 40 08          	cmp    %rax,0x8(%r8)
18003fc4b:	75 3b                	jne    0x18003fc88
18003fc4d:	4c 8b 48 08          	mov    0x8(%rax),%r9
18003fc51:	49 39 01             	cmp    %rax,(%r9)
18003fc54:	75 32                	jne    0x18003fc88
18003fc56:	4d 89 01             	mov    %r8,(%r9)
18003fc59:	4d 89 48 08          	mov    %r9,0x8(%r8)
18003fc5d:	4c 8b 42 08          	mov    0x8(%rdx),%r8
18003fc61:	49 39 10             	cmp    %rdx,(%r8)
18003fc64:	75 22                	jne    0x18003fc88
18003fc66:	48 89 10             	mov    %rdx,(%rax)
18003fc69:	4c 89 40 08          	mov    %r8,0x8(%rax)
18003fc6d:	49 89 00             	mov    %rax,(%r8)
18003fc70:	48 89 42 08          	mov    %rax,0x8(%rdx)
18003fc74:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
18003fc78:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18003fc7c:	48 3b c2             	cmp    %rdx,%rax
18003fc7f:	75 a9                	jne    0x18003fc2a
18003fc81:	48 83 c4 10          	add    $0x10,%rsp
18003fc85:	5d                   	pop    %rbp
18003fc86:	c3                   	ret
18003fc87:	cc                   	int3
18003fc88:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fc8d:	cd 29                	int    $0x29
18003fc8f:	cc                   	int3
18003fc90:	40 53                	rex push %rbx
18003fc92:	48 83 ec 20          	sub    $0x20,%rsp
18003fc96:	48 8b 01             	mov    (%rcx),%rax
18003fc99:	48 8b d9             	mov    %rcx,%rbx
18003fc9c:	48 3b c1             	cmp    %rcx,%rax
18003fc9f:	74 29                	je     0x18003fcca
18003fca1:	48 8b 08             	mov    (%rax),%rcx
18003fca4:	48 39 41 08          	cmp    %rax,0x8(%rcx)
18003fca8:	75 27                	jne    0x18003fcd1
18003fcaa:	48 8b 50 08          	mov    0x8(%rax),%rdx
18003fcae:	48 39 02             	cmp    %rax,(%rdx)
18003fcb1:	75 1e                	jne    0x18003fcd1
18003fcb3:	48 89 0a             	mov    %rcx,(%rdx)
18003fcb6:	48 89 51 08          	mov    %rdx,0x8(%rcx)
18003fcba:	48 8b c8             	mov    %rax,%rcx
18003fcbd:	e8 9a 6c 00 00       	call   0x18004695c
18003fcc2:	48 8b 03             	mov    (%rbx),%rax
18003fcc5:	48 3b c3             	cmp    %rbx,%rax
18003fcc8:	75 d7                	jne    0x18003fca1
18003fcca:	48 83 c4 20          	add    $0x20,%rsp
18003fcce:	5b                   	pop    %rbx
18003fccf:	c3                   	ret
18003fcd0:	cc                   	int3
18003fcd1:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fcd6:	cd 29                	int    $0x29
18003fcd8:	48 8b c4             	mov    %rsp,%rax
18003fcdb:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003fcdf:	48 89 68 10          	mov    %rbp,0x10(%rax)
18003fce3:	48 89 70 18          	mov    %rsi,0x18(%rax)
18003fce7:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003fceb:	41 54                	push   %r12
18003fced:	41 56                	push   %r14
18003fcef:	41 57                	push   %r15
18003fcf1:	48 83 ec 20          	sub    $0x20,%rsp
18003fcf5:	45 33 e4             	xor    %r12d,%r12d
18003fcf8:	8b da                	mov    %edx,%ebx
18003fcfa:	4c 8b f1             	mov    %rcx,%r14
18003fcfd:	4d 8b f8             	mov    %r8,%r15
18003fd00:	49 8b 08             	mov    (%r8),%rcx
18003fd03:	41 8b f4             	mov    %r12d,%esi
18003fd06:	48 85 c9             	test   %rcx,%rcx
18003fd09:	74 08                	je     0x18003fd13
18003fd0b:	e8 4c 6c 00 00       	call   0x18004695c
18003fd10:	4d 89 27             	mov    %r12,(%r15)
18003fd13:	48 8b d3             	mov    %rbx,%rdx
18003fd16:	4d 85 f6             	test   %r14,%r14
18003fd19:	74 41                	je     0x18003fd5c
18003fd1b:	48 81 fb ff ff ff 7f 	cmp    $0x7fffffff,%rbx
18003fd22:	77 38                	ja     0x18003fd5c
18003fd24:	48 8b cb             	mov    %rbx,%rcx
18003fd27:	49 8b c6             	mov    %r14,%rax
18003fd2a:	85 db                	test   %ebx,%ebx
18003fd2c:	74 10                	je     0x18003fd3e
18003fd2e:	66 44 39 20          	cmp    %r12w,(%rax)
18003fd32:	74 0a                	je     0x18003fd3e
18003fd34:	48 83 c0 02          	add    $0x2,%rax
18003fd38:	48 83 e9 01          	sub    $0x1,%rcx
18003fd3c:	75 f0                	jne    0x18003fd2e
18003fd3e:	48 8b c1             	mov    %rcx,%rax
18003fd41:	bd 0d 00 00 c0       	mov    $0xc000000d,%ebp
18003fd46:	48 f7 d8             	neg    %rax
18003fd49:	1b db                	sbb    %ebx,%ebx
18003fd4b:	f7 d3                	not    %ebx
18003fd4d:	23 dd                	and    %ebp,%ebx
18003fd4f:	48 85 c9             	test   %rcx,%rcx
18003fd52:	74 0f                	je     0x18003fd63
18003fd54:	48 8b f2             	mov    %rdx,%rsi
18003fd57:	48 2b f1             	sub    %rcx,%rsi
18003fd5a:	eb 07                	jmp    0x18003fd63
18003fd5c:	bd 0d 00 00 c0       	mov    $0xc000000d,%ebp
18003fd61:	8b dd                	mov    %ebp,%ebx
18003fd63:	85 db                	test   %ebx,%ebx
18003fd65:	49 0f 48 f4          	cmovs  %r12,%rsi
18003fd69:	0f 88 af 00 00 00    	js     0x18003fe1e
18003fd6f:	48 85 f6             	test   %rsi,%rsi
18003fd72:	0f 84 a6 00 00 00    	je     0x18003fe1e
18003fd78:	48 8d 7e 01          	lea    0x1(%rsi),%rdi
18003fd7c:	48 8d 0c 3f          	lea    (%rdi,%rdi,1),%rcx
18003fd80:	e8 8f 6b 00 00       	call   0x180046914
18003fd85:	48 8b c8             	mov    %rax,%rcx
18003fd88:	48 85 c0             	test   %rax,%rax
18003fd8b:	75 0a                	jne    0x18003fd97
18003fd8d:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18003fd92:	e9 87 00 00 00       	jmp    0x18003fe1e
18003fd97:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
18003fd9b:	41 8b dc             	mov    %r12d,%ebx
18003fd9e:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
18003fda4:	0f 47 dd             	cmova  %ebp,%ebx
18003fda7:	85 db                	test   %ebx,%ebx
18003fda9:	78 56                	js     0x18003fe01
18003fdab:	48 8b d1             	mov    %rcx,%rdx
18003fdae:	48 85 ff             	test   %rdi,%rdi
18003fdb1:	74 30                	je     0x18003fde3
18003fdb3:	48 8b c7             	mov    %rdi,%rax
18003fdb6:	48 2b c6             	sub    %rsi,%rax
18003fdb9:	48 05 fd ff ff 7f    	add    $0x7ffffffd,%rax
18003fdbf:	4c 2b f1             	sub    %rcx,%r14
18003fdc2:	48 85 c0             	test   %rax,%rax
18003fdc5:	74 1c                	je     0x18003fde3
18003fdc7:	45 0f b7 04 16       	movzwl (%r14,%rdx,1),%r8d
18003fdcc:	66 45 85 c0          	test   %r8w,%r8w
18003fdd0:	74 11                	je     0x18003fde3
18003fdd2:	66 44 89 02          	mov    %r8w,(%rdx)
18003fdd6:	48 ff c8             	dec    %rax
18003fdd9:	48 83 c2 02          	add    $0x2,%rdx
18003fddd:	48 83 ef 01          	sub    $0x1,%rdi
18003fde1:	75 df                	jne    0x18003fdc2
18003fde3:	48 85 ff             	test   %rdi,%rdi
18003fde6:	48 8d 42 fe          	lea    -0x2(%rdx),%rax
18003fdea:	48 0f 45 c2          	cmovne %rdx,%rax
18003fdee:	48 f7 df             	neg    %rdi
18003fdf1:	1b db                	sbb    %ebx,%ebx
18003fdf3:	f7 d3                	not    %ebx
18003fdf5:	81 e3 05 00 00 80    	and    $0x80000005,%ebx
18003fdfb:	66 44 89 20          	mov    %r12w,(%rax)
18003fdff:	eb 09                	jmp    0x18003fe0a
18003fe01:	48 85 ff             	test   %rdi,%rdi
18003fe04:	74 04                	je     0x18003fe0a
18003fe06:	66 44 89 21          	mov    %r12w,(%rcx)
18003fe0a:	85 db                	test   %ebx,%ebx
18003fe0c:	78 06                	js     0x18003fe14
18003fe0e:	49 89 0f             	mov    %rcx,(%r15)
18003fe11:	49 8b cc             	mov    %r12,%rcx
18003fe14:	48 85 c9             	test   %rcx,%rcx
18003fe17:	74 05                	je     0x18003fe1e
18003fe19:	e8 3e 6b 00 00       	call   0x18004695c
18003fe1e:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18003fe23:	8b c3                	mov    %ebx,%eax
18003fe25:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18003fe2a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003fe2f:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18003fe34:	48 83 c4 20          	add    $0x20,%rsp
18003fe38:	41 5f                	pop    %r15
18003fe3a:	41 5e                	pop    %r14
18003fe3c:	41 5c                	pop    %r12
18003fe3e:	c3                   	ret
18003fe3f:	cc                   	int3