140002a41:	57                   	push   %rdi
140002a42:	41 54                	push   %r12
140002a44:	41 55                	push   %r13
140002a46:	41 56                	push   %r14
140002a48:	41 57                	push   %r15
140002a4a:	48 83 ec 60          	sub    $0x60,%rsp
140002a4e:	48 c7 40 b8 fe ff ff 	movq   $0xfffffffffffffffe,-0x48(%rax)
140002a55:	ff
140002a56:	4d 8b e8             	mov    %r8,%r13
140002a59:	4c 8b e2             	mov    %rdx,%r12
140002a5c:	4c 8b f9             	mov    %rcx,%r15
140002a5f:	33 f6                	xor    %esi,%esi
140002a61:	48 85 d2             	test   %rdx,%rdx
140002a64:	0f 84 3d 02 00 00    	je     0x140002ca7
140002a6a:	4d 85 c0             	test   %r8,%r8
140002a6d:	0f 84 34 02 00 00    	je     0x140002ca7
140002a73:	44 8b f6             	mov    %esi,%r14d
140002a76:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140002a7a:	48 8b c3             	mov    %rbx,%rax
140002a7d:	48 ff c0             	inc    %rax
140002a80:	66 39 34 42          	cmp    %si,(%rdx,%rax,2)
140002a84:	75 f7                	jne    0x140002a7d
140002a86:	48 8d 0c 45 02 00 00 	lea    0x2(,%rax,2),%rcx
140002a8d:	00
140002a8e:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140002a93:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140002a98:	b8 02 00 00 00       	mov    $0x2,%eax
140002a9d:	48 f7 e1             	mul    %rcx
140002aa0:	48 0f 40 c3          	cmovo  %rbx,%rax
140002aa4:	48 8b c8             	mov    %rax,%rcx
140002aa7:	e8 00 3c 00 00       	call   0x1400066ac
140002aac:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002ab1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140002ab6:	eb 2b                	jmp    0x140002ae3
140002ab8:	33 f6                	xor    %esi,%esi
140002aba:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140002abe:	4c 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%r15
140002ac5:	00
140002ac6:	4c 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%r13
140002acd:	00
140002ace:	4c 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12
140002ad5:	00
140002ad6:	44 8b f6             	mov    %esi,%r14d
140002ad9:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140002ade:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002ae3:	48 8b f8             	mov    %rax,%rdi
140002ae6:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140002aeb:	48 8b cb             	mov    %rbx,%rcx
140002aee:	48 ff c1             	inc    %rcx
140002af1:	66 41 39 74 4d 00    	cmp    %si,0x0(%r13,%rcx,2)
140002af7:	75 f5                	jne    0x140002aee
140002af9:	ff c1                	inc    %ecx
140002afb:	48 63 c9             	movslq %ecx,%rcx
140002afe:	48 03 c9             	add    %rcx,%rcx
140002b01:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140002b06:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140002b0b:	b8 02 00 00 00       	mov    $0x2,%eax
140002b10:	48 f7 e1             	mul    %rcx
140002b13:	48 0f 40 c3          	cmovo  %rbx,%rax
140002b17:	48 8b c8             	mov    %rax,%rcx
140002b1a:	e8 8d 3b 00 00       	call   0x1400066ac
140002b1f:	48 8b d8             	mov    %rax,%rbx
140002b22:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140002b27:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140002b2c:	eb 31                	jmp    0x140002b5f
140002b2e:	33 f6                	xor    %esi,%esi
140002b30:	4c 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%r15
140002b37:	00
140002b38:	4c 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%r13
140002b3f:	00
140002b40:	4c 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12
140002b47:	00
140002b48:	44 8b f6             	mov    %esi,%r14d
140002b4b:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140002b50:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002b55:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140002b5a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140002b5f:	48 85 c0             	test   %rax,%rax
140002b62:	0f 84 11 01 00 00    	je     0x140002c79
140002b68:	48 85 db             	test   %rbx,%rbx
140002b6b:	0f 84 08 01 00 00    	je     0x140002c79
140002b71:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140002b76:	4c 8b ca             	mov    %rdx,%r9
140002b79:	4d 8b c4             	mov    %r12,%r8
140002b7c:	48 8b c8             	mov    %rax,%rcx
140002b7f:	48 ff 15 fa 5a 00 00 	rex.W call *0x5afa(%rip)        # 0x140008680
140002b86:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002b8b:	85 c0                	test   %eax,%eax
140002b8d:	74 24                	je     0x140002bb3
140002b8f:	83 f8 0c             	cmp    $0xc,%eax
140002b92:	0f 84 38 01 00 00    	je     0x140002cd0
140002b98:	83 f8 16             	cmp    $0x16,%eax
140002b9b:	0f 84 24 01 00 00    	je     0x140002cc5
140002ba1:	83 f8 22             	cmp    $0x22,%eax
140002ba4:	0f 84 1b 01 00 00    	je     0x140002cc5
140002baa:	83 f8 50             	cmp    $0x50,%eax
140002bad:	0f 85 07 01 00 00    	jne    0x140002cba
140002bb3:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
140002bb8:	4d 8b c5             	mov    %r13,%r8
140002bbb:	49 8b d1             	mov    %r9,%rdx
140002bbe:	48 8b cb             	mov    %rbx,%rcx
140002bc1:	48 ff 15 b8 5a 00 00 	rex.W call *0x5ab8(%rip)        # 0x140008680
140002bc8:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002bcd:	85 c0                	test   %eax,%eax
140002bcf:	74 24                	je     0x140002bf5
140002bd1:	83 f8 0c             	cmp    $0xc,%eax
140002bd4:	0f 84 f6 00 00 00    	je     0x140002cd0
140002bda:	83 f8 16             	cmp    $0x16,%eax
140002bdd:	0f 84 e2 00 00 00    	je     0x140002cc5
140002be3:	83 f8 22             	cmp    $0x22,%eax
140002be6:	0f 84 d9 00 00 00    	je     0x140002cc5
140002bec:	83 f8 50             	cmp    $0x50,%eax
140002bef:	0f 85 c5 00 00 00    	jne    0x140002cba
140002bf5:	41 8b 47 10          	mov    0x10(%r15),%eax
140002bf9:	ff c0                	inc    %eax
140002bfb:	48 63 d0             	movslq %eax,%rdx
140002bfe:	41 bc 08 00 00 00    	mov    $0x8,%r12d
140002c04:	45 8b c4             	mov    %r12d,%r8d
140002c07:	49 8b 0f             	mov    (%r15),%rcx
140002c0a:	48 ff 15 ef 53 00 00 	rex.W call *0x53ef(%rip)        # 0x140008000
140002c11:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002c16:	48 85 c0             	test   %rax,%rax
140002c19:	74 56                	je     0x140002c71
140002c1b:	49 89 07             	mov    %rax,(%r15)
140002c1e:	41 8b 47 10          	mov    0x10(%r15),%eax
140002c22:	ff c0                	inc    %eax
140002c24:	48 63 d0             	movslq %eax,%rdx
140002c27:	45 8b c4             	mov    %r12d,%r8d
140002c2a:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140002c2e:	48 ff 15 cb 53 00 00 	rex.W call *0x53cb(%rip)        # 0x140008000
140002c35:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002c3a:	48 85 c0             	test   %rax,%rax
140002c3d:	74 32                	je     0x140002c71
140002c3f:	49 89 47 08          	mov    %rax,0x8(%r15)
140002c43:	49 63 57 10          	movslq 0x10(%r15),%rdx
140002c47:	49 8b 0f             	mov    (%r15),%rcx
140002c4a:	4c 8d 04 d1          	lea    (%rcx,%rdx,8),%r8
140002c4e:	4d 85 c0             	test   %r8,%r8
140002c51:	74 0c                	je     0x140002c5f
140002c53:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140002c58:	49 89 00             	mov    %rax,(%r8)
140002c5b:	49 8b 47 08          	mov    0x8(%r15),%rax
140002c5f:	48 8d 04 d0          	lea    (%rax,%rdx,8),%rax
140002c63:	48 85 c0             	test   %rax,%rax
140002c66:	74 03                	je     0x140002c6b
140002c68:	48 89 18             	mov    %rbx,(%rax)
140002c6b:	41 ff 47 10          	incl   0x10(%r15)
140002c6f:	eb 0e                	jmp    0x140002c7f
140002c71:	41 be 0e 00 07 80    	mov    $0x8007000e,%r14d
140002c77:	eb 11                	jmp    0x140002c8a
140002c79:	41 be 0e 00 07 80    	mov    $0x8007000e,%r14d
140002c7f:	45 85 f6             	test   %r14d,%r14d
140002c82:	78 06                	js     0x140002c8a
140002c84:	48 8b fe             	mov    %rsi,%rdi
140002c87:	48 8b de             	mov    %rsi,%rbx
140002c8a:	41 f7 d6             	not    %r14d
140002c8d:	41 c1 ee 1f          	shr    $0x1f,%r14d
140002c91:	48 8b cb             	mov    %rbx,%rcx
140002c94:	e8 c7 39 00 00       	call   0x140006660
140002c99:	90                   	nop
140002c9a:	48 8b cf             	mov    %rdi,%rcx
140002c9d:	e8 be 39 00 00       	call   0x140006660
140002ca2:	41 8b c6             	mov    %r14d,%eax
140002ca5:	eb 02                	jmp    0x140002ca9
140002ca7:	33 c0                	xor    %eax,%eax
140002ca9:	48 83 c4 60          	add    $0x60,%rsp
140002cad:	41 5f                	pop    %r15
140002caf:	41 5e                	pop    %r14
140002cb1:	41 5d                	pop    %r13
140002cb3:	41 5c                	pop    %r12
140002cb5:	5f                   	pop    %rdi
140002cb6:	5e                   	pop    %rsi
140002cb7:	5b                   	pop    %rbx
140002cb8:	c3                   	ret
140002cb9:	cc                   	int3
140002cba:	b9 05 40 00 80       	mov    $0x80004005,%ecx
140002cbf:	e8 08 24 00 00       	call   0x1400050cc
140002cc4:	cc                   	int3
140002cc5:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140002cca:	e8 fd 23 00 00       	call   0x1400050cc
140002ccf:	cc                   	int3
140002cd0:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
140002cd5:	e8 f2 23 00 00       	call   0x1400050cc
140002cda:	cc                   	int3
140002cdb:	cc                   	int3
140002cdc:	cc                   	int3
140002cdd:	cc                   	int3
140002cde:	cc                   	int3
140002cdf:	cc                   	int3
140002ce0:	cc                   	int3
140002ce1:	cc                   	int3
140002ce2:	cc                   	int3
140002ce3:	cc                   	int3
140002ce4:	cc                   	int3
140002ce5:	cc                   	int3
140002ce6:	cc                   	int3
140002ce7:	cc                   	int3
140002ce8:	cc                   	int3
140002ce9:	cc                   	int3
140002cea:	cc                   	int3
140002ceb:	cc                   	int3
140002cec:	cc                   	int3
140002ced:	cc                   	int3
140002cee:	cc                   	int3
140002cef:	cc                   	int3
140002cf0:	48 8b c4             	mov    %rsp,%rax
140002cf3:	57                   	push   %rdi
140002cf4:	48 83 ec 30          	sub    $0x30,%rsp
140002cf8:	48 c7 40 e8 fe ff ff 	movq   $0xfffffffffffffffe,-0x18(%rax)
140002cff:	ff
140002d00:	48 89 58 08          	mov    %rbx,0x8(%rax)
140002d04:	48 89 68 18          	mov    %rbp,0x18(%rax)
140002d08:	48 89 70 20          	mov    %rsi,0x20(%rax)
140002d0c:	49 8b d8             	mov    %r8,%rbx
140002d0f:	48 8b f2             	mov    %rdx,%rsi
140002d12:	48 8b e9             	mov    %rcx,%rbp
140002d15:	48 85 d2             	test   %rdx,%rdx
140002d18:	74 49                	je     0x140002d63
140002d1a:	48 85 db             	test   %rbx,%rbx
140002d1d:	74 44                	je     0x140002d63
140002d1f:	48 83 c1 20          	add    $0x20,%rcx
140002d23:	48 ff 15 2e 58 00 00 	rex.W call *0x582e(%rip)        # 0x140008558
140002d2a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002d2f:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
140002d35:	48 8d 4d 08          	lea    0x8(%rbp),%rcx
140002d39:	4c 8b c3             	mov    %rbx,%r8
140002d3c:	48 8b d6             	mov    %rsi,%rdx
140002d3f:	e8 ec fc ff ff       	call   0x140002a30
140002d44:	8b d8                	mov    %eax,%ebx
140002d46:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
140002d4a:	48 ff 15 0f 58 00 00 	rex.W call *0x580f(%rip)        # 0x140008560
140002d51:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002d56:	f7 db                	neg    %ebx
140002d58:	1b c0                	sbb    %eax,%eax
140002d5a:	f7 d0                	not    %eax
140002d5c:	25 0e 00 07 80       	and    $0x8007000e,%eax
140002d61:	eb 05                	jmp    0x140002d68
140002d63:	b8 57 00 07 80       	mov    $0x80070057,%eax
140002d68:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140002d6d:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140002d72:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140002d77:	48 83 c4 30          	add    $0x30,%rsp
140002d7b:	5f                   	pop    %rdi
140002d7c:	c3                   	ret
140002d7d:	cc                   	int3
140002d7e:	cc                   	int3
140002d7f:	cc                   	int3
140002d80:	cc                   	int3
140002d81:	cc                   	int3
140002d82:	cc                   	int3
140002d83:	cc                   	int3
140002d84:	48 8b 09             	mov    (%rcx),%rcx
140002d87:	48 ff 25 e2 58 00 00 	rex.W jmp *0x58e2(%rip)        # 0x140008670
140002d8e:	cc                   	int3
140002d8f:	cc                   	int3
140002d90:	cc                   	int3
140002d91:	cc                   	int3
140002d92:	cc                   	int3
140002d93:	cc                   	int3
140002d94:	cc                   	int3
140002d95:	cc                   	int3
140002d96:	cc                   	int3
140002d97:	cc                   	int3
140002d98:	cc                   	int3
140002d99:	cc                   	int3
140002d9a:	cc                   	int3
140002d9b:	cc                   	int3
140002d9c:	48 83 ec 28          	sub    $0x28,%rsp
140002da0:	48 8d 41 08          	lea    0x8(%rcx),%rax
140002da4:	48 39 01             	cmp    %rax,(%rcx)
140002da7:	74 05                	je     0x140002dae
140002da9:	e8 d6 ff ff ff       	call   0x140002d84
140002dae:	48 83 c4 28          	add    $0x28,%rsp
140002db2:	c3                   	ret
140002db3:	cc                   	int3
140002db4:	cc                   	int3
140002db5:	cc                   	int3
140002db6:	cc                   	int3
140002db7:	cc                   	int3
140002db8:	cc                   	int3
140002db9:	cc                   	int3
140002dba:	cc                   	int3
140002dbb:	cc                   	int3
140002dbc:	40 53                	rex push %rbx
140002dbe:	48 83 ec 20          	sub    $0x20,%rsp
140002dc2:	48 8b d9             	mov    %rcx,%rbx
140002dc5:	48 8b ca             	mov    %rdx,%rcx
140002dc8:	48 ff 15 99 58 00 00 	rex.W call *0x5899(%rip)        # 0x140008668
140002dcf:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002dd4:	48 85 c0             	test   %rax,%rax
140002dd7:	74 0a                	je     0x140002de3
140002dd9:	48 89 03             	mov    %rax,(%rbx)
140002ddc:	48 83 c4 20          	add    $0x20,%rsp
140002de0:	5b                   	pop    %rbx
140002de1:	c3                   	ret
140002de2:	cc                   	int3
140002de3:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
140002de8:	e8 df 22 00 00       	call   0x1400050cc
140002ded:	cc                   	int3
140002dee:	cc                   	int3
140002def:	cc                   	int3
140002df0:	cc                   	int3
140002df1:	cc                   	int3
140002df2:	cc                   	int3
140002df3:	cc                   	int3
140002df4:	48 8b c4             	mov    %rsp,%rax
140002df7:	48 89 58 08          	mov    %rbx,0x8(%rax)
140002dfb:	48 89 68 10          	mov    %rbp,0x10(%rax)
140002dff:	48 89 70 18          	mov    %rsi,0x18(%rax)
140002e03:	48 89 78 20          	mov    %rdi,0x20(%rax)
140002e07:	41 56                	push   %r14
140002e09:	48 83 ec 20          	sub    $0x20,%rsp
140002e0d:	8b 01                	mov    (%rcx),%eax
140002e0f:	48 8b f9             	mov    %rcx,%rdi
140002e12:	41 8d 48 01          	lea    0x1(%r8),%ecx
140002e16:	41 8b f0             	mov    %r8d,%esi
140002e19:	03 c8                	add    %eax,%ecx
140002e1b:	48 8b ea             	mov    %rdx,%rbp
140002e1e:	3b c8                	cmp    %eax,%ecx
140002e20:	0f 8e bb 00 00 00    	jle    0x140002ee1
140002e26:	41 3b c8             	cmp    %r8d,%ecx
140002e29:	0f 8e b2 00 00 00    	jle    0x140002ee1
140002e2f:	8b 5f 04             	mov    0x4(%rdi),%ebx
140002e32:	45 33 f6             	xor    %r14d,%r14d
140002e35:	3b cb                	cmp    %ebx,%ecx
140002e37:	7c 45                	jl     0x140002e7e
140002e39:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
140002e3f:	0f 8f 9c 00 00 00    	jg     0x140002ee1
140002e45:	03 db                	add    %ebx,%ebx
140002e47:	3b cb                	cmp    %ebx,%ecx
140002e49:	7d ee                	jge    0x140002e39
140002e4b:	8b c3                	mov    %ebx,%eax
140002e4d:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
140002e52:	48 03 c0             	add    %rax,%rax
140002e55:	48 3b c1             	cmp    %rcx,%rax
140002e58:	0f 87 83 00 00 00    	ja     0x140002ee1
140002e5e:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140002e62:	8b d0                	mov    %eax,%edx
140002e64:	48 ff 15 dd a1 00 00 	rex.W call *0xa1dd(%rip)        # 0x14000d048
140002e6b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002e70:	48 85 c0             	test   %rax,%rax
140002e73:	74 6c                	je     0x140002ee1
140002e75:	48 89 47 08          	mov    %rax,0x8(%rdi)
140002e79:	8b 07                	mov    (%rdi),%eax
140002e7b:	89 5f 04             	mov    %ebx,0x4(%rdi)
140002e7e:	85 c0                	test   %eax,%eax
140002e80:	78 5f                	js     0x140002ee1
140002e82:	3b c3                	cmp    %ebx,%eax
140002e84:	7d 5b                	jge    0x140002ee1
140002e86:	8b d3                	mov    %ebx,%edx