140161f63:	48 2b e0             	sub    %rax,%rsp
140161f66:	8b 82 90 00 00 00    	mov    0x90(%rdx),%eax
140161f6c:	41 8b e8             	mov    %r8d,%ebp
140161f6f:	48 8b f2             	mov    %rdx,%rsi
140161f72:	48 8b d9             	mov    %rcx,%rbx
140161f75:	a8 10                	test   $0x10,%al
140161f77:	75 0d                	jne    0x140161f86
140161f79:	f6 81 d8 00 00 00 10 	testb  $0x10,0xd8(%rcx)
140161f80:	74 10                	je     0x140161f92
140161f82:	a8 04                	test   $0x4,%al
140161f84:	74 10                	je     0x140161f96
140161f86:	33 c0                	xor    %eax,%eax
140161f88:	48 83 c4 48          	add    $0x48,%rsp
140161f8c:	41 5e                	pop    %r14
140161f8e:	5e                   	pop    %rsi
140161f8f:	5d                   	pop    %rbp
140161f90:	5b                   	pop    %rbx
140161f91:	c3                   	ret
140161f92:	a8 08                	test   $0x8,%al
140161f94:	75 f0                	jne    0x140161f86
140161f96:	8b 82 94 00 00 00    	mov    0x94(%rdx),%eax
140161f9c:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
140161fa1:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140161fa6:	45 33 e4             	xor    %r12d,%r12d
140161fa9:	41 89 01             	mov    %eax,(%r9)
140161fac:	48 8b 89 00 01 00 00 	mov    0x100(%rcx),%rcx
140161fb3:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140161fb8:	45 8b ec             	mov    %r12d,%r13d
140161fbb:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140161fc0:	e8 7b 97 f8 ff       	call   0x1400eb740
140161fc5:	85 c0                	test   %eax,%eax
140161fc7:	0f 8e e8 01 00 00    	jle    0x1401621b5
140161fcd:	0f 1f 00             	nopl   (%rax)
140161fd0:	48 8b 8b 00 01 00 00 	mov    0x100(%rbx),%rcx
140161fd7:	41 8b d5             	mov    %r13d,%edx
140161fda:	e8 61 9a f8 ff       	call   0x1400eba40
140161fdf:	48 8b ce             	mov    %rsi,%rcx
140161fe2:	4c 8b f8             	mov    %rax,%r15
140161fe5:	e8 d6 93 f5 ff       	call   0x1400bb3c0
140161fea:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140161fee:	48 8b f8             	mov    %rax,%rdi
140161ff1:	48 85 c9             	test   %rcx,%rcx
140161ff4:	75 0c                	jne    0x140162002
140161ff6:	40 f6 c5 20          	test   $0x20,%bpl
140161ffa:	0f 84 9d 01 00 00    	je     0x14016219d
140162000:	eb 49                	jmp    0x14016204b
140162002:	41 8b dc             	mov    %r12d,%ebx
140162005:	e8 36 97 f8 ff       	call   0x1400eb740
14016200a:	85 c0                	test   %eax,%eax
14016200c:	0f 8e 86 01 00 00    	jle    0x140162198
140162012:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140162016:	8b d3                	mov    %ebx,%edx
140162018:	e8 23 9a f8 ff       	call   0x1400eba40
14016201d:	83 38 04             	cmpl   $0x4,(%rax)
140162020:	75 10                	jne    0x140162032
140162022:	48 8b 48 08          	mov    0x8(%rax),%rcx
140162026:	48 8b d7             	mov    %rdi,%rdx
140162029:	e8 82 1b fa ff       	call   0x140103bb0
14016202e:	85 c0                	test   %eax,%eax
140162030:	74 14                	je     0x140162046
140162032:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140162036:	ff c3                	inc    %ebx
140162038:	e8 03 97 f8 ff       	call   0x1400eb740
14016203d:	3b d8                	cmp    %eax,%ebx
14016203f:	7c d1                	jl     0x140162012
140162041:	e9 52 01 00 00       	jmp    0x140162198
140162046:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14016204b:	48 8b be 88 00 00 00 	mov    0x88(%rsi),%rdi
140162052:	48 85 ff             	test   %rdi,%rdi
140162055:	0f 84 98 01 00 00    	je     0x1401621f3
14016205b:	49 8b 2f             	mov    (%r15),%rbp
14016205e:	48 8b 3f             	mov    (%rdi),%rdi
140162061:	48 85 ed             	test   %rbp,%rbp
140162064:	0f 84 89 01 00 00    	je     0x1401621f3
14016206a:	48 85 ff             	test   %rdi,%rdi
14016206d:	0f 84 80 01 00 00    	je     0x1401621f3
140162073:	83 7d 00 01          	cmpl   $0x1,0x0(%rbp)
140162077:	75 46                	jne    0x1401620bf
140162079:	48 8b 75 10          	mov    0x10(%rbp),%rsi
14016207d:	48 85 f6             	test   %rsi,%rsi
140162080:	74 26                	je     0x1401620a8
140162082:	83 3f 01             	cmpl   $0x1,(%rdi)
140162085:	75 32                	jne    0x1401620b9
140162087:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14016208b:	48 85 d2             	test   %rdx,%rdx
14016208e:	74 18                	je     0x1401620a8
140162090:	48 8b ce             	mov    %rsi,%rcx
140162093:	e8 18 1b fa ff       	call   0x140103bb0
140162098:	85 c0                	test   %eax,%eax
14016209a:	41 8b cc             	mov    %r12d,%ecx
14016209d:	0f 94 c1             	sete   %cl
1401620a0:	85 c9                	test   %ecx,%ecx
1401620a2:	0f 85 4b 01 00 00    	jne    0x1401621f3
1401620a8:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
1401620ad:	8b ac 24 80 00 00 00 	mov    0x80(%rsp),%ebp
1401620b4:	e9 e4 00 00 00       	jmp    0x14016219d
1401620b9:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
1401620bd:	eb 12                	jmp    0x1401620d1
1401620bf:	83 3f 01             	cmpl   $0x1,(%rdi)
1401620c2:	75 53                	jne    0x140162117
1401620c4:	48 8b 77 10          	mov    0x10(%rdi),%rsi
1401620c8:	48 85 f6             	test   %rsi,%rsi
1401620cb:	74 db                	je     0x1401620a8
1401620cd:	48 8b 7d 08          	mov    0x8(%rbp),%rdi
1401620d1:	48 8b cf             	mov    %rdi,%rcx
1401620d4:	41 8b dc             	mov    %r12d,%ebx
1401620d7:	e8 64 96 f8 ff       	call   0x1400eb740
1401620dc:	85 c0                	test   %eax,%eax
1401620de:	0f 8e a8 00 00 00    	jle    0x14016218c
1401620e4:	8b d3                	mov    %ebx,%edx
1401620e6:	48 8b cf             	mov    %rdi,%rcx
1401620e9:	e8 52 99 f8 ff       	call   0x1400eba40
1401620ee:	83 38 04             	cmpl   $0x4,(%rax)
1401620f1:	75 14                	jne    0x140162107
1401620f3:	48 8b 50 08          	mov    0x8(%rax),%rdx
1401620f7:	48 8b ce             	mov    %rsi,%rcx
1401620fa:	e8 b1 1a fa ff       	call   0x140103bb0
1401620ff:	85 c0                	test   %eax,%eax
140162101:	0f 84 ec 00 00 00    	je     0x1401621f3
140162107:	48 8b cf             	mov    %rdi,%rcx
14016210a:	ff c3                	inc    %ebx
14016210c:	e8 2f 96 f8 ff       	call   0x1400eb740
140162111:	3b d8                	cmp    %eax,%ebx
140162113:	7c cf                	jl     0x1401620e4
140162115:	eb 75                	jmp    0x14016218c
140162117:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
14016211b:	41 8b f4             	mov    %r12d,%esi
14016211e:	e8 1d 96 f8 ff       	call   0x1400eb740
140162123:	85 c0                	test   %eax,%eax
140162125:	7e 81                	jle    0x1401620a8
140162127:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14016212e:	00 00
140162130:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140162134:	8b d6                	mov    %esi,%edx
140162136:	e8 05 99 f8 ff       	call   0x1400eba40
14016213b:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14016213f:	4c 8b f0             	mov    %rax,%r14
140162142:	41 8b dc             	mov    %r12d,%ebx
140162145:	e8 f6 95 f8 ff       	call   0x1400eb740
14016214a:	85 c0                	test   %eax,%eax
14016214c:	7e 2f                	jle    0x14016217d
14016214e:	66 90                	xchg   %ax,%ax
140162150:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140162154:	8b d3                	mov    %ebx,%edx
140162156:	e8 e5 98 f8 ff       	call   0x1400eba40
14016215b:	48 8b d0             	mov    %rax,%rdx
14016215e:	49 8b ce             	mov    %r14,%rcx
140162161:	e8 8a 8d fb ff       	call   0x14011aef0
140162166:	85 c0                	test   %eax,%eax
140162168:	0f 84 85 00 00 00    	je     0x1401621f3
14016216e:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140162172:	ff c3                	inc    %ebx
140162174:	e8 c7 95 f8 ff       	call   0x1400eb740
140162179:	3b d8                	cmp    %eax,%ebx
14016217b:	7c d3                	jl     0x140162150
14016217d:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
140162181:	ff c6                	inc    %esi
140162183:	e8 b8 95 f8 ff       	call   0x1400eb740
140162188:	3b f0                	cmp    %eax,%esi
14016218a:	7c a4                	jl     0x140162130
14016218c:	8b ac 24 80 00 00 00 	mov    0x80(%rsp),%ebp
140162193:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140162198:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14016219d:	48 8b 8b 00 01 00 00 	mov    0x100(%rbx),%rcx
1401621a4:	41 ff c5             	inc    %r13d
1401621a7:	e8 94 95 f8 ff       	call   0x1400eb740
1401621ac:	44 3b e8             	cmp    %eax,%r13d
1401621af:	0f 8c 1b fe ff ff    	jl     0x140161fd0
1401621b5:	48 8b 86 88 00 00 00 	mov    0x88(%rsi),%rax
1401621bc:	48 85 c0             	test   %rax,%rax
1401621bf:	74 05                	je     0x1401621c6
1401621c1:	4c 39 20             	cmp    %r12,(%rax)
1401621c4:	75 0c                	jne    0x1401621d2
1401621c6:	40 f6 c5 20          	test   $0x20,%bpl
1401621ca:	74 06                	je     0x1401621d2
1401621cc:	41 bc 01 00 00 00    	mov    $0x1,%r12d
1401621d2:	41 8b c4             	mov    %r12d,%eax
1401621d5:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
1401621da:	4c 8b 64 24 38       	mov    0x38(%rsp),%r12
1401621df:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1401621e4:	4c 8b 7c 24 28       	mov    0x28(%rsp),%r15
1401621e9:	48 83 c4 48          	add    $0x48,%rsp
1401621ed:	41 5e                	pop    %r14
1401621ef:	5e                   	pop    %rsi
1401621f0:	5d                   	pop    %rbp
1401621f1:	5b                   	pop    %rbx
1401621f2:	c3                   	ret
1401621f3:	41 8b 47 18          	mov    0x18(%r15),%eax
1401621f7:	4c 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14
1401621fe:	00
1401621ff:	41 21 06             	and    %eax,(%r14)
140162202:	b8 01 00 00 00       	mov    $0x1,%eax
140162207:	eb cc                	jmp    0x1401621d5
140162209:	cc                   	int3
14016220a:	cc                   	int3
14016220b:	cc                   	int3
14016220c:	cc                   	int3
14016220d:	cc                   	int3
14016220e:	cc                   	int3
14016220f:	cc                   	int3
140162210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140162215:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14016221a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14016221f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140162224:	41 54                	push   %r12
140162226:	41 56                	push   %r14
140162228:	41 57                	push   %r15
14016222a:	b8 20 00 00 00       	mov    $0x20,%eax
14016222f:	e8 fc e8 14 00       	call   0x1402b0b30
140162234:	48 2b e0             	sub    %rax,%rsp
140162237:	41 8b e8             	mov    %r8d,%ebp
14016223a:	4c 8b f2             	mov    %rdx,%r14
14016223d:	45 33 ff             	xor    %r15d,%r15d
140162240:	44 8d 40 df          	lea    -0x21(%rax),%r8d
140162244:	8b d5                	mov    %ebp,%edx
140162246:	48 8b f9             	mov    %rcx,%rdi
140162249:	41 8b f7             	mov    %r15d,%esi
14016224c:	41 8b df             	mov    %r15d,%ebx
14016224f:	e8 ec 2c fa ff       	call   0x140104f40
140162254:	44 8b e0             	mov    %eax,%r12d
140162257:	85 c0                	test   %eax,%eax
140162259:	78 28                	js     0x140162283
14016225b:	44 8b c0             	mov    %eax,%r8d
14016225e:	8b d5                	mov    %ebp,%edx
140162260:	48 8b cf             	mov    %rdi,%rcx
140162263:	e8 d8 2c fa ff       	call   0x140104f40
140162268:	83 f8 ff             	cmp    $0xffffffff,%eax
14016226b:	75 7d                	jne    0x1401622ea
14016226d:	41 8b d4             	mov    %r12d,%edx
140162270:	48 8b cf             	mov    %rdi,%rcx
140162273:	e8 a8 2c fa ff       	call   0x140104f20
140162278:	48 8b c8             	mov    %rax,%rcx
14016227b:	e8 e0 2d fa ff       	call   0x140105060
140162280:	48 8b f0             	mov    %rax,%rsi
140162283:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140162289:	8b d5                	mov    %ebp,%edx
14016228b:	49 8b ce             	mov    %r14,%rcx
14016228e:	e8 ad 2c fa ff       	call   0x140104f40
140162293:	8b f8                	mov    %eax,%edi
140162295:	85 c0                	test   %eax,%eax
140162297:	78 27                	js     0x1401622c0
140162299:	44 8b c0             	mov    %eax,%r8d
14016229c:	8b d5                	mov    %ebp,%edx
14016229e:	49 8b ce             	mov    %r14,%rcx
1401622a1:	e8 9a 2c fa ff       	call   0x140104f40
1401622a6:	83 f8 ff             	cmp    $0xffffffff,%eax
1401622a9:	75 3f                	jne    0x1401622ea
1401622ab:	8b d7                	mov    %edi,%edx
1401622ad:	49 8b ce             	mov    %r14,%rcx
1401622b0:	e8 6b 2c fa ff       	call   0x140104f20
1401622b5:	48 8b c8             	mov    %rax,%rcx
1401622b8:	e8 a3 2d fa ff       	call   0x140105060
1401622bd:	48 8b d8             	mov    %rax,%rbx
1401622c0:	48 85 f6             	test   %rsi,%rsi
1401622c3:	75 0a                	jne    0x1401622cf
1401622c5:	48 85 db             	test   %rbx,%rbx
1401622c8:	75 20                	jne    0x1401622ea
1401622ca:	8d 46 01             	lea    0x1(%rsi),%eax
1401622cd:	eb 1d                	jmp    0x1401622ec
1401622cf:	48 85 db             	test   %rbx,%rbx
1401622d2:	74 16                	je     0x1401622ea
1401622d4:	48 8b d3             	mov    %rbx,%rdx
1401622d7:	48 8b ce             	mov    %rsi,%rcx
1401622da:	e8 01 25 00 00       	call   0x1401647e0
1401622df:	85 c0                	test   %eax,%eax
1401622e1:	41 0f 94 c7          	sete   %r15b
1401622e5:	41 8b c7             	mov    %r15d,%eax
1401622e8:	eb 02                	jmp    0x1401622ec
1401622ea:	33 c0                	xor    %eax,%eax
1401622ec:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401622f1:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401622f6:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401622fb:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140162300:	48 83 c4 20          	add    $0x20,%rsp
140162304:	41 5f                	pop    %r15
140162306:	41 5e                	pop    %r14
140162308:	41 5c                	pop    %r12
14016230a:	c3                   	ret
14016230b:	cc                   	int3
14016230c:	cc                   	int3
14016230d:	cc                   	int3
14016230e:	cc                   	int3
14016230f:	cc                   	int3
140162310:	40 53                	rex push %rbx
140162312:	55                   	push   %rbp
140162313:	56                   	push   %rsi
140162314:	41 54                	push   %r12
140162316:	41 55                	push   %r13
140162318:	41 56                	push   %r14
14016231a:	41 57                	push   %r15
14016231c:	b8 c0 00 00 00       	mov    $0xc0,%eax
140162321:	e8 0a e8 14 00       	call   0x1402b0b30
140162326:	48 2b e0             	sub    %rax,%rsp
140162329:	48 8b 05 50 37 27 00 	mov    0x273750(%rip),%rax        # 0x1403d5a80
140162330:	48 33 c4             	xor    %rsp,%rax
140162333:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
14016233a:	00
14016233b:	48 8b b1 f0 00 00 00 	mov    0xf0(%rcx),%rsi
140162342:	45 33 e4             	xor    %r12d,%r12d
140162345:	bb 00 01 00 00       	mov    $0x100,%ebx
14016234a:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
14016234f:	45 85 c0             	test   %r8d,%r8d
140162352:	44 89 44 24 48       	mov    %r8d,0x48(%rsp)
140162357:	8b c3                	mov    %ebx,%eax
140162359:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
14016235d:	b8 05 00 00 00       	mov    $0x5,%eax
140162362:	89 5c 24 3c          	mov    %ebx,0x3c(%rsp)
140162366:	ba 0a 00 00 00       	mov    $0xa,%edx
14016236b:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
14016236f:	0f 44 c2             	cmove  %edx,%eax
140162372:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
140162377:	44 8b fb             	mov    %ebx,%r15d
14016237a:	41 8b ec             	mov    %r12d,%ebp
14016237d:	45 8b f4             	mov    %r12d,%r14d
140162380:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
140162385:	44 3b 81 94 00 00 00 	cmp    0x94(%rcx),%r8d
14016238c:	7c 0a                	jl     0x140162398
14016238e:	41 8b c0             	mov    %r8d,%eax
140162391:	f7 d8                	neg    %eax
140162393:	1b c0                	sbb    %eax,%eax
140162395:	83 c0 02             	add    $0x2,%eax
140162398:	8b c8                	mov    %eax,%ecx
14016239a:	83 e1 fc             	and    $0xfffffffc,%ecx
14016239d:	39 6e 2c             	cmp    %ebp,0x2c(%rsi)
1401623a0:	0f 4c c8             	cmovl  %eax,%ecx
1401623a3:	89 4c 24 44          	mov    %ecx,0x44(%rsp)
1401623a7:	85 4e 28             	test   %ecx,0x28(%rsi)
1401623aa:	74 0b                	je     0x1401623b7
1401623ac:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1401623b0:	e8 8b 93 f8 ff       	call   0x1400eb740
1401623b5:	eb 03                	jmp    0x1401623ba
1401623b7:	41 8b c4             	mov    %r12d,%eax
1401623ba:	89 44 24 40          	mov    %eax,0x40(%rsp)
1401623be:	45 8b ec             	mov    %r12d,%r13d
1401623c1:	48 89 bc 24 10 01 00 	mov    %rdi,0x110(%rsp)
1401623c8:	00
1401623c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401623d0:	44 3b e8             	cmp    %eax,%r13d
1401623d3:	0f 8d 20 02 00 00    	jge    0x1401625f9
1401623d9:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1401623dd:	41 8b d5             	mov    %r13d,%edx
1401623e0:	e8 5b 96 f8 ff       	call   0x1400eba40
1401623e5:	8b 4c 24 44          	mov    0x44(%rsp),%ecx
1401623e9:	48 8b f8             	mov    %rax,%rdi
1401623ec:	0f b6 00             	movzbl (%rax),%eax
1401623ef:	0f a3 c1             	bt     %eax,%ecx
1401623f2:	0f 83 64 01 00 00    	jae    0x14016255c
1401623f8:	3b c3                	cmp    %ebx,%eax
1401623fa:	74 22                	je     0x14016241e
1401623fc:	44 0f b6 47 02       	movzbl 0x2(%rdi),%r8d