140987c9e:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
140987ca2:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140987ca7:	48 83 c4 20          	add    $0x20,%rsp
140987cab:	41 5f                	pop    %r15
140987cad:	41 5e                	pop    %r14
140987caf:	41 5c                	pop    %r12
140987cb1:	5e                   	pop    %rsi
140987cb2:	5d                   	pop    %rbp
140987cb3:	c3                   	ret
140987cb4:	40 f6 c5 c3          	test   $0xc3,%bpl
140987cb8:	0f 84 c6 00 00 00    	je     0x140987d84
140987cbe:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140987cc3:	48 8d 05 d6 88 4b 00 	lea    0x4b88d6(%rip),%rax        # 0x140e405a0
140987cca:	40 f6 c5 01          	test   $0x1,%bpl
140987cce:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140987cd3:	4c 8d 2d 46 5e 4b 00 	lea    0x4b5e46(%rip),%r13        # 0x140e3db20
140987cda:	4c 0f 45 e8          	cmovne %rax,%r13
140987cde:	49 39 5e 48          	cmp    %rbx,0x48(%r14)
140987ce2:	76 51                	jbe    0x140987d35
140987ce4:	4d 8b cf             	mov    %r15,%r9
140987ce7:	44 8b c5             	mov    %ebp,%r8d
140987cea:	48 8b d3             	mov    %rbx,%rdx
140987ced:	49 8b ce             	mov    %r14,%rcx
140987cf0:	e8 1b 85 00 00       	call   0x140990210
140987cf5:	48 8b f8             	mov    %rax,%rdi
140987cf8:	48 85 c0             	test   %rax,%rax
140987cfb:	74 2f                	je     0x140987d2c
140987cfd:	40 f6 c5 02          	test   $0x2,%bpl
140987d01:	74 16                	je     0x140987d19
140987d03:	ba 2f 00 00 00       	mov    $0x2f,%edx
140987d08:	48 8b c8             	mov    %rax,%rcx
140987d0b:	e8 6c 64 49 00       	call   0x140e1e17c
140987d10:	48 85 c0             	test   %rax,%rax
140987d13:	74 04                	je     0x140987d19
140987d15:	48 8d 78 01          	lea    0x1(%rax),%rdi
140987d19:	48 8b d7             	mov    %rdi,%rdx
140987d1c:	48 8b ce             	mov    %rsi,%rcx
140987d1f:	49 8b c5             	mov    %r13,%rax
140987d22:	ff 15 f8 bc 5f 00    	call   *0x5fbcf8(%rip)        # 0x140f83a20
140987d28:	85 c0                	test   %eax,%eax
140987d2a:	74 43                	je     0x140987d6f
140987d2c:	48 ff c3             	inc    %rbx
140987d2f:	49 3b 5e 48          	cmp    0x48(%r14),%rbx
140987d33:	72 af                	jb     0x140987ce4
140987d35:	45 33 c0             	xor    %r8d,%r8d
140987d38:	49 8b cf             	mov    %r15,%rcx
140987d3b:	41 8d 50 09          	lea    0x9(%r8),%edx
140987d3f:	e8 4c fc ff ff       	call   0x140987990
140987d44:	49 8b cc             	mov    %r12,%rcx
140987d47:	e8 34 86 00 00       	call   0x140990380
140987d4c:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140987d53:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140987d58:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140987d5d:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140987d62:	48 83 c4 20          	add    $0x20,%rsp
140987d66:	41 5f                	pop    %r15
140987d68:	41 5e                	pop    %r14
140987d6a:	41 5c                	pop    %r12
140987d6c:	5e                   	pop    %rsi
140987d6d:	5d                   	pop    %rbp
140987d6e:	c3                   	ret
140987d6f:	49 8b cf             	mov    %r15,%rcx
140987d72:	e8 f9 fa ff ff       	call   0x140987870
140987d77:	49 8b cc             	mov    %r12,%rcx
140987d7a:	e8 01 86 00 00       	call   0x140990380
140987d7f:	48 8b c3             	mov    %rbx,%rax
140987d82:	eb cf                	jmp    0x140987d53
140987d84:	49 8b 4e 70          	mov    0x70(%r14),%rcx
140987d88:	4d 8b cf             	mov    %r15,%r9
140987d8b:	44 8b c5             	mov    %ebp,%r8d
140987d8e:	48 8b d6             	mov    %rsi,%rdx
140987d91:	e8 ba 81 00 00       	call   0x14098ff50
140987d96:	49 8b cc             	mov    %r12,%rcx
140987d99:	48 8b d8             	mov    %rax,%rbx
140987d9c:	e8 df 85 00 00       	call   0x140990380
140987da1:	48 8b c3             	mov    %rbx,%rax
140987da4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140987da9:	48 83 c4 20          	add    $0x20,%rsp
140987dad:	41 5f                	pop    %r15
140987daf:	41 5e                	pop    %r14
140987db1:	41 5c                	pop    %r12
140987db3:	5e                   	pop    %rsi
140987db4:	5d                   	pop    %rbp
140987db5:	c3                   	ret
140987db6:	cc                   	int3
140987db7:	cc                   	int3
140987db8:	cc                   	int3
140987db9:	cc                   	int3
140987dba:	cc                   	int3
140987dbb:	cc                   	int3
140987dbc:	cc                   	int3
140987dbd:	cc                   	int3
140987dbe:	cc                   	int3
140987dbf:	cc                   	int3
140987dc0:	4c 8d 49 10          	lea    0x10(%rcx),%r9
140987dc4:	e9 37 fe ff ff       	jmp    0x140987c00
140987dc9:	cc                   	int3
140987dca:	cc                   	int3
140987dcb:	cc                   	int3
140987dcc:	cc                   	int3
140987dcd:	cc                   	int3
140987dce:	cc                   	int3
140987dcf:	cc                   	int3
140987dd0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140987dd5:	57                   	push   %rdi
140987dd6:	48 83 ec 20          	sub    $0x20,%rsp
140987dda:	48 8b f9             	mov    %rcx,%rdi
140987ddd:	8b da                	mov    %edx,%ebx
140987ddf:	49 8b c8             	mov    %r8,%rcx
140987de2:	e8 99 8b 00 00       	call   0x140990980
140987de7:	48 85 c0             	test   %rax,%rax
140987dea:	75 0b                	jne    0x140987df7
140987dec:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140987df1:	48 83 c4 20          	add    $0x20,%rsp
140987df5:	5f                   	pop    %rdi
140987df6:	c3                   	ret
140987df7:	48 89 38             	mov    %rdi,(%rax)
140987dfa:	89 58 08             	mov    %ebx,0x8(%rax)
140987dfd:	f6 c3 10             	test   $0x10,%bl
140987e00:	74 08                	je     0x140987e0a
140987e02:	83 48 20 02          	orl    $0x2,0x20(%rax)
140987e06:	83 48 24 02          	orl    $0x2,0x24(%rax)
140987e0a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140987e0f:	48 83 c4 20          	add    $0x20,%rsp
140987e13:	5f                   	pop    %rdi
140987e14:	c3                   	ret
140987e15:	cc                   	int3
140987e16:	cc                   	int3
140987e17:	cc                   	int3
140987e18:	cc                   	int3
140987e19:	cc                   	int3
140987e1a:	cc                   	int3
140987e1b:	cc                   	int3
140987e1c:	cc                   	int3
140987e1d:	cc                   	int3
140987e1e:	cc                   	int3
140987e1f:	cc                   	int3
140987e20:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140987e25:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140987e2a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140987e2f:	55                   	push   %rbp
140987e30:	56                   	push   %rsi
140987e31:	57                   	push   %rdi
140987e32:	41 54                	push   %r12
140987e34:	41 55                	push   %r13
140987e36:	41 56                	push   %r14
140987e38:	41 57                	push   %r15
140987e3a:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140987e41:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140987e46:	48 8b f2             	mov    %rdx,%rsi
140987e49:	e8 62 4f 00 00       	call   0x14098cdb0
140987e4e:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140987e52:	48 85 d2             	test   %rdx,%rdx
140987e55:	0f 84 36 02 00 00    	je     0x140988091
140987e5b:	48 8b 06             	mov    (%rsi),%rax
140987e5e:	33 ed                	xor    %ebp,%ebp
140987e60:	4c 8b 08             	mov    (%rax),%r9
140987e63:	49 8b 79 60          	mov    0x60(%r9),%rdi
140987e67:	4c 8b f7             	mov    %rdi,%r14
140987e6a:	48 85 d2             	test   %rdx,%rdx
140987e6d:	0f 84 70 01 00 00    	je     0x140987fe3
140987e73:	48 8b cf             	mov    %rdi,%rcx
140987e76:	45 33 ff             	xor    %r15d,%r15d
140987e79:	4c 8b ef             	mov    %rdi,%r13
140987e7c:	0f 1f 40 00          	nopl   0x0(%rax)
140987e80:	48 8b 06             	mov    (%rsi),%rax
140987e83:	49 8b 1c 07          	mov    (%r15,%rax,1),%rbx
140987e87:	48 8b 7b 60          	mov    0x60(%rbx),%rdi
140987e8b:	48 3b f9             	cmp    %rcx,%rdi
140987e8e:	4c 8b e7             	mov    %rdi,%r12
140987e91:	48 0f 43 f9          	cmovae %rcx,%rdi
140987e95:	48 3b 7e 20          	cmp    0x20(%rsi),%rdi
140987e99:	0f 87 d5 01 00 00    	ja     0x140988074
140987e9f:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140987ea3:	e8 c8 85 00 00       	call   0x140990470
140987ea8:	4c 8b 73 28          	mov    0x28(%rbx),%r14
140987eac:	49 83 c6 1e          	add    $0x1e,%r14
140987eb0:	0f b7 c0             	movzwl %ax,%eax
140987eb3:	4c 03 f0             	add    %rax,%r14
140987eb6:	4d 03 f4             	add    %r12,%r14
140987eb9:	4d 3b f5             	cmp    %r13,%r14
140987ebc:	4d 0f 46 f5          	cmovbe %r13,%r14
140987ec0:	4c 3b 76 20          	cmp    0x20(%rsi),%r14
140987ec4:	0f 87 aa 01 00 00    	ja     0x140988074
140987eca:	48 8b 9c 24 f0 00 00 	mov    0xf0(%rsp),%rbx
140987ed1:	00
140987ed2:	45 33 c0             	xor    %r8d,%r8d
140987ed5:	49 8b d4             	mov    %r12,%rdx
140987ed8:	48 8b 0b             	mov    (%rbx),%rcx
140987edb:	e8 30 2d 00 00       	call   0x14098ac10
140987ee0:	48 8b 13             	mov    (%rbx),%rdx
140987ee3:	85 c0                	test   %eax,%eax
140987ee5:	0f 88 73 01 00 00    	js     0x14098805e
140987eeb:	4c 8b a4 24 00 01 00 	mov    0x100(%rsp),%r12
140987ef2:	00
140987ef3:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140987ef8:	41 b1 01             	mov    $0x1,%r9b
140987efb:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140987f00:	45 33 c0             	xor    %r8d,%r8d
140987f03:	e8 88 50 00 00       	call   0x14098cf90
140987f08:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140987f0c:	0f 84 02 01 00 00    	je     0x140988014
140987f12:	48 8b 06             	mov    (%rsi),%rax
140987f15:	49 8b 1c 07          	mov    (%r15,%rax,1),%rbx
140987f19:	0f b7 44 24 3a       	movzwl 0x3a(%rsp),%eax
140987f1e:	66 39 43 0a          	cmp    %ax,0xa(%rbx)
140987f22:	0f 82 d6 00 00 00    	jb     0x140987ffe
140987f28:	8b 44 24 40          	mov    0x40(%rsp),%eax
140987f2c:	39 43 10             	cmp    %eax,0x10(%rbx)
140987f2f:	0f 85 c9 00 00 00    	jne    0x140987ffe
140987f35:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140987f3a:	48 39 43 18          	cmp    %rax,0x18(%rbx)
140987f3e:	0f 85 ba 00 00 00    	jne    0x140987ffe
140987f44:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
140987f49:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140987f4d:	e8 de 83 00 00       	call   0x140990330
140987f52:	85 c0                	test   %eax,%eax
140987f54:	0f 84 a4 00 00 00    	je     0x140987ffe
140987f5a:	8b 54 24 50          	mov    0x50(%rsp),%edx
140987f5e:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140987f63:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
140987f68:	39 53 20             	cmp    %edx,0x20(%rbx)
140987f6b:	75 0c                	jne    0x140987f79
140987f6d:	48 39 43 28          	cmp    %rax,0x28(%rbx)
140987f71:	75 06                	jne    0x140987f79
140987f73:	48 39 4b 30          	cmp    %rcx,0x30(%rbx)
140987f77:	74 15                	je     0x140987f8e
140987f79:	f6 44 24 3c 08       	testb  $0x8,0x3c(%rsp)
140987f7e:	74 7e                	je     0x140987ffe
140987f80:	85 d2                	test   %edx,%edx
140987f82:	75 7a                	jne    0x140987ffe
140987f84:	48 85 c0             	test   %rax,%rax
140987f87:	75 75                	jne    0x140987ffe
140987f89:	48 85 c9             	test   %rcx,%rcx
140987f8c:	75 70                	jne    0x140987ffe
140987f8e:	48 8b 06             	mov    (%rsi),%rax
140987f91:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
140987f96:	49 8b 0c 07          	mov    (%r15,%rax,1),%rcx
140987f9a:	48 8b 49 40          	mov    0x40(%rcx),%rcx
140987f9e:	e8 ed 67 00 00       	call   0x14098e790
140987fa3:	48 8b 0e             	mov    (%rsi),%rcx
140987fa6:	49 8b 14 0f          	mov    (%r15,%rcx,1),%rdx
140987faa:	48 89 42 40          	mov    %rax,0x40(%rdx)
140987fae:	48 8b 06             	mov    (%rsi),%rax
140987fb1:	49 8b 0c 07          	mov    (%r15,%rax,1),%rcx
140987fb5:	c6 41 04 01          	movb   $0x1,0x4(%rcx)
140987fb9:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140987fbe:	48 c7 44 24 70 00 00 	movq   $0x0,0x70(%rsp)
140987fc5:	00 00
140987fc7:	e8 34 4c 00 00       	call   0x14098cc00
140987fcc:	48 ff c5             	inc    %rbp
140987fcf:	49 83 c7 20          	add    $0x20,%r15
140987fd3:	48 8b cf             	mov    %rdi,%rcx
140987fd6:	4d 8b ee             	mov    %r14,%r13
140987fd9:	48 3b 6e 08          	cmp    0x8(%rsi),%rbp
140987fdd:	0f 82 9d fe ff ff    	jb     0x140987e80
140987fe3:	4c 2b f7             	sub    %rdi,%r14
140987fe6:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140987fed:	ff ff 7f
140987ff0:	4c 3b f0             	cmp    %rax,%r14
140987ff3:	0f 82 9b 00 00 00    	jb     0x140988094
140987ff9:	e9 99 00 00 00       	jmp    0x140988097
140987ffe:	b8 ff ff 7f 00       	mov    $0x7fffff,%eax
140988003:	48 3b e8             	cmp    %rax,%rbp
140988006:	0f 47 e8             	cmova  %eax,%ebp
140988009:	c1 e5 08             	shl    $0x8,%ebp
14098800c:	83 cd 06             	or     $0x6,%ebp
14098800f:	44 8b c5             	mov    %ebp,%r8d
140988012:	eb 2a                	jmp    0x14098803e
140988014:	49 8b cc             	mov    %r12,%rcx
140988017:	e8 e4 71 84 ff       	call   0x1401cf200
14098801c:	83 f8 15             	cmp    $0x15,%eax
14098801f:	75 2a                	jne    0x14098804b
140988021:	49 8b cc             	mov    %r12,%rcx
140988024:	e8 e7 bd 82 ff       	call   0x1401b3e10
140988029:	44 0f b6 c0          	movzbl %al,%r8d
14098802d:	b8 ff ff 7f 00       	mov    $0x7fffff,%eax
140988032:	48 3b e8             	cmp    %rax,%rbp
140988035:	0f 47 e8             	cmova  %eax,%ebp
140988038:	c1 e5 08             	shl    $0x8,%ebp
14098803b:	44 0b c5             	or     %ebp,%r8d
14098803e:	ba 15 00 00 00       	mov    $0x15,%edx
140988043:	49 8b cc             	mov    %r12,%rcx
140988046:	e8 45 f9 ff ff       	call   0x140987990
14098804b:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140988050:	e8 ab 4b 00 00       	call   0x14098cc00
140988055:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098805c:	eb 39                	jmp    0x140988097
14098805e:	48 8b 8c 24 00 01 00 	mov    0x100(%rsp),%rcx
140988065:	00
140988066:	e8 65 f8 ff ff       	call   0x1409878d0
14098806b:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140988072:	eb 23                	jmp    0x140988097
140988074:	48 8b 8c 24 00 01 00 	mov    0x100(%rsp),%rcx
14098807b:	00
14098807c:	45 33 c0             	xor    %r8d,%r8d
14098807f:	41 8d 50 13          	lea    0x13(%r8),%edx
140988083:	e8 08 f9 ff ff       	call   0x140987990
140988088:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14098808f:	eb 06                	jmp    0x140988097
140988091:	45 33 f6             	xor    %r14d,%r14d
140988094:	49 8b c6             	mov    %r14,%rax
140988097:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
14098809e:	00
14098809f:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
1409880a6:	41 5f                	pop    %r15
1409880a8:	41 5e                	pop    %r14
1409880aa:	41 5d                	pop    %r13
1409880ac:	41 5c                	pop    %r12
1409880ae:	5f                   	pop    %rdi
1409880af:	5e                   	pop    %rsi
1409880b0:	5d                   	pop    %rbp
1409880b1:	c3                   	ret
1409880b2:	cc                   	int3
1409880b3:	cc                   	int3
1409880b4:	cc                   	int3
1409880b5:	cc                   	int3
1409880b6:	cc                   	int3
1409880b7:	cc                   	int3
1409880b8:	cc                   	int3
1409880b9:	cc                   	int3
1409880ba:	cc                   	int3
1409880bb:	cc                   	int3
1409880bc:	cc                   	int3
1409880bd:	cc                   	int3
1409880be:	cc                   	int3
1409880bf:	cc                   	int3
1409880c0:	41 56                	push   %r14
1409880c2:	48 83 ec 70          	sub    $0x70,%rsp
1409880c6:	4c 8b f1             	mov    %rcx,%r14
1409880c9:	48 83 fa 16          	cmp    $0x16,%rdx
1409880cd:	73 19                	jae    0x1409880e8
1409880cf:	45 33 c0             	xor    %r8d,%r8d
1409880d2:	48 83 c1 10          	add    $0x10,%rcx
1409880d6:	41 8d 50 13          	lea    0x13(%r8),%edx
1409880da:	e8 b1 f8 ff ff       	call   0x140987990
1409880df:	33 c0                	xor    %eax,%eax
1409880e1:	48 83 c4 70          	add    $0x70,%rsp
1409880e5:	41 5e                	pop    %r14
1409880e7:	c3                   	ret
1409880e8:	48 8b 09             	mov    (%rcx),%rcx
1409880eb:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1409880f1:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
1409880f8:	00
1409880f9:	bb 2a 00 01 00       	mov    $0x1002a,%ebx
1409880fe:	48 3b d3             	cmp    %rbx,%rdx
140988101:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140988106:	48 0f 42 da          	cmovb  %rdx,%rbx
14098810a:	48 8b d3             	mov    %rbx,%rdx
14098810d:	48 f7 da             	neg    %rdx