140018d8d:	48 c1 ef 03          	shr    $0x3,%rdi
140018d91:	48 3b ca             	cmp    %rdx,%rcx
140018d94:	48 0f 47 fd          	cmova  %rbp,%rdi
140018d98:	48 85 ff             	test   %rdi,%rdi
140018d9b:	74 1a                	je     0x140018db7
140018d9d:	48 8b 03             	mov    (%rbx),%rax
140018da0:	48 85 c0             	test   %rax,%rax
140018da3:	74 06                	je     0x140018dab
140018da5:	ff 15 6d 35 01 00    	call   *0x1356d(%rip)        # 0x14002c318
140018dab:	48 83 c3 08          	add    $0x8,%rbx
140018daf:	48 ff c6             	inc    %rsi
140018db2:	48 3b f7             	cmp    %rdi,%rsi
140018db5:	75 e6                	jne    0x140018d9d
140018db7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018dbc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140018dc1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140018dc6:	48 83 c4 20          	add    $0x20,%rsp
140018dca:	5f                   	pop    %rdi
140018dcb:	c3                   	ret
140018dcc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018dd1:	57                   	push   %rdi
140018dd2:	48 83 ec 20          	sub    $0x20,%rsp
140018dd6:	48 8b fa             	mov    %rdx,%rdi
140018dd9:	48 8b d9             	mov    %rcx,%rbx
140018ddc:	48 3b ca             	cmp    %rdx,%rcx
140018ddf:	74 1b                	je     0x140018dfc
140018de1:	48 8b 03             	mov    (%rbx),%rax
140018de4:	48 85 c0             	test   %rax,%rax
140018de7:	74 0a                	je     0x140018df3
140018de9:	ff 15 29 35 01 00    	call   *0x13529(%rip)        # 0x14002c318
140018def:	85 c0                	test   %eax,%eax
140018df1:	75 0b                	jne    0x140018dfe
140018df3:	48 83 c3 08          	add    $0x8,%rbx
140018df7:	48 3b df             	cmp    %rdi,%rbx
140018dfa:	eb e3                	jmp    0x140018ddf
140018dfc:	33 c0                	xor    %eax,%eax
140018dfe:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018e03:	48 83 c4 20          	add    $0x20,%rsp
140018e07:	5f                   	pop    %rdi
140018e08:	c3                   	ret
140018e09:	cc                   	int3
140018e0a:	cc                   	int3
140018e0b:	cc                   	int3
140018e0c:	48 83 ec 28          	sub    $0x28,%rsp
140018e10:	48 85 c9             	test   %rcx,%rcx
140018e13:	75 17                	jne    0x140018e2c
140018e15:	e8 d2 bb ff ff       	call   0x1400149ec
140018e1a:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140018e20:	e8 73 79 ff ff       	call   0x140010798
140018e25:	b8 16 00 00 00       	mov    $0x16,%eax
140018e2a:	eb 0a                	jmp    0x140018e36
140018e2c:	8b 05 e6 e3 02 00    	mov    0x2e3e6(%rip),%eax        # 0x140047218
140018e32:	89 01                	mov    %eax,(%rcx)
140018e34:	33 c0                	xor    %eax,%eax
140018e36:	48 83 c4 28          	add    $0x28,%rsp
140018e3a:	c3                   	ret
140018e3b:	cc                   	int3
140018e3c:	48 83 ec 28          	sub    $0x28,%rsp
140018e40:	8d 81 00 c0 ff ff    	lea    -0x4000(%rcx),%eax
140018e46:	a9 ff 3f ff ff       	test   $0xffff3fff,%eax
140018e4b:	75 12                	jne    0x140018e5f
140018e4d:	81 f9 00 c0 00 00    	cmp    $0xc000,%ecx
140018e53:	74 0a                	je     0x140018e5f
140018e55:	87 0d bd e3 02 00    	xchg   %ecx,0x2e3bd(%rip)        # 0x140047218
140018e5b:	33 c0                	xor    %eax,%eax
140018e5d:	eb 15                	jmp    0x140018e74
140018e5f:	e8 88 bb ff ff       	call   0x1400149ec
140018e64:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140018e6a:	e8 29 79 ff ff       	call   0x140010798
140018e6f:	b8 16 00 00 00       	mov    $0x16,%eax
140018e74:	48 83 c4 28          	add    $0x28,%rsp
140018e78:	c3                   	ret
140018e79:	cc                   	int3
140018e7a:	cc                   	int3
140018e7b:	cc                   	int3
140018e7c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018e81:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140018e86:	4c 89 74 24 18       	mov    %r14,0x18(%rsp)
140018e8b:	48 63 c1             	movslq %ecx,%rax
140018e8e:	48 8d 3d fb dd 02 00 	lea    0x2ddfb(%rip),%rdi        # 0x140046c90
140018e95:	4c 8b d0             	mov    %rax,%r10
140018e98:	41 be 00 00 04 00    	mov    $0x40000,%r14d
140018e9e:	49 c1 fa 06          	sar    $0x6,%r10
140018ea2:	83 e0 3f             	and    $0x3f,%eax
140018ea5:	4e 8b 0c d7          	mov    (%rdi,%r10,8),%r9
140018ea9:	4c 8d 04 c0          	lea    (%rax,%rax,8),%r8
140018ead:	43 0f b6 4c c1 38    	movzbl 0x38(%r9,%r8,8),%ecx
140018eb3:	47 8a 5c c1 39       	mov    0x39(%r9,%r8,8),%r11b
140018eb8:	8b d9                	mov    %ecx,%ebx
140018eba:	81 e3 80 00 00 00    	and    $0x80,%ebx
140018ec0:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
140018ec6:	74 4c                	je     0x140018f14
140018ec8:	81 fa 00 80 00 00    	cmp    $0x8000,%edx
140018ece:	74 3a                	je     0x140018f0a
140018ed0:	8d 82 00 00 ff ff    	lea    -0x10000(%rdx),%eax
140018ed6:	a9 ff ff fe ff       	test   $0xfffeffff,%eax
140018edb:	74 19                	je     0x140018ef6
140018edd:	41 3b d6             	cmp    %r14d,%edx
140018ee0:	75 44                	jne    0x140018f26
140018ee2:	80 c9 80             	or     $0x80,%cl
140018ee5:	43 88 4c c1 38       	mov    %cl,0x38(%r9,%r8,8)
140018eea:	4a 8b 04 d7          	mov    (%rdi,%r10,8),%rax
140018eee:	42 c6 44 c0 39 01    	movb   $0x1,0x39(%rax,%r8,8)
140018ef4:	eb 30                	jmp    0x140018f26
140018ef6:	80 c9 80             	or     $0x80,%cl
140018ef9:	43 88 4c c1 38       	mov    %cl,0x38(%r9,%r8,8)
140018efe:	4a 8b 04 d7          	mov    (%rdi,%r10,8),%rax
140018f02:	42 c6 44 c0 39 02    	movb   $0x2,0x39(%rax,%r8,8)
140018f08:	eb 1c                	jmp    0x140018f26
140018f0a:	80 e1 7f             	and    $0x7f,%cl
140018f0d:	43 88 4c c1 38       	mov    %cl,0x38(%r9,%r8,8)
140018f12:	eb 12                	jmp    0x140018f26
140018f14:	80 c9 80             	or     $0x80,%cl
140018f17:	43 88 4c c1 38       	mov    %cl,0x38(%r9,%r8,8)
140018f1c:	4a 8b 0c d7          	mov    (%rdi,%r10,8),%rcx
140018f20:	42 c6 44 c1 39 00    	movb   $0x0,0x39(%rcx,%r8,8)
140018f26:	85 db                	test   %ebx,%ebx
140018f28:	75 07                	jne    0x140018f31
140018f2a:	b8 00 80 00 00       	mov    $0x8000,%eax
140018f2f:	eb 19                	jmp    0x140018f4a
140018f31:	45 84 db             	test   %r11b,%r11b
140018f34:	75 07                	jne    0x140018f3d
140018f36:	b8 00 40 00 00       	mov    $0x4000,%eax
140018f3b:	eb 0d                	jmp    0x140018f4a
140018f3d:	41 80 fb 01          	cmp    $0x1,%r11b
140018f41:	b8 00 00 01 00       	mov    $0x10000,%eax
140018f46:	41 0f 44 c6          	cmove  %r14d,%eax
140018f4a:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140018f4f:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
140018f54:	4c 8b 74 24 18       	mov    0x18(%rsp),%r14
140018f59:	c3                   	ret
140018f5a:	cc                   	int3
140018f5b:	cc                   	int3
140018f5c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018f61:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140018f66:	57                   	push   %rdi
140018f67:	48 83 ec 20          	sub    $0x20,%rsp
140018f6b:	49 8b f9             	mov    %r9,%rdi
140018f6e:	49 8b d8             	mov    %r8,%rbx
140018f71:	8b 0a                	mov    (%rdx),%ecx
140018f73:	e8 74 94 ff ff       	call   0x1400123ec
140018f78:	90                   	nop
140018f79:	48 8b 43 08          	mov    0x8(%rbx),%rax
140018f7d:	48 8b 10             	mov    (%rax),%rdx
140018f80:	48 8b 0b             	mov    (%rbx),%rcx
140018f83:	48 8b 92 90 00 00 00 	mov    0x90(%rdx),%rdx
140018f8a:	48 8b 09             	mov    (%rcx),%rcx
140018f8d:	e8 7e 05 00 00       	call   0x140019510
140018f92:	4c 8b 43 20          	mov    0x20(%rbx),%r8
140018f96:	48 8b 43 18          	mov    0x18(%rbx),%rax
140018f9a:	48 8b 0b             	mov    (%rbx),%rcx
140018f9d:	4d 8b 00             	mov    (%r8),%r8
140018fa0:	8b 10                	mov    (%rax),%edx
140018fa2:	48 8b 09             	mov    (%rcx),%rcx
140018fa5:	e8 02 0d 00 00       	call   0x140019cac
140018faa:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140018fae:	48 89 01             	mov    %rax,(%rcx)
140018fb1:	48 85 c0             	test   %rax,%rax
140018fb4:	0f 84 b3 00 00 00    	je     0x14001906d
140018fba:	48 8b 43 20          	mov    0x20(%rbx),%rax
140018fbe:	48 8b 08             	mov    (%rax),%rcx
140018fc1:	48 85 c9             	test   %rcx,%rcx
140018fc4:	74 2d                	je     0x140018ff3
140018fc6:	4c 8d 05 ab b4 02 00 	lea    0x2b4ab(%rip),%r8        # 0x140044478
140018fcd:	4c 2b c1             	sub    %rcx,%r8
140018fd0:	0f b7 01             	movzwl (%rcx),%eax
140018fd3:	42 0f b7 14 01       	movzwl (%rcx,%r8,1),%edx
140018fd8:	2b c2                	sub    %edx,%eax
140018fda:	75 08                	jne    0x140018fe4
140018fdc:	48 83 c1 02          	add    $0x2,%rcx
140018fe0:	85 d2                	test   %edx,%edx
140018fe2:	75 ec                	jne    0x140018fd0
140018fe4:	85 c0                	test   %eax,%eax
140018fe6:	74 0b                	je     0x140018ff3
140018fe8:	b8 01 00 00 00       	mov    $0x1,%eax
140018fed:	87 05 c9 da 02 00    	xchg   %eax,0x2dac9(%rip)        # 0x140046abc
140018ff3:	48 8b 13             	mov    (%rbx),%rdx
140018ff6:	48 8b 43 08          	mov    0x8(%rbx),%rax
140018ffa:	48 8b 08             	mov    (%rax),%rcx
140018ffd:	48 81 c1 90 00 00 00 	add    $0x90,%rcx
140019004:	48 8b 12             	mov    (%rdx),%rdx
140019007:	e8 c0 c0 00 00       	call   0x1400250cc
14001900c:	48 8b 0b             	mov    (%rbx),%rcx
14001900f:	48 8b 09             	mov    (%rcx),%rcx
140019012:	e8 9d bf 00 00       	call   0x140024fb4
140019017:	48 8b 43 08          	mov    0x8(%rbx),%rax
14001901b:	48 8b 10             	mov    (%rax),%rdx
14001901e:	f6 82 a8 03 00 00 02 	testb  $0x2,0x3a8(%rdx)
140019025:	75 5d                	jne    0x140019084
140019027:	f6 05 52 b5 02 00 01 	testb  $0x1,0x2b552(%rip)        # 0x140044580
14001902e:	75 54                	jne    0x140019084
140019030:	48 8b 92 90 00 00 00 	mov    0x90(%rdx),%rdx
140019037:	48 8d 0d 7a e0 02 00 	lea    0x2e07a(%rip),%rcx        # 0x1400470b8
14001903e:	e8 89 c0 00 00       	call   0x1400250cc
140019043:	48 8b 05 6e e0 02 00 	mov    0x2e06e(%rip),%rax        # 0x1400470b8
14001904a:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
140019051:	48 89 0d 30 b2 02 00 	mov    %rcx,0x2b230(%rip)        # 0x140044288
140019058:	48 8b 08             	mov    (%rax),%rcx
14001905b:	48 89 0d 66 b1 02 00 	mov    %rcx,0x2b166(%rip)        # 0x1400441c8
140019062:	8b 48 08             	mov    0x8(%rax),%ecx
140019065:	89 0d 9d b2 02 00    	mov    %ecx,0x2b29d(%rip)        # 0x140044308
14001906b:	eb 17                	jmp    0x140019084
14001906d:	48 8b 0b             	mov    (%rbx),%rcx
140019070:	48 8b 09             	mov    (%rcx),%rcx
140019073:	e8 3c bf 00 00       	call   0x140024fb4
140019078:	48 8b 0b             	mov    (%rbx),%rcx
14001907b:	48 8b 09             	mov    (%rcx),%rcx
14001907e:	e8 31 bd 00 00       	call   0x140024db4
140019083:	90                   	nop
140019084:	8b 0f                	mov    (%rdi),%ecx
140019086:	e8 b5 93 ff ff       	call   0x140012440
14001908b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140019090:	48 83 c4 20          	add    $0x20,%rsp
140019094:	5f                   	pop    %rdi
140019095:	c3                   	ret
140019096:	cc                   	int3
140019097:	cc                   	int3
140019098:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001909d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400190a2:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400190a7:	57                   	push   %rdi
1400190a8:	48 83 ec 30          	sub    $0x30,%rsp
1400190ac:	49 8b f9             	mov    %r9,%rdi
1400190af:	8b 0a                	mov    (%rdx),%ecx
1400190b1:	e8 36 93 ff ff       	call   0x1400123ec
1400190b6:	90                   	nop
1400190b7:	48 8d 1d fa df 02 00 	lea    0x2dffa(%rip),%rbx        # 0x1400470b8
1400190be:	48 8d 35 4b b2 02 00 	lea    0x2b24b(%rip),%rsi        # 0x140044310
1400190c5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1400190ca:	48 8d 05 ef df 02 00 	lea    0x2dfef(%rip),%rax        # 0x1400470c0
1400190d1:	48 3b d8             	cmp    %rax,%rbx
1400190d4:	74 19                	je     0x1400190ef
1400190d6:	48 39 33             	cmp    %rsi,(%rbx)
1400190d9:	74 0e                	je     0x1400190e9
1400190db:	48 8b d6             	mov    %rsi,%rdx
1400190de:	48 8b cb             	mov    %rbx,%rcx
1400190e1:	e8 e6 bf 00 00       	call   0x1400250cc
1400190e6:	48 89 03             	mov    %rax,(%rbx)
1400190e9:	48 83 c3 08          	add    $0x8,%rbx
1400190ed:	eb d6                	jmp    0x1400190c5
1400190ef:	8b 0f                	mov    (%rdi),%ecx
1400190f1:	e8 4a 93 ff ff       	call   0x140012440
1400190f6:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400190fb:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140019100:	48 83 c4 30          	add    $0x30,%rsp
140019104:	5f                   	pop    %rdi
140019105:	c3                   	ret
140019106:	cc                   	int3
140019107:	cc                   	int3
140019108:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14001910d:	53                   	push   %rbx
14001910e:	48 83 ec 20          	sub    $0x20,%rsp
140019112:	49 8b d9             	mov    %r9,%rbx
140019115:	49 8b c8             	mov    %r8,%rcx
140019118:	e8 17 00 00 00       	call   0x140019134
14001911d:	90                   	nop
14001911e:	48 8b 03             	mov    (%rbx),%rax
140019121:	48 8b 08             	mov    (%rax),%rcx
140019124:	83 a1 a8 03 00 00 ef 	andl   $0xffffffef,0x3a8(%rcx)
14001912b:	48 83 c4 20          	add    $0x20,%rsp
14001912f:	5b                   	pop    %rbx
140019130:	c3                   	ret
140019131:	cc                   	int3
140019132:	cc                   	int3
140019133:	cc                   	int3
140019134:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140019139:	57                   	push   %rdi
14001913a:	48 83 ec 50          	sub    $0x50,%rsp
14001913e:	48 8b f9             	mov    %rcx,%rdi
140019141:	ba 58 01 00 00       	mov    $0x158,%edx
140019146:	b9 01 00 00 00       	mov    $0x1,%ecx
14001914b:	e8 c0 1c 00 00       	call   0x14001ae10
140019150:	48 8b 17             	mov    (%rdi),%rdx
140019153:	33 c9                	xor    %ecx,%ecx
140019155:	48 8b d8             	mov    %rax,%rbx
140019158:	48 89 02             	mov    %rax,(%rdx)
14001915b:	e8 28 1d 00 00       	call   0x14001ae88
140019160:	48 85 db             	test   %rbx,%rbx
140019163:	74 52                	je     0x1400191b7
140019165:	48 8b 07             	mov    (%rdi),%rax
140019168:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
14001916d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140019172:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140019177:	48 8b 47 08          	mov    0x8(%rdi),%rax
14001917b:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140019180:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140019185:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14001918a:	48 8b 47 10          	mov    0x10(%rdi),%rax
14001918e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140019193:	48 8b 47 18          	mov    0x18(%rdi),%rax
140019197:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14001919c:	48 8b 47 20          	mov    0x20(%rdi),%rax
1400191a0:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1400191a5:	b8 04 00 00 00       	mov    $0x4,%eax
1400191aa:	89 44 24 68          	mov    %eax,0x68(%rsp)
1400191ae:	89 44 24 70          	mov    %eax,0x70(%rsp)
1400191b2:	e8 a5 fd ff ff       	call   0x140018f5c
1400191b7:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
1400191bc:	48 83 c4 50          	add    $0x50,%rsp
1400191c0:	5f                   	pop    %rdi
1400191c1:	c3                   	ret
1400191c2:	cc                   	int3
1400191c3:	cc                   	int3
1400191c4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400191c9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400191ce:	57                   	push   %rdi
1400191cf:	48 83 ec 30          	sub    $0x30,%rsp
1400191d3:	48 8b f9             	mov    %rcx,%rdi
1400191d6:	48 85 c9             	test   %rcx,%rcx
1400191d9:	74 43                	je     0x14001921e
1400191db:	ba 55 00 00 00       	mov    $0x55,%edx
1400191e0:	e8 c3 e3 ff ff       	call   0x1400175a8
1400191e5:	48 8b f0             	mov    %rax,%rsi
1400191e8:	48 83 f8 55          	cmp    $0x55,%rax
1400191ec:	73 30                	jae    0x14001921e
1400191ee:	48 8d 0c 45 02 00 00 	lea    0x2(,%rax,2),%rcx
1400191f5:	00
1400191f6:	e8 69 30 00 00       	call   0x14001c264
1400191fb:	48 8b d8             	mov    %rax,%rbx
1400191fe:	48 85 c0             	test   %rax,%rax
140019201:	74 1b                	je     0x14001921e
140019203:	48 8d 56 01          	lea    0x1(%rsi),%rdx
140019207:	4c 8b c7             	mov    %rdi,%r8
14001920a:	4c 8b ca             	mov    %rdx,%r9
14001920d:	48 8b c8             	mov    %rax,%rcx
140019210:	e8 c7 a5 00 00       	call   0x1400237dc
140019215:	85 c0                	test   %eax,%eax
140019217:	75 17                	jne    0x140019230
140019219:	48 8b c3             	mov    %rbx,%rax
14001921c:	eb 02                	jmp    0x140019220
14001921e:	33 c0                	xor    %eax,%eax
140019220:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140019225:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14001922a:	48 83 c4 30          	add    $0x30,%rsp
14001922e:	5f                   	pop    %rdi
14001922f:	c3                   	ret
140019230:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140019236:	45 33 c9             	xor    %r9d,%r9d
140019239:	45 33 c0             	xor    %r8d,%r8d
14001923c:	33 d2                	xor    %edx,%edx
14001923e:	33 c9                	xor    %ecx,%ecx
140019240:	e8 a3 75 ff ff       	call   0x1400107e8
140019245:	cc                   	int3
140019246:	cc                   	int3
140019247:	cc                   	int3
140019248:	b8 01 00 00 00       	mov    $0x1,%eax
14001924d:	87 05 69 d8 02 00    	xchg   %eax,0x2d869(%rip)        # 0x140046abc
140019253:	c3                   	ret
140019254:	4c 8b dc             	mov    %rsp,%r11
140019257:	48 83 ec 28          	sub    $0x28,%rsp