14040a082:	33 c0                	xor    %eax,%eax
14040a084:	48 89 03             	mov    %rax,(%rbx)
14040a087:	48 89 43 08          	mov    %rax,0x8(%rbx)
14040a08b:	48 89 43 10          	mov    %rax,0x10(%rbx)
14040a08f:	ba 18 00 00 00       	mov    $0x18,%edx
14040a094:	48 8b cb             	mov    %rbx,%rcx
14040a097:	e8 a8 10 a1 00       	call   0x140e1b144
14040a09c:	40 f6 c6 01          	test   $0x1,%sil
14040a0a0:	74 0d                	je     0x14040a0af
14040a0a2:	ba 28 00 00 00       	mov    $0x28,%edx
14040a0a7:	48 8b cf             	mov    %rdi,%rcx
14040a0aa:	e8 95 10 a1 00       	call   0x140e1b144
14040a0af:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a0b4:	48 8b c7             	mov    %rdi,%rax
14040a0b7:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14040a0bc:	48 83 c4 20          	add    $0x20,%rsp
14040a0c0:	5f                   	pop    %rdi
14040a0c1:	c3                   	ret
14040a0c2:	e8 dd 00 a2 00       	call   0x140e2a1a4
14040a0c7:	cc                   	int3
14040a0c8:	cc                   	int3
14040a0c9:	cc                   	int3
14040a0ca:	cc                   	int3
14040a0cb:	cc                   	int3
14040a0cc:	cc                   	int3
14040a0cd:	cc                   	int3
14040a0ce:	cc                   	int3
14040a0cf:	cc                   	int3
14040a0d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a0d5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14040a0da:	57                   	push   %rdi
14040a0db:	48 83 ec 20          	sub    $0x20,%rsp
14040a0df:	48 8b 59 08          	mov    0x8(%rcx),%rbx
14040a0e3:	8b f2                	mov    %edx,%esi
14040a0e5:	48 8b f9             	mov    %rcx,%rdi
14040a0e8:	48 85 db             	test   %rbx,%rbx
14040a0eb:	74 55                	je     0x14040a142
14040a0ed:	48 8b 0b             	mov    (%rbx),%rcx
14040a0f0:	48 85 c9             	test   %rcx,%rcx
14040a0f3:	74 40                	je     0x14040a135
14040a0f5:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14040a0f9:	48 2b d1             	sub    %rcx,%rdx
14040a0fc:	48 d1 fa             	sar    $1,%rdx
14040a0ff:	48 03 d2             	add    %rdx,%rdx
14040a102:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14040a109:	72 18                	jb     0x14040a123
14040a10b:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14040a10f:	48 83 c2 27          	add    $0x27,%rdx
14040a113:	49 2b c8             	sub    %r8,%rcx
14040a116:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14040a11a:	48 83 f8 1f          	cmp    $0x1f,%rax
14040a11e:	77 48                	ja     0x14040a168
14040a120:	49 8b c8             	mov    %r8,%rcx
14040a123:	e8 1c 10 a1 00       	call   0x140e1b144
14040a128:	33 c0                	xor    %eax,%eax
14040a12a:	48 89 03             	mov    %rax,(%rbx)
14040a12d:	48 89 43 08          	mov    %rax,0x8(%rbx)
14040a131:	48 89 43 10          	mov    %rax,0x10(%rbx)
14040a135:	ba 18 00 00 00       	mov    $0x18,%edx
14040a13a:	48 8b cb             	mov    %rbx,%rcx
14040a13d:	e8 02 10 a1 00       	call   0x140e1b144
14040a142:	40 f6 c6 01          	test   $0x1,%sil
14040a146:	74 0d                	je     0x14040a155
14040a148:	ba 28 00 00 00       	mov    $0x28,%edx
14040a14d:	48 8b cf             	mov    %rdi,%rcx
14040a150:	e8 ef 0f a1 00       	call   0x140e1b144
14040a155:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a15a:	48 8b c7             	mov    %rdi,%rax
14040a15d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14040a162:	48 83 c4 20          	add    $0x20,%rsp
14040a166:	5f                   	pop    %rdi
14040a167:	c3                   	ret
14040a168:	e8 37 00 a2 00       	call   0x140e2a1a4
14040a16d:	cc                   	int3
14040a16e:	cc                   	int3
14040a16f:	cc                   	int3
14040a170:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a175:	57                   	push   %rdi
14040a176:	48 83 ec 20          	sub    $0x20,%rsp
14040a17a:	8b da                	mov    %edx,%ebx
14040a17c:	48 8b f9             	mov    %rcx,%rdi
14040a17f:	e8 8c e6 ff ff       	call   0x140408810
14040a184:	f6 c3 01             	test   $0x1,%bl
14040a187:	74 0d                	je     0x14040a196
14040a189:	ba 28 00 00 00       	mov    $0x28,%edx
14040a18e:	48 8b cf             	mov    %rdi,%rcx
14040a191:	e8 ae 0f a1 00       	call   0x140e1b144
14040a196:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a19b:	48 8b c7             	mov    %rdi,%rax
14040a19e:	48 83 c4 20          	add    $0x20,%rsp
14040a1a2:	5f                   	pop    %rdi
14040a1a3:	c3                   	ret
14040a1a4:	cc                   	int3
14040a1a5:	cc                   	int3
14040a1a6:	cc                   	int3
14040a1a7:	cc                   	int3
14040a1a8:	cc                   	int3
14040a1a9:	cc                   	int3
14040a1aa:	cc                   	int3
14040a1ab:	cc                   	int3
14040a1ac:	cc                   	int3
14040a1ad:	cc                   	int3
14040a1ae:	cc                   	int3
14040a1af:	cc                   	int3
14040a1b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a1b5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14040a1ba:	57                   	push   %rdi
14040a1bb:	48 83 ec 20          	sub    $0x20,%rsp
14040a1bf:	48 8d 05 22 58 be 00 	lea    0xbe5822(%rip),%rax        # 0x140fef9e8
14040a1c6:	48 8b d9             	mov    %rcx,%rbx
14040a1c9:	48 89 01             	mov    %rax,(%rcx)
14040a1cc:	8b fa                	mov    %edx,%edi
14040a1ce:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14040a1d2:	48 85 c9             	test   %rcx,%rcx
14040a1d5:	74 05                	je     0x14040a1dc
14040a1d7:	e8 68 0f a1 00       	call   0x140e1b144
14040a1dc:	33 f6                	xor    %esi,%esi
14040a1de:	48 89 73 10          	mov    %rsi,0x10(%rbx)
14040a1e2:	89 73 18             	mov    %esi,0x18(%rbx)
14040a1e5:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
14040a1e9:	48 85 c9             	test   %rcx,%rcx
14040a1ec:	74 05                	je     0x14040a1f3
14040a1ee:	e8 51 0f a1 00       	call   0x140e1b144
14040a1f3:	48 89 73 20          	mov    %rsi,0x20(%rbx)
14040a1f7:	89 73 28             	mov    %esi,0x28(%rbx)
14040a1fa:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
14040a1fe:	48 85 c9             	test   %rcx,%rcx
14040a201:	74 0a                	je     0x14040a20d
14040a203:	ba 01 00 00 00       	mov    $0x1,%edx
14040a208:	e8 53 00 00 00       	call   0x14040a260
14040a20d:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14040a211:	48 89 73 38          	mov    %rsi,0x38(%rbx)
14040a215:	48 85 c9             	test   %rcx,%rcx
14040a218:	74 0a                	je     0x14040a224
14040a21a:	ba 01 00 00 00       	mov    $0x1,%edx
14040a21f:	e8 3c 00 00 00       	call   0x14040a260
14040a224:	48 89 73 40          	mov    %rsi,0x40(%rbx)
14040a228:	48 8d 05 11 a9 b9 00 	lea    0xb9a911(%rip),%rax        # 0x140fa4b40
14040a22f:	48 89 03             	mov    %rax,(%rbx)
14040a232:	40 f6 c7 01          	test   $0x1,%dil
14040a236:	74 0d                	je     0x14040a245
14040a238:	ba 50 00 00 00       	mov    $0x50,%edx
14040a23d:	48 8b cb             	mov    %rbx,%rcx
14040a240:	e8 ff 0e a1 00       	call   0x140e1b144
14040a245:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14040a24a:	48 8b c3             	mov    %rbx,%rax
14040a24d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a252:	48 83 c4 20          	add    $0x20,%rsp
14040a256:	5f                   	pop    %rdi
14040a257:	c3                   	ret
14040a258:	cc                   	int3
14040a259:	cc                   	int3
14040a25a:	cc                   	int3
14040a25b:	cc                   	int3
14040a25c:	cc                   	int3
14040a25d:	cc                   	int3
14040a25e:	cc                   	int3
14040a25f:	cc                   	int3
14040a260:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a265:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14040a26a:	57                   	push   %rdi
14040a26b:	48 83 ec 20          	sub    $0x20,%rsp
14040a26f:	48 8b 79 08          	mov    0x8(%rcx),%rdi
14040a273:	48 8d 05 4e 5e be 00 	lea    0xbe5e4e(%rip),%rax        # 0x140ff00c8
14040a27a:	48 89 01             	mov    %rax,(%rcx)
14040a27d:	8b f2                	mov    %edx,%esi
14040a27f:	48 8b d9             	mov    %rcx,%rbx
14040a282:	48 85 ff             	test   %rdi,%rdi
14040a285:	74 15                	je     0x14040a29c
14040a287:	48 8b cf             	mov    %rdi,%rcx
14040a28a:	e8 81 e5 ff ff       	call   0x140408810
14040a28f:	ba 28 00 00 00       	mov    $0x28,%edx
14040a294:	48 8b cf             	mov    %rdi,%rcx
14040a297:	e8 a8 0e a1 00       	call   0x140e1b144
14040a29c:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14040a2a0:	33 ff                	xor    %edi,%edi
14040a2a2:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14040a2a6:	48 85 c9             	test   %rcx,%rcx
14040a2a9:	74 0a                	je     0x14040a2b5
14040a2ab:	ba 18 00 00 00       	mov    $0x18,%edx
14040a2b0:	e8 8f 0e a1 00       	call   0x140e1b144
14040a2b5:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14040a2b9:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
14040a2bd:	48 85 c9             	test   %rcx,%rcx
14040a2c0:	74 11                	je     0x14040a2d3
14040a2c2:	48 8b 01             	mov    (%rcx),%rax
14040a2c5:	ba 01 00 00 00       	mov    $0x1,%edx
14040a2ca:	48 8b 00             	mov    (%rax),%rax
14040a2cd:	ff 15 4d 97 b7 00    	call   *0xb7974d(%rip)        # 0x140f83a20
14040a2d3:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
14040a2d7:	48 8d 05 7a a8 b9 00 	lea    0xb9a87a(%rip),%rax        # 0x140fa4b58
14040a2de:	48 89 03             	mov    %rax,(%rbx)
14040a2e1:	40 f6 c6 01          	test   $0x1,%sil
14040a2e5:	74 0d                	je     0x14040a2f4
14040a2e7:	ba 30 00 00 00       	mov    $0x30,%edx
14040a2ec:	48 8b cb             	mov    %rbx,%rcx
14040a2ef:	e8 50 0e a1 00       	call   0x140e1b144
14040a2f4:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14040a2f9:	48 8b c3             	mov    %rbx,%rax
14040a2fc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a301:	48 83 c4 20          	add    $0x20,%rsp
14040a305:	5f                   	pop    %rdi
14040a306:	c3                   	ret
14040a307:	cc                   	int3
14040a308:	cc                   	int3
14040a309:	cc                   	int3
14040a30a:	cc                   	int3
14040a30b:	cc                   	int3
14040a30c:	cc                   	int3
14040a30d:	cc                   	int3
14040a30e:	cc                   	int3
14040a30f:	cc                   	int3
14040a310:	40 53                	rex push %rbx
14040a312:	48 83 ec 20          	sub    $0x20,%rsp
14040a316:	48 8b d9             	mov    %rcx,%rbx
14040a319:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14040a31e:	0f b6 09             	movzbl (%rcx),%ecx
14040a321:	8b f2                	mov    %edx,%esi
14040a323:	83 e9 01             	sub    $0x1,%ecx
14040a326:	74 22                	je     0x14040a34a
14040a328:	83 f9 01             	cmp    $0x1,%ecx
14040a32b:	75 4d                	jne    0x14040a37a
14040a32d:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14040a331:	48 85 c9             	test   %rcx,%rcx
14040a334:	74 0a                	je     0x14040a340
14040a336:	ba 18 00 00 00       	mov    $0x18,%edx
14040a33b:	e8 04 0e a1 00       	call   0x140e1b144
14040a340:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
14040a347:	00
14040a348:	eb 30                	jmp    0x14040a37a
14040a34a:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14040a34f:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
14040a353:	48 85 ff             	test   %rdi,%rdi
14040a356:	74 15                	je     0x14040a36d
14040a358:	48 8b cf             	mov    %rdi,%rcx
14040a35b:	e8 30 e8 ff ff       	call   0x140408b90
14040a360:	ba 20 00 00 00       	mov    $0x20,%edx
14040a365:	48 8b cf             	mov    %rdi,%rcx
14040a368:	e8 d7 0d a1 00       	call   0x140e1b144
14040a36d:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
14040a372:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
14040a379:	00
14040a37a:	40 f6 c6 01          	test   $0x1,%sil
14040a37e:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14040a383:	74 0d                	je     0x14040a392
14040a385:	ba 30 00 00 00       	mov    $0x30,%edx
14040a38a:	48 8b cb             	mov    %rbx,%rcx
14040a38d:	e8 b2 0d a1 00       	call   0x140e1b144
14040a392:	48 8b c3             	mov    %rbx,%rax
14040a395:	48 83 c4 20          	add    $0x20,%rsp
14040a399:	5b                   	pop    %rbx
14040a39a:	c3                   	ret
14040a39b:	cc                   	int3
14040a39c:	cc                   	int3
14040a39d:	cc                   	int3
14040a39e:	cc                   	int3
14040a39f:	cc                   	int3
14040a3a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14040a3a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14040a3aa:	57                   	push   %rdi
14040a3ab:	48 83 ec 20          	sub    $0x20,%rsp
14040a3af:	48 8b d9             	mov    %rcx,%rbx
14040a3b2:	33 f6                	xor    %esi,%esi
14040a3b4:	8b 09                	mov    (%rcx),%ecx
14040a3b6:	8b fa                	mov    %edx,%edi
14040a3b8:	85 c9                	test   %ecx,%ecx
14040a3ba:	74 1e                	je     0x14040a3da
14040a3bc:	83 f9 01             	cmp    $0x1,%ecx
14040a3bf:	75 2e                	jne    0x14040a3ef
14040a3c1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14040a3c5:	48 85 c9             	test   %rcx,%rcx
14040a3c8:	74 0a                	je     0x14040a3d4
14040a3ca:	ba 02 00 00 00       	mov    $0x2,%edx
14040a3cf:	e8 70 0d a1 00       	call   0x140e1b144
14040a3d4:	48 89 73 08          	mov    %rsi,0x8(%rbx)
14040a3d8:	eb 15                	jmp    0x14040a3ef
14040a3da:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14040a3de:	48 85 c9             	test   %rcx,%rcx
14040a3e1:	74 05                	je     0x14040a3e8
14040a3e3:	e8 5c 0d a1 00       	call   0x140e1b144
14040a3e8:	48 89 73 10          	mov    %rsi,0x10(%rbx)
14040a3ec:	89 73 18             	mov    %esi,0x18(%rbx)
14040a3ef:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14040a3f3:	48 85 c9             	test   %rcx,%rcx
14040a3f6:	74 05                	je     0x14040a3fd
14040a3f8:	e8 47 0d a1 00       	call   0x140e1b144
14040a3fd:	48 89 73 28          	mov    %rsi,0x28(%rbx)
14040a401:	89 73 30             	mov    %esi,0x30(%rbx)
14040a404:	40 f6 c7 01          	test   $0x1,%dil
14040a408:	74 0d                	je     0x14040a417
14040a40a:	ba 40 00 00 00       	mov    $0x40,%edx
14040a40f:	48 8b cb             	mov    %rbx,%rcx
14040a412:	e8 2d 0d a1 00       	call   0x140e1b144
14040a417:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14040a41c:	48 8b c3             	mov    %rbx,%rax
14040a41f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14040a424:	48 83 c4 20          	add    $0x20,%rsp
14040a428:	5f                   	pop    %rdi
14040a429:	c3                   	ret
14040a42a:	cc                   	int3
14040a42b:	cc                   	int3
14040a42c:	cc                   	int3
14040a42d:	cc                   	int3
14040a42e:	cc                   	int3
14040a42f:	cc                   	int3
14040a430:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14040a435:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14040a43a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14040a43f:	41 56                	push   %r14
14040a441:	48 83 ec 20          	sub    $0x20,%rsp
14040a445:	48 8b f9             	mov    %rcx,%rdi
14040a448:	8b ea                	mov    %edx,%ebp
14040a44a:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14040a44e:	48 85 c9             	test   %rcx,%rcx
14040a451:	74 0a                	je     0x14040a45d
14040a453:	ba 02 00 00 00       	mov    $0x2,%edx
14040a458:	e8 e7 0c a1 00       	call   0x140e1b144
14040a45d:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
14040a461:	45 33 f6             	xor    %r14d,%r14d
14040a464:	4c 89 77 10          	mov    %r14,0x10(%rdi)
14040a468:	48 85 db             	test   %rbx,%rbx
14040a46b:	74 33                	je     0x14040a4a0
14040a46d:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14040a472:	48 8b 73 08          	mov    0x8(%rbx),%rsi
14040a476:	48 8b 1b             	mov    (%rbx),%rbx
14040a479:	48 3b de             	cmp    %rsi,%rbx
14040a47c:	74 1d                	je     0x14040a49b
14040a47e:	66 90                	xchg   %ax,%ax
14040a480:	48 8b 0b             	mov    (%rbx),%rcx
14040a483:	48 85 c9             	test   %rcx,%rcx
14040a486:	74 0a                	je     0x14040a492
14040a488:	ba 02 00 00 00       	mov    $0x2,%edx
14040a48d:	e8 b2 0c a1 00       	call   0x140e1b144
14040a492:	48 83 c3 08          	add    $0x8,%rbx
14040a496:	48 3b de             	cmp    %rsi,%rbx
14040a499:	75 e5                	jne    0x14040a480
14040a49b:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14040a4a0:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
14040a4a4:	48 85 db             	test   %rbx,%rbx
14040a4a7:	74 51                	je     0x14040a4fa
14040a4a9:	48 8b 0b             	mov    (%rbx),%rcx
14040a4ac:	48 85 c9             	test   %rcx,%rcx
14040a4af:	74 3c                	je     0x14040a4ed
14040a4b1:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14040a4b5:	48 2b d1             	sub    %rcx,%rdx
14040a4b8:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
14040a4bc:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14040a4c3:	72 18                	jb     0x14040a4dd
14040a4c5:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14040a4c9:	48 83 c2 27          	add    $0x27,%rdx