18003db90:	48 8d 0d e9 70 16 00 	lea    0x1670e9(%rip),%rcx        # 0x1801a4c80
18003db97:	e8 90 2a 05 00       	call   0x18009062c
18003db9c:	8b d8                	mov    %eax,%ebx
18003db9e:	85 c0                	test   %eax,%eax
18003dba0:	79 2a                	jns    0x18003dbcc
18003dba2:	48 8b 8f 88 00 00 00 	mov    0x88(%rdi),%rcx
18003dba9:	48 85 c9             	test   %rcx,%rcx
18003dbac:	74 05                	je     0x18003dbb3
18003dbae:	e8 49 c4 05 00       	call   0x180099ffc
18003dbb3:	48 8b 8f 80 00 00 00 	mov    0x80(%rdi),%rcx
18003dbba:	48 85 c9             	test   %rcx,%rcx
18003dbbd:	74 05                	je     0x18003dbc4
18003dbbf:	e8 38 c4 05 00       	call   0x180099ffc
18003dbc4:	48 8b cf             	mov    %rdi,%rcx
18003dbc7:	e8 30 c4 05 00       	call   0x180099ffc
18003dbcc:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003dbd1:	8b c3                	mov    %ebx,%eax
18003dbd3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18003dbd8:	48 83 c4 30          	add    $0x30,%rsp
18003dbdc:	5f                   	pop    %rdi
18003dbdd:	c3                   	ret
18003dbde:	cc                   	int3
18003dbdf:	cc                   	int3
18003dbe0:	48 8b c4             	mov    %rsp,%rax
18003dbe3:	48 89 58 18          	mov    %rbx,0x18(%rax)
18003dbe7:	48 89 68 20          	mov    %rbp,0x20(%rax)
18003dbeb:	56                   	push   %rsi
18003dbec:	57                   	push   %rdi
18003dbed:	41 56                	push   %r14
18003dbef:	48 83 ec 30          	sub    $0x30,%rsp
18003dbf3:	4c 8b 41 1c          	mov    0x1c(%rcx),%r8
18003dbf7:	48 8b da             	mov    %rdx,%rbx
18003dbfa:	48 8b 51 14          	mov    0x14(%rcx),%rdx
18003dbfe:	48 8b f1             	mov    %rcx,%rsi
18003dc01:	33 ff                	xor    %edi,%edi
18003dc03:	48 89 50 08          	mov    %rdx,0x8(%rax)
18003dc07:	48 8d 48 08          	lea    0x8(%rax),%rcx
18003dc0b:	89 78 d8             	mov    %edi,-0x28(%rax)
18003dc0e:	41 b9 00 00 04 00    	mov    $0x40000,%r9d
18003dc14:	e8 07 c9 05 00       	call   0x18009a520
18003dc19:	85 c0                	test   %eax,%eax
18003dc1b:	0f 88 8f 00 00 00    	js     0x18003dcb0
18003dc21:	8b 6e 24             	mov    0x24(%rsi),%ebp
18003dc24:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
18003dc29:	48 8b 56 1c          	mov    0x1c(%rsi),%rdx
18003dc2d:	44 8d 47 01          	lea    0x1(%rdi),%r8d
18003dc31:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
18003dc36:	48 8b f2             	mov    %rdx,%rsi
18003dc39:	48 2b f5             	sub    %rbp,%rsi
18003dc3c:	48 c7 43 20 03 00 00 	movq   $0x3,0x20(%rbx)
18003dc43:	00
18003dc44:	89 7b 28             	mov    %edi,0x28(%rbx)
18003dc47:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%rbx)
18003dc4e:	4c 8d 34 29          	lea    (%rcx,%rbp,1),%r14
18003dc52:	c7 43 34 01 00 00 00 	movl   $0x1,0x34(%rbx)
18003dc59:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
18003dc5d:	c7 43 2c 02 00 00 00 	movl   $0x2,0x2c(%rbx)
18003dc64:	48 89 43 38          	mov    %rax,0x38(%rbx)
18003dc68:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
18003dc6d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003dc72:	e8 b5 02 00 00       	call   0x18003df2c
18003dc77:	85 c0                	test   %eax,%eax
18003dc79:	79 0f                	jns    0x18003dc8a
18003dc7b:	89 ab 10 01 00 00    	mov    %ebp,0x110(%rbx)
18003dc81:	48 89 b3 18 01 00 00 	mov    %rsi,0x118(%rbx)
18003dc88:	eb 1b                	jmp    0x18003dca5
18003dc8a:	8b 44 24 50          	mov    0x50(%rsp),%eax
18003dc8e:	bf 01 00 00 00       	mov    $0x1,%edi
18003dc93:	89 83 10 01 00 00    	mov    %eax,0x110(%rbx)
18003dc99:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
18003dc9e:	48 89 83 18 01 00 00 	mov    %rax,0x118(%rbx)
18003dca5:	89 bb 08 01 00 00    	mov    %edi,0x108(%rbx)
18003dcab:	33 c0                	xor    %eax,%eax
18003dcad:	4c 89 33             	mov    %r14,(%rbx)
18003dcb0:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18003dcb5:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18003dcba:	48 83 c4 30          	add    $0x30,%rsp
18003dcbe:	41 5e                	pop    %r14
18003dcc0:	5f                   	pop    %rdi
18003dcc1:	5e                   	pop    %rsi
18003dcc2:	c3                   	ret
18003dcc3:	cc                   	int3
18003dcc4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18003dcc9:	55                   	push   %rbp
18003dcca:	56                   	push   %rsi
18003dccb:	57                   	push   %rdi
18003dccc:	41 54                	push   %r12
18003dcce:	41 55                	push   %r13
18003dcd0:	41 56                	push   %r14
18003dcd2:	41 57                	push   %r15
18003dcd4:	48 8b ec             	mov    %rsp,%rbp
18003dcd7:	48 83 ec 30          	sub    $0x30,%rsp
18003dcdb:	49 8b f8             	mov    %r8,%rdi
18003dcde:	48 8b f2             	mov    %rdx,%rsi
18003dce1:	33 d2                	xor    %edx,%edx
18003dce3:	4c 8b e9             	mov    %rcx,%r13
18003dce6:	48 8b cf             	mov    %rdi,%rcx
18003dce9:	44 8d 42 48          	lea    0x48(%rdx),%r8d
18003dced:	e8 8e 7f 0f 00       	call   0x180135c80
18003dcf2:	41 8b 45 2c          	mov    0x2c(%r13),%eax
18003dcf6:	45 33 e4             	xor    %r12d,%r12d
18003dcf9:	4c 89 65 f0          	mov    %r12,-0x10(%rbp)
18003dcfd:	45 8b f4             	mov    %r12d,%r14d
18003dd00:	4c 89 65 40          	mov    %r12,0x40(%rbp)
18003dd04:	8d 48 14             	lea    0x14(%rax),%ecx
18003dd07:	3b c8                	cmp    %eax,%ecx
18003dd09:	0f 82 f8 01 00 00    	jb     0x18003df07
18003dd0f:	44 8b f9             	mov    %ecx,%r15d
18003dd12:	e8 39 c1 05 00       	call   0x180099e50
18003dd17:	48 8b d8             	mov    %rax,%rbx
18003dd1a:	48 85 c0             	test   %rax,%rax
18003dd1d:	75 0a                	jne    0x18003dd29
18003dd1f:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18003dd24:	e9 e3 01 00 00       	jmp    0x18003df0c
18003dd29:	4d 8b c7             	mov    %r15,%r8
18003dd2c:	33 d2                	xor    %edx,%edx
18003dd2e:	48 8b cb             	mov    %rbx,%rcx
18003dd31:	e8 4a 7f 0f 00       	call   0x180135c80
18003dd36:	45 8b 45 2c          	mov    0x2c(%r13),%r8d
18003dd3a:	48 8d 4b 14          	lea    0x14(%rbx),%rcx
18003dd3e:	49 8d 55 28          	lea    0x28(%r13),%rdx
18003dd42:	e8 79 7c 0f 00       	call   0x1801359c0
18003dd47:	45 33 c9             	xor    %r9d,%r9d
18003dd4a:	48 89 5f 30          	mov    %rbx,0x30(%rdi)
18003dd4e:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18003dd52:	ba 03 00 00 31       	mov    $0x31000003,%edx
18003dd57:	48 8b ce             	mov    %rsi,%rcx
18003dd5a:	e8 09 e9 03 00       	call   0x18007c668
18003dd5f:	4c 8b 6d f0          	mov    -0x10(%rbp),%r13
18003dd63:	85 c0                	test   %eax,%eax
18003dd65:	0f 88 95 00 00 00    	js     0x18003de00
18003dd6b:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18003dd6f:	ba 04 00 00 32       	mov    $0x32000004,%edx
18003dd74:	48 8b ce             	mov    %rsi,%rcx
18003dd77:	e8 dc e7 03 00       	call   0x18007c558
18003dd7c:	4c 8b 75 40          	mov    0x40(%rbp),%r14
18003dd80:	8b d8                	mov    %eax,%ebx
18003dd82:	85 c0                	test   %eax,%eax
18003dd84:	0f 88 5d 01 00 00    	js     0x18003dee7
18003dd8a:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18003dd8e:	48 ff c0             	inc    %rax
18003dd91:	66 45 39 24 46       	cmp    %r12w,(%r14,%rax,2)
18003dd96:	75 f6                	jne    0x18003dd8e
18003dd98:	44 8d 24 45 02 00 00 	lea    0x2(,%rax,2),%r12d
18003dd9f:	00
18003dda0:	41 8b 45 08          	mov    0x8(%r13),%eax
18003dda4:	83 c0 0c             	add    $0xc,%eax
18003dda7:	41 03 c4             	add    %r12d,%eax
18003ddaa:	8b c8                	mov    %eax,%ecx
18003ddac:	89 45 40             	mov    %eax,0x40(%rbp)
18003ddaf:	e8 9c c0 05 00       	call   0x180099e50
18003ddb4:	4c 8b f8             	mov    %rax,%r15
18003ddb7:	48 85 c0             	test   %rax,%rax
18003ddba:	0f 84 27 01 00 00    	je     0x18003dee7
18003ddc0:	48 89 07             	mov    %rax,(%rdi)
18003ddc3:	49 8d 4f 0c          	lea    0xc(%r15),%rcx
18003ddc7:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
18003ddcd:	49 8b d5             	mov    %r13,%rdx
18003ddd0:	c7 40 08 05 00 00 00 	movl   $0x5,0x8(%rax)
18003ddd7:	8b 45 40             	mov    0x40(%rbp),%eax
18003ddda:	41 89 47 04          	mov    %eax,0x4(%r15)
18003ddde:	45 8b 45 08          	mov    0x8(%r13),%r8d
18003dde2:	e8 d9 7b 0f 00       	call   0x1801359c0
18003dde7:	41 8b 4d 08          	mov    0x8(%r13),%ecx
18003ddeb:	49 8b d6             	mov    %r14,%rdx
18003ddee:	48 83 c1 0c          	add    $0xc,%rcx
18003ddf2:	45 8b c4             	mov    %r12d,%r8d
18003ddf5:	49 03 cf             	add    %r15,%rcx
18003ddf8:	e8 c3 7b 0f 00       	call   0x1801359c0
18003ddfd:	45 33 e4             	xor    %r12d,%r12d
18003de00:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003de04:	ba 01 00 00 35       	mov    $0x35000001,%edx
18003de09:	48 8b ce             	mov    %rsi,%rcx
18003de0c:	e8 af e6 03 00       	call   0x18007c4c0
18003de11:	85 c0                	test   %eax,%eax
18003de13:	78 06                	js     0x18003de1b
18003de15:	8b 45 58             	mov    0x58(%rbp),%eax
18003de18:	89 47 08             	mov    %eax,0x8(%rdi)
18003de1b:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003de1f:	ba 05 00 00 35       	mov    $0x35000005,%edx
18003de24:	48 8b ce             	mov    %rsi,%rcx
18003de27:	e8 94 e6 03 00       	call   0x18007c4c0
18003de2c:	85 c0                	test   %eax,%eax
18003de2e:	78 08                	js     0x18003de38
18003de30:	48 8b 45 58          	mov    0x58(%rbp),%rax
18003de34:	48 89 47 10          	mov    %rax,0x10(%rdi)
18003de38:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003de3c:	ba 02 00 00 35       	mov    $0x35000002,%edx
18003de41:	48 8b ce             	mov    %rsi,%rcx
18003de44:	e8 77 e6 03 00       	call   0x18007c4c0
18003de49:	85 c0                	test   %eax,%eax
18003de4b:	78 08                	js     0x18003de55
18003de4d:	0f b7 45 58          	movzwl 0x58(%rbp),%eax
18003de51:	66 89 47 18          	mov    %ax,0x18(%rdi)
18003de55:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003de59:	ba 07 00 00 35       	mov    $0x35000007,%edx
18003de5e:	48 8b ce             	mov    %rsi,%rcx
18003de61:	e8 5a e6 03 00       	call   0x18007c4c0
18003de66:	85 c0                	test   %eax,%eax
18003de68:	78 06                	js     0x18003de70
18003de6a:	8b 45 58             	mov    0x58(%rbp),%eax
18003de6d:	89 47 1c             	mov    %eax,0x1c(%rdi)
18003de70:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003de74:	ba 08 00 00 35       	mov    $0x35000008,%edx
18003de79:	48 8b ce             	mov    %rsi,%rcx
18003de7c:	e8 3f e6 03 00       	call   0x18007c4c0
18003de81:	85 c0                	test   %eax,%eax
18003de83:	78 06                	js     0x18003de8b
18003de85:	8b 45 58             	mov    0x58(%rbp),%eax
18003de88:	89 47 20             	mov    %eax,0x20(%rdi)
18003de8b:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18003de8f:	ba 0b 00 00 36       	mov    $0x3600000b,%edx
18003de94:	48 8b ce             	mov    %rsi,%rcx
18003de97:	e8 78 e5 03 00       	call   0x18007c414
18003de9c:	85 c0                	test   %eax,%eax
18003de9e:	78 06                	js     0x18003dea6
18003dea0:	8a 45 40             	mov    0x40(%rbp),%al
18003dea3:	88 47 24             	mov    %al,0x24(%rdi)
18003dea6:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18003deaa:	ba 09 00 00 36       	mov    $0x36000009,%edx
18003deaf:	48 8b ce             	mov    %rsi,%rcx
18003deb2:	e8 5d e5 03 00       	call   0x18007c414
18003deb7:	85 c0                	test   %eax,%eax
18003deb9:	78 0a                	js     0x18003dec5
18003debb:	44 38 65 40          	cmp    %r12b,0x40(%rbp)
18003debf:	74 04                	je     0x18003dec5
18003dec1:	83 4f 28 01          	orl    $0x1,0x28(%rdi)
18003dec5:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18003dec9:	ba 0a 00 00 36       	mov    $0x3600000a,%edx
18003dece:	48 8b ce             	mov    %rsi,%rcx
18003ded1:	e8 3e e5 03 00       	call   0x18007c414
18003ded6:	85 c0                	test   %eax,%eax
18003ded8:	78 06                	js     0x18003dee0
18003deda:	44 38 65 40          	cmp    %r12b,0x40(%rbp)
18003dede:	74 04                	je     0x18003dee4
18003dee0:	83 4f 28 02          	orl    $0x2,0x28(%rdi)
18003dee4:	41 8b dc             	mov    %r12d,%ebx
18003dee7:	4d 85 ed             	test   %r13,%r13
18003deea:	74 08                	je     0x18003def4
18003deec:	49 8b cd             	mov    %r13,%rcx
18003deef:	e8 08 c1 05 00       	call   0x180099ffc
18003def4:	4d 85 f6             	test   %r14,%r14
18003def7:	74 08                	je     0x18003df01
18003def9:	49 8b ce             	mov    %r14,%rcx
18003defc:	e8 fb c0 05 00       	call   0x180099ffc
18003df01:	85 db                	test   %ebx,%ebx
18003df03:	79 0f                	jns    0x18003df14
18003df05:	eb 05                	jmp    0x18003df0c
18003df07:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
18003df0c:	48 8b cf             	mov    %rdi,%rcx
18003df0f:	e8 00 01 00 00       	call   0x18003e014
18003df14:	8b c3                	mov    %ebx,%eax
18003df16:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
18003df1b:	48 83 c4 30          	add    $0x30,%rsp
18003df1f:	41 5f                	pop    %r15
18003df21:	41 5e                	pop    %r14
18003df23:	41 5d                	pop    %r13
18003df25:	41 5c                	pop    %r12
18003df27:	5f                   	pop    %rdi
18003df28:	5e                   	pop    %rsi
18003df29:	5d                   	pop    %rbp
18003df2a:	c3                   	ret
18003df2b:	cc                   	int3
18003df2c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003df31:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18003df36:	56                   	push   %rsi
18003df37:	57                   	push   %rdi
18003df38:	41 56                	push   %r14
18003df3a:	48 83 ec 20          	sub    $0x20,%rsp
18003df3e:	33 db                	xor    %ebx,%ebx
18003df40:	4d 8b f1             	mov    %r9,%r14
18003df43:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
18003df48:	41 8b e8             	mov    %r8d,%ebp
18003df4b:	48 8b fa             	mov    %rdx,%rdi
18003df4e:	48 8b f1             	mov    %rcx,%rsi
18003df51:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
18003df58:	0f 82 99 00 00 00    	jb     0x18003dff7
18003df5e:	44 8d 43 09          	lea    0x9(%rbx),%r8d
18003df62:	48 8d 15 6f 0c 11 00 	lea    0x110c6f(%rip),%rdx        # 0x18014ebd8
18003df69:	e8 f2 5e 0f 00       	call   0x180133e60
18003df6e:	48 85 c0             	test   %rax,%rax
18003df71:	0f 84 80 00 00 00    	je     0x18003dff7
18003df77:	40 f6 c5 02          	test   $0x2,%bpl
18003df7b:	74 1f                	je     0x18003df9c
18003df7d:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
18003df82:	ba 57 49 4d 00       	mov    $0x4d4957,%edx
18003df87:	48 8b ce             	mov    %rsi,%rcx
18003df8a:	e8 29 f2 00 00       	call   0x18004d1b8
18003df8f:	4c 8b c0             	mov    %rax,%r8
18003df92:	48 85 c0             	test   %rax,%rax
18003df95:	74 05                	je     0x18003df9c
18003df97:	44 2b c6             	sub    %esi,%r8d
18003df9a:	eb 22                	jmp    0x18003dfbe
18003df9c:	40 f6 c5 01          	test   $0x1,%bpl
18003dfa0:	74 55                	je     0x18003dff7
18003dfa2:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
18003dfa7:	ba 50 41 52 54       	mov    $0x54524150,%edx
18003dfac:	48 8b ce             	mov    %rsi,%rcx
18003dfaf:	e8 04 f2 00 00       	call   0x18004d1b8
18003dfb4:	48 85 c0             	test   %rax,%rax
18003dfb7:	74 3e                	je     0x18003dff7
18003dfb9:	2b c6                	sub    %esi,%eax
18003dfbb:	44 8b c0             	mov    %eax,%r8d
18003dfbe:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
18003dfc3:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
18003dfc8:	41 8b c0             	mov    %r8d,%eax
18003dfcb:	45 89 06             	mov    %r8d,(%r14)
18003dfce:	48 89 0a             	mov    %rcx,(%rdx)
18003dfd1:	48 3b c7             	cmp    %rdi,%rax
18003dfd4:	72 06                	jb     0x18003dfdc
18003dfd6:	41 89 1e             	mov    %ebx,(%r14)
18003dfd9:	44 8b c3             	mov    %ebx,%r8d
18003dfdc:	48 85 c9             	test   %rcx,%rcx
18003dfdf:	74 0b                	je     0x18003dfec
18003dfe1:	41 8b c0             	mov    %r8d,%eax
18003dfe4:	48 03 c1             	add    %rcx,%rax
18003dfe7:	48 3b c7             	cmp    %rdi,%rax
18003dfea:	76 10                	jbe    0x18003dffc
18003dfec:	41 8b c0             	mov    %r8d,%eax
18003dfef:	48 2b f8             	sub    %rax,%rdi
18003dff2:	48 89 3a             	mov    %rdi,(%rdx)
18003dff5:	eb 05                	jmp    0x18003dffc
18003dff7:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
18003dffc:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
18003e001:	8b c3                	mov    %ebx,%eax
18003e003:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18003e008:	48 83 c4 20          	add    $0x20,%rsp
18003e00c:	41 5e                	pop    %r14
18003e00e:	5f                   	pop    %rdi
18003e00f:	5e                   	pop    %rsi
18003e010:	c3                   	ret
18003e011:	cc                   	int3
18003e012:	cc                   	int3
18003e013:	cc                   	int3
18003e014:	40 53                	rex push %rbx
18003e016:	48 83 ec 20          	sub    $0x20,%rsp
18003e01a:	48 8b d9             	mov    %rcx,%rbx
18003e01d:	48 8b 49 30          	mov    0x30(%rcx),%rcx
18003e021:	48 85 c9             	test   %rcx,%rcx
18003e024:	74 0a                	je     0x18003e030
18003e026:	e8 d1 bf 05 00       	call   0x180099ffc
18003e02b:	48 83 63 30 00       	andq   $0x0,0x30(%rbx)
18003e030:	48 8b 0b             	mov    (%rbx),%rcx
18003e033:	48 85 c9             	test   %rcx,%rcx
18003e036:	74 09                	je     0x18003e041
18003e038:	e8 bf bf 05 00       	call   0x180099ffc
18003e03d:	48 83 23 00          	andq   $0x0,(%rbx)
18003e041:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
18003e045:	48 85 c9             	test   %rcx,%rcx
18003e048:	74 0c                	je     0x18003e056