180004a95:	4c 8d 05 cc 05 14 00 	lea    0x1405cc(%rip),%r8        # 0x180145068
180004a9c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004aa1:	e8 6e f3 ff ff       	call   0x180003e14
180004aa6:	8b d8                	mov    %eax,%ebx
180004aa8:	85 c0                	test   %eax,%eax
180004aaa:	78 0c                	js     0x180004ab8
180004aac:	83 7c 24 60 01       	cmpl   $0x1,0x60(%rsp)
180004ab1:	74 27                	je     0x180004ada
180004ab3:	bb 24 00 00 c0       	mov    $0xc0000024,%ebx
180004ab8:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
180004abd:	48 85 c9             	test   %rcx,%rcx
180004ac0:	74 05                	je     0x180004ac7
180004ac2:	e8 35 55 09 00       	call   0x180099ffc
180004ac7:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
180004acc:	8b c3                	mov    %ebx,%eax
180004ace:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180004ad3:	48 83 c4 40          	add    $0x40,%rsp
180004ad7:	5f                   	pop    %rdi
180004ad8:	c3                   	ret
180004ad9:	cc                   	int3
180004ada:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180004adf:	48 89 06             	mov    %rax,(%rsi)
180004ae2:	eb e3                	jmp    0x180004ac7
180004ae4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180004ae9:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180004aee:	55                   	push   %rbp
180004aef:	56                   	push   %rsi
180004af0:	57                   	push   %rdi
180004af1:	41 54                	push   %r12
180004af3:	41 55                	push   %r13
180004af5:	41 56                	push   %r14
180004af7:	41 57                	push   %r15
180004af9:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
180004afe:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
180004b05:	48 8b da             	mov    %rdx,%rbx
180004b08:	4c 8d 45 77          	lea    0x77(%rbp),%r8
180004b0c:	45 33 e4             	xor    %r12d,%r12d
180004b0f:	48 8d 15 9a 04 14 00 	lea    0x14049a(%rip),%rdx        # 0x180144fb0
180004b16:	4c 89 65 cf          	mov    %r12,-0x31(%rbp)
180004b1a:	44 8b f9             	mov    %ecx,%r15d
180004b1d:	4c 89 65 c7          	mov    %r12,-0x39(%rbp)
180004b21:	e8 b6 fd ff ff       	call   0x1800048dc
180004b26:	8b f8                	mov    %eax,%edi
180004b28:	85 c0                	test   %eax,%eax
180004b2a:	0f 88 8a 01 00 00    	js     0x180004cba
180004b30:	48 8b 55 77          	mov    0x77(%rbp),%rdx
180004b34:	4c 8d 4d df          	lea    -0x21(%rbp),%r9
180004b38:	4c 8d 05 f1 04 14 00 	lea    0x1404f1(%rip),%r8        # 0x180145030
180004b3f:	41 8b cf             	mov    %r15d,%ecx
180004b42:	e8 1d ee ff ff       	call   0x180003964
180004b47:	8b f8                	mov    %eax,%edi
180004b49:	85 c0                	test   %eax,%eax
180004b4b:	0f 88 69 01 00 00    	js     0x180004cba
180004b51:	b9 02 0b 00 00       	mov    $0xb02,%ecx
180004b56:	e8 f5 52 09 00       	call   0x180099e50
180004b5b:	48 8b f0             	mov    %rax,%rsi
180004b5e:	48 85 c0             	test   %rax,%rax
180004b61:	75 0a                	jne    0x180004b6d
180004b63:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
180004b68:	e9 4d 01 00 00       	jmp    0x180004cba
180004b6d:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
180004b71:	4c 8d 4d d7          	lea    -0x29(%rbp),%r9
180004b75:	66 44 89 20          	mov    %r12w,(%rax)
180004b79:	45 33 c0             	xor    %r8d,%r8d
180004b7c:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
180004b80:	41 8b cf             	mov    %r15d,%ecx
180004b83:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004b88:	45 8b ec             	mov    %r12d,%r13d
180004b8b:	e8 24 ef ff ff       	call   0x180003ab4
180004b90:	85 c0                	test   %eax,%eax
180004b92:	0f 88 06 01 00 00    	js     0x180004c9e
180004b98:	4c 8b 75 c7          	mov    -0x39(%rbp),%r14
180004b9c:	48 8d 15 fd 04 14 00 	lea    0x1404fd(%rip),%rdx        # 0x1801450a0
180004ba3:	49 8b ce             	mov    %r14,%rcx
180004ba6:	41 b8 04 00 00 00    	mov    $0x4,%r8d
180004bac:	41 ff c5             	inc    %r13d
180004baf:	e8 88 62 12 00       	call   0x18012ae3c
180004bb4:	85 c0                	test   %eax,%eax
180004bb6:	74 11                	je     0x180004bc9
180004bb8:	49 8b ce             	mov    %r14,%rcx
180004bbb:	e8 3c 54 09 00       	call   0x180099ffc
180004bc0:	4c 89 65 c7          	mov    %r12,-0x39(%rbp)
180004bc4:	e9 ad 00 00 00       	jmp    0x180004c76
180004bc9:	49 8d 5e 08          	lea    0x8(%r14),%rbx
180004bcd:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
180004bd3:	48 8b cb             	mov    %rbx,%rcx
180004bd6:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
180004bda:	e8 c9 62 12 00       	call   0x18012aea8
180004bdf:	4c 8b e0             	mov    %rax,%r12
180004be2:	49 8b ce             	mov    %r14,%rcx
180004be5:	48 3b 5d cf          	cmp    -0x31(%rbp),%rbx
180004be9:	75 0a                	jne    0x180004bf5
180004beb:	e8 0c 54 09 00       	call   0x180099ffc
180004bf0:	45 33 e4             	xor    %r12d,%r12d
180004bf3:	eb cb                	jmp    0x180004bc0
180004bf5:	e8 02 54 09 00       	call   0x180099ffc
180004bfa:	48 83 65 c7 00       	andq   $0x0,-0x39(%rbp)
180004bff:	49 83 fc 40          	cmp    $0x40,%r12
180004c03:	73 6e                	jae    0x180004c73
180004c05:	48 8b 55 d7          	mov    -0x29(%rbp),%rdx
180004c09:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
180004c0d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180004c12:	4c 8d 4d 7f          	lea    0x7f(%rbp),%r9
180004c16:	48 8d 45 77          	lea    0x77(%rbp),%rax
180004c1a:	c7 45 77 08 00 00 00 	movl   $0x8,0x77(%rbp)
180004c21:	4c 8d 05 88 04 14 00 	lea    0x140488(%rip),%r8        # 0x1801450b0
180004c28:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004c2d:	41 8b cf             	mov    %r15d,%ecx
180004c30:	e8 bf f0 ff ff       	call   0x180003cf4
180004c35:	8b f8                	mov    %eax,%edi
180004c37:	85 c0                	test   %eax,%eax
180004c39:	78 38                	js     0x180004c73
180004c3b:	83 7d 7f 0b          	cmpl   $0xb,0x7f(%rbp)
180004c3f:	75 32                	jne    0x180004c73
180004c41:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
180004c45:	4c 8d 05 a4 04 14 00 	lea    0x1404a4(%rip),%r8        # 0x1801450f0
180004c4c:	4d 8b cc             	mov    %r12,%r9
180004c4f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004c54:	ba 17 00 00 00       	mov    $0x17,%edx
180004c59:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
180004c5d:	e8 da 8e 12 00       	call   0x18012db3c
180004c62:	4c 8d 45 ef          	lea    -0x11(%rbp),%r8
180004c66:	ba 81 05 00 00       	mov    $0x581,%edx
180004c6b:	48 8b ce             	mov    %rsi,%rcx
180004c6e:	e8 3d 8f 12 00       	call   0x18012dbb0
180004c73:	45 33 e4             	xor    %r12d,%r12d
180004c76:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
180004c7a:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
180004c7e:	4c 8d 4d d7          	lea    -0x29(%rbp),%r9
180004c82:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004c87:	45 8b c5             	mov    %r13d,%r8d
180004c8a:	41 8b cf             	mov    %r15d,%ecx
180004c8d:	e8 22 ee ff ff       	call   0x180003ab4
180004c92:	85 c0                	test   %eax,%eax
180004c94:	0f 89 fe fe ff ff    	jns    0x180004b98
180004c9a:	48 8b 5d 6f          	mov    0x6f(%rbp),%rbx
180004c9e:	66 44 39 26          	cmp    %r12w,(%rsi)
180004ca2:	75 07                	jne    0x180004cab
180004ca4:	bf 25 02 00 c0       	mov    $0xc0000225,%edi
180004ca9:	eb 07                	jmp    0x180004cb2
180004cab:	48 89 33             	mov    %rsi,(%rbx)
180004cae:	85 ff                	test   %edi,%edi
180004cb0:	79 08                	jns    0x180004cba
180004cb2:	48 8b ce             	mov    %rsi,%rcx
180004cb5:	e8 42 53 09 00       	call   0x180099ffc
180004cba:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
180004cc1:	00
180004cc2:	8b c7                	mov    %edi,%eax
180004cc4:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
180004ccb:	41 5f                	pop    %r15
180004ccd:	41 5e                	pop    %r14
180004ccf:	41 5d                	pop    %r13
180004cd1:	41 5c                	pop    %r12
180004cd3:	5f                   	pop    %rdi
180004cd4:	5e                   	pop    %rsi
180004cd5:	5d                   	pop    %rbp
180004cd6:	c3                   	ret
180004cd7:	cc                   	int3
180004cd8:	33 c0                	xor    %eax,%eax
180004cda:	c3                   	ret
180004cdb:	cc                   	int3
180004cdc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180004ce1:	57                   	push   %rdi
180004ce2:	48 83 ec 30          	sub    $0x30,%rsp
180004ce6:	33 db                	xor    %ebx,%ebx
180004ce8:	48 8b fa             	mov    %rdx,%rdi
180004ceb:	85 c9                	test   %ecx,%ecx
180004ced:	0f 85 88 00 00 00    	jne    0x180004d7b
180004cf3:	45 33 c9             	xor    %r9d,%r9d
180004cf6:	48 89 1d 1b 0c 19 00 	mov    %rbx,0x190c1b(%rip)        # 0x180195918
180004cfd:	45 33 c0             	xor    %r8d,%r8d
180004d00:	8d 53 01             	lea    0x1(%rbx),%edx
180004d03:	48 8d 0d 0e 0c 19 00 	lea    0x190c0e(%rip),%rcx        # 0x180195918
180004d0a:	e8 39 5f 09 00       	call   0x18009ac48
180004d0f:	85 c0                	test   %eax,%eax
180004d11:	79 07                	jns    0x180004d1a
180004d13:	8b d8                	mov    %eax,%ebx
180004d15:	e9 98 00 00 00       	jmp    0x180004db2
180004d1a:	41 b9 00 00 04 00    	mov    $0x40000,%r9d
180004d20:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
180004d24:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
180004d2a:	48 8d 0d e7 0b 19 00 	lea    0x190be7(%rip),%rcx        # 0x180195918
180004d31:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
180004d35:	e8 e6 57 09 00       	call   0x18009a520
180004d3a:	8b f8                	mov    %eax,%edi
180004d3c:	85 c0                	test   %eax,%eax
180004d3e:	79 37                	jns    0x180004d77
180004d40:	48 8b 0d d1 0b 19 00 	mov    0x190bd1(%rip),%rcx        # 0x180195918
180004d47:	48 85 c9             	test   %rcx,%rcx
180004d4a:	74 2b                	je     0x180004d77
180004d4c:	45 33 c0             	xor    %r8d,%r8d
180004d4f:	ba 00 10 00 00       	mov    $0x1000,%edx
180004d54:	e8 13 5b 09 00       	call   0x18009a86c
180004d59:	85 c0                	test   %eax,%eax
180004d5b:	79 04                	jns    0x180004d61
180004d5d:	8b f8                	mov    %eax,%edi
180004d5f:	eb 16                	jmp    0x180004d77
180004d61:	48 8b 0d b0 0b 19 00 	mov    0x190bb0(%rip),%rcx        # 0x180195918
180004d68:	ba 01 00 00 00       	mov    $0x1,%edx
180004d6d:	e8 06 60 09 00       	call   0x18009ad78
180004d72:	85 c0                	test   %eax,%eax
180004d74:	0f 48 f8             	cmovs  %eax,%edi
180004d77:	8b df                	mov    %edi,%ebx
180004d79:	eb 37                	jmp    0x180004db2
180004d7b:	83 f9 01             	cmp    $0x1,%ecx
180004d7e:	75 32                	jne    0x180004db2
180004d80:	48 8b 8a f0 00 00 00 	mov    0xf0(%rdx),%rcx
180004d87:	48 81 c1 80 0d 00 00 	add    $0xd80,%rcx
180004d8e:	e8 e1 1e 11 00       	call   0x180116c74
180004d93:	48 8b 8f f0 00 00 00 	mov    0xf0(%rdi),%rcx
180004d9a:	0f b6 d0             	movzbl %al,%edx
180004d9d:	c1 e2 1c             	shl    $0x1c,%edx
180004da0:	33 91 84 00 00 00    	xor    0x84(%rcx),%edx
180004da6:	81 e2 00 00 00 10    	and    $0x10000000,%edx
180004dac:	31 91 84 00 00 00    	xor    %edx,0x84(%rcx)
180004db2:	8b c3                	mov    %ebx,%eax
180004db4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180004db9:	48 83 c4 30          	add    $0x30,%rsp
180004dbd:	5f                   	pop    %rdi
180004dbe:	c3                   	ret
180004dbf:	cc                   	int3
180004dc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180004dc5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180004dca:	57                   	push   %rdi
180004dcb:	48 83 ec 20          	sub    $0x20,%rsp
180004dcf:	33 ff                	xor    %edi,%edi
180004dd1:	48 8b f1             	mov    %rcx,%rsi
180004dd4:	48 39 3d c5 02 1a 00 	cmp    %rdi,0x1a02c5(%rip)        # 0x1801a50a0
180004ddb:	75 0b                	jne    0x180004de8
180004ddd:	e8 6a 00 02 00       	call   0x180024e4c
180004de2:	8b d8                	mov    %eax,%ebx
180004de4:	85 c0                	test   %eax,%eax
180004de6:	78 09                	js     0x180004df1
180004de8:	48 8d 3d b1 02 1a 00 	lea    0x1a02b1(%rip),%rdi        # 0x1801a50a0
180004def:	33 db                	xor    %ebx,%ebx
180004df1:	85 db                	test   %ebx,%ebx
180004df3:	79 07                	jns    0x180004dfc
180004df5:	8b c3                	mov    %ebx,%eax
180004df7:	e9 d3 00 00 00       	jmp    0x180004ecf
180004dfc:	48 8b 0f             	mov    (%rdi),%rcx
180004dff:	33 c0                	xor    %eax,%eax
180004e01:	48 3b cf             	cmp    %rdi,%rcx
180004e04:	0f 84 a6 00 00 00    	je     0x180004eb0
180004e0a:	48 8b 09             	mov    (%rcx),%rcx
180004e0d:	ff c0                	inc    %eax
180004e0f:	48 3b cf             	cmp    %rdi,%rcx
180004e12:	75 f6                	jne    0x180004e0a
180004e14:	85 c0                	test   %eax,%eax
180004e16:	0f 84 94 00 00 00    	je     0x180004eb0
180004e1c:	8d 0c 40             	lea    (%rax,%rax,2),%ecx
180004e1f:	c1 e1 03             	shl    $0x3,%ecx
180004e22:	e8 29 50 09 00       	call   0x180099e50
180004e27:	4c 8b c0             	mov    %rax,%r8
180004e2a:	48 85 c0             	test   %rax,%rax
180004e2d:	75 07                	jne    0x180004e36
180004e2f:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180004e34:	eb bf                	jmp    0x180004df5
180004e36:	48 8b 0f             	mov    (%rdi),%rcx
180004e39:	49 8b d0             	mov    %r8,%rdx
180004e3c:	eb 2f                	jmp    0x180004e6d
180004e3e:	80 79 20 07          	cmpb   $0x7,0x20(%rcx)
180004e42:	74 26                	je     0x180004e6a
180004e44:	33 c0                	xor    %eax,%eax
180004e46:	38 41 20             	cmp    %al,0x20(%rcx)
180004e49:	0f 95 c0             	setne  %al
180004e4c:	89 42 10             	mov    %eax,0x10(%rdx)
180004e4f:	48 8b 41 10          	mov    0x10(%rcx),%rax
180004e53:	48 c1 e8 0c          	shr    $0xc,%rax
180004e57:	48 89 02             	mov    %rax,(%rdx)
180004e5a:	48 8b 41 18          	mov    0x18(%rcx),%rax
180004e5e:	48 c1 e8 0c          	shr    $0xc,%rax
180004e62:	48 89 42 08          	mov    %rax,0x8(%rdx)
180004e66:	48 83 c2 18          	add    $0x18,%rdx
180004e6a:	48 8b 09             	mov    (%rcx),%rcx
180004e6d:	48 3b cf             	cmp    %rdi,%rcx
180004e70:	75 cc                	jne    0x180004e3e
180004e72:	49 2b d0             	sub    %r8,%rdx
180004e75:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
180004e7c:	aa aa 2a
180004e7f:	48 f7 ea             	imul   %rdx
180004e82:	48 c1 fa 02          	sar    $0x2,%rdx
180004e86:	48 8b c2             	mov    %rdx,%rax
180004e89:	48 c1 e8 3f          	shr    $0x3f,%rax
180004e8d:	48 03 d0             	add    %rax,%rdx
180004e90:	48 8b 86 f0 00 00 00 	mov    0xf0(%rsi),%rax
180004e97:	89 90 48 01 00 00    	mov    %edx,0x148(%rax)
180004e9d:	48 8b 86 f0 00 00 00 	mov    0xf0(%rsi),%rax
180004ea4:	4c 89 80 50 01 00 00 	mov    %r8,0x150(%rax)
180004eab:	e9 45 ff ff ff       	jmp    0x180004df5
180004eb0:	48 8b 86 f0 00 00 00 	mov    0xf0(%rsi),%rax
180004eb7:	83 a0 48 01 00 00 00 	andl   $0x0,0x148(%rax)
180004ebe:	48 8b 86 f0 00 00 00 	mov    0xf0(%rsi),%rax
180004ec5:	48 83 a0 50 01 00 00 	andq   $0x0,0x150(%rax)
180004ecc:	00
180004ecd:	33 c0                	xor    %eax,%eax
180004ecf:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180004ed4:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180004ed9:	48 83 c4 20          	add    $0x20,%rsp
180004edd:	5f                   	pop    %rdi
180004ede:	c3                   	ret
180004edf:	cc                   	int3
180004ee0:	48 85 c9             	test   %rcx,%rcx
180004ee3:	74 03                	je     0x180004ee8
180004ee5:	c6 01 00             	movb   $0x0,(%rcx)
180004ee8:	32 c0                	xor    %al,%al
180004eea:	c3                   	ret
180004eeb:	cc                   	int3
180004eec:	48 83 ec 48          	sub    $0x48,%rsp
180004ef0:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
180004ef5:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180004efb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180004f00:	e8 8b c9 ff ff       	call   0x180001890
180004f05:	48 83 c4 48          	add    $0x48,%rsp
180004f09:	c3                   	ret
180004f0a:	cc                   	int3
180004f0b:	cc                   	int3
180004f0c:	4c 8b dc             	mov    %rsp,%r11
180004f0f:	45 89 4b 20          	mov    %r9d,0x20(%r11)
180004f13:	48 83 ec 58          	sub    $0x58,%rsp
180004f17:	49 8d 43 20          	lea    0x20(%r11),%rax
180004f1b:	41 b9 02 00 00 00    	mov    $0x2,%r9d
180004f21:	49 89 43 e8          	mov    %rax,-0x18(%r11)
180004f25:	49 8d 43 d8          	lea    -0x28(%r11),%rax
180004f29:	83 64 24 4c 00       	andl   $0x0,0x4c(%rsp)
180004f2e:	49 89 43 c8          	mov    %rax,-0x38(%r11)
180004f32:	c7 44 24 48 04 00 00 	movl   $0x4,0x48(%rsp)
180004f39:	00
180004f3a:	e8 51 c9 ff ff       	call   0x180001890
180004f3f:	48 83 c4 58          	add    $0x58,%rsp
180004f43:	c3                   	ret
180004f44:	cc                   	int3
180004f45:	cc                   	int3
180004f46:	cc                   	int3
180004f47:	cc                   	int3
180004f48:	4c 8b dc             	mov    %rsp,%r11
180004f4b:	45 89 4b 20          	mov    %r9d,0x20(%r11)
180004f4f:	48 83 ec 68          	sub    $0x68,%rsp
180004f53:	b9 04 00 00 00       	mov    $0x4,%ecx
180004f58:	49 8d 43 20          	lea    0x20(%r11),%rax
180004f5c:	49 89 43 d8          	mov    %rax,-0x28(%r11)
180004f60:	49 8d 43 28          	lea    0x28(%r11),%rax
180004f64:	83 64 24 4c 00       	andl   $0x0,0x4c(%rsp)
180004f69:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
180004f6d:	49 89 43 e8          	mov    %rax,-0x18(%r11)
180004f71:	44 8d 49 ff          	lea    -0x1(%rcx),%r9d
180004f75:	83 64 24 5c 00       	andl   $0x0,0x5c(%rsp)
180004f7a:	49 8d 43 c8          	lea    -0x38(%r11),%rax
180004f7e:	49 89 43 b8          	mov    %rax,-0x48(%r11)
180004f82:	89 4c 24 58          	mov    %ecx,0x58(%rsp)
180004f86:	e8 05 c9 ff ff       	call   0x180001890